{"version":3,"sources":["reducers/index.jsx","helpers/redux.js","reducers/participants.js","reducers/settings.js","reducers/users.js","reducers/auth.js","reducers/errors.js","reducers/reset-password.js","reducers/operations.js","reducers/dictionaries.js","reducers/current-user.js","reducers/goods.js","reducers/mark-codes.js","reducers/GoodsProperties.js","reducers/accounts.js","reducers/payments.js","reducers/charges.js","reducers/transactions.js","store.js","components/final-form/text-field.js","actions/participants.js","actions/goods.js","actions/common.js","pages/operations-page/operation-dictionary.js","actions/mark-codes.js","pages/auth/logo/index.js","components/DatePicker/Datepicker.constants.js","sagas/auth.js","actions/dictionaries.js","components/DropDown/DropDown.js","components/DropDown/DropDown.styles.js","components/language-switcher/languageSwitcher.js","actions/operations.js","components/translate/index.js","pages/mark-codes/codesDictionary.js","components/filters/index.js","components/DatePicker/DatePicker.context.js","actions/reset-password.js","sagas/participant.js","sagas/users.js","sagas/operations.js","sagas/common.js","sagas/dictionaries.js","sagas/goods.js","sagas/mark-codes.js","sagas/services.js","sagas/accounts.js","actions/payments.js","sagas/payments.js","actions/accruals.js","sagas/accruals.js","sagas/balance.js","sagas/transactions.js","sagas/reset-password.js","sagas/index.js","actions/accounts.js","actions/errors.js","assets/logos/logo.png","api/errors.js","api/rest.js","api/constants.js","api/index.js","components/spinner/index.js","components/final-form/select-field.js","pages/turnover-participants-page/participantsDictionary.js","helpers/index.js","components/filters/DatepickerFilter.js","components/DatePicker/components/Controls.js","components/DatePicker/utils/dateEquality.js","components/DatePicker/DatePicker.js","sagas/selectors/index.js","components/DatePicker/utils/getColor.js","components/DatePicker/components/Day.styles.js","components/DatePicker/components/Day.js","components/DatePicker/components/Month.styles.js","components/DatePicker/components/Month.js","components/DatePicker/components/Footer.js","components/DatePicker/components/Footer.styles.js","routes.js","components/DatePicker/components/Header.js","components/DatePicker/components/Header.styles.js","actions/balance.js","pages/goods-page/goods-dictionaries.js","actions/transaction.js","components/notification/index.js","assets/favicons/faviconAM.ico","assets/logos/logo_ru.svg","assets/logos/ru_small.svg","components/dialog/index.js","actions/services.js","components/DatePicker/utils/formatDatesString.js","components/DatePicker/DatePickerInput.styles.js","components/DatePicker/DatePickerInput.js","components/final-form/datepicker-field.js","components/DatePicker/RangeDatePicker.js","components/filters/RangeDatepickerFilter.js","types.js","pages/balance-page/constants.js","pages/users-page/components/change-password-modal.js","assets/favicons/faviconKZ.ico","assets/favicons/fiviconRU.ico","assets/favicons/favicon.ico","assets/logos/logoBigKZ.jpg","assets/logos/logoSmallKZ.jpg","assets/logos/logoAM.png","assets/logos/logoSmallAM.png","assets/logos/logo_short.png","pages/auth/index.js","pages/reset-password-page/index.js","helpers/form-validators/validators-lodash.js","helpers/http.js","actions/auth.js","actions/users.js","components/DatePicker/hooks/useMonth/useMonth.js","components/DatePicker/hooks/useMonth/useMonth.utils.js","components/DatePicker/hooks/useDatePicker/useDatePicker.utils.js","components/DatePicker/hooks/useDatePicker/useDatePicker.js","components/DatePicker/hooks/useDay/useDay.js","components/DatePicker/hooks/useDay/index.js","components/menu/header-logo/index.js","components/menu/footer/index.js","components/menu/menuItem/index.js","components/menu/index.js","components/router/index.js","components/layout/header/PageHeader.styled.js","components/layout/header/components/button.js","components/layout/header/components/menuButton.js","components/layout/header/index.jsx","pages/users-page/components/warning-password-modal.js","components/layout/index.jsx","pages/reset-password-page/components/NewPasswordPage.js","pages/reset-password-page/components/ResetLayout.js","pages/auth/component/auth.js","hooks/index.js","components/themes/kg-theme/index.js","components/themes/kz-theme/index.js","components/themes/am-theme/index.js","components/themes/default/index.js","components/themes/index.js","api/inceptor.js","App.js","serviceWorker.js","i18n.js","index.js","components/DatePicker/utils/format.i18n.js"],"names":["history","update_","list","args","items","fp","flatten","map","i","find","id","add_","pipe","concat","differenceBy","initialState","item","registrationCountry","groupUotDtos","reducer","state","action","add","update","type","types","SET_PARTICIPANTS","parseParticipantsList","$payload","SET_PARTICIPANT","parseParticipantItem","SET_PARTICIPANT2","CLEAR_PARTICIPANT","UPDATE_PARTICIPANTS_AFTER_CREATE","UPDATE_PARTICIPANTS","ADD_PARTICIPANTS_GROUP","countryId","newTableInfo","country","goodsGroup","groupInfo","name","goodsGroupID","startDate","HELPERS","formatOnlyDate","endDate","REMOVE_PARTICIPANTS_GROUP","groupUOTDtos","splice","data","get","registrationDate","formatDate","statusDate","SoloDto","groupMarkingRsDto","operatorDto","participantId","table","page","size","totalElements","totalPages","tableHistory","myFilter","isFilter","filter","sort","common","dict","isLoading","password","language","localStorage","getItem","parseSettings","countryCode","key","value","version","gwVersion","mode","session","SET_SETTINGS","SET_SETTINGS_HISTORY","SET_DICT_SETTINGS","SET_COMMON_SETTINGS","SET_CLEAR_SETTINGS","SET_IS_LOADING","CHECK_PASSWORD","SET_LANGUAGE","SET_SETTINGS_FILTER","SET_SETTINGS_PAGE","SET_SETTINGS_SORT","participant","error","SET_USERS","content","SET_USER","parseUserItem","UPDATE_USERS","UPDATE_USERS_AFTER_CREATE","SET_PASSWORD_ERROR","login","lastPasswordUpdateDate","lastUpdateDate","SET_AUTH_DATA","CLEAR_AUTH_DATA","isNotAuth","errors","messages","ADD_ERROR","parseError","shift","push","generateGuid","SET_MESSAGE","message","parseMessage","CLEAR_ERRORS","Object","keys","length","error_description","errorName","indexOf","defaultMessage","getErrorMessage","getMessage","email","sessionStorage","SET_EMAIL","serviceTypes","serviceSettings","SET_OPERATION_TYPE","SET_OPERATION","parseOperation","SET_OPERATIONS","parseOperationList","SET_OPERATION_HISTORY","parseOperationHistoryList","SET_SERVICES","number","operationType","getNameFromDictionary","operationTypes","creationDate","createdAt","codeCount","kmsCount","event","getEventName","events","status","statuses","endAt","groupName","markingGroup","participantStatuses","createdBy","eventsList","sorted","sortBy","reverse","startStatus","statusIn","finishStatus","statusOut","changeDate","updatedAt","finishDate","statusValue","operationCountry","markCodesCount","documentDate","shipmentDate","recipientCountry","operatorInn","operatorName","startAt","processingDate","executeAt","productGtin","product","gtin","productName","fullName","productId","serialNumberType","autogenerated","countries","tnvedCodes","shoesTypes","shoesSizes","shoesColors","shoesMaterials","productsSubTypesList","productsGroupsUODList","SET_COUNTRY_DICTIONARY","parseDictionary","SET_TNVED_DICTIONARY","parseTnvedDictionary","SET_TNVED_ROOT_DICTIONARY","tnvedRootCodes","parseTnvedRootDictionary","SET_SHOES_TYPES_DICTIONARY","SET_SHOES_COLORS_DICTIONARY","SET_SHOES_SIZES_DICTIONARY","SET_SHOES_MATERIALS_DICTIONARY","SET_PRODUCT_TYPES","productsTypeList","SET_PRODUCT_SUB_TYPES","parseProductSubTypesDictionary","SET_PRODUCT_GROUPS_UOD_LIST","parseProductGroupsUODList","CLEAR_PRODUCT_GROUPS_UOD_LIST","label","code","mainGroup","productGroup","groupCode","rootCode","SET_CURRENT_USER","shortName","getShortName","CLEAR_CURRENT_USER","split","idx","join","SET_GOODS_LIST","parseGoodsList","SET_PRODUCT","parseProduct","SET_CLEAR_PRODUCT","tnvedGroup","tnvedCode","manufacturedCountry","manufacturedCountryId","participantName","participantPhone","tnved","tnvedName","tnvedRootName","subGroup","getAttributes","color","upperMaterial","liningMaterial","bottomMaterial","limits","downloadCSVFilter","SET_CODES","parseMarkCodesList","SET_CODE","parseMarkCode","SET_CODE_HISTORY","parseMarkCodesHistoryList","DOWNLOAD_CODES_FILTER","parseFilter","CLEAR_DOWNLOAD_CODES_FILTER","SET_CODES_LIMIT","isShort","parseMarkingCodeListItemFromOperation","parseMarkingCodeListItem","receivingDate","dateCreate","initialStatus","resultStatus","timestamp","operation","operationId","reduce","merge","entries","dateChangeStatus","aggregationId","developmentCountry","shoesType","shoesSize","shoesColor","topShoesMaterial","shoesMaterial","bottomShoesMaterial","attributes","units","ParsePropertyList","subGroupdCode","productSubgroupDto","SET_GOODS_CARD_PROPERTIES_LIST","soloProperty","attributeType","SET_GOODS_CARD_PROPERTIES_ATTRIBUTE_LIST_CHANGE_IS_REQUIRED","indexWeightFrom","findIndex","el","indexWeightTo","indexV","option","isRequired","SET_GOODS_CARD_PROPERTIES_ATTRIBUTE_LIST","soloAttribute","attributeCode","attributeValues","SET_GOODS_CARD_PROPERTIES_ATTRIBUTE_UNITS_LIST","soloUnit","attributeUnits","ADD_GOODS_CARD_PROPERY","console","log","newAttribute","slice","index","REMOVE_GOODS_CARD_PROPERY","Listbuffer","CLEAR_GOODS_CARD_PROPERY","accountHistory","paymentAccounts","parseAccounts","paymentAccount","contractId","amount","getBalance","balance","productGroupName","productGroupsNames","productGroupId","SET_ACCOUNTS_BALANCES_HISTORY","SET_PAYMENT_ACCOUNTS","SET_ACCOUNTS_PAY","SET_PAYMENT","SET_ACCRUALS","balances","SET_TRANSACTIONS","parseTransactionList","SET_BALANCES","date","inputSaldo","changeSaldo","changeNspSaldo","outputSaldo","guaranteeInput","guaranteeChange","guaranteeOutput","rate","comment","createHashHistory","hashType","getUserConfirmation","callback","window","confirm","sagaMiddleware","createSagaMiddleware","middleware","routerMiddleware","composedEnhancers","compose","applyMiddleware","store","createStore","combineReducers","router","connectRouter","participants","participantReducer","settings","settingsReducer","users","usersReducer","auth","authReducer","errorsReducer","operations","operationsReducer","dictionaries","dictionariesReducer","currentUser","currentUserReducer","goods","goodsReducer","markCodes","markCodesReducer","resetPassword","resetPasswordReducer","transactions","loadTransactions","goodsProperties","accountsProperties","payments","charges","run","sagas","TextField","nextProps","nextState","nextContext","isEqual","this","props","input","onChange","restInput","meta","rest","Translate","helperText","dirty","submitFailed","touched","undefined","InputProps","margin","required","InputLabelProps","shrink","React","Component","loadParticipants","createAction","LOAD_PARTICIPANTS","setParticipants","setParticipant","setParticipant2","getParticipant","LOAD_PARTICIPANT","createParticipant","CREATE_PARTICIPANT","updateParticipant","UPDATE_PARTICIPANT","clearParticipant","patchParticipant","PATCH_PARTICIPANT","updateParticipants","updateParticipantsAfterCreate","addParcitipantsGroup","removeParcitipantsGroup","getPayCSV","LOAD_PAY_CSV","downloadXlsx","DOWNLOAD_PARTICIPANT_XLSX","setProduct","clearProduct","CLEAR_PRODUCT","setClearProduct","updateProduct","UPDATE_PRODUCT","patchProduct","PATCH_PRODUCT","loadProduct","LOAD_PRODUCT","createProduct","CREATE_PRODUCT","loadGoods","LOAD_GOODS_LIST","setGoods","getGoodCard","GET_GOOD_CARD","setGoodCardProperties","setGoodCardPropertiesChangeIsRequired","getGoodCardProperyValues","GET_GOODS_CARD_SOLO_PROPERTY_VALUES","setGoodCardAttributeList","setGoodCardAttributeUnitList","addGoodCardProperty","removeGoodCardProperty","clearGoodCardProperty","payload","createBoolAction","redirect","pathname","method","search","REDIRECT_TO","setSettings","setSettingsHistory","setCommonSettings","loadSettings","LOAD_SETTINGS","clearSettings","setSettingsFilter","setSettingsPage","setSettingsSort","uploadFile","UPLOAD_FILE_MARK_CODES","uploadFileAnyType","UPLOAD_FILE_ANY_TYPE","setIsLoading","DOWNLOAD_FILE","saveLanguage","serialNumberTypes","filters","GetHeader","goodsGroupsList","accessor","row","Header","Filter","DefaultFilter","width","makeCheckboxGroupFilter","makeDatepickerFilter","GetOperatorHeader","inn","loadMarkCodes","LOAD_CODES","setMarkCodes","clearMarkCodes","CLEAR_CODES","loadMarkCode","LOAD_CODE","setMarkCode","loadMarkCodeHistory","LOAD_CODE_HISTORY","setMarkCodesHistory","downloadMarkCodes","DOWNLOAD_MARK_CODES","downloadMarkCodesUnloading","DOWNLOAD_MARK_CODES_UNLOADING","printMarkCodes","PRINT_MARK_CODES_PDF","downloadCodesFilter","clearDownloadCodesFilter","Logo","src","LogoKZBig","alt","LogoAM","LogoKGBig","LogoRU","LogoUZ","LogoShort","LogoKZSmall","LogoSmallAM","LogoKGSmall","LogoRUSmall","YEARS_AFTER","START_YEAR","logoutByBlockSaga","loginSaga","logoutSaga","reconnectSaga","checkAuthSaga","getCurrentUserSaga","checkPasswordSaga","storeTokens","access_token","refresh_token","token_type","setItem","put","setAuthData","clearCurrentUser","routes","home","API","signin","json","call","clearErrorSaga","getAuthErrorText","addError","response","signout","replace","reconnect","omitBy","isEmpty","check","onFinish","current","setCurrentUser","select","getCurrentUser","checkPassword","loadCountryDictionary","LOAD_COUNTRY_DICTIONARY","setCountryDictionary","loadTnvedDictionary","LOAD_TNVED_DICTIONARY","setTnvedDictionary","loadTnvedRootDictionary","LOAD_TNVED_ROOT_DICTIONARY","setTnvedRootDictionary","loadProductTypeList","LOAD_PRODUCT_TYPES","setProductTypeList","loadProductSubTypeList","LOAD_PRODUCT_SUB_TYPES","setProductSubTypeList","loadProductGroupsOUDList","LOAD_PRODUCT_GROUPS_UOD_LIST","setLoadProductGroupsOUDList","clearProductGroupsOUDList","setDictSettings","LOAD_PARTICIPANT_DICTIONARY","DropDown","classes","renderButton","variant","horizontal","menuProps","useState","anchorEl","setAnchorEl","handleClose","createElement","onClick","currentTarget","active","Menu","open","Boolean","onClose","keepMounted","elevation","getContentAnchorEl","marginThreshold","className","menu","anchorOrigin","vertical","transformOrigin","component","MenuItem","e","cn","menuItemDefault","menuItemMenu","menuItemCurrent","menuItemDot","ListItemText","primary","title","defaultProps","memo","withStyles","theme","borderRadius","minWidth","boxShadow","padding","position","paddingTop","paddingBottom","paddingLeft","paddingRight","textAlign","fontSize","backgroundColor","palette","main","height","lineHeight","borderBottom","fontWeight","display","verticalAlign","textTransform","listIcon","marginRight","cursor","right","background","LanguageSwitcher","setLanguage","useTranslation","i18n","dispatch","useDispatch","useSelector","useEffect","lang","changeLanguage","close","ExpandMore","chooseOperationType","CHOOSE_OPERATION_TYPE","setOperationType","createOperation","CREATE_OPERATION","createMarkingOperation","CREATE_MARKING_OPERATION","createMarkCodeOrderOperation","CREATE_MARK_ORDER_OPERATION","setOperation","loadOperation","LOAD_OPERATION","loadOperations","LOAD_OPERATIONS","setOperations","loadOperationHistory","LOAD_OPERATION_HISTORY","setOperationHistory","cancelTransgran","CANCEL_TRANSGRAN","DOWNLOAD_XLSX","text","preparedText","t","fileTypes","fileTypesOnlyCSV","templates","templatesShoes","tabs","aggregatedTabs","aggregateHeaders","serialNumber","group","markingCodeLevel","headers","SoloList","parentMarkingCode","inOperationHeaders","packageLevel","parent","historyHeaders","Cell","cell","preventDefault","stopPropagation","createContext","focusedDate","isDateFocused","isDateSelected","isDateHovered","isDateBlocked","onDateFocus","onDateHover","onDateSelect","sendEmailReset","SEND_EMAIL_RESET","setEmail","updatePassword","UPDATE_PASSWORD","loadParticipantsSaga","loadParticipantSaga","createParticipantSaga","updateParticipantSaga","patchParticipantSaga","getCSVSaga","downloadParticipantXlsxSaga","account","loadAccountsBalance","create","onFinishRequest","patch","moment","format","fileName","accounts","csv","query","xlsx","loadUsersSaga","loadUserSaga","createUserSaga","updateUserSaga","patchUserSaga","setUsers","setUser","warn","body","updateUsersAfterCreate","closeFormFunc","updateUsers","setPasswordError","setOperationTypeSaga","createOperationSaga","createMarkingOperationSaga","createMarkCodeOrderOperationSaga","loadOperationsSaga","loadOperationSaga","loadOperationHistorySaga","createAggregationSaga","cancelTransgranSaga","cancelAggregationSaga","downloadXlsxSaga","shouldDisable","marking","settingsHistory","cancelAggregation","uploadFileSaga","uploadFileAnyTypeSaga","downloadFileSaga","redirectToSaga","setErrorSaga","loadSettingsSaga","files","uploadFileToAnyType","onError","upload","redirectMethods","ReferenceError","loadCountriesDictionarySaga","loadTnvedDictionarySaga","loadTnvedRootDictionarySaga","loadProductTypesList","loadProductSubTypesList","loadProductGroupsOUDListSaga","loadParticipantsDictSaga","rootTnved","productTypes","productSubTypes","roductGroupsOUDList","loadGoodsSaga","loadProductSaga","createProductSaga","updateProductSaga","patchProductSaga","clearProductSaga","getGoodCardSaga","getSoloGoodCardPropertyValuesSaga","products","productSubgroup","goodsCard","getAllCard","AttributesValuesArray","AttributesUnitsArray","getSoloPropertyValues","getSoloPropertyValueUnits","AttributeUnitJson","loadMarkCodesSaga","clearMarkCodesSaga","loadMarkCodeSaga","loadMarkCodeHistorySaga","downloadMarkCodesCsv","UnloadingMarkCodesCsv","printMarkCodesPdf","markCodeId","csvUnloading","pdf","loadServicesSaga","services","getServiceList","setServices","loadAccountBalanceSaga","loadPaymentAccountsSaga","getAccountsHistory","setAccountsBalance","setPaymentAccounts","ADD_ACCOUNTS_PAY","getAccountsPayHistory","GET_ACCOUNTS_PAY","setAccountsPay","SET_COMMIT_FILE_PAY","CANCEL_PAYMENT","addAccountPaymentSaga","getPaymentsHistorySaga","setFileCommitsSaga","cancelPaymentSaga","setNewPayment","getAllPayments","commitFilePayments","fileId","responce","cancelPayment","setAccruals","LOAD_ACCRUALS","DOWNLOAD_ACCRUALS","loadAccrualsSaga","downloadAccrualsSaga","accruals","checkBeforeEmissionSaga","checkOperatorBalance","checkBeforeMarkingSaga","checkBeforePrintSaga","checkBeforePrintWithMarkingSaga","loadCodesLimitSaga","issuedCount","productGroupMarkingId","debt_check","result","isDebt","limit_check","errMsg","kmCount","operator_check","enough","balance_sufficiency_check","setCodesLimits","count","loadTransactionsSaga","loadBalancesSaga","setTransactions","loadBalances","setBalances","sendEmailForReset","updatePasswordSaga","setStoreResetEmail","sendEmail","setMessage","rootSaga","clearErrors","passAppProps","saga","payloadData","all","takeEvery","takeLatest","LOGIN","LOGOUT","RECONNECT_AUTH_DATA","CHECK_AUTH_DATA","GET_CURRENT_USER","REMOVE_ERROR","SET_ERROR","LOAD_USERS","LOAD_USER","UPDATE_USER","PATCH_USER","CREATE_USER","GET_OPERATOR_SERVISE","GET_ACCOUNTS_BALANCES_HISTORY","LOGOUT_BY_BLOCK","LOAD_PAYMENT_ACCOUNTS","LOAD_CODES_LIMIT","CHECK_BEFORE_EMISSION","CHECK_BEFORE_PRINT","CHECK_BEFORE_MARKING","CHECK_BEFORE_PRINT_WITH_MARKING","CREATE_AGGREGATION","CANCEL_AGGREGATION","LOAD_TRANSACTIONS","LOAD_BALANCES","loadPaymentAccounts","setError","removeError","module","exports","ErrorNotAuthorized","parseErrors","constructor","__proto__","prototype","Error","ErrorForbidden","BadRequest","ErrorBadRequest","Backend","ErrorBackend","Forbidden","NotAuthorized","Unknown","ErrorUnknown","BASIC","username","reject","request","responseType","Blob","Promise","resolve","reader","FileReader","onload","JSON","parse","onerror","readAsText","Errors","saveAs","axios","basic","content_type","CONTENT_TYPES","onDownloadProgress","onUploadProgress","path","url","hideError","hasBody","isHasBody","stringify","form","qs","url_path","url_query","arrayFormat","url_request","isNeedVersionApi","Authorization","getAcceptLanguage","options","then","response_json","checkContentType","isContentType","saveAsFile","getContentDispositionFilename","connect","opts","post","remove","crud","download","file","FormData","append","formdata","token","grant_type","accept","default","markCodesHistory","accountId","getSoloCard","getAttributeInfoFromId","cards","aggregation","cancel","pah","APIConnector","children","RestAPI","Spinner","SelectField","onSelect","inputProps","v","target","inputlabelprops","gcp","supervisorName","phone","getStatusName","makeSelectFilter","routesTitles","link","turnoverParticipants","profile","isPhone","test","getMoney","debet","totalBalance","balanceValue","buffer","totalBalanceInRubles","totalBalanceInMonets","unshift","getOnlyNumsPhone","formatPhone","isNeedBracket","prefix","onlyNums","getPageTitle","includes","element","sortNamesDictionaries","sortNamesOperationMarkCodesDictionaries","getFilterValue","withTime","setFavicon","document","querySelector","rel","href","faviconKZ","favicon","faviconRU","faviconAM","getFaviconByCountry","getElementsByTagName","appendChild","s4","Math","floor","random","toString","substring","getFiltersTable","getSortIdAndDesc","desc","generateFilter","column","formState","instance","defaultTo","DatePickerFilter","endOfDay","useMemo","values","useCallback","change","Date","setHours","style","onDateChange","getYearsElements","yearsToMatch","startYear","Array","from","getMonthsElements","currentYear","Controls","goToMonth","month","year","yearsAfter","getFullYear","months","years","getMonthsAndYears","onChangeDate","container","spacing","xs","dateEquality","firstDate","secondDate","getDate","getMonth","isToday","today","Datepicker","onSubmit","minDate","maxDate","disabledDayFocus","dateState","focusedInput","START_DATE","setState","useDatepicker","onDatesChange","minBookingDate","maxBookingDate","numberOfMonths","firstDayOfWeek","activeMonths","isSingleDateSelected","isFirstSelectedDate","isLastSelectedDate","onResetDates","memoizedGoToMonth","newDate","memoizedOnSubmit","memoizedOnResetDates","currentDateIsBlocked","memoizedIsSingleDateSelected","selectedDate","Provider","isSingleDaySelected","currentDate","isTodayDay","onTodayDateSelect","createStyles","buttonHover","grey","COLORS","WEEKEND_DAYS","Day","dayLabel","dayRef","useRef","useContext","DatePickerContext","useDay","isSelected","isSelectedStart","isSelectedEnd","isWithinHoverRange","disabledDate","onKeyDown","onMouseEnter","tabIndex","activeColorBg","selectedColor","isSingleSelected","dayName","getBackgroundColorFn","isSelectedStartOrEnd","isDisabled","selectedFirstOrLastColor","normalColor","rangeHoverColor","disabledColor","selectedTodayColor","getColor","getWeekendTextColorFn","getWeekendTextColor","ref","clsx","border","outline","Styles","root","borderTop","days","gridTemplateColumns","justifyContent","gap","msGridColumns","msGridRows","msGridColumn","msGridRow","MonthStyles","useMonth","monthLabel","day","MemoizedControlButtons","alignItems","button","white","buttonsDisabled","handleReset","handleSubmit","disabled","fullWidth","MemoizedTrashButton","onReset","propTypes","PropTypes","bool","func","Footer","todayMonth","todayYear","getYear","isCurrentMonth","isButtonsDisabled","icon","secondary","query_string","transactionsGroup","MemoizedCloseButton","loadCodesLimits","checkBeforeEmission","checkBeforeMarking","checkBeforePrint","checkBeforePrintWithMarking","getHeaders","subGroups","trademark","gln","getSortOptionById","ConnectedComponent","autoHideDuration","severity","DialogTitle","other","disableTypography","aria-label","CommonDialog","labelSubmit","labelCancel","withBorderBottom","dividers","invalid","loading","loadServices","formatDatesString","dates","displayFormat","placeholder","paperStyles","makeStyles","popper","zIndex","modal","grow","onInputChange","parseFormat","PaperProps","dateToValue","d","parsedDate","isNaN","inputRef","popperRef","setOpen","paperClasses","clickAwayHandle","cursorX","pageX","cursorY","pageY","getBoundingClientRect","left","top","bottom","isOutsideClick","isAnchorClick","handleDateSubmit","handleChangeInput","inputDate","yearToken","match","yearValue","String","Popper","placement","transition","TransitionProps","ClickAwayListener","onClickAway","Grow","Paper","DatePicker","DatePickerField","withoutMargin","isMaxDateUnlimited","isMinDateUnlimited","DatePickerInput","autoComplete","RangeDatepicker","END_DATE","boundary","copiedDate","getTime","focused","Month","RangeDatepickerFilter","validator","validate","fieldValue","nextValue","RangeDatePicker","makeRangeDatepickerFilter","PUSH_SEARCH_PROPS","START_REQUEST","FINISH_REQUEST","GET_PARTICIPANT","UPDATE_GOODS_AFTER_CREATE","SET_ERRORS","UPDATE_OPERATIONS_AFTER_CREATE","UPLOAD_FILE_SERIAL_NUMBERS","LOAD_SHOES_TYPES_DICTIONARY","LOAD_SHOES_SIZES_DICTIONARY","LOAD_SHOES_COLORS_DICTIONARY","LOAD_TOP_SHOES_MATERIALS_DICTIONARY","SET_TOP_SHOES_MATERIALS_DICTIONARY","LOAD_SHOES_MATERIALS_DICTIONARY","LOAD_BOTTOM_SHOES_MATERIALS_DICTIONARY","SET_BOTTOM_SHOES_MATERIALS_DICTIONARY","UPLOAD_AGGREGATION","productsIcons","1","2","3","4","5","6","7","8","9","10","11","12","13","VALIDATORS","validators","is","retryPassword","eq","ChangePasswordModal","onSave","isExpired","role","isProfile","maxWidth","render","AuthPage","showPass","trim","onResetPassword","autoFocus","maxLength","mapStateToProps","withTranslation","emailSymbols","ResetPasswordPage","onCodePage","offResetPassword","arg","vv","isNil","selectRequired","pdfPrint","max","maxMilk","newVal","minMilk","min","time","onlyNum","emailOrPhone","numeric","numericMilk","latin","cyrillic","alphanumeric","cyralphanumeric","resetPass","lowercase","uppercase","digit","specialChar","dateBefore","isBefore","dateAfter","equal","commonInn","within","sample","has","nospace","startWith","start","val","above","minPwd","maxPwd","under","URL_WITHOUT_VERSION","filename","curry","contentType","toLowerCase","toUpperCase","fallback","last","err","logout","logoutByBlock","loadUsers","getUser","createUser","updateUser","patchUser","loadUser","dayLabelFormatFn","monthLabelFormatFn","dayLabelFormat","monthLabelFormat","monthStart","startOfMonth","monthStartDay","getDay","monthEnd","endOfMonth","prevMonthDays","fill","eachDay","end","getDays","monthLabelText","charAt","isDateBlockedFn","minBookingDays","unavailableDates","compareMinDate","compareMaxDate","some","_date","isSameDay","isInUnavailableDates","isAfter","isWithinRange","addDays","getDateMonthAndYear","getInitialMonths","firstMonth","startOfToday","prevMonthDate","m","addMonths","getNextActiveMonth","activeMonth","counter","canSelectRange","exactMinBookingDays","isStartDateAfterOrEqualMinDate","isStartDateBeforeOrEqualMaxDate","returnValue","minBookingDaysDate","isDateBlockedProps","setActiveMonths","hoveredDate","setHoveredDate","setFocusedDate","isSameMonth","isDateSelectedFn","isFirstOrLastSelectedDate","isFirstOrLastSelectedDateFn","isLastSelectedDateFn","isFirstSelectedDateFn","isDateHoveredFn","handleKeyDown","addEventListener","removeEventListener","isNotBlocked","isHoveredDateAfterOrEqualMinDate","isHoveredDateBeforeOrEqualMaxDate","potentialEndDate","isPotentialEndDateAfterOrEqualMinDate","isPotentialEndDateBeforeOrEqualMaxDate","isExactAndInRange","isInRange","isMinBookingDaysInRange","isStartDateHoveredAndInRange","goToPreviousMonths","goToNextMonths","goToPreviousYear","numYears","goToNextYear","focus","HeaderLogo","expanded","hovered","ButtonBase","TouchRippleProps","Tooltip","arrow","MenuList","MuiMenuList","paper","MuiMenu","SubMenuItem","selected","MuiMenuItem","MenuIcon","boxSizing","flexShrink","borderColor","iconColor","activatedMenu","BaseMenuButton","MenuButton","flexWrap","transitions","whiteSpace","iconColorHover","shouldRenderMenu","handleClick","persist","renderMenuItem","disableRipple","disableTouchRipple","renderMenuItems","isValidElement","renderMenu","disableAutoFocusItem","transitionDuration","itemsParticipant","itemsOperator","useHistory","location","useLocation","menuItems","expandable","expandOnHover","startsWith","exact","requiredRoles","userHasRequiredRole","listenHistory","listen","to","usePageHeaderStyles","header","wrapper","buttonWrapper","marginLeft","profileIcon","testMessage","fontFamily","typography","letterSpacing","MuiButtonBase","Button","buttonRef","innerRef","transform","offsetWidth","withRouter","userShortName","profileMenuItems","RouterLink","Grid","expirationNote","daysLimit","Link","openDialog","expiredToday","currentPassword","HomePage","lazy","TurnoverParticipantsPage","TurnoverParticipantsEditComponent","ParticipantCard","UsersPage","UsersCardComponent","UserEditComponent","OperationPage","OperationForm","AggregationForm","OperationCardComponent","GoodsPage","GoodsEditComponent","GoodsItemCardComponent","MarkCodesPage","MarkCodeCardComponent","AddGoodsGroupPage","TransactionsPage1","TransactionsPage2","NewPasswordPage","showPassword","showConfirmPassword","sendNewPassword","subscription","confirmPassword","ResetLayout","setCode","handleBeforeUnload","offCodePage","timeToIdle","isResetPassword","setIsResetPassword","isIdle","setIsIdle","activityDetector","createActivityDetector","on","stop","useIdle","inactivityEvents","light","success","Theme","getPalette","kgThemePalette","kzThemePalette","amThemePalette","defaultThemePalette","setTheme","themeClassName","getElementById","createMuiTheme","overrides","MuiDrawer","MuiFilledInput","overflow","underline","MuiFormControlLabel","marginBottom","userSelect","MuiIconButton","MuiInput","MuiInputBase","MuiInputLabel","MuiFormLabel","MuiList","MuiListItem","gutters","minHeight","MuiPaper","MuiPopover","MuiSelect","MuiSvgIcon","MuiTooltip","opacity","tooltip","MuiTypography","body1","h1","h2","h3","h4","marginTop","h5","MuiTable","tableLayout","MuiDialog","paperWidthXs","MuiDialogTitle","MuiDialogContent","MuiBackdrop","MuiRadio","MuiCheckbox","MuiAppBar","useNextVariants","isRefreshing","subscribers","onRefreshed","cb","interceptors","use","a","originalRequest","config","Incereption","App","hostname","resources","am","translation","ru","initReactI18next","init","fallbackLng","keySeparator","interpolation","escapeValue","react","useSuspense","ReactDOM","navigator","serviceWorker","ready","registration","unregister","locales","formatStr","locale"],"mappings":"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","file":"static/js/main.e081d526.chunk.js","sourcesContent":["import { combineReducers } from 'redux';\nimport { connectRouter } from 'connected-react-router';\nimport participantReducer from './participants';\nimport settingsReducer from './settings';\nimport usersReducer from './users';\nimport authReducer from './auth';\nimport errorsReducer from './errors';\nimport resetPasswordReducer from \"./reset-password\";\nimport operationsReducer from './operations';\nimport dictionariesReducer from './dictionaries';\nimport currentUserReducer from './current-user';\nimport goodsReducer from './goods';\nimport markCodesReducer from './mark-codes';\nimport goodsProperties from './GoodsProperties';\nimport accountsProperties from './accounts';\nimport payments from './payments';\nimport charges from './charges';\nimport loadTransactions from \"./transactions\";\n\n\nexport default (history) => combineReducers({\n router: connectRouter(history),\n participants: participantReducer,\n settings: settingsReducer,\n users: usersReducer,\n auth: authReducer,\n errors: errorsReducer,\n operations: operationsReducer,\n dictionaries: dictionariesReducer,\n currentUser: currentUserReducer,\n goods: goodsReducer,\n markCodes: markCodesReducer,\n resetPassword: resetPasswordReducer,\n transactions:loadTransactions,\n goodsProperties,\n accountsProperties,\n payments,\n charges,\n\n});\n","import fp from 'lodash/fp';\n\nexport const createSyncAction = (type) => (payload) => ({ type, ...payload });\n\nexport const update_ = (list) => (...args) => {\n const items = fp.flatten(args);\n return fp.map((i) => fp.find({ id: i.id }, items) || i)(list);\n};\n\nexport const add_ = (list) => (...args) => {\n const items = fp.flatten(args);\n return fp.pipe(\n update_(list),\n fp.concat(fp, fp.differenceBy('id', items, list)),\n )(list);\n};\n\nexport const remove_ = (list) => (id) => fp.reject({ id }, list);\n","import fp from 'lodash/fp';\nimport types from '../types';\nimport {add_, update_} from '../helpers/redux';\nimport {HELPERS} from '../helpers';\n\nconst initialState = {\n list: [],\n item: {\n registrationCountry: {},\n groupUotDtos: [],\n },\n};\n\nconst reducer = (state = initialState, action) => {\n const add = add_(state.list);\n const update = update_(state.list);\n switch (action.type) {\n case types.SET_PARTICIPANTS:\n return {\n ...state,\n list: parseParticipantsList(action.$payload),\n };\n case types.SET_PARTICIPANT:\n return {\n ...state,\n item: parseParticipantItem(action.$payload),\n };\n\n case types.SET_PARTICIPANT2:\n return {\n ...state,\n item: {\n ...state.item,\n ...action.$payload,\n groupUotDtos: [\n ...state.item.groupUotDtos,\n ],\n },\n };\n\n case types.CLEAR_PARTICIPANT:\n return {\n ...state,\n item: {\n registrationCountry: {},\n groupUotDtos: [],\n },\n };\n case types.UPDATE_PARTICIPANTS_AFTER_CREATE:\n return {\n ...state,\n list: add(parseParticipantItem(action.$payload)),\n };\n\n case types.UPDATE_PARTICIPANTS:\n return {\n ...state,\n list: update(parseParticipantItem(action.$payload)),\n };\n case types.ADD_PARTICIPANTS_GROUP:\n return {\n ...state,\n item: {\n ...state.item,\n groupUotDtos: [\n ...state.item.groupUotDtos,\n {\n countryId: action.$payload.newTableInfo.countryId,\n country: action.$payload.newTableInfo.country,\n goodsGroup: action.$payload.groupInfo.name,\n goodsGroupID: action.$payload.groupInfo.id,\n startDate: action.$payload.newTableInfo.startDate ? HELPERS.formatOnlyDate(action.$payload.newTableInfo.startDate) : '',\n endDate: action.$payload.newTableInfo.endDate ? HELPERS.formatOnlyDate(action.$payload.newTableInfo.endDate) : '',\n },\n ],\n },\n };\n case types.REMOVE_PARTICIPANTS_GROUP:\n return {\n ...state,\n item: {\n ...state.item,\n groupUOTDtos: [\n ...state.item.groupUotDtos.splice(action.$payload.id, 1),\n ],\n },\n };\n default:\n return state;\n }\n};\n\nexport default reducer;\n\nconst parseParticipantsList = (data) => fp.pipe(\n fp.get('content'),\n fp.map(\n (item) => ({\n ...item,\n registrationDate: HELPERS.formatDate(item.registrationDate),\n\n }),\n ),\n)(data);\n\nconst parseParticipantItem = (data) => ({\n ...data,\n statusDate: HELPERS.formatDate(data.statusDate),\n registrationDate: HELPERS.formatDate(data.registrationDate),\n groupUotDtos: data?.groupUotDtos.map((SoloDto) => ({\n id: SoloDto.id,\n country: SoloDto?.groupMarkingRsDto?.operatorDto?.country?.name,\n goodsGroup: SoloDto?.groupMarkingRsDto?.name,\n goodsGroupID: SoloDto?.groupMarkingRsDto?.id,\n startDate: SoloDto?.startDate ? HELPERS.formatOnlyDate(SoloDto.startDate) : '',\n endDate: SoloDto?.endDate ? HELPERS.formatOnlyDate(SoloDto.endDate) : '',\n participantId: SoloDto.participantId,\n })),\n});\n","import fp from 'lodash/fp';\nimport types from '../types';\n\nconst initialState = {\n table: {\n page: 0, size: 10, totalElements: 0, totalPages: 0,\n },\n tableHistory: {\n page: 0, size: 10, totalElements: 0, totalPages: 0,\n },\n\n myFilter: {\n isFilter: false,\n filter: {}\n },\n sort: [],\n page: 0,\n\n common: {},\n dict: {totalPages: 0},\n isLoading: false,\n password: {},\n language: localStorage.getItem('language') || 'ru',\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case types.SET_SETTINGS:\n return {\n ...state,\n table: {...state.table, ...action.$payload},\n };\n case types.SET_SETTINGS_HISTORY:\n return {\n ...state,\n tableHistory: {...state.tableHistory, ...action.$payload}\n }\n case types.SET_DICT_SETTINGS:\n return {\n ...state,\n dict: {...action.$payload},\n };\n case types.SET_COMMON_SETTINGS:\n return {\n ...state,\n common: parseSettings({...action.$payload}),\n };\n case types.SET_CLEAR_SETTINGS:\n return {\n ...state,\n table: {\n page: 0, size: 10, totalElements: 0, totalPages: 0,\n },\n myFilter: {\n isFilter: false,\n filter: {}\n },\n page: 0,\n sort: []\n };\n case types.SET_IS_LOADING:\n return {\n ...state,\n isLoading: action.$payload,\n };\n case types.CHECK_PASSWORD:\n return {\n ...state,\n password: action.$payload,\n };\n case types.SET_LANGUAGE:\n return {\n ...state,\n language: action.$payload,\n };\n\n case types.SET_SETTINGS_FILTER:\n return {\n ...state,\n myFilter: action.$payload\n }\n case types.SET_SETTINGS_PAGE:\n return {\n ...state,\n page: action.$payload,\n }\n case types.SET_SETTINGS_SORT:\n return {\n ...state,\n sort: action.$payload,\n }\n default:\n return state;\n }\n};\n\nconst parseSettings = (data) => ({\n countryCode: fp.find((item) => item.key === 'country')(data).value,\n version: fp.find((item) => item.key === 'version')(data).value,\n gwVersion: fp.find((item) => item.key === 'gwVersion')(data).value,\n mode: fp.find((item) => item.key === 'mode')(data).value,\n session: fp.find((item) => item.key === 'session')(data)?.value * 60000 || 30 * 60000,\n});\n\nexport default reducer;\n","import types from '../types';\nimport { add_, update_ } from '../helpers/redux';\nimport { HELPERS } from '../helpers';\n\nconst initialState = {\n list: [],\n item: {\n participant: {},\n },\n error: null,\n};\n\nconst reducer = (state = initialState, action) => {\n const update = update_(state.list);\n const add = add_(state.list);\n switch (action.type) {\n case types.SET_USERS:\n return {\n ...state,\n list: action.$payload.content,\n };\n case types.SET_USER:\n return {\n ...state,\n item: parseUserItem(action.$payload),\n };\n case types.UPDATE_USERS:\n return {\n ...state,\n item: update(parseUserItem(action.$payload)),\n };\n\n case types.UPDATE_USERS_AFTER_CREATE:\n return {\n ...state,\n item: add(parseUserItem(action.$payload)),\n };\n case types.SET_PASSWORD_ERROR:\n return {\n ...state,\n error: action.$payload,\n };\n default:\n return state;\n }\n};\n\nexport default reducer;\n\nconst parseUserItem = (data) => ({\n ...data,\n login: data.login ? data.login : '-',\n registrationDate: HELPERS.formatDate(data.registrationDate),\n lastPasswordUpdateDate: HELPERS.formatDate(data.lastPasswordUpdateDate),\n lastUpdateDate: HELPERS.formatDate(data.lastUpdateDate),\n});\n","import types from '../types';\n\nconst initialState = {};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case types.SET_AUTH_DATA:\n return {\n ...action.$payload,\n };\n case types.CLEAR_AUTH_DATA:\n return { isNotAuth: true };\n default:\n return state;\n }\n};\n\nexport default reducer;\n","// import fp from 'lodash/fp';\nimport { get } from 'lodash';\nimport types from '../types';\nimport { generateGuid } from '../helpers';\n// import { HELPERS } from '../helpers';\n\nconst initialState = {\n errors: [],\n messages: []\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case types.ADD_ERROR:\n const error = parseError(action);\n const errors = [...state.errors];\n errors.shift();\n errors.push({ id: generateGuid(), name: error });\n\n return {\n ...state,\n errors: [...errors],\n };\n case types.SET_MESSAGE:\n const message = parseMessage(action);\n const messages = [...state.messages];\n messages.shift();\n messages.push({ id: generateGuid(), name: message });\n\n return {\n ...state,\n messages: [...messages],\n };\n\n case types.CLEAR_ERRORS:\n return {\n ...state,\n errors: action?.$payload ? Object.keys(action?.$payload).length === 0 ? [] : [...state.errors].filter((item) => item.id !== action.$payload) : [],\n messages: []\n };\n default:\n return state;\n }\n};\n\nexport default reducer;\n\nconst parseError = ({ $payload }) => {\n const message = get($payload, 'response.data.message', null);\n const error_description = get($payload, 'response.data.error_description', null);\n const errors = get($payload, 'response.data.errors', null);\n const errorName = message || (error_description && error_description.indexOf('Access token expired') !== 0 && errors\n ? errors[0].defaultMessage\n : error_description);\n\n return getErrorMessage(errorName);\n};\n\nconst parseMessage = ({ $payload }) => {\n const message = get($payload, 'message', null);\n return getMessage(message)\n}\n\nconst getMessage = (message) => {\n switch (message) {\n default: return message\n }\n}\n\nconst getErrorMessage = (message) => {\n switch (message) {\n case 'User account is blocked': return 'Учетная запись заблокирована. Обратитесь в Службу Технической поддержки Оператора';\n case 'User account is locked': return 'Учетная запись заблокирована. Обратитесь в Службу Технической поддержки Оператора';\n case 'Participant is locked': return 'УОТ заблокирован. Обратитесь в Службу Технической поддержки Оператора';\n case 'Traffic participant in the status \"Blocked\". Contact the operator\\'s support service': return 'УОТ заблокирован. Обратитесь в Службу Технической поддержки Оператора';\n case 'No message available': return 'Произошла неизвестная ошибка выполнения';\n case 'Invalid refresh token: null': return 'Срок действия токена истек';\n case 'Token was not recognised': return 'Токен не распознан';\n case 'Invalid file extension': return 'Файл должен быть в формате CSV';\n default: return message;\n }\n};\n","import types from \"../types\";\r\n\r\n\r\nconst initialState = {\r\n email: sessionStorage.getItem(\"email\") ?? \"\"\r\n}\r\n\r\n\r\n\r\nconst reducer = (state = initialState, action) => {\r\n\r\n switch (action.type) {\r\n case types.SET_EMAIL:\r\n return {\r\n ...state,\r\n email: action?.$payload,\r\n }\r\n default: return state;\r\n }\r\n}\r\n\r\nexport default reducer;","import fp from 'lodash/fp';\nimport types from '../types';\nimport {HELPERS} from '../helpers';\nimport {events, operationTypes, statuses} from '../pages/operations-page/operation-dictionary';\nimport {statuses as participantStatuses} from '../pages/turnover-participants-page/participantsDictionary';\n\nconst initialState = {\n list: [],\n history: [],\n type: null,\n item: {},\n serviceTypes: [],\n serviceSettings: {},\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case types.SET_OPERATION_TYPE:\n return {\n ...state,\n type: action.$payload,\n };\n\n case types.SET_OPERATION:\n return {\n ...state,\n item: parseOperation(action.$payload),\n };\n case types.SET_OPERATIONS:\n return {\n ...state,\n list: parseOperationList(action.$payload),\n };\n case types.SET_OPERATION_HISTORY:\n return {\n ...state,\n history: parseOperationHistoryList(action.$payload),\n };\n case types.SET_SERVICES:\n return {\n ...state,\n serviceTypes: [...action.$payload.content],\n serviceSettings: {\n page: action.$payload.number,\n size: action.$payload.size,\n totalPages: action.$payload.totalPages,\n totalElements: action.$payload.totalElements,\n },\n };\n default:\n return state;\n }\n};\n\nexport default reducer;\n\nconst parseOperationList = (data) => fp.pipe(\n fp.get('content'),\n fp.map(\n (item) => ({\n id: item.id,\n operationType: HELPERS.getNameFromDictionary(item.operationType, operationTypes),\n creationDate: HELPERS.formatDate(item.createdAt),\n codeCount: item.kmsCount,\n event: getEventName(item.events, item.type),\n status: HELPERS.getNameFromDictionary(item.status, statuses),\n endDate: HELPERS.formatDate(item.endAt),\n groupName: item?.markingGroup?.name || '',\n participant: {\n ...item?.participant || {},\n status: HELPERS.getNameFromDictionary(item?.participant?.status, participantStatuses),\n },\n createdBy: item?.createdBy || 'Нет данных',\n }),\n ),\n)(data);\n\nconst getEventName = (eventsList, type) => {\n if (eventsList && eventsList.length > 0) {\n if (type === 'TRANSGRAN_REGISTRATION') {\n const sorted = fp.sortBy('createdAt')(eventsList).reverse();\n return HELPERS.getNameFromDictionary(sorted[0].type, events);\n }\n return HELPERS.getNameFromDictionary(eventsList[0].type, events);\n }\n return '';\n};\n\nconst parseOperationHistoryList = (data) => fp.pipe(\n fp.get('content'),\n fp.map(\n (item) => ({\n id: item.id,\n event: HELPERS.getNameFromDictionary(fp.get('event.type', item), events),\n startStatus: HELPERS.getNameFromDictionary(item.statusIn, statuses),\n finishStatus: HELPERS.getNameFromDictionary(item.statusOut, statuses),\n changeDate: HELPERS.formatDate(item.updatedAt),\n }),\n ),\n)(data);\n\nconst parseOperation = (data) => ({\n ...data,\n creationDate: HELPERS.formatDate(data.createdAt),\n finishDate: HELPERS.formatDate(data.endAt),\n status: HELPERS.getNameFromDictionary(data.status, statuses),\n statusValue: data.status,\n operationCountry: data.operationCountry ? data.operationCountry.name : '-',\n markCodesCount: data.kmsCount,\n documentDate: HELPERS.formatOnlyDate(data.documentDate),\n shipmentDate: HELPERS.formatOnlyDate(data.shipmentDate),\n recipientCountry: fp.get('participant.registrationCountry.name', data),\n operatorInn: fp.get('operatorInn', data),\n operatorName: fp.get('operatorName', data),\n events: fp.map(\n (item) => ({\n ...item,\n event: HELPERS.getNameFromDictionary(item.type, events),\n startDate: HELPERS.formatDate(item.startAt),\n processingDate: HELPERS.formatDate(item.executeAt),\n }),\n )(data.events),\n productGtin: data.product ? data.product.gtin : '-',\n productName: data.product ? data.product.fullName : '-',\n productId: data.product ? data.product.id : '-',\n serialNumberType: data.autogenerated ? 'Автоматически' : 'Вручную',\n});\n","import fp from 'lodash/fp';\nimport types from '../types';\n\nconst initialState = {\n countries: [],\n tnvedCodes: [],\n shoesTypes: [],\n shoesSizes: [],\n shoesColors: [],\n shoesMaterials: [],\n productsSubTypesList: [],\n productsGroupsUODList: [],\n};\n// SET_PRODUCT_GROUPS_UOD_LIST\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case types.SET_COUNTRY_DICTIONARY:\n return {\n ...state,\n countries: parseDictionary(action.$payload),\n };\n case types.SET_TNVED_DICTIONARY:\n return {\n ...state,\n tnvedCodes: parseTnvedDictionary(action.$payload),\n };\n case types.SET_TNVED_ROOT_DICTIONARY:\n return {\n ...state,\n tnvedRootCodes: parseTnvedRootDictionary(action.$payload),\n };\n case types.SET_SHOES_TYPES_DICTIONARY:\n return {\n ...state,\n shoesTypes: parseDictionary(action.$payload),\n };\n case types.SET_SHOES_COLORS_DICTIONARY:\n return {\n ...state,\n shoesColors: parseDictionary(action.$payload),\n };\n case types.SET_SHOES_SIZES_DICTIONARY:\n return {\n ...state,\n shoesSizes: parseDictionary(action.$payload),\n };\n case types.SET_SHOES_MATERIALS_DICTIONARY:\n return {\n ...state,\n shoesMaterials: parseDictionary(action.$payload),\n };\n case types.SET_PRODUCT_TYPES: {\n return {\n ...state,\n productsTypeList: parseDictionary(action.$payload),\n };\n }\n case types.SET_PRODUCT_SUB_TYPES: {\n return {\n ...state,\n productsSubTypesList: parseProductSubTypesDictionary(action.$payload),\n };\n }\n case types.SET_PRODUCT_GROUPS_UOD_LIST: {\n return {\n ...state,\n productsGroupsUODList: parseProductGroupsUODList(action.$payload.content),\n };\n }\n case types.CLEAR_PRODUCT_GROUPS_UOD_LIST: {\n return {\n ...state,\n productsGroupsUODList: [],\n };\n }\n\n default:\n return state;\n }\n};\n\nexport default reducer;\n\nconst parseDictionary = (data) => fp.map(\n (item) => (\n {\n label: item.name,\n value: `${item.id}`,\n code: item.code ? item.code : '',\n }\n ),\n)(data);\n\nconst parseProductSubTypesDictionary = (data) => fp.map(\n (item) => (\n {\n label: item.name,\n value: item.code,\n code: item.code ? item.code : '',\n mainGroup: item.productGroup,\n }\n ),\n)(data);\nconst parseProductGroupsUODList = (data) => fp.map(\n (item) => (\n {\n ...item,\n label: item.name,\n value: `${item.id}`,\n code: item.code ? item.code : '',\n // mainGroup: item.productGroup,\n // id: 'wobobobob'\n }\n ),\n)(data);\n\nconst parseTnvedRootDictionary = (data) => fp.pipe(\n fp.get('rootCodes'),\n fp.map(\n (item) => (\n {\n label: item,\n value: `${item}`,\n }\n ),\n ),\n)(data);\n\nconst parseTnvedDictionary = (data) => fp.pipe(\n fp.get('content'),\n fp.map(\n (item) => (\n {\n ...item,\n label: item.code,\n value: `${item.id}`,\n groupCode: item.rootCode,\n }\n ),\n ),\n)(data);\n","import types from '../types';\nimport { HELPERS } from '../helpers';\n\nconst initialState = {};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case types.SET_CURRENT_USER:\n return {\n ...state,\n ...action.$payload,\n shortName: getShortName(action.$payload.fullName),\n registrationDate: HELPERS.formatDate(action.$payload.registrationDate),\n lastPasswordUpdateDate: HELPERS.formatDate(action.$payload.lastPasswordUpdateDate),\n lastUpdateDate: HELPERS.formatDate(action.$payload.lastUpdateDate),\n };\n case types.CLEAR_CURRENT_USER:\n return {\n ...initialState,\n };\n default:\n return state;\n }\n};\n\nexport default reducer;\n\nconst getShortName = (fullName) => fullName\n .split(' ')\n .map((item, idx) => (idx === 0 ? item : `${item[0]}.`))\n .join(' ');\n","import fp from 'lodash/fp';\nimport types from '../types';\nimport { HELPERS } from '../helpers';\nimport { statuses } from '../pages/goods-page/goods-dictionaries';\n\nconst initialState = {\n list: [],\n item: {},\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case types.SET_GOODS_LIST:\n return {\n ...state,\n list: parseGoodsList(action.$payload),\n };\n case types.SET_PRODUCT:\n return {\n ...state,\n item: parseProduct(action.$payload.data, action.$payload.type),\n };\n case types.SET_CLEAR_PRODUCT:\n return {\n ...state,\n item: {},\n };\n default:\n return state;\n }\n};\n\nexport default reducer;\n\nconst parseGoodsList = (data) => fp.pipe(\n fp.get('content'),\n fp.map(\n (item) => ({\n ...item,\n tnvedGroup: fp.get('tnved.rootCode', item),\n tnvedCode: fp.get('tnved.code', item),\n manufacturedCountry: item.manufacturedCountry.name,\n manufacturedCountryId: item.manufacturedCountry.id,\n status: HELPERS.getNameFromDictionary(item.status, statuses),\n }),\n ),\n)(data);\n\nconst parseProduct = (item, type) => ({\n ...item,\n participantName: fp.get('participant.fullName', item),\n participantPhone: fp.get('participant.phone', item),\n participantId: fp.get('participant.id', item),\n tnvedGroup: fp.get('tnved.rootCode', item),\n tnved: fp.get('tnved.code', item),\n tnvedName: fp.get('tnved.name', item),\n tnvedRootName: fp.get('tnved.rootName', item),\n manufacturedCountry: item.manufacturedCountry.name,\n manufacturedCountryId: item.manufacturedCountry.id,\n status: HELPERS.getNameFromDictionary(item.status, statuses),\n statusValue: item.status,\n subGroup: fp.get('tnved.productSubgroup', item),\n ...getAttributes(item, type),\n statusDate: HELPERS.formatDate(item.statusDate),\n});\n\nconst getAttributes = (item, type) => {\n const key = type === 'edit' ? 'id' : 'name';\n return {\n type: `${fp.get(`type.${key}`, item)}`,\n size: `${fp.get(`size.${key}`, item)}`,\n color: `${fp.get(`color.${key}`, item)}`,\n upperMaterial: `${fp.get(`upperMaterial.${key}`, item)}`,\n liningMaterial: `${fp.get(`liningMaterial.${key}`, item)}`,\n bottomMaterial: `${fp.get(`bottomMaterial.${key}`, item)}`,\n };\n};\n","import fp from 'lodash/fp';\nimport types from '../types';\nimport {HELPERS} from '../helpers';\nimport {operationTypes, statuses} from '../pages/mark-codes/codesDictionary';\n\nconst initialState = {\n list: [],\n item: {\n participant: {},\n product: {},\n },\n history: [],\n limits: null,\n downloadCSVFilter: {}\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case types.SET_CODES:\n return {\n ...state,\n list: parseMarkCodesList(action.$payload),\n };\n case types.SET_CODE:\n return {\n ...state,\n item: parseMarkCode(action.$payload),\n };\n case types.SET_CODE_HISTORY:\n return {\n ...state,\n history: parseMarkCodesHistoryList(action.$payload),\n };\n case types.DOWNLOAD_CODES_FILTER:\n return {\n ...state,\n downloadCSVFilter: parseFilter(action.$payload),\n };\n case types.CLEAR_DOWNLOAD_CODES_FILTER:\n return {\n ...state,\n downloadCSVFilter: {},\n };\n case types.SET_CODES_LIMIT:\n return {\n ...state,\n limits: action.$payload,\n };\n default:\n return state;\n }\n};\n\nexport default reducer;\n\nconst parseMarkCodesList = (data) => fp.pipe(\n fp.get('content'),\n fp.map(\n (item) => (data.isShort ? parseMarkingCodeListItemFromOperation(item) : parseMarkingCodeListItem(item))),\n)(data);\n\nconst parseMarkingCodeListItem = (item) => ({\n ...item,\n status: HELPERS.getNameFromDictionary(item.status, statuses),\n receivingDate: HELPERS.formatDate(item.dateCreate),\n country: fp.get('country.name', item),\n});\n\nconst parseMarkingCodeListItemFromOperation = (item) => ({\n ...item,\n status: HELPERS.getNameFromDictionary(item.status, statuses),\n createdAt: HELPERS.formatDate(item.createdAt),\n country: fp.get('country', item),\n});\n\nconst parseMarkCodesHistoryList = (data) => fp.pipe(\n fp.get('content'),\n fp.map(\n (item) => ({\n ...item,\n startStatus: HELPERS.getNameFromDictionary(item.initialStatus, statuses),\n finishStatus: HELPERS.getNameFromDictionary(item.resultStatus, statuses),\n operationType: HELPERS.getNameFromDictionary(item.operationType, operationTypes),\n changeDate: HELPERS.formatDate(item.timestamp),\n operation: item.operationId,\n }),\n ),\n)(data);\n\n\nconst parseFilter = (data) => fp.reduce(\n fp.merge, {}, fp.map(([key, value]) => (\n {[key]: value}), fp.entries(data)\n ))\n\nconst parseMarkCode = (data) => ({\n ...data,\n status: HELPERS.getNameFromDictionary(data.status, statuses),\n statusValue: data.status,\n dateCreate: HELPERS.formatDate(data.dateCreate),\n dateChangeStatus: HELPERS.formatDate(data.dateChangeStatus),\n operationId: fp.get('currentOperation.id', data),\n aggregationId: fp.get('aggregationOperation.id', data),\n product: {\n ...data.product,\n tnvedCode: fp.get('product.tnved.code', data),\n developmentCountry: fp.get('product.manufacturedCountry.name', data),\n shoesType: fp.get('product.type.name', data),\n shoesSize: fp.get('product.size.name', data),\n shoesColor: fp.get('product.color.name', data),\n topShoesMaterial: fp.get('product.upperMaterial.name', data),\n shoesMaterial: fp.get('product.liningMaterial.name', data),\n bottomShoesMaterial: fp.get('product.bottomMaterial.name', data),\n },\n});\n","/* eslint-disable no-case-declarations */\nimport types from '../types';\n\nconst initialState = {\n list: null,\n attributes: [],\n units: [],\n};\n\nconst ParsePropertyList = (data) => (data.map(\n (item) => (\n {\n label: item.name,\n value: `${item.id}`,\n code: item.code ? item.code : '',\n subGroupdCode: item?.productSubgroupDto?.code ? item.productSubgroupDto.code : '',\n // mainGroup: item.productGroup,\n }\n ),\n));\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case types.SET_GOODS_CARD_PROPERTIES_LIST:\n // let sortedJson = action.$payload.sort((soloAttribute) => {\n // if (!soloAttribute.multiplication) {\n // return -1;\n // }\n // return 0;\n // });\n return {\n ...state,\n list: ([...action.$payload.filter((soloProperty) => {\n if (\n soloProperty.attributeType.code !== '2630'\n && soloProperty.attributeType.code !== '13933'\n && soloProperty.attributeType.code !== '2478'\n ) {\n return true;\n }\n\n return false;\n })]),\n };\n\n case types.SET_GOODS_CARD_PROPERTIES_ATTRIBUTE_LIST_CHANGE_IS_REQUIRED:\n\n\n // Товар с переменным весом или нет\n const indexWeightFrom = state.list.findIndex(el => el.attributeType.code === \"22272\")\n const indexWeightTo = state.list.findIndex(el => el.attributeType.code === \"22275\")\n const indexV = state.list.findIndex(el => el.attributeType.code === \"15448\")\n\n if (action.$payload.name.attributeType.code === \"22269\" && action.$payload.option.label === \"ДА\" || action.$payload.option.label === \"Да\" || action.$payload.option.label === \"да\") {\n state.list[indexWeightFrom].isRequired = true\n state.list[indexWeightTo].isRequired = true\n state.list[indexV].isRequired = false\n }\n else if (action.$payload.name.attributeType.code === \"22269\" && action.$payload.option.label === \"НЕТ\" || action.$payload.option.label === \"Нет\" || action.$payload.option.label === \"нет\") {\n state.list[indexWeightFrom].isRequired = false\n state.list[indexWeightTo].isRequired = false\n state.list[indexV].isRequired = true\n }\n return {...state}\n\n case types.SET_GOODS_CARD_PROPERTIES_ATTRIBUTE_LIST:\n return {\n ...state,\n attributes: action.$payload.map((soloAttribute) => (\n {\n attributeCode: soloAttribute.attributeCode,\n attributeValues: ParsePropertyList(soloAttribute.attributeValues),\n }\n )),\n };\n case types.SET_GOODS_CARD_PROPERTIES_ATTRIBUTE_UNITS_LIST:\n return {\n ...state,\n units: action.$payload.map((soloUnit) => (\n {\n attributeCode: soloUnit.attributeCode,\n attributeUnits: ParsePropertyList(soloUnit.attributeUnits),\n }\n )),\n };\n case types.ADD_GOODS_CARD_PROPERY:\n //\n console.log('list', state.list);\n console.log('action', action);\n let newAttribute = state.list.find((soloAttribute) => {\n if (soloAttribute.attributeType.code === action.$payload.code) {\n return true;\n }\n return false;\n });\n return {\n ...state,\n list: [...state.list.slice(0, action.$payload.index), newAttribute, ...state.list.slice(action.$payload.index, state.list.length)],\n\n };\n case types.REMOVE_GOODS_CARD_PROPERY: {\n let Listbuffer = [...state.list];\n Listbuffer.splice(action.$payload.index, 1);\n return {\n ...state,\n list: [...Listbuffer],\n };\n }\n case types.CLEAR_GOODS_CARD_PROPERY: {\n return {\n ...state,\n list: null,\n };\n }\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import types from '../types';\nimport { HELPERS } from '../helpers';\nimport { productGroupsNames } from '../pages/balance-page/constants';\n\nconst initialState = {\n accountHistory: null,\n totalPages: null,\n totalElements: null,\n paymentAccounts: [],\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case types.SET_ACCOUNTS_BALANCES_HISTORY:\n return {\n ...state,\n accountHistory: action.$payload.content,\n totalPages: action.$payload.totalPages,\n totalElements: action.$payload.totalElements,\n };\n case types.SET_PAYMENT_ACCOUNTS: {\n return {\n ...state,\n paymentAccounts: parseAccounts(action.$payload),\n };\n }\n default:\n return state;\n }\n};\n\nconst parseAccounts = (list) => list.map(\n (item, idx) => ({\n id: idx,\n paymentAccount: item.contractId,\n amount: HELPERS.getBalance(item.balance, 0),\n productGroupName: productGroupsNames[item.productGroupId],\n productGroupId: item.productGroupId,\n }),\n);\n\nexport default reducer;\n","import types from '../types';\n\nconst initialState = {\n accountHistory: null,\n totalPages: null,\n totalElements: null,\n item: null,\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case types.SET_ACCOUNTS_PAY:\n return {\n ...state,\n accountHistory: action.$payload.content,\n totalPages: action.$payload.totalPages,\n totalElements: action.$payload.totalElements,\n };\n case types.SET_PAYMENT:\n return {\n ...state,\n item: action.$payload,\n };\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import types from '../types';\n\nconst initialState = {\n list: [],\n totalPages: null,\n totalElements: null,\n};\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case types.SET_ACCRUALS:\n return {\n ...state,\n list: action.$payload.content,\n totalPages: action.$payload.totalPages,\n totalElements: action.$payload.totalElements,\n };\n default:\n return state;\n }\n};\n\nexport default reducer;\n","import types from '../types';\r\nimport fp from 'lodash/fp';\r\n\r\nconst initialState = {\r\n list: [],\r\n history: [],\r\n type: null,\r\n item: {},\r\n serviceTypes: [],\r\n serviceSettings: {},\r\n balances:[]\r\n};\r\n\r\nconst reducer = ( state = initialState, action ) => {\r\n switch( action.type ) {\r\n case types.SET_TRANSACTIONS:\r\n return {\r\n ...state,\r\n list: parseTransactionList(action.$payload),\r\n };\r\n case types.SET_BALANCES:\r\n return {\r\n ...state,\r\n balances: action.$payload,\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default reducer;\r\n\r\n\r\nconst parseTransactionList = (data) => fp.pipe(\r\n fp.get('content'),\r\n fp.map(\r\n (item) => ({\r\n date: item.date,\r\n inputSaldo: item.inputSaldo,\r\n changeSaldo: item.changeSaldo,\r\n changeNspSaldo: item.changeNspSaldo,\r\n outputSaldo: item.outputSaldo,\r\n guaranteeInput: item.guaranteeInput,\r\n guaranteeChange: item.guaranteeChange,\r\n guaranteeOutput: item.guaranteeOutput,\r\n rate: item.rate,\r\n comment: item.comment,\r\n })\r\n )\r\n)(data);","import { applyMiddleware, compose, createStore } from 'redux';\nimport { routerMiddleware } from 'connected-react-router';\nimport createSagaMiddleware from 'redux-saga';\nimport { createHashHistory } from 'history';\nimport createRootReducer from './reducers';\nimport sagas from './sagas';\n\nexport const history = createHashHistory({\n hashType: 'slash',\n getUserConfirmation: (message, callback) => callback(window.confirm(message)),\n});\n\nconst sagaMiddleware = createSagaMiddleware();\n\nconst enhancers = [];\nconst middleware = [\n sagaMiddleware,\n routerMiddleware(history),\n];\n\nif (process.env.NODE_ENV === 'development') {\n const devToolsExtension = window.__REDUX_DEVTOOLS_EXTENSION__;\n\n if (typeof devToolsExtension === 'function') {\n enhancers.push(devToolsExtension());\n }\n}\n\nconst composedEnhancers = compose(\n applyMiddleware(...middleware),\n ...enhancers,\n);\n\nexport const store = createStore(\n createRootReducer(history),\n composedEnhancers,\n);\n\nsagaMiddleware.run(sagas);\n","import { Input } from '@crpt-ui/core';\nimport React from 'react';\nimport fp from 'lodash/fp';\nimport { Translate } from '../translate';\n\nclass TextField extends React.Component {\n shouldComponentUpdate(nextProps, nextState, nextContext) {\n return !fp.isEqual(this.props, nextProps);\n }\n\n render() {\n const {\n input: {\n name, onChange, value, ...restInput\n }, label, meta, ...rest\n } = this.props;\n return (\n \n );\n }\n}\n\nexport default TextField;\n","import { createAction } from './common';\nimport types from '../types';\n\nexport const loadParticipants = createAction(types.LOAD_PARTICIPANTS);\nexport const setParticipants = createAction(types.SET_PARTICIPANTS);\nexport const setParticipant = createAction(types.SET_PARTICIPANT);\nexport const setParticipant2 = createAction(types.SET_PARTICIPANT2);\nexport const getParticipant = createAction(types.LOAD_PARTICIPANT);\nexport const createParticipant = createAction(types.CREATE_PARTICIPANT);\nexport const updateParticipant = createAction(types.UPDATE_PARTICIPANT);\nexport const clearParticipant = createAction(types.CLEAR_PARTICIPANT);\nexport const patchParticipant = createAction(types.PATCH_PARTICIPANT);\nexport const updateParticipants = createAction(types.UPDATE_PARTICIPANTS);\nexport const updateParticipantsAfterCreate = createAction(types.UPDATE_PARTICIPANTS_AFTER_CREATE);\nexport const addParcitipantsGroup = createAction(types.ADD_PARTICIPANTS_GROUP);\nexport const removeParcitipantsGroup = createAction(types.REMOVE_PARTICIPANTS_GROUP);\nexport const getPayCSV = createAction(types.LOAD_PAY_CSV);\nexport const downloadXlsx = createAction(types.DOWNLOAD_PARTICIPANT_XLSX);\n","import { createAction } from './common';\nimport types from '../types';\n\nexport const setProduct = createAction(types.SET_PRODUCT);\nexport const clearProduct = createAction(types.CLEAR_PRODUCT);\nexport const setClearProduct = createAction(types.SET_CLEAR_PRODUCT);\nexport const updateProduct = createAction(types.UPDATE_PRODUCT);\nexport const patchProduct = createAction(types.PATCH_PRODUCT);\nexport const loadProduct = createAction(types.LOAD_PRODUCT);\nexport const createProduct = createAction(types.CREATE_PRODUCT);\nexport const loadGoods = createAction(types.LOAD_GOODS_LIST);\nexport const setGoods = createAction(types.SET_GOODS_LIST);\nexport const getGoodCard = createAction(types.GET_GOOD_CARD);\nexport const setGoodCardProperties = createAction(types.SET_GOODS_CARD_PROPERTIES_LIST);\n\n\nexport const setGoodCardPropertiesChangeIsRequired = createAction(types.SET_GOODS_CARD_PROPERTIES_ATTRIBUTE_LIST_CHANGE_IS_REQUIRED);\n\nexport const getGoodCardProperyValues = createAction(types.GET_GOODS_CARD_SOLO_PROPERTY_VALUES);\nexport const setGoodCardAttributeList = createAction(types.SET_GOODS_CARD_PROPERTIES_ATTRIBUTE_LIST);\nexport const setGoodCardAttributeUnitList = createAction(types.SET_GOODS_CARD_PROPERTIES_ATTRIBUTE_UNITS_LIST);\nexport const addGoodCardProperty = createAction(types.ADD_GOODS_CARD_PROPERY);\nexport const removeGoodCardProperty = createAction(types.REMOVE_GOODS_CARD_PROPERY);\nexport const clearGoodCardProperty = createAction(types.CLEAR_GOODS_CARD_PROPERY);\n","import types from '../types';\n\nexport const createAction = (type) => (payload) => ({\n type,\n $payload: payload || {},\n});\n\nexport const createBoolAction = (type) => (payload) => ({\n type,\n $payload: payload,\n});\n\nexport const redirect = (pathname, method = 'push', search = null) => ({\n type: types.REDIRECT_TO,\n $payload: {\n pathname,\n method,\n search,\n },\n});\n\nexport const setSettings = createAction(types.SET_SETTINGS);\nexport const setSettingsHistory = createAction(types.SET_SETTINGS_HISTORY);\n\nexport const setCommonSettings = createAction(types.SET_COMMON_SETTINGS);\n\nexport const loadSettings = createAction(types.LOAD_SETTINGS);\n\nexport const clearSettings = createAction(types.SET_CLEAR_SETTINGS);\n\n\nexport const setSettingsFilter = createAction(types.SET_SETTINGS_FILTER);\nexport const setSettingsPage = createAction(types.SET_SETTINGS_PAGE);\nexport const setSettingsSort = createAction(types.SET_SETTINGS_SORT);\n\nexport const uploadFile = createAction(types.UPLOAD_FILE_MARK_CODES);\n\nexport const uploadFileAnyType = createAction(types.UPLOAD_FILE_ANY_TYPE);\n\nexport const downloadFile = createAction(types.DOWNLOAD_FILE);\nexport const setIsLoading = createBoolAction(types.SET_IS_LOADING);\nexport const saveLanguage = createBoolAction(types.SET_LANGUAGE);\n","import { makeCheckboxGroupFilter } from '@crpt-ui/datatable/lib/Filters/CheckboxGroupFilter';\nimport { makeDatepickerFilter } from '../../components/filters';\nimport { DefaultFilter } from '@crpt-ui/datatable/lib/Filters';\nimport { Translate } from '../../components/translate';\n\nexport const serialNumberTypes = [\n {\n label: Translate('Самостоятельно'),\n value: 'SELF_MADE',\n },\n {\n label: Translate('Автоматически'),\n value: 'OPERATOR',\n },\n];\n\nexport const filters = [\n {\n label: 'id',\n value: 'Номер документа',\n },\n\n {\n label: 'gtin',\n value: 'Код товара',\n },\n {\n label: 'type',\n value: 'Тип операции',\n },\n {\n label: 'event',\n value: 'Событие',\n },\n {\n label: 'status',\n value: 'Статус',\n },\n {\n label: 'productGroupMarkingIds',\n value: 'Товарная группа',\n },\n {\n label: 'createdAt',\n value: 'Дата создания',\n },\n {\n label: 'endAt',\n value: 'Дата окончания операции',\n },\n];\n\nexport const operationTypes = [\n { label: Translate('Заказ на эмиссию КМ'), value: 'MARK_CODE_ORDER' },\n { label: Translate('Трансгран'), value: 'TRANSGRAN_REGISTRATION' },\n { label: Translate('Нанесение'), value: 'MARKING' },\n // { label: Translate('Агрегация'), value: 'AGGREGATION' },\n // { label: Translate('Отмена трансграна'), value: 'CANCELLATION_OF_TRANSGRAN_REGISTRATION' },\n];\n\nexport const events = [\n { label: Translate('Отмена'), value: 'REJECT' },\n { label: Translate('Регистрация'), value: 'REGISTRATION' },\n { label: Translate('Приемка'), value: 'ACCEPTANCE' },\n];\n\nexport const statuses = [\n { label: Translate('Черновик'), value: 'DRAFT' },\n { label: Translate('Выполняется'), value: 'PROGRESS' },\n { label: Translate('Выполнена успешно'), value: 'ACCEPTED' },\n { label: Translate('Отклонена'), value: 'REJECTED' },\n];\n\nexport const GetHeader = (goodsGroupsList) => [\n {\n accessor: (row) => row.id,\n id: 'id',\n Header: Translate('Номер документа'),\n Filter: DefaultFilter,\n width: 180,\n },\n {\n accessor: (row) => row.operationType,\n id: 'operationType',\n Header: Translate('Тип операции'),\n Filter: makeCheckboxGroupFilter(operationTypes),\n width: 180,\n },\n {\n accessor: (row) => row.groupName,\n id: 'productGroupMarkingIds',\n Header: Translate('Товарная группа'),\n Filter: makeCheckboxGroupFilter(goodsGroupsList),\n },\n {\n accessor: (row) => row.creationDate,\n id: 'createdAt',\n Header: Translate('Дата создания'),\n Filter: makeDatepickerFilter(),\n width: 200,\n },\n {\n accessor: (row) => row.codeCount,\n id: 'kmsCount',\n Header: Translate('Количество КМ'),\n width: 150,\n },\n {\n accessor: (row) => row.event,\n id: 'lastEventType',\n Header: Translate('Событие'),\n width: 150,\n },\n {\n accessor: (row) => row.status,\n id: 'status',\n Header: Translate('Статус'),\n Filter: makeCheckboxGroupFilter(statuses),\n width: 160,\n },\n {\n accessor: (row) => row.endDate,\n id: 'endAt',\n Header: Translate('Дата окончания операции'),\n Filter: makeDatepickerFilter(),\n width: 260,\n },\n];\n\nexport const GetOperatorHeader = (goodsGroupsList) => [\n {\n accessor: (row) => row.id,\n id: 'id',\n Header: Translate('Номер документа'),\n Filter: DefaultFilter,\n width: 180,\n },\n {\n accessor: (row) => row.operationType,\n id: 'operationType',\n Header: Translate('Тип операции'),\n Filter: makeCheckboxGroupFilter(operationTypes),\n width: 180,\n },\n {\n accessor: (row) => row.groupName,\n id: 'productGroupMarkingIds',\n Header: Translate('Товарная группа'),\n Filter: makeCheckboxGroupFilter(goodsGroupsList),\n },\n {\n accessor: (row) => row.endDate,\n id: 'endAt',\n Header: Translate('Дата окончания операции'),\n Filter: makeDatepickerFilter(),\n width: 260,\n },\n {\n accessor: (row) => row.status,\n id: 'status',\n Header: Translate('Статус'),\n Filter: makeCheckboxGroupFilter(statuses),\n width: 160,\n },\n {\n accessor: (row) => row.participant.inn,\n id: 'participant.inn',\n Header: Translate('ИНН УОТ'),\n width: 260,\n },\n {\n accessor: (row) => row.participant.shortName,\n id: 'participant.shortName',\n Header: Translate('Краткое наименование УОТ'),\n width: 260,\n },\n {\n accessor: (row) => row.participant.status,\n id: 'participant.status',\n Header: Translate('Статус УОТ'),\n width: 260,\n },\n {\n accessor: (row) => row.createdBy,\n id: 'createdBy',\n Header: Translate('ФИО пользователя'),\n width: 260,\n },\n];\n","import { createAction } from './common';\nimport types from '../types';\n\nexport const loadMarkCodes = createAction(types.LOAD_CODES);\nexport const setMarkCodes = createAction(types.SET_CODES);\nexport const clearMarkCodes = createAction(types.CLEAR_CODES);\nexport const loadMarkCode = createAction(types.LOAD_CODE);\nexport const setMarkCode = createAction(types.SET_CODE);\nexport const loadMarkCodeHistory = createAction(types.LOAD_CODE_HISTORY);\nexport const setMarkCodesHistory = createAction(types.SET_CODE_HISTORY);\nexport const downloadMarkCodes = createAction(types.DOWNLOAD_MARK_CODES);\nexport const downloadMarkCodesUnloading = createAction(types.DOWNLOAD_MARK_CODES_UNLOADING);\nexport const printMarkCodes = createAction(types.PRINT_MARK_CODES_PDF);\nexport const downloadCodesFilter = createAction(types.DOWNLOAD_CODES_FILTER);\nexport const clearDownloadCodesFilter = createAction(types.CLEAR_DOWNLOAD_CODES_FILTER);\n","import React from 'react';\nimport LogoKZBig from '../../../assets/logos/logoBigKZ.jpg';\nimport LogoKZSmall from '../../../assets/logos/logoSmallKZ.jpg';\nimport LogoAM from '../../../assets/logos/logoAM.png';\nimport LogoSmallAM from '../../../assets/logos/logoSmallAM.png';\nimport LogoKGBig from '../../../assets/logos/logo.png';\nimport LogoKGSmall from '../../../assets/logos/logo_short.png';\nimport LogoUZ from '../../../assets/logos/logo.png';\nimport LogoRU from '../../../assets/logos/logo_ru.svg';\nimport LogoRUSmall from '../../../assets/logos/ru_small.svg';\n\nexport const Logo = ({ country }) => {\n switch (country) {\n case 'KZ': return (\"\");\n case 'AM': return (\"\");\n case 'KG': return (\"\");\n case 'RU': return (\"\");\n case 'UZ': return (\"\");\n default: return (\"\");\n }\n};\n\nexport const LogoShort = ({ country }) => {\n switch (country) {\n case 'KZ': return (\"\");\n case 'AM': return (\"\");\n case 'KG': return (\"\");\n case 'RU': return (\"\");\n case 'UZ': return (\"\");\n default: return (\"\");\n }\n};\n","export const YEARS_AFTER = 5;\nexport const START_YEAR = 1980;\n","import fp from 'lodash/fp';\nimport { put, call, select } from 'redux-saga/effects';\nimport { replace } from 'connected-react-router';\nimport API from '../api';\nimport { clearCurrentUser, setAuthData, setCurrentUser } from '../actions/auth';\nimport { addError } from '../actions/errors';\nimport { getAuthErrorText } from '../helpers/http';\nimport { checkPassword } from '../actions/users';\nimport { clearErrorSaga } from './index';\nimport { getCurrentUser } from './selectors';\nimport { history } from '../store';\nimport routes from '../routes';\n\nexport function storeTokens({ access_token, refresh_token, token_type } = {}) {\n localStorage.setItem('access_token', access_token || '');\n localStorage.setItem('refresh_token', refresh_token || '');\n localStorage.setItem('token_type', token_type || '');\n}\n\nexport function* logoutByBlockSaga() {\n yield storeTokens();\n yield put(setAuthData({ isNotAuth: true }));\n yield put(clearCurrentUser());\n yield history.push(routes.home());\n}\n\nexport function* loginSaga(action) {\n try {\n const json = yield API.rest.auth.signin(action.$payload.data);\n storeTokens(json);\n yield put(setAuthData({\n ...json,\n }));\n yield call(getCurrentUserSaga, {});\n yield call(clearErrorSaga);\n yield call(checkPasswordSaga);\n\n // action.$payload.onFinish();\n } catch (err) {\n const message = getAuthErrorText(err);\n yield put(addError({ response: { data: { message } } }));\n }\n}\n\nexport function* logoutSaga(action) {\n try {\n yield call(clearErrorSaga);\n yield API.rest.auth.signout(action.$payload.data);\n storeTokens();\n yield put(setAuthData({ isNotAuth: true }));\n yield put(clearCurrentUser());\n yield put(replace({ pathname: routes.home(), search: null }));\n } catch (err) {\n }\n}\n\nexport function* reconnectSaga(action) {\n try {\n // if(action?.$payload?.error?.response?.data?.error_description?.indexOf('Access token expired') === 0) {\n const json = yield API.rest.auth.reconnect(action.$payload);\n yield put(setAuthData({\n ...json,\n }));\n // yield put(action.$payload.onFinish);\n // }\n } catch (err) {\n }\n}\n\nexport function* checkAuthSaga(action) {\n try {\n const data = fp.omitBy(\n fp.isEmpty,\n {\n access_token: localStorage.getItem('access_token') || '',\n refresh_token: localStorage.getItem('refresh_token') || '',\n token_type: localStorage.getItem('token_type') || '',\n },\n );\n if (data.access_token) {\n yield API.rest.auth.check(data.access_token);\n\n yield put(setAuthData({\n ...data,\n }));\n yield call(getCurrentUserSaga, {});\n yield call(clearErrorSaga);\n action.$payload.onFinish(false);\n } else {\n yield put(setAuthData({ isNotAuth: true }));\n action.$payload.onFinish(true);\n }\n } catch (err) {\n yield put(setAuthData({ isNotAuth: true }));\n action.$payload.onFinish(true);\n }\n}\n\nexport function* getCurrentUserSaga({ $payload }) {\n try {\n const json = yield API.rest.users.current();\n yield put(setCurrentUser({\n ...json,\n }));\n $payload?.onFinish && $payload.onFinish();\n } catch (err) {\n yield put(addError(err));\n }\n}\n\nfunction* checkPasswordSaga() {\n try {\n const currentUser = yield select(getCurrentUser);\n const json = yield API.rest.users.checkPassword(currentUser.id);\n yield put(checkPassword({\n ...json,\n }));\n } catch (err) {\n yield put(addError(err));\n }\n}\n","import { createAction } from './common';\nimport types from '../types';\n\nexport const loadCountryDictionary = createAction(types.LOAD_COUNTRY_DICTIONARY);\nexport const setCountryDictionary = createAction(types.SET_COUNTRY_DICTIONARY);\n\nexport const loadTnvedDictionary = createAction(types.LOAD_TNVED_DICTIONARY);\nexport const setTnvedDictionary = createAction(types.SET_TNVED_DICTIONARY);\n\nexport const loadTnvedRootDictionary = createAction(types.LOAD_TNVED_ROOT_DICTIONARY);\nexport const setTnvedRootDictionary = createAction(types.SET_TNVED_ROOT_DICTIONARY);\n\nexport const loadProductTypeList = createAction(types.LOAD_PRODUCT_TYPES);\nexport const setProductTypeList = createAction(types.SET_PRODUCT_TYPES);\n\nexport const loadProductSubTypeList = createAction(types.LOAD_PRODUCT_SUB_TYPES);\nexport const setProductSubTypeList = createAction(types.SET_PRODUCT_SUB_TYPES);\n\nexport const loadProductGroupsOUDList = createAction(types.LOAD_PRODUCT_GROUPS_UOD_LIST);\nexport const setLoadProductGroupsOUDList = createAction(types.SET_PRODUCT_GROUPS_UOD_LIST);\nexport const clearProductGroupsOUDList = createAction(types.CLEAR_PRODUCT_GROUPS_UOD_LIST);\nexport const loadParticipantDictionary = createAction(types.LOAD_PARTICIPANT_DICTIONARY);\nexport const setDictSettings = createAction(types.SET_DICT_SETTINGS);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core';\nimport Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport ListItemText from '@material-ui/core/ListItemText';\nimport cn from 'classnames';\nimport { styles } from './DropDown.styles';\n\nconst DropDown = ({\n classes,\n items,\n renderButton,\n variant,\n horizontal,\n menuProps,\n}) => {\n const [anchorEl, setAnchorEl] = React.useState(null);\n\n const handleClick = (event) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n return (\n
\n {React.createElement(renderButton, {\n onClick: handleClick,\n active: anchorEl,\n })}\n \n {items\n && items.map((item, index) => (item.component ? item.component\n : (\n item.onClick(handleClose, e)}\n className={\n cn({\n [classes.menuItemDefault]: !variant || variant === 'default',\n [classes.menuItemMenu]: variant === 'menu',\n [classes.menuItemCurrent]: item.current,\n })\n }\n key={index}\n >\n {item.current\n && }\n \n \n )))}\n \n
\n );\n};\n\nDropDown.propTypes = {\n items: PropTypes.array,\n classes: PropTypes.object.isRequired,\n menuProps: PropTypes.object,\n renderButton: PropTypes.func,\n variant: PropTypes.oneOf(['menu', 'default']),\n horizontal: PropTypes.oneOf(['center', 'left', 'right']),\n};\n\nDropDown.defaultProps = {\n items: [],\n classes: {},\n variant: 'default',\n horizontal: 'center',\n};\n\nexport default React.memo(withStyles(styles)(DropDown));\n","export const styles = (theme) => ({\n menu: {\n '& .MuiMenu-paper': {\n borderRadius: '0px 0px 0px 3px',\n minWidth: '50px !important',\n width: '50px',\n boxShadow: '0px 7px 8px rgba(0, 0, 0, 0.11)',\n '& .MuiList-padding': {\n padding: 0,\n },\n },\n },\n menuItemDefault: {\n position: 'relative',\n paddingTop: 7,\n paddingBottom: 7,\n paddingLeft: 3,\n paddingRight: 3,\n textAlign: 'center',\n fontSize: 14,\n '&:focus': {\n backgroundColor: theme.palette.primary.main,\n },\n },\n menuItemMenu: {\n position: 'relative',\n paddingTop: 3,\n paddingBottom: 3,\n height: 60,\n lineHeight: '60px',\n borderBottom: '1px solid #F2F2F2',\n '& .MuiListItemIcon-root, & .MuiListItemText-primary': {\n fontSize: 12,\n fontWeight: 700,\n lineHeight: '16px',\n display: 'inline-block',\n verticalAlign: 'middle',\n textTransform: 'uppercase',\n },\n '&:focus': {\n backgroundColor: theme.palette.primary.main,\n },\n },\n listIcon: {\n marginRight: 10,\n },\n menuItemCurrent: {\n cursor: 'default',\n '&:hover': {\n backgroundColor: '#fff',\n },\n },\n menuItemDot: {\n right: 15,\n width: 4,\n height: 4,\n position: 'absolute',\n background: '#60E84A',\n borderRadius: '50%',\n },\n});\n","/* eslint-disable */\nimport React, {useEffect, useState} from \"react\";\nimport './index.scss';\nimport {useTranslation} from \"react-i18next\";\nimport {useDispatch, useSelector} from \"react-redux\";\nimport {saveLanguage} from \"../../actions/common\";\nimport {ExpandMore} from \"@material-ui/icons\";\nimport DropDown from \"../DropDown/DropDown\";\n\nexport const LanguageSwitcher = () => {\n const [language, setLanguage] = useState('am');\n const [t, i18n] = useTranslation();\n const dispatch = useDispatch();\n const country = useSelector((state) => state?.settings?.common?.countryCode);\n\n useEffect(() => {\n const lang = country === 'AM' ? 'am' : 'ru';\n const language = localStorage.getItem('language') || lang;\n changeLanguage(language);\n },[]);\n\n const changeLanguage = (lang) => {\n i18n.changeLanguage(lang);\n setLanguage(lang);\n dispatch(saveLanguage(lang));\n localStorage.setItem('language', lang);\n };\n\n const btn = (props) =>\n ;\n\n const items = [\n {\n title: 'RU',\n onClick: (close) => {\n changeLanguage('ru');\n close();\n },\n },\n {\n title: 'AM',\n onClick: (close) => {\n changeLanguage('am');\n close();\n },\n }];\n\n return country === 'AM' ? (\n
\n \n
\n ) : (<>)\n};\n","import { createAction } from './common';\nimport types from '../types';\n\nexport const chooseOperationType = createAction(types.CHOOSE_OPERATION_TYPE);\nexport const setOperationType = createAction(types.SET_OPERATION_TYPE);\nexport const createOperation = createAction(types.CREATE_OPERATION);\nexport const createMarkingOperation = createAction(types.CREATE_MARKING_OPERATION);\nexport const createMarkCodeOrderOperation = createAction(types.CREATE_MARK_ORDER_OPERATION);\nexport const setOperation = createAction(types.SET_OPERATION);\nexport const loadOperation = createAction(types.LOAD_OPERATION);\nexport const loadOperations = createAction(types.LOAD_OPERATIONS);\nexport const setOperations = createAction(types.SET_OPERATIONS);\nexport const loadOperationHistory = createAction(types.LOAD_OPERATION_HISTORY);\nexport const setOperationHistory = createAction(types.SET_OPERATION_HISTORY);\nexport const cancelTransgran = createAction(types.CANCEL_TRANSGRAN);\nexport const downloadXlsx = createAction(types.DOWNLOAD_XLSX);\n\n\n","import React from 'react';\nimport { Translation, Trans } from 'react-i18next';\n\nexport const Translate = (text) => {\n const preparedText = text ? text.replace(/:/g, '**') : '';\n return (\n {(t) => {preparedText}}\n );\n};\n","import { DefaultFilter } from '@crpt-ui/datatable/lib/Filters';\nimport { makeCheckboxGroupFilter } from '@crpt-ui/datatable/lib/Filters/CheckboxGroupFilter';\nimport { Link } from '@crpt-ui/core';\nimport React from 'react';\nimport { makeDatepickerFilter } from '../../components/filters';\nimport { Translate } from '../../components/translate';\nimport { history } from '../../store';\nimport routes from '../../routes';\n\nexport const statuses = [\n { label: 'Эмитирован', value: 'ISSUED' },\n { label: 'Регистрация нанесения', value: 'MARK_REGISTRATION' },\n { label: 'Нанесен/не оплачен', value: 'MARKED' },\n { label: 'Нанесен', value: 'PAYED' },\n { label: 'Регистрация трансграна', value: 'IMPORT_REGISTRATION' },\n { label: 'Трансгран', value: 'IMPORT' },\n { label: 'Экспортирован', value: 'EXPORT' },\n { label: 'Списан', value: 'WRITTEN_OFF' },\n { label: 'Расформирован', value: 'DISAGGREGATED' },\n];\n\nexport const operationTypes = [\n { label: 'Заказ на эмиссию КМ', value: 'MARK_CODE_ORDER' },\n { label: 'Трансгран', value: 'TRANSGRAN_REGISTRATION' },\n { label: 'Нанесение', value: 'MARKING' },\n];\nexport const filters = [\n { label: 'status', value: 'Статус' },\n { label: 'serialNumber', value: 'Серийный номер' },\n { label: 'gtin', value: 'GTIN' },\n { label: 'operationType', value: 'Тип операции' },\n { label: 'dateCreate', value: 'Дата и время получения' },\n // { label: 'productSubgroupIds', value: 'Товарная группа' },\n { label: 'productGroupIds', value: 'Товарная группа' },\n { label: 'subGroupCode', value: 'Тип' },\n { label: 'parentMarkingCode', value: 'Родительский код маркировки' },\n\n];\n\nexport const fileTypes = [\n { label: Translate('PDF файл'), value: 'PDF' },\n { label: Translate('CSV файл'), value: 'CSV' },\n];\n\nexport const fileTypesOnlyCSV = [\n { label: Translate('CSV файл'), value: 'CSV' },\n];\n\n\nexport const templates = [\n // { label: Translate('Data matrix код - горизонтальный'), value: 'datamatrix_landscape' },\n // { label: Translate('Data matrix код - горизонтальный с описанием товара'), value: 'datamatrix_landscape_full_info' },\n { label: Translate('Data matrix код - вертикальный'), value: 'datamatrix_portrait' },\n\n];\n\n\nexport const templatesShoes = [\n // { label: Translate('Data matrix код - горизонтальный'), value: 'datamatrix_landscape' },\n { label: Translate('Data matrix код - вертикальный'), value: 'datamatrix_portrait' },\n { label: Translate('Data matrix код - горизонтальный с описанием товара'), value: 'datamatrix_landscape_full_info' },\n\n]\n\nexport const tabs = [\n { label: Translate('Общая информация') },\n { label: Translate('История') },\n];\n\nexport const aggregatedTabs = [\n { label: Translate('Общая информация') },\n { label: Translate('Состав агрегата') },\n { label: Translate('История') },\n];\n\nexport const aggregateHeaders = [\n {\n accessor: (row) => row.gtin,\n id: 'gtin',\n Header: Translate('GTIN'),\n width: 170,\n },\n {\n accessor: (row) => row.code,\n id: 'code',\n Header: Translate('Код'),\n },\n {\n accessor: (row) => row.serialNumber,\n id: 'serialNumber',\n Header: Translate('Серийный номер'),\n width: 170,\n },\n {\n accessor: (row) => row?.group?.name,\n id: 'productGroupIds',\n Header: Translate('Товарная группа'),\n width: 260,\n },\n {\n accessor: (row) => row?.markingCodeLevel?.name,\n id: 'subGroupCode',\n Header: Translate('Тип'),\n width: 170,\n },\n {\n accessor: (row) => row.status,\n id: 'status',\n Header: Translate('Статус'),\n width: 130,\n },\n {\n accessor: (row) => row.receivingDate,\n id: 'dateCreate',\n Header: Translate('Дата и время получения'),\n width: 200,\n },\n {\n accessor: (row) => row.country,\n id: 'country',\n Header: Translate('Страна'),\n width: 130,\n },\n];\n\nexport const headers = (productsTypeList) => [\n {\n accessor: (row) => row.gtin,\n id: 'gtin',\n Header: Translate('GTIN'),\n width: 170,\n Filter: DefaultFilter,\n },\n {\n accessor: (row) => row.code,\n id: 'code',\n Header: Translate('Код'),\n width: 280,\n },\n {\n accessor: (row) => row.serialNumber,\n id: 'serialNumber',\n Header: Translate('Серийный номер'),\n Filter: DefaultFilter,\n width: 170,\n },\n {\n accessor: (row) => row?.group?.name,\n id: 'productGroupIds',\n Header: Translate('Товарная группа'),\n width: 260,\n Filter: makeCheckboxGroupFilter(\n productsTypeList?.map(((SoloList) => ({ label: SoloList.label, value: SoloList.value }))),\n ),\n },\n {\n accessor: (row) => row?.markingCodeLevel?.name,\n id: 'subGroupCode',\n Header: Translate('Тип'),\n width: 170,\n },\n {\n accessor: (row) => row.status,\n id: 'status',\n Header: Translate('Статус'),\n Filter: makeCheckboxGroupFilter(statuses),\n width: 130,\n },\n {\n accessor: (row) => row.parentMarkingCode,\n id: 'parentMarkingCode',\n Header: Translate('Родительский код маркировки'),\n // Filter: DefaultFilter,\n width: 260,\n },\n {\n accessor: (row) => row.receivingDate,\n id: 'dateCreate',\n Header: Translate('Дата и время получения'),\n Filter: makeDatepickerFilter(),\n width: 330,\n },\n {\n accessor: (row) => row.country,\n id: 'country',\n Header: Translate('Страна'),\n width: 130,\n },\n];\n\n\nexport const inOperationHeaders = (productsTypeList, filter = false) => [\n {\n accessor: (row) => row.gtin,\n id: 'gtin',\n Header: Translate('GTIN'),\n width: 170,\n Filter: filter ? DefaultFilter : null,\n },\n {\n accessor: (row) => row.code,\n id: 'code',\n Header: Translate('Код'),\n width: 280,\n },\n {\n accessor: (row) => row.serialNumber,\n id: 'serialNumber',\n Header: Translate('Серийный номер'),\n Filter: filter ? DefaultFilter : null,\n width: 170,\n },\n {\n accessor: (row) => row?.productGroup,\n id: 'productGroup',\n Header: Translate('Товарная группа'),\n width: 260,\n Filter: filter ? makeCheckboxGroupFilter(\n productsTypeList?.map(((SoloList) => ({ label: SoloList.label, value: SoloList.value }))),\n ) : null,\n },\n {\n accessor: (row) => row?.packageLevel,\n id: 'packageLevel',\n Header: Translate('Тип'),\n width: 170,\n },\n {\n accessor: (row) => row?.status,\n id: 'status',\n Header: Translate('Статус'),\n Filter: filter ? makeCheckboxGroupFilter(statuses) : null,\n width: 130,\n },\n {\n accessor: (row) => row?.parent,\n id: 'parent',\n Header: Translate('Родительский код маркировки'),\n Filter: filter ? DefaultFilter : null,\n width: 260,\n },\n {\n accessor: (row) => row?.createdAt,\n id: 'createdAt',\n Header: Translate('Дата и время получения'),\n Filter: filter ? makeDatepickerFilter() : null,\n width: 330,\n },\n {\n accessor: (row) => row.country,\n id: 'country',\n Header: Translate('Страна'),\n width: 130,\n },\n];\n\nexport const historyHeaders = [\n {\n accessor: (row) => row.startStatus,\n id: 'startStatus',\n Header: Translate('Начальный статус КМ'),\n },\n {\n accessor: (row) => row.finishStatus,\n id: 'finishStatus',\n Header: Translate('Итоговый статус КМ'),\n },\n {\n accessor: (row) => row.changeDate,\n id: 'changeDate',\n Header: Translate('Дата и время изменения'),\n },\n {\n accessor: (row) => row.operationType,\n id: 'operationType',\n Header: Translate('Тип операции'),\n Filter: makeCheckboxGroupFilter(operationTypes),\n },\n {\n accessor: (row) => row.operation,\n id: 'operation',\n Cell: ({ cell }) => (\n \n {\n cell.value\n ? (\n {\n e.preventDefault();\n e.stopPropagation();\n history.push(routes.operations(cell.value));\n }}\n >\n Операция\n \n )\n : (<>-)\n }\n \n ),\n Header: Translate('Операция'),\n },\n];\n","export * from './RangeDatepickerFilter';\nexport * from './DatepickerFilter';\n","import React from 'react';\n\nexport const datepickerContextDefaultValue = {\n focusedDate: null,\n isDateFocused: () => false,\n isDateSelected: () => false,\n isDateHovered: () => false,\n isDateBlocked: () => false,\n onDateFocus: () => {},\n onDateHover: () => {},\n onDateSelect: () => {},\n};\n\nexport default React.createContext(datepickerContextDefaultValue);\n","import { createAction } from './common';\r\nimport types from '../types';\r\n\r\n\r\nexport const sendEmailReset = createAction(types.SEND_EMAIL_RESET);\r\nexport const setEmail = createAction(types.SET_EMAIL);\r\nexport const updatePassword = createAction(types.UPDATE_PASSWORD);","import { put } from 'redux-saga/effects';\nimport moment from 'moment';\nimport {\n setParticipant,\n setParticipants,\n updateParticipants,\n updateParticipantsAfterCreate,\n} from '../actions/participants';\nimport { loadAccountsBalance } from '../actions/accounts';\nimport API from '../api';\nimport { setIsLoading, setSettings } from '../actions/common';\nimport { addError } from '../actions/errors';\n\nexport function* loadParticipantsSaga(action) {\n try {\n yield put(setIsLoading(true));\n const json = yield API.rest.participants.list(action.$payload);\n const settings = {\n // eslint-disable-next-line max-len\n page: action.$payload.page, size: action.$payload.size, totalPages: json.totalPages, totalElements: json.totalElements,\n };\n yield put(setParticipants({ ...json }));\n yield put(setSettings({ ...settings }));\n yield put(setIsLoading(false));\n } catch (err) {\n yield put(setIsLoading(false));\n yield put(addError(err));\n }\n}\n\nexport function* loadParticipantSaga(action) {\n try {\n yield put(setIsLoading(true));\n const json = yield API.rest.participants.item(action.$payload.id);\n yield put(setParticipant({\n ...json,\n }));\n if (json?.account?.id) {\n yield put(loadAccountsBalance({ id: json.account.id, page: 0 }));\n }\n yield put(setIsLoading(false));\n } catch (err) {\n yield put(setIsLoading(false));\n yield put(addError(err));\n }\n}\n\nexport function* createParticipantSaga(action) {\n try {\n const json = yield API.rest.participants.create(action.$payload.data);\n yield put(updateParticipantsAfterCreate({\n ...json,\n }));\n if (json?.id) {\n action.$payload.onFinishRequest(json.id);\n }\n //\n } catch (err) {\n yield put(addError(err));\n }\n}\n\nexport function* updateParticipantSaga(action) {\n try {\n const json = yield API.rest.participants.update(action.$payload.data);\n yield put(updateParticipants({\n ...json,\n }));\n yield put(setParticipant({\n ...json,\n }));\n action.$payload.onFinishRequest(json.id);\n } catch (err) {\n yield put(addError(err));\n }\n}\n\nexport function* patchParticipantSaga(action) {\n try {\n const json = yield API.rest.participants.patch(action.$payload.data);\n yield put(setParticipant({\n ...json,\n }));\n action.$payload.onFinishRequest(json.id);\n } catch (err) {\n yield put(addError(err));\n }\n}\n\nexport function* getCSVSaga(action) {\n try {\n const date = moment().format('YYYYMMDDHHmmss');\n const fileName = `_download_${date}.csv_`;\n const json = yield API.rest.accounts.csv(action.$payload.id, action.$payload.query, fileName);\n yield put(updateParticipantsAfterCreate({\n ...json,\n }));\n if (json?.id) {\n action.$payload.onFinishRequest(json.id);\n }\n //\n } catch (err) {\n yield put(addError(err));\n }\n}\n\nexport function* downloadParticipantXlsxSaga({ $payload }) {\n try {\n yield API.rest.participants.xlsx($payload.data);\n $payload.onFinish();\n } catch (err) {\n $payload.onFinish();\n yield put(addError({ response: { data: err.data } }));\n }\n}\n","import { put } from 'redux-saga/effects';\nimport {\n setPasswordError,\n setUser,\n setUsers,\n updateUsers,\n updateUsersAfterCreate,\n} from '../actions/users';\nimport API from '../api';\nimport { setIsLoading, setSettings } from '../actions/common';\nimport { addError } from '../actions/errors';\n\nexport function* loadUsersSaga(action) {\n try {\n yield put(setIsLoading(true));\n const json = yield API.rest.users.list(action.$payload);\n const settings = {\n page: action.$payload.page,\n size: action.$payload.size,\n totalPages: json.totalPages,\n totalElements: json.totalElements,\n };\n yield put(setUsers({ ...json }));\n yield put(setSettings({ ...settings }));\n yield put(setIsLoading(false));\n } catch (err) {\n yield put(setIsLoading(false));\n // if (err?.response?.data?.error_description?.indexOf('Access token expired') === 0) {\n // yield put(reconnect({\n // onFinish: loadUsers({ ...action.$payload }),\n // error: err,\n // }));\n // }\n // yield put(addError(err));\n }\n}\n\nexport function* loadUserSaga(action) {\n try {\n yield put(setIsLoading(true));\n const json = yield API.rest.users.item(action.$payload.id);\n yield put(setUser({\n ...json,\n }));\n yield put(setIsLoading(false));\n action.$payload.onFinish(json);\n } catch (err) {\n yield put(setIsLoading(false));\n const e = err;\n console.warn(err);\n yield put(addError(e));\n }\n}\n\nexport function* createUserSaga(action) {\n try {\n const json = yield API.rest.users.create(action.$payload.body);\n yield put(updateUsersAfterCreate({\n ...json,\n }));\n yield put(setUser({\n ...json,\n }));\n action.$payload.closeFormFunc();\n } catch (err) {\n yield put(addError(err));\n }\n}\n\nexport function* updateUserSaga(action) {\n try {\n const json = yield API.rest.users.update(action.$payload.data);\n yield put(updateUsers({\n ...json,\n }));\n yield put(setUser({\n ...json,\n }));\n action.$payload.closeFormFunc();\n } catch (err) {\n yield put(addError(err));\n }\n}\n\nexport function* patchUserSaga(action) {\n try {\n yield put(setPasswordError(null));\n const json = yield API.rest.users.patch(action.$payload.data);\n yield put(setUser({\n ...json,\n }));\n action.$payload.closeFormFunc();\n } catch (err) {\n yield put(setPasswordError(err.response.data.message));\n // yield put(addError(err));\n }\n}\n","import { put } from 'redux-saga/effects';\nimport {\n setOperation,\n setOperationHistory,\n setOperations,\n setOperationType,\n} from '../actions/operations';\nimport API from '../api';\nimport { addError } from '../actions/errors';\nimport { setIsLoading, setSettings, setSettingsHistory } from '../actions/common';\n\nexport function* setOperationTypeSaga(action) {\n try {\n yield put(setOperationType(action.$payload.data));\n action.$payload.onFinish();\n } catch (err) {\n yield put(addError(err));\n }\n}\n\nexport function* createOperationSaga(action) {\n try {\n const json = yield API.rest.operations.create(action.$payload.data);\n action.$payload.onFinish(json.id, true);\n } catch (err) {\n const shouldDisable = err?.response?.data?.status === 504;\n action.$payload.onFinish(false, !shouldDisable);\n yield put(addError(err));\n }\n}\n\nexport function* createMarkingOperationSaga(action) {\n try {\n const json = yield API.rest.markCodes.marking(action.$payload.data);\n action.$payload.onFinish(json.operationId);\n } catch (err) {\n yield put(addError(err));\n }\n}\n\nexport function* createMarkCodeOrderOperationSaga(action) {\n try {\n const json = yield API.rest.markCodes.create(action.$payload.data);\n action.$payload.onFinish(json.operationId);\n } catch (err) {\n yield put(addError(err));\n }\n}\n\nexport function* loadOperationsSaga(action) {\n try {\n yield put(setIsLoading(true));\n const json = yield API.rest.operations.list(action.$payload);\n const settings = {\n // eslint-disable-next-line max-len\n page: action.$payload.page, size: action.$payload.size, totalPages: json.totalPages, totalElements: json.totalElements,\n };\n yield put(setOperations({ ...json }));\n yield put(setSettings({ ...settings }));\n yield put(setIsLoading(false));\n } catch (err) {\n yield put(setIsLoading(false));\n yield put(addError(err));\n }\n}\n\nexport function* loadOperationSaga(action) {\n try {\n yield put(setIsLoading(true));\n const json = yield API.rest.operations.item(action.$payload.id);\n yield put(setOperation({ ...json }));\n yield put(setIsLoading(false));\n action.$payload.onFinish();\n } catch (err) {\n yield put(setIsLoading(false));\n yield put(addError(err));\n }\n}\n\nexport function* loadOperationHistorySaga(action) {\n try {\n // eslint-disable-next-line max-len\n const json = yield API.rest.operations.history(action.$payload.operationId, action.$payload.query);\n const settingsHistory = {\n // eslint-disable-next-line max-len\n page: action.$payload.query.page, size: action.$payload.query.size, totalPages: json.totalPages, totalElements: json.totalElements,\n };\n yield put(setOperationHistory({ ...json }));\n yield put(setSettingsHistory({ ...settingsHistory }));\n\n } catch (err) {\n const settingsHistory = {\n page: 0, size: action.$payload.query.size, totalPages: 0, totalElements: 0,\n };\n yield put(setSettingsHistory({ ...settingsHistory }));\n yield put(addError(err));\n }\n}\n\nexport function* createAggregationSaga(action) {\n try {\n const json = yield API.rest.operations.create(action.$payload.data);\n action.$payload.onFinish(json.id, true);\n } catch (err) {\n const shouldDisable = err?.response?.data?.status === 504;\n action.$payload.onFinish(false, !shouldDisable);\n yield put(addError(err));\n }\n}\n\nexport function* cancelTransgranSaga(action) {\n try {\n const json = yield API.rest.operations.create(action.$payload.body);\n yield put(setOperation({ ...json }));\n\n action.$payload.onFinish(json.id);\n } catch (err) {\n action.$payload.onFinish();\n action.$payload.onFinish(false);\n yield put(addError(err));\n }\n}\n\nexport function* cancelAggregationSaga(action) {\n try {\n const json = yield API.rest.operations.cancelAggregation(action.$payload);\n yield put(setOperation({ ...json }));\n } catch (err) {\n action.$payload.onFinish();\n yield put(addError(err));\n }\n}\n\nexport function* downloadXlsxSaga(action) {\n try {\n yield API.rest.operations.xlsx(action.$payload);\n } catch (err) {\n yield put(addError({ response: { data: err.data } }));\n }\n}\n","import { put } from 'redux-saga/effects';\nimport { push, replace } from 'connected-react-router';\nimport API from '../api';\nimport { addError } from '../actions/errors';\nimport types from '../types';\nimport {\n setCommonSettings,\n} from '../actions/common';\n\nexport function* uploadFileSaga(action) {\n try {\n const json = yield API.rest.files.uploadFile([...action.$payload.data.files], '', action.$payload.query, action.$payload.type);\n action.$payload.onFinish(json);\n } catch (err) {\n action.$payload.onFinish();\n yield put(addError(err));\n }\n}\n\nexport function* uploadFileAnyTypeSaga(action) {\n try {\n const json = yield API.rest.files.uploadFileToAnyType([...action.$payload.data], '', action.$payload.query, action.$payload.type);\n action.$payload.onFinish(json);\n } catch (err) {\n yield put(addError(err));\n action.$payload.onError(err);\n }\n}\n\nexport function* downloadFileSaga(action) {\n try {\n const json = yield API.rest.files.upload(...action.$payload.data, '');\n action.$payload.onFinish(json);\n } catch (err) {\n yield put(addError(err));\n }\n}\n\nexport function* redirectToSaga(action) {\n const { pathname, method, search } = action.$payload;\n if (pathname) {\n yield put(addError({ response: { data: { error_description: 'Недостаточно прав!' } } }));\n switch (method) {\n case (types.redirectMethods.replace):\n yield put(replace({ pathname, search }));\n break;\n case (types.redirectMethods.push):\n default:\n yield put(push({ pathname, search }));\n }\n } else {\n throw new ReferenceError('please specify url link');\n }\n}\n\nexport function* setErrorSaga(action) {\n try {\n yield put(addError(action.$payload));\n } catch (err) {\n yield put(addError(err));\n }\n}\n\nexport function* loadSettingsSaga(action) {\n try {\n const json = yield API.rest.settings.list();\n yield put(setCommonSettings({ ...json }));\n action.$payload.onFinish(json);\n } catch (err) {\n action.$payload.onFinish(null);\n yield put(addError(err));\n }\n}\n","import { put } from 'redux-saga/effects';\nimport API from '../api';\nimport { addError } from '../actions/errors';\n\nimport {\n setCountryDictionary,\n setTnvedDictionary, setTnvedRootDictionary,\n setProductTypeList,\n setProductSubTypeList,\n setLoadProductGroupsOUDList, setDictSettings,\n} from '../actions/dictionaries';\nimport { setSettings } from '../actions/common';\nimport { setParticipants } from '../actions/participants';\n\nexport function* loadCountriesDictionarySaga(action) {\n try {\n const json = yield API.rest.dictionaries.countries(action.$payload);\n yield put(setCountryDictionary({ ...json }));\n } catch (err) {\n yield put(addError(err));\n }\n}\n\nexport function* loadTnvedDictionarySaga(action) {\n try {\n const json = yield API.rest.dictionaries.tnved(action.$payload.data);\n const settings = {\n page: action.$payload.data.page, size: action.$payload.data.size, totalPages: json.totalPages, totalElements: json.totalElements,\n };\n yield put(setSettings({ ...settings }));\n yield put(setTnvedDictionary({ ...json }));\n } catch (err) {\n yield put(addError(err));\n }\n}\n\nexport function* loadTnvedRootDictionarySaga(action) {\n try {\n const json = yield API.rest.dictionaries.rootTnved();\n yield put(setTnvedRootDictionary({ ...json }));\n } catch (err) {\n yield put(addError(err));\n }\n}\n\nexport function* loadProductTypesList() {\n try {\n const json = yield API.rest.dictionaries.productTypes();\n yield put(setProductTypeList(json));\n } catch (err) {\n yield put(addError(err));\n }\n}\n\nexport function* loadProductSubTypesList() {\n try {\n const json = yield API.rest.dictionaries.productSubTypes();\n yield put(setProductSubTypeList(json));\n } catch (err) {\n yield put(addError(err));\n }\n}\n// loadProductGroupsOUDList\nexport function* loadProductGroupsOUDListSaga(action) {\n try {\n const json = yield API.rest.dictionaries.roductGroupsOUDList({\n countryId: action.$payload.countryId,\n });\n yield put(setLoadProductGroupsOUDList(json));\n } catch (err) {\n yield put(addError(err));\n }\n}\n\nexport function* loadParticipantsDictSaga(action) {\n try {\n const json = yield API.rest.participants.list(action.$payload);\n yield put(setParticipants({ ...json }));\n yield put(setDictSettings({ totalPages: json.totalPages }));\n } catch (err) {\n yield put(addError(err));\n }\n}\n","import { put } from 'redux-saga/effects';\nimport API from '../api';\nimport { addError } from '../actions/errors';\nimport { setIsLoading, setSettings } from '../actions/common';\nimport {\n getGoodCard,\n getGoodCardProperyValues,\n setClearProduct,\n setGoodCardAttributeList,\n setGoodCardAttributeUnitList,\n setGoodCardProperties,\n setGoods,\n setProduct,\n} from '../actions/goods';\n\nexport function* loadGoodsSaga(action) {\n try {\n yield put(setIsLoading(true));\n const json = yield API.rest.products.list(action.$payload.data);\n const settings = {\n page: action.$payload.data.page, size: action.$payload.data.size, totalPages: json.totalPages, totalElements: json.totalElements,\n };\n yield put(setGoods({ ...json }));\n yield put(setSettings({ ...settings }));\n yield put(setIsLoading(false));\n action.$payload.onFinish(json.content);\n } catch (err) {\n yield put(setIsLoading(false));\n yield put(addError(err));\n }\n}\n\nexport function* loadProductSaga(action) {\n try {\n yield put(setIsLoading(true));\n const json = yield API.rest.products.item(action.$payload.id);\n yield put(setProduct({\n data: {\n ...json,\n },\n type: action.$payload.type,\n }));\n yield put(setIsLoading(false));\n yield put(getGoodCard(json.tnved.productSubgroup.id));\n action.$payload.onFinish(json);\n } catch (err) {\n yield put(setIsLoading(false));\n yield put(addError(err));\n }\n}\n\nexport function* createProductSaga(action) {\n try {\n const json = yield API.rest.products.create(action.$payload.data);\n action.$payload.onFinish(json.id);\n } catch (err) {\n if (err.response.status === 302) {\n yield put(addError({ response: { data: { error_description: `В системе уже есть товар с gtin ${err.response.data.gtin}` } } }));\n action.$payload.onFinish(err.response.data.id);\n } else {\n yield put(addError(err));\n }\n }\n}\n\nexport function* updateProductSaga(action) {\n try {\n const json = yield API.rest.products.update(action.$payload.data);\n action.$payload.onFinish(json.id);\n } catch (err) {\n yield put(addError(err));\n }\n}\n\nexport function* patchProductSaga(action) {\n try {\n const json = yield API.rest.products.patch(action.$payload.data);\n yield put(setProduct({\n data: {\n ...json,\n },\n type: 'view',\n }));\n action.$payload.onFinish(json);\n } catch (err) {\n yield put(addError(err));\n }\n}\n\nexport function* clearProductSaga() {\n try {\n yield put(setClearProduct({}));\n } catch (err) {\n yield put(addError(err));\n }\n}\n\nexport function* getGoodCardSaga(action) {\n try {\n const json = yield API.rest.goodsCard.getAllCard(action.$payload);\n yield put(setGoodCardProperties(json));\n yield put(getGoodCardProperyValues(json));\n\n // action.$payload.onFinish(json.id);\n } catch (err) {\n yield put(addError(err));\n }\n}\n\nexport function* getSoloGoodCardPropertyValuesSaga(action) {\n try {\n let AttributesValuesArray = [];\n let AttributesUnitsArray = [];\n for (let i = 0; i < action.$payload.length; i += 1) {\n if (action.$payload[i].attributeType.code) {\n let json = yield API.rest.goodsCard.getSoloPropertyValues(action.$payload[i].attributeType.code);\n let AttributeUnitJson = yield API.rest.goodsCard.getSoloPropertyValueUnits(action.$payload[i].attributeType.id);\n if (json.length > 0) {\n yield AttributesValuesArray.push({\n attributeCode: action.$payload[i].attributeType.code,\n attributeValues: json,\n });\n }\n if (AttributeUnitJson.length > 0) {\n yield AttributesUnitsArray.push({\n attributeCode: action.$payload[i].attributeType.code,\n attributeUnits: AttributeUnitJson,\n });\n }\n }\n }\n yield put(setGoodCardAttributeList(AttributesValuesArray));\n yield put(setGoodCardAttributeUnitList(AttributesUnitsArray));\n\n // const json = yield API.rest.goodsCard.getSoloCard(action.$payload);\n // action.$payload.onFinish(json.id);\n } catch (err) {\n yield put(addError(err));\n }\n}\n","import {put} from 'redux-saga/effects';\nimport API from '../api';\nimport {reconnect} from '../actions/auth';\nimport {setIsLoading, setSettings} from '../actions/common';\nimport {addError} from '../actions/errors';\nimport {\n clearMarkCodes,\n setMarkCode,\n setMarkCodes,\n setMarkCodesHistory,\n} from '../actions/mark-codes';\n\nexport function* loadMarkCodesSaga(action) {\n try {\n yield put(setIsLoading(true));\n let json;\n if (action.$payload.isShort) {\n json = yield API.rest.operations.markCodes(action.$payload.operationId, action.$payload.query);\n } else {\n yield put(setIsLoading(true));\n json = yield API.rest.markCodes.list(action.$payload.query);\n }\n const settings = {\n page: action.$payload.query.page,\n size: action.$payload.query.size,\n totalPages: json.totalPages,\n totalElements: json.totalElements,\n };\n yield put(setMarkCodes({...json, isShort: action.$payload.isShort}));\n yield put(setSettings({...settings}));\n yield put(setIsLoading(false));\n } catch (err) {\n yield put(setIsLoading(false));\n const settings = {\n page: 0, size: action.$payload.query.size, totalPages: 0, totalElements: 0,\n };\n yield put(setSettings({...settings}));\n yield put(addError(err));\n }\n}\n\nexport function* clearMarkCodesSaga() {\n try {\n yield put(setMarkCodes([]));\n } catch (err) {\n if (err?.response?.data?.error_description?.indexOf('Access token expired') === 0) {\n yield put(reconnect({\n onFinish: clearMarkCodes(),\n error: err,\n }));\n }\n yield put(addError(err));\n }\n}\n\nexport function* loadMarkCodeSaga(action) {\n try {\n yield put(setIsLoading(true));\n const json = yield API.rest.markCodes.item(action.$payload.id);\n yield put(setMarkCode({...json}));\n yield put(setIsLoading(false));\n action.$payload.onFinish();\n } catch (err) {\n yield put(setIsLoading(false));\n yield put(addError(err));\n }\n}\n\nexport function* loadMarkCodeHistorySaga(action) {\n try {\n const json = yield API.rest.markCodes.history(action.$payload.markCodeId, action.$payload.query);\n const settings = {\n page: action.$payload.query.page,\n size: action.$payload.query.size,\n totalPages: json.totalPages,\n totalElements: json.totalElements,\n };\n yield put(setMarkCodesHistory({...json}));\n yield put(setSettings({...settings}));\n } catch (err) {\n const settings = {\n page: 0, size: action.$payload.query.size, totalPages: 0, totalElements: 0,\n };\n yield put(setSettings({...settings}));\n yield put(addError(err));\n }\n}\n\nexport function* downloadMarkCodesCsv(action) {\n try {\n const data = yield API.rest.markCodes.csv(action.$payload.data);\n action.$payload.onFinish(data);\n } catch (err) {\n yield put(addError({response: {data: err.data}}));\n action.$payload.onFinish(true);\n }\n}\n\nexport function* UnloadingMarkCodesCsv(action) {\n try {\n if (action.$payload?.data?.status) {\n const foundStatus = action.$payload?.data?.status.find(el => el === \"WRITTEN_OFF\" || el === \"ISSUED\")\n if (!!foundStatus) {\n yield put(addError({response: {data: {error_description: 'Выгрузка недоступна! В списке для печати коды со статусом Эмитирован или Списан'}}}));\n return;\n }\n }\n if (action.$payload.totalElements > 30000) {\n yield put(addError({response: {data: {error_description: 'Количество КМ для выгрузки в формате CSV не должно превышать 30 000'}}}));\n return;\n }\n const data = yield API.rest.markCodes.csvUnloading(action.$payload.data);\n action.$payload.onFinish(data);\n } catch (err) {\n yield put(addError({response: {data: err.data}}));\n action.$payload.onFinish(true);\n }\n}\n\nexport function* printMarkCodesPdf(action) {\n try {\n const data = yield API.rest.markCodes.pdf(action.$payload.data);\n action.$payload.onFinish(false, data);\n } catch (err) {\n if (err.status === 406) {\n yield put(addError({response: {data: {error_description: 'При печати КМ произошла ошибка'}}}));\n } else {\n yield put(addError({response: {data: err.data}}));\n action.$payload.onFinish(true);\n }\n }\n}\n","import { put } from 'redux-saga/effects';\nimport API from '../api';\nimport { addError } from '../actions/errors';\nimport { setServices } from '../actions/services';\nimport { setIsLoading } from '../actions/common';\n\nexport function* loadServicesSaga(action) {\n try {\n yield put(setIsLoading(true));\n const json = yield API.rest.services.getServiceList(action.$payload.data);\n yield put(setServices(json));\n yield put(setIsLoading(false));\n // action.$payload.onFinish(json.content);\n } catch (err) {\n yield put(setIsLoading(false));\n yield put(addError(err));\n }\n}\n","import { put } from 'redux-saga/effects';\n// import {\n// setUser,\n// setUsers,\n// updateUsers,\n// updateUsersAfterCreate,\n// } from '../actions/users';\nimport { setAccountsBalance, setPaymentAccounts } from '../actions/accounts';\nimport API from '../api';\nimport { setIsLoading } from '../actions/common';\n// import { setSettings } from '../actions/common';\n\nexport function* loadAccountBalanceSaga(action) {\n try {\n const response = yield API.rest.accounts.getAccountsHistory(action.$payload);\n yield put(setAccountsBalance(response));\n // const settings = {\n // page: action.$payload.page, size: action.$payload.size, totalPages: json.totalPages, totalElements: json.totalElements,\n // };\n // yield put(setUsers({ ...json }));\n // yield put(setSettings({ ...settings }));\n } catch (err) {\n // if (err?.response?.data?.error_description?.indexOf('Access token expired') === 0) {\n // yield put(reconnect({\n // onFinish: loadUsers({ ...action.$payload }),\n // error: err,\n // }));\n // }\n // yield put(addError(err));\n }\n}\n\nexport function* loadPaymentAccountsSaga() {\n try {\n yield put(setIsLoading(true));\n const response = yield API.rest.paymentAccounts.list();\n yield put(setPaymentAccounts(response));\n yield put(setIsLoading(false));\n } catch (err) {\n yield put(setIsLoading(false));\n }\n}\n","import { createAction } from './common';\nimport types from '../types';\n\nexport const addAccountPay = createAction(types.ADD_ACCOUNTS_PAY);\nexport const getAccountsPayHistory = createAction(types.GET_ACCOUNTS_PAY);\nexport const setAccountsPay = createAction(types.SET_ACCOUNTS_PAY);\nexport const commitFilePay = createAction(types.SET_COMMIT_FILE_PAY);\nexport const setPayment = createAction(types.SET_PAYMENT);\nexport const cancelPayment = createAction(types.CANCEL_PAYMENT);\n","import { put } from 'redux-saga/effects';\n// import {\n// setUser,\n// setUsers,\n// updateUsers,\n// updateUsersAfterCreate,\n// } from '../actions/users';\nimport API from '../api';\nimport { setAccountsPay, getAccountsPayHistory } from '../actions/payments';\nimport { setIsLoading, setSettings } from '../actions/common';\nimport { history } from '../store';\nimport routes from '../routes';\n\nexport function* addAccountPaymentSaga(action) {\n try {\n const responce = yield API.rest.payments.setNewPayment(action.$payload);\n if (responce.id) {\n action.$payload.onFinish();\n yield put(getAccountsPayHistory());\n }\n } catch (err) {\n console.log('err', err);\n }\n}\nexport function* getPaymentsHistorySaga(data) {\n try {\n yield put(setIsLoading(true));\n const json = yield API.rest.payments.getAllPayments({ ...data.$payload });\n const settings = {\n page: data.$payload.page, size: data.$payload.size, totalPages: json.totalPages, totalElements: json.totalElements,\n };\n yield put(setAccountsPay(json));\n yield put(setSettings({ ...settings }));\n yield put(setIsLoading(false));\n } catch (err) {\n yield put(setIsLoading(false));\n console.log('err', err);\n }\n}\nexport function* setFileCommitsSaga(action) {\n try {\n const responce = yield API.rest.payments.commitFilePayments(({ fileId: action.$payload.fileId }), ({ 'Content-Type': 'application/x-www-form-urlencoded' }));\n if (responce?.status === 200) {\n action.$payload.onFinish();\n yield put(getAccountsPayHistory());\n }\n // yield put(setAccountsPay(responce));\n } catch (err) {\n console.log('err', err);\n }\n}\n\nexport function* cancelPaymentSaga({ $payload }) {\n try {\n yield API.rest.payments.cancelPayment($payload);\n history.push(routes.payments());\n } catch (err) {\n console.log('err', err);\n }\n}\n","import { createAction } from './common';\nimport types from '../types';\n\nexport const loadAccruals = createAction(types.LOAD_ACCRUALS);\nexport const setAccruals = createAction(types.SET_ACCRUALS);\nexport const downloadAccruals = createAction(types.DOWNLOAD_ACCRUALS);\n","import { put } from 'redux-saga/effects';\nimport moment from 'moment';\nimport API from '../api';\nimport { addError } from '../actions/errors';\nimport { setIsLoading, setSettings } from '../actions/common';\nimport { setAccruals } from '../actions/accruals';\n\nexport function* loadAccrualsSaga(action) {\n try {\n yield put(setIsLoading(true));\n const json = yield API.rest.accruals.list(action.$payload);\n const settings = {\n page: action.$payload.page, size: action.$payload.size, totalPages: json.totalPages, totalElements: json.totalElements,\n };\n yield put(setAccruals({ ...json }));\n yield put(setSettings({ ...settings }));\n yield put(setIsLoading(false));\n } catch (err) {\n yield put(setIsLoading(false));\n yield put(addError(err));\n }\n}\n\nexport function* downloadAccrualsSaga(action) {\n try {\n const date = moment().format('YYYYMMDDHHmmss');\n const fileName = `_download_${date}.csv_`;\n yield API.rest.accruals.csv(action.$payload.query, fileName);\n } catch (err) {\n yield put(addError(err));\n }\n}\n","import { put, call } from 'redux-saga/effects';\nimport API from '../api';\nimport { addError } from '../actions/errors';\nimport { setCodesLimits } from '../actions/balance';\n\nexport function* checkBeforeEmissionSaga({ $payload }) {\n\n\n try {\n const {\n countryId, issuedCount, participantId, productGroupMarkingId,\n } = $payload;\n\n const debt_check = yield API.rest.balance.debt_check({ countryId, participantId, productGroupMarkingId });\n\n if (!debt_check.result && debt_check.isDebt) {\n const message = 'Выполнение операции запрещено по причине наличия задолженности';\n yield put(addError({ response: { data: { message } } }));\n $payload.onFinish(false);\n }\n\n else {\n const limit_check = yield API.rest.balance.limit_check({ countryId, participantId, issuedCount });\n\n if (!limit_check[productGroupMarkingId].result) {\n // const available_count = yield API.rest.balance.limit_check({ countryId, participantId, issuedCount: 0 });\n const message = limit_check[productGroupMarkingId].errMsg;\n yield put(addError({ response: { data: { message } } }));\n $payload.onFinish(false);\n } else {\n $payload.onFinish(true);\n }\n }\n } catch (err) {\n yield put(addError(err));\n }\n}\n\nfunction* checkOperatorBalance(productGroupMarkingId, kmCount) {\n try {\n const check = yield API.rest.balance.operator_check({ kmCount, productGroupMarkingId });\n console.log('check', check);\n return check.enough;\n } catch (e) {\n return true;\n }\n}\n\nexport function* checkBeforeMarkingSaga({ $payload }) {\n try {\n const {\n countryId, participantId, productGroupMarkingId, kmCount,\n } = $payload;\n const debt_check = yield API.rest.balance.debt_check({ countryId, participantId, productGroupMarkingId });\n if (debt_check.result) {\n const operator_check = yield call(\n checkOperatorBalance,\n productGroupMarkingId,\n kmCount,\n );\n if (operator_check) {\n $payload.onFinish(true);\n } else {\n const message = 'У Оператора недостаточно средств для совершения операции. Обратитесь к Оператору';\n yield put(addError({ response: { data: { message } } }));\n $payload.onFinish(false);\n }\n } else {\n const message = debt_check.isDebt\n ? 'Выполнение операции запрещено по причине наличия задолженности'\n : 'Выполнение операции запрещено по причине отсутствия предоплаты';\n yield put(addError({ response: { data: { message } } }));\n $payload.onFinish(false);\n }\n } catch (err) {\n yield put(addError(err));\n }\n}\n\nexport function* checkBeforePrintSaga({ $payload }) {\n try {\n const { countryId, participantId, productGroupMarkingId } = $payload;\n const debt_check = yield API.rest.balance.debt_check({ countryId, participantId, productGroupMarkingId });\n if (!debt_check.result && debt_check.isDebt) {\n const message = 'Выполнение операции запрещено по причине наличия задолженности';\n yield put(addError({ response: { data: { message } } }));\n $payload.onFinish(false);\n } else {\n $payload.onFinish(true);\n }\n } catch (err) {\n yield put(addError(err));\n }\n}\n\nexport function* checkBeforePrintWithMarkingSaga({ $payload }) {\n try {\n const {\n countryId, participantId, productGroupMarkingId, charges, kmCount,\n } = $payload;\n const check = yield API.rest.balance.balance_sufficiency_check({\n countryId, participantId, productGroupMarkingId, charges,\n });\n if (check.result) {\n const operator_check = yield call(\n checkOperatorBalance,\n productGroupMarkingId,\n kmCount,\n );\n if (operator_check) {\n $payload.onFinish(true);\n } else {\n const message = 'У Оператора недостаточно средств для совершения операции. Обратитесь к Оператору';\n yield put(addError({ response: { data: { message } } }));\n $payload.onFinish(false);\n }\n } else {\n // const message = check.payableCount > 0\n // ? `Выполнение операции запрещено по причине недостаточности средств на ЛС УОТ. Доступное количество: ${check.payableCount || 0} кодов.`\n // : check.isDebt\n // ? 'Выполнение операции запрещено по причине наличия задолженности'\n // : 'Выполнение операции запрещено по причине отсутствия предоплаты';\n const message = check.errMsg;\n yield put(addError({ response: { data: {message} } }));\n $payload.onFinish(false);\n }\n } catch (err) {\n yield put(addError(err));\n }\n}\n\nexport function* loadCodesLimitSaga({ $payload }) {\n try {\n const { countryId, participantId } = $payload;\n const limit_check = yield API.rest.balance.limit_check({ countryId, participantId, issuedCount: 0 });\n if (!limit_check.result) {\n yield put(setCodesLimits(0));\n } else {\n yield put(setCodesLimits(limit_check.count));\n }\n } catch (err) {\n yield put(addError(err));\n }\n}\n","import { put } from 'redux-saga/effects';\r\nimport {\r\n setBalances,\r\n setTransactions\r\n} from '../actions/transaction';\r\nimport API from '../api';\r\nimport { addError } from '../actions/errors';\r\nimport {setIsLoading, setSettings} from '../actions/common';\r\n\r\n//детализация транзакций\r\nexport function* loadTransactionsSaga(action) {\r\n try {\r\n yield put(setIsLoading(true));\r\n const json = yield API.rest.loadTransactions.list(action.$payload);\r\n const settings = {\r\n page: action.$payload.page, size: action.$payload.size, totalPages: json.totalPages, totalElements: json.totalElements,\r\n };\r\n yield put(setTransactions({ ...json }));\r\n yield put(setSettings({ ...settings }));\r\n yield put(setIsLoading(false));\r\n } catch (err) {\r\n yield put(setIsLoading(false));\r\n yield put(addError(err));\r\n }\r\n}\r\n\r\n//баланс\r\nexport function* loadBalancesSaga(action) {\r\n try {\r\n yield put(setIsLoading(true));\r\n const json = yield API.rest.loadBalances.list(action.$payload);\r\n\r\n yield put(setBalances([ ...json]));\r\n yield put(setIsLoading(false));\r\n } catch (err) {\r\n yield put(setIsLoading(false));\r\n yield put(addError(err));\r\n }\r\n}","import API from '../api';\r\nimport {addError, setMessage} from \"../actions/errors\";\r\nimport { put } from 'redux-saga/effects';\r\nimport {setEmail} from \"../actions/reset-password\";\r\n\r\n\r\n\r\nexport function setStoreResetEmail({email}) {\r\n sessionStorage.setItem('email', email);\r\n}\r\n\r\n\r\nexport function* sendEmailForReset(action) {\r\n try {\r\n const json = yield API.rest.resetPassword.sendEmail(action.$payload.data.email);\r\n setStoreResetEmail({email: action.$payload.data.email})\r\n yield put(setEmail(action.$payload.data.email))\r\n action.$payload.onFinish();\r\n }\r\n catch (err) {\r\n yield put(addError(err));\r\n }\r\n}\r\n\r\n\r\n\r\nexport function* updatePasswordSaga(action) {\r\n try {\r\n const json = yield API.rest.resetPassword.updatePassword(action.$payload.data, action.$payload.email);\r\n action.$payload.onFinish();\r\n yield put(setMessage(json));\r\n }\r\n catch (err) {\r\n yield put(addError(err));\r\n }\r\n}","import {\n all, takeLatest, put, select, takeEvery,\n} from 'redux-saga/effects';\nimport types from '../types';\nimport {\n createParticipantSaga,\n loadParticipantSaga,\n loadParticipantsSaga,\n updateParticipantSaga,\n patchParticipantSaga,\n getCSVSaga, downloadParticipantXlsxSaga,\n} from './participant';\nimport {\n createUserSaga, loadUserSaga, loadUsersSaga, patchUserSaga, updateUserSaga,\n} from './users';\nimport {clearErrors} from '../actions/errors';\nimport {\n checkAuthSaga, getCurrentUserSaga, loginSaga, logoutByBlockSaga, logoutSaga, reconnectSaga,\n} from './auth';\nimport {\n cancelAggregationSaga,\n cancelTransgranSaga,\n createAggregationSaga,\n createMarkCodeOrderOperationSaga,\n createMarkingOperationSaga,\n createOperationSaga, downloadXlsxSaga,\n loadOperationHistorySaga,\n loadOperationSaga,\n loadOperationsSaga,\n setOperationTypeSaga,\n} from './operations';\nimport {\n downloadFileSaga, loadSettingsSaga, redirectToSaga, setErrorSaga, uploadFileSaga, uploadFileAnyTypeSaga,\n} from './common';\nimport {\n loadCountriesDictionarySaga,\n loadTnvedDictionarySaga, loadTnvedRootDictionarySaga,\n loadProductTypesList, loadProductSubTypesList,\n loadProductGroupsOUDListSaga, loadParticipantsDictSaga,\n} from './dictionaries';\nimport {\n clearProductSaga,\n createProductSaga,\n loadGoodsSaga,\n loadProductSaga,\n patchProductSaga,\n updateProductSaga,\n getGoodCardSaga,\n getSoloGoodCardPropertyValuesSaga,\n} from './goods';\nimport {\n clearMarkCodesSaga,\n downloadMarkCodesCsv,\n loadMarkCodeHistorySaga,\n loadMarkCodeSaga,\n loadMarkCodesSaga,\n printMarkCodesPdf, UnloadingMarkCodesCsv,\n} from './mark-codes';\nimport {\n loadServicesSaga,\n} from './services';\nimport {loadAccountBalanceSaga, loadPaymentAccountsSaga} from './accounts';\nimport {\n addAccountPaymentSaga, cancelPaymentSaga, getPaymentsHistorySaga, setFileCommitsSaga,\n} from './payments';\nimport {getCurrentUser} from './selectors';\nimport {redirect} from '../actions/common';\nimport routes from '../routes';\nimport {downloadAccrualsSaga, loadAccrualsSaga} from './accruals';\nimport {\n checkBeforeEmissionSaga,\n checkBeforeMarkingSaga, checkBeforePrintSaga, checkBeforePrintWithMarkingSaga, loadCodesLimitSaga,\n} from './balance';\n\nimport {loadTransactionsSaga, loadBalancesSaga} from \"./transactions\";\nimport {sendEmailForReset, updatePasswordSaga} from \"./reset-password\";\n\nexport function* clearErrorSaga(action) {\n yield put(clearErrors(action?.$payload));\n}\n\nconst passAppProps = (saga, type) => function* (action) {\n const currentUser = yield select(getCurrentUser);\n const payload = typeof action.$payload === 'object' ? action.$payload : {payloadData: action.$payload};\n if (currentUser.type === type) {\n return yield saga({...action, ...{$payload: {...payload}}});\n }\n yield redirectToSaga(redirect(routes.home(), 'replace'));\n};\n\nfunction* rootSaga() {\n yield all([\n takeEvery(types.REDIRECT_TO, redirectToSaga),\n takeLatest(types.UPLOAD_FILE_MARK_CODES, uploadFileSaga),\n takeLatest(types.UPLOAD_FILE_ANY_TYPE, uploadFileAnyTypeSaga),\n\n takeLatest(types.DOWNLOAD_FILE, downloadFileSaga),\n takeLatest(types.LOGIN, loginSaga),\n takeLatest(types.LOGOUT, logoutSaga),\n takeLatest(types.RECONNECT_AUTH_DATA, reconnectSaga),\n takeLatest(types.CHECK_AUTH_DATA, checkAuthSaga),\n takeLatest(types.GET_CURRENT_USER, getCurrentUserSaga),\n takeLatest(types.REMOVE_ERROR, clearErrorSaga),\n takeLatest(types.SET_ERROR, setErrorSaga),\n takeLatest(types.LOAD_SETTINGS, loadSettingsSaga),\n takeLatest(types.LOAD_COUNTRY_DICTIONARY, loadCountriesDictionarySaga),\n takeLatest(types.LOAD_TNVED_DICTIONARY, loadTnvedDictionarySaga),\n takeLatest(types.LOAD_TNVED_ROOT_DICTIONARY, loadTnvedRootDictionarySaga),\n takeLatest(types.LOAD_PRODUCT_TYPES, loadProductTypesList),\n takeLatest(types.LOAD_PRODUCT_SUB_TYPES, loadProductSubTypesList),\n takeLatest(types.LOAD_PRODUCT_GROUPS_UOD_LIST, loadProductGroupsOUDListSaga),\n takeLatest(types.DOWNLOAD_PARTICIPANT_XLSX, downloadParticipantXlsxSaga),\n takeLatest(types.LOAD_PARTICIPANT_DICTIONARY, passAppProps(loadParticipantsDictSaga, 'OPERATOR')),\n\n\n takeLatest(types.SEND_EMAIL_RESET, sendEmailForReset),\n takeLatest(types.UPDATE_PASSWORD, updatePasswordSaga),\n\n takeLatest(types.LOAD_PARTICIPANTS, passAppProps(loadParticipantsSaga, 'OPERATOR')),\n takeLatest(types.LOAD_PARTICIPANT, loadParticipantSaga),\n takeLatest(types.CREATE_PARTICIPANT, passAppProps(createParticipantSaga, 'OPERATOR')),\n takeLatest(types.UPDATE_PARTICIPANT, passAppProps(updateParticipantSaga, 'OPERATOR')),\n takeLatest(types.PATCH_PARTICIPANT, passAppProps(patchParticipantSaga, 'OPERATOR')),\n\n takeLatest(types.LOAD_USERS, passAppProps(loadUsersSaga, 'OPERATOR')),\n takeLatest(types.LOAD_USER, passAppProps(loadUserSaga, 'OPERATOR')),\n takeLatest(types.UPDATE_USER, passAppProps(updateUserSaga, 'OPERATOR')),\n takeLatest(types.PATCH_USER, patchUserSaga),\n takeLatest(types.CREATE_USER, passAppProps(createUserSaga, 'OPERATOR')),\n\n takeLatest(types.LOAD_ACCRUALS, passAppProps(loadAccrualsSaga, 'OPERATOR')),\n takeLatest(types.DOWNLOAD_ACCRUALS, passAppProps(downloadAccrualsSaga, 'OPERATOR')),\n\n takeLatest(types.CHOOSE_OPERATION_TYPE, passAppProps(setOperationTypeSaga, 'PARTICIPANT')),\n takeLatest(types.CREATE_OPERATION, passAppProps(createOperationSaga, 'PARTICIPANT')),\n takeLatest(types.CREATE_MARKING_OPERATION, passAppProps(createMarkingOperationSaga, 'PARTICIPANT')),\n takeLatest(types.CREATE_MARK_ORDER_OPERATION, passAppProps(createMarkCodeOrderOperationSaga, 'PARTICIPANT')),\n takeLatest(types.LOAD_OPERATIONS, loadOperationsSaga),\n takeLatest(types.DOWNLOAD_XLSX, downloadXlsxSaga),\n // takeLatest(types.LOAD_OPERATION, passAppProps(loadOperationSaga, 'PARTICIPANT')),\n takeLatest(types.LOAD_OPERATION, loadOperationSaga),\n takeLatest(types.LOAD_OPERATION_HISTORY, loadOperationHistorySaga),\n\n takeLatest(types.LOAD_GOODS_LIST, loadGoodsSaga),\n takeLatest(types.LOAD_PRODUCT, loadProductSaga),\n\n takeLatest(types.CREATE_PRODUCT, createProductSaga),\n takeLatest(types.UPDATE_PRODUCT, updateProductSaga),\n takeLatest(types.PATCH_PRODUCT, patchProductSaga),\n takeLatest(types.CLEAR_PRODUCT, clearProductSaga),\n takeLatest(types.GET_GOOD_CARD, getGoodCardSaga),\n takeLatest(types.GET_GOODS_CARD_SOLO_PROPERTY_VALUES, getSoloGoodCardPropertyValuesSaga),\n\n takeLatest(types.LOAD_CODES, loadMarkCodesSaga),\n takeLatest(types.CLEAR_CODES, clearMarkCodesSaga),\n takeLatest(types.LOAD_CODE_HISTORY, loadMarkCodeHistorySaga),\n takeLatest(types.LOAD_CODE, loadMarkCodeSaga),\n takeLatest(types.DOWNLOAD_MARK_CODES, passAppProps(downloadMarkCodesCsv, 'PARTICIPANT')),\n takeLatest(types.DOWNLOAD_MARK_CODES_UNLOADING, passAppProps(UnloadingMarkCodesCsv, 'PARTICIPANT')),\n takeLatest(types.PRINT_MARK_CODES_PDF, passAppProps(printMarkCodesPdf, 'PARTICIPANT')),\n\n takeLatest(types.GET_OPERATOR_SERVISE, loadServicesSaga),\n takeLatest(types.GET_ACCOUNTS_BALANCES_HISTORY, loadAccountBalanceSaga),\n\n takeLatest(types.ADD_ACCOUNTS_PAY, addAccountPaymentSaga),\n takeLatest(types.GET_ACCOUNTS_PAY, getPaymentsHistorySaga),\n takeLatest(types.CANCEL_PAYMENT, cancelPaymentSaga),\n takeLatest(types.SET_COMMIT_FILE_PAY, setFileCommitsSaga),\n takeLatest(types.LOAD_PAY_CSV, getCSVSaga),\n takeLatest(types.LOGOUT_BY_BLOCK, logoutByBlockSaga),\n\n takeLatest(types.LOAD_PAYMENT_ACCOUNTS, loadPaymentAccountsSaga),\n\n takeLatest(types.LOAD_CODES_LIMIT, loadCodesLimitSaga),\n takeLatest(types.CHECK_BEFORE_EMISSION, checkBeforeEmissionSaga),\n takeLatest(types.CHECK_BEFORE_PRINT, checkBeforePrintSaga),\n takeLatest(types.CHECK_BEFORE_MARKING, checkBeforeMarkingSaga),\n takeLatest(types.CHECK_BEFORE_PRINT_WITH_MARKING, checkBeforePrintWithMarkingSaga),\n\n takeLatest(types.CREATE_AGGREGATION, createAggregationSaga),\n takeLatest(types.CANCEL_TRANSGRAN, cancelTransgranSaga),\n takeLatest(types.CANCEL_AGGREGATION, cancelAggregationSaga),\n\n\n //детализация транзакций\n takeLatest(types.LOAD_TRANSACTIONS, loadTransactionsSaga),\n takeLatest(types.LOAD_BALANCES, loadBalancesSaga),\n\n ]);\n}\n\nexport default rootSaga;\n","import { createAction } from './common';\nimport types from '../types';\n\nexport const loadAccountsBalance = createAction(types.GET_ACCOUNTS_BALANCES_HISTORY);\nexport const setAccountsBalance = createAction(types.SET_ACCOUNTS_BALANCES_HISTORY);\n\nexport const loadPaymentAccounts = createAction(types.LOAD_PAYMENT_ACCOUNTS);\nexport const setPaymentAccounts = createAction(types.SET_PAYMENT_ACCOUNTS);\n","import { createAction } from './common';\nimport types from '../types';\n\nexport const addError = createAction(types.ADD_ERROR);\nexport const setError = createAction(types.SET_ERROR);\nexport const removeError = createAction(types.REMOVE_ERROR);\nexport const clearErrors = createAction(types.CLEAR_ERRORS);\nexport const setMessage = createAction(types.SET_MESSAGE);\n","module.exports = __webpack_public_path__ + \"static/media/logo.a2b8b853.png\";","/* eslint no-proto: 0 */\n\nimport { HELPERS } from '../helpers';\n\nexport class ErrorNotAuthorized extends Error {\n constructor(response) {\n super(['Ошибка авторизации', HELPERS.parseErrors(response.data)].join('\\n'));\n this.response = response;\n this.name = 'ErrorNotAuthorized';\n this.constructor = ErrorNotAuthorized;\n this.__proto__ = ErrorNotAuthorized.prototype;\n }\n}\n\nexport class ErrorForbidden extends Error {\n constructor(response) {\n super(['Операция запрещена', HELPERS.parseErrors(response.data)].join('\\n'));\n this.response = response;\n this.name = 'ErrorForbidden';\n this.constructor = ErrorForbidden;\n this.__proto__ = ErrorForbidden.prototype;\n }\n}\n\nexport class ErrorBadRequest extends Error {\n constructor(response) {\n super(['Некорректный запрос:', HELPERS.parseErrors(response.data)].join('\\n'));\n this.response = response;\n this.name = 'ErrorBadRequest';\n this.constructor = ErrorBadRequest;\n this.__proto__ = ErrorBadRequest.prototype;\n }\n}\n\nexport class ErrorBackend extends Error {\n constructor(response) {\n super(['Ошибка сервера', HELPERS.parseErrors(response.data)].join('\\n'));\n this.response = response;\n this.name = 'ErrorBackend';\n this.constructor = ErrorBackend;\n this.__proto__ = ErrorBackend.prototype;\n }\n}\n\nexport class ErrorUnknown extends Error {\n constructor(response) {\n super(['Неизвестная ошибка', HELPERS.parseErrors(response.data)].join('\\n'));\n this.response = response;\n this.name = 'ErrorUnknown';\n this.constructor = ErrorUnknown;\n this.__proto__ = ErrorUnknown.prototype;\n }\n}\n\nexport default {\n BadRequest: ErrorBadRequest,\n Backend: ErrorBackend,\n Forbidden: ErrorForbidden,\n NotAuthorized: ErrorNotAuthorized,\n Unknown: ErrorUnknown,\n};\n","import axios from 'axios';\nimport qs from 'qs';\n\nimport {\n checkContentType,\n CONTENT_TYPES, getAcceptLanguage,\n getContentDispositionFilename,\n isHasBody,\n isNeedVersionApi,\n saveAsFile,\n} from '../helpers/http';\nimport Errors from './errors';\nimport {URL_BASE} from './constants';\n\nconst VERSION_API = '';\nconst BASIC = {\n username: 'browser', password: 'secret',\n};\n\nconst resolve = ({response, saveAs, fileName}) => {\n const isContentType = checkContentType(response);\n const response_json = isContentType(CONTENT_TYPES.json) && response.data;\n switch (response.status) {\n case 200:\n case 201:\n case 202:\n return (\n saveAs\n ? saveAsFile(\n response, fileName || getContentDispositionFilename(response, saveAs),\n )\n : (response_json || response)\n );\n case 204:\n return null;\n default:\n console.warn(`Unknown response status: ${response.status}\\n`, response);\n return null;\n }\n};\n\nconst reject = (response) => {\n if (response.request.responseType === 'blob' && response.data instanceof Blob) {\n return new Promise((resolve, reject) => {\n let reader = new FileReader();\n reader.onload = () => {\n response.data = JSON.parse(reader.result);\n resolve(Promise.reject(response));\n };\n reader.onerror = () => {\n reject(response);\n };\n reader.readAsText(response.data);\n });\n }\n switch (response.status) {\n case 401: {\n return;\n }\n case 403:\n throw new Errors.Forbidden(response);\n case 400:\n throw new Errors.BadRequest(response);\n case 500:\n throw new Errors.Backend(response);\n default:\n throw new Errors.Unknown(response, response.data);\n }\n};\n\nconst options = ({\n access_token,\n // accept,\n basic,\n body,\n content_type = CONTENT_TYPES.json,\n headers = {},\n method = 'POST',\n onDownloadProgress,\n onUploadProgress,\n path = '',\n query = {},\n responseType,\n token_type,\n url = (() => {\n throw new Error('Url is not specified');\n })(),\n hideError,\n }) => {\n const hasBody = isHasBody(method);\n const data = body && hasBody && (\n content_type === CONTENT_TYPES.json\n ? JSON.stringify(body)\n : content_type === CONTENT_TYPES.form\n ? qs.stringify(body)\n : body\n );\n const url_path = path ? `/${path}` : '';\n const url_query = qs.stringify({...query, ...!hasBody && body}, {arrayFormat: 'repeat'});\n const url_version_api = isNeedVersionApi(url) ? '' : VERSION_API;\n const url_base = url === '/oauth' ? '' : URL_BASE;\n const url_request = [url_base, url_version_api, url, url_path, url_query ? '?' : '', url_query].join('');\n\n return {\n method,\n ...data && {data},\n ...basic && {auth: basic},\n headers: {\n // Accept: accept ? accept : content_type ? content_type : CONTENT_TYPES.json,\n ...hasBody && {'Content-Type': content_type},\n ...access_token && {Authorization: `${token_type} ${access_token}`},\n ...headers,\n 'Accept-language': getAcceptLanguage(),\n },\n responseType,\n onUploadProgress,\n onDownloadProgress,\n url: url_request,\n hideError,\n };\n};\n\nconst request = ({\n parent,\n reconnect = reject,\n saveAs,\n fileName,\n ...props\n }) => (\n axios(options(props))\n .then(\n (response) => resolve({response, saveAs, fileName}),\n parent\n ? reject\n : ({response}) => reject(response),\n )\n);\n\nconst connect = (props) => {\n const {reconnect} = props;\n const {access_token, refresh_token, token_type} = props.auth || {};\n const method = ({name, ...opts}) => (args) => request({\n access_token, token_type, ...opts, ...args, reconnect, method: name,\n });\n\n const get = method({name: 'GET'});\n const post = method({name: 'POST'});\n const put = method({name: 'PUT'});\n const patch = method({name: 'PATCH', content_type: CONTENT_TYPES.patch});\n const remove = method({name: 'DELETE'});\n\n const crud = (url) => ({\n create: (body) => post({url, body}),\n item: (id) => get({url, path: id}),\n list: (query = {}) => get({url, query}),\n patch: ({id, body}) => patch({url, path: id, body}),\n remove: (id) => remove({url, path: id}),\n update: ({id, body}) => put({url, path: id, body}),\n download: (id, onDownloadProgress) => get({\n url,\n path: id,\n responseType: 'blob',\n onDownloadProgress,\n saveAs: `download-${id}.file`,\n }),\n upload: (files, onUploadProgress) => window.Promise.all(\n files.map(\n (file) => {\n const body = new window.FormData();\n body.append('file', file);\n return post({\n url,\n content_type: CONTENT_TYPES.formdata,\n onUploadProgress,\n body,\n });\n },\n ),\n ),\n });\n\n const auth = (url) => ({\n check: (token) => (\n post({\n url,\n basic: BASIC,\n path: 'check_token',\n query: {token},\n })\n ),\n reconnect: () => (\n post({\n url,\n parent: true,\n path: 'token',\n basic: BASIC,\n content_type: CONTENT_TYPES.form,\n body: {grant_type: 'refresh_token', refresh_token},\n })\n ),\n signin: ({username, password}) => (\n post({\n url,\n path: 'token',\n basic: BASIC,\n content_type: CONTENT_TYPES.form,\n accept: 'application/json, text/plain, */*',\n body: {username, password, grant_type: 'password'},\n })\n ),\n signout: () => remove({url, path: 'token'}),\n });\n\n const users = (url) => ({\n ...crud(url),\n patch: ({id, body}) => patch({\n url, path: id, body, hideError: true,\n }),\n checkPassword: (id) => (get({url, path: `${id}/check-password`})),\n current: () => (\n get({\n url,\n path: 'current',\n })\n ),\n\n });\n\n\n const resetPassword= (url) => ({\n sendEmail: (email) => (post({\n url,\n path: `${email}/send_code`,\n })),\n updatePassword: (body, email) => (patch({\n url,\n path: `${email}/reset_password`,\n body\n\n }))\n })\n\n const operations = (url) => ({\n ...crud(url),\n markCodes: (id, query) => (\n get({\n url,\n path: `${id}/marking_codes`,\n query,\n })\n ),\n xlsx: (query) => (\n get({\n url,\n path: 'xlsx',\n query,\n content_type: CONTENT_TYPES.xlsx,\n responseType: 'blob',\n saveAs: 'operations.xlsx',\n })\n ),\n history: (id, query) => (\n get({\n url,\n path: `${id}/history`,\n query,\n })\n ),\n cancelAggregation: (body) => (post({\n url,\n path: 'aggregates/disaggregation',\n body,\n })),\n });\n\n const markCodes = (url) => ({\n ...crud(url),\n marking: (body) => (\n post({\n url,\n path: 'registration',\n body,\n })\n ),\n history: (id, query) => (\n get({\n url,\n path: `${id}/history`,\n query,\n })\n ),\n csv: (query) => (\n get({\n url,\n path: 'csv',\n query,\n content_type: CONTENT_TYPES.csv,\n responseType: 'blob',\n saveAs: 'mark-codes.csv',\n })\n ),\n csvUnloading: (query) => (\n get({\n url,\n path: 'csv/filter',\n query,\n content_type: CONTENT_TYPES.csv,\n responseType: 'blob',\n saveAs: 'mark-codes-unloading.csv',\n })\n ),\n pdf: (query) => (\n get({\n url,\n path: 'pdf',\n query,\n content_type: CONTENT_TYPES.pdf,\n responseType: 'blob',\n saveAs: 'mark-codes.pdf',\n })\n ),\n });\n\n const dictionaries = (url) => ({\n countries: () => (get({url, path: 'refs/countries'})),\n tnved: (query) => (get({url, path: 'refs/tnved', query})),\n rootTnved: () => (get({url, path: 'refs/tnved/root_codes'})),\n productTypes: () => (get({url, path: 'product_groups'})),\n productSubTypes: () => (get({url, path: 'product_subgroups'})),\n roductGroupsOUDList: (query) => (get({url, path: 'product_groups_marking', query})),\n });\n const file = (url) => ({\n uploadFile: (files, onUploadProgress, query, type) => window.Promise.all(\n files.map(\n (file) => {\n const body = new window.FormData();\n body.append('file', file);\n return post({\n url,\n query,\n path: type === 'codes' ? 'mark_code' : 'serial_number',\n content_type: CONTENT_TYPES.default,\n onUploadProgress,\n body,\n });\n },\n ),\n ),\n uploadFileToAnyType: (files, onUploadProgress, query, type) => window.Promise.all(\n files.map(\n (file) => {\n const body = new window.FormData();\n body.append('file', file);\n return post({\n url,\n query,\n path: type,\n content_type: CONTENT_TYPES.default,\n onUploadProgress,\n body,\n });\n },\n ),\n ),\n });\n\n const cards = (url) => ({\n getAllCard: (id) => (get({url, path: `products_attribute_templates?productSubgroupId=${id}`})),\n getSoloCard: (id) => (get({url, path: `products_attribute_templates/${id}`})),\n getSoloPropertyValues: (code) => (get({url, path: `attribute_values_domains?attributeTypeCode=${code}`})),\n getSoloPropertyValueUnits: (id) => (get({url, path: `units?attributeTypeId=${id}`})),\n getAttributeInfoFromId: (id) => (get({url, path: `attribute_types?code=${id}`})),\n });\n const services = (url) => ({\n getServiceList: (query) => (get({url, path: 'service', query})),\n });\n const accounts = (url) => ({\n getAccountsHistory: (({id, ...query}) => get({url, path: `${id}/balances_history`, query})),\n csv: (accountId, query = {}, fileName) => (\n get({\n url,\n query,\n path: `${accountId}/balances_history/csv`,\n content_type: CONTENT_TYPES.csv,\n responseType: 'blob',\n saveAs: 'account_balance_history.csv',\n fileName,\n })\n ),\n });\n const paymentAccounts = (url) => ({\n list: () => (\n get({\n url,\n path: 'account',\n })\n ),\n });\n const payments = (url) => ({\n setNewPayment: (body) => (\n post({\n url,\n body,\n })\n ),\n getAllPayments: (body) => (\n get({\n url,\n body,\n })\n ),\n commitFilePayments: (body, headers) => (\n post({\n url,\n body: {fileId: body.fileId},\n content_type: CONTENT_TYPES.form,\n })\n ),\n cancelPayment: (id) => (\n post({\n url,\n path: `${id}/cancellation`,\n })\n ),\n });\n\n const charges = (url) => ({\n list: (query) => (get({url, query})),\n csv: (query, fileName) => (\n get({\n url,\n path: 'csv',\n query,\n content_type: CONTENT_TYPES.csv,\n responseType: 'blob',\n saveAs: 'mark-codes.csv',\n fileName,\n })\n ),\n });\n\n const balance = (url) => ({\n operator_check: (query) => (get({url, path: 'operator/check', query})),\n limit_check: (body) => (post({url, path: 'limit_check', body})),\n debt_check: (body) => (post({url, path: 'debt_check', body})),\n balance_sufficiency_check: (body) => (post({url, path: 'balance_sufficiency_check', body})),\n });\n\n const aggregation = (url) => ({\n ...crud(url),\n cancel: (id) => (post({url, pah: `${id}`})),\n });\n\n const participants = (url) => ({\n ...crud(url),\n xlsx: (query) => (\n get({\n url,\n path: 'xlsx',\n query,\n content_type: CONTENT_TYPES.xlsx,\n responseType: 'blob',\n saveAs: 'operations.xlsx',\n })\n ),\n });\n\n return {\n get,\n remove,\n post,\n put,\n patch,\n participants: participants('/participants'),\n users: users('/users'),\n resetPassword: resetPassword('/users'),\n current: crud('/users'),\n auth: auth('/oauth'),\n files: file('/files'),\n operations: operations('/operations'),\n products: crud('/products'),\n settings: crud('/settings'),\n markCodesHistory: crud('/mark_codes/history'),\n dictionaries: dictionaries(''),\n markCodes: markCodes('/mark_codes'),\n accounts: accounts('/accounts'),\n goodsCard: cards(''),\n services: services(''),\n payments: payments('/payments'),\n paymentAccounts: paymentAccounts('/balance'),\n accruals: charges('/charges'),\n balance: balance('/balance'),\n aggregation: aggregation('/aggregation'),\n //детализация транзакций\n loadTransactions: crud('/billing-transactions'),\n loadBalances: crud('/billing-transactions/all'),\n\n };\n};\n\nexport default connect;\n","export const URL_BASE = '/api';\n","import { connect } from 'react-redux';\n\nimport RestAPI from './rest';\nimport { reconnect } from '../actions/auth';\n\nconst API = {};\n\nexport const APIConnector = connect(\n (state) => ({ auth: state.auth }),\n {\n reconnect,\n },\n)(\n ({ children, ...props }) => {\n API.rest = RestAPI(props);\n return children;\n },\n);\nexport default API;\n","import React from 'react';\nimport CircularProgress from '@material-ui/core/CircularProgress/CircularProgress';\nimport './index.scss';\n\nexport const Spinner = () => (\n
\n \n
\n);\n","import React from 'react';\nimport { Select } from '@crpt-ui/core';\nimport fp from 'lodash/fp';\nimport { Translate } from '../translate';\n\nclass SelectField extends React.Component {\n shouldComponentUpdate(nextProps, nextState, nextContext) {\n return !fp.isEqual(this.props, nextProps);\n }\n\n render() {\n const {\n data, input: {\n name, value, onChange, ...restInput\n }, meta, label, options, onSelect, ...rest\n } = this.props;\n return (\n {\n onChange(v);\n onSelect && onSelect(v.target.value);\n }}\n value={value === '' ? 'empty' : value}\n required={!meta.error && (!meta.dirty || !meta.submitFailed) && meta.touched}\n inputlabelprops={{\n shrink: true,\n }}\n />\n );\n }\n}\n\nexport default SelectField;\n","import { DefaultFilter } from '@crpt-ui/datatable/lib/Filters';\nimport { makeSelectFilter } from '@crpt-ui/datatable/lib/Filters/SelectFilter';\nimport React from 'react';\nimport { HELPERS } from '../../helpers';\nimport { Translate } from '../../components/translate';\n\nexport const statuses = [\n {\n label: 'Активный',\n value: 'ACTIVE',\n },\n {\n label: 'Заблокирован',\n value: 'BLOCKED',\n },\n];\n\nexport const filters = [\n {\n label: 'inn',\n value: 'ИНН (аналог в стране)',\n },\n {\n label: 'gcp',\n value: 'GCP',\n },\n {\n label: 'status',\n value: 'Статус',\n },\n];\n\nexport const headers = [\n {\n Header: Translate('ИНН (аналог в стране)'),\n id: 'inn',\n accessor: 'inn',\n width: 140,\n Filter: DefaultFilter,\n },\n {\n accessor: (row) => row.gcp,\n id: 'gcp',\n Header: Translate('GCP'),\n width: 130,\n Filter: DefaultFilter,\n },\n {\n accessor: (row) => row.shortName,\n id: 'shortName',\n Header: Translate('Краткое наименование'),\n },\n {\n accessor: (row) => row.supervisorName,\n id: 'supervisorName',\n Header: Translate('ФИО руководителя'),\n },\n {\n accessor: (row) => row.phone,\n id: 'phone',\n Header: Translate('Контактный телефон'),\n },\n {\n accessor: (row) => row.registrationDate,\n id: 'registrationDate',\n Header: Translate('Дата регистрации'),\n width: 130,\n },\n {\n accessor: (row) => row.status,\n id: 'status',\n Cell: ({ cell }) => HELPERS.getStatusName(cell.value),\n Header: Translate('Статус'),\n width: 130,\n Filter: makeSelectFilter(statuses),\n },\n // {\n // accessor: (row) => {\n // const sum = HELPERS.getBalance(row?.account?.balance, row?.account?.debt, '');\n // return !sum.includes('-')\n // ? ({sum})\n // : (\n // \n // -\n // {sum}\n // \n // );\n // },\n // id: 'account',\n // Header: Translate('Текущее состояние баланса'),\n // },\n // {\n // accessor: (row) => row.emmitedCount,\n // id: 'emmitedCount',\n // Header: Translate('Количество КМ в статусе \"Эмитирован\"'),\n // width: 130,\n // },\n // {\n // accessor: row => row.markedCount,\n // id: 'markedCount',\n // Header: Translate('Количество КМ в статусе \"Нанесен / Не оплачен\"'),\n // width: 140,\n // },\n // {\n // accessor: row => row.payedOrMarkedCount,\n // id: 'payedOrMarkedCount',\n // Header: Translate('Количество КМ в статусе \"Нанесен\"'),\n // width: 130,\n // },\n // {\n // accessor: row => row.writtenOff,\n // id: 'writtenOff',\n // Header: Translate('Количество КМ в статусе \"Списан\"'),\n // width: 130,\n // },\n // {\n // accessor: row => row.importRegistrationCount,\n // id: 'importRegistrationCount',\n // Header: Translate('Количество КМ в статусе \"Регистрация трансграна\"'),\n // width: 130,\n // },\n // {\n // accessor: row => row.importCount,\n // id: 'importCount',\n // Header: Translate('Количество КМ в статусе \"Трансгран\"'),\n // width: 130,\n // },\n // { accessor: row => row.exportCount,\n // id: 'exportCount',\n // Header: Translate('Количество КМ в статусе \"Экспортирован\"'),\n // width: 140,\n // },\n];\n","// import React from 'react';\nimport * as R from 'ramda';\nimport fp from 'lodash/fp';\nimport moment from 'moment';\nimport {statuses} from '../pages/turnover-participants-page/participantsDictionary';\n// eslint-disable-next-line import/no-named-as-default\nimport routes from '../routes';\nimport faviconKZ from '../assets/favicons/faviconKZ.ico';\nimport faviconRU from '../assets/favicons/fiviconRU.ico';\nimport faviconAM from '../assets/favicons/faviconAM.ico';\nimport favicon from '../assets/favicons/favicon.ico';\n\nexport const path = (data) => (p) => R.flip(R.path)(data, p.split('.'));\n\nconst routesTitles = [\n {link: routes.goods(), title: 'Товары'},\n {link: routes.operations(), title: 'Операции'},\n {link: routes.turnoverParticipants(), title: 'Участники'},\n {link: routes.markCodes(), title: 'Список кодов'},\n {link: routes.users(), title: 'Пользователи'},\n // { link: routes.payments(), title: 'Платежи' },\n {link: routes.auth(), title: 'Вход'},\n {link: routes.profile(), title: 'Профиль'},\n // { link: routes.accruals(), title: 'Начисления' },\n {link: routes.transactions(), title: 'Транзакции'},\n];\n\nexport const HELPERS = {\n parseErrors: (errors) => {\n if (errors && errors.errors && errors.errors.length !== undefined) {\n return fp.map(\n (v) => v.defaultMessage,\n )(errors.errors).join(', ');\n }\n return errors && (errors.message || errors.error_description);\n },\n isPhone: (data) => (/^((8|\\+7)[-]?)?(\\(?\\d{3}\\)?[-]?)?[\\d-]{10,10}$/).test(data),\n\n getMoney: (balance, debet, name) => {\n if (balance == null || debet == null) {\n return '';\n }\n\n let totalBalance = balance - debet / 100;\n let balanceValue = [];\n let buffer = [];\n let totalBalanceInRubles = `${totalBalance}`.split('.')[0].split('') ?? '';\n let totalBalanceInMonets = `${totalBalance}`.split('.')[1] ?? '';\n\n for (let i = (totalBalanceInRubles.length - 1); i >= 0; i -= 1) {\n buffer.unshift(totalBalanceInRubles[i]);\n if (buffer.length === 3) {\n balanceValue.push(buffer.join(''));\n buffer = [];\n } else if (i === 0) {\n balanceValue.push(buffer.join(''));\n }\n }\n return `${`${balanceValue.reverse().join(' ')}${totalBalanceInMonets ? `,${totalBalanceInMonets.length === 1 ? `${totalBalanceInMonets}0` : `${totalBalanceInMonets}`}` : ',00'}` ?? ''} ${name ?? ''}`;\n },\n\n getBalance: (balance, debet, name) => {\n if (balance == null || debet == null) {\n return '';\n }\n\n let totalBalance = (balance - debet) / 100;\n let balanceValue = [];\n let buffer = [];\n let totalBalanceInRubles = `${totalBalance}`.split('.')[0].split('') ?? '';\n let totalBalanceInMonets = `${totalBalance}`.split('.')[1] ?? '';\n\n for (let i = (totalBalanceInRubles.length - 1); i >= 0; i -= 1) {\n buffer.unshift(totalBalanceInRubles[i]);\n if (buffer.length === 3) {\n balanceValue.push(buffer.join(''));\n buffer = [];\n } else if (i === 0) {\n balanceValue.push(buffer.join(''));\n }\n }\n return `${`${balanceValue.reverse().join(' ')}${totalBalanceInMonets ? `,${totalBalanceInMonets.length === 1 ? `${totalBalanceInMonets}0` : `${totalBalanceInMonets}`}` : ',00'}` ?? ''} ${name ?? ''}`;\n // let totalBalanceInRubles = `${totalBalance}`.split('.')[0];\n // let totalBalanceInMonets = `${totalBalance}`.split('.')[1] ?? null;\n // totalBalanceInMonets = totalBalanceInMonets && totalBalanceInMonets.length === 2\n // ? totalBalanceInMonets\n // : totalBalanceInMonets && totalBalanceInMonets.length === 1\n // ? totalBalanceInMonets + '0'\n // : '00';\n //\n // return `${totalBalanceInRubles},${totalBalanceInMonets}`;\n },\n\n getOnlyNumsPhone: (value) => value.replace('+7', '').replace(/[^\\d]/g, ''),\n\n formatPhone: (value, isNeedBracket = true) => {\n if (!value) {\n return value;\n }\n const prefix = '+7';\n const onlyNums = HELPERS.getOnlyNumsPhone(value);\n if (onlyNums.length === 0) {\n return isNeedBracket ? onlyNums : prefix;\n }\n if (onlyNums.length <= 3) {\n return isNeedBracket\n ? `${prefix}(${onlyNums}`\n : `${prefix}-${onlyNums}`;\n }\n if (onlyNums.length <= 6) {\n return isNeedBracket\n ? `${prefix}(${onlyNums.slice(0, 3)}) ${onlyNums.slice(3, 7)}`\n : `${prefix}-${onlyNums.slice(0, 3)}-${onlyNums.slice(3, 7)}`;\n }\n if (onlyNums.length <= 8) {\n return isNeedBracket\n ? `${prefix}(${onlyNums.slice(0, 3)}) ${onlyNums.slice(3, 6)}-${onlyNums.slice(6, 8)}`\n : `${prefix}-${onlyNums.slice(0, 3)}-${onlyNums.slice(3, 6)}-${onlyNums.slice(6, 8)}`;\n }\n return isNeedBracket\n ? `${prefix}(${onlyNums.slice(0, 3)}) ${onlyNums.slice(3, 6)}-${onlyNums.slice(6, 8)}-${onlyNums.slice(8, 10)}`\n : `${prefix}-${onlyNums.slice(0, 3)}-${onlyNums.slice(3, 6)}-${onlyNums.slice(6, 8)}-${onlyNums.slice(8, 10)}`;\n },\n\n getPageTitle: (path) => (path === '/'\n ? 'Домашняя страница'\n : fp.pipe(\n fp.find((item) => path.includes(item.link)),\n fp.get('title'),\n )(routesTitles)),\n\n getStatusName: (status) => statuses.find((v) => v.value === status)?.label,\n\n getNameFromDictionary: (item, list) => {\n const element = list.find((v) => v.value === item);\n return element ? element.label : '-';\n },\n formatDate: (date) => (date ? moment(date).format('DD.MM.YYYY HH:mm') : '-'),\n formatOnlyDate: (date) => (date ? moment(date).format('DD.MM.YYYY') : '-'),\n\n};\n\nexport const sortNamesDictionaries = [\n {label: 'login', value: 'Логин'},\n {label: 'fullName', value: 'ФИО'},\n {label: 'email', value: 'Email'},\n {label: 'type', value: 'Тип пользователя'},\n {label: 'participant', value: 'УОТ'},\n {label: 'status', value: 'Статус'},\n {label: 'inn', value: 'ИНН'},\n {label: 'gcp', value: 'GCP'},\n {label: 'gtin', value: 'Код товара (GTIN)'},\n {label: 'gtin', value: 'GTIN'},\n {label: 'gtin', value: 'Код товара'},\n {label: 'tnved.rootCode', value: 'Позиция ТН ВЭД'},\n {label: 'rootCode', value: 'Позиция ТН ВЭД '},\n {label: 'tnved.code', value: 'Код ТН ВЭД'},\n {label: 'name', value: 'Название товара (по субпозиции ТН ВЭД)'},\n {label: 'tnved.code', value: 'Полный код ТН ВЭД'},\n {label: 'code', value: 'Полный код ТН ВЭД'},\n {label: 'fullName', value: 'Полное наименование товара'},\n {label: 'fullName', value: 'Наименование товара'},\n {label: 'trademark', value: 'Товарный знак'},\n {label: 'manufacturedCountry.name', value: 'Страна производства'},\n {label: 'gln', value: 'GLN'},\n {label: 'shortName', value: 'Краткое наименование'},\n {label: 'supervisorName', value: 'ФИО руководителя'},\n {label: 'phone', value: 'Контактный телефон'},\n {label: 'registrationDate', value: 'Дата регистрации'},\n {label: 'issuedCount', value: 'Количество КМ в статусе \"Эмитирован\"'},\n {label: 'payedCount', value: 'Количество КМ в статусе \"Нанесен/оплачен\"'},\n {label: 'serialNumber', value: 'Серийный номер'},\n {label: 'dateCreate', value: 'Дата и время получения'},\n {label: 'country.name', value: 'Страна'},\n {label: 'initialStatus', value: 'Начальный статус КМ'},\n {label: 'resultStatus', value: 'Итоговый статус КМ'},\n {label: 'timestamp', value: 'Дата и время изменения'},\n {label: 'operationType', value: 'Тип операции'},\n {label: 'createdAt', value: 'Дата создания'},\n {label: 'kmsCount', value: 'Количество КМ'},\n {label: 'lastEventType', value: 'Событие'},\n {label: 'endAt', value: 'Дата окончания операции'},\n {label: 'statusIn', value: 'Начальный статус'},\n {label: 'statusOut', value: 'Итоговый статус'},\n {label: 'updatedAt', value: 'Дата изменения операции'},\n {label: 'operation', value: 'Операция'},\n {label: 'inn', value: 'ИНН (аналог в стране)'},\n {label: 'parent.code', value: 'Код'},\n {label: 'productGroupMarking.name', value: 'Товарная группа'}, // Русская о\n {label: 'tnved.productSubgroup.name', value: 'Тoварная группа'}, // Английская о\n\n {label: 'markingCodeLevel.name', value: 'Тип'},\n {label: 'parent.code', value: 'Родительский код маркировки'},\n\n];\n\nexport const sortNamesOperationMarkCodesDictionaries = [\n {label: 'markingCode.status', value: 'Статус'},\n {label: 'markingCode.gtin', value: 'GTIN'},\n {label: 'markingCode.serialNumber', value: 'Серийный номер'},\n {label: 'markingCode.dateCreate', value: 'Дата и время получения'},\n {label: 'markingCode.country.name', value: 'Страна'},\n\n];\n\nexport const getFilterValue = (item, withTime = true) => {\n const format = withTime ? 'YYYY-MM-DD HH:mm' : 'YYYY-MM-DD';\n return item.value.value.date\n ? moment(item.value.value.date).format(format)\n : item.value.value;\n};\n\nconst getFaviconByCountry = (country) => {\n switch (country) {\n case 'KZ':\n return faviconKZ;\n case 'KG':\n return favicon;\n case 'RU':\n return faviconRU;\n case 'AM':\n return faviconAM;\n default:\n return faviconAM;\n }\n};\n\nexport const setFavicon = (countryCode) => {\n const link = document.querySelector(\"link[rel*='icon']\") || document.createElement('link');\n link.type = 'image/x-icon';\n link.rel = 'shortcut icon';\n link.href = getFaviconByCountry(countryCode);\n document.getElementsByTagName('head')[0].appendChild(link);\n};\n\nexport function generateGuid() {\n function s4() {\n return Math.floor((1 + Math.random()) * 0x10000)\n .toString(16)\n .substring(1);\n }\n\n return `${s4() + s4()}-${s4()}-${s4()}-${\n s4()}-${s4()}${s4()}`;\n}\n\nexport default {\n path,\n};\n\n\nexport const getFiltersTable = (filter) => {\n return Object.keys(filter).map((key) => ({\n id: key,\n value: {\n value: filter[key],\n }\n }))\n}\n\n\nexport const getSortIdAndDesc = (sort) => {\n return sort.map((el) => ({\n id: el.split(',')[0],\n desc: el.split(',')[1] === 'desc' ? true : false,\n }))\n}\n","/* eslint-disable */\nimport {defaultTo, get} from 'lodash';\nimport PropTypes from 'prop-types';\nimport React, { useCallback, useMemo } from 'react';\n\nimport DatePicker from \"../DatePicker/DatePicker\";\n\nexport const generateFilter = (Component) => (props = {}) => ({\n column,\n form,\n formState,\n ...instance\n }) =>\n React.createElement(Component, {\n ...props,\n column,\n label: defaultTo(props.label, column.Header),\n form,\n formState,\n instance,\n });\n\nexport const DatePickerFilter = React.memo(\n ({column, endOfDay, form, formState, instance, ...rest }) => {\n const value = useMemo(() => get(formState, 'values.value.date', ''),\n [formState.values],\n );\n\n const onChange = useCallback(date => {\n endOfDay\n ? form.change('value', { date: new Date(date.setHours(23, 59, 59, 0)) })\n : form.change('value', { date })\n }, []);\n\n return (\n
\n \n
\n );\n },\n);\n\nexport const makeDatepickerFilter = generateFilter(DatePickerFilter);\n\nDatePickerFilter.propTypes = {\n // set date at the end of the day\n endOfDay: PropTypes.bool,\n};\n\nDatePickerFilter.defaultProps = {\n endOfDay: false,\n};\n\n","import React, { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport { Grid } from '@material-ui/core';\nimport { Select } from '@crpt-ui/core';\nimport format from '../utils/format.i18n';\n\nconst getYearsElements = (yearsToMatch, startYear) => Array.from(Array(yearsToMatch).keys()).map((i) => ({\n label: `${startYear + i}`,\n value: `${startYear + i}`,\n}));\n\nconst getMonthsElements = (currentYear) => [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].map((i) => (\n {\n label: format(new Date(currentYear, i, 6), 'LLLL', 'ru'),\n value: i,\n }\n));\nconst getMonthsAndYears = (startYear, yearsAfter) => {\n const currentYear = new Date().getFullYear();\n const yearsToMatch = (currentYear - startYear) + yearsAfter;\n return {\n months: getMonthsElements(currentYear),\n years: getYearsElements(yearsToMatch, startYear),\n };\n};\n\nconst Controls = memo(({\n goToMonth, month = 0, year = 2019, startYear, yearsAfter,\n}) => {\n const { years, months } = getMonthsAndYears(startYear, yearsAfter);\n const onChangeDate = (value, type) => {\n if (type === 'month') {\n goToMonth(new Date(year, value, 5));\n } else if (type === 'year') {\n goToMonth(new Date(value, month, 5));\n }\n };\n return (\n
\n \n \n onChangeDate(e.target.value, 'year')}\n />\n \n \n onChangeDate(e.target.value, 'month')}\n />\n \n \n
\n );\n});\n\nControls.propTypes = {\n goToMonth: PropTypes.func,\n month: PropTypes.oneOf([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]),\n year: PropTypes.number,\n startYear: PropTypes.number,\n yearsAfter: PropTypes.number,\n};\n\nexport default Controls;\n","/* eslint-disable */\nexport const dateEquality = (firstDate, secondDate) => {\n return firstDate.getDate() == secondDate.getDate() &&\n firstDate.getMonth() == secondDate.getMonth() &&\n firstDate.getFullYear() == secondDate.getFullYear();\n};\n","/* eslint-disable */\nimport React, { useState, useCallback, useEffect, useMemo } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { useDatepicker, START_DATE } from './hooks';\nimport DatePickerContext from './DatePicker.context';\nimport Month from './components/Month';\nimport Controls from './components/Controls';\nimport Header from './components/Header';\nimport Footer from './components/Footer';\nimport { dateEquality } from './utils/dateEquality';\nimport {START_YEAR, YEARS_AFTER} from './Datepicker.constants'\n\n\nconst isToday = (date) => {\n if (!date) {\n return false;\n }\n const today = new Date();\n return dateEquality(today, date);\n};\n\nconst Datepicker = ({\n onSubmit,\n onClose,\n minDate,\n maxDate,\n date,\n isFilter,\n onDateChange,\n startYear = START_YEAR,\n yearsAfter = YEARS_AFTER,\n disabledDayFocus,\n}) => {\n\n const dateState = {\n date: date ? date : null,\n focusedInput: START_DATE,\n }\n\n const [state, setState] = useState(dateState);\n\n useEffect(() => {\n setState(dateState)\n }, [date])\n\n const handleTodayClick = newDate => {\n setState({\n ...state,\n date: newDate,\n });\n\n if (typeof onDateChange === 'function') {\n onDateChange(newDate);\n }\n };\n\n const handleDateChange = (data) => {\n setState({\n ...state,\n date: data.startDate,\n });\n\n if (typeof onDateChange === 'function') {\n onDateChange(data.startDate);\n }\n };\n\n const {\n firstDayOfWeek,\n activeMonths,\n isDateSelected,\n isSingleDateSelected,\n isDateHovered,\n isFirstSelectedDate,\n isLastSelectedDate,\n isDateBlocked,\n isDateFocused,\n focusedDate,\n onDateHover,\n onDateSelect,\n onDateFocus,\n onResetDates,\n goToMonth,\n } = useDatepicker({\n startDate: state.date,\n focusedInput: state.focusedInput,\n onDatesChange: handleDateChange,\n minBookingDate: minDate,\n maxBookingDate: maxDate,\n numberOfMonths: 1,\n });\n\n const memoizedGoToMonth = useCallback(newDate => goToMonth(newDate), []);\n const memoizedOnSubmit = useCallback(result => onSubmit(result), []);\n const memoizedOnResetDates = useCallback(() => onResetDates(), []);\n const currentDateIsBlocked = useMemo(() => isDateBlocked(state.date), [state.date]);\n\n const memoizedIsSingleDateSelected = useCallback(selectedDate => {\n if (!state.date) {\n return false;\n }\n return isSingleDateSelected(state.date, selectedDate);\n }, [state.date]);\n\n return (\n
\n \n
\n \n\n \n\n
\n {activeMonths.map(month => (\n \n ))}\n
\n \n
\n \n
\n );\n};\n\nDatepicker.propTypes = {\n onSubmit: PropTypes.func,\n onClose: PropTypes.func,\n date: PropTypes.instanceOf(Date),\n minDate: PropTypes.instanceOf(Date),\n maxDate: PropTypes.instanceOf(Date),\n /** Indicate that Datepicker use in table filter area\n * Hide close button in Header. Hide control buttons in Footer */\n isFilter: PropTypes.bool,\n onDateChange: PropTypes.func,\n startYear: PropTypes.number,\n yearsAfter: PropTypes.number\n};\n\nDatepicker.defaultProps = {\n onSubmit: () => { },\n onClose: () => { },\n isFilter: false,\n};\n\nexport default Datepicker;\n","export const getCurrentUser = (state) => state.currentUser;\n","export default function getColor(\n isSelected,\n isSelectedStartOrEnd,\n isWithinHoverRange,\n isDisabled,\n isToday,\n) {\n return ({\n selectedFirstOrLastColor,\n normalColor,\n selectedColor,\n rangeHoverColor,\n disabledColor,\n selectedTodayColor,\n }) => {\n if (isToday && isSelected) {\n return selectedTodayColor;\n }\n if (isSelectedStartOrEnd) {\n return selectedFirstOrLastColor;\n } if (isSelected) {\n return selectedColor;\n } if (isWithinHoverRange) {\n return rangeHoverColor;\n } if (isDisabled) {\n return disabledColor;\n }\n return normalColor;\n };\n}\n\nexport const getWeekendTextColor = (\n isSelected,\n) => ({\n selectedColor,\n normalColor,\n}) => {\n if (isSelected) {\n return selectedColor;\n }\n return normalColor;\n};\n","import { createStyles } from '@material-ui/core';\n\nexport default createStyles((theme) => ({\n buttonHover: {\n '&:hover': {\n background: `${theme.palette.grey[400]} !important`,\n cursor: 'pointer',\n },\n },\n}));\n","import React, {\n useRef, useContext, memo, useMemo,\n} from 'react';\nimport { withStyles } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { useSelector } from 'react-redux';\nimport { useDay } from '../hooks';\nimport DatePickerContext from '../DatePicker.context';\nimport getColor, { getWeekendTextColor } from '../utils/getColor';\nimport Styles from './Day.styles';\n\nconst COLORS = {\n main: '#F9F9F9',\n disable: '#D9D9D9',\n defaultWeekendColor: '#F34747',\n selectedWeekendColor: '#63666A',\n selectedTodayBgColor: '#63666A',\n selectedTodayTextColor: '#FFFFFF',\n};\n\nconst WEEKEND_DAYS = ['Sat', 'Sun'];\n\nconst Day = memo(({ dayLabel, date, classes }) => {\n const dayRef = useRef(null);\n const {\n isToday,\n focusedDate,\n isDateFocused,\n isSingleDaySelected,\n isDateSelected,\n isDateHovered,\n isDateBlocked,\n isFirstSelectedDate,\n isLastSelectedDate,\n onDateSelect,\n onDateFocus,\n onDateHover,\n type,\n disabledDayFocus,\n } = useContext(DatePickerContext);\n const {\n isSelected,\n isSelectedStart,\n isSelectedEnd,\n isWithinHoverRange,\n disabledDate,\n onClick,\n onKeyDown,\n onMouseEnter,\n tabIndex,\n } = useDay({\n date,\n focusedDate,\n isDateFocused,\n isDateSelected,\n isDateHovered,\n isDateBlocked,\n isFirstSelectedDate,\n isLastSelectedDate,\n onDateFocus,\n onDateSelect,\n onDateHover,\n dayRef,\n disabledDayFocus,\n });\n\n const countryCode = useSelector((state) => state.settings.common.countryCode);\n\n const activeColorBg = useMemo(() => {\n switch (countryCode) {\n case 'AM': return '#707070';\n case 'KG': return '#057EC6';\n case 'KZ': return '#0287B0';\n case 'RU': return '#F6F42E';\n default: return '#F6F42E';\n }\n }, [countryCode]);\n\n const selectedColor = useMemo(() => {\n switch (countryCode) {\n case 'AM': return '#ffffff';\n case 'KG': return '#ffffff';\n case 'KZ': return '#ffffff';\n case 'RU': return '#63666A';\n default: return '#ffffff';\n }\n }, [countryCode]);\n\n const isTodayDay = isToday !== undefined ? isToday(date) : false;\n const isSingleSelected = isSingleDaySelected !== undefined ? isSingleDaySelected(date) : false;\n\n const dayName = date.toString().split(' ')[0];\n\n if (!dayLabel) {\n return
;\n }\n\n const getBackgroundColorFn = getColor(\n isSingleSelected || isSelected,\n isSelectedEnd || isSelectedStart,\n isWithinHoverRange,\n disabledDate,\n isTodayDay,\n );\n\n const getWeekendTextColorFn = getWeekendTextColor(\n isSingleSelected || isSelected,\n );\n\n return (\n \n {dayLabel}\n \n );\n});\n\nDay.propTypes = {\n dayLabel: PropTypes.string,\n date: PropTypes.instanceOf(Date),\n};\n\nexport default withStyles(Styles)(Day);\n","import { createStyles } from '@material-ui/core';\n\nexport default createStyles((theme) => ({\n root: {\n borderTop: `1px solid ${theme.palette.grey[400]}`,\n padding: '16px',\n },\n container: {\n lineHeight: '20px',\n color: theme.palette.text.primary,\n },\n month: {\n fontSize: '12px',\n fontWeight: '600',\n textTransform: 'none',\n },\n days: {\n display: 'grid',\n gridTemplateColumns: 'repeat(7, 1fr)',\n justifyContent: 'center',\n gap: '1px',\n msGridColumns: '(1fr)[7]',\n msGridRows: '(1fr)[5]',\n '& > *:nth-child(7n+1)': {\n msGridColumn: 1,\n },\n '& > *:nth-child(7n+2)': {\n msGridColumn: 2,\n },\n '& > *:nth-child(7n+3)': {\n msGridColumn: 3,\n },\n '& > *:nth-child(7n+4)': {\n msGridColumn: 4,\n },\n '& > *:nth-child(7n+5)': {\n msGridColumn: 5,\n },\n '& > *:nth-child(7n+6)': {\n msGridColumn: 6,\n },\n '& > *:nth-child(7n)': {\n msGridColumn: 7,\n },\n '& > *:nth-child(-n+7)': {\n msGridRow: 1,\n },\n '& > *:nth-child(n+8):nth-child(-n+14)': {\n msGridRow: 2,\n },\n '& > *:nth-child(n+15):nth-child(-n+21)': {\n msGridRow: 3,\n },\n '& > *:nth-child(n+22):nth-child(-n+28)': {\n msGridRow: 4,\n },\n '& > *:nth-child(n+29):nth-child(-n+36)': {\n msGridRow: 5,\n },\n },\n}));\n","import React from 'react';\nimport { withStyles } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport { useMonth } from '../hooks';\nimport Day from './Day';\nimport MonthStyles from './Month.styles';\n\nconst Month = ({\n classes, year, month, firstDayOfWeek,\n}) => {\n const { days, monthLabel } = useMonth({\n year,\n month,\n firstDayOfWeek,\n });\n\n return (\n
\n
\n {monthLabel}\n
\n
\n {days.map((day, index) => {\n if (typeof day === 'object') {\n return (\n \n );\n }\n return
;\n })}\n
\n
\n );\n};\n\nMonth.propTypes = {\n year: PropTypes.number,\n month: PropTypes.number,\n firstDayOfWeek: PropTypes.number,\n};\n\nexport default withStyles(MonthStyles)(Month);\n","/* eslint-disable */\nimport React, { memo, useCallback } from 'react';\nimport { withStyles } from '@material-ui/core';\nimport { Button } from '@crpt-ui/core';\nimport * as Icons from '@crpt-ui/icons';\nimport getMonth from 'date-fns/getMonth';\nimport getYear from 'date-fns/getYear';\nimport PropTypes from 'prop-types';\n\nimport format from '../utils/format.i18n';\nimport {\n TodayStyles,\n SubmitStyles,\n TrashStyles,\n} from './Footer.styles';\nimport clsx from 'clsx';\n\nconst isButtonsDisabled = (result) => {\n if (result === null) {\n return true;\n }\n if (result !== null) {\n if (Object.values(result).length === 2) {\n return !(result.startDate && result.endDate);\n }\n return false;\n }\n};\n\n\nconst MemoizedControlButtons = memo(\n withStyles(SubmitStyles)(({ classes, buttonsDisabled, handleReset, handleSubmit, currentDateIsBlocked }) =>\n
\n \n Применить\n \n \n
\n));\n\nMemoizedControlButtons.propTypes = {\n buttonsDisabled: PropTypes.bool.isRequired,\n handleReset: PropTypes.func.isRequired,\n handleSubmit: PropTypes.func.isRequired,\n};\n\nconst Footer = memo(\n ({\n classes,\n activeMonths,\n goToMonth,\n onResetDates,\n onSubmit,\n result,\n isTodayDay,\n onTodayDateSelect,\n isFilter,\n currentDateIsBlocked,\n }) => {\n const today = new Date(new Date().getFullYear(),new Date().getMonth() , new Date().getDate());\n const { month, year } = activeMonths[0];\n const todayMonth = getMonth(today);\n const todayYear = getYear(today);\n const isCurrentMonth = month === todayMonth && year === todayYear;\n const hanldeClickToday = () => {\n if (!isTodayDay) {\n if (!isCurrentMonth) {\n goToMonth(today);\n }\n return onTodayDateSelect(today);\n }\n };\n const buttonsDisabled = isButtonsDisabled(result);\n\n const handleSubmit = useCallback(() => onSubmit(result), [result]);\n const handleReset = useCallback(() => {\n onSubmit(null);\n onResetDates();\n }, []);\n\n return (\n
\n
\n
\n \n Сегодня {format(today, 'dd.MM.yyyy')}\n \n
\n {!isFilter &&\n React.createElement(MemoizedControlButtons, {\n buttonsDisabled,\n handleReset,\n handleSubmit,\n currentDateIsBlocked,\n })}\n
\n
\n );\n },\n);\n\nconst MemoizedTrashButton = memo(\n withStyles(TrashStyles)(({ classes, onReset, isDisabled }) =>\n }\n variant=\"contained\"\n color=\"secondary\"\n onClick={onReset}\n />\n));\n\nMemoizedTrashButton.propTypes = {\n onReset: PropTypes.func.isRequired,\n isDisabled: PropTypes.bool.isRequired,\n};\n\nFooter.propTypes = {\n activeMonths: PropTypes.array.isRequired,\n goToMonth: PropTypes.func.isRequired,\n onResetDates: PropTypes.func.isRequired,\n onSubmit: PropTypes.func.isRequired,\n type: PropTypes.string.isRequired,\n result: PropTypes.object,\n isTodayDay: PropTypes.bool,\n onTodayDateSelect: PropTypes.func,\n isFilter: PropTypes.bool,\n currentDateIsBlocked: PropTypes.bool,\n};\n\nexport default withStyles(TodayStyles)(Footer);\n","import { createStyles } from '@material-ui/core';\n\nexport const TodayStyles = (theme) => createStyles({\n root: {\n textAlign: 'center',\n },\n container: {\n display: 'flex',\n borderTop: `1px solid ${theme.palette.grey[400]}`,\n borderBottom: `1px solid ${theme.palette.grey[400]}`,\n padding: '8px 16px',\n },\n button: {\n fontSize: '14px!important',\n color: theme.palette.secondary.main,\n textTransform: 'uppercase',\n fontWeight: 600,\n height: 40,\n },\n});\n\nexport const SubmitStyles = (theme) => createStyles({\n root: {\n padding: '24px 16px 16px 16px',\n display: 'flex',\n alignItems: 'center',\n },\n button: {\n marginRight: '24px',\n fontWeight: 'bold',\n background: theme.palette.primary.main,\n color: theme.palette.text.white,\n height: '60px',\n fontSize: '12px',\n lineHeight: '1.3333333333333333',\n paddingLeft: '40px',\n paddingRight: '40px',\n borderRadius: '4px',\n width: '100%',\n },\n});\n\nexport const TrashStyles = (theme) => createStyles({\n button: {\n border: `1px solid ${theme.palette.grey[500]}`,\n borderRadius: '4px',\n height: '60px',\n width: '60px',\n '& span': {\n margin: '0 !important',\n },\n },\n});\n","import qs from 'qs';\n\nfunction request(url) {\n return (path = '', query = {}) => {\n const query_string = qs.stringify(query);\n return `${url}${path ? `/${path}` : ''}${query_string ? `?${query_string}` : ''}`;\n };\n}\n\nexport const routes = {\n home: request('/'),\n auth: request('/auth'),\n resetPassword: request('/reset_password'),\n users: request('/users'),\n goods: request('/goods'),\n // payments: request('/payments'),\n goodsGroup: request('/goods_group'),\n turnoverParticipants: request('/participants'),\n operations: request('/operations'),\n markCodes: request('/codes'),\n profile: request('/profile'),\n // accruals: request('/charges'),\n\n // транзакции\n transactions: request('/transactions'),\n transactionsGroup: request('/transaction'),\n};\n\nexport default routes;\n","import React, { memo } from 'react';\nimport { withStyles } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport { Close } from '@crpt-ui/icons';\nimport format from '../utils/format.i18n';\nimport {\n TitleStyles,\n CloseStyles,\n} from './Header.styles';\n\nconst Header = ({\n classes, startDate, endDate, type, onClose, isFilter,\n}) => (\n
\n

\n {!startDate && !endDate\n && 'Дата'}\n {startDate && !endDate\n && format(startDate, 'dd MMMM', 'ru') + (type !== 'single' ? ' - ...' : '')}\n {startDate && endDate\n && `${format(startDate, 'dd MMMM', 'ru')} - ${format(endDate, 'dd MMMM', 'ru')}`}\n

\n \n {!isFilter && }\n \n
\n);\n\nconst MemoizedCloseButton = memo(\n withStyles(CloseStyles)(({ classes, onClose }) => (\n \n )),\n);\n\nMemoizedCloseButton.propTypes = {\n onClose: PropTypes.func,\n};\n\nHeader.propTypes = {\n startDate: PropTypes.instanceOf(Date),\n endDate: PropTypes.instanceOf(Date),\n type: PropTypes.string,\n onClose: PropTypes.func,\n isFilter: PropTypes.bool,\n};\n\nexport default memo(withStyles(TitleStyles)(Header));\n","import { createStyles } from '@material-ui/core';\n\nexport const TitleStyles = (theme) => createStyles({\n root: {\n borderBottom: `1px solid ${theme.palette.grey[400]}`,\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: '8px 16px',\n color: theme.palette.text.primary,\n lineHeight: '12px',\n fontWeight: 600,\n },\n title: {\n fontSize: 14,\n },\n});\n\nexport const CloseStyles = () => createStyles({\n root: {\n padding: '24px 16px 16px 16px',\n display: 'flex',\n alignItems: 'center',\n },\n button: {\n marginRight: '24px',\n fontWeight: 'bold',\n },\n});\n","import { createAction, createBoolAction } from './common';\nimport types from '../types';\n\nexport const loadCodesLimits = createAction(types.LOAD_CODES_LIMIT);\nexport const setCodesLimits = createBoolAction(types.SET_CODES_LIMIT);\nexport const checkBeforeEmission = createAction(types.CHECK_BEFORE_EMISSION);\nexport const checkBeforeMarking = createAction(types.CHECK_BEFORE_MARKING);\nexport const checkBeforePrint = createAction(types.CHECK_BEFORE_PRINT);\nexport const checkBeforePrintWithMarking = createAction(types.CHECK_BEFORE_PRINT_WITH_MARKING);\n","import { DefaultFilter } from '@crpt-ui/datatable/lib/Filters';\nimport { makeCheckboxGroupFilter } from '@crpt-ui/datatable/lib/Filters/CheckboxGroupFilter';\nimport { Translate } from '../../components/translate';\n\nexport const tabs = [\n {\n label: Translate('Общая информация о товаре'),\n },\n {\n label: Translate('Атрибуты товара'),\n },\n];\n\nexport const filters = [\n { label: 'gtin', value: 'Код товара (GTIN)' },\n { label: 'tnvedCode', value: 'Код ТН ВЭД' },\n { label: 'manufacturedCountryId', value: 'Страна производства' },\n { label: 'status', value: 'Статус' },\n { label: 'code', value: 'Полный код ТН ВЭД' },\n { label: 'rootCodes', value: 'Позиция ТН ВЭД ' },\n { label: 'productSubgroupId', value: 'Товарная группа' }, // русская о\n { label: 'productSubgroupId', value: 'Тoварная группа' }, // английская о\n { label: 'subgroupCodes', value: 'Тoвaрная группа' }, // английская о английская первая а\n { label: 'fullName', value: 'Полное наименование товара' },\n { label: 'trademark', value: 'Товарный знак' },\n\n];\n\nexport const statuses = [\n { label: 'Черновик', value: 'DRAFT' },\n { label: 'Опубликован', value: 'PUBLISHED' },\n { label: 'Заблокирован', value: 'DELETED' },\n];\n\nexport const getHeaders = (countries, subGroups) => [\n {\n accessor: (row) => row.gtin,\n id: 'gtin',\n Header: Translate('Код товара (GTIN)'),\n Filter: DefaultFilter,\n width: 180,\n },\n {\n accessor: (row) => row.tnvedGroup,\n id: 'rootCodes',\n Header: Translate('Позиция ТН ВЭД'),\n width: 130,\n },\n {\n accessor: (row) => row.tnvedCode,\n id: 'tnvedCode',\n Header: Translate('Код ТН ВЭД'),\n width: 140,\n Filter: DefaultFilter,\n },\n {\n accessor: (row) => row.fullName,\n id: 'fullName',\n Header: Translate('Полное наименование товара'),\n Filter: DefaultFilter,\n },\n {\n accessor: (row) => row?.tnved?.productSubgroup?.name ?? '',\n id: 'productSubgroupId',\n Header: Translate('Товарная группа'),\n Filter: makeCheckboxGroupFilter(subGroups),\n },\n {\n accessor: (row) => row.trademark,\n id: 'trademark',\n Header: Translate('Товарный знак'),\n width: 150,\n Filter: DefaultFilter,\n },\n {\n accessor: (row) => row.manufacturedCountry,\n id: 'manufacturedCountryId',\n Header: Translate('Страна производства'),\n Filter: makeCheckboxGroupFilter(countries),\n },\n {\n accessor: (row) => row.gcp,\n id: 'gcp',\n Header: Translate('GCP'),\n width: 130,\n },\n {\n accessor: (row) => row.gln,\n id: 'gln',\n Header: Translate('GLN'),\n width: 130,\n },\n {\n accessor: (row) => row.status,\n id: 'status',\n Header: Translate('Статус'),\n width: 130,\n Filter: makeCheckboxGroupFilter(statuses),\n },\n];\n\nexport const getSortOptionById = (sort) => {\n const id = sort.split(',')[0];\n switch (id) {\n case 'manufacturedCountryId': return sort.replace('manufacturedCountryId', 'manufacturedCountry');\n case 'productSubgroupId': return sort.replace('productSubgroupId', 'tnved.productSubgroup.name');\n case 'tnvedCode': return sort.replace('tnvedCode', 'tnved.code');\n case 'rootCodes': return sort.replace('rootCodes', 'tnved.rootCode');\n default: return sort;\n }\n};\n\n\n","import { createAction } from './common';\r\nimport types from '../types';\r\n\r\n//детализация транзакций\r\nexport const loadTransactions = createAction(types.LOAD_TRANSACTIONS);\r\nexport const setTransactions = createAction(types.SET_TRANSACTIONS);\r\nexport const loadBalances = createAction(types.LOAD_BALANCES);\r\nexport const setBalances = createAction(types.SET_BALANCES);","import React, { useMemo} from 'react';\nimport {connect} from 'react-redux';\nimport Snackbar from '@material-ui/core/Snackbar';\nimport Alert from '@material-ui/lab/Alert';\nimport {clearErrors, removeError} from '../../actions/errors';\nimport './index.scss';\n\nconst ErrorNotification = ({errors, removeError }) => {\n const onClose = (id) => {\n removeError(id);\n };\n\n const list = useMemo(() => errors.filter((item) => !!item.name), [errors]);\n return (errors.length > 0\n ? (\n
\n {\n list.map(\n (error) => {\n if (error.name == \"Неверный логин и/или пароль\" || error.name == \"Bad credentials\" || error.name == \"Учетная запись пользователя заблокирована\") {\n return;\n } else {\n return (\n \n onClose(error.id)} severity=\"error\">\n {error.name}\n \n \n )\n }\n\n },\n )\n }\n
\n ) : null);\n};\n\nconst mapStateToProps = (state) => ({\n errors: state.errors.errors,\n});\n\nconst ConnectedComponent = connect(mapStateToProps, {\n removeError,\n clearErrors,\n})(ErrorNotification);\n\nexport default ConnectedComponent;\n","module.exports = __webpack_public_path__ + \"static/media/faviconAM.4e4b4483.ico\";","module.exports = __webpack_public_path__ + \"static/media/logo_ru.7370dabf.svg\";","module.exports = __webpack_public_path__ + \"static/media/ru_small.1889810d.svg\";","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Dialog from '@material-ui/core/Dialog';\nimport MuiDialogTitle from '@material-ui/core/DialogTitle';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport IconButton from '@material-ui/core/IconButton';\nimport Typography from '@material-ui/core/Typography';\nimport { Button } from '@crpt-ui/core';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport * as Icons from '@crpt-ui/icons';\nimport './index.scss';\nimport { Translate } from '../translate';\n\nconst DialogTitle = (props) => {\n const {\n children, classes, onClose, ...other\n } = props;\n return (\n \n {children}\n \n \n \n \n );\n};\n\nexport const CommonDialog = ({\n labelSubmit,\n labelCancel,\n onClose,\n onSubmit,\n open,\n children,\n text,\n title,\n isLoading,\n withBorderBottom,\n ...props\n}) => (\n \n {\n title && (\n \n {title}\n \n )\n }\n \n {\n text\n && { text }\n }\n { children }\n \n \n {[\n labelCancel && (\n \n {Translate(labelCancel)}\n \n ),\n labelSubmit && (\n \n {Translate(labelSubmit)}\n \n ),\n ]}\n \n \n);\n\nCommonDialog.defaultProps = {\n labelCancel: 'Нет',\n labelSubmit: 'Да',\n withBorderBottom: true,\n isLoading: false,\n onClose: (e) => e,\n onSubmit: (e) => e,\n};\n\nCommonDialog.propTypes = {\n labelCancel: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n labelSubmit: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n onClose: PropTypes.func,\n onSubmit: PropTypes.func,\n withBorderBottom: PropTypes.bool,\n open: PropTypes.bool,\n isLoading: PropTypes.bool,\n};\n","import { createAction } from './common';\nimport types from '../types';\n\nexport const loadServices = createAction(types.GET_OPERATOR_SERVISE);\nexport const setServices = createAction(types.SET_SERVICES);\n","import format from './format.i18n';\n\nexport default function formatDatesString(dates, options) {\n const { type = 'single', displayFormat = 'dd.MM.yyyy', placeholder = '' } = options;\n if (!dates) {\n return placeholder;\n }\n const { startDate, endDate } = dates;\n if (!startDate && !endDate) {\n return placeholder;\n } if (startDate && !endDate) {\n return format(startDate, displayFormat, 'ru') + (type !== 'single' ? ' - ...' : '');\n } if (startDate && endDate) {\n return format(startDate, displayFormat, 'ru') + (type !== 'single' ? ` - ${format(endDate, displayFormat, 'ru')}` : '');\n }\n return '';\n}\n","import { makeStyles } from '@material-ui/core/styles';\n\nexport default (theme) => ({\n popper: {\n zIndex: theme.zIndex.modal,\n },\n grow: {\n transformOrigin: 'right top',\n },\n});\n\nexport const paperStyles = makeStyles({\n root: {\n boxShadow: '0px 4px 20px rgba(0, 0, 0, 0.15)',\n },\n});\n","/* eslint-disable */\nimport React, { useState, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { Paper, Popper, ClickAwayListener, Grow, withStyles } from '@material-ui/core';\nimport { Input } from '@crpt-ui/core';\nimport { parse, getYear } from 'date-fns';\n\nimport DatePicker from './DatePicker';\nimport formatDatesString from './utils/formatDatesString';\nimport { START_YEAR, YEARS_AFTER } from './Datepicker.constants';\nimport DatePickerInputStyles, { paperStyles } from './DatePickerInput.styles';\n\nconst Datepicker = ({\n onChange,\n onInputChange,\n date,\n minDate,\n maxDate,\n parse: parseFormat,\n format,\n disabled = false,\n displayFormat = 'dd.MM.yyyy',\n startYear = START_YEAR,\n yearsAfter = YEARS_AFTER,\n PaperProps,\n classes,\n ...props\n}) => {\n const dateToValue = (d) => {\n if (!d) {\n return '';\n }\n if (typeof d === 'string') {\n const parsedDate = parse(date, parseFormat || '', new Date());\n if (parsedDate instanceof Date && !isNaN(parsedDate)) {\n return formatDatesString({ startDate: parsedDate }, { displayFormat });\n } else {\n console.error('Invalid parse format for received input value');\n return '';\n }\n } else {\n return formatDatesString({ startDate: date }, { displayFormat });\n }\n };\n\n const inputRef = useRef(null);\n const popperRef = useRef(null);\n const [anchorEl, setAnchorEl] = useState(null);\n const [open, setOpen] = useState(false);\n const [state, setState] = useState({\n value: dateToValue(date),\n });\n const paperClasses = paperStyles(PaperProps);\n\n useEffect(() => {\n setAnchorEl(inputRef.current);\n }, []);\n\n useEffect(() => {\n setState({\n value: dateToValue(date),\n });\n }, [date]);\n\n const handleClick = () => {\n if(!disabled) {\n setOpen(true);\n }\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n const clickAwayHandle = (event) => {\n const cursorX = event.pageX;\n const cursorY = event.pageY;\n const { right, left, top, bottom } = popperRef.current.popper.getBoundingClientRect();\n const isOutsideClick = cursorX > right || cursorX < left || cursorY < top || cursorY > bottom;\n const isAnchorClick = event.target === inputRef.current;\n\n if (isOutsideClick && !isAnchorClick) {\n setOpen(false);\n }\n };\n\n const handleDateSubmit = (d) => {\n setState({\n value: formatDatesString({ startDate: d }, { displayFormat }),\n });\n if (format) {\n onChange(formatDatesString({ startDate: d }, { displayFormat: format }));\n } else {\n onChange(d);\n }\n handleClose();\n };\n\n const handleChangeInput = (inputDate) => {\n const parsedDate = parse(inputDate, displayFormat, new Date());\n // Проверяем год на соответсвие с displayFormat (date-fns не умеет strict в отличии от moment)\n const yearToken = displayFormat.match(/y+/g)[0];\n const yearValue = String(getYear(parsedDate));\n\n if(!inputDate) {\n setState({value: inputDate});\n onChange(null);\n return;\n }\n\n if (yearToken.length !== yearValue.length) {\n setState({ value: inputDate });\n return;\n }\n\n if (parsedDate instanceof Date && !isNaN(parsedDate)) {\n if (format) {\n onChange(formatDatesString({ startDate: parsedDate }, { displayFormat: format }));\n } else {\n onChange(parsedDate);\n }\n }\n\n if (onInputChange) {\n onInputChange(inputDate);\n }\n\n setState({value: inputDate});\n };\n\n const getDate = (d) => {\n const parsedDate = parse(d, displayFormat, new Date());\n if (parsedDate instanceof Date && !isNaN(parsedDate)) {\n return parsedDate;\n } else {\n return null;\n }\n };\n\n return (\n
\n handleChangeInput(e.target.value)}\n onClick={handleClick}\n disabled={disabled}\n inputRef={inputRef}\n {...props}\n />\n \n {({ TransitionProps }) => (\n \n \n \n \n \n \n \n )}\n \n
\n );\n};\nDatepicker.propTypes = {\n onChange: PropTypes.func,\n onInputChange: PropTypes.func,\n date: PropTypes.instanceOf(Date),\n minDate: PropTypes.instanceOf(Date),\n maxDate: PropTypes.instanceOf(Date),\n displayFormat: PropTypes.string,\n parse: PropTypes.string,\n format: PropTypes.string,\n disabled: PropTypes.bool,\n};\n\nexport default withStyles(DatePickerInputStyles, {\n name: 'DatePickerInput',\n})(Datepicker);\n","import React from 'react';\nimport DatePickerInput from '../DatePicker/DatePickerInput';\nimport { Translate } from '../translate';\n// import { DatePickerInput } from \"@crpt-ui/core\"\n\nconst DatePickerField = ({\n input: {\n name, onChange, value, ...restInput\n }, label, withoutMargin, meta, isMaxDateUnlimited,isMinDateUnlimited, ...rest\n}) => (\n
\n \n
\n);\n\nexport default DatePickerField;\n","/* eslint-disable */\nimport PropTypes from 'prop-types';\nimport React, { useCallback, useState } from 'react';\n\nimport Controls from './components/Controls';\nimport Footer from './components/Footer';\nimport Header from './components/Header';\nimport Month from './components/Month';\nimport DatePickerContext from './DatePicker.context';\nimport { END_DATE, START_DATE, useDatepicker } from './hooks';\nimport { START_YEAR, YEARS_AFTER } from './Datepicker.constants';\n\nconst RangeDatepicker = ({\n onSubmit,\n onClose,\n startDate,\n endDate,\n minDate,\n maxDate,\n isFilter,\n onDateChange,\n startYear = START_YEAR,\n yearsAfter = YEARS_AFTER\n}) => {\n const [state, setState] = useState({\n startDate: startDate ? startDate : null,\n endDate: endDate ? endDate : null,\n focusedInput: startDate ? END_DATE : START_DATE,\n });\n\n const getDate = (date, boundary) => {\n if (!date) {\n return date;\n }\n const copiedDate = new Date(date.getTime());\n if (boundary === START_DATE) {\n copiedDate.setHours(0, 0, 0, 0);\n } else {\n copiedDate.setHours(23, 59, 59, 999);\n }\n return copiedDate;\n };\n\n const handleTodayClick = (date) => {\n const startDate = getDate(date, START_DATE);\n const endDate = getDate(date, END_DATE);\n\n setState({\n startDate,\n endDate,\n focusedInput: END_DATE,\n });\n\n if (typeof onDateChange === 'function') {\n onDateChange({\n startDate,\n endDate,\n });\n }\n };\n\n const handleDateChange = (data) => {\n const startDate = getDate(data.startDate, START_DATE);\n const endDate = getDate(data.endDate, END_DATE);\n\n if (!data.focusedInput) {\n setState({\n startDate,\n endDate,\n focusedInput: START_DATE,\n });\n } else {\n setState({\n ...data,\n startDate,\n endDate,\n });\n }\n\n if (typeof onDateChange === 'function') {\n onDateChange({\n startDate,\n endDate,\n });\n }\n };\n const {\n firstDayOfWeek,\n activeMonths,\n isDateSelected,\n isDateHovered,\n isLastSelectedDate,\n isFirstSelectedDate,\n isDateBlocked,\n isDateFocused,\n focusedDate,\n onDateHover,\n onDateSelect,\n onDateFocus,\n onResetDates,\n goToMonth,\n } = useDatepicker({\n startDate: state.startDate,\n endDate: state.endDate,\n focusedInput: state.focusedInput,\n onDatesChange: handleDateChange,\n numberOfMonths: 1,\n minBookingDate: minDate,\n maxBookingDate: maxDate,\n });\n\n const memoizedGoToMonth = useCallback((newDate) => goToMonth(newDate), []);\n const memoizedOnSubmit = useCallback((result) => onSubmit(result), []);\n const memoizedOnResetDates = useCallback(() => onResetDates(), []);\n\n return (\n
\n \n
\n \n\n \n\n
\n {activeMonths.map((month) => (\n \n ))}\n
\n \n
\n \n
\n );\n};\nRangeDatepicker.propTypes = {\n onSubmit: PropTypes.func,\n onClose: PropTypes.func,\n startDate: PropTypes.instanceOf(Date),\n endDate: PropTypes.instanceOf(Date),\n minDate: PropTypes.instanceOf(Date),\n maxDate: PropTypes.instanceOf(Date),\n /** Indicate that RangeDatepicker use in table filter area\n * Hide close button in Header. Hide control buttons in Footer */\n isFilter: PropTypes.bool,\n onDateChange: PropTypes.func,\n startYear: PropTypes.number,\n yearsAfter: PropTypes.number,\n};\n\nRangeDatepicker.defaultProps = {\n onSubmit: () => {},\n onClose: () => {},\n isFilter: false,\n};\n\nexport default RangeDatepicker;\n","/* eslint-disable */\nimport { get, isEmpty } from 'lodash';\nimport React, { useCallback } from 'react';\nimport { Field } from 'react-final-form';\n\nimport RangeDatePicker from \"../DatePicker/RangeDatePicker\";\nimport {generateFilter} from \"./DatepickerFilter\";\n\nexport const RangeDatepickerFilter = React.memo(({column, form, formState, instance, ...rest}) => {\n const validator = useCallback((value) => {\n if (isEmpty(value)) {\n return 'error';\n }\n\n return value.startDate && value.endDate ? null : 'error';\n }, []);\n\n return (\n \n {(props) => {\n const { input } = props;\n\n const fieldValue = get(input, 'value', {});\n const { startDate, endDate } = fieldValue;\n\n const onChange = useCallback((value) => {\n const nextValue = isEmpty(value) ? {} : value;\n input.onChange(nextValue);\n }, []);\n\n return (\n
\n \n
\n );\n }}\n
\n );\n});\n\nexport const makeRangeDatepickerFilter = generateFilter(RangeDatepickerFilter);\n\n","const types = {\n REDIRECT_TO: '[SAGA/COMMON]/REDIRECT_TO',\n PUSH_SEARCH_PROPS: '[SAGA/COMMON]/PUSH_SEARCH_PROPS',\n\n START_REQUEST: '[REQUEST]/START',\n FINISH_REQUEST: '[REQUEST]/FINISH',\n\n ADD_ERROR: '[ERROR]/ADD_ERROR',\n SET_ERROR: '[ERROR]/SET_ERROR',\n REMOVE_ERROR: '[ERROR]/REMOVE_ERROR',\n CLEAR_ERRORS: '[ERROR]/CLEAR_ERRORS',\n\n SET_MESSAGE: '[MESSAGE]/SET_MESSAGE',\n\n LOAD_PARTICIPANTS: '[SAGS/PARTICIPANTS]/LOAD_PARTICIPANTS',\n LOAD_PARTICIPANT: '[SAGS/PARTICIPANTS]/LOAD_PARTICIPANT',\n LOAD_PAY_CSV: '[SAGS/PARTICIPANTS]/LOAD_PAY_CSV',\n\n SET_PARTICIPANTS: '[SAGS/PARTICIPANTS]/SET_PARTICIPANTS',\n SET_PARTICIPANT: '[SAGS/PARTICIPANTS]/SET_PARTICIPANT',\n SET_PARTICIPANT2: '[SAGS/PARTICIPANTS]/SET_PARTICIPANT2',\n CLEAR_PARTICIPANT: '[CLEAR/PARTICIPANTS]/CLEAR_PARTICIPANT',\n CREATE_PARTICIPANT: '[SAGS/PARTICIPANTS]/CREATE_PARTICIPANT',\n UPDATE_PARTICIPANT: '[SAGS/PARTICIPANTS]/UPDATE_PARTICIPANT',\n PATCH_PARTICIPANT: '[SAGS/PARTICIPANTS]/PATCH_PARTICIPANT',\n UPDATE_PARTICIPANTS: '[SAGS/PARTICIPANTS]/UPDATE_PARTICIPANTS',\n UPDATE_PARTICIPANTS_AFTER_CREATE: '[SAGS/PARTICIPANTS]/UPDATE_PARTICIPANTS_AFTER_CREATE',\n GET_PARTICIPANT: '[SAGS/PARTICIPANTS]/GET_PARTICIPANT',\n ADD_PARTICIPANTS_GROUP: '[SAGS/PARTICIPANTS]/ADD_PARTICIPANTS_GROUP',\n REMOVE_PARTICIPANTS_GROUP: '[SAGS/PARTICIPANTS]/REMOVE_PARTICIPANTS_GROUP',\n DOWNLOAD_PARTICIPANT_XLSX: '[SAGS/PARTICIPANTS]/DOWNLOAD_PARTICIPANT_XLSX',\n\n LOAD_USERS: '[SAGS/USERS]/LOAD_USERS',\n SET_USERS: '[SAGS/USERS]/SET_USERS',\n LOAD_USER: '[SAGS/USERS]/LOAD_USER',\n SET_USER: '[SAGS/USERS]/SET_USER',\n UPDATE_USER: '[SAGS/PARTICIPANTS]/UPDATE_USER',\n UPDATE_USERS: '[SAGS/PARTICIPANTS]/UPDATE_USERS',\n CREATE_USER: '[SAGS/PARTICIPANTS]/CREATE_USER',\n UPDATE_USERS_AFTER_CREATE: '[SAGS/PARTICIPANTS]/UPDATE_USERS_AFTER_CREATE',\n PATCH_USER: '[SAGS/PARTICIPANTS]/PATCH_USER',\n SET_PASSWORD_ERROR: '[SAGS/PARTICIPANTS]/SET_PASSWORD_ERROR',\n\n CREATE_PRODUCT: '[SAGS/GOODS]/CREATE_PRODUCT',\n LOAD_PRODUCT: '[SAGS/GOODS]/LOAD_PRODUCT',\n\n SET_PRODUCT: '[SAGS/GOODS]/SET_PRODUCT',\n UPDATE_PRODUCT: '[SAGS/GOODS]/UPDATE_PRODUCT',\n PATCH_PRODUCT: '[SAGS/GOODS]/PATCH_PRODUCT',\n UPDATE_GOODS_AFTER_CREATE: '[SAGS/GOODS]/UPDATE_GOODS_AFTER_CREATE',\n LOAD_GOODS_LIST: '[SAGS/GOODS]/LOAD_GOODS_LIST',\n SET_GOODS_LIST: '[SAGS/GOODS]/SET_GOODS_LIST',\n CLEAR_PRODUCT: '[SAGS/GOODS]/CLEAR_PRODUCT',\n SET_CLEAR_PRODUCT: '[SAGS/GOODS]/SET_CLEAR_PRODUCT',\n GET_GOOD_CARD: '[SAGS/GOODS]/GET_GOOD_CARD',\n SET_GOODS_CARD_PROPERTIES_LIST: '[SAGS/GOODS]/SET_GOODS_CARD_PROPERTIES_LIST',\n GET_GOODS_CARD_SOLO_PROPERTY_VALUES: '[SAGS/GOODS]/GET_GOODS_CARD_SOLO_PROPERTY_VALUES',\n SET_GOODS_CARD_PROPERTIES_ATTRIBUTE_LIST: '[SAGS/GOODS]/SET_GOODS_CARD_PROPERTIES_ATTRIBUTE_LIST',\n\n SET_GOODS_CARD_PROPERTIES_ATTRIBUTE_LIST_CHANGE_IS_REQUIRED: 'SET_GOODS_CARD_PROPERTIES_ATTRIBUTE_LIST_CHANGE_IS_REQUIRED',\n\n SET_GOODS_CARD_PROPERTIES_ATTRIBUTE_UNITS_LIST: '[SAGS/GOODS]/SET_GOODS_CARD_PROPERTIES_ATTRIBUTE_UNITS_LIST',\n ADD_GOODS_CARD_PROPERY: '[SAGS/GOODS]/ADD_GOODS_CARD_PROPERY',\n REMOVE_GOODS_CARD_PROPERY: '[SAGS/GOODS]/REMOVE_GOODS_CARD_PROPERY',\n CLEAR_GOODS_CARD_PROPERY: '[SET/GOODS]/CLEAR_GOODS_CARD_PROPERY',\n\n SET_SETTINGS: '[SAGS/SETTINGS]/SET_SETTINGS',\n SET_DICT_SETTINGS: '[SAGS/SETTINGS]/SET_DICT_SETTINGS',\n SET_IS_LOADING: '[SAGS/SETTINGS]/SET_IS_LOADING',\n SET_COMMON_SETTINGS: '[SAGS/SETTINGS]/SET_COMMON_SETTINGS',\n SET_CLEAR_SETTINGS: '[SET/SETTINGS]/SET_CLEAR_SETTINGS',\n\n SET_SETTINGS_FILTER: '[SAGS/SETTINGS]/SET_OPERATION_FILTER',\n SET_SETTINGS_PAGE: '[SAGS/SETTINGS]/SET_OPERATION_PAGE',\n SET_SETTINGS_SORT: '[SAGS/SETTINGS]/SET_SETTINGS_SORT',\n\n\n LOAD_SETTINGS: '[SAGS/SETTINGS]/LOAD_SETTINGS',\n SET_ERRORS: '[SAGS/ERRORS]/SET_ERRORS',\n CHECK_PASSWORD: '[SAGS/SETTINGS]/CHECK_PASSWORD',\n\n LOGIN: '[SAGS/AUTH]/LOGIN',\n LOGOUT: '[SAGS/AUTH]/LOGOUT',\n SET_AUTH_DATA: '[SAGS/AUTH]/SET_AUTH_DATA',\n CLEAR_AUTH_DATA: '[SAGS/AUTH]/CLEAR_AUTH_DATA',\n RECONNECT_AUTH_DATA: '[SAGS/AUTH]/RECONNECT_AUTH_DATA',\n LOGOUT_BY_BLOCK: '[SAGS/AUTH]/LOGOUT_BY_BLOCK',\n CHECK_AUTH_DATA: '[SAGS/AUTH]/CHECK_AUTH_DATA',\n GET_CURRENT_USER: '[SAGS/AUTH]/GET_CURRENT_USER',\n SET_CURRENT_USER: '[SAGS/AUTH]/SET_CURRENT_USER',\n CLEAR_CURRENT_USER: '[SAGS/AUTH]/CLEAR_CURRENT_USER',\n\n SEND_EMAIL_RESET: '[SAGS/RESET_PASSWORD]/SEND_EMAIL_RESET',\n SET_EMAIL: '[SAGS/RESET_PASSWORD]/SET_EMAIL',\n UPDATE_PASSWORD: '[SAGS/RESET_PASSWORD]/UPDATE_PASSWORD',\n\n LOAD_OPERATIONS: '[SAGS/OPERATIONS]/LOAD_OPERATIONS',\n SET_OPERATIONS: '[SAGS/OPERATIONS]/SET_OPERATIONS',\n CREATE_OPERATION: '[SAGS/OPERATIONS]/CREATE_OPERATION',\n UPDATE_OPERATIONS_AFTER_CREATE: '[SAGS/OPERATIONS]/UPDATE_OPERATIONS_AFTER_CREATE',\n SET_OPERATION_TYPE: '[SAGS/OPERATIONS]/SET_OPERATION_TYPE',\n CHOOSE_OPERATION_TYPE: '[SAGS/OPERATIONS]/CHOOSE_OPERATION_TYPE',\n SET_OPERATION: '[SAGS/OPERATIONS]/SET_OPERATION',\n LOAD_OPERATION: '[SAGS/OPERATIONS]/LOAD_OPERATION',\n LOAD_OPERATION_HISTORY: '[SAGS/OPERATIONS]/LOAD_OPERATION_HISTORY',\n SET_OPERATION_HISTORY: '[SAGS/OPERATIONS]/SET_OPERATION_HISTORY',\n SET_SETTINGS_HISTORY: '[SAGS/OPERATIONS]/SET_SETTINGS_HISTORY',\n CREATE_MARKING_OPERATION: '[SAGS/OPERATIONS]/CREATE_MARKING_OPERATION',\n CREATE_MARK_ORDER_OPERATION: '[SAGS/OPERATIONS]/CREATE_MARK_ORDER_OPERATION',\n CANCEL_TRANSGRAN: '[SAGS/OPERATIONS]/CANCEL_TRANSGRAN',\n DOWNLOAD_XLSX: '[SAGS/OPERATIONS]/DOWNLOAD_XLSX',\n\n\n\n\n\n\n UPLOAD_FILE_MARK_CODES: '[SAGS/FILES]/UPLOAD_FILE_MARK_CODES',\n UPLOAD_FILE_ANY_TYPE: '[SAGS/FILES]/UPLOAD_FILE_ANY_TYPE',\n\n UPLOAD_FILE_SERIAL_NUMBERS: '[SAGS/FILES]/UPLOAD_FILE_SERIAL_NUMBERS',\n DOWNLOAD_FILE: '[SAGS/FILES]/DOWNLOAD_FILE',\n\n LOAD_COUNTRY_DICTIONARY: '[SAGS/DICTIONARY]/LOAD_COUNTRY_DICTIONARY',\n SET_COUNTRY_DICTIONARY: '[SAGS/DICTIONARY]/SET_COUNTRY_DICTIONARY',\n LOAD_TNVED_DICTIONARY: '[SAGS/DICTIONARY]/LOAD_TNVED_DICTIONARY',\n SET_TNVED_DICTIONARY: '[SAGS/DICTIONARY]/SET_TNVED_DICTIONARY',\n LOAD_TNVED_ROOT_DICTIONARY: '[SAGS/DICTIONARY]/LOAD_TNVED_ROOT_DICTIONARY',\n SET_TNVED_ROOT_DICTIONARY: '[SAGS/DICTIONARY]/SET_TNVED_ROOT_DICTIONARY',\n LOAD_SHOES_TYPES_DICTIONARY: '[SAGS/DICTIONARY]/LOAD_SHOES_TYPES_DICTIONARY',\n SET_SHOES_TYPES_DICTIONARY: '[SAGS/DICTIONARY]/SET_SHOES_TYPES_DICTIONARY',\n LOAD_SHOES_SIZES_DICTIONARY: '[SAGS/DICTIONARY]/LOAD_SHOES_SIZES_DICTIONARY',\n SET_SHOES_SIZES_DICTIONARY: '[SAGS/DICTIONARY]/SET_SHOES_SIZES_DICTIONARY',\n LOAD_SHOES_COLORS_DICTIONARY: '[SAGS/DICTIONARY]/LOAD_SHOES_COLORS_DICTIONARY',\n SET_SHOES_COLORS_DICTIONARY: '[SAGS/DICTIONARY]/SET_SHOES_COLORS_DICTIONARY',\n LOAD_TOP_SHOES_MATERIALS_DICTIONARY: '[SAGS/DICTIONARY]/LOAD_TOP_SHOES_MATERIALS_DICTIONARY',\n SET_TOP_SHOES_MATERIALS_DICTIONARY: '[SAGS/DICTIONARY]/SET_TOP_SHOES_MATERIALS_DICTIONARY',\n LOAD_SHOES_MATERIALS_DICTIONARY: '[SAGS/DICTIONARY]/LOAD_SHOES_MATERIALS_DICTIONARY',\n SET_SHOES_MATERIALS_DICTIONARY: '[SAGS/DICTIONARY]/SET_SHOES_MATERIALS_DICTIONARY',\n LOAD_BOTTOM_SHOES_MATERIALS_DICTIONARY: '[SAGS/DICTIONARY]/LOAD_BOTTOM_SHOES_MATERIALS_DICTIONARY',\n SET_BOTTOM_SHOES_MATERIALS_DICTIONARY: '[SAGS/DICTIONARY]/SET_BOTTOM_SHOES_MATERIALS_DICTIONARY',\n LOAD_PRODUCT_TYPES: '[SAGS/DICTIONARY]/LOAD_PRODUCT_TYPES',\n SET_PRODUCT_TYPES: '[SAGS/DICTIONARY]/SET_PRODUCT_TYPES',\n LOAD_PRODUCT_SUB_TYPES: '[SAGS/DICTIONARY]/LOAD_PRODUCT_SUB_TYPES',\n SET_PRODUCT_SUB_TYPES: '[SAGS/DICTIONARY]/SET_PRODUCT_SUB_TYPES',\n LOAD_PARTICIPANT_DICTIONARY: '[SAGS/DICTIONARY]/LOAD_PARTICIPANT_DICTIONARY',\n\n LOAD_PRODUCT_GROUPS_UOD_LIST: '[SAGS/DICTIONARY]/LOAD_PRODUCT_GROUPS_UOD_LIST',\n SET_PRODUCT_GROUPS_UOD_LIST: '[SAGS/DICTIONARY]/SET_PRODUCT_GROUPS_UOD_LIST',\n CLEAR_PRODUCT_GROUPS_UOD_LIST: '[CLEAR/DICTIONARIES]/CLeAR_DICTIONARIES',\n\n LOAD_CODES: '[SAGS/MARK_CODES]/LOAD_CODES',\n SET_CODES: '[SAGS/MARK_CODES]/SET_CODES',\n CLEAR_CODES: '[SAGS/MARK_CODES]/CLEAR_CODES',\n LOAD_CODE: '[SAGS/MARK_CODES]/LOAD_CODE',\n SET_CODE: '[SAGS/MARK_CODES]/SET_CODE',\n DOWNLOAD_CODES_FILTER: '[SAGS/MARK_CODES]/DOWNLOAD_CODES_FILTER',\n CLEAR_DOWNLOAD_CODES_FILTER: '[SAGS/MARK_CODES]/CLEAR_DOWNLOAD_CODES_FILTER',\n\n\n LOAD_CODE_HISTORY: '[SAGS/MARK_CODES]/LOAD_CODE_HISTORY',\n SET_CODE_HISTORY: '[SAGS/MARK_CODES]/SET_CODE_HISTORY',\n DOWNLOAD_MARK_CODES: '[SAGS/MARK_CODES]/DOWNLOAD_MARK_CODES',\n DOWNLOAD_MARK_CODES_UNLOADING: '[SAGS/MARK_CODES]/DOWNLOAD_MARK_CODES_UNLOADING',\n PRINT_MARK_CODES_PDF: '[SAGS/MARK_CODES]/PRINT_MARK_CODES_PDF',\n\n GET_OPERATOR_SERVISE: '[SAGS/SERVICES]/GET_OPERATOR_SERVISE',\n SET_SERVICES: '[SET/SERVICES]/SET_SERVICES',\n\n GET_ACCOUNTS_BALANCES_HISTORY: '[SAGS/ACCOUNTS]/GET_ACCOUNTS_BALANCES_HISTORY',\n SET_ACCOUNTS_BALANCES_HISTORY: '[SET/ACCOUNTS]/SET_ACCOUNTS_BALANCES_HISTORY',\n\n ADD_ACCOUNTS_PAY: '[SAGS/PAYMENTS]/ADD_ACCOUNTS_PAY',\n GET_ACCOUNTS_PAY: '[SAGS/PAYMENTS]/GET_ACCOUNTS_PAY',\n SET_ACCOUNTS_PAY: '[SET/PAYMENTS]/SET_ACCOUNTS_PAY',\n SET_COMMIT_FILE_PAY: '[SAGS/PAYMENTS]/SET_COMMIT_FILE_PAY',\n SET_PAYMENT: '[SAGS/PAYMENTS]/SET_PAYMENT',\n CANCEL_PAYMENT: '[SAGS/PAYMENTS]/CANCEL_PAYMENT',\n\n LOAD_PAYMENT_ACCOUNTS: '[SAGS/PAYMENT_ACCOUNTS]/LOAD_PAYMENT_ACCOUNTS',\n SET_PAYMENT_ACCOUNTS: '[SAGS/PAYMENT_ACCOUNTS]/SET_PAYMENT_ACCOUNTS',\n\n LOAD_ACCRUALS: '[SAGS/ACCRUALS]/LOAD_ACCRUALS',\n SET_ACCRUALS: '[SAGS/ACCRUALS]/SET_ACCRUALS',\n DOWNLOAD_ACCRUALS: '[SAGS/ACCRUALS]/DOWNLOAD_ACCRUALS',\n\n LOAD_CODES_LIMIT: '[SAGS/OPERATION]/LOAD_CODES_LIMIT',\n SET_CODES_LIMIT: '[SAGS/OPERATION]/SET_CODES_LIMIT',\n CHECK_BEFORE_EMISSION: '[SAGS/OPERATION]/CHECK_BEFORE_EMISSION',\n CHECK_BEFORE_MARKING: '[SAGS/OPERATION]/CHECK_BEFORE_MARKING',\n CHECK_BEFORE_PRINT: '[SAGS/OPERATION]/CHECK_BEFORE_PRINT',\n CHECK_BEFORE_PRINT_WITH_MARKING: '[SAGS/OPERATION]/CHECK_BEFORE_PRINT_WITH_MARKING',\n\n CREATE_AGGREGATION: '[SAGS/AGGREGATION]/CREATE_AGGREGATION',\n UPLOAD_AGGREGATION: '[SAGS/AGGREGATION]/UPLOAD_AGGREGATION',\n CANCEL_AGGREGATION: '[SAGS/AGGREGATION]/CANCEL_AGGREGATION',\n\n //детализация транзакций\n LOAD_TRANSACTIONS: '[SAGS/TRANSACTIONS]/LOAD_TRANSACTIONS',\n SET_TRANSACTIONS: '[SAGS/TRANSACTIONS]/SET_TRANSACTIONS',\n LOAD_BALANCES: '[SAGS/TRANSACTIONS]/LOAD_BALANCES',\n SET_BALANCES: '[SAGS/TRANSACTIONS]/SET_BALANCES',\n\n SET_LANGUAGE: '[SAGS/LANGUAGE]/SET_LANGUAGE',\n\n redirectMethods: {\n push: 'push',\n replace: 'replace',\n },\n};\n\nexport default types;\n","import React from 'react';\nimport * as Icons from '@crpt-ui/icons';\n\nexport const productsIcons = {\n 1: ,\n 2: ,\n 3: ,\n 4: ,\n 5: ,\n 6: ,\n 7: ,\n 8: ,\n 9: ,\n 10: ,\n 11: ,\n 12: ,\n 13: ,\n};\n\nexport const productGroupsNames = {\n 1: 'Предметы одежды, белье постельное, столовое, туалетное и кухонное',\n 2: 'Обувные товары',\n 3: 'Табачная продукция',\n 4: 'Духи и туалетная вода',\n 5: 'Шины и покрышки пневматические резиновые новые',\n 6: 'Фотокамеры (кроме кинокамер), фотовспышки и лампы-вспышки',\n 7: 'Лекарственные препараты для медицинского применения',\n 8: 'Молочная продукция',\n 9: 'Велосипеды и велосипедные рамы',\n 10: 'Кресла-коляски',\n 11: 'Алкоголь',\n 12: 'Альтернативная табачная продукция',\n 13: 'Питьевая вода',\n};\n","import {Button, Modal} from '@crpt-ui/core';\nimport React from 'react';\nimport {Field, Form} from 'react-final-form';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {TextField} from '../../../components/final-form';\nimport {validators} from '../../../helpers/form-validators';\nimport {Translate} from '../../../components/translate';\nimport {setPasswordError} from '../../../actions/users';\n\n\nconst VALIDATORS = {\n password: validators.pipe(\n validators.required,\n validators.is.password\n ),\n retryPassword: (password) => validators.pipe(\n validators.required,\n validators.is.password,\n validators.eq(password),\n ),\n};\n\nexport const ChangePasswordModal = ({\n onClose, onSave, text, title, isExpired, role, isProfile,\n }) => {\n const currentUser = useSelector((state) => state.currentUser);\n const error = useSelector((state) => state.users?.error);\n const dispatch = useDispatch();\n\n const close = () => {\n dispatch(setPasswordError(null));\n onClose();\n };\n\n const save = (values) => {\n dispatch(setPasswordError(null));\n onSave(values);\n };\n\n\n\n return (\n \n

{Translate(title)}

\n {\n text &&

{Translate(text)}

\n }\n {\n error &&

{error}

\n }\n (\n
\n {\n // eslint-disable-next-line no-mixed-operators\n // (role === 'PARTICIPANT' || (role === 'OPERATOR' && isProfile) || isExpired)\n currentUser.type === 'PARTICIPANT' && (\n \n )\n }\n \n \n
\n {\n !isExpired && (\n \n )\n }\n \n
\n \n )}\n />\n
\n );\n};\n\nChangePasswordModal.defaultProps = {\n text: null,\n isExpired: false,\n title: 'Введите новый пароль',\n};\n","module.exports = __webpack_public_path__ + \"static/media/faviconKZ.83cbcbcc.ico\";","module.exports = __webpack_public_path__ + \"static/media/fiviconRU.88a69e66.ico\";","module.exports = __webpack_public_path__ + \"static/media/favicon.57ab971d.ico\";","module.exports = __webpack_public_path__ + \"static/media/logoBigKZ.f97600c0.jpg\";","module.exports = __webpack_public_path__ + \"static/media/logoSmallKZ.42275c34.jpg\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/logo_short.6950cd2a.png\";","import React from 'react';\nimport {compose} from 'redux';\nimport {withTranslation} from 'react-i18next';\nimport './index.scss';\nimport {Field, Form} from 'react-final-form';\nimport {Button} from '@crpt-ui/core';\nimport {connect} from 'react-redux';\nimport TextField from '../../components/final-form/text-field';\nimport {login} from '../../actions/auth';\nimport {Logo} from './logo';\nimport {LanguageSwitcher} from '../../components/language-switcher/languageSwitcher';\nimport {Translate} from '../../components/translate';\nimport * as Icons from '@crpt-ui/icons';\nimport {clearErrors, removeError} from \"../../actions/errors\";\nimport Alert from \"@material-ui/lab/Alert\";\nimport Snackbar from \"@material-ui/core/Snackbar\";\nimport ErrorNotification from \"../../components/notification\";\n\n\nclass AuthPage extends React.Component {\n\n state = {\n showPass: false,\n };\n\n\n login = (values) => {\n\n const {login} = this.props;\n login({\n data: {\n username: values.username.trim(),\n password: values.password.trim()\n }\n });\n };\n\n\n componentWillUnmount() {\n this.props.clearErrors()\n }\n\n test = () => {\n\n }\n\n render() {\n const {errors, settings, t, onResetPassword, messages, clearErrors} = this.props;\n\n\n return (\n\n
\n\n
\n {messages.length > 0 && \n clearErrors()} severity=\"success\">\n {messages[messages.length - 1].name}\n \n }\n
\n\n\n
\n
\n
\n \n
\n
\n \n
\n (\n
\n \n
\n
\n \n
\n
\n \n
\n
\n\n {\n errors.length > 0 && (\n

\n {Translate(errors[errors.length - 1].name)}\n

\n )\n\n\n // errors.length > 0 && errors.map((error) => (\n //

\n // {Translate(error.name)}\n //

\n // ))\n }\n
\n \n
\n
\n \n
\n {\n settings.countryCode === 'KG' && (\n <>\n

Контакты тех поддержки: 0 999 333 999

\n

info@teksher.kg

\n \n )\n }\n \n )}\n />\n\n
\n
\n );\n }\n}\n\nexport const mapStateToProps = (state) => ({\n history: state.router,\n errors: state.errors.errors,\n messages: state.errors.messages,\n settings: state.settings.common,\n});\n\nconst ConnectedComponent = compose(\n withTranslation(),\n connect(mapStateToProps, {\n login,\n clearErrors,\n removeError\n }),\n)(AuthPage);\n\nexport default ConnectedComponent;\n","import React, {Component} from 'react';\r\nimport {LanguageSwitcher} from \"../../components/language-switcher/languageSwitcher\";\r\nimport {Logo} from \"../auth/logo\";\r\nimport {Field, Form} from 'react-final-form';\r\nimport TextField from \"../../components/final-form/text-field\";\r\nimport {Button} from \"@crpt-ui/core\";\r\nimport {connect} from \"react-redux\";\r\nimport {sendEmailReset} from \"../../actions/reset-password\";\r\nimport {clearErrors} from \"../../actions/errors\";\r\nimport {validators} from \"../../helpers/form-validators\";\r\n\r\n\r\nconst VALIDATORS = {\r\n email: validators.pipe(\r\n validators.required,\r\n validators.is.emailSymbols,\r\n validators.is.email,\r\n ),\r\n}\r\n\r\n\r\nclass ResetPasswordPage extends Component {\r\n\r\n\r\n sendEmail = (values) => {\r\n const {sendEmailReset, onCodePage} = this.props;\r\n sendEmailReset({\r\n data: {...values},\r\n onFinish: () => {\r\n onCodePage()\r\n }\r\n })\r\n }\r\n\r\n componentWillUnmount() {\r\n const {clearErrors} = this.props\r\n clearErrors()\r\n }\r\n\r\n\r\n render() {\r\n const {offResetPassword, errors} = this.props;\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

Шаг 1: Введите адрес эл.почты

\r\n\r\n (\r\n
\r\n \r\n\r\n {\r\n errors.length > 0 && (\r\n

\r\n {errors[errors.length - 1].name}\r\n

\r\n )\r\n\r\n }\r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n )}\r\n />\r\n\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\n\r\nexport const mapStateToProps = (state) => ({\r\n errors: state.errors.errors,\r\n})\r\n\r\nconst ConnectedComponent = connect(mapStateToProps, {\r\n sendEmailReset,\r\n clearErrors\r\n\r\n})(ResetPasswordPage);\r\n\r\n\r\nexport default ConnectedComponent;","import React from 'react';\nimport fp from 'lodash/fp';\nimport is from 'is_js';\nimport moment from 'moment';\nimport {HELPERS} from '../index';\nimport {Translate} from '../../components/translate';\n\nconst validators = {\n pipe:\n (...args) => (v) => (\n args.map((arg) => arg(v))\n .filter((vv) => !!vv)\n .shift()\n ),\n required:\n (v) => (\n fp.isNil(v) || v === ''\n ? Translate('Обязательное поле')\n : undefined\n ),\n selectRequired:\n (v) => (\n fp.isNil(v) || v === '' || v === 'empty'\n ? Translate('Обязательное поле')\n : undefined\n ),\n pdfPrint:\n (count, max) => () => (\n count > max\n ? Translate('Превышено допустимое количество кодов маркировки для печати')\n : ''\n ),\n is: {\n maxMilk:\n (max) => (value) => {\n\n let newVal = value\n\n if(value) {\n newVal = value.replace(/,/gi, \".\")\n }\n return (\n newVal > max\n ? (\n <>\n {Translate('Не должно быть больше')}\n {' '}\n {max.toString().replace(/[.]/gi, \",\")}\n \n )\n : ''\n )\n },\n\n minMilk:\n (min) => (value) => {\n\n let newVal = value\n\n if(value) {\n newVal = value.replace(/,/gi, \".\")\n }\n return (\n newVal < min\n ? (\n <>\n {Translate('Не должно быть меньше')}\n {' '}\n {min.toString().replace(/[.]/gi, \",\")}\n \n )\n : ''\n )\n },\n max:\n (max) => (value) => (\n value > max\n ? (\n <>\n {Translate('Не должно быть больше')}\n {' '}\n {max}\n \n )\n : ''\n ),\n min:\n (min) => (value) => (\n value < min\n ? (\n <>\n {Translate('Не должно быть меньше')}\n {' '}\n {min}\n \n )\n : ''\n ),\n time:\n (v) => (\n moment(`2018-10-16 ${v || '00:00'}`).format('HH:mm') === 'Invalid date'\n ? Translate('Неверный формат времени')\n : ''\n ),\n phone:\n (v) => {\n const onlyNum = v ? `+7${v.replace(/[^\\d]/g, '').slice(1)}` : v;\n return HELPERS.isPhone(onlyNum)\n ? undefined\n : Translate('Неверный формат телефона');\n },\n emailOrPhone:\n (v) => (\n is.email(v) || HELPERS.isPhone(v)\n ? undefined\n : Translate('Введите email или телефон')\n ),\n email:\n (v) => (\n is.email(v)\n ? undefined\n : Translate('Введите email')\n ),\n numeric:\n (v) => (\n v\n ? (/^[0-9.,]+$/i).test(v)\n ? ''\n : Translate('Допустимы только цифры')\n : ''\n ),\n numericMilk:\n (v) => (\n v\n ? (/^\\d+(,\\d+)?$/i).test(v)\n ? ''\n : Translate('Допустимы только цифры')\n : ''\n ),\n latin:\n (v) => (\n (/^[a-z.\\- ]+$/i).test(v)\n ? ''\n : Translate('Допустимы символы на латинице')\n ),\n cyrillic:\n (v) => (\n (/^[а-я.\\- ]+$/i).test(v)\n ? ''\n : 'Допустимы символы на кирилице'\n ),\n alphanumeric:\n (v) => (\n (/^[0-9a-z.\\- ]+$/i).test(v)\n ? undefined\n : 'Допустимы только буквенно-цифровые символы на латинице'\n ),\n cyralphanumeric:\n (v) => (\n (/^[0-9a-zа-я.\\- ]+$/i).test(v)\n ? undefined\n : 'Допустимы только буквенно-цифровые символы'\n ),\n password:\n (v) => (\n (/^[0-9a-z.@%!$*()\\-]+$/i).test(v)\n ? undefined\n : 'Допустимы A-Z, 0-9, @, %, !, $, *, (, )'\n ),\n // passwordReset: (v) => (\n // /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[!\"#$%&'()*+,-./:;<=>?@[\\\\\\]^_`{|}~])[a-zA-Z\\d!\"#$%&'()*+,-./:;<=>?@[\\\\\\]^_`{|}~]{8,20}$/i.test(v)\n // ? undefined\n // : 'Длина пароля должна быть от 8 до 20 символов. Пароль должен содержать латинские символы нижнего регистра, латинские символы верхнего регистра, цифру, и хотя бы один специальный символ:\\n(!\"#$%&\\'()*+,-./:;<=>?@[\\\\]^_{|}~)'\n // ),\n resetPass: {\n lowercase: (value) => {\n const isValid = /[a-z]/.test(value);\n return isValid ? undefined : 'Пароль должен содержать хотя бы одну строчную букву (a-z).';\n },\n uppercase: (value) => {\n const isValid = /[A-Z]/.test(value);\n return isValid ? undefined : 'Пароль должен содержать хотя бы одну заглавную букву (A-Z).';\n },\n digit: (value) => {\n const isValid = /\\d/.test(value);\n return isValid ? undefined : 'Пароль должен содержать хотя бы одну цифру (0-9).';\n },\n specialChar: (value) => {\n const isValid = /[!\"#$%&'()*+,-./:;<=>?@[\\\\\\]^_`{|}~]/.test(value);\n return isValid ? undefined : 'Пароль должен содержать хотя бы один специальный символ (!\"#$%&\\'()*+,-./:;<=>?@[\\\\]^_`{|}~).';\n },\n },\n emailSymbols:\n (v) => (\n (/^[0-9a-z._@\\- ]+$/i).test(v)\n ? undefined\n : 'Допустимы A-Z, a-z, 0-9, . - _@'\n ),\n dateBefore: (date) => (value) => (moment(date).isBefore(value)\n ? undefined\n : Translate('Дата окончания должна быть позже даты начала')),\n dateAfter: (date) => (value) => (moment(value).isBefore(date)\n ? undefined\n : Translate('Дата начала должна быть раньше даты окончания')),\n inn: (country) => (value) => {\n if (value) {\n switch (country) {\n case 'KZ': {\n return validators.length.equal(12)(value);\n }\n case 'AM': {\n return validators.length.equal(8)(value);\n }\n case 'KG': {\n return validators.length.equal(14)(value);\n }\n case 'UZ': {\n return validators.length.equal(9)(value);\n }\n default:\n return undefined;\n }\n }\n },\n serialNumber: (value) => {\n if (value) {\n const firstSymbols = value.match(/^([0-9]{18})/);\n return firstSymbols\n ? undefined\n : Translate('Некорректный формат кода');\n }\n },\n commonInn:\n (min, max) => (value) => (\n is.within(fp.size(value), min, max)\n ? undefined\n : Translate('Некорректная длина ИНН. Проверьте введённое значение')\n ),\n },\n eq:\n (sample) => (v) => (\n sample === v\n ? undefined\n : Translate('Значения не совпадают')\n ),\n has: {\n nospace:\n (v) => (\n (/\\s/).test(v)\n ? 'Пробельные символы не допустимы'\n : undefined\n ),\n },\n startWith:\n (start, position) => (value) => (\n value && start && start.length === position\n ? value.slice(0, position) === start\n ? ''\n : (\n <>\n {Translate('Должно начинаться с')}\n {' '}\n {start}\n \n )\n : ''\n ),\n length: {\n equal:\n (val) => (value) => (\n value\n ? val === fp.size(value.split(' ').join(''))\n ? ''\n : (\n <>\n {Translate('Длина должна быть равна')}\n {' '}\n {val}\n \n )\n : ''\n ),\n min:\n (min) => (value) => (\n value\n ? is.above(fp.size(value), min - 1)\n ? undefined\n : (\n <>\n {Translate('Длина не должна быть меньше')}\n {' '}\n {min}\n \n )\n : ''\n ),\n minPwd:\n (min) => (value) => (\n value\n ? is.above(fp.size(value), min - 1)\n ? undefined\n : `Длина пароля должна быть не менее ${min} символов`\n : ''\n ),\n maxPwd:\n (max) => (value) => (\n is.under(fp.size(value), max + 1)\n ? undefined\n : `Длина пароля должна превышать ${max} символов`\n ),\n max:\n (max) => (value) => (\n is.under(fp.size(value), max + 1)\n ? undefined\n : (\n <>\n {Translate('Длина не должна превышать')}\n {' '}\n {max}\n \n )\n ),\n within:\n (min, max) => (value) => (\n is.within(fp.size(value), min, max)\n ? undefined\n : `Длина должна находиться в диапазоне [${min + 1} ... ${max - 1}]`\n ),\n },\n};\n\nexport default validators;\n","import fp from 'lodash/fp';\nimport { saveAs } from 'file-saver';\nimport { get } from 'lodash';\n\nexport const CONTENT_TYPES = {\n json: 'application/json',\n formdata: 'multipart/form-data',\n form: 'application/x-www-form-urlencoded',\n patch: 'application/merge-patch+json',\n csv: 'text/csv',\n xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n pdf: 'application/pdf',\n default: '*/*',\n};\n\nconst URL_WITHOUT_VERSION = [\n '/oauth', '/payments', '/mock_recognition',\n];\n\nexport const saveAsFile = (response, filename) => {\n saveAs(response.data, filename.slice(0, -1).slice(1));\n return response;\n};\n\nexport const checkContentType = fp.curry(\n (response, contentType) => !!~(fp.split('; ', response.headers['content-type'])[0] || '')\n .toLowerCase()\n .indexOf(contentType),\n);\n\nexport const isHasBody = (method) => ['POST', 'PUT', 'PATCH'].includes(method.toUpperCase());\n\nexport const getContentDispositionFilename = (response, fallback) => (\n fp.pipe(\n fp.defaultTo(''),\n fp.split(';'),\n fp.map(fp.trim),\n fp.find((v) => /^filename=/i.test(v)),\n fp.split('='),\n fp.last,\n fp.defaultTo(fallback),\n )(response.headers['content-disposition'])\n);\n\nexport const isNeedVersionApi = (url) => fp.filter(\n (v) => ~url.indexOf(v),\n)(URL_WITHOUT_VERSION).length > 0;\n\nexport const getAuthErrorText = (err) => {\n const status = get(err, 'response.status', '');\n const error = get(err, 'response.data.message', '');\n switch (status) {\n case 403: return getErrorMessage(error);\n case 500: return 'Сервер временно недоступен. Повторите попытку позже..';\n default: return 'Неверный логин и/или пароль';\n }\n};\n\nexport const getResetPasswordText = (err) => {\n const status = get(err, 'response.status', '');\n const error = get(err, 'response.data.message', '');\n switch (status) {\n\n default: return error\n }\n\n}\n\n\n\nconst getErrorMessage = (error) => {\n switch (error) {\n case 'Bad credentials': return 'Неверный логин и/или пароль';\n case 'User account is blocked': return 'Учетная запись заблокирована. Обратитесь в Службу Технической поддержки Оператора';\n case 'Traffic participant in the status \"Blocked\". Contact the operator\\'s support service': return 'УОТ заблокирован. Обратитесь в Службу Технической поддержки Оператора';\n default: return error;\n }\n};\n\nexport const getAcceptLanguage = () => {\n const locale = localStorage.getItem('language') || 'ru';\n switch (locale) {\n case 'ru': return 'ru-RU,ru';\n case 'am': return 'hy-HY,hy';\n default: return 'en-US,en';\n }\n};\n","import { createAction } from './common';\nimport types from '../types';\n\nexport const login = createAction(types.LOGIN);\nexport const logout = createAction(types.LOGOUT);\nexport const setAuthData = createAction(types.SET_AUTH_DATA);\nexport const clearAuthData = createAction(types.CLEAR_AUTH_DATA);\nexport const reconnect = createAction(types.RECONNECT_AUTH_DATA);\nexport const check = createAction(types.CHECK_AUTH_DATA);\nexport const getCurrentUser = createAction(types.GET_CURRENT_USER);\nexport const setCurrentUser = createAction(types.SET_CURRENT_USER);\nexport const clearCurrentUser = createAction(types.CLEAR_CURRENT_USER);\nexport const logoutByBlock = createAction(types.LOGOUT_BY_BLOCK);\n\n","import { createAction, createBoolAction } from './common';\nimport types from '../types';\n\nexport const loadUsers = createAction(types.LOAD_USERS);\nexport const setUsers = createAction(types.SET_USERS);\nexport const setUser = createAction(types.SET_USER);\nexport const getUser = createAction(types.LOAD_USER);\nexport const createUser = createAction(types.CREATE_USER);\nexport const updateUser = createAction(types.UPDATE_USER);\nexport const updateUsers = createAction(types.UPDATE_USERS);\nexport const patchUser = createAction(types.PATCH_USER);\nexport const updateUsersAfterCreate = createAction(types.UPDATE_USERS_AFTER_CREATE);\nexport const loadUser = createAction(types.LOAD_USER);\nexport const checkPassword = createAction(types.CHECK_PASSWORD);\nexport const setPasswordError = createBoolAction(types.SET_PASSWORD_ERROR);\n","import { useMemo } from 'react';\nimport format from '../../utils/format.i18n';\nimport { getDays } from './useMonth.utils';\n\nexport const dayLabelFormatFn = (date) => format(date, 'd', 'ru');\nexport const weekdayLabelFormatFn = (date) => format(date, 'eeeeee', 'ru');\nexport const monthLabelFormatFn = (date) => format(date, 'LLLL', 'ru');\nexport function useMonth({\n year,\n month,\n firstDayOfWeek = 1,\n dayLabelFormat = dayLabelFormatFn,\n monthLabelFormat = monthLabelFormatFn,\n}) {\n const days = useMemo(\n () => getDays({\n year, month, firstDayOfWeek, dayLabelFormat,\n }),\n [year, month, firstDayOfWeek, dayLabelFormat],\n );\n const monthLabelText = monthLabelFormat(new Date(year, month));\n return {\n days,\n monthLabel: monthLabelText.charAt(0).toUpperCase() + monthLabelText.slice(1),\n };\n}\n","import addDays from 'date-fns/addDays';\nimport eachDay from 'date-fns/eachDayOfInterval';\nimport endOfMonth from 'date-fns/endOfMonth';\nimport endOfWeek from 'date-fns/endOfWeek';\nimport format from 'date-fns/format';\nimport getDay from 'date-fns/getDay';\nimport startOfMonth from 'date-fns/startOfMonth';\nimport startOfWeek from 'date-fns/startOfWeek';\n\nexport function getWeekdayLabels({\n firstDayOfWeek = 1,\n weekdayLabelFormat = (date) => format(date, 'iiiiii'),\n} = {}) {\n const now = new Date();\n const arr = eachDay({\n start: addDays(startOfWeek(now), firstDayOfWeek),\n end: addDays(endOfWeek(now), firstDayOfWeek),\n });\n return arr.reduce((array, date) => {\n array.push(weekdayLabelFormat(date));\n return array;\n }, []);\n}\nexport function getDays({\n year,\n month,\n firstDayOfWeek = 1,\n dayLabelFormat = (date) => format(date, 'dd'),\n}) {\n const date = new Date(year, month);\n const monthStart = startOfMonth(date);\n const monthStartDay = getDay(monthStart);\n const monthEnd = endOfMonth(date);\n const prevMonthDays = Array.from(\n Array(\n monthStartDay >= firstDayOfWeek\n ? monthStartDay - firstDayOfWeek\n : 6 - firstDayOfWeek + monthStartDay + 1,\n ).keys(),\n ).fill(0);\n const days = eachDay({ start: monthStart, end: monthEnd }).map((date) => ({\n date,\n dayLabel: dayLabelFormat(date),\n }));\n return [...prevMonthDays, ...days];\n}\n","import isWithinRange from 'date-fns/isWithinInterval';\nimport isSameDay from 'date-fns/isSameDay';\nimport eachDay from 'date-fns/eachDayOfInterval';\nimport isBefore from 'date-fns/isBefore';\nimport isAfter from 'date-fns/isAfter';\nimport getYear from 'date-fns/getYear';\nimport getMonth from 'date-fns/getMonth';\nimport startOfToday from 'date-fns/startOfToday';\nimport startOfMonth from 'date-fns/startOfMonth';\nimport addMonths from 'date-fns/addMonths';\nimport format from 'date-fns/format';\nimport addDays from 'date-fns/addDays';\nimport { dateEquality } from '../../utils/dateEquality';\n\nexport const isInUnavailableDates = (unavailableDates = [], date) => unavailableDates.some((_date) => isSameDay(date, _date));\nexport function isDateSelected(date, startDate, endDate) {\n if (startDate && endDate) {\n return isWithinRange(date, { start: startDate, end: endDate });\n }\n return false;\n}\nexport function isSingleDateSelected(date, selectedDate) {\n return dateEquality(date, selectedDate);\n}\nexport function isFirstOrLastSelectedDate(date, startDate, endDate) {\n return !!(\n (startDate && isSameDay(date, startDate))\n || (endDate && isSameDay(date, endDate))\n );\n}\nexport function isLastSelectedDate(date, startDate, endDate) {\n return !!(endDate && isSameDay(date, endDate));\n}\nexport function isFirstSelectedDate(date, startDate) {\n return !!(startDate && isSameDay(date, startDate));\n}\nexport function isDateBlocked({\n date,\n minBookingDate,\n maxBookingDate,\n isDateBlockedFn,\n startDate,\n endDate,\n minBookingDays = 1,\n unavailableDates = [],\n}) {\n const compareMinDate = minBookingDate\n ? new Date(\n minBookingDate.getFullYear(),\n minBookingDate.getMonth(),\n minBookingDate.getDate(),\n 0,\n 0,\n 0,\n )\n : minBookingDate;\n const compareMaxDate = maxBookingDate\n ? new Date(\n maxBookingDate.getFullYear(),\n maxBookingDate.getMonth(),\n maxBookingDate.getDate(),\n 0,\n 0,\n 0,\n )\n : maxBookingDate;\n return !!(\n isInUnavailableDates(unavailableDates, date)\n || (compareMinDate && isBefore(date, compareMinDate))\n || (compareMaxDate && isAfter(date, compareMaxDate))\n || (startDate\n && !endDate\n && minBookingDays > 1\n && isWithinRange(date, {\n start: startDate,\n end: addDays(startDate, minBookingDays - 2),\n }))\n || (isDateBlockedFn && isDateBlockedFn(date))\n );\n}\nexport function getDateMonthAndYear(date) {\n const today = startOfMonth(date);\n const year = getYear(today);\n const month = getMonth(today);\n return {\n year,\n month,\n date: today,\n };\n}\nexport function getCurrentYearMonthAndDate() {\n return getDateMonthAndYear(startOfToday());\n}\nexport function getInitialMonths(numberOfMonths, startDate) {\n const firstMonth = startDate\n ? getDateMonthAndYear(startDate)\n : getCurrentYearMonthAndDate();\n let prevMonthDate = firstMonth.date;\n let months = [firstMonth];\n if (numberOfMonths > 1) {\n months = Array.from(Array(numberOfMonths - 1).keys()).reduce((m) => {\n prevMonthDate = addMonths(m[m.length - 1].date, 1);\n return m.concat([getDateMonthAndYear(prevMonthDate)]);\n }, months);\n }\n return months;\n}\nexport function getNextActiveMonth(activeMonth, numberOfMonths, counter) {\n const prevMonth = counter > 0 ? activeMonth.length - 1 : 0;\n let prevMonthDate = activeMonth[prevMonth].date;\n return Array.from(Array(numberOfMonths).keys()).reduce((m) => {\n if (m.length === 0) {\n prevMonthDate = addMonths(prevMonthDate, counter);\n } else {\n prevMonthDate = addMonths(prevMonthDate, counter >= 0 ? 1 : -1);\n }\n return counter > 0\n ? m.concat([getDateMonthAndYear(prevMonthDate)])\n : [getDateMonthAndYear(prevMonthDate)].concat(m);\n }, []);\n}\nexport function getInputValue(date, displayFormat, defaultValue) {\n if (date && typeof displayFormat === 'string') {\n return format(date, displayFormat);\n } if (date && typeof displayFormat === 'function') {\n return displayFormat(date);\n }\n return defaultValue;\n}\nexport function canSelectRange({\n startDate,\n endDate,\n isDateBlocked,\n minBookingDays,\n exactMinBookingDays,\n minBookingDate,\n maxBookingDate,\n}) {\n const isStartDateAfterOrEqualMinDate = minBookingDate\n ? !isBefore(startDate, addDays(minBookingDate, -1))\n : true;\n const isStartDateBeforeOrEqualMaxDate = maxBookingDate\n ? !isAfter(addDays(startDate, minBookingDays - 1), maxBookingDate)\n : true;\n if (\n startDate\n && minBookingDays === 1\n && !endDate\n && !isDateBlocked(startDate)\n ) {\n return true;\n } if (\n (startDate && minBookingDays > 1 && !endDate && !exactMinBookingDays)\n || (startDate\n && minBookingDays > 0\n && exactMinBookingDays\n && isStartDateAfterOrEqualMinDate\n && isStartDateBeforeOrEqualMaxDate)\n || (startDate\n && minBookingDays > 0\n && exactMinBookingDays\n && !minBookingDate\n && !maxBookingDate)\n ) {\n return eachDay({\n start: startDate,\n end: addDays(startDate, minBookingDays - 1),\n }).reduce((returnValue, date) => {\n if (!returnValue) {\n return returnValue;\n }\n return !isDateBlocked(date);\n }, true);\n } if (startDate && endDate && !exactMinBookingDays) {\n const minBookingDaysDate = addDays(startDate, minBookingDays - 1);\n if (isBefore(endDate, minBookingDaysDate)) {\n return false;\n }\n return eachDay({ start: startDate, end: endDate }).reduce(\n (returnValue, date) => {\n if (!returnValue) {\n return returnValue;\n }\n return !isDateBlocked(date);\n },\n true,\n );\n }\n return false;\n}\nexport function isDateHovered({\n date,\n startDate,\n endDate,\n isDateBlocked,\n hoveredDate,\n minBookingDays,\n exactMinBookingDays,\n}) {\n if (\n // exact min booking days\n hoveredDate\n && minBookingDays > 1\n && exactMinBookingDays\n && isWithinRange(date, {\n start: hoveredDate,\n end: addDays(hoveredDate, minBookingDays - 1),\n })\n ) {\n return eachDay({\n start: hoveredDate,\n end: addDays(hoveredDate, minBookingDays - 1),\n }).reduce((returnValue, date) => {\n if (!returnValue) {\n return returnValue;\n }\n return !isDateBlocked(date);\n }, true);\n } if (\n // min booking days\n startDate\n && !endDate\n && hoveredDate\n && isWithinRange(date, {\n start: startDate,\n end: addDays(startDate, minBookingDays - 1),\n })\n && isSameDay(startDate, hoveredDate)\n && minBookingDays > 1\n ) {\n return eachDay({\n start: startDate,\n end: addDays(startDate, minBookingDays - 1),\n }).reduce((returnValue, date) => {\n if (!returnValue) {\n return returnValue;\n }\n return !isDateBlocked(date);\n }, true);\n } if (\n // normal\n startDate\n && !endDate\n && hoveredDate\n && !isBefore(hoveredDate, startDate)\n && isWithinRange(date, { start: startDate, end: hoveredDate })\n ) {\n return eachDay({ start: startDate, end: hoveredDate }).reduce(\n (returnValue, date) => {\n if (!returnValue) {\n return returnValue;\n }\n return !isDateBlocked(date);\n },\n true,\n );\n }\n return false;\n}\n","/* eslint-disable */\nimport addDays from 'date-fns/addDays';\nimport endOfDay from 'date-fns/endOfDay';\nimport isAfter from 'date-fns/isAfter';\nimport isBefore from 'date-fns/isBefore';\nimport isSameDay from 'date-fns/isSameDay';\nimport isSameMonth from 'date-fns/isSameMonth';\nimport isWithinRange from 'date-fns/isWithinInterval';\nimport { useCallback, useEffect, useState } from 'react';\n\nimport {\n canSelectRange,\n getInitialMonths,\n getNextActiveMonth,\n isDateBlocked as isDateBlockedFn,\n isDateHovered as isDateHoveredFn,\n isDateSelected as isDateSelectedFn,\n isFirstOrLastSelectedDate as isFirstOrLastSelectedDateFn,\n isFirstSelectedDate as isFirstSelectedDateFn,\n isLastSelectedDate as isLastSelectedDateFn,\n isSingleDateSelected,\n} from './useDatePicker.utils';\n\nexport const START_DATE = 'startDate';\nexport const END_DATE = 'endDate';\nexport function useDatepicker({\n startDate,\n endDate,\n focusedInput,\n minBookingDate,\n maxBookingDate,\n onDatesChange,\n exactMinBookingDays = false,\n minBookingDays = 1,\n numberOfMonths = 2,\n firstDayOfWeek = 1,\n isDateBlocked: isDateBlockedProps = () => false,\n}) {\n\n const [activeMonths, setActiveMonths] = useState(() =>\n getInitialMonths(numberOfMonths, startDate),\n );\n\n useEffect(() => {\n setActiveMonths(getInitialMonths(numberOfMonths, startDate))\n }, [startDate])\n\n const [hoveredDate, setHoveredDate] = useState(null);\n const [focusedDate, setFocusedDate] = useState(startDate);\n const onDateFocus = useCallback(\n (date) => {\n setFocusedDate(date);\n if (!focusedDate || (focusedDate && !isSameMonth(date, focusedDate))) {\n setActiveMonths(getInitialMonths(numberOfMonths, date));\n }\n },\n [setFocusedDate, setActiveMonths, numberOfMonths, focusedDate],\n );\n const isDateSelected = useCallback(\n (date) => isDateSelectedFn(date, startDate, endDate),\n [startDate, endDate],\n );\n const isFirstOrLastSelectedDate = useCallback(\n (date) => isFirstOrLastSelectedDateFn(date, startDate, endDate),\n [startDate, endDate],\n );\n const isLastSelectedDate = useCallback(\n (date) => isLastSelectedDateFn(date, startDate, endDate),\n [startDate, endDate],\n );\n const isFirstSelectedDate = useCallback(\n (date) => isFirstSelectedDateFn(date, startDate, endDate),\n [startDate, endDate],\n );\n const isDateBlocked = useCallback(\n (date) =>\n isDateBlockedFn({\n date,\n minBookingDate,\n maxBookingDate,\n startDate,\n endDate,\n minBookingDays,\n isDateBlockedFn: isDateBlockedProps,\n }),\n [\n minBookingDate,\n maxBookingDate,\n startDate,\n endDate,\n minBookingDays,\n isDateBlockedProps,\n ],\n );\n const isDateFocused = useCallback(\n (date) => (focusedDate ? isSameDay(date, focusedDate) : false),\n [focusedDate],\n );\n const isDateHovered = useCallback(\n (date) =>\n isDateHoveredFn({\n date,\n hoveredDate,\n startDate,\n endDate,\n minBookingDays,\n exactMinBookingDays,\n isDateBlocked: isDateBlockedProps,\n }),\n [\n hoveredDate,\n startDate,\n endDate,\n minBookingDays,\n exactMinBookingDays,\n isDateBlockedProps,\n ],\n );\n\n function handleKeyDown(e) {\n if (\n (e.key === 'ArrowRight' ||\n e.key === 'ArrowLeft' ||\n e.key === 'ArrowDown' ||\n e.key === 'ArrowUp') &&\n !focusedDate\n ) {\n const activeMonth = activeMonths[0];\n onDateFocus(activeMonth.date);\n setActiveMonths(getInitialMonths(numberOfMonths, activeMonth.date));\n }\n }\n\n useEffect(() => {\n if (typeof window !== 'undefined') {\n window.addEventListener('keydown', handleKeyDown);\n }\n return () => {\n window.removeEventListener('keydown', handleKeyDown);\n };\n });\n\n function onResetDates() {\n onDatesChange({\n startDate: null,\n endDate: null,\n focusedInput: START_DATE,\n });\n }\n function onDateSelect(date) {\n if (\n (focusedInput === END_DATE || focusedInput === START_DATE) &&\n minBookingDays > 0 &&\n exactMinBookingDays &&\n canSelectRange({\n minBookingDays,\n exactMinBookingDays,\n minBookingDate,\n maxBookingDate,\n isDateBlocked: isDateBlockedProps,\n startDate: date,\n endDate: null,\n })\n ) {\n onDatesChange({\n startDate: date,\n endDate: addDays(date, minBookingDays - 1),\n focusedInput: null,\n });\n } else if (\n ((focusedInput === END_DATE && startDate && isBefore(date, startDate)) ||\n (focusedInput === START_DATE && endDate && isAfter(date, endDate))) &&\n !exactMinBookingDays &&\n canSelectRange({\n minBookingDays,\n isDateBlocked: isDateBlockedProps,\n startDate: date,\n endDate: null,\n })\n ) {\n onDatesChange({\n endDate: null,\n startDate: date,\n focusedInput: END_DATE,\n });\n } else if (\n focusedInput === START_DATE &&\n !exactMinBookingDays &&\n canSelectRange({\n minBookingDays,\n isDateBlocked: isDateBlockedProps,\n endDate,\n startDate: date,\n })\n ) {\n onDatesChange({\n endDate,\n startDate: date,\n focusedInput: END_DATE,\n });\n } else if (\n focusedInput === START_DATE &&\n !exactMinBookingDays &&\n canSelectRange({\n minBookingDays,\n isDateBlocked: isDateBlockedProps,\n endDate: null,\n startDate: date,\n })\n ) {\n onDatesChange({\n endDate: null,\n startDate: date,\n focusedInput: END_DATE,\n });\n } else if (\n focusedInput === END_DATE &&\n startDate &&\n !isBefore(date, startDate) &&\n !exactMinBookingDays &&\n canSelectRange({\n minBookingDays,\n isDateBlocked: isDateBlockedProps,\n startDate,\n endDate: date,\n })\n ) {\n onDatesChange({\n startDate,\n endDate: endOfDay(date),\n focusedInput: null,\n });\n }\n if (\n focusedInput !== END_DATE &&\n (!focusedDate || (focusedDate && !isSameMonth(date, focusedDate)))\n ) {\n setActiveMonths(getInitialMonths(numberOfMonths, date));\n }\n }\n function onDateHover(date) {\n if (!date) {\n setHoveredDate(null);\n } else if (date) {\n const isNotBlocked =\n !isDateBlocked(date) || (startDate && isSameDay(date, startDate));\n const isHoveredDateAfterOrEqualMinDate = minBookingDate\n ? !isBefore(date, addDays(minBookingDate, -1))\n : true;\n const isHoveredDateBeforeOrEqualMaxDate = maxBookingDate\n ? !isAfter(date, maxBookingDate)\n : true;\n // Exact minimal booking days\n const potentialEndDate = addDays(date, minBookingDays - 1);\n const isPotentialEndDateAfterOrEqualMinDate = minBookingDate\n ? !isBefore(potentialEndDate, minBookingDate)\n : true;\n const isPotentialEndDateBeforeOrEqualMaxDate = maxBookingDate\n ? !isAfter(potentialEndDate, maxBookingDate)\n : true;\n const isExactAndInRange =\n exactMinBookingDays &&\n minBookingDays > 1 &&\n isHoveredDateAfterOrEqualMinDate &&\n isHoveredDateBeforeOrEqualMaxDate &&\n isPotentialEndDateAfterOrEqualMinDate &&\n isPotentialEndDateBeforeOrEqualMaxDate;\n // Is date in range\n const isInRange =\n startDate &&\n !endDate &&\n !exactMinBookingDays &&\n isHoveredDateAfterOrEqualMinDate &&\n isHoveredDateBeforeOrEqualMaxDate;\n // Is start date hovered and in range\n const isMinBookingDaysInRange =\n minBookingDays > 1 && startDate\n ? isWithinRange(date, {\n start: startDate,\n end: addDays(startDate, minBookingDays - 2),\n })\n : true;\n const isStartDateHoveredAndInRange =\n startDate && isSameDay(date, startDate) && isMinBookingDaysInRange;\n if (\n isNotBlocked &&\n (isExactAndInRange || isInRange || isStartDateHoveredAndInRange)\n ) {\n setHoveredDate(date);\n } else if (hoveredDate !== null) {\n setHoveredDate(null);\n }\n }\n }\n function goToPreviousMonths() {\n setActiveMonths(getNextActiveMonth(activeMonths, numberOfMonths, -1));\n setFocusedDate(null);\n }\n function goToNextMonths() {\n setActiveMonths(getNextActiveMonth(activeMonths, numberOfMonths, 1));\n setFocusedDate(null);\n }\n function goToMonth(date) {\n setActiveMonths(getInitialMonths(numberOfMonths, date));\n setFocusedDate(null);\n }\n function goToPreviousYear(numYears = 1) {\n setActiveMonths(\n getNextActiveMonth(\n activeMonths,\n numberOfMonths,\n -(numYears * 12 - numberOfMonths + 1),\n ),\n );\n setFocusedDate(null);\n }\n function goToNextYear(numYears = 1) {\n setActiveMonths(\n getNextActiveMonth(\n activeMonths,\n numberOfMonths,\n numYears * 12 - numberOfMonths + 1,\n ),\n );\n setFocusedDate(null);\n }\n return {\n firstDayOfWeek,\n activeMonths,\n isDateSelected,\n isDateHovered,\n isFirstOrLastSelectedDate,\n isFirstSelectedDate,\n isLastSelectedDate,\n isDateBlocked,\n numberOfMonths,\n isDateFocused,\n focusedDate,\n hoveredDate,\n onResetDates,\n onDateHover,\n onDateSelect,\n onDateFocus,\n goToPreviousMonths,\n goToNextMonths,\n goToMonth,\n goToPreviousYear,\n goToNextYear,\n isSingleDateSelected,\n };\n}\n","/* eslint-disable */\nimport addDays from 'date-fns/addDays';\nimport { useCallback, useEffect } from 'react';\n\nfunction useDay({\n date,\n focusedDate,\n isDateSelected,\n isDateFocused,\n isLastSelectedDate,\n isFirstSelectedDate,\n isDateHovered,\n isDateBlocked,\n onDateSelect,\n onDateFocus,\n onDateHover,\n dayRef,\n disabledDayFocus,\n}) {\n const onClick = useCallback(() => onDateSelect(date), [date, onDateSelect]);\n const onMouseEnter = useCallback(() => onDateHover(date), [\n date,\n onDateHover,\n ]);\n useEffect(() => {\n if (dayRef && dayRef.current && isDateFocused(date)) {\n !disabledDayFocus && dayRef.current.focus();\n }\n }, [dayRef, date, isDateFocused]);\n const disabled = isDateBlocked(date) && !isDateHovered(date);\n return {\n tabIndex: focusedDate === null || isDateFocused(date) ? 0 : -1,\n isSelected: isDateSelected(date),\n isSelectedStart: isFirstSelectedDate(date),\n isSelectedEnd: isLastSelectedDate(date),\n isWithinHoverRange: isDateHovered(date),\n disabledDate: disabled,\n onKeyDown: (e) => {\n if (e.key === 'ArrowRight') {\n onDateFocus(addDays(date, 1));\n } else if (e.key === 'ArrowLeft') {\n onDateFocus(addDays(date, -1));\n } else if (e.key === 'ArrowUp') {\n onDateFocus(addDays(date, -7));\n } else if (e.key === 'ArrowDown') {\n onDateFocus(addDays(date, 7));\n }\n },\n onClick: disabled\n ? (event) => {\n event.preventDefault();\n }\n : onClick,\n onMouseEnter,\n };\n}\nexport default useDay;\n","import useDay from './useDay';\n\nexport default useDay;\n","import { ButtonBase, withStyles } from '@material-ui/core';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { Logo, LogoShort } from '../../../pages/auth/logo';\n\nconst HeaderLogo = withStyles({\n root: {\n padding: 20,\n },\n})(({\n expanded, hovered, countryCode, ...rest\n}) => (\n \n {expanded || hovered\n ?
\n :
}\n \n));\n\nexport const mapStateToProps = (state) => ({\n countryCode: state.settings.common.countryCode,\n});\n\nconst ConnectedComponent = connect(mapStateToProps, {})(HeaderLogo);\n\nexport default ConnectedComponent;\n","import { connect } from 'react-redux';\nimport React, { useState } from 'react';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport { CommonDialog } from '../../dialog';\nimport { Translate } from '../../translate';\n\nconst Footer = ({ settings }) => {\n const [open, setOpen] = useState(false);\n return (\n <>\n setOpen(false)}\n onSubmit={() => setOpen(false)}\n labelCancel={false}\n labelSubmit=\"Закрыть\"\n >\n
    \n
  • \n {Translate('Версия Frontend')}\n :\n \n v.\n {window.version}\n \n
  • \n
  • \n {Translate('Версия Backend')}\n :\n \n v.\n {settings.version}\n \n
  • \n
  • \n {Translate('Версия Gateway')}\n :\n \n v.\n {settings.gwVersion}\n \n
  • \n
\n \n \n {/* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */}\n setOpen(true)}\n style={{\n fontSize: '13px', textAlign: 'center', width: '40px', cursor: 'pointer',\n }}\n >\n v.\n {settings.version}\n

\n
\n \n );\n};\n\nexport const mapStateToProps = (state) => ({\n settings: state.settings.common,\n});\n\nconst ConnectedComponent = connect(mapStateToProps, {})(Footer);\n\nexport default ConnectedComponent;\n","/* eslint-disable */\nimport {\n ButtonBase,\n Menu as MuiMenu,\n MenuItem as MuiMenuItem,\n MenuList as MuiMenuList,\n withStyles,\n} from '@material-ui/core';\nimport cn from 'classnames';\nimport React, {\n Fragment,\n memo,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from 'react';\n\nconst MenuList = withStyles({\n root: {\n boxShadow: 'inset 0 1px 0 #f7f7f7, inset 0 -1px 0 #f7f7f7',\n },\n})(MuiMenuList);\n\nconst Menu = withStyles((theme) => ({\n paper: {\n boxShadow: '0px 8px 32px rgba(0, 0, 0, 0.125)',\n borderRadius: '0px 0px 4px 4px',\n\n '&::-webkit-scrollbar': {\n width: 4,\n },\n\n '&::-webkit-scrollbar-track': {\n background: '#f2f2f2',\n },\n\n '&::-webkit-scrollbar-thumb': {\n width: 2,\n borderRadius: 2,\n background: theme.palette.text.primary,\n },\n },\n list: {\n paddingTop: 8,\n paddingBottom: 8,\n },\n}))(MuiMenu);\n\nconst SubMenuItem = withStyles((theme) => ({\n root: {\n fontSize: 14,\n fontWeight: 600,\n lineHeight: 16 / 14,\n padding: '12px 16px',\n\n '&:hover, &:focus': {\n background: '#f7f7f7',\n },\n\n '&$selected, &$selected:hover': {\n background: theme.palette.primary.main,\n },\n },\n selected: {},\n}))(MuiMenuItem);\n\nconst MenuIcon = withStyles((theme) => ({\n root: {\n alignItems: 'center',\n border: '2px solid transparent',\n borderRadius: 4,\n boxSizing: 'border-box',\n display: 'flex',\n flexShrink: 0,\n height: 48,\n justifyContent: 'center',\n marginRight: 16,\n width: 48,\n '& path': {\n fill: '#888888'\n },\n '&$active': {\n borderColor: theme.palette.primary.iconColor,\n },\n\n '&$activatedMenu': {\n background: theme.palette.primary.main,\n '& path': {\n fill: '#ffffff'\n },\n },\n },\n active: {},\n activatedMenu: {},\n}))(({ active, activatedMenu, classes, className, children }) => {\n return (\n \n {children}\n
\n );\n});\n\nexport const BaseMenuButton = withStyles({\n root: {\n height: 64,\n minWidth: 80,\n padding: 16,\n },\n})(ButtonBase);\n\nconst MenuButton = withStyles((theme) => ({\n root: {\n display: 'flex',\n flexWrap: 'nowrap',\n fontSize: 14,\n fontWeight: 600,\n height: 64,\n boxSizing: 'border-box',\n paddingTop: 8,\n paddingBottom: 8,\n justifyContent: 'flex-start',\n lineHeight: 16 / 14,\n transition: theme.transitions.create(['background']),\n whiteSpace: 'nowrap',\n width: '100%',\n color: theme.palette.text.primary,\n\n '&:hover': {\n background: '#F7F7F7',\n '& div': {\n background: theme.palette.primary.iconColor,\n color: theme.palette.primary.iconColorHover,\n '& path': {\n fill: '#ffffff'\n },\n },\n },\n },\n}))(BaseMenuButton);\n\nconst MenuItem = memo(\n ({ icon, items = [], expanded, active, children, ...rest }) => {\n const [anchorEl, setAnchorEl] = useState(null);\n\n const shouldRenderMenu = useMemo(() => items && items.length, [items]);\n\n useEffect(() => {\n if (!expanded) {\n setAnchorEl(null);\n }\n }, [expanded]);\n\n const handleClick = useCallback(\n (event) => {\n event.persist();\n if (shouldRenderMenu) {\n setAnchorEl(expanded && anchorEl ? null : event.currentTarget);\n } else {\n if (typeof rest.onClick === 'function') {\n rest.onClick(event);\n }\n }\n },\n [shouldRenderMenu, expanded, anchorEl],\n );\n\n const handleClose = useCallback(() => {\n setAnchorEl(null);\n }, []);\n\n const renderMenuItem = useCallback(\n ({ label, onClick, icon, ...rest }) => (\n {\n if (typeof onClick === 'function') {\n onClick(event);\n }\n\n handleClose();\n }}\n style={{ paddingLeft: expanded ? 80 : undefined }}\n {...rest}\n >\n {icon ? {icon} : null}\n {label}\n \n ),\n [expanded],\n );\n\n const renderMenuItems = useCallback(() => {\n const itemsForRender = expanded\n ? items\n : [\n \n {children}\n
,\n ...items,\n ];\n return itemsForRender.map((item) => {\n if (React.isValidElement(item)) {\n return item;\n }\n\n return renderMenuItem(item);\n });\n }, [items, expanded]);\n\n const renderMenu = useCallback(() => {\n return expanded && anchorEl ? (\n {renderMenuItems()}\n ) : (\n \n {renderMenuItems()}\n \n );\n }, [items, anchorEl, expanded]);\n\n return (\n \n \n {icon && (\n \n {icon}\n \n )}\n {children}\n \n {shouldRenderMenu ? renderMenu() : null}\n \n );\n },\n);\n\nexport default MenuItem;\n","import React from 'react';\nimport Menu from '@crpt-ui/menu';\nimport * as Icons from '@crpt-ui/icons';\nimport { useHistory } from 'react-router-dom';\nimport { useLocation } from 'react-router';\nimport { connect } from 'react-redux';\nimport routes from '../../routes';\nimport HeaderLogo from './header-logo';\nimport Footer from './footer';\nimport MenuItem from './menuItem';\nimport { Translate } from '../translate';\n\nconst itemsParticipant = [\n {\n label: 'Главная',\n value: routes.home(),\n icon: ,\n },\n {\n label: 'Товары',\n value: routes.goods(),\n icon: ,\n },\n {\n label: 'Список кодов',\n value: routes.markCodes(),\n icon: ,\n },\n {\n label: 'Операции',\n value: routes.operations(),\n icon: ,\n },\n\n // ссылка на транзакции\n {\n label: 'Транзакции',\n value: routes.transactionsGroup(),\n icon: ,\n },\n\n];\n\nconst itemsOperator = [\n {\n label: 'Главная',\n value: routes.home(),\n icon: ,\n },\n {\n label: 'Участники',\n value: routes.turnoverParticipants(),\n icon: ,\n },\n {\n label: 'Пользователи',\n value: routes.users(),\n icon: ,\n },\n {\n label: 'Товары',\n value: routes.goods(),\n icon: ,\n },\n // {\n // label: 'Платежи',\n // value: routes.payments(),\n // icon: ,\n // },\n // {\n // label: 'Начисления',\n // value: routes.accruals(),\n // icon: ,\n // },\n {\n label: 'Операции',\n value: routes.operations(),\n icon: ,\n },\n];\n\nexport const MainMenu = ({ currentUser }) => {\n const history = useHistory();\n const location = useLocation();\n\n const menuItems = currentUser.type === 'OPERATOR' ? itemsOperator : itemsParticipant;\n\n const isActive = (path) => (path === '/'\n ? location.pathname === path\n : location.pathname.startsWith(path));\n\n return (\n \n {menuItems.map((item, key) => (\n }\n key={key}\n active={isActive(item.value)}\n onClick={() => history.push(item.value)}\n >\n {Translate(item.label)}\n \n ))}\n \n );\n};\n\nexport const mapStateToProps = ({ currentUser }) => ({ currentUser });\n\nconst ConnectedComponent = connect(mapStateToProps, {})(MainMenu);\n\nexport default ConnectedComponent;\n","import React, {useEffect} from 'react';\nimport {connect} from 'react-redux';\nimport {Redirect, Route} from 'react-router';\nimport routes from '../../routes';\nimport {setError} from '../../actions/errors';\nimport {useHistory} from \"react-router-dom\";\nimport {clearSettings} from \"../../actions/common\";\nimport {useDispatch} from \"react-redux\";\nimport {clearDownloadCodesFilter, clearMarkCodes} from \"../../actions/mark-codes\";\n\nconst AuthRoute = ({\n Component, path, exact = false, requiredRoles, currentUser, setError, group = \"\"\n }) => {\n let userHasRequiredRole = requiredRoles.includes(currentUser.type);\n\n const dispatch = useDispatch();\n const history = useHistory();\n\n if (currentUser.type === 'PARTICIPANT'\n && path === routes.goods('edit/:id')\n && currentUser.participant.status !== 'ACTIVE') {\n userHasRequiredRole = false;\n }\n if (!userHasRequiredRole) {\n setError({response: {data: {error_description: 'Недостаточно прав!!!'}}});\n }\n\n useEffect(() => {\n if (group) {\n const listenHistory = history.listen((location) => {\n if (!location.pathname.startsWith(group)) {\n dispatch(clearSettings())\n }\n if(!location.pathname.startsWith(\"/codes\")) {\n dispatch(clearDownloadCodesFilter())\n dispatch(clearMarkCodes())\n }\n\n })\n return () => {\n if (listenHistory) {\n listenHistory()\n }\n }\n }\n }, [group]);\n\n return (\n (userHasRequiredRole\n ? \n : )}\n />\n );\n};\n\nexport const mapStateToProps = ({currentUser}) => ({currentUser});\n\nconst ConnectedComponent = connect(mapStateToProps, {\n setError,\n})(AuthRoute);\n\nexport default ConnectedComponent;\n","import { makeStyles } from '@material-ui/styles';\n\nexport const usePageHeaderStyles = makeStyles((theme) => ({\n header: {\n boxShadow: 'inset 0 -1px 0px #f2f2f2',\n borderRadius: 0,\n background: 'white',\n },\n wrapper: {\n color: '#63666a',\n },\n icon: {\n '& path': {\n fill: '#888888',\n },\n },\n buttonWrapper: {\n marginLeft: 'auto',\n },\n profileIcon: (props) => ({\n alignItems: 'center',\n background: theme.palette.primary.iconColor,\n borderRadius: 4,\n display: 'flex',\n height: 40,\n justifyContent: 'center',\n width: 40,\n '& path': {\n fill: props.country === 'RU' ? '#63666a' : 'white',\n },\n }),\n testMessage: {\n color: 'red',\n display: 'flex',\n alignItems: 'center',\n height: 60,\n paddingLeft: 50,\n },\n}));\n","import { ButtonBase as MuiButtonBase, withStyles } from '@material-ui/core';\nimport React from 'react';\n\nconst ButtonBase = withStyles((theme) => ({\n root: {\n borderRadius: 0,\n boxShadow: '1px 0 0 #f2f2f2',\n fontFamily: theme.typography.fontFamily,\n fontSize: 11,\n fontWeight: 700,\n color: theme.palette.text.primary,\n height: 64,\n letterSpacing: '0.02em',\n lineHeight: 16 / 11,\n minWidth: 64,\n paddingLeft: 16,\n paddingRight: 16,\n textTransform: 'uppercase',\n\n '&:first-child': {\n boxShadow: '-1px 0 0 #f2f2f2, 1px 0 0 #f2f2f2',\n },\n '&:hover': {\n background: '#f7f7f7',\n },\n },\n}))(MuiButtonBase);\n\nconst Button = ({ icon, children, ...rest }) => (\n \n {icon ? (\n {icon}\n ) : null}\n {children}\n \n);\n\nexport default Button;\n","/* eslint-disable */\nimport * as Icons from '@crpt-ui/icons';\nimport {\n Menu as MuiMenu,\n MenuItem as MuiMenuItem,\n withStyles,\n} from '@material-ui/core';\nimport React, { Fragment, useCallback, useRef, useState } from 'react';\n\nimport Button from './button';\n\nconst Menu = withStyles((theme) => ({\n paper: {\n boxShadow: '0px 8px 32px rgba(0, 0, 0, 0.125)',\n borderRadius: '0px 0px 4px 4px',\n\n '&::-webkit-scrollbar': {\n width: 4,\n },\n\n '&::-webkit-scrollbar-track': {\n background: '#f2f2f2',\n },\n\n '&::-webkit-scrollbar-thumb': {\n width: 2,\n borderRadius: 2,\n background: theme.palette.text.primary,\n },\n },\n list: {\n padding: 0,\n },\n}))(MuiMenu);\n\nconst MenuItem = withStyles((theme) => ({\n root: {\n fontSize: 11,\n lineHeight: 24 / 11,\n fontWeight: 700,\n textTransform: 'uppercase',\n letterSpacing: '0.02em',\n padding: 16,\n height: 48,\n\n '&:hover, &:focus': {\n background: '#f7f7f7',\n },\n\n '&$selected, &$selected:hover': {\n background: theme.palette.primary.main,\n },\n },\n selected: {},\n}))(MuiMenuItem);\n\nconst MenuButton = ({ children, items = [], ...rest }) => {\n const [anchorEl, setAnchorEl] = useState(null);\n const buttonRef = useRef(null);\n\n const handleClick = useCallback((event) => {\n setAnchorEl(event.currentTarget);\n }, []);\n\n const handleClose = useCallback(() => {\n setAnchorEl(null);\n }, []);\n\n const renderMenuItem = useCallback(\n ({ label, onClick, icon, ...rest }, key) => (\n {\n if (typeof onClick === 'function') {\n onClick(event);\n }\n handleClose();\n }}\n disableRipple\n disableTouchRipple\n {...rest}\n >\n {icon ? {icon} : null}\n {label}\n \n ),\n [],\n );\n\n const renderMenuItems = useCallback(\n () =>\n items.map((item, key) => {\n if (React.isValidElement(item)) {\n return item;\n }\n\n return renderMenuItem(item, key);\n }),\n [items],\n );\n\n return (\n \n \n \n {renderMenuItems()}\n \n \n );\n};\n\nexport default MenuButton;\n","/* eslint-disable */\nimport React, { useMemo } from 'react';\nimport { connect, useSelector } from 'react-redux';\nimport { Link as RouterLink, withRouter } from 'react-router-dom';\nimport { useLocation } from 'react-router';\nimport PropTypes from 'prop-types';\nimport * as Icons from '@crpt-ui/icons';\nimport { Grid } from '@material-ui/core';\nimport cn from 'classnames';\n\nimport { HELPERS } from '../../../helpers';\nimport { logout } from '../../../actions/auth';\nimport { removeError } from '../../../actions/errors';\nimport routes from '../../../routes';\nimport { usePageHeaderStyles } from './PageHeader.styled';\nimport MenuButton from \"./components/menuButton\";\nimport Button from \"./components/button\";\nimport {useTranslation} from \"react-i18next\";\nimport {LanguageSwitcher} from \"../../language-switcher/languageSwitcher\";\nimport {Translate} from \"../../translate\";\n\nconst PageHeader = ({ currentUser, logout, removeError, settings }) => {\n const location = useLocation();\n const { t } = useTranslation();\n\n const classes = usePageHeaderStyles({ country: settings.countryCode });\n const title = HELPERS.getPageTitle(location.pathname);\n\n\n const userShortName = useMemo(\n () => currentUser.shortName,\n [currentUser],\n );\n\n const profileMenuItems = useMemo(() => [\n {\n component: RouterLink,\n icon: ,\n label: Translate('Профиль'),\n to: routes.profile(),\n },\n {\n component: RouterLink,\n icon:
,\n onClick: () => {\n logout();\n removeError();\n },\n label: Translate('Выйти'),\n },\n ], [logout, removeError]);\n\n return (\n
\n \n \n \n \n \n {/*
*/}\n {/* Тестовый режим заказа кодов маркировки в системе маркировки Российской Федерации*/}\n {/*
*/}\n
\n \n \n \n \n \n \n
\n )}\n items={profileMenuItems}\n >\n {userShortName}\n \n \n \n
\n );\n};\n\nPageHeader.propTypes = {\n logout: PropTypes.func.isRequired,\n removeError: PropTypes.func.isRequired,\n currentUser: PropTypes.object.isRequired,\n settings: PropTypes.object.isRequired,\n};\n\nexport const mapStateToProps = (state) => ({\n currentUser: state.currentUser,\n settings: state.settings.common,\n});\n\nconst ConnectedComponent = withRouter(connect(mapStateToProps, {\n logout,\n removeError,\n})(PageHeader));\n\nexport default ConnectedComponent;\n","import React from 'react';\nimport { Button, Modal } from '@crpt-ui/core';\nimport { connect, useDispatch } from 'react-redux';\nimport Link from '@material-ui/core/Link';\nimport { checkPassword, patchUser } from '../../../actions/users';\nimport routes from '../../../routes';\nimport { history } from '../../../store';\nimport { ChangePasswordModal } from './change-password-modal';\nimport { Translate } from '../../../components/translate';\n\nconst WarningPasswordModal = ({ data, currentUser }) => {\n const dispatch = useDispatch();\n\n const onClose = () => {\n dispatch(checkPassword({ expirationNote: false }));\n };\n\n const handleClick = () => {\n dispatch(checkPassword({ expirationNote: false, openDialog: true }));\n history.push(routes.profile());\n };\n\n const changePassword = (data) => {\n const body = { password: data.password, currentPassword: data.currentPassword };\n dispatch(patchUser({\n data: { id: currentUser.id, body },\n closeFormFunc: () => {\n dispatch(checkPassword({}));\n },\n }));\n };\n\n return (\n <>\n \n

{Translate('Внимание!')}

\n

{Translate('Срок действия Вашего пароля истекает.')}

\n

\n {Translate('Число дней до истечения срока действия Вашего пароля')}\n :\n {' '}\n {data.daysLimit}\n .\n

\n

\n {Translate('Чтобы изменить пароль, перейдите по')}\n {' '}\n {Translate('ссылке')}\n .\n

\n
\n \n {Translate('Закрыть')}\n \n
\n
\n {\n data.expiredToday && (\n {}}\n onSave={changePassword}\n />\n )\n }\n \n );\n};\n\nconst mapStateToProps = (state) => ({\n data: state.settings.password,\n currentUser: state.currentUser,\n});\n\nconst ConnectedComponent = connect(mapStateToProps, {})(WarningPasswordModal);\n\nexport default ConnectedComponent;\n","import React, {lazy, Suspense} from 'react';\nimport {Route, Switch} from 'react-router-dom';\nimport {connect} from 'react-redux';\nimport routes from '../../routes';\nimport './index.scss';\nimport MainMenu from '../menu';\nimport {Spinner} from '../spinner';\nimport ErrorNotification from '../notification';\nimport AuthRoute from '../router/index';\nimport PageHeader from './header';\nimport WarningPasswordModal from '../../pages/users-page/components/warning-password-modal';\n\n\nconst HomePage = lazy(() => import('../../pages/home-page'));\nconst ResetPasswordPage = lazy(() => import('../../pages/reset-password-page'));\nconst TurnoverParticipantsPage = lazy(() => import('../../pages/turnover-participants-page'));\nconst TurnoverParticipantsEditComponent = lazy(() => import('../../pages/turnover-participants-page/components/participant-form'));\nconst ParticipantCard = lazy(() => import('../../pages/turnover-participants-page/components/participant-card'));\nconst UsersPage = lazy(() => import('../../pages/users-page'));\nconst AuthPage = lazy(() => import('../../pages/auth'));\nconst UsersCardComponent = lazy(() => import('../../pages/users-page/components/user-card'));\nconst UserEditComponent = lazy(() => import('../../pages/users-page/components/users-form'));\nconst OperationPage = lazy(() => import('../../pages/operations-page'));\nconst OperationForm = lazy(() => import('../../pages/operations-page/components/operation-form'));\nconst AggregationForm = lazy(() => import('../../pages/operations-page/components/forms/aggregation/aggregation'));\nconst OperationCardComponent = lazy(() => import('../../pages/operations-page/components/operation-card'));\nconst GoodsPage = lazy(() => import('../../pages/goods-page'));\nconst GoodsEditComponent = lazy(() => import('../../pages/goods-page/components/form/goods-form'));\nconst GoodsItemCardComponent = lazy(() => import('../../pages/goods-page/components/goods-card'));\nconst MarkCodesPage = lazy(() => import('../../pages/mark-codes'));\nconst MarkCodeCardComponent = lazy(() => import('../../pages/mark-codes/components/mark-code-card'));\n\n// const CancellationPage = lazy(() => import('../../pages/payment-page/components/cancelationPage'));\n\nconst AddGoodsGroupPage = lazy(() => import('../../pages/goods-group-page/goods-groups-add-form'));\n\n// const PaymentPage = lazy(() => import('../../pages/payment-page'));\n// const AccrualsPage = lazy(() => import('../../pages/charges'));\n\nconst TransactionsPage1 = lazy(() => import('../../pages/transactions-page/groups'));\nconst TransactionsPage2 = lazy(() => import('../../pages/transactions-page'));\n\n\nconst Layout = () => (\n
\n
\n \n
\n
\n \n
\n
\n \n
\n }>\n \n \n \n \n\n\n\n \n\n \n\n \n \n \n\n \n\n \n \n \n \n \n \n \n\n \n \n\n \n \n \n \n \n \n \n \n \n\n {/**/}\n {/**/}\n {/**/}\n\n \n \n\n (\n

\n 404:\n {location.pathname}\n

\n )\n }\n />\n
\n
\n
\n
\n \n
\n);\n\nexport const mapStateToProps = ({currentUser}) => ({currentUser});\n\nconst ConnectedComponent = connect(mapStateToProps, {})(Layout);\n\nexport default ConnectedComponent;\n","import React, {Component} from 'react';\r\nimport {LanguageSwitcher} from \"../../../components/language-switcher/languageSwitcher\";\r\nimport {Logo} from \"../../auth/logo\";\r\nimport {Field, Form} from \"react-final-form\";\r\nimport TextField from \"../../../components/final-form/text-field\";\r\nimport {Button} from \"@crpt-ui/core\";\r\nimport {validators} from \"../../../helpers/form-validators\";\r\nimport * as Icons from \"@crpt-ui/icons\";\r\nimport {connect} from \"react-redux\";\r\nimport {clearErrors} from \"../../../actions/errors\";\r\nimport {updatePassword} from \"../../../actions/reset-password\";\r\n\r\n\r\nconst VALIDATORS = {\r\n password: validators.pipe(\r\n validators.required,\r\n validators.length.minPwd(8),\r\n validators.length.maxPwd(20),\r\n validators.is.resetPass.digit,\r\n validators.is.resetPass.specialChar,\r\n validators.is.resetPass.specialChar,\r\n validators.is.resetPass.uppercase,\r\n validators.is.resetPass.lowercase,\r\n\r\n ),\r\n retryPassword: (password) => validators.pipe(\r\n validators.required,\r\n validators.eq(password),\r\n ),\r\n};\r\n\r\n\r\nclass NewPasswordPage extends Component {\r\n\r\n state = {\r\n showPassword: false,\r\n showConfirmPassword: false,\r\n };\r\n\r\n\r\n sendNewPassword = (values) => {\r\n const {email, updatePassword, offResetPassword} = this.props\r\n updatePassword(\r\n {\r\n data: values,\r\n email,\r\n onFinish: () => {\r\n offResetPassword()\r\n }\r\n })\r\n }\r\n\r\n componentWillUnmount() {\r\n const {clearErrors} = this.props\r\n clearErrors()\r\n }\r\n\r\n\r\n render() {\r\n const {errors} = this.props;\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n

Шаг 2: Введите код отправленный на почту и новый пароль

\r\n (\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n {\r\n errors.length > 0 && (\r\n

\r\n {errors[errors.length - 1].name}\r\n

\r\n )\r\n\r\n }\r\n\r\n\r\n
\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\n\r\nexport const mapStateToProps = (state) => ({\r\n errors: state.errors.errors,\r\n email: state.resetPassword.email\r\n})\r\n\r\nconst ConnectedComponent = connect(mapStateToProps, {\r\n clearErrors,\r\n updatePassword\r\n})(NewPasswordPage);\r\n\r\n\r\nexport default ConnectedComponent;\r\n\r\n","import React, {useEffect} from 'react';\r\nimport ResetPasswordPage from \"../index\";\r\nimport NewPasswordPage from \"./NewPasswordPage\";\r\n\r\n\r\nfunction ResetLayout({offResetPassword}) {\r\n\r\n const [code, setCode] = React.useState(false);\r\n\r\n const onCodePage = () => {\r\n setCode(true);\r\n }\r\n\r\n const offCodePage = () => {\r\n setCode(false);\r\n }\r\n\r\n const handleBeforeUnload = (event) => {\r\n if (code) {\r\n event.preventDefault();\r\n return event.returnValue = '';\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n window.addEventListener(\"beforeunload\", handleBeforeUnload);\r\n\r\n return () => {\r\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\r\n }\r\n }, [code]);\r\n\r\n\r\n if (code) {\r\n return \r\n }\r\n\r\n return \r\n}\r\n\r\nexport default ResetLayout;","import React, { useEffect, useState } from 'react';\nimport { compose } from 'redux';\nimport { withTranslation } from 'react-i18next';\nimport fp from 'lodash/fp';\nimport { connect, useSelector } from 'react-redux';\nimport { check, logout } from '../../../actions/auth';\nimport { Spinner } from '../../../components/spinner';\nimport AuthPage from '../index';\nimport { useIdle } from '../../../hooks';\nimport ResetLayout from \"../../reset-password-page/components/ResetLayout\";\n\n\nconst Auth = ({\n check, auth, children, logout, i18n,\n}) => {\n const [isLoading, setIsLoading] = useState(true);\n const timeToIdle = useSelector((state) => state?.settings?.common?.session || 1000000);\n const countryCode = useSelector((state) => state?.settings?.common.countryCode);\n const [isResetPassword, setIsResetPassword] = useState(false);\n\n const isIdle = useIdle({\n timeToIdle,\n inactivityEvents: [],\n });\n\n const onResetPassword = () => {\n setIsResetPassword(true);\n };\n\n const offResetPassword = () => {\n setIsResetPassword(false);\n };\n\n useEffect(() => {\n if (isIdle && !auth.isNotAuth) {\n logout();\n }\n // eslint-disable-next-line\n }, [isIdle]);\n\n useEffect(() => {\n const language = localStorage.getItem('language');\n if (!language) {\n const lang = countryCode === 'AM' ? 'am' : 'ru';\n localStorage.setItem('language', lang);\n i18n.changeLanguage(lang);\n } else {\n i18n.changeLanguage(language);\n }\n check({\n onFinish: () => { setIsLoading(false); },\n });\n // eslint-disable-next-line\n }, []);\n\n return (\n fp.isEmpty(auth) || isLoading\n ? \n : (auth.isNotAuth)\n ? (isResetPassword ? : )\n : children\n );\n};\n\nexport const mapStateToProps = ({ auth, currentUser }) => ({ auth, currentUser });\n\nconst ConnectedComponent = compose(\n withTranslation(),\n connect(mapStateToProps, {\n check,\n logout,\n }),\n)(Auth);\n\nexport default ConnectedComponent;\n","import { useEffect, useState } from 'react';\nimport createActivityDetector from 'activity-detector';\n\nexport function useIdle(options) {\n const [isIdle, setIsIdle] = useState(false);\n useEffect(() => {\n const activityDetector = createActivityDetector(options);\n activityDetector.on('idle', () => { setIsIdle(true); });\n activityDetector.on('active', () => setIsIdle(false));\n\n return () => activityDetector.stop();\n // eslint-disable-next-line\n }, []);\n\n return isIdle;\n}\n","export const palette = {\n primary: {\n main: '#057EC6',\n iconColor: '#057EC6',\n iconColorHover: '#fff',\n },\n secondary: {\n main: '#4aa5e8',\n },\n text: {\n primary: '#888888',\n secondary: '#868686',\n light: '#b8b8b8',\n disabled: '#d0d0d0',\n white: '#ffffff',\n },\n error: {\n main: '#ff4b4b',\n },\n success: {\n main: '#60e84a',\n },\n};\n","export const palette = {\n primary: {\n main: '#0287B0',\n iconColor: '#0287B0',\n iconColorHover: '#fff',\n },\n secondary: {\n main: '#0287B0',\n },\n text: {\n primary: '#888888',\n secondary: '#868686',\n light: '#b8b8b8',\n white: '#ffffff',\n disabled: '#d0d0d0',\n },\n error: {\n main: '#ff4b4b',\n },\n success: {\n main: '#60e84a',\n },\n};\n","export const palette = {\n primary: {\n main: '#707070',\n iconColor: '#cd1e24',\n iconColorHover: '#fff',\n },\n secondary: {\n main: '#707070',\n },\n text: {\n primary: '#888888',\n secondary: '#868686',\n light: '#b8b8b8',\n disabled: '#d0d0d0',\n white: '#ffffff',\n },\n error: {\n main: '#ff4b4b',\n },\n success: {\n main: '#60e84a',\n },\n};\n","export const palette = {\n primary: {\n main: '#f6f42e',\n iconColor: '#f6f42e',\n iconColorHover: '#888888',\n },\n secondary: {\n main: '#4aa5e8',\n },\n text: {\n primary: '#888888',\n secondary: '#868686',\n light: '#b8b8b8',\n white: '#888888',\n },\n error: {\n main: '#ff4b4b',\n },\n success: {\n main: '#60e84a',\n },\n};\n","import React from 'react';\nimport { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';\nimport { connect } from 'react-redux';\nimport fp from 'lodash/fp';\nimport { palette as kgThemePalette } from './kg-theme';\nimport { palette as kzThemePalette } from './kz-theme';\nimport { palette as amThemePalette } from './am-theme';\nimport { palette as defaultThemePalette } from './default';\nimport { loadSettings } from '../../actions/common';\nimport { setFavicon } from '../../helpers';\n\nclass Theme extends React.Component {\n state = {\n theme: null,\n };\n\n componentDidMount() {\n const { loadSettings } = this.props;\n loadSettings({\n onFinish: (data) => {\n const country = data ? fp.find((item) => item.key === 'country')(data).value : '';\n this.setTheme(country);\n setFavicon(country);\n },\n });\n }\n\n getPalette = (country) => {\n switch (country) {\n case 'KG': return kgThemePalette;\n case 'KZ': return kzThemePalette;\n case 'AM': return amThemePalette;\n default: return defaultThemePalette;\n }\n };\n\n setTheme = (country) => {\n let themeClassName = '';\n switch (country) {\n case 'KG': themeClassName = 'theme-kg'; break;\n case 'KZ': themeClassName = 'theme-kz'; break;\n case 'AM': themeClassName = 'theme-am'; break;\n default: themeClassName = 'theme-default';\n }\n document.getElementById('body').className = themeClassName;\n\n const palette = this.getPalette(country);\n\n const theme = createMuiTheme({\n overrides: {\n MuiDrawer: {\n paper: {\n width: '368px',\n },\n },\n MuiFilledInput: {\n root: {\n '&:hover': {\n backgroundColor: 'white',\n },\n '&$focused': {\n backgroundColor: 'white',\n },\n backgroundColor: 'white',\n borderRadius: '3px',\n overflow: 'hidden',\n },\n underline: {\n '&:after': {\n borderBottom: '2px solid #f6f42e',\n transition: 'transform 500ms cubic-bezier(0.0, 0, 0.2, 1) 0ms',\n },\n '&:before': {\n display: 'none',\n },\n },\n },\n MuiFormControlLabel: {\n label: {\n fontSize: '14px',\n fontWeight: 600,\n lineHeight: 20 / 14,\n margin: '0 0 0 10px',\n },\n root: {\n '&:last-child': {\n marginBottom: '0',\n },\n alignItems: 'flex-start',\n marginLeft: 0,\n marginRight: 0,\n marginBottom: '10px',\n verticalAlign: 'top',\n userSelect: 'none',\n },\n },\n MuiIconButton: {\n root: {\n padding: '0',\n },\n },\n MuiInput: {},\n MuiInputBase: {\n root: {\n '&&$disabled': {\n color: '#63666a !important',\n },\n },\n },\n MuiInputLabel: {},\n MuiFormLabel: {\n root: {\n fontSize: '16px',\n },\n },\n MuiList: {\n padding: {\n paddingBottom: '5px',\n paddingTop: '5px',\n },\n },\n MuiListItem: {\n button: {\n '&:hover': {\n backgroundColor: '#f7f7f7',\n color: '#888888 !important',\n },\n '&:focus': {\n backgroundColor: palette.primary.main,\n color: 'white',\n },\n },\n root: {\n '&:hover': {\n backgroundColor: palette.primary.main,\n },\n },\n },\n MuiMenuItem: {\n gutters: {\n paddingLeft: '20px',\n paddingRight: '20px',\n },\n root: {\n '&$selected': {\n backgroundColor: palette.primary.main,\n '&:hover': {\n backgroundColor: palette.primary.main,\n },\n },\n '&:hover': {\n backgroundColor: '#f7f7f7',\n },\n alignItems: 'center',\n borderRadius: 0,\n display: 'flex',\n fontSize: '16px',\n height: 'auto',\n minHeight: '40px',\n },\n },\n MuiPaper: {\n root: {\n background: '#fff',\n borderRadius: '3px',\n boxSizing: 'border-box',\n },\n },\n MuiPopover: {\n paper: {\n boxShadow: '0px 4px 20px rgba(0, 0, 0, 0.15)',\n },\n },\n MuiSelect: {\n select: {\n '&:focus': {\n backgroundColor: 'transparent',\n },\n },\n },\n MuiSvgIcon: {\n root: {\n verticalAlign: 'top',\n fontSize: '20px',\n },\n },\n MuiTooltip: {\n popper: {\n opacity: '1',\n },\n tooltip: {\n backgroundColor: 'rgba(0, 0, 0, .6)',\n borderRadius: '3px',\n minWidth: 'auto',\n color: 'white',\n padding: '10px 15px',\n fontSize: '14px',\n lineHeight: '20px',\n },\n },\n MuiTypography: {\n body1: {\n fontSize: 16,\n lineHeight: 24 / 16,\n },\n h1: {\n fontSize: 32,\n fontWeight: 700,\n letterSpacing: '1px',\n lineHeight: 40 / 32,\n textTransform: 'uppercase',\n },\n h2: {\n fontSize: 20,\n lineHeight: 30 / 20,\n fontWeight: 600,\n },\n h3: {\n fontSize: 16,\n lineHeight: 20 / 16,\n fontWeight: 600,\n },\n h4: {\n fontSize: '18px',\n fontWeight: 600,\n lineHeight: '30px',\n marginTop: 20,\n marginBottom: 20,\n\n '&:first-child': {\n marginTop: 0,\n },\n '&:last-child': {\n marginBottom: 0,\n },\n },\n h5: {\n fontSize: '16px',\n fontWeight: 600,\n lineHeight: 1.5,\n },\n },\n MuiTable: {\n root: {\n boxShadow: 'inset 0px 1px 0px #f2f2f2, inset 1px 0px 0px #f2f2f2',\n tableLayout: 'fixed',\n },\n },\n MuiDialog: {\n paperWidthXs: {\n maxWidth: 390,\n },\n },\n MuiDialogTitle: {\n root: {\n padding: '20px',\n },\n },\n MuiDialogContent: {\n root: {\n padding: '20px',\n },\n },\n MuiBackdrop: {\n root: {\n backgroundColor: 'rgba(0, 0, 0, .2)',\n },\n },\n MuiRadio: {\n root: {\n padding: 0,\n userSelect: 'none',\n\n '&:hover': {\n background: 'transparent',\n },\n },\n },\n MuiCheckbox: {\n root: {\n padding: 0,\n userSelect: 'none',\n\n '&:hover': {\n background: 'transparent',\n },\n },\n },\n MuiAppBar: {\n root: {\n backgroundColor: '#fff',\n },\n },\n },\n palette,\n spacing: 10,\n typography: {\n fontFamily: ['Roboto', '\"Segoe UI\"', 'sans-serif'].join(','),\n useNextVariants: true,\n },\n });\n\n this.setState({ theme });\n };\n\n render() {\n const { children } = this.props;\n const { theme } = this.state;\n\n return theme\n ? (\n \n { children }\n \n )\n : (<>);\n }\n}\n\nexport const mapStateToProps = (state) => ({\n countryCode: state.settings.common.countryCode,\n});\n\nconst ConnectedComponent = connect(mapStateToProps, {\n loadSettings,\n})(Theme);\n\nexport default ConnectedComponent;\n","import axios from 'axios';\nimport { logoutByBlock, setAuthData } from '../actions/auth';\nimport { addError } from '../actions/errors';\nimport API from './index';\nimport { storeTokens } from '../sagas/auth';\n\nlet isRefreshing = false;\nlet subscribers = [];\n\nfunction onRefreshed({ access_token }) {\n subscribers.map((cb) => cb(access_token));\n}\n\nfunction subscribeTokenRefresh(cb) {\n subscribers.push(cb);\n}\n\nconst incerceptor = (store) => {\n axios.interceptors.response.use(null, async (error) => {\n const originalRequest = error.config;\n if (error?.response?.status === 401) {\n if (originalRequest.url === '/oauth/token' && originalRequest.method !== 'delete') {\n return Promise.reject(error.response);\n }\n if (!isRefreshing) {\n isRefreshing = true;\n API.rest.auth.reconnect().then(\n (token) => {\n storeTokens(token || {});\n store.dispatch(setAuthData(token || { isNotAuth: true }));\n isRefreshing = false;\n if (token) {\n onRefreshed(token);\n }\n subscribers = [];\n },\n );\n }\n return new Promise((resolve) => {\n subscribeTokenRefresh((token) => {\n originalRequest.headers.Authorization = `Bearer ${token}`;\n resolve(axios(originalRequest));\n });\n });\n } if (error?.response?.status === 403) {\n store.dispatch(logoutByBlock());\n }\n // Доступ запрещен\n if (!originalRequest.hideError) {\n store.dispatch(addError(error));\n }\n return Promise.reject(error);\n });\n};\nexport default incerceptor;\n","import React from 'react';\nimport { ConnectedRouter } from 'connected-react-router';\nimport { Provider } from 'react-redux';\nimport { store, history } from './store';\nimport Layout from './components/layout';\nimport { APIConnector } from './api';\nimport Auth from './pages/auth/component/auth';\nimport Theme from './components/themes';\nimport Incereption from './api/inceptor';\n\nIncereption(store);\n\nfunction App() {\n return (\n \n \n \n \n \n \n \n \n \n \n \n );\n}\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost'\n // [::1] is the IPv6 localhost address.\n || window.location.hostname === '[::1]'\n // 127.0.0.0/8 are considered localhost for IPv4.\n || window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/,\n ),\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service '\n + 'worker. To learn more, visit https://bit.ly/CRA-PWA',\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then((registration) => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all '\n + 'tabs for this page are closed. See https://bit.ly/CRA-PWA.',\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch((error) => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' },\n })\n .then((response) => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404\n || (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then((registration) => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.',\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then((registration) => {\n registration.unregister();\n });\n }\n}\n","/* eslint-disable */\nimport i18n from 'i18next';\nimport { initReactI18next } from 'react-i18next';\n\nimport translationAM from './components/locales/am/translations.json';\nimport translationRU from './components/locales/ru/translations.json';\n\nconst resources = {\n am: {\n translation: translationAM,\n },\n ru: {\n translation: translationRU,\n },\n};\n\ni18n\n .use(initReactI18next)\n .init({\n resources,\n fallbackLng: 'am',\n keySeparator: false,\n interpolation: {\n escapeValue: false,\n },\n react: {\n useSuspense: false,\n },\n });\n\nexport default i18n;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\nimport './i18n';\n\nimport './index.scss';\n\nReactDOM.render(, document.getElementById('root'));\n\nserviceWorker.unregister();\n","import { format } from 'date-fns';\nimport { ru } from 'date-fns/locale';\n\nconst locales = { ru };\n\n// by providing a default string of 'PP' or any of its variants for `formatStr`\n// it will format dates in whichever way is appropriate to the locale\nexport default function (date, formatStr = 'PP', locale = 'en') {\n return format(date, formatStr, {\n locale: locales[locale],\n });\n}\n"],"sourceRoot":""}