{"version":3,"sources":["../../../packages/inspinia/dist/img/eset-logo-67x26.png","../../../packages/navigation/components/Icon.js","../../../packages/navigation/components/Link.js","../../../packages/navigation/components/LinkItem.js","../../../packages/navigation/NavigationContext.js","../../../packages/navigation/useNavigation.js","../../../packages/navigation/useNavigationLink.js","../../../packages/navigation/components/NavigationItem.js","../../../packages/navigation/components/TextItem.js","../../../packages/utils/handleClick.js","../../../packages/navigation/components/CollapseItem.js","../../../packages/navigation/useMenuItems.js","../../../packages/navigation/menu/index.js","../../../packages/navigation/components/Menu.js","../../../packages/navigation/useNavigationMenu.js","../../../packages/utils/parseQueryString.js","../../../packages/navigation/useQueryParams.js","../../../packages/navigation/components/PageParams.js","components/Navigation/Toolbar/Toolbar.js","../../../packages/api/createActionNames.js","../../../packages/utils/stringifyObjectKeyAndValues.js","../../../packages/api/reducers.js","../../../packages/api/createRequestState.js","../../../packages/utils/wrapAsyncCallForDispatch.js","../../../packages/api/resourceAsyncCallAction.js","../../../packages/api/selectors.js","../../../packages/api/useResourceSelector.js","../../../packages/model/ModelContext.js","../../../packages/model/ModelProvider.js","../../../packages/model/promiseWrapper.js","../../../packages/model/useModel.js","../../../packages/model/useResourceContext.js","../../../packages/utils/useReducerWithThunk.js","../../../packages/cms/useCmsArticlesFeeds.js","../../../packages/loading/components/Spinner.js","../../../packages/loading/components/LoadingOverlay.js","../../../packages/loading/LoadingContext.js","../../../packages/loading/useLoading.js","../../../packages/loading/components/LoadingProvider.js","../../../packages/loading/useLoadingContext.js","../../../packages/loading/components/LoadingSpinnerOverlay.js","../../../packages/loading/useHookToLoading.js","../../../packages/loading/components/LoadingInfo.js","../../../packages/loading/components/SpinnerCircle.js","../../../packages/components/ui/Box/Box.js","../../../packages/components/ui/Button/Button.js","../../../packages/components/ui/Date/DateTime.js","../../../packages/components/ui/Date/Date.js","../../../packages/components/ui/DownloadLink/DownloadLink.js","../../../packages/components/ui/Email/Email.js","../../../packages/components/ui/EnumValue/EnumValue.js","../../../packages/components/ui/Errors/Errors.js","../../../packages/components/ui/FilterBar/FilterBar.js","../../../packages/components/ui/Number/Number.js","../../../packages/components/ui/Paginator/Paginator.js","../../../packages/components/ui/Phone/Phone.js","../../../packages/components/ui/WithoutCode/WithoutCode.js","../../../packages/components/ui/Price/Price.js","../../../packages/components/ui/Adress/Address.js","../../../packages/components/ui/FileSize/FileSize.js","../../../packages/utils/formatBytes.js","../../../packages/components/ui/Modal/Modal.js","../../../packages/components/ui/Modal/useModal.js","../../../packages/utils/useEventListener.js","../../../packages/components/ui/DropDown/useDropDown.js","../../../packages/components/ui/DisabledOverlay/DisabledOverlay.js","../../../packages/components/ui/Row/Row.js","../../../packages/components/ui/Col/Col.js","../../../packages/cms/components/ArticlesList.js","../../../packages/cms/components/ArticlesFeed.js","../../../packages/cms/useCmsFiles.js","../../../packages/components/FileManager/FileManagerContext.js","../../../packages/components/FileManager/FileDownload.js","../../../packages/components/FileManager/FileBox.js","../../../packages/components/FileManager/FileManager.js","../../../packages/cms/components/Downloads.js","../../../packages/cms/useCmsPage.js","../../../packages/page/PageContext.js","../../../packages/page/usePageContext.js","../../../packages/page/usePageBlocks.js","../../../packages/page/components/PageBlock.js","../../../packages/page/components/PageRoute.js","../../../packages/page/usePage.js","../../../packages/page/useSetPageInfo.js","../../../packages/page/useSetPageLocation.js","../../../packages/page/usePageInfo.js","../../../packages/page/useNavigate.js","../../../packages/cms/CmsNavigationContext.js","../../../packages/cms/useCmsNavigationRef.js","../../../packages/cms/components/TextPage.js","../../../packages/cms/components/Page.js","../../../packages/cms/useCmsArticle.js","../../../packages/cms/useCmsMenu.js","../../../packages/cms/useCmsPageBlocks.js","components/Navigation/Sidebar/Sidebar.js","components/Navigation/PageHeader/PageHeader.js","components/Navigation/Footer/FooterText.js","components/Navigation/Footer/Footer.js","components/Layout/Layout.js","components/Profile/Salesman/Salesman.js","components/Profile/ResellerInfo/ResellerInfo.js","../../../packages/entity/actions.js","../../../packages/entity/useResourceEntitySelector.js","../../../packages/entity/useCallRequestEnetity.js","../../../packages/entity/usePureEntity.js","../../../packages/entity/useEntity.js","../../../packages/entity/useEntityAction.js","components/Profile/ContactEmailsSubscriptions/ContactEmailsSubscriptions.js","../../../packages/components/components/AddressBookForm/AddressBookForm.js","../../../packages/components/components/BranchOfficeForm/BranchOfficeForm.js","../../../packages/components/components/CertificationRequestForm/CertificationRequestForm.js","../../../packages/components/Table/Table.js","../../../packages/components/Table/TableRow.js","../../../packages/components/Table/ToggleRowDetailButton.js","../../../packages/utils/arrayRemoveAny.js","../../../packages/components/Table/useRowDetail.js","../../../packages/components/components/CertificationsList/CertificationsList.js","../../../packages/components/components/Channel/Channel.js","../../../packages/components/components/ChannelName/ChannelName.js","../../../packages/components/components/ChannelContact/ChannelContact.js","../../../packages/dials/useDials.js","../../../packages/components/components/ContactForm/ContactForm.js","../../../packages/components/Form/DatePicker.js","../../../packages/components/Form/index.js","../../../packages/components/components/PasswordForm/PasswordForm.js","../../../packages/components/components/RenewBox/RenewLicenseShortcut.js","../../../packages/components/components/RenewForm/RenewForm.js","../../../packages/components/components/AddressFields/AddressFields.js","../../../packages/components/components/ContactFields/ContactFields.js","../../../packages/components/components/ChannelPicker/ChannelPickList.js","../../../packages/components/components/ChannelPicker/ChannelPicker.js","../../../packages/components/components/BranchOfficeSelector.js","../../../packages/components/components/ContactSelector.js","../../../packages/components/Document/AddressBook.js","../../../packages/components/Document/BranchOffice.js","../../../packages/components/Document/Channel.js","../../../packages/components/Document/Contact.js","../../../packages/components/Document/Status.js","../../../packages/components/Document/Type.js","../../../packages/components/evidenceItem/EvidenceItemAmount.js","../../../packages/components/evidenceItem/EvidenceItemBonusCode.js","../../../packages/components/evidenceItem/EvidenceItemDiscount.js","../../../packages/components/evidenceItem/EvidenceItemName.js","../../../packages/components/evidenceItem/EvidenceItemPrice.js","../../../packages/components/evidenceItem/EvidenceItemPromo.js","../../../packages/utils/arrayToDictionary.js","../../../packages/components/evidenceItem/EvidenceItemPromoWithName.js","../../../packages/utils/isEmptyChannel.js","../../../packages/documentEdit/useDocument.js","../../../packages/documentEdit/DocumentContext.js","../../../packages/documentEdit/useDocumentContext.js","../../../packages/documentEdit/useDocumentOperation.js","../../../packages/documentEdit/useDocumentSave.js","../../../packages/documentEdit/useDocumentValidator.js","../../../packages/documentEdit/documentViews.js","../../../packages/model/createEvidenceItemModel.js","../../../packages/documentEdit/useDocumentEditEvidenceItems.js","../../../packages/customerEdit/useCompanyRegistrySearch.js","../../../packages/customerEdit/components/CompaniesDropDown.js","../../../packages/customerEdit/components/CompanyFields.js","../../../packages/customerEdit/components/CustomerForm.js","../../../packages/utils/useRefOn.js","../../../packages/customerEdit/useCustomerEdit.js","../../../packages/customerEdit/components/CustomerSearchForm.js","../../../packages/customerEdit/components/CustomerType.js","../../../packages/customerEdit/components/CustomerEdit.js","../../../packages/customerEdit/components/CustomerProvider.js","../../../packages/customerEdit/CustomerContext.js","../../../packages/customerEdit/useCustomerContext.js","../../../packages/documentEdit/partner/usePartner.js","../../../packages/documentEdit/useDocumentEditView.js","../../../packages/documentEdit/useDocumentInit.js","../../../packages/documentEdit/useDocumentEdit.js","../../../packages/documentEdit/components/DocumentProvider.js","../../../packages/documentEdit/components/DocumentSaved.js","../../../packages/documentEdit/components/DocumentAdditionalInfo.js","../../../packages/documentEdit/components/DocumentCustomer.js","../../../packages/documentEdit/components/DocumentCustomerContainer.js","../../../packages/documentEdit/components/DocumentEvidenceItems.js","../../../packages/calculator/components/Discount.js","../../../packages/calculator/components/Preview.js","../../../packages/calculator/components/Promo.js","../../../packages/calculator/components/Selector.js","../../../packages/calculator/components/Ransom.js","../../../packages/calculator/components/DiscountCompetitors.js","../../../packages/calculator/useCompetitors.js","../../../packages/calculator/components/Calculator.js","../../../packages/calculator/useCalculator.js","../../../packages/calculator/useEvidenceItemCalculator.js","../../../packages/storage/src/FakeStorage.js","../../../packages/storage/src/useStorage.js","../../../packages/storage/src/useLocalStorage.js","../../../packages/storage/src/useSessionStorage.js","../../../packages/storage/src/useAppStorage.js","../../../packages/storage/src/AppStorageContext.js","../../../packages/storage/src/components/AppStorageProvider.js","../../../packages/auth/IdentityContext.js","../../../packages/auth/useIdentity.js","../../../packages/calculator/useEvidenceItemsStorage.js","../../../packages/documentEdit/components/DocumentEvidenceItem.js","../../../packages/documentEdit/components/DocumentAttachments.js","../../../packages/documentEdit/components/DocumentChekboxes.js","../../../packages/documentEdit/components/DocumentBranchOffice.js","../../../packages/documentEdit/partner/PartnerContext.js","../../../packages/documentEdit/partner/PartnerProvider.js","../../../packages/documentEdit/partner/usePartnerContext.js","../../../packages/documentEdit/partner/PartnerEdit.js","../../../packages/resellerEdit/useResellerEdit.js","../../../packages/resellerEdit/ResellerByRidFinder/ResellerRidForm.js","../../../packages/resellerEdit/ResellerByRidFinder/ResellerByRidFinder.js","../../../packages/documentEdit/components/DocumentPartner.js","../../../packages/documentEdit/components/DocumentPartnerContainer.js","../../../packages/dataSource/reducers/dataSource.js","../../../packages/dataSource/reducers/index.js","../../../packages/dataSource/selectors.js","../../../packages/dataSource/actions.js","../../../packages/dataSource/usePureDataSource.js","../../../packages/urlQuery/src/QueryParamsContext.js","../../../packages/urlQuery/src/useQueryParamsContext.js","../../../packages/urlQuery/src/components/QueryParamsProvider.js","../../../packages/urlQuery/src/useQueryParams.js","../../../packages/dataSource/useDataSourceWithQueryParams.js","../../../packages/documentEdit/components/DocumentEdit.js","../../../packages/documentEdit/containers/DocumentEntityCreate.js","../../../packages/components/evidenceItem/EvidenceItems.js","../../../packages/components/Document/Document.js","../../../packages/components/Document/Table/index.js","../../../packages/components/components/AddressBookDetail.js","../../../packages/components/components/BranchOfficeDetail.js","../../../packages/components/components/ContactDetail.js","components/ResellerDashboard/ResellerDashboard.js","containers/Homepage/HomapagePopup.js","containers/Homepage/Homepage.js","../../../packages/auth/actionTypes.js","../../../packages/auth/actions.js","../../../packages/auth/useAuth.js","containers/Auth/Auth.js","../../../packages/auth/components/Logout.js","../../../packages/auth/components/AuthIdentityProvider.js","../../../packages/components/Offer/OfferLink.js","../../../packages/utils/deepShallowEqueal.js","../../../packages/components/Opportunity/src/OpportunitiesFilter.js","../../../packages/components/Opportunity/src/useOpportunities.js","../../../packages/components/Offer/OfferDocument.js","../../../packages/components/Offer/OffersFilter.js","../../../packages/components/Offer/OffersTableRowDetail.js","../../../packages/components/Offer/OffersTable.js","../../../packages/components/Offer/OffersList.js","../../../packages/components/Offer/index.js","useIsEpc.js","containers/Offers/Offers.js","../../../packages/components/Deal/DealResponsiblePerson.js","../../../packages/components/Deal/DealFormDetailNew.js","../../../packages/components/Deal/DealFormDetailRenew.js","../../../packages/components/Deal/DealBusinessStatus.js","../../../packages/components/Deal/DealForm.js","../../../packages/components/Deal/DealFormDetail.js","../../../packages/components/Deal/SolutionFields.js","../../../packages/components/Deal/SolutionsContainer.js","../../../packages/components/Deal/DealFormSolutions.js","../../../packages/components/Deal/DealLink.js","../../../packages/components/Deal/DealsTable.js","components/DealsPanel.js","containers/Deals/Deals.js","containers/ProjectPrices/ProjectPrices.js","../../../packages/components/Invoice/EvidenceItems.js","../../../packages/components/Invoice/InvoiceDetail.js","../../../packages/components/Invoice/InvoicesTable.js","containers/Invoices/Invoices.js","containers/Profile/Settings/AddressBook/AddressBook.js","containers/Profile/Settings/BranchOffice/BranchOffice.js","containers/Profile/Settings/Settings.js","containers/Contact/ContactList/ContactList.js","containers/Profile/Contacts/Contacts.js","containers/Profile/Reports/ReportTable/ReportTable.js","containers/Profile/Reports/Reports.js","../../../packages/components/Order/OrderDocument.js","../../../packages/components/Order/OrderLink.js","../../../packages/components/Order/OrdersTableRowDetail.js","../../../packages/components/Order/OrdersTable.js","../../../packages/components/Order/index.js","containers/Orders/Orders.js","containers/Offers/ConfirmOrderModal.js","containers/Offers/Offer.js","containers/Orders/Order.js","containers/Invoices/Invoice.js","containers/Orders/OrderCreate.js","containers/CalculatorAndPriceLists/CalculatorAndPriceLists.js","containers/Offers/OfferCreate.js","containers/ProjectPrices/ProjectPriceCreate.js","components/NfrOrder/NfrOrderForm.js","components/NfrOrder/NfrCreditInfo.js","containers/OrderNfr.js","../../../packages/eshop/useCart.js","../../../packages/eshop/components/Cart.js","../../../packages/eshop/components/ShipmentForm.js","../../../packages/eshop/components/Product.js","../../../packages/eshop/components/ProductsGrid.js","../../../packages/eshop/components/Eshop.js","containers/BoxEshop.js","containers/MarketingEshop.js","containers/Deals/NewDeal.js","containers/Article/Article.js","containers/Deals/EditDeal.js","containers/License/LicensesDownload.js","containers/EsetContacts/EsetContacts.js","containers/Contact/ContactEdit/ContactEdit.js","containers/Contact/ContactCreate/ContactCreate.js","containers/Contact/CertificationRequest/CertificationRequest.js","containers/Profile/Password/Password.js","containers/CertificationDownload/CertificationDownload.js","containers/Profile/Certifications/Certifications.js","../../../packages/components/License/LeakedInfo.js","../../../packages/components/License/LicenseLink.js","../../../packages/components/License/LicenseOfferLink.js","../../../packages/components/License/LicenseOrderLink.js","../../../packages/components/License/LicenseResetCredentialsButton.js","../../../packages/components/License/Detail/LicenseNote.js","../../../packages/components/License/LicensesTable.js","../../../packages/components/License/LicensesFilter.js","../../../packages/components/License/Licenses.js","../../../packages/components/License/Detail/LicenseIdentification.js","../../../packages/components/License/Detail/LicenseInfoSend.js","../../../packages/components/License/Detail/LicenseSolution.js","../../../packages/components/License/Detail/LicenseUser.js","containers/License/ResellerLicenses.js","containers/License/ExpiringLicenses.js","containers/License/LeakedLicenses.js","containers/License/ResellerNfrLicenses.js","containers/License/NewestLicenses.js","containers/License/License.js","../../../packages/auth/useIsAuthenticated.js","../../../packages/auth/useIsAuthInitialized.js","containers/Consignment/Consignment.js","components/Library/Category.js","components/Library/Categories.js","components/Library/GridItemYouTube.js","components/Library/GridItemCourse.js","components/Library/GridItem.js","components/Library/Grid.js","components/Library/Header.js","components/Library/YouTubeDetail.js","components/Library/Detail.js","components/Library/Library.js","components/Faqs/FaqQuestion.js","components/Faqs/FaqAnswer.js","components/Faqs/FaqItem.js","components/Faqs/Faqs.js","components/DataPage.js","containers/Contact/ContactEdit/SelfContact.js","containers/ProcessedCourses/ProcessedCourses.js","containers/Auth/AuthToken.js","containers/License/LeakedLicensesInfo.js","containers/License/ExpiringLicensesInfo.js","containers/License/NewestLicensesInfo.js","containers/License/ExpiredLicenses.js","components/CmsNavigationProvider.js","components/FileManagerProvider.js","containers/License/ExpiredLicensesInfo.js","containers/ForgotPassword/ForgotPassword.js","components/MinimalLayout/MinimalLayout.js","containers/PasswordSet/PasswordSet.js","containers/Sso.js","containers/EshopDone.js","containers/Orders/OrderInfo.js","containers/ResellerPlan.js","containers/License/Expiring90dLicensesInfo.js","containers/License/Expiring90dLicenses.js","App.js","serviceWorker.js","../../../packages/utils/updateObject.js","../../../packages/auth/reducer.js","../../../packages/auth/authMiddleware.js","../../../packages/model/createResourcesReducers.js","../../../packages/auth/rootReducer.js","store/index.js","../../../packages/model/createDialsModel.js","../../../packages/model/createEntityModel.js","../../../packages/model/createDocumentModel.js","../../../packages/model/createCmsModel.js","../../../packages/auth/authStorage.js","../../../packages/auth/createAuthenticationModel.js","../../../packages/model/createDataSourceModel.js","resellerzone/navigation.js","resellerzone/sidebarMenu.js","resellerzone/models.js","resellerzone/index.js","ResellerzoneNavigationProvider.js","components/ResellerzonePageProvider.js","resellerzone/adapter.js","locale/cs.js","../../../packages/auth/redirectAuthenticator.js","index.js"],"names":["module","exports","Icon","icon","className","Link","props","exact","activeClassName","to","link","children","LinkItem","label","NavigationContext","React","createContext","useNavigation","navigation","useContext","paths","useMemo","byPaths","getItemOnPath","useCallback","path","getOnPath","isString","split","routes","getByUrlPath","urlPath","prefix","Object","entries","reduce","a","key","value","useNavigationLink","params","anchor","query","generatePath","queryString","stringify","error","console","log","NavigationItem","Container","content","indexOf","href","TextItem","onClick","event","preventDefault","handleClick","callback","args","apply","CollapseItem","currentPath","isActive","button","useMenuItems","useState","activeItem","setActiveItem","menuItems","setMenuItems","useEffect","filter","item","map","index","itemProps","MenuItem","navigationToMenuItem","navigationItem","title","atIndex","matchActiveContent","acc","currentLocation","child","matchPath","activeItemIndex","Menu","handleItemClick","result","useNavigationMenu","menu","parseQueryString","string","allowedParams","parse","obj","useQueryParams","location","useLocation","search","PageParams","allowed","routeMatch","useRouteMatch","queryParams","Error","propTypes","PropTypes","func","array","Toolbar","username","userId","drawerToggleClicked","style","alt","width","height","src","logo","id","createActionNames","Array","isArray","join","FETCH_INIT","FETCH_SUCCESS","FETCH_FAILURE","FETCH_RESET","stringifyObjectKeyAndValues","sort","concat","setLastUpdate","state","lastUpdateTime","Date","now","setResult","action","newState","defaultState","isFetching","isSuccess","isFailed","isRefreshing","results","resetResultIfNeeded","reset","initialResultState","getPath","method","emptyState","responseReducer","types","resetResult","typesArray","values","initialState","type","currentState","res","withChangeOnPath","payload","createReducer","resource","reducer","createRequestState","actions","wrapAsyncCallForDispatch","fce","shouldCallback","dispatch","getState","Promise","resolve","length","response","data","resourceAsyncCallAction","storeName","name","subAction","isError","selectResourceState","selector","selectedState","getParamsState","getMethodState","getStoreResourceState","getLoading","getLoaded","getFailed","getResults","getRefreshing","getLastUpdateTime","useResourceSelector","deps","useSelector","selectSimpleResourceState","ModelContext","ModelProvider","model","Provider","promiseWrapper","promise","then","useModel","callbackMemo","useResourceContext","resources","useReducerWithThunk","initialArgs","initialize","setState","stateRef","useRef","reducerRef","getCurrentState","current","setCurrentState","getCurrentReducer","feedsActions","SELECT_CATEGORY","feedsReducer","feeds","tags","push","tag","code","items","selected","selectCurrentTag","selectCurrentArticles","hasSelectedTag","useCmsArticlesFeeds","group","loadFeeds","cms","getFeeds","selectCategory","categories","articles","Spinner","minWidth","minHeight","LoadingOverlay","isLoading","LoadingContext","fetching","currentlyLoading","useLoading","useReducer","changeLoadingState","LoadingProvider","loading","useLoadingContext","LoadingSpinnerOverlay","useHookToLoading","loadingState","LoadingInfo","show","SpinnerCircle","Box","header","tools","options","contentClassName","Button","classNames","btnType","disabled","clicked","DateTime","date","format","moment","DownloadLink","createDownloadLink","target","rel","Email","email","EnumValue","ErrorSeverityMessage","message","severity","text","ErrorTypeMessage","Errors","messages","EMPTY_RULES","FilterBar","onSubmitSearch","onChange","controls","render","handleFormSubmit","valid","validationRules","onSubmit","defaultGroupClass","Number","number","decimalLength","wholePartLength","whole_part_length","sectionsDelimiter","sections_delimiter","decimalDelimiter","decimal_delimiter","isEmpty","re","numStr","toFixed","Math","max","Fragment","replace","RegExp","usePaginator","page","count","limit","start","end","pagination","pageCount","ceil","pages","lastPage","firstPage","itemPerPage","min","from","v","k","q","i","round","b","Set","Paginator","onPageChange","paginator","setPage","Phone","phone","WithoutCode","Price","price","currency","Address","street","zipCode","city","FileSize","decimals","bytes","dm","sizes","floor","parseFloat","pow","formatBytes","Modal","visible","hide","renderHeader","renderFooter","bodyClassName","dialogClassName","ReactDOM","createPortal","tabIndex","role","aria-hidden","document","body","useModal","setIsVisible","toggle","useEventListener","eventName","handler","element","window","savedHandler","addEventListener","eventListener","passive","removeEventListener","useDropdown","isOpen","setIsOpen","classList","add","remove","handleMouseDown","DisabledOverlay","on","Row","DEVICE_SIZES","VARIANTS","convertSizeToStyle","forEach","size","variant","property","properties","hasOwnProperty","newProperties","undefined","popProperty","charAt","toUpperCase","slice","newProps","Col","ArticlesList","author","short","isExternalLink","ArticlesFeed","handelClickOnCategory","offset","handlePrevPage","handleNextPage","data-bind","filesActions","filesReducer","filesTree","useCmsFiles","loadCmsFiles","getFiles","FileManagerContext","FileDownloadLink","fileManagerContext","filePath","createPath","FileBox","file","folder","FileDownload","FileManager","currentFolder","setCurrentFolder","padding","files","Downloads","pageActions","pageReducer","useCmsPage","category","loadPage","getPage","PageContext","usePageContext","usePageBlock","blocks","PageBlock","container","block","html","PageRoute","section","setPageLocation","useSetPageLocation","pathname","PAGE_ACTIONS","usePage","def","setPageInfo","info","useSetPageInfo","pageContext","usePageInfo","useNavigate","history","useHistory","CmsNavigationContext","useCmsNavigationRef","onContentChange","ref","navigate","cmsNavigationContext","getAttribute","onNavigationClick","startsWith","querySelectorAll","TextPage","init","dangerouslySetInnerHTML","__html","tabClickHandler","e","$","this","tab","contentElement","jQuery","require","find","click","ibox","closest","slideToggle","toggleClass","setTimeout","resize","youtube","source","dataset","embed","image","Image","appendChild","iframe","createElement","setAttribute","innerHTML","Page","createContents","contents","createdContents","articleActions","useCmsArticle","load","getArticle","menuActions","UPDATE_MENU","mergeMenu","loadedMenu","newLoadedMenu","categoryMap","o","row","newMenu","splice","prototype","menuReducer","mapCmsMenuToMenu","menuItem","visibleName","encodeURIComponent","systemName","isSingle","singlePage","currentMenu","useCmsMenu","loadCmsMenu","getMenu","pageBlockActions","pageBlocksReducer","useCmsPageBlocks","getPageBlocks","Sidebar","sidebarMenu","pageInfo","PageHeader","lg","FooterText","getFullYear","Footer","BannerContainer","paddingBottom","marginBottom","paddingTop","Layout","renderInfo","showSidebar","setShowSidebar","handleDrawToggleClicked","auth","scrollTo","position","zIndex","top","left","right","margin","maxWidth","border","lineHeight","Salesman","salesman","moreLink","imagePath","staffProfileImage","sm","staffFullName","staffCompanyName","staffStreet","staffZipCode","staffCity","staffMobile","staffEmail","RowContainer","RowLabel","RowContent","RowWideContent","colSpan","ResellerAddressBookRow","ResellerBranchOfficeRow","ResellerCategoryRow","commission","ResellerPrivilegeStatusRow","privilegeStatus","ResellerTurnoversRow","amount","subtitle","ResellerLoyaltyRow","loyalties","ResellerRidRow","addressBook","branchOffice","rid","publicExternalId","ResellerCertificationMessage","status","ResellerCertificationRow","certInfo","ResellerPlanRow","ResellerInfo","reseller","categoryInfo","resellerPlanEnabled","stats","shouldUpdateEntity","timeToRefresh","selectApiState","loaded","isTimeToRefresh","prevTime","diff","useResourceEntitySelector","context","selectorCallback","entity","shallowEqual","useResourceSelectorWithParams","paramsOrEmptyObject","useCallRequestEntity","defaultParams","validate","useDispatch","currentParams","setCurrentParams","defaultParamsRef","changeDefaultParams","newParams","isObject","createCurrentParams","resourceSelection","usePureEntity","actionCallback","actionParams","alwaysFetch","getEntity","requestGetEntity","memoizedParams","useEntity","inputParams","memoizedAllParams","callRequest","actionNames","entityActionReducer","useEntityAction","wrappedModelActionCall","request","ContactEmailsSubscriptions","checked","rulesForMainAddress","rules","mainAddress","VALIDATION_RULES","required","minLength","maxLength","postName","postStreet","postCity","postZipCode","mobile","web","AddressBookForm","setValidationRules","handleChange","newRules","elementType","elementConfig","placeholder","touched","autoComplete","groupClass","invalidate","store","sendOrderToCustomer","postAddress","form","validation","BranchOfficeForm","CertificationBranch","branchId","setValue","CertificationRequestForm","certificationBranches","contactId","Cell","column","primaryValue","renderCellProps","filterVisible","Cells","columns","onRowClick","rowContent","renderRowMessages","columnsLength","TableHead","Table","tableClasses","striped","bordered","condensed","hover","containerClasses","containerClassName","responsive","renderRow","getChildren","isValidElement","headerClassName","cloneElement","rows","primary","TableRow","ToggleRowDetailButton","isVisibleRow","toggleRow","closeIcon","openIcon","arrayRemoveAny","useRowDetail","visibleRows","setVisibleRows","newlyVisible","course","color","actual","contactName","endOn","actualPoints","maximumPoints","verdictPercent","verdict","certTestVerdictId","CertificationList","Channel","companyId","ChannelName","addressBookId","ChannelContact","contact","contactSurname","contactFirstname","contactEmail","useDials","TagGroupCheckboxes","usedTags","getValue","setChecked","currentValue","tagCode","tagDescription","contactPhone","pattern","ContactForm","onResendLoginRequested","selfEdit","dials","roles","others","newsletters","DataPickerWrapper","input","focused","setFocused","customInputIcon","inputIconPosition","small","numberOfMonths","displayFormat","onDateChange","keepFocusOnInput","onFocusChange","openDirection","hideKeyboardShortcutsPanel","isOutsideRange","DatePicker","renderInputElement","elementProps","SelectInput","TextArea","TextInput","PasswordInput","NumberInput","valueType","Checkbox","PasswordForm","handleSubmit","setValues","password","oldPassword","passwordCheck","RenewLicenseShortcut","box","identificator","idType","order","create","RenewForm","setIdType","match","renderAppend","AddressFields","ContactFields","NameRow","handleOptionChange","ChannelPickList","onPick","setSelected","changeEvent","parseInt","ChannelPicker","entityContext","handlePick","BranchOfficeSelector","branchOffices","branchOfficeId","ContactSelector","contacts","AddressBook","BranchOffice","viewType","isCustomer","Contact","Status","Type","EvidenceItemAmount","itemAmount","EvidenceItemBonusCode","itemBonusCode","EvidenceItemDiscount","itemDiscount","itemDiscountName","itemDiscountCompetitor","itemDiscountCompetitorName","itemDiscountCompetitorPrice","EvidenceItemName","itemCode","itemName","itemLicenseIdCodes","itemRansomExpirationDate","itemExpirationDate","itemExtraDays","EvidenceItemPrice","channel","itemCurrency","itemPrice","EvidenceItemPromo","itemPromoDiscount","arrayToDictionary","EvidenceItemPromoWithName","itemPromoId","promos","itemPromoName","enum","isEmptyChannel","channelValues","shouldValidate","initialized","existing","emptyDocument","owner","potentialOwner","replaceDocumentEvidenceItem","oldItem","newItem","evidenceItems","changeDocumentWithShouldValidateCheck","newDocumentValues","documentReducer","newOwner","newPartner","partner","evidenceItem","attachments","attachment","currentAttachments","currentEvidenceItems","useDocument","isEpc","confirmCustomerChange","confirmPartnerChange","setDocument","resetCustomer","addEvidenceItem","removeExitingEvidenceItem","changeValues","addAttachment","removeAttachment","addAttachments","replaceEvidenceItem","initialDocument","isCustomerFilled","isPartnerFilled","DocumentContext","useDocumentContext","actionTypes","documentType","useDocumentOperation","operation","dispatchOperation","documentModel","perform","saveActions","saveReducer","useDocumentSave","save","saveDocument","isSaving","isSaved","validateActions","buttons","availableButtons","possibleDocumentTypes","isLimitedByCredit","projectPrice","resellerDocument","validationReducer","documentTypes","available","useDocumentValidator","createValidate","validateDocument","attachmentContent","validationMessages","documentViews","EDIT_CUSTOMER","EDIT_CUSTOMER_PICK","EDIT_CUSTOMER_EDIT","PICK_PARTNER","EDIT_PARTNER","EDIT_EVIDENCE_ITEMS","VIEW","emptyItem","itemProductTypeId","itemProductFamilyId","itemProductPeriodId","itemDiscountId","itemBasePrice","itemMessages","epc","createEvidenceItemModel","adapter","select","get","recalculate","selection","post","EMPTY_CONTEXT","useDocumentEditEvidenceItems","isCompany","setView","evidenceItemEditContext","setEvidenceItemEditContext","editEvidenceItem","startEditNewEvidenceItem","selectType","startEditNewRenewEvidenceItem","startEditExistingEvidenceItem","leaveEvidenceItemEdit","confirmEvidenceItemEdit","licenseCode","cancelEvidenceItemEdit","useCompanyRegistrySearch","CompaniesDropDown","onSelect","onClose","canBeClosed","setCanBeClosed","handleSelect","COMPANY_FIELDS","vatId","CompanyFields","onSearchRegistry","registrySearchResult","searchRegistry","setPath","handleSearchRegistry","handleSelectCompany","handleClose","renderPrepend","Controls","useFormContainer","CustomerCompanyControls","useIsCompany","companyValidationRules","mergeDeep","isCompanyRef","CustomerForm","onReset","useRefOn","views","DEFAULT_VIEWS","initialValues","previousViewType","prefilledValue","emptyValues","zipcode","prepareValues","isOnOneOfCustomerEditView","view","documentCustomerReducer","customerType","useCustomerEdit","onViewChange","cancelEdit","confirmEdit","edit","pickNewHomeUser","pickNewCompany","pickNewExisting","existingChoosed","refOnViewChange","isEditingCustomer","customer","CustomerSearchForm","CustomerType","visibleViews","pickerContext","CustomerEdit","useCustomerContext","CustomerProvider","CustomerContext","PARTNER_VIEWS","ACTION","INITIAL_STATE","usePartner","onPartnerChange","cancel","pick","confirmChange","useDocumentEditView","defaultView","handleCustomerViewChange","customerView","isEdit","newView","CUSTOMER_VIEWS","handlePartnerViewChange","partnerView","currentView","enableAttachment","enableBranchOffice","enableEvidenceItem","enableCustomer","enablePartner","enableButtons","useDocumentEditInit","evidenceItemEdit","useDocumentEdit","modelProps","saving","DocumentProvider","DocumentSaved","ProjectPriceSaved","offerId","ProjectPriceInfo","DocumentAdditionalInfo","handleValuesChanges","note","customContractId","DocumentCustomer","DocumentCustomerContainer","memoVisibleViews","DocumentEvidenceItems","evidenceItemsMessages","itemMenu","Discount","discounts","productDiscountId","productDiscountName","Preview","Promo","promoId","promoName","Selector","products","periods","minimum","maximum","Ransom","ransom","DiscountCompetitors","competitors","useCompetitors","setCompetitors","discount","prevState","Calculator","confirm","calculationData","onEvidenceItemChange","useEvidenceItemCalculator","possibleDiscounts","possiblePromos","handleConfirm","promoAutoSelected","selectActions","recalculateActions","useCalculator","initialSelection","channels","currentSelection","evidenceItemsModel","finalProduct","changeSelectionCallback","changeValueCallback","productDiscountValue","changeSelection","changeValue","selectPartner","useForm","onValueChange","FakeStorage","clear","isNaN","_data","getItem","setItem","toString","removeItem","useStorage","storage","defaultValue","defaultValueRef","setCurrentValue","prevValue","JSON","newValue","Function","useLocalStorage","localStorage","sessionStorage","useAppStorage","AppStorageContext","AppStorageProvider","IdentityContext","useIdentity","useEvidenceItemsStorage","identity","setEvidenceItems","clearEvidenceItems","removeEvidenceItem","newItems","DocumentEvidenceItem","setChannels","processFiles","all","reject","reader","FileReader","onabort","onerror","abort","onload","attachmentName","attachmentSize","attachmentContentType","readAsDataURL","processFile","DocumentAttachments","onDrop","acceptedFiles","useDropzone","accept","maxSize","getRootProps","getInputProps","isDragActive","DocumentCheckboxes","generateVariants","dealConsent","visibleElements","setVisibleElements","DocumentBranchOffice","PartnerContext","PartnerProvider","usePartnerContext","PartnerEdit","changePartner","ResellerRidForm","ResellerByRidFinder","onConfirm","autoConfirm","resellerProfile","confirmProfileChange","DocumentPartner","onCancel","DocumentPartnerContainer","filtersKey","pageData","setCount","PAGE_COMMON_KEYS","getIncludesFromBody","getCurrentPage","filterKey","updateFor","searchParams","pageInitialState","elements","includes","setCountAndLastUpdateIfCount","setCountAndLastUpdate","dataSourceReducer","COUNT_FETCH_SUCCESS","COUNT_FETCH_INIT","COUNT_FETCH_FAILURE","createDataSourceReducer","countActionNames","selectCurrentBySearchParams","defaults","getPages","getCount","pageNumber","getPageElements","getPageIncludes","getPageIsLoading","shouldUpdateDataSource","searchParamsState","selectedPage","loadDataSource","dataSource","getDataSource","usePureDataSource","initialSearchParams","dataSourceResource","setSearchParams","useDataSourceSelector","getDataSourceCount","loadDataSourceCount","refresh","QueryParamsContext","useQueryParamsContext","QueryParamsProvider","urlSearchParams","returnParams","searchParamsToObject","URLSearchParams","currentSearchParams","newSearchParams","reload","setReload","change","locationSearchParams","append","getSearchParams","queryParamsContext","setQuery","PAGINATION","useDataSourceWithQueryParams","setQueryParams","paginationQueryParams","setPaginationQueryParams","queryParamsProcessed","setQueryParamsProcessed","paginationQueryParamsProcessed","setPaginationQueryParamsProcessed","firstRun","setFirstRun","handleSearch","handlePageChange","DocumentEdit","resourceName","DocumentEntityCreate","licensePublicId","licenseEPLI","licenseKey","licenseUsername","EvidenceItems","visibleDiscounts","visiblePrices","ownerPrice","partnerPrice","epcPrice","Document","states","statesDict","typesDict","businessStatus","dateCreated","basePrice","vatPrice","DocumentOwner","DocumentEPC","DocumentType","DocumentStatus","BusinessStatus","DocumentBasePrice","DocumentCreatedDate","DocumentResellerContact","AddressBookDetail","BranchOfficeDetail","ContactDetail","ResellerDashboardContent","turnovers","staff","process","ResellerDashboard","ID","HomepagePopup","modal","popup","useSessionStorage","popupSeen","setPopupSeen","popupDismissed","setPopupDismissed","checkDate","dismiss","expire","setDate","getDate","days","data-dismiss","Homepage","HomapagePopup","AUTH_INIT","AUTH_LOGOUT","authSuccess","authFailed","authenticate","credentials","checkOfTimeout","authInit","returnSecureToken","logOut","expirationTime","useAuth","handleAuthenticate","isAuthenticated","token","redirectPath","Auth","md","Logout","AuthIdentityProvider","authentication","authStorage","getAccessToken","OfferLink","staffId","resellerStaffId","tiers","phase","solution","businessType","tier","OfferDocument","isOrdered","createVariants","isVariantsCreated","handleOrder","isPdf","expirationDate","OffersFilter","fulltext","OffersTableRowDetail","offer","OffersTable","epcVisible","partnerVisible","OffersList","OfferExpirationDate","OfferTodayDate","todayDate","OfferViewMenu","useIsEpc","DEFAULT_PARAMS","Offers","contactPosition","DealResponsiblePerson","isSubmitted","responsiblePersonIsSameAsContact","isSameAsContact","setIsSameAsContact","handleCheck","responsiblePerson","DealFormDetailNew","notePosition","noteImplementation","MultiChoice","choices","setTouched","choice","SingleChoice","RenewElements","formContainer","DealFormDetailRenew","renewData","DealBusinessStatus","localValidationRules","dateExpected","phaseId","successProbability","expectedSolutions","DealForm","formType","propabilities","phases","solutions","renew","setIsSubmitted","responsiblePersonValidationRules","currentSolutions","minAmount","getValidationRules","before","validationResult","validateObject","handleSave","DealFormDetail","SolutionFields","unit","SolutionContainer","isChecked","SolutionsContainer","collectionContainer","useFormCollection","defaultValues","pathMemo","addItem","collection","setValueAt","currentIndex","updateValue","validator","useValidator","currentValidation","pathWithChildren","solutionsValidationRules","fromEntries","DealFormSolutionsWithDocument","initialSolutions","setInitialSolutions","lastSolutions","setLastSolutions","documentExpectedSolutions","newOne","a1","a2","formValidationRules","DealFormSolutions","DealLink","DealsTable","dealPhase","dateExpiration","DealsPanel","VIEWS","Deals","data-toggle","ProjectPrices","itemType","itemUnitPrice","itemVat","InvoiceDetail","variableSym","paymentMethod","paymentStatus","paymentStatusDict","companyName","dueDate","dateTaxableSupply","leftToPay","InvoicesTable","InvoiceState","canceled","overdue","isPaid","Invoices","Settings","tagsMap","Tag","ContactList","contactTags","Contacts","months","reportTable","year","month","formatValue","Reports","turnoversTable","ownerPrices","previousYear","groupedOwnerPrice","thisYear","ReportTable","percent","OrderDocument","OrderLink","OrdersTableRowDetail","OrdersTable","OrderMenu","INITIAL_SEARCH_PARAMS","Orders","OrdersFilter","ConfirmOrderModal","orderOffer","Offer","Order","Invoice","invoice","OrderCreate","CalculatorAndPriceLists","setCalculationData","handleShowCalculator","setEvidenceItem","orderEvidenceItem","setOrderEvidenceItem","handleOrderEvidenceItem","handleEvidenceItem","xs","lgOffset","OfferCreate","ProjectPriceCreate","defaultProps","NfrOrderForm","handleChangeReseller","NfrCreditInfo","OrderNfr","total","productPrice","product","productBasePrice","quantity","productsSum","sum","useCart","newProducts","changedProducts","addProduct","existingIndex","findIndex","productId","removeProduct","changeQuantity","clearBasket","Cart","onChangeQuantity","onRemoveProduct","productName","ShipmentForm","onValuesChange","Product","onAddProduct","attachmentPath","productUnit","setQuantity","onAddButtonClick","srcSet","toLowerCase","ProductsGrid","CategoryContent","cart","level","subNodes","Category","Heading","Eshop","onLoading","onSaved","resellerProfileLoading","rootCategory","productTreeLoading","setValid","profile","setProfile","handleValuesChange","newValues","isValid","BoxEshop","setIsSaved","handleSaved","boxEshopOrdered","MarketingEshop","marketingEshopOrdered","defaultDocument","statusId","closedId","opportunityId","dealClosed","dealStatus","opportunity","NewDeal","initialFormType","setFormType","Article","article","EditDeal","deal","LicensesDownload","requestLicenses","EsetContacts","data-app-module","frameBorder","ContactEdit","saveResult","resendLogin","EMPTY_CONTACT","ContactCreate","CertificationRequestResult","CertificationRequest","certificationRequestResult","fontStyle","Password","resetPassword","CertificationDownload","Certifications","CertificationsList","LeakedInfo","leakedInfo","hwf","LicenseLink","LicenseOfferLink","LicenseOrderLink","LicenseResetCredentialsButton","resetCredentials","handleResetCredentials","confirmAlert","LicenseNote","resellerNote","onSave","saveNote","handleNoteSave","filterChannel","licenseChannels","pop","LicensesTable","onInvalidate","license","licenseId","LicenseIdColumn","licenseMainId","LicenseIdWithNoteColumn","LicenseCustomerInfo","licensePrimaryName","licenseEmail","LicensePartner","channelName","LicenseEPC","LicenseChannel","LicenseProduct","licenseProductName","licensePackProductName","licenseTypeName","licenseBusinessType","licenseQuantity","LicenseDate","licenseDate","licenseExpiration","LicenseStatus","licenseBusinessStatusLabelStyle","licenseBusinessStatus","LicenseOrder","orderInfo","licenseOrder","orderClass","licenseOrderId","substr","LicenseDownload","licenseStatusId","LicensesFilter","statuses","typesList","statusesList","c","ago","Licenses","LicenseIdentification","licensePassword","licenseDeslockProductId","licenseProductKey","licenseProxyId","NormalLicense","DeslockLicense","licenseDeslockProductKey","LicenseInfoSend","sendedToEmail","resendCredentials","handleResendCredentials","LicenseSolution","licensePackQuantity","LicenseUser","licensePhone","ResellerLicenses","ExpiringLicenses","LeakedLicenses","LicenseNfrSpend","nfrPrice","ResellerNfrLicenses","NewestLicenses","License","resellerResetAllowed","useIsAuthenticated","useIsAuthInitialized","Consignment","cols","sn","onSelectCategory","sublabel","handleCategoryClick","aria-expanded","Categories","GridItemYouTube","description","GridItemCourse","blockFactory","GridItem","Grid","onSelectItem","colsNumber","attrs","Header","opts","playerVars","autoplay","enablejsapi","YouTubeDetail","YouTube","videoId","detailFactory","Detail","Library","defaultCategory","selectedCategory","setSelectedCategory","selectedItem","setSelectedItem","handleSelectCategory","categoryKey","handleSelectItem","FaqQuestion","question","FaqAnswer","answer","FaqItem","Faqs","DatePage","SelfContact","ProcessedCourses","LessonName","LessonStatus","lessonName","CreatedDate","created","ModifiedDate","modified","lessonStatus","AuthToken","access_token","LeakedLicensesInfo","ExpiringLicensesInfo","NewestLicensesInfo","ExpiredLicenses","CmsNavigationProvider","handleNavigationClick","url","parseUrl","open","FileManagerProvider","ExpiredLicensesInfo","VALIDATION","RequestSendForUsername","ForgotPassword","MinimalLayout","validatePassword","s","normalizeToString","PasswordSetForm","PasswordSetContent","validateResetPassword","ErrorPage","PasswordSet","Sso","protocol","hostname","EshopDone","OrderInfo","ResellerPlan","resellerPlanStats","isProfileLoaded","hasActivePlan","plan","Expiring90dLicensesInfo","Expiring90dLicenses","appRuleSet","defaultRuleSet","homepage","LICENSES_ALLOWED_KEYS","createPageContents","DataPage","App","isAuthReady","layout","expiring","component","expired","leaked","expiring90d","newest","list","signToken","decodeURIComponent","signIn","signOut","sso","detail","calculator","createNewLicence","createRenewLicence","nfr","download","settings","createContact","editContact","editSelfContact","certificationRequest","reports","partnerstvi","resellerPlan","certification","certificationDownload","processedCourses","nfrOrder","boxEshop","downloads","marketingEshop","consignment","old","forgottenPassword","passwordSet","basename","ruleSet","Boolean","updateObject","oldObject","newObject","clearAuthorizationHeader","authenticationModel","setAuthorizationToken","expiresIn","authCheck","authTokenCheck","getCredentials","createSpecificReducer","definition","initialResultsState","createResponseReducer","createResourcesReducers","definitions","reducers","resourceConfig","combineReducers","createResourceReducers","rootReducer","appReducer","composeEnhancers","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","compose","prepareStore","createStore","authReducer","applyMiddleware","next","authMiddleware","thunk","createDialsModel","getDialsFor","DOCUMENT_RESOURCES","createEntityModel","adapters","defaultAdapter","actionsModel","getAdapter","adapterName","postEntity","putEntity","put","deleteEntity","createDocumentModel","createAllOfferVariants","createCmsModel","feedGroupId","createAndSaveNonce","possible","random","nonce","clearLocalStorage","createAuthStorage","getUserName","getExpireAt","getUserId","getNonce","getIdentity","createNonce","clearStorage","persistAuthResponse","expireAt","getTime","accessToken","persistInLocalStorage","createAuthenticationModel","tokenCheck","forgotPassword","createDataSourceModel","orderNfr","sideBarMenu","salesMenuItems","models","resendLicenseEmail","saveResellerNote","saveAddressBook","saveBranchOffice","contactCertificationRequest","createResellerZoneModel","baseURL","authenticationAdapters","cmsAdapter","dataSourceAdapter","identityAdapter","resourceAdapter","axiosInstance","axios","resellerzoneResourceAdapter","endsWith","productTree","processedCourse","esetEvidenceItem","getTags","ResellerzoneNavigationProvider","ResellerzonePageProvider","initPage","isInvalidResponse","success","mapResponse","axiosRequest","requestParameters","resourceRequestConfig","requestParams","mapResourceParamsToRequestParams","stored","wrapWithStore","getUserByToken","headers","common","monthsShort","plural","n","translate","withoutSuffix","isFuture","defineLocale","monthsParse","_monthsParse","weekdays","weekdaysShort","weekdaysMin","longDateFormat","LT","L","LL","LLL","LLLL","calendar","sameDay","nextDay","nextWeek","day","lastDay","lastWeek","sameElse","relativeTime","future","past","m","mm","h","hh","d","dd","M","MM","y","yy","ordinal","week","dow","doy","moment_init_cs","checkoutHash","savedNonce","hash","expires_in","refresh_token","user_id","stateParts","refreshToken","locale","response_type","clientId","scope","redirectUrl","initImplicitFlow","userUrl","additionalState","createLoginUrl","createRedirectAuthenticator","origin","REACT_APP_SSO_URL","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.f52f797b.chunk.js","sourcesContent":["module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEMAAAAaCAYAAADsS+FMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzlEQUNCM0Q5OUZCMTFFNThDRkNDODM1NjE0MEJEOTUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzlEQUNCM0U5OUZCMTFFNThDRkNDODM1NjE0MEJEOTUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDOURBQ0IzQjk5RkIxMUU1OENGQ0M4MzU2MTQwQkQ5NSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDOURBQ0IzQzk5RkIxMUU1OENGQ0M4MzU2MTQwQkQ5NSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pi4deLUAAASESURBVHja5Jl/aJVlFMd3vXezqTNvrJRm4Y8pKvtR2yq2SY78S0GaCKn0R7glNpEh0awoqD9kJZFlkhAU/tFg5W80UBQ3h4o513RGrmiVy+VihZI298PdvX2PfN91eHjee1/h3l10D3y47/s+53l/nOec85zz3IDjOCljtI0Hn4IZoAr8HIoiXAiWg0yeD9/DHz6Ov3+D/eA7UACmg34wR5QRsFhGPvgMPHMfW0UTeBtEwGLQCE6bythBk9Hte/Ajj4MJejmZnSlgCQiMolI+AJtGzkQZZKvzf+sH74Bs1Z9oHuFzR7u9576D+yLlqvNPMH0UleDyKBhyktPk+0cCi+saA6AYdCXBjwNJjCF3vl9iRh5+23hxLfg8yqAM+rYo8Rq46eNB6eAhjglwzHWLXBbo9IhLjnreBPCwh/IGQZ9aPcw2zCX1AUtfvphntTKXxy3mmwneB5dAnxFXLoLNYKplXCVoA7cMkxwEl8EnvLcrn2Vxk2/BCrpQgHIBjlsGjhnytZTJ8ED6qjxcpVo663nSYvmgIOjw4XPHjXHrffpqYxRlHPEZaxrUmHd9yFd4vEu9mNMsmkmzxXTKwWx1fgZUgJfARXX9OSZoblunjq+AZ8FcUALaVd/cKMv1F+o4DL4CHUyawqrvLXVcBjaALXQ7t0niuBlsBM97PC9LNNVNzdRYtPihoT291D5h9H3M6+ngmrp+0rhnGMzn+BKQ5mEZuWrMFuNZ2wzr7bLMdLGSyfVhpW2Sjk+mZq5atJVtBCexin8Y0DJ4LY398/jbxwDpzt5CcAGcZTC9xIDd5vHMFAbKy+r8NBNCkZ9GC3VbhBaTZdwjoo5v+wj0aSEVlf+1CEzUwuDNKDfTdc5eUGOk+PmWMb/QVWLVPQeJVxuKw/IaDHGWpaV6LEX6geKff3DWB5mPRGglvytZSXHPgRfBk+Axj6VQ4tEaIz7Y2lrGoU7O8oNgKo+F3DgowwmpDw5bBHq05kA9A6JZDWrLCFKxu8E+rumuO8r9XgW1atwClUu4bQIVfFO5YCGxWUU89iEi8jHdPJlmEfjByBCfVueLaBUuh5Q1tfMF5UVPgFtU4gArxJQY/iwKzVHnh4z+1/k+ASr+XByU0Rui2Us9n2cROGrM4pfgZc5YmSHboGb4CjdNpBWxZG6iJZUa4w57pOOlfH4KFTofPAV+A6eMIF8SB2XckGVnO5eWTjDOsrzu8LEsNRtjynwmXfUxMtDyGAlUGrNUWytUctk+3mW7pLarGAvc3a1Wi9ZkVl6hf0/hLN6gVcnKccAyZhaTnBzGgFS6jSy7v4Kdhnl71SY/gW/Y5/DZk2gNS6PUIR+B8+yXmPNGDMtYLcqYSNOT4udrsCpJlWO0Qi3R7S8wU7TWC+p4cSV4bQxuDtfd0YPyqaG7LHjijVS+A0nY2Blyywy9B1rAYi2odpKlONrDTPG2kWXGs/VwNTs7ym4SYbrQ6m7u6M4iZoN5Y8A1pOquBC0jiZTHn0gvgGqu4WFVjCWyOYxfwwnYAnQTtF4WddvALlPoPwEGAB/dQ8+erjybAAAAAElFTkSuQmCC\"","import React from \"react\";\n\nconst Icon = ({icon}) => (icon ? () : null);\n\nexport default Icon;","import React from 'react';\nimport PropTypes from \"prop-types\";\n\nimport {NavLink} from \"react-router-dom\";\n\nconst Link = (props) => (\n {props.children}\n);\n\nLink.propTypes = {\n link: PropTypes.string.isRequired,\n active: PropTypes.bool,\n className: PropTypes.string\n};\n\n\nexport default Link;\n","import Link from \"./Link\";\nimport React from \"react\";\nimport Icon from \"./Icon\";\n\nconst LinkItem = ({to, icon, label, children, ...props}) => (\n {icon ? : null}\n {label || null}\n {children || null}\n);\n\n\nexport default LinkItem;","import React from \"react\";\n\nconst NavigationContext = React.createContext(null);\n\nexport default NavigationContext;","import {useCallback, useContext, useMemo} from \"react\";\nimport {getOnPath, isString} from \"@mouseover/js-utils/src\";\nimport NavigationContext from \"./NavigationContext\";\n\nconst useNavigation = () => {\n const {navigation} = useContext(NavigationContext);\n const paths = useMemo(() => byPaths(navigation), [navigation]);\n const getItemOnPath = useCallback((path) => getOnPath(navigation, isString(path) ? path.split(':') : path) || null, [navigation]);\n return {\n routes: useMemo(() => navigation, [navigation]),\n paths,\n getByUrlPath: useCallback((urlPath) => {\n const path = getOnPath(paths, [urlPath]);\n return path ? getItemOnPath(path) : null;\n }, [paths, getItemOnPath]),\n getItemOnPath\n }\n};\n\nexport default useNavigation;\n\n\nconst byPaths = (navigation, prefix = '') =>\n navigation\n ? Object.entries(navigation).reduce(\n (a, [key, value]) => (\n {\n ...a,\n ...(value && value.path ? {[value.path]: prefix + key} : byPaths(value, key + ':'))\n }\n ),\n []\n ) : {};","import {generatePath} from \"react-router-dom\";\nimport {useMemo} from \"react\";\nimport useNavigation from \"./useNavigation\";\nimport queryString from \"query-string\";\n\nconst useNavigationLink = ({to, params, anchor, query}) => {\n const {getItemOnPath} = useNavigation();\n return useMemo(() => {\n const navigation = getItemOnPath(to);\n if (navigation && navigation.path) {\n try {\n return generatePath(navigation.path, params) + (anchor ? '#' + anchor : '') + (query ? '?' + queryString.stringify(query) : '');\n } catch (error) {\n console.log(params, error);\n return '#not-created';\n }\n }\n return null;\n }, [getItemOnPath, to, params, anchor, query]);\n};\n\nexport default useNavigationLink;","import React from \"react\";\nimport LinkItem from \"./LinkItem\";\nimport useNavigationLink from \"../useNavigationLink\";\n\nconst NavigationItem = ({to, params, anchor, query, Container = null, ...props}) => {\n const path = useNavigationLink({to, params, anchor, query});\n\n if (!path) {\n return props.label || props.children || null;\n }\n\n const content = path.indexOf('http') === 0 ? : ;\n return Container ? {content} : content;\n};\n\n\nexport default NavigationItem;","import React from \"react\";\nimport Icon from \"./Icon\";\n\nconst TextItem = ({icon, label}) => (\n event.preventDefault())}>\n {icon ? : null}\n {label}\n );\n\nexport default TextItem;","const handleClick = (callback, ...args) => (event) => {\n if (event && typeof event.preventDefault === 'function') {\n event.preventDefault();\n }\n\n callback.apply(null, args);\n};\n\nexport default handleClick;\n\n","import React from \"react\";\nimport Menu from \"./Menu\";\nimport Icon from \"./Icon\";\n\nconst CollapseItem = ({onClick, currentPath, icon = null, label, isActive = false, content}) => {\n const button = {icon ? : null}{label};\n\n return (<>\n {button}\n \n )\n};\n\nexport default CollapseItem;","import {useEffect, useState} from \"react\";\nimport CollapseItem from \"./components/CollapseItem\";\nimport LinkItem from \"./components/LinkItem\";\nimport TextItem from \"./components/TextItem\";\n\nconst useMenuItems = (content) => {\n const [activeItem, setActiveItem] = useState(null);\n const [menuItems, setMenuItems] = useState([]);\n\n useEffect(() => {\n const menuItems = content.filter((item) => item.label).map((item, index) => {\n const itemProps = {\n ...item,\n MenuItem: null\n };\n\n if (item.content) {\n itemProps.MenuItem = CollapseItem;\n } else if (item.path) {\n itemProps.MenuItem = LinkItem;\n } else if (item.to) {\n itemProps.MenuItem = LinkItem;\n } else {\n itemProps.MenuItem = TextItem;\n }\n\n return itemProps;\n });\n\n setMenuItems(menuItems);\n }, [content, activeItem]);\n\n return [menuItems, activeItem, setActiveItem];\n}\n\nexport default useMenuItems;","import {matchPath} from \"react-router-dom\";\n\nexport const navigationToMenuItem = (navigationItem) => ({\n to: navigationItem.path,\n label: navigationItem.title,\n atIndex: navigationItem.atIndex\n});\n\nconst isMatching = (currentLocation, to) => currentLocation ? matchPath(currentLocation, to) : null;\n\nexport const matchActiveContent = (content, path) => content.reduce((acc, item, index) => {\n const content = item.content || item.child;\n if (isMatching(path, item.to) || (content && matchActiveContent(content, path).isActive)) {\n acc.isActive = true;\n acc.activeItemIndex = index;\n }\n return acc;\n}, {isActive: false, activeItemIndex: null});","import React, {useCallback, useEffect} from \"react\";\nimport handleClick from \"@fik/utils/handleClick\";\nimport useMenuItems from \"../useMenuItems\";\nimport {matchActiveContent} from \"../menu\";\n\nconst Menu = ({content = [], className = 'nav', currentPath}) => {\n const [menuItems, activeItem, setActiveItem] = useMenuItems(content);\n\n const handleItemClick = useCallback((index) => {\n setActiveItem(index);\n }, [setActiveItem]);\n\n useEffect(() => {\n if (currentPath) {\n const result = matchActiveContent(content, currentPath);\n if (result.activeItemIndex !== null) {\n setActiveItem(result.activeItemIndex);\n }\n }\n }, [content, currentPath, setActiveItem]);\n\n return (\n
    \n {menuItems.map(({MenuItem, ...itemProps}, index) => (
  • \n handleItemClick(index))} currentPath={currentPath} {...itemProps} isActive={activeItem === index}/>\n
  • ))}\n
\n );\n};\n\nexport default Menu;","import {useContext, useMemo} from \"react\";\nimport {getOnPath, isString} from \"@mouseover/js-utils/src\";\nimport NavigationContext from \"./NavigationContext\";\n\nconst useNavigationMenu = (path) => {\n const {menu} = useContext(NavigationContext);\n return useMemo(() => getOnPath(menu, isString(path) ? path.split('/') : path) || [], [menu, path]);\n};\n\nexport default useNavigationMenu;","import queryString from 'query-string'\n\nconst parseQueryString = (string, allowedParams) => {\n const params = queryString.parse(string);\n if (allowedParams) {\n return Object.entries(params).reduce((obj, [key, value]) => {\n if (allowedParams.indexOf(key) >= 0) {\n obj[key] = value;\n }\n return obj;\n }, {})\n }\n return params;\n};\n\nexport default parseQueryString;","import parseQueryString from \"@fik/utils/parseQueryString\";\nimport {useLocation} from 'react-router-dom';\nimport {useMemo} from \"react\";\n\nconst useQueryParams = (allowedParams) => {\n const location = useLocation();\n return useMemo(() => parseQueryString(location.search, allowedParams), [allowedParams, location.search]);\n};\n\nexport default useQueryParams;\n","import {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {useRouteMatch} from 'react-router-dom';\nimport useQueryParams from \"./../useQueryParams\";\n\nconst PageParams = ({children, allowed}) => {\n const routeMatch = useRouteMatch();\n const queryParams = useQueryParams(allowed);\n\n const props = useMemo(() => ({...(routeMatch.params || {}), ...queryParams}), [queryParams, routeMatch]);\n\n if (typeof children === \"function\" ) {\n return children(props);\n } else {\n throw Error('PageParams accept only render function as child!');\n }\n};\n\nPageParams.propTypes = {\n children: PropTypes.func,\n allowed: PropTypes.array\n};\n\nexport default PageParams;","import React from 'react';\nimport logo from '@fik/inspinia/dist/img/eset-logo-67x26.png';\nimport {NavigationItem} from \"@fik/navigation\";\nimport handleClick from \"@fik/utils/handleClick\";\n\nconst Toolbar = ({username, userId, drawerToggleClicked}) => (\n \n);\n\nexport default Toolbar;","export const createActionNames = (path) => {\n const prefix = (Array.isArray(path) ? path.join('/') : path) + '/';\n return {\n FETCH_INIT: `${prefix}FETCH_INIT`,\n FETCH_SUCCESS: `${prefix}FETCH_SUCCESS`,\n FETCH_FAILURE: `${prefix}FETCH_FAILURE`,\n FETCH_RESET: `${prefix}FETCH_RESET`,\n }\n};\n\nexport default createActionNames;","import {isString} from \"@mouseover/js-utils\";\n\nexport const stringifyObjectKeyAndValues = (obj) => {\n if (isString(obj)) {\n return obj;\n }\n return Object.entries(obj).sort().reduce(\n (result, [key, value]) => result.concat(key, '_', value, '_'),\n '_'\n );\n};\n\nexport default stringifyObjectKeyAndValues;\n","import {createActionNames} from \"./createActionNames\";\nimport stringifyObjectKeyAndValues from \"@fik/utils/stringifyObjectKeyAndValues\";\nimport {getOnPath, withChangeOnPath} from \"@mouseover/js-utils\";\n\nconst setLastUpdate = (state) => ({\n ...state,\n lastUpdateTime: Date.now()\n});\n\nconst setResult = (state, action, newState) => ({\n ...state,\n ...newState\n});\n\nconst defaultState = {\n isFetching: false,\n isSuccess: false,\n isFailed: false,\n isRefreshing: false,\n lastUpdateTime: null,\n results: null\n};\n\nconst resetResultIfNeeded = (state, reset, initialResultState = null) => {\n if (reset) {\n return {\n ...state,\n results: initialResultState\n }\n } else {\n return state;\n }\n};\n\nconst getPath = (action) => {\n const method = action.method || 'get';\n const key = stringifyObjectKeyAndValues(action.params || {});\n return [method, key];\n};\n\nconst emptyState = {};\n\nexport const responseReducer = (types, resetResult = true, initialResultState = null) => {\n const {FETCH_INIT, FETCH_SUCCESS, FETCH_FAILURE} = types;\n const typesArray = Object.values(types);\n const initialState = {...defaultState, results: initialResultState};\n\n return (state = emptyState, action) => {\n if (typesArray.indexOf(action.type) === -1) {\n return state;\n }\n\n const path = getPath(action);\n const currentState = getOnPath(state, path) || initialState;\n\n switch (action.type) {\n case FETCH_INIT:\n const res = withChangeOnPath(\n state,\n path,\n setResult(\n resetResultIfNeeded(setLastUpdate(currentState, action), !(currentState && currentState.isSuccess) && resetResult, initialResultState),\n action,\n {\n isRefreshing: currentState && currentState.isSuccess,\n isFetching: true,\n isSuccess: false,\n isFailed: false,\n lastUpdateTime: Date.now(),\n }));\n\n return res;\n case FETCH_SUCCESS:\n return withChangeOnPath(\n state,\n path,\n setResult(\n setLastUpdate(currentState, action),\n action,\n {\n isFetching: false,\n isSuccess: true,\n isFailed: false,\n isRefreshing: false,\n lastUpdateTime: Date.now(),\n results: action.payload\n }));\n\n case FETCH_FAILURE:\n return withChangeOnPath(\n state,\n path,\n setResult(\n setLastUpdate(currentState, action),\n action,\n {\n isFetching: false,\n isSuccess: false,\n isFailed: true,\n isRefreshing: false,\n lastUpdateTime: Date.now(),\n results: initialResultState\n }));\n\n default:\n return state;\n }\n }\n};\n\nexport const createReducer = (resource, reducer) => ({[resource]: reducer});\n\nexport const createResponseReducer = (storeName, resource = null, initialResultsState = null, resetResult = true) => {\n const actionNames = createActionNames([storeName, resource]);\n return createReducer(resource, responseReducer(actionNames, resetResult, initialResultsState));\n};","export const createRequestState = (actions, type) => {\n switch (type) {\n case actions.FETCH_INIT:\n return {\n isFetching: true,\n isSuccess: false,\n isFailed: false\n };\n\n case actions.FETCH_SUCCESS:\n return {\n isFetching: false,\n isSuccess: true,\n isFailed: false\n };\n\n case actions.FETCH_FAILURE:\n return {\n isFetching: false,\n isSuccess: false,\n isFailed: true,\n };\n\n case actions.FETCH_RESET:\n return {\n isFetching: false,\n isSuccess: false,\n isFailed: false,\n };\n\n default:\n return {};\n }\n};","const wrapAsyncCallForDispatch = (fce, method) => (actions, shouldCallback) => (...args) => async (dispatch, getState) => {\n if (typeof shouldCallback=== 'function' && !shouldCallback(args, getState)){\n return Promise.resolve();\n }\n\n let params = null;\n\n if (method === 'put' || method === 'post') {\n params = args[0] || null;\n } else {\n params = args.length === 1 && typeof args === 'object' ? args[0] : args;\n }\n\n dispatch({type: actions.FETCH_INIT, params, method});\n let payload;\n try {\n payload = await fce(...args);\n } catch (error) {\n dispatch({type: actions.FETCH_FAILURE, params, method, error: error.response && error.response.data ? error.response.data : error});\n return;\n }\n dispatch({type: actions.FETCH_SUCCESS, payload, params, method});\n};\n\nexport default wrapAsyncCallForDispatch;","import wrapAsyncCallForDispatch from \"@fik/utils/wrapAsyncCallForDispatch\";\nimport {createActionNames} from \"./createActionNames\";\n\nexport const resourceAsyncCallAction = ({storeName, name: resource, subAction}, shouldCallback, method = 'get') => (fce) => {\n return wrapAsyncCallForDispatch(fce, method)(\n createActionNames(subAction ? [storeName, resource, subAction] : [storeName, resource]),\n shouldCallback\n );\n};","import {getOnPath} from \"@mouseover/js-utils/src\";\nimport stringifyObjectKeyAndValues from \"@fik/utils/stringifyObjectKeyAndValues\";\n\nexport const selectApiState = (storeName, resource, params, method = 'get') => selectResourceState(storeName, resource, params, method)((state) => {\n return [\n getLoading(state),\n getLoaded(state),\n getResults(state),\n getLastUpdateTime(state)\n ]\n});\n\nconst defaultState = {isFetching: false, isSuccess: false, isError: false, results: null};\n\nexport const selectSimpleResourceState = (storeName, resource) => (selector) => state => selector(getStoreResourceState(storeName, resource)(state));\n\nexport const selectResourceState = (storeName, resource, params, method = 'get') => (selector) => state => {\n const selectedState = getParamsState(\n params,\n getMethodState(method, getStoreResourceState(storeName, resource, params, method)(state))\n );\n return selector(selectedState || defaultState);\n};\n\nexport const getParamsState = (params, state) => {\n if (params) {\n const key = stringifyObjectKeyAndValues(params || {});\n return state && state[key] ? state[key]: null;\n }\n return state;\n};\n\nexport const getMethodState = (method, state) => {\n return state && state[method] ? state[method]: null;\n};\n\nexport const getStoreResourceState = (storeName, resource) => (state) => getOnPath(state, [storeName, resource]);\n\nexport const getLoading = (state) => {\n return state.isFetching;\n};\n\nexport const getLoaded = (state) => {\n return state.isSuccess;\n};\n\nexport const getFailed = (state) => {\n return state.isFailed;\n};\n\nexport const getResults = (state) => {\n return state.results;\n};\n\nexport const getRefreshing = (state) => {\n return state.isRefreshing;\n};\n\nexport const getLastUpdateTime = (state) => {\n return state.lastUpdateTime;\n};","import {shallowEqual, useSelector} from \"react-redux\";\nimport {selectResourceState, selectSimpleResourceState} from \"./selectors\";\n\nexport const useResourceSelector = ({storeName, name: resource}, callback, deps) => useSelector(\n selectSimpleResourceState(storeName, resource)(callback),\n deps\n);\nexport const useResourceSelectorWithParams = ({storeName, name: resource}, params, callback, method) => useSelector(\n selectResourceState(storeName, resource, params, method)(callback),\n shallowEqual\n);","import React from 'react';\n\nexport const ModelContext = React.createContext(null);","import React from 'react';\nimport {ModelContext} from \"./ModelContext\";\n\nconst ModelProvider = ({model, ...props}) => {\n return ;\n};\n\nexport default ModelProvider;","const promiseWrapper = (promise, ...args) => {\n return promise(...args)\n .then(data => ({isSuccess: true, data: data}))\n .catch(error => ({isSuccess: false, data: error.response && error.response.data ? error.response.data : error}))\n};\n\nexport default promiseWrapper;\n","import {useContext, useMemo} from 'react';\nimport {ModelContext} from \"./ModelContext\";\n\nconst useModel = (callback, deps) => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const callbackMemo = useMemo(() => callback, deps);\n const model = useContext(ModelContext);\n return useMemo(() => callbackMemo(model), [callbackMemo, model]);\n};\n\nexport default useModel;","import {useContext} from \"react\";\nimport {ModelContext} from \"./ModelContext\";\n\nconst useResourceContext = (resource) => {\n const model = useContext(ModelContext);\n return model.resources[resource];\n};\n\nexport default useResourceContext;","import {useCallback, useEffect, useRef, useState} from \"react\";\n\nexport const useReducerWithThunk = (reducer, initialArgs, initialize = (state) => state) => {\n const [state, setState] = useState(initialize(initialArgs));\n\n //- referenced state for getCurrentState\n const stateRef = useRef(state);\n const reducerRef = useRef(reducer);\n\n const getCurrentState = useCallback(() => stateRef.current, [stateRef]);\n const setCurrentState = useCallback((newState) => {\n stateRef.current = newState;\n setState(newState);\n }, [stateRef, setState]);\n\n const getCurrentReducer = useCallback(() => reducerRef.current, [reducerRef]);\n useEffect(() => {\n reducerRef.current = reducer;\n }, [reducer]);\n\n const reduce = useCallback((action) => getCurrentReducer()(getCurrentState(), action), [getCurrentState, getCurrentReducer]);\n\n const dispatch = useCallback((action) => typeof action === 'function'\n ? action(dispatch, getCurrentState)\n : setCurrentState(reduce(action))\n , [getCurrentState, setCurrentState, reduce]);\n\n return [state, dispatch];\n};","import {useCallback, useEffect} from 'react';\nimport {createActionNames, createRequestState} from \"@fik/api\";\nimport wrapAsyncCallForDispatch from \"@fik/utils/wrapAsyncCallForDispatch\";\nimport {useModel} from \"@fik/model\";\nimport {useReducerWithThunk} from \"@fik/utils/useReducerWithThunk\";\n\nconst feedsActions = createActionNames('cmsFiles');\nfeedsActions.SELECT_CATEGORY = 'SELECT_CATEGORY';\n\nconst feedsReducer = (state, action) => {\n switch (action.type) {\n case feedsActions.FETCH_INIT:\n return {\n ...state,\n ...createRequestState(feedsActions, action.type),\n };\n case feedsActions.FETCH_SUCCESS:\n const feedsState = {tags: [], feeds: {}};\n\n const feeds = action.payload.reduce((obj, item) => {\n obj.tags.push(item.tag);\n obj.feeds[item.tag.code] = item.items;\n return obj;\n }, feedsState);\n\n return {\n ...state,\n ...feeds,\n selected: feeds.tags.length > 0 ? 0 : null,\n ...createRequestState(feedsActions, action.type),\n };\n case feedsActions.FETCH_FAILURE:\n return {\n ...state,\n ...createRequestState(feedsActions, action.type),\n };\n\n case feedsActions.SELECT_CATEGORY:\n return {\n ...state,\n selected: action.index\n };\n default:\n return state;\n }\n};\n\nconst useCmsArticlesFeeds = (group) => {\n\n const loadFeeds = useModel(\n (model) => wrapAsyncCallForDispatch(model.cms().getFeeds)(feedsActions),\n []\n );\n\n const [state, dispatch] = useReducerWithThunk(feedsReducer, {\n isFetching: false,\n isSuccess: false,\n isFailed: false,\n tags: null,\n feeds: null,\n selected: null\n }\n );\n\n useEffect(() => {\n dispatch(loadFeeds(group));\n }, [loadFeeds, dispatch, group]);\n\n const selectCategory = useCallback((index) => {\n dispatch({type: feedsActions.SELECT_CATEGORY, index});\n }, [dispatch]);\n\n return {\n categories: state.tags,\n selected: selectCurrentTag(state),\n articles: selectCurrentArticles(state),\n selectCategory\n };\n};\n\nconst hasSelectedTag = (state) => state.selected !== null;\nconst selectCurrentTag = (state) => state.selected !== null ? state.tags[state.selected] : null;\n\nconst selectCurrentArticles = (state) => {\n if (hasSelectedTag(state)) {\n return state.feeds[selectCurrentTag(state).code];\n }\n return null;\n};\n\n\n\nexport default useCmsArticlesFeeds;","import React from 'react';\n\nconst Spinner = () =>
\n
\n
\n
\n
;\n\nexport default Spinner","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Spinner from \"./Spinner\";\n\nconst LoadingOverlay = ({className, isLoading, children, ...props}) => \n {isLoading ? : null}\n {children}\n
;\n\nLoadingOverlay.propTypes = {\n className: PropTypes.string,\n isLoading: PropTypes.bool,\n children: PropTypes.oneOfType([PropTypes.array,PropTypes.object,PropTypes.string])\n};\n\nexport default LoadingOverlay;","import React from 'react';\n\nexport const LoadingContext = React.createContext({});","import {useCallback, useReducer} from \"react\";\n\nconst reducer = (state, action) => {\n const newState = {...state, resources: {...state.resources, [action.resource]: action.state}};\n const fetching = Object.entries(newState.resources).filter(([, item]) => item.isFetching);\n newState.currentlyLoading = fetching.map(([resource]) => resource);\n newState.isLoading = false;\n newState.isRefreshing = false;\n return fetching.reduce((acc, [, item]) => {\n if (item.isFetching && !item.isRefreshing) {\n acc.isLoading = true;\n }\n if (item.isRefreshing) {\n acc.isRefreshing = true;\n }\n\n return acc;\n }, newState);\n};\n\nconst initialState = {\n resources: {},\n isLoading: false,\n isRefreshing: false\n};\n\nconst useLoading = () => {\n const [state, dispatch] = useReducer(reducer, initialState);\n const changeLoadingState = useCallback((resource, state) => {\n dispatch({resource, state});\n }, []);\n\n return {\n isLoading: state.isLoading,\n isRefreshing: state.isRefreshing,\n resources: state.resources,\n changeLoadingState\n }\n};\n\nexport default useLoading;","import React from \"react\";\nimport PropTypes from 'prop-types';\nimport {LoadingContext} from \"./../LoadingContext\";\nimport useLoading from \"./../useLoading\";\n\nconst LoadingProvider = (props) => {\n const loading = useLoading();\n\n if (props.children && typeof props.children === 'function') {\n props = {...props, children: props.children(loading.isLoading)};\n }\n return ;\n};\n\nLoadingProvider.propTypes = {\n children: PropTypes.oneOfType([PropTypes.array, PropTypes.object, PropTypes.func, PropTypes.string])\n};\n\nexport default LoadingProvider;\n","import {useContext} from \"react\";\nimport {LoadingContext} from \"./LoadingContext\";\n\nconst useLoadingContext = () => useContext(LoadingContext);\n\nexport default useLoadingContext;","import React from \"react\";\nimport useLoadingContext from \"./../useLoadingContext\";\nimport LoadingOverlay from \"./LoadingOverlay\";\n\nconst LoadingSpinnerOverlay = (props) => {\n const {isLoading} = useLoadingContext();\n return \n};\n\nexport default LoadingSpinnerOverlay;","import {useEffect} from \"react\";\nimport useLoadingContext from \"./useLoadingContext\";\n\nconst useHookToLoading = (resource,loadingState) => {\n\n const {\n isFetching,\n isSuccess,\n isFailed,\n isRefreshing\n }= loadingState;\n\n const {changeLoadingState} = useLoadingContext();\n\n useEffect(() => {\n if (changeLoadingState) {\n changeLoadingState(resource, {isFetching, isSuccess, isFailed, isRefreshing});\n }\n return () => changeLoadingState && changeLoadingState(resource, {isFetching: false, isSuccess: false, isFailed: false, isRefreshing: false})\n }, [isFetching, isSuccess, isFailed, isRefreshing, changeLoadingState, resource]);\n};\n\nexport default useHookToLoading;","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst LoadingInfo = ({show, children, ...props}) => show ?
{children}
: null;\n\nLoadingInfo.propTypes = {\n className: PropTypes.string,\n show: PropTypes.bool,\n children: PropTypes.oneOfType([PropTypes.array,PropTypes.object,PropTypes.string])\n};\n\nexport default LoadingInfo;","import React from \"react\";\n\nconst SpinnerCircle = ({className}) => (
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
);\n\nexport default SpinnerCircle;","import React from 'react';\nimport {LoadingOverlay} from \"@fik/loading\";\nimport PropTypes from 'prop-types';\n\nconst Box = (props) => {\n let header = null;\n if (props.title || props.tools) {\n let tools = null;\n if (props.tools) {\n tools =
{typeof props.tools === 'function' ? props.tools() : props.tools}
\n }\n header =
{props.title}
{tools}
;\n }\n const options = props.options || {};\n return (\n
\n {header}\n {props.children && \n {props.children}
\n }\n
\n );\n};\n\nBox.propTypes = {\n title: PropTypes.string,\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.array, PropTypes.object, PropTypes.string, PropTypes.func]),\n contentClassName: PropTypes.string,\n isLoading: PropTypes.bool,\n tools: PropTypes.oneOfType([PropTypes.array, PropTypes.object, PropTypes.string, PropTypes.func]),\n options: PropTypes.object\n};\n\nexport default Box;","import React from 'react';\nimport PropTypes from \"prop-types\";\n\nconst Button = (props) => {\n const classNames = ['btn-' + props.btnType, 'btn'];\n if (props.className) {\n classNames.push(props.className);\n }\n return {props.children};\n};\n\nButton.propTypes = {\n className: PropTypes.string,\n btnType: PropTypes.string.isRequired,\n clicked: PropTypes.func\n};\n\nexport default Button;","import React from 'react';\nimport moment from \"moment\";\n\nconst DateTime = ({date, format = 'DD. MM. YYYY HH:mm'}) => {\n\n if (date instanceof Object && date.date) {\n date = date.date;\n }\n\n return (\n <>\n {date ? moment(date).format(format) : '-'}\n \n );\n};\n\nexport default DateTime;","import React from 'react';\nimport DateTime from \"./DateTime\";\n\nconst Date = (props) => ;\n\nexport default Date;","import React, {useContext} from 'react';\nimport PropTypes from \"prop-types\";\nimport {ModelContext} from \"@fik/model\";\n\nconst DownloadLink = ({resource, params, children, ...props}) => {\n const {createDownloadLink} = useContext(ModelContext);\n return (\n {children}\n );\n};\n\nDownloadLink.propTypes = {\n resource: PropTypes.string.isRequired,\n params: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.array, PropTypes.object, PropTypes.func, PropTypes.string])\n};\n\n\nexport default DownloadLink;\n","import React from 'react';\n\nconst Email = ({email}) => {\n return (<>{email || '--'});\n};\n\nexport default Email;","import React from 'react';\n\nconst EnumValue = (props) => {\n if (!props.enum) {\n return (<>{props.value || '--'});\n }\n\n return (<>{(props.enum[props.value] || props.value) || '--'});\n};\n\nexport default EnumValue;","import React from 'react';\n\nconst ErrorSeverityMessage = ({message}) =>
\n

\n {message.text}\n

\n
;\n\nconst ErrorTypeMessage = ({message}) =>
\n

\n {message.message}\n

\n
;\n\nconst Errors = ({messages, className}) => {\n return
{messages.map((message, index) => (message.text ? : ))}
;\n};\n\nexport default Errors;","import React, {useCallback} from 'react';\nimport PropTypes from \"prop-types\";\n\nimport {Form} from \"@mouseover/react-form\";\n\nconst EMPTY_RULES = {};\n\nconst FilterBar = ({onSubmitSearch, onChange, controls, render, button = true, values}) => {\n\n const handleFormSubmit = useCallback((values, valid) => {\n if (onSubmitSearch && valid) {\n onSubmitSearch(values, valid);\n }\n }, [onSubmitSearch]);\n\n return (\n \n\n {button\n ?
\n \n
\n : null}\n \n );\n};\n\nFilterBar.propTypes = {\n onSubmitSearch: PropTypes.func,\n onChange: PropTypes.func,\n controls: PropTypes.object,\n render: PropTypes.func,\n};\n\n\nexport default FilterBar;","import React from 'react';\nimport {isEmpty} from \"@mouseover/js-utils\";\n\nconst Number = (props) => {\n let {number, decimalLength = 2, wholePartLength:whole_part_length = 3, sectionsDelimiter:sections_delimiter = ' ', decimalDelimiter:decimal_delimiter = ','} = props;\n\n if (isEmpty(number)) {\n return null;\n }\n\n let re = '\\\\d(?=(\\\\d{' + (whole_part_length || 3) + '})+' + (decimalLength > 0 ? '\\\\D' : '$') + ')';\n let numStr = number.toFixed(Math.max(0, ~~decimalLength));\n return {(decimal_delimiter ? numStr.replace('.', decimal_delimiter) : numStr).replace(new RegExp(re, 'g'), '$&' + (sections_delimiter || ' '))};\n};\n\n\nexport default Number;","import React, {Component, useCallback, useMemo} from 'react';\nimport handleClick from \"@fik/utils/handleClick\";\n\n\nconst rangexy = (start, end) => Array.from({length: (end - start)}, (v, k) => k + start);\n\nconst usePaginator = ({page, count, limit}) => useMemo(() => {\n const pagination = {\n page,\n pageCount: !count ? null : Math.ceil(count / limit),\n pages: null,\n lastPage: null,\n firstPage: 1,\n itemPerPage: limit,\n };\n\n pagination.lastPage = !count ? null : 1 + Math.max(0, pagination.pageCount - 1);\n pagination.pages = rangexy(Math.max(1, page - 3), Math.min(pagination.lastPage, page + 3));\n\n let btnsCount = 4;\n let q = (pagination.pageCount - 1) / btnsCount;\n for (let i = 1; i < btnsCount; i++) {\n pagination.pages.push(Math.round(q * i) + pagination.firstPage);\n }\n\n pagination.pages.sort((a, b) => (a - b));\n pagination.pages = [...new Set(pagination.pages)];\n\n return pagination;\n}, [page, count, limit]);\n\nconst Paginator = ({onPageChange, ...props}) => {\n const paginator = usePaginator(props);\n const setPage = useCallback((page) => {\n if (onPageChange) {\n onPageChange(page);\n }\n }, [onPageChange]);\n\n if (paginator.pageCount <= 1) {\n return null;\n }\n\n return \n}\n\nexport default Paginator;","import React from 'react';\n\nconst Phone = (props) => {\n return (<>{props.phone || '--'});\n};\n\nexport default Phone;","\nconst WithoutCode = ({children}) => children ? children.replace('code:', '') : null;\n\nexport default WithoutCode;","import React from 'react';\nimport Number from \"../Number/Number\";\nimport WithoutCode from \"../WithoutCode/WithoutCode\";\nimport {isEmpty} from \"@mouseover/js-utils\";\n\nconst Price = ({price, currency, ...props}) => {\n if (isEmpty(price)) {\n return (<>-);\n }\n return (\n <>\n {currency && {currency}}\n \n )\n};\n\nexport default Price;","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst Address = ({street, zipCode, city}) => {\n if (!street && !zipCode && !city) {\n return null;\n }\n\n return (<>\n {street ? (<>{street}
): null}\n {zipCode ? {zipCode} : null} {city ? {city}: null}{zipCode || city ?
: null}\n );\n};\n\nAddress.propTypes = {\n street: PropTypes.string,\n zipCode: PropTypes.string,\n city: PropTypes.string\n};\nexport default Address;","import formatBytes from \"@fik/utils/formatBytes\";\n\nconst FileSize = ({children, decimals=2}) => formatBytes(children, decimals);\n\nexport default FileSize;","export default function formatBytes(bytes, decimals = 2) {\n if (bytes === 0) return '0 Bytes';\n\n const k = 1024;\n const dm = decimals < 0 ? 0 : decimals;\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\n}\n\n","import React from \"react\";\nimport ReactDOM from 'react-dom';\nimport handleClick from \"@fik/utils/handleClick\";\n\nconst Modal = ({visible, hide, children, renderHeader, renderFooter, bodyClassName, dialogClassName, ...props}) => {\n return visible ? ReactDOM.createPortal(<>\n
\n
\n
\n {renderHeader ?
{renderHeader()}
: null}\n
{children}
\n {renderFooter ?
{renderFooter()}
: null}\n
\n
\n
\n {hide ?
: null}\n , document.body) : null;\n};\n\nexport default Modal;","import {useCallback, useMemo, useState} from 'react';\n\nconst useModal = (id) => {\n const [visible, setIsVisible] = useState(false);\n\n const toggle = useCallback(() => {\n setIsVisible(visible => !visible);\n }, [setIsVisible]);\n\n const show = useCallback(() => {\n setIsVisible(true);\n }, [setIsVisible]);\n\n const hide = useCallback(() => {\n setIsVisible(false);\n }, [setIsVisible]);\n\n return useMemo(() => ({\n visible,\n toggle,\n show,\n hide\n }), [visible, toggle, show, hide]);\n};\n\nexport default useModal;","import {useEffect, useRef} from 'react'\n// Hook https://usehooks.com/useEventListener/\n// https://github.com/donavon/use-event-listener\nfunction useEventListener(eventName, handler, element = window){\n // Create a ref that stores handler\n const savedHandler = useRef();\n\n // Update ref.current value if handler changes.\n // This allows our effect below to always get latest handler ...\n // ... without us needing to pass it in effect deps array ...\n // ... and potentially cause effect to re-run every render.\n useEffect(() => {\n savedHandler.current = handler;\n }, [handler]);\n\n useEffect(\n () => {\n // Make sure element supports addEventListener\n // On\n const isSupported = element && element.addEventListener;\n if (!isSupported) return;\n\n // Create event listener that calls handler function stored in ref\n const eventListener = event => savedHandler.current(event);\n\n // Add event listener\n element.addEventListener(eventName, eventListener, {passive: true});\n\n // Remove event listener on cleanup\n return () => {\n element.removeEventListener(eventName, eventListener);\n };\n },\n [eventName, element] // Re-run if eventName or element changes\n );\n}\n\nexport default useEventListener;","import {useCallback, useEffect, useRef, useState} from \"react\";\nimport {getOnPath} from \"@mouseover/js-utils\";\nimport useEventListener from \"@fik/utils/useEventListener\";\n\nconst useDropdown = () => {\n const element = useRef(null);\n const [isOpen, setIsOpen] = useState(false);\n\n const toggle = useCallback(() => {\n setIsOpen(!isOpen);\n }, [isOpen, setIsOpen]);\n\n useEffect(() => {\n if (element.current) {\n const classList = getOnPath(element, ['current', 'parentElement', 'classList']);\n if (classList) {\n classList.add('dropdown');\n if (isOpen) {\n classList.add('open');\n } else {\n classList.remove('open');\n }\n }\n }\n }, [isOpen, element]);\n\n const handleMouseDown = useCallback((event) => {\n if (getOnPath(event, ['target', 'parentElement', 'parentElement']) !== element.current) {\n setIsOpen(false);\n }\n return true;\n }, [setIsOpen, element]);\n\n useEventListener('mouseup', handleMouseDown, document);\n\n return {\n element,\n setIsOpen,\n isOpen,\n toggle\n }\n}\n\nexport default useDropdown;","import React from 'react';\n\nconst DisabledOverlay = ({on, children, className}) =>
{children}
;\n\nexport default DisabledOverlay;","import React from \"react\";\n\nconst Row = ({className, ...props}) =>
;\n\nexport default Row;","import React from \"react\";\n\nconst DEVICE_SIZES = ['lg', 'md', 'sm', 'xs'];\nconst VARIANTS = ['', 'offset', 'push', 'pull'];\n\nconst popProperty = (property, properties) => {\n if (properties.hasOwnProperty(property)) {\n const newProperties = {...properties};\n delete newProperties[property];\n return [newProperties, properties[property]];\n }\n return [properties, undefined];\n}\nconst convertSizeToStyle = (props) => {\n const classNames = [];\n DEVICE_SIZES.forEach((size) => {\n VARIANTS.forEach((variant) => {\n const [newProps, value] = popProperty(size + (variant ? variant.charAt(0).toUpperCase() + variant.slice(1) : ''), props);\n if (value !== undefined) {\n classNames.push('col-' + size + (variant ? '-' + variant : '') + '-' + value);\n props = newProps;\n }\n })\n })\n return [props, classNames];\n};\nconst Col = ({className, ...props}) => {\n const [newProps, classNames] = convertSizeToStyle(props);\n return
;\n}\n\nexport default Col;","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport {NavigationItem} from \"@fik/navigation\";\nimport {DateTime} from \"@fik/ui\";\n\nconst ArticlesList = ({articles}) => {\n return articles.map(({id, author, title, short, date, isExternalLink, link}) =>
\n
\n {author}\n {isExternalLink ? \n {title}\n : {title}}\n\n

{short.replace(/(<([^>]+)>)/ig).replace(/\\ /g, '')}

\n \n
\n
\n
)\n};\n\nArticlesList.propTypes = {\n articles: PropTypes.array\n};\n\nexport default ArticlesList;\n","import React, {useCallback, useState} from \"react\";\nimport PropTypes from 'prop-types';\nimport useCmsArticlesFeeds from \"./../useCmsArticlesFeeds\";\nimport ArticlesList from \"./ArticlesList\";\nimport handleClick from \"@fik/utils/handleClick\";\n\n\nconst ArticlesFeed = ({group, limit = 5}) => {\n const {articles, categories, selectCategory, selected} = useCmsArticlesFeeds(group);\n const [page, setPage] = useState(1);\n\n const handelClickOnCategory = useCallback((index) => {\n selectCategory(index);\n setPage(1);\n }, [selectCategory]);\n\n const offset = limit * (page - 1);\n\n const handlePrevPage = useCallback(() => {\n if (page > 1) {\n setPage(page - 1);\n }\n }, [page]);\n\n const handleNextPage = useCallback(() => {\n if (page <= articles.length/limit - 1) {\n setPage(page + 1);\n }\n }, [articles, limit, page]);\n\n if (!categories) {\n return null;\n }\n\n return
\n
\n
\n
\n \n
\n
\n
\n
\n {articles ? : null}\n
\n \n \n
\n
\n
\n
\n
;\n};\n\nArticlesFeed.propTypes = {\n group: PropTypes.number,\n limit: PropTypes.number\n};\n\nexport default ArticlesFeed;","import {useEffect} from 'react';\nimport {createActionNames, createRequestState} from \"@fik/api\";\nimport wrapAsyncCallForDispatch from \"@fik/utils/wrapAsyncCallForDispatch\";\nimport {useModel} from \"@fik/model\";\nimport {useReducerWithThunk} from \"@fik/utils/useReducerWithThunk\";\n\nconst filesActions = createActionNames('cmsFiles');\n\nconst filesReducer = (state, action) => {\n switch (action.type) {\n case filesActions.FETCH_INIT:\n return {\n ...state,\n ...createRequestState(filesActions, action.type),\n };\n case filesActions.FETCH_SUCCESS:\n\n return {\n ...state,\n filesTree: action.payload,\n ...createRequestState(filesActions, action.type),\n };\n case filesActions.FETCH_FAILURE:\n return {\n ...state,\n ...createRequestState(filesActions, action.type),\n };\n default:\n return state;\n }\n};\n\nconst useCmsFiles = () => {\n\n const loadCmsFiles = useModel(\n (model) => wrapAsyncCallForDispatch(model.cms().getFiles)(filesActions),\n []\n );\n\n const [state, dispatch] = useReducerWithThunk(filesReducer, {\n isFetching: false,\n isSuccess: false,\n isFailed: false,\n filesTree: null\n }\n );\n\n useEffect(() => {\n dispatch(loadCmsFiles());\n }, [loadCmsFiles, dispatch]);\n\n return state;\n};\n\nexport default useCmsFiles;","import React from \"react\";\n\nconst FileManagerContext = React.createContext(null);\n\nexport default FileManagerContext;","import React, {useContext, useEffect, useMemo} from \"react\";\nimport FileManagerContext from \"./FileManagerContext\";\n\nconst FileDownloadLink = ({path, children, ...props}) => {\n const fileManagerContext = useContext(FileManagerContext);\n const filePath = useMemo(() => {\n return fileManagerContext ? fileManagerContext.createPath(path) : `/files/download/${path}`;\n }, [fileManagerContext, path]);\n return {children};\n}\n\nexport default FileDownloadLink;","import React from 'react';\nimport FileDownloadLink from \"./FileDownload\";\n\nconst FileBox = ({file, folder}) => {\n const {icon, title, date} = file;\n\n return
\n
\n \n \n
\n \n
\n
\n {title}\n
\n {date}\n
\n
\n
\n
;\n};\n\nexport default FileBox;","import React, {useState} from 'react';\nimport handleClick from \"@fik/utils/handleClick\";\nimport FileBox from \"./FileBox\";\nimport PropTypes from 'prop-types';\n\nconst FileManager = ({filesTree}) => {\n const [currentFolder, setCurrentFolder] = useState(filesTree.length > 0 ? filesTree[0] : 0);\n return
\n
\n
\n \n
\n
\n
\n
\n
\n
\n {currentFolder ? currentFolder.files.map((file) => ) : null}\n
\n
\n
\n
\n};\n\nFileManager.propTypes = {\n filesTree: PropTypes.array.isRequired\n};\n\nexport default FileManager;","import React from 'react';\nimport useCmsFiles from \"./../useCmsFiles\";\nimport {FileManager} from \"@fik/file-manager\";\n\nconst Downloads = () => {\n const {filesTree, isSuccess} = useCmsFiles();\n\n if (!isSuccess) {\n return null;\n }\n\n return \n};\n\nexport default Downloads;","import {useEffect} from 'react';\nimport {createActionNames, createRequestState} from \"@fik/api\";\nimport wrapAsyncCallForDispatch from \"@fik/utils/wrapAsyncCallForDispatch\";\nimport {useModel} from \"@fik/model\";\nimport {useReducerWithThunk} from \"@fik/utils/useReducerWithThunk\";\n\nconst pageActions = createActionNames('cmsMenu');\n\nconst pageReducer = (state, action) => {\n switch (action.type) {\n case pageActions.FETCH_INIT:\n return {\n ...state,\n result: null,\n ...createRequestState(pageActions, action.type),\n };\n case pageActions.FETCH_SUCCESS:\n return {\n ...state,\n result: action.payload,\n ...createRequestState(pageActions, action.type),\n };\n case pageActions.FETCH_FAILURE:\n return {\n ...state,\n result: null,\n ...createRequestState(pageActions, action.type),\n };\n default:\n return state;\n }\n};\n\nconst useCmsPage = (category, page) => {\n const loadPage = useModel(\n (model) => wrapAsyncCallForDispatch(model.cms().getPage)(pageActions),\n []\n );\n\n const [state, dispatch] = useReducerWithThunk(pageReducer, {\n isFetching: false,\n isSuccess: false,\n isFailed: false,\n result: null\n }\n );\n\n useEffect(() => {\n dispatch(loadPage(category, page));\n }, [loadPage, dispatch, category, page]);\n\n return state;\n};\n\nexport default useCmsPage;","import React from 'react';\n\nconst PageContext = React.createContext(null);\n\nexport default PageContext;","import {useContext} from \"react\";\nimport PageContext from \"./PageContext\";\n\nconst usePageContext = () => {\n return useContext(PageContext);\n};\n\nexport default usePageContext;","import usePageContext from \"./usePageContext\";\n\nconst usePageBlock = (name) => {\n const {blocks} = usePageContext();\n return blocks && blocks.result && blocks.result[name] ? blocks.result[name] : null;\n};\n\nexport default usePageBlock;","import React from \"react\";\nimport PropTypes from 'prop-types';\nimport usePageBlock from \"./../usePageBlocks\";\nimport {TextPage} from \"@fik/cms\";\n\nconst PageBlock = ({name, container:Container = React.Fragment}) => {\n const block = usePageBlock(name);\n return block ? : null;\n};\n\nPageBlock.propTypes = {\n name: PropTypes.string.isRequired,\n container: PropTypes.func\n};\n\nexport default PageBlock;","import React, {useEffect} from 'react';\nimport PropTypes from 'prop-types';\nimport {Route, useLocation} from 'react-router-dom';\nimport {useSetPageLocation} from \"../index\";\n\nconst PageRoute = ({title, section, blocks, ...props}) => {\n const setPageLocation = useSetPageLocation();\n const location = useLocation();\n useEffect(() => {\n setPageLocation({title, section, blocks, path: location.pathname});\n }, [title, section, setPageLocation, location.pathname, blocks]);\n\n return \n};\n\nPageRoute.propTypes = {\n title: PropTypes.string,\n section: PropTypes.string,\n blocks: PropTypes.array\n};\n\nexport default PageRoute;","import {useCallback, useReducer} from \"react\";\nimport {useNavigation} from \"@fik/navigation\";\n\nconst PAGE_ACTIONS = {\n CHANGE_LOCATION: 'CHANGE_LOCATION',\n SET_INFO: 'CHANGE_INFO',\n};\n\nconst reducer = (state, action) => {\n switch (action.type) {\n case PAGE_ACTIONS.CHANGE_LOCATION:\n return {\n ...defaultState,\n ...action.payload\n }\n case PAGE_ACTIONS.SET_INFO:\n return {\n ...state,\n ...action.payload\n }\n default:\n return state;\n }\n}\nconst defaultState = {\n title: null,\n section: null,\n path: null\n}\nconst usePage = () => {\n const [state, dispatch] = useReducer(reducer, defaultState);\n const {getByUrlPath} = useNavigation();\n const handleChangePage = useCallback((current) => {\n\n if (current.path) {\n const def = getByUrlPath(current.path);\n dispatch({type: PAGE_ACTIONS.CHANGE_LOCATION, payload: def || current});\n } else {\n dispatch({type: PAGE_ACTIONS.SET_INFO, payload: current});\n }\n\n }, [dispatch, getByUrlPath]);\n\n const setInfo = useCallback((info) => {\n dispatch({type: PAGE_ACTIONS.SET_INFO, payload: info});\n }, [dispatch]);\n\n return {\n page: state,\n setPageLocation: handleChangePage,\n setPageInfo: setInfo\n }\n};\n\nexport default usePage;","import usePageContext from \"./usePageContext\";\n\nconst useSetPageInfo = () => {\n const pageContext = usePageContext();\n return pageContext ? pageContext.setPageInfo : null;\n};\n\nexport default useSetPageInfo;","import usePageContext from \"./usePageContext\";\n\nconst useSetPageLocation = () => {\n const pageContext = usePageContext();\n return pageContext ? pageContext.setPageLocation : null;\n};\n\nexport default useSetPageLocation;","import usePageContext from \"./usePageContext\";\n\nconst usePageInfo = () => {\n const pageContext = usePageContext();\n return pageContext.page;\n};\n\nexport default usePageInfo;\n","import {useHistory} from \"react-router-dom\";\nimport {useCallback} from \"react\";\n\nconst useNavigate = () => {\n const history = useHistory();\n return useCallback((to) => {\n history.push(to);\n }, [history]);\n};\n\nexport default useNavigate;","import React from \"react\";\n\nconst CmsNavigationContext = React.createContext(null);\n\nexport default CmsNavigationContext;","import {useCallback, useContext, useEffect, useRef} from \"react\";\nimport {useNavigate} from \"@fik/page\";\nimport CmsNavigationContext from \"./CmsNavigationContext\";\n\nconst useCmsNavigationRef = ({onContentChange}) => {\n const ref = useRef(null);\n\n const navigate = useNavigate();\n const cmsNavigationContext = useContext(CmsNavigationContext);\n\n const handleClick = useCallback((event) => {\n const href = event.target.getAttribute('href');\n if (cmsNavigationContext && cmsNavigationContext.onNavigationClick) {\n cmsNavigationContext.onNavigationClick(event);\n } else if (href && !href.startsWith('http') && !href.startsWith('/files') && !href.startsWith('/lms')) {\n event.preventDefault();\n navigate(href);\n }\n }, [navigate]);\n\n useEffect(() => {\n const current = ref.current;\n if (current) {\n current.querySelectorAll('a').forEach(a => {\n a.addEventListener('click', handleClick);\n });\n\n if (onContentChange) {\n onContentChange(current);\n }\n }\n return () => {\n if (current) {\n current.querySelectorAll('a').forEach(a => {\n a.removeEventListener('click', handleClick);\n });\n }\n }\n }, [handleClick, onContentChange]);\n\n return ref;\n};\n\nexport default useCmsNavigationRef;","import React from 'react';\nimport PropTypes from 'prop-types';\n\n// aby slo pouzit bootstrap tabs\nimport $ from 'jquery';\nimport useCmsNavigationRef from \"../useCmsNavigationRef\";\n\n\nconst TextPage = ({html}) => {\n\n const content = useCmsNavigationRef({onContentChange: init});\n\n if (html) {\n return
\n }\n return null;\n};\n\nTextPage.propTypes = {\n html: PropTypes.string\n};\n\nexport default TextPage;\n\n\nconst tabClickHandler = function (e) {\n e.preventDefault();\n $(this).tab('show');\n};\n\nconst init = function (contentElement) {\n if (!window.jQuery) {\n window.jQuery = $;\n window.$ = $;\n require('bootstrap');\n }\n\n // Collapse ibox function\n $(contentElement).find('.collapse-link').click(function () {\n const ibox = $(this).closest('div.ibox');\n const button = $(this).find('i');\n const content = ibox.find('div.ibox-content');\n content.slideToggle(200);\n button.toggleClass('fa-chevron-up').toggleClass('fa-chevron-down');\n ibox.toggleClass('').toggleClass('border-bottom');\n setTimeout(function () {\n ibox.resize();\n ibox.find('[id^=map-]').resize();\n }, 50);\n });\n\n // tabs\n $(contentElement)\n .on('click.bs.tab.data-api', '[data-toggle=\"tab\"]', tabClickHandler)\n .on('click.bs.tab.data-api', '[data-toggle=\"pill\"]', tabClickHandler);\n\n\n // youtube\n const youtube = contentElement.querySelectorAll(\".youtube\");\n\n for (let i = 0; i < youtube.length; i++) {\n\n const source = \"https://img.youtube.com/vi/\"+ youtube[i].dataset.embed +\"/sddefault.jpg\";\n\n const image = new Image();\n image.src = source;\n image.addEventListener( \"load\", function() {\n youtube[ i ].appendChild( image );\n }( i ) );\n\n youtube[i].addEventListener( \"click\", function() {\n\n const iframe = document.createElement( \"iframe\" );\n\n iframe.setAttribute( \"frameborder\", \"0\" );\n iframe.setAttribute( \"allowfullscreen\", \"\" );\n iframe.setAttribute( \"src\", \"https://www.youtube.com/embed/\"+ this.dataset.embed +\"?rel=0&showinfo=0&autoplay=1\" );\n\n this.innerHTML = \"\";\n this.appendChild( iframe );\n } );\n }\n};\n","import React, {useEffect} from 'react';\nimport useCmsPage from \"./../useCmsPage\";\nimport TextPage from \"./TextPage\";\n\nconst Page = ({category, page, setPageInfo, createContents = null}) => {\n const {result, isSuccess} = useCmsPage(category, page);\n useEffect(() => {\n if (result && result.title) {\n setPageInfo({title: result.title, section: result.section});\n }\n }, [isSuccess, result, setPageInfo]);\n\n if (!isSuccess) {\n return null;\n }\n\n const contents = [];\n\n if (result.page) {\n contents.push();\n }\n\n if (createContents) {\n const createdContents = createContents(result);\n if (createdContents) {\n contents.push(...createdContents);\n }\n }\n\n return contents;\n};\n\nexport default Page;","import {useEffect} from 'react';\nimport {createActionNames, createRequestState} from \"@fik/api\";\nimport wrapAsyncCallForDispatch from \"@fik/utils/wrapAsyncCallForDispatch\";\nimport {useModel} from \"@fik/model\";\nimport {useReducerWithThunk} from \"@fik/utils/useReducerWithThunk\";\n\nconst articleActions = createActionNames('cmsMenu');\n\n\nconst pageReducer = (state, action) => {\n switch (action.type) {\n case articleActions.FETCH_INIT:\n return {\n ...state,\n result: null,\n ...createRequestState(articleActions, action.type),\n };\n case articleActions.FETCH_SUCCESS:\n return {\n ...state,\n result: action.payload,\n ...createRequestState(articleActions, action.type),\n };\n case articleActions.FETCH_FAILURE:\n return {\n ...state,\n result: null,\n ...createRequestState(articleActions, action.type),\n };\n default:\n return state;\n }\n};\n\nconst useCmsArticle = (id) => {\n const load = useModel(\n (model) => wrapAsyncCallForDispatch(model.cms().getArticle)(articleActions),\n []\n );\n\n const [state, dispatch] = useReducerWithThunk(pageReducer, {\n isFetching: false,\n isSuccess: false,\n isFailed: false,\n result: null\n }\n );\n\n useEffect(() => {\n dispatch(load(id));\n }, [load, dispatch, id]);\n\n return state;\n};\n\nexport default useCmsArticle;","import {useEffect} from 'react';\nimport {createActionNames, createRequestState} from \"@fik/api\";\nimport wrapAsyncCallForDispatch from \"@fik/utils/wrapAsyncCallForDispatch\";\nimport {useModel} from \"@fik/model\";\nimport {useReducerWithThunk} from \"@fik/utils/useReducerWithThunk\";\n\nconst menuActions = createActionNames('cmsMenu');\n\nmenuActions.UPDATE_MENU = 'UPDATE_MENU';\n\nconst mapCmsMenuToMenu = (content, category = null) => {\n return content.map((item) => {\n\n const menuItem = {\n label: item.visibleName\n };\n\n if (category) {\n menuItem.to = '/p/' + encodeURIComponent(category) + '/' + encodeURIComponent(item.systemName);\n } else {\n\n menuItem.icon = 'fa ' + item.icon;\n\n if (!item.isSingle && item.pages) {\n menuItem.content = mapCmsMenuToMenu(item.pages, item.systemName);\n }\n\n if (item.isSingle && item.singlePage) {\n menuItem.to = '/p/' + encodeURIComponent(item.systemName) + '/' + encodeURIComponent(item.singlePage.systemName);\n }\n }\n\n return menuItem;\n });\n};\n\nconst mergeMenu = (menu, loadedMenu) => {\n if (!loadedMenu) {\n return menu;\n }\n\n const newLoadedMenu = [...loadedMenu];\n const categoryMap = newLoadedMenu.reduce((o, row, index) => ({...o,[row.label]:index}), {});\n const newMenu = menu.filter((element) => {\n if (!categoryMap.hasOwnProperty(element.label)) {\n return true;\n }\n\n element.content.forEach((item) => {\n if (item.atIndex) {\n if (newLoadedMenu[categoryMap[element.label]].content[item.atIndex].to !== item.to) {\n newLoadedMenu[categoryMap[element.label]].content.splice(item.atIndex, 0, item);\n }\n } else {\n newLoadedMenu[categoryMap[element.label]].content.push(item);\n }\n });\n\n return false;\n });\n\n Array.prototype.splice.apply(newMenu, [3, 0, ...newLoadedMenu])\n\n return newMenu;\n};\n\nconst menuReducer = (state, action) => {\n switch (action.type) {\n case menuActions.FETCH_INIT:\n return {\n ...state,\n ...createRequestState(menuActions, action.type),\n };\n case menuActions.FETCH_SUCCESS:\n const loadedMenu = mapCmsMenuToMenu(action.payload);\n return {\n ...state,\n loadedMenu,\n currentMenu: mergeMenu(state.menu, loadedMenu),\n ...createRequestState(menuActions, action.type),\n };\n case menuActions.UPDATE_MENU:\n return {\n ...state,\n menu: action.menu,\n currentMenu: mergeMenu(action.menu, state.loadedMenu),\n };\n case menuActions.FETCH_FAILURE:\n return {\n ...state,\n ...createRequestState(menuActions, action.type),\n };\n default:\n return state;\n }\n};\n\nconst useCmsMenu = (menu) => {\n const loadCmsMenu = useModel(\n (model) => wrapAsyncCallForDispatch(model.cms().getMenu)(menuActions),\n []\n );\n\n const [state, dispatch] = useReducerWithThunk(menuReducer, {\n isFetching: false,\n isSuccess: false,\n isFailed: false,\n currentMenu: menu,\n loadedMenu: [],\n menu\n }\n );\n\n useEffect(() => {\n dispatch(loadCmsMenu());\n }, [loadCmsMenu, dispatch]);\n\n useEffect(() => {\n dispatch({type: menuActions.UPDATE_MENU, menu});\n }, [menu, dispatch]);\n\n return state.currentMenu;\n};\n\nexport default useCmsMenu;","import {useCallback} from 'react';\nimport {createActionNames, createRequestState} from \"@fik/api\";\nimport wrapAsyncCallForDispatch from \"@fik/utils/wrapAsyncCallForDispatch\";\nimport {useModel} from \"@fik/model\";\nimport {useReducerWithThunk} from \"@fik/utils/useReducerWithThunk\";\nimport {useHookToLoading} from \"@fik/loading\";\n\nconst pageBlockActions = createActionNames('cmsMenu');\n\nconst pageBlocksReducer = (state, action) => {\n switch (action.type) {\n case pageBlockActions.FETCH_INIT:\n return {\n ...state,\n result: null,\n ...createRequestState(pageBlockActions, action.type),\n };\n case pageBlockActions.FETCH_SUCCESS:\n return {\n ...state,\n result: action.payload,\n ...createRequestState(pageBlockActions, action.type),\n };\n case pageBlockActions.FETCH_FAILURE:\n return {\n ...state,\n result: null,\n ...createRequestState(pageBlockActions, action.type),\n };\n case 'RESET':\n return {\n ...state,\n isFetching: false,\n isSuccess: false,\n isFailed: false,\n result: null\n };\n default:\n return state;\n }\n};\n\nconst useCmsPageBlocks = () => {\n const load = useModel(\n (model) => wrapAsyncCallForDispatch(model.cms().getPageBlocks)(pageBlockActions),\n []\n );\n\n const [state, dispatch] = useReducerWithThunk(pageBlocksReducer, {\n isFetching: false,\n isSuccess: false,\n isFailed: false,\n result: null\n }\n );\n\n useHookToLoading('banners', state);\n\n const initPage = useCallback((path, blocks) => {\n if (path && blocks) {\n if (path === '/') {\n path = 'homepage';\n }\n const [category, page = 'default'] = path.replace(/^(\\/p\\/)|(\\/)/i, '').split('/');\n if (category && page) {\n dispatch(load(category, page, blocks));\n } else {\n dispatch({type: 'RESET'});\n }\n } else {\n dispatch({type: 'RESET'});\n }\n }, [dispatch, load]);\n\n return [state, initPage];\n};\n\nexport default useCmsPageBlocks;","import React from 'react';\nimport {useCmsMenu} from \"@fik/cms\";\nimport {useNavigationMenu, Menu} from \"@fik/navigation\";\nimport {usePageInfo} from \"@fik/page\";\n\n\nconst Sidebar = ({visible}) => {\n const sidebarMenu = useNavigationMenu('sideBarMenu');\n const menu = useCmsMenu(sidebarMenu);\n const pageInfo = usePageInfo();\n\n return (\n \n );\n};\n\nexport default Sidebar;","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {NavigationItem} from \"@fik/navigation\";\nimport {Col, Row} from \"@fik/ui\";\n\nconst PageHeader = ({title, section, children}) => {\n if (!title) {\n return null;\n }\n return (\n \n \n

{title}

\n
    \n
  1. \n Home\n
  2. \n {section ?
  3. {section}
  4. : null}\n
  5. \n {title}\n
  6. \n
\n \n \n {children}\n \n
\n );\n};\n\nPageHeader.propTypes = {\n title: PropTypes.string,\n section: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.array, PropTypes.object, PropTypes.func])\n};\n\nexport default PageHeader;","import React from 'react';\n\nconst FooterText = () => {\n const date = new Date();\n return (<>© {date.getFullYear()} ESET software spol. s r.o.);\n};\n\nexport default FooterText;","import React from 'react';\nimport FooterText from \"./FooterText\";\n\nconst Footer = () => {\n const date = new Date();\n return (\n
\n
\n \n
\n
\n );\n};\n\nexport default Footer;","import React, {useCallback, useEffect, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport Toolbar from '../Navigation/Toolbar/Toolbar';\nimport Sidebar from \"../Navigation/Sidebar/Sidebar\";\nimport PageHeader from \"../Navigation/PageHeader/PageHeader\";\n\nimport {useSelector} from \"react-redux\";\nimport {usePageInfo, PageBlock} from \"@fik/page\";\nimport {LoadingSpinnerOverlay, LoadingProvider, RefreshingInfo, useLoadingContext, SpinnerCircle} from \"@fik/loading\";\nimport Footer from \"../Navigation/Footer/Footer\";\n\nconst BannerContainer = ({children}) =>
{children}
;\n\nBannerContainer.propTypes = {\n children: PropTypes.oneOfType([PropTypes.array, PropTypes.object, PropTypes.func])\n};\n\n\nconst Layout = ({children, header = null, renderInfo = null}) => {\n\n const [showSidebar, setShowSidebar] = useState(false);\n\n const handleDrawToggleClicked = useCallback(() => {\n setShowSidebar(!showSidebar);\n }, [showSidebar, setShowSidebar]);\n\n const {title, section} = usePageInfo();\n\n const {username,userId} = useSelector(state => state.auth);\n\n const {isLoading, isRefreshing, resources} = useLoadingContext();\n\n useEffect(() => {\n setShowSidebar(false);\n }, [setShowSidebar, title]);\n\n useEffect(() => {\n if (showSidebar) {\n window.scrollTo(0, 0);\n }\n }, [showSidebar]);\n return (\n <>\n \n
\n
Načítá se{process.env.NODE_ENV === 'development'\n ? Object.entries(resources).filter(([key, item]) => item.isFetching).reduce((acc,[key, item]) => acc + (acc ? ', ' : ' ') + key, '')\n : '...'}\n
\n
\n\n \n
\n
\n \n
\n {renderInfo}\n \n \n \n \n \n
\n {header}\n
\n {children}\n
\n
\n
\n
\n \n );\n};\n\nLayout.propTypes = {\n children: PropTypes.oneOfType([PropTypes.array, PropTypes.object, PropTypes.func]),\n header: PropTypes.oneOfType([PropTypes.array, PropTypes.object, PropTypes.func])\n};\n\nexport default Layout;","import React, {useMemo} from 'react';\nimport {NavigationItem} from \"@fik/navigation\";\nimport {Col, Row} from \"@fik/ui\";\n\n\nconst Salesman = ({salesman: data, path, moreLink = true}) => {\n\n const imagePath = useMemo(() => data ? (path === \"/\" ? \"\" : path) + \"/img/profiles/\" + data.staffProfileImage : null, [path, data]);\n\n if (!data) {\n return null;\n }\n\n return (\n
\n \n \n
\n \"obrázek\n
\n \n \n {data.staffFullName}\n
\n {data.staffCompanyName}
\n {data.staffStreet}
\n {data.staffZipCode} {data.staffCity}
\n Mobil/Tel: {data.staffMobile}
\n E-mail: {data.staffEmail}\n
\n\n {moreLink\n ?
\n Další kontakty\n
\n : null}\n \n
\n
\n );\n};\n\nexport default Salesman;","import React from 'react';\nimport {getOnPath} from \"@mouseover/js-utils/src\";\nimport {Price} from \"@fik/ui\";\nimport arraySort from \"@fik/utils/arraySort\";\nimport PropTypes from \"prop-types\";\nimport {NavigationItem} from \"@fik/navigation\";\n\nconst RowContainer = ({children}) => {children};\nconst RowLabel = ({children}) => {children};\nconst RowContent = ({children}) => {children};\nconst RowWideContent = ({children}) => {children};\n\nconst ResellerAddressBookRow = ({name}) => \n Firma\n {name} (nastavení profilu)\n;\n\nconst ResellerBranchOfficeRow = ({name}) => \n Pobočka\n {name}\n;\n\nconst ResellerCategoryRow = ({name, commission}) => \n Kategorie\n {name} ({commission})\n;\n\nconst ResellerNfrCreditRow = ({nfrCredit}) => \n Výše NFR kreditu\n {nfrCredit}\n;\n\nconst ResellerPrivilegeStatusRow = ({privilegeStatus}) => \n Režim přihlášení\n {privilegeStatus}\n;\n\nconst ResellerTurnoversRow = ({amount, subtitle}) => \n Obrat - {subtitle}\n \n;\n\nconst ResellerLoyaltyRow = ({loyalties}) => \n Věrnost\n přehledy\n;\n\nconst ResellerRidRow = ({addressBook, branchOffice}) => {\n let rid = addressBook.publicExternalId;\n\n if (branchOffice && branchOffice.publicExternalId) {\n rid = branchOffice.publicExternalId + ' ' + rid;\n }\n return \n RID\n {rid}\n ;\n};\n\nconst ResellerCertificationMessage = ({status, message}) => {\n switch (status) {\n case 'red':\n return
{message}
;\n case 'yellow':\n return
{message}
;\n case 'green':\n default:\n return null;\n }\n};\n\nconst ResellerCertificationRow = ({certInfo}) => \n \n {certInfo.map((item, index) => )}\n \n;\n\nconst ResellerPlanRow = ({certInfo}) => \n Individuální plán\n AKTIVNÍ\n;\n\n\nconst ResellerLoyalties = ({loyalties}) => {\n if (loyalties) {\n // sort by years and return last year\n const lastYear = arraySort(Object.values(loyalties), (a, b) => parseInt(a.year) - parseInt(b.year)).pop();\n // sort by months and return last month\n const lastMonth = lastYear ? arraySort(Object.values(lastYear), (a, b) => parseInt(a.month) - parseInt(b.month)).pop() : null;\n // return percentage of lastMoth\n if (lastMonth && lastMonth.percent !== undefined) {\n return lastMonth.percent + '%';\n }\n }\n return 'n/a';\n};\n\nconst ResellerInfo = ({reseller}) => \n \n\n \n {reseller.branchOffice ? : null}\n \n {reseller.categoryInfo ? : null}\n \n \n {reseller.resellerPlanEnabled && }\n {reseller.stats\n ? <>\n \n \n : null}\n \n \n \n
;\n\nResellerInfo.propTypes = {\n addressBook: PropTypes.object,\n branchOffice: PropTypes.object,\n categoryInfo: PropTypes.object,\n privilegeStatus: PropTypes.string,\n turnovers: PropTypes.object,\n certInfo: PropTypes.object,\n stats: PropTypes.object\n};\n\n\nexport default ResellerInfo;","import {selectApiState} from \"@fik/api/selectors\";\nimport {resourceAsyncCallAction} from \"@fik/api\";\n\nconst shouldUpdateEntity = ({storeName, name: resource, timeToRefresh = 60}) => ([params], getState) => {\n const [loading, loaded, results, lastUpdateTime] = selectApiState(storeName, resource, params)(getState());\n if (!loading) {\n if (!params) {\n return !loaded;\n }\n\n if (!params.id) {\n if (!loaded) {\n return true;\n }\n } else if (params.id) {\n if (!loaded || (loaded && params.id !== results.id)) {\n return true;\n }\n }\n }\n\n return timeToRefresh < 0 ? isTimeToRefresh(lastUpdateTime,timeToRefresh * 1000) : false;\n};\n\n\nexport const requestGetEntity = (model) => (context, alwaysFetch = false) => {\n return resourceAsyncCallAction(\n {...context},\n alwaysFetch !== true ? shouldUpdateEntity(context) : null,\n 'get')\n ((...args) => model.entity().getEntity(context, ...args));\n};\n\nexport const requestPostEntity = (model) => (context) => {\n return resourceAsyncCallAction(context, null, 'post')((...args) => {\n return model.entity().postEntity(context, ...args)\n });\n};\n\nexport const requestPutEntity = (model) => (context) => {\n return resourceAsyncCallAction(context, null, 'put')((...args) => {\n return model.entity().putEntity(context, ...args)\n });\n};\n\nexport const requestDeleteEntity = (model) => (context) => {\n return resourceAsyncCallAction(context, null, 'delete')((...args) => model.entity().deleteEntity(context, ...args));\n};\n\nexport const requestEntityAction = (model) => (context) => {\n return resourceAsyncCallAction(context, null, 'action')((...args) => {\n return model.entity().action(context, ...args)\n });\n};\n\nconst isTimeToRefresh = (prevTime, diff) => {\n return Date.now() - prevTime > diff;\n};","import {useCallback} from \"react\";\nimport {getFailed, getLoaded, getLoading, getRefreshing, getResults} from \"@fik/api/selectors\";\nimport {useResourceSelectorWithParams} from \"@fik/api\";\n\nconst useResourceEntitySelector = (context, params, method, deps) => {\n const selectorCallback = useCallback((state) => {\n const entity = getResults(state);\n return {\n loadingState: {\n isFetching: getLoading(state),\n isSuccess: getLoaded(state),\n isFailed: getFailed(state),\n isRefreshing: getRefreshing(state),\n },\n loading: getLoading(state),\n [context.name]: entity,\n entity\n };\n }, [context]);\n\n return useResourceSelectorWithParams(context, params, selectorCallback, method);\n};\n\nexport default useResourceEntitySelector;","import {useResourceContext} from \"@fik/model\";\nimport {useDispatch} from \"react-redux\";\nimport {useCallback, useRef, useState} from \"react\";\nimport {useHookToLoading} from \"@fik/loading\";\nimport useResourceEntitySelector from \"./useResourceEntitySelector\";\nimport {isObject} from \"@mouseover/js-utils\";\n\nfunction paramsOrEmptyObject(params) {\n return params || {};\n}\n\nfunction createCurrentParams(defaultParamsRef, params) {\n if (!isObject(params) && params) {\n return params;\n }\n return defaultParamsRef.current\n ? {...defaultParamsRef.current, ...paramsOrEmptyObject(params)}\n : paramsOrEmptyObject(params);\n}\n\nconst useCallRequestEntity = ({name, validate, method, ...props}, action, defaultParams) => {\n const context = useResourceContext(name);\n const dispatch = useDispatch();\n const [currentParams, setCurrentParams] = useState(null);\n\n //- ref to default params - their should not change! only on purpose with changeDefaultParams\n const defaultParamsRef = useRef(defaultParams);\n const changeDefaultParams = useCallback((newParams) => defaultParamsRef.current = newParams, []);\n\n const callback = useCallback((params, content) => {\n const newParams = createCurrentParams(defaultParamsRef, params);\n if (!validate || validate(newParams)) {\n setCurrentParams(newParams);\n dispatch(action({entity: name, ...context, ...props}, newParams, content));\n }\n }, [action, context, dispatch, validate]);\n\n const resourceSelection = useResourceEntitySelector(context, currentParams, method, []);\n\n useHookToLoading(name, resourceSelection.loadingState);\n\n return [resourceSelection, callback, changeDefaultParams];\n};\n\nexport default useCallRequestEntity;","import {useCallback, useContext, useMemo} from 'react';\nimport {requestGetEntity} from \"./actions\";\nimport {ModelContext} from \"@fik/model\";\nimport useCallRequestEntity from \"./useCallRequestEnetity\";\n\nexport const usePureEntity = ({params:defaultParams, ...props}) => {\n\n const model = useContext(ModelContext);\n\n const actionCallback = useCallback((context, actionParams) => {\n return requestGetEntity(model)(context)(actionParams)\n }, [model]);\n\n const memoizedParams = useMemo(() => (defaultParams || {}), [defaultParams]);\n\n const [resourceSelection, callRequest] = useCallRequestEntity(\n {...props, method: 'get'},\n actionCallback,\n memoizedParams\n );\n\n return [resourceSelection, callRequest];\n};\n\nexport default usePureEntity;","import {useEffect, useMemo} from 'react';\nimport {usePureEntity} from \"./index\";\n\nexport const useEntity = (props, id, inputParams, deps = []) => {\n\n //- memoize params - their should not change!\n const memoizedAllParams = useMemo(() => (id ? {...inputParams, id} : {...inputParams}), deps);\n\n const [resourceSelection, callRequest] = usePureEntity(props);\n\n useEffect(() => {\n callRequest(memoizedAllParams);\n }, [memoizedAllParams, callRequest]);\n\n return resourceSelection;\n};\n\nexport default useEntity;","import {useCallback, useContext} from \"react\";\nimport {ModelContext, useModel, useResourceContext} from \"@fik/model\";\nimport {createActionNames, createRequestState} from \"@fik/api\";\nimport {useReducerWithThunk} from \"@fik/utils/useReducerWithThunk\";\nimport wrapAsyncCallForDispatch from \"@fik/utils/wrapAsyncCallForDispatch\";\nimport {useHookToLoading} from \"@fik/loading\";\n\nconst actionNames = createActionNames('useEntityAction');\n\nconst entityActionReducer = (state, action) => {\n switch (action.type) {\n case actionNames.FETCH_INIT:\n return {\n ...state,\n result: null,\n error: null,\n ...createRequestState(actionNames, action.type),\n };\n case actionNames.FETCH_SUCCESS:\n return {\n ...state,\n result: action.payload,\n ...createRequestState(actionNames, action.type),\n };\n case actionNames.FETCH_FAILURE:\n return {\n ...state,\n result: null,\n error: action.error,\n ...createRequestState(actionNames, action.type),\n };\n case actionNames.FETCH_RESET:\n return {\n ...state,\n result: null,\n error: null,\n ...createRequestState(actionNames, action.type),\n };\n default:\n return state;\n }\n};\nexport const useEntityAction = ({name, action, params: defaultParams, validate}) => {\n const model = useContext(ModelContext);\n\n const wrappedModelActionCall = useModel(\n (model) => wrapAsyncCallForDispatch(model.entity().action)(actionNames),\n []\n );\n\n const [state, dispatch] = useReducerWithThunk(entityActionReducer, {\n isFetching: false,\n isSuccess: false,\n isFailed: false,\n result: null,\n error: null\n }\n );\n\n const context = useResourceContext(name);\n const request = useCallback((params) => {\n dispatch(wrappedModelActionCall(\n {entity: name, ...context},\n action,\n defaultParams ? {...defaultParams, ...params} : params\n ));\n }, [dispatch, wrappedModelActionCall]);\n\n const reset = useCallback(() => {\n dispatch({type: actionNames.FETCH_RESET});\n },[dispatch]);\n\n useHookToLoading(name, state);\n\n return [state, request, reset];\n};\n\nexport default useEntityAction;","import React from 'react';\nimport {useEntity} from \"@fik/entity\";\n\nconst ContactEmailsSubscriptions = () => {\n const {entity} = useEntity({name: 'contact', params: {action: 'newsletters-subscription'}, timeToRefresh: -1});\n\n if (!entity) {\n return null;\n }\n\n return \n \n {Object.entries(entity).map(([name, checked], index) => \n \n )}\n \n
{name}
;\n};\n\nexport default ContactEmailsSubscriptions;\n","import React, {useCallback, useState} from 'react';\nimport {Button} from \"@fik/ui\";\nimport {Form} from \"@mouseover/react-form\";\n\nconst rulesForMainAddress = (rules) => {\n return (values) => {\n return !values.mainAddress ? rules : {};\n }\n};\n\nconst VALIDATION_RULES = {\n name: {\n required: true,\n minLength: 4\n },\n street: {\n required: true,\n minLength: 4\n },\n city: {\n required: true,\n minLength: 4\n },\n zipCode: {\n required: true,\n minLength: 5,\n maxLength: 5\n },\n postName: rulesForMainAddress({\n required: true,\n minLength: 4\n }),\n postStreet:rulesForMainAddress({\n required: true,\n minLength: 4\n }),\n postCity: rulesForMainAddress({\n required: true,\n minLength: 4\n }),\n postZipCode: rulesForMainAddress({\n required: true,\n minLength: 5,\n maxLength: 5\n }),\n email: {\n required: true,\n minLength: 4\n },\n phone: {\n required: true,\n minLength: 9\n },\n mobile: {\n required: false,\n minLength: 9\n },\n web: {\n required: false,\n minLength: 3\n },\n};\n\nconst AddressBookForm = ({addressBook, onSubmit}) => {\n const [validationRules, setValidationRules] = useState(VALIDATION_RULES);\n const handleChange = useCallback((values, valid) => {\n const newRules = {...VALIDATION_RULES};\n if (values.mainAddress) {\n delete newRules.postName;\n delete newRules.postStreet;\n delete newRules.postCity;\n delete newRules.postZipCode;\n }\n\n if (newRules.postName !== validationRules.postName) {\n setValidationRules(newRules);\n }\n }, [validationRules, setValidationRules]);\n\n if (!addressBook) {\n return null;\n }\n\n return (!results.mainAddress)\n },\n postName: {\n label: 'Název',\n elementType: 'input',\n elementConfig: {\n type: 'text',\n placeholder: 'Název',\n },\n value: '',\n valid: false,\n touched: false,\n visible: (results) => (!results.mainAddress)\n },\n postStreet: {\n label: 'Ulice',\n elementType: 'input',\n elementConfig: {\n type: 'text',\n placeholder: 'Ulice',\n },\n value: '',\n valid: false,\n touched: false,\n visible: (results) => (!results.mainAddress)\n },\n postCity: {\n label: 'Město',\n elementType: 'input',\n elementConfig: {\n type: 'text',\n placeholder: 'Město',\n },\n value: '',\n valid: false,\n touched: false,\n visible: (results) => (!results.mainAddress)\n },\n postZipCode: {\n label: 'PSČ',\n elementType: 'input',\n elementConfig: {\n type: 'text',\n placeholder: 'PSČ',\n },\n value: '',\n valid: false,\n touched: false,\n visible: (results) => (!results.mainAddress)\n },\n email: {\n label: 'E-mail',\n elementType: 'input',\n elementConfig: {\n type: 'email',\n placeholder: 'E-mail',\n },\n value: '',\n valid: false,\n touched: false\n },\n phone: {\n label: 'Telefon 1',\n elementType: 'input',\n elementConfig: {\n type: 'text',\n placeholder: 'Telefon 1',\n },\n value: '',\n valid: false,\n touched: false\n },\n mobile: {\n label: 'Telefon 2',\n elementType: 'input',\n elementConfig: {\n type: 'text',\n placeholder: 'Telefon 2',\n },\n value: '',\n valid: false,\n touched: false\n },\n web: {\n label: 'Webová adresa',\n elementType: 'input',\n elementConfig: {\n type: 'text',\n placeholder: 'Webová adresa',\n },\n value: '',\n valid: false,\n touched: false\n },\n }}\n onSubmit={onSubmit}\n values={addressBook}\n render={(form) => {\n return (\n Uložit\n )\n }} />;\n};\n\nexport default AddressBookForm;","import React from 'react';\n\nimport {Button} from \"@fik/ui\";\nimport {Form} from \"@mouseover/react-form\";\n\nconst BranchOfficeForm = ({branchOffice, onSubmit}) => {\n\n if (!branchOffice) {\n return null;\n }\n\n return (\n Uložit\n )}/>;\n};\n\nexport default BranchOfficeForm;","import React from \"react\";\nimport {Form} from \"@mouseover/react-form\";\n\nconst CertificationBranch = ({item, form}) => (\n
\n \n
\n);\n\nconst CertificationRequestForm = ({certificationBranches, contactId, onSubmit}) => ( certificationBranches.map((item, index) => )}\n>\n \n);\n\nexport default CertificationRequestForm;","import React from 'react';\nimport PropTypes from \"prop-types\";\nimport handleClick from \"@fik/utils/handleClick\";\n\nconst Cell = ({column, row, primaryValue, renderCellProps, index}) => {\n\n let content = null;\n if (column.render) {\n content = column.render({...renderCellProps, row, primaryValue, column, index});\n } else if (row.hasOwnProperty(column.key)) {\n content = row[column.key];\n }\n\n return (\n \n {content}\n \n );\n};\n\nconst filterVisible = column => {\n if (!column.hasOwnProperty('visible')) {\n return true;\n }\n\n if (typeof column.visible === 'function') {\n return column.visible();\n }\n\n return column.visible;\n};\n\nconst Cells = ({columns, ...props}) => {\n return columns\n .filter(filterVisible)\n .map((column, key) => ())\n};\n\nconst Row = props => {\n const {row, columns, primaryValue, index, renderCellProps = {}, onRowClick} = props;\n const rowContent = props.render({row, columns, primaryValue, renderCellProps, index}) || onRowClick(row)) : null}>;\n if (props.renderRowMessages) {\n return <>\n {rowContent}\n {props.renderRowMessages({...props, columnsLength: columns.length})}\n \n }\n return rowContent;\n};\n\nconst getChildren = (children) => React.isValidElement(children) ? getChildren(children.props.children) : children;\n\nconst Table = (props) => {\n const tableClasses = ['table'];\n\n if (props.striped) {\n tableClasses.push('table-striped');\n }\n\n if (props.bordered) {\n tableClasses.push('table-bordered');\n }\n\n if (props.condensed) {\n tableClasses.push('table-condensed');\n }\n\n if (props.hover) {\n tableClasses.push('table-hover');\n }\n const containerClasses = [];\n\n if (props.containerClassName) {\n containerClasses.push(props.containerClassName);\n }\n\n if (props.responsive) {\n containerClasses.push('table-responsive');\n }\n\n const renderRow = props.renderRow || (() => null);\n\n let columns = props.columns;\n\n if (props.children) {\n const children = getChildren(props.children);\n if (children) {\n columns = children.filter(child => React.isValidElement(child)).map((child, index) => ({\n key: index,\n title: child.props.title,\n header: child.props.header,\n className: child.props.headerClassName,\n render: ({row, ...props}) => React.cloneElement(child, {row, ...row, ...props})\n }))\n }\n }\n\n const rows = props.rows\n ? (props.rows.map((row, index) => {\n const primaryValue = props.primary ? (typeof props.primary === 'function' ? props.primary(row) : row[props.primary]) : index;\n\n return ();\n })) : null;\n\n\n\n return (\n
\n \n \n \n {rows}\n \n
\n
\n )\n};\nconst TableHead = ({columns, filterVisible}) => \n\n {columns\n .filter(filterVisible)\n .map(item => ({item.header ? (typeof item.header === 'function' ? item.header() : item.header): item.title}))}\n\n;\n\nTable.propTypes = {\n striped: PropTypes.bool,\n bordered: PropTypes.bool,\n condensed: PropTypes.bool,\n hover: PropTypes.bool,\n responsive: PropTypes.bool,\n columns: PropTypes.array,\n rows: PropTypes.array,\n primary: PropTypes.string,\n renderRow: PropTypes.func,\n renderRowMessages: PropTypes.func,\n};\n\nexport default Table;","const TableRow = ({children, render, ...props}) => {\n if (children) {\n return children(props);\n }\n\n if (render) {\n return render(props);\n }\n\n return null;\n}\n\nexport default TableRow;","import React from \"react\";\nimport handleClick from \"@fik/utils/handleClick\";\n\nconst ToggleRowDetailButton = ({primaryValue, isVisibleRow, toggleRow, closeIcon='fa-level-up', openIcon='fa-info-circle', ...props}) =>\n toggleRow(primaryValue))}>\n \n ;\n\nexport default ToggleRowDetailButton;","const arrayRemoveAny = (array, value) => {\n return array.filter((item) => item !== value);\n};\n\nexport default arrayRemoveAny;","import {useCallback, useState} from \"react\";\nimport arrayRemoveAny from \"@fik/utils/arrayRemoveAny\";\n\nconst useRowDetail = () => {\n const [visibleRows, setVisibleRows] = useState([]);\n\n const toggleRow = useCallback((key) => {\n let newlyVisible;\n if (visibleRows.indexOf(key) !== -1) {\n newlyVisible = arrayRemoveAny(visibleRows, key);\n } else {\n newlyVisible = [...visibleRows, key];\n }\n setVisibleRows(newlyVisible);\n }, [setVisibleRows,visibleRows]);\n\n return {\n toggleRow,\n isVisibleRow: useCallback((row) => visibleRows.indexOf(row) !== -1, [visibleRows])\n }\n};\n\nexport default useRowDetail;","import React from \"react\";\n\nimport {DownloadLink, Paginator} from \"@fik/ui\";\nimport {Table} from \"@fik/table\";\nimport {DateTime} from \"@fik/ui\";\n\nconst columns = [\n {\n key: 'type',\n title: 'Typ certifikace',\n render: ({row: {course}}) => (course ? {course.name} : '-')\n },\n {\n key: 'contactName',\n title: 'Jméno',\n render: ({row: {contactName}}) => contactName\n },\n {\n key: 'endOn',\n title: 'Dokončení testu',\n render: ({row: {endOn}}) => \n },\n {\n key: 'points',\n title: 'Body',\n render: ({row: {actualPoints, maximumPoints}}) => <>{actualPoints}/{maximumPoints}\n },\n {\n key: 'verdictPercent',\n title: 'Dosažených procent',\n render: ({row: {verdictPercent}}) => <>{verdictPercent} %\n },\n {\n key: 'verdict',\n title: 'Splněno',\n render: ({row: {verdict}}) => {verdict ? 'ANO' : 'NE'}\n },\n {\n key: 'pdf',\n title: 'PDF',\n render: ({row: {verdict, id}}) => verdict\n ? \n : null\n }\n];\n\nconst CertificationList = ({items = [], pagination = {}, onPageChange}) => (<>\n \n\n \n);\n\nexport default CertificationList;","import React from 'react';\nimport {ChannelName} from \"../index\";\n\nconst Channel = ({addressBook}) => {\n if (!addressBook) {\n return null;\n }\n\n const {companyId, email} = addressBook;\n\n return (\n \n
\n
\n {companyId ?
IČ: {companyId}
: null}\n {email\n ? (
{email}
)\n : null}\n
\n
\n );\n};\n\nexport default Channel;","import React from \"react\";\nimport {NavigationItem} from \"@fik/navigation\";\n\nconst ChannelName = ({name, addressBookId, id}) => <>{addressBookId || id ?\n {name} : name};\n\nexport default ChannelName;","import React from 'react';\n\nconst ChannelContact = ({contact}) => {\n if (!contact) {\n return null;\n }\n\n const {contactSurname, contactFirstname, contactEmail} = contact;\n return (\n <>\n
{contactSurname} {contactFirstname}
\n
{contactEmail}
\n \n );\n};\n\nexport default ChannelContact;","import {useEntity} from \"@fik/entity\";\n\nexport const useDials = ({name, params}) => {\n const {entity} = useEntity({name, params: {action: 'dials'}}, null, params);\n return entity || {};\n};\n\nexport default useDials;\n","import React, {useCallback, useMemo} from \"react\";\nimport {Form, FormField} from \"@mouseover/react-form\";\nimport {useDials} from \"@fik/dials\";\nimport {getValue} from \"@mouseover/js-utils\";\nimport handleClick from \"@fik/utils/handleClick\";\nimport {NavigationItem} from \"@fik/navigation\";\nimport arrayRemoveAny from \"@fik/utils/arrayRemoveAny\";\n\nconst TagGroupCheckboxes = ({tags, name, form, disabled = false}) => {\n\n const usedTags = useMemo(() => getValue(form.values, name) || [], [form.values, name]);\n\n const setChecked = useCallback((tag, checked) => {\n\n let currentValue = [...usedTags];\n if (checked) {\n currentValue.push(tag.tagCode);\n } else {\n currentValue = arrayRemoveAny(currentValue, tag.tagCode);\n }\n form.setValue(currentValue, name);\n }, [form, name, usedTags]);\n return tags.map((item, index) => (\n
))\n};\nconst VALIDATION_RULES = {\n contactSurname: {\n required: {\n params: true,\n message: \"Vyplňte prosím příjmení.\"\n },\n minLength: 2\n }, contactFirstname: {\n required: {\n params: true,\n message: \"Vyplňte prosím jméno.\"\n },\n minLength: 2\n }, contactPhone: {\n required: {\n params: true,\n message: \"Vyplňte prosím telefon.\"\n },\n minLength: 9,\n pattern: {\n message: 'Vyplňte prosím telefon ve formátu +420XXXXXXXXX.',\n params: '(^[\\+][0-9]{12}$)'\n }\n }, contactEmail: {\n required: {\n params: true,\n message: \"Vyplňte prosím e-mailovou adresu.\"\n },\n email: true\n }\n};\n\nconst ContactForm = ({values, onSubmit, onResendLoginRequested, selfEdit = false}) => {\n const dials = useDials({name: 'contact'});\n\n if (!values || !dials.roles) {\n return null;\n }\n\n return (\n <>\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n

Role kontaktu

\n \n

Další nastavení

\n

\n Pokud je volba zatržena, kontakt se nebude moci přihlásit do zóny.\n

\n \n
\n
\n

Odběr novinek

\n

\n Zatrhněte prosím kategorie novinek, které chcete posílat e-mailem. Více informací k jednotlivým sekcím obsahu\n najdete zde.\n

\n \n
\n
\n\n
\n
\n \n
\n {onResendLoginRequested\n ?
\n \n
\n : null}\n
\n \n )}/>;\n};\n\nexport default ContactForm;","import 'react-dates/initialize';\nimport {FormField} from \"@mouseover/react-form\";\nimport PropTypes from 'prop-types';\nimport React, {useMemo, useState} from \"react\";\nimport {SingleDatePicker} from \"react-dates\";\nimport moment from \"moment\";\nimport {isObject} from \"@mouseover/js-utils\";\n\nconst DataPickerWrapper = ({input}) => {\n const [focused, setFocused] = useState(false);\n const date = useMemo(() => input && input.value ? moment(isObject(input.value) ? input.value.date : input.value) : null, [input]);\n return
\n \n }\n inputIconPosition=\"after\"\n small={true}\n block={false}\n numberOfMonths={1}\n displayFormat=\"DD.MM.YYYY\"\n date={date}\n onDateChange={(date) => input.setValue(date ? date.format('YYYY-MM-DD') : null)}\n focused={focused}\n keepFocusOnInput={false}\n onFocusChange={({focused}) => setFocused(focused)}\n openDirection=\"down\"\n hideKeyboardShortcutsPanel={true}\n isOutsideRange={() => false}\n placeholder=\"\"\n />\n
\n};\n\nDataPickerWrapper.propTypes = {\n input: PropTypes.object\n};\n\nexport const DatePicker = (props) => }/>;","import React from 'react';\nimport {FormField} from \"@mouseover/react-form\";\n\nexport const SelectInput = (props) => ;\nexport const TextArea = (props) => ;\nexport const TextInput = (props) => ;\nexport const PasswordInput = (props) => ;\nexport const NumberInput = (props) => ;\nexport const Checkbox = (props) => ;\nexport {DatePicker} from './DatePicker';","import React, {useCallback} from \"react\";\nimport {Form} from \"@mouseover/react-form\";\nimport {PasswordInput, TextInput} from \"@fik/form\";\n\n\nconst PasswordForm = ({username, onSubmit}) => {\n const handleSubmit = useCallback((values, valid, form) => {\n if (valid) {\n onSubmit(values);\n form.setValues({password: null, oldPassword: null, passwordCheck: null});\n }\n }, [onSubmit]);\n\n return (<>\n \n \n \n \n )}\n >\n \n ;\n};\n\nexport default PasswordForm;","import React, {useState, useCallback} from 'react';\nimport {Redirect} from \"react-router-dom\";\nimport {RenewForm} from \"@fik/components\";\nimport {useNavigation} from \"@fik/navigation\";\n\nconst RenewLicenseShortcut = ({box = true}) => {\n const [result, setResult] = useState(null);\n const {routes} = useNavigation();\n\n const handleSubmit = useCallback((result) => {\n setResult(result);\n }, [setResult]);\n\n if (result && result.identificator && result.idType) {\n return \n }\n\n return \n};\n\nexport default RenewLicenseShortcut;","import React, {useCallback, useState} from \"react\";\nimport PropTypes from 'prop-types';\nimport {Form} from \"@mouseover/react-form\";\n\nconst ID_TYPE_KEY = 'licenseKey';\nconst ID_TYPE_PUBLIC_ID = 'licensePublicId';\nconst ID_TYPE_EPLI = 'licenseEPLI';\nconst ID_TYPE_DESLOCK = 'licenseDeslockId';\nconst ID_TYPE_USERNAME = 'licenseUsername';\n\nconst RenewForm = ({onSubmit}) => {\n const [idType, setIdType] = useState(null);\n\n const handleChange = useCallback(({identificator}) => {\n if (!identificator) {\n setIdType(null);\n return;\n }\n if (identificator.match(/\\b((AV|EAV|DEV|TRIAL)-[0-9]{6,})\\b/)) {\n setIdType(ID_TYPE_USERNAME);\n } else if (identificator.match(/\\b([a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4})\\b/)) {\n setIdType(ID_TYPE_KEY);\n } else if (identificator.match(/\\b([a-zA-Z0-9]{5}-[a-zA-Z0-9]{5}-[a-zA-Z0-9]{5}-[a-zA-Z0-9]{5})\\b/)) {\n setIdType(ID_TYPE_DESLOCK);\n } else if (identificator.match(/\\b([a-zA-Z0-9]{8}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{12})\\b/)) {\n setIdType(ID_TYPE_EPLI);\n } else if (identificator.match(/\\b([a-zA-Z0-9]{3}-[a-zA-Z0-9]{3}-[a-zA-Z0-9]{3})\\b/)) {\n setIdType(ID_TYPE_PUBLIC_ID);\n } else {\n setIdType(null);\n }\n }, [setIdType]);\n\n const handleSubmit = useCallback(({identificator}) => {\n onSubmit({identificator, idType});\n }, [onSubmit, idType]);\n\n return
\n Provést\n \n \n }\n }}\n >\n\n \n};\n\nRenewForm.propTypes = {\n onSubmit: PropTypes.func\n};\n\nexport default RenewForm;","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {FormField} from \"@mouseover/react-form\";\n\nconst AddressFields = ({form}) => (<>\n \n \n \n);\n\nAddressFields.propTypes = {\n form: PropTypes.object\n};\n\nexport default AddressFields;","import React from 'react';\nimport {FormField} from \"@mouseover/react-form\";\nimport PropTypes from \"prop-types\";\n\nconst ContactFields = ({form}) => (<>\n \n \n \n \n);\n\nContactFields.propTypes = {\n form: PropTypes.object\n};\n\nexport default ContactFields;","import React, {useCallback, useState} from \"react\";\nimport PropTypes from 'prop-types';\nimport {Table} from \"@fik/table\";\n\nconst NameRow = ({item, primary, handleOptionChange, selected}) => (\n
\n \n
\n);\n\nNameRow.propTypes = {\n item: PropTypes.object,\n primary: PropTypes.number,\n handleOptionChange: PropTypes.func,\n selected: PropTypes.number\n};\n\n\nconst ChannelPickList = ({items, onPick}) => {\n\n const [selected, setSelected] = useState(null);\n\n const handleOptionChange = useCallback((changeEvent) => {\n const index = parseInt(changeEvent.target.value);\n setSelected(index);\n if (onPick) {\n onPick(items[index], index);\n }\n }, [onPick, items]);\n\n return items\n ?
()\n },\n {\n key: 'companyId',\n title: 'IČ',\n render: ({row:item}) => (item.addressBook.companyId)\n },\n {\n key: 'street',\n title: 'Ulice',\n render: ({row:item}) => (item.addressBook.street)\n },\n {\n key: 'city',\n title: 'Město',\n render: ({row:item}) => (item.addressBook.city)\n },\n {\n key: 'email',\n title: 'E-mail',\n render: ({row:item}) => (item.addressBook.email)\n },\n {\n key: 'phone',\n title: 'Telefon',\n render: ({row:item}) => (item.addressBook.phone)\n }\n ]}\n rows={items}/>\n : null\n\n};\n\nChannelPickList.propTypes = {\n items: PropTypes.array,\n onPick: PropTypes.func\n};\n\nexport default ChannelPickList;","import React, {useCallback, useEffect} from \"react\";\nimport PropTypes from 'prop-types';\nimport {usePureEntity} from \"@fik/entity\";\nimport ChannelPickList from \"./ChannelPickList\";\n\nexport const ChannelPicker = ({entityContext, onPick, params}) => {\n\n const [{entity: items}, load] = usePureEntity(entityContext);\n\n const handlePick = useCallback((values) => {\n onPick(values);\n }, [onPick]);\n\n useEffect(() => {\n load(params);\n }, [params, load]);\n\n return <>\n {items ? : null}\n ;\n};\n\nChannelPicker.propTypes = {\n onPick: PropTypes.func,\n params: PropTypes.shape({\n pattern: PropTypes.string\n })\n};\n\nexport default ChannelPicker;","import React from \"react\";\nimport {SelectInput} from \"@fik/form\";\n\nconst BranchOfficeSelector = ({name, branchOffices, form}) => {\n return ({\n label: item.name,\n value: item.branchOfficeId\n })) : [])]}/>\n}\n\nexport default BranchOfficeSelector;","import React from \"react\";\nimport {SelectInput} from \"@fik/form\";\n\nconst ContactSelector = ({name, contacts, form}) => {\n return ({\n label: item.contactSurname + \" \" + item.contactFirstname,\n value: item.contactId\n })) : [])]}/>\n}\n\nexport default ContactSelector;","import React from 'react';\nimport {Address} from '@fik/ui';\nimport PropTypes from \"prop-types\";\n\nconst AddressBook = ({name, ...props}) => {\n return (\n {name}
\n
\n );\n};\n\nAddressBook.propTypes = {\n name: PropTypes.string,\n street: PropTypes.string,\n zipCode: PropTypes.string,\n city: PropTypes.string\n};\n\nexport default AddressBook;","import React from 'react';\nimport {Address} from '@fik/ui';\n\nconst BranchOffice = (props) => {\n return (\n {props.name}
\n
\n
);\n};\n\nexport default BranchOffice;","import React from 'react';\nimport PropTypes from \"prop-types\";\nimport {AddressBookDetail, BranchOfficeDetail, ContactDetail} from \"@fik/components\";\n\nconst Channel = ({addressBook, contact, branchOffice, categoryInfo, viewType, isCustomer}) => {\n return (
\n \n {branchOffice || !isCustomer ? : null}\n \n {categoryInfo ?
{categoryInfo.name}
{categoryInfo.commission}
: null}\n
);\n};\n\nChannel.propTypes = {\n viewType: PropTypes.string,\n isCustomer: PropTypes.bool,\n addressBook: PropTypes.object,\n categoryInfo: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\n branchOffice: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\n contact: PropTypes.object,\n};\n\nexport default Channel;","import React from 'react';\nimport {Email, Phone} from \"@fik/ui\";\n\nconst Contact = (props) => {\n return (\n
{props.contactSurname} {props.contactFirstname}
\n {props.contactEmail ? (
) : null}\n {props.contactPhone ? (
) : null}\n
);\n};\n\nexport default Contact;","import React from 'react';\nimport {EnumValue} from \"@fik/ui\";\n\nconst Status = (props) => {\n return ();\n};\n\nexport default Status;","import React from 'react';\nimport {EnumValue} from \"@fik/ui\";\n\nconst Type = (props) => {\n return ();\n};\n\nexport default Type;","import React from \"react\";\nimport PropTypes from \"prop-types\";\n\nconst EvidenceItemAmount = ({itemAmount}) => <>{itemAmount || '--'};\n\nEvidenceItemAmount.propTypes = {\n itemAmount: PropTypes.number\n};\n\nexport default EvidenceItemAmount;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\n\nconst EvidenceItemBonusCode = ({itemBonusCode}) => <>{itemBonusCode || '--'};\n\nEvidenceItemBonusCode.propTypes = {\n itemBonusCode: PropTypes.string\n};\n\nexport default EvidenceItemBonusCode;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport {Price} from \"@fik/ui\";\n\nconst EvidenceItemDiscount = ({itemDiscount, itemDiscountName, itemDiscountCompetitor, itemDiscountCompetitorName, itemDiscountCompetitorPrice}) => <>\n {itemDiscount ? <>\n
{itemDiscountName} {itemDiscount}%
\n {itemDiscountCompetitor && <>\n
\n
Informace o současném řešení
\n
\n
\n
Výrobce řešení:
\n
{itemDiscountCompetitor}
\n
\n
\n
Název produktu:
\n
{itemDiscountCompetitorName}
\n
\n
\n
Cena:
\n
{itemDiscountCompetitorPrice ? : null}
\n
\n }\n : '--'}\n;\n\nEvidenceItemDiscount.propTypes = {\n itemDiscount: PropTypes.number\n};\n\nexport default EvidenceItemDiscount;\n","import React from \"react\";\nimport {Date} from \"@fik/ui\";\nimport PropTypes from \"prop-types\";\n\nconst EvidenceItemName = ({itemCode, itemName, itemLicenseIdCodes, itemRansomExpirationDate, itemExpirationDate, itemExtraDays}) => <>\n
{itemCode} {itemName}
\n {itemLicenseIdCodes ? (
{itemLicenseIdCodes}
) : null}\n {itemRansomExpirationDate ? (
ESET výkupné do:
) : null}\n {itemExpirationDate ? (
Datum expirace:
) : null}\n {itemExtraDays ? (
Dny navíc: {itemExtraDays}
) : null}\n;\n\nEvidenceItemName.propTypes = {\n itemCode: PropTypes.string,\n itemLicenseIdCodes: PropTypes.string,\n itemRansomExpirationDate: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n itemExpirationDate: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n itemExtraDays: PropTypes.oneOfType([PropTypes.string, PropTypes.object])\n};\n\nexport default EvidenceItemName;\n","import React from \"react\";\nimport {Price} from \"@fik/ui\";\nimport PropTypes from \"prop-types\";\n\nconst EvidenceItemPrice = ({channel, itemCurrency, ...props}) => <>\n {props[channel] ? () : '--'}\n;\n\nEvidenceItemPrice.propTypes = {\n itemPrice: PropTypes.number,\n itemCurrency: PropTypes.string,\n channel: PropTypes.string\n};\n\n\nexport default EvidenceItemPrice;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\n\nconst EvidenceItemPromo = ({itemPromoDiscount}) => <>\n {itemPromoDiscount || '--'}\n;\n\nEvidenceItemPromo.propTypes = {\n itemPromoDiscount: PropTypes.number\n};\n\nexport default EvidenceItemPromo;\n","export const arrayToDictionary = (array, key, label) => {\n return array && Array.isArray(array)\n ? array.reduce(\n (obj, item) => {\n obj[item[key]] = item[label];\n return obj;\n },\n {}\n ) : {};\n};\n\nexport default arrayToDictionary;","import React from \"react\";\nimport {useDials} from \"@fik/dials\";\nimport {EnumValue} from \"@fik/ui\";\nimport arrayToDictionary from \"@fik/utils/arrayToDictionary\";\n\nconst EvidenceItemPromoWithName = ({itemPromoDiscount, itemPromoId, itemPromoName}) => {\n const {promos} = useDials({name: 'esetEvidenceItem'});\n return itemPromoId ?
\n {itemPromoDiscount &&
{itemPromoDiscount} %
}\n \n
: null;\n}\n\nexport default EvidenceItemPromoWithName;\n","function isEmptyChannel(channelValues) {\n return !(channelValues && channelValues.addressBook && channelValues.addressBook.name);\n}\n\nexport default isEmptyChannel;","import {useReducer, useCallback} from 'react';\nimport shallowEqual from \"react-redux/es/utils/shallowEqual\";\nimport isEmptyChannel from \"../utils/isEmptyChannel\";\n\n/**\n * User confirm changes after owner/customer edit\n *\n * @type {string}\n */\nconst CONFIRM_CUSTOMER_CHANGE = 'CONFIRM_CUSTOMER_CHANGE';\n\n/**\n * User confirm changes after partner edit\n *\n * @type {string}\n */\nconst CONFIRM_PARTNER_CHANGE = 'CONFIRM_PARTNER_CHANGE';\n\n/**\n * Sets initial document values\n *\n * @type {string}\n */\nconst SET_DOCUMENT = 'SET_DOCUMENT';\n\n/**\n * Reset customer to initial values (from SET_DOCUMENT action values)\n *\n * @type {string}\n */\nconst RESET_CUSTOMER = 'RESET_CUSTOMER';\n\n/**\n * Some document values was changed by user\n *\n * @type {string}\n */\nconst CHANGE_VALUES = 'CHANGE_VALUES';\n\n/**\n * User invokes concrete item removal\n *\n * @type {string}\n */\nconst REMOVE_EXISTING_EVIDENCE_ITEM = 'REMOVE_EXISTING_EVIDENCE_ITEM';\n\n/**\n * User confirm existing evidence item new values\n *\n * @type {string}\n */\nconst REPLACE_EVIDENCE_ITEM = 'REPLACE_EVIDENCE_ITEM';\n\n/**\n * User confirm new evidence item values\n *\n * @type {string}\n */\nconst ADD_EVIDENCE_ITEM = 'ADD_EVIDENCE_ITEM';\n\n/**\n * User adds attachment\n *\n * @type {string}\n */\nconst ADD_ATTACHMENT = 'ADD_ATTACHMENT';\n\n/**\n * User adds attachments\n *\n * @type {string}\n */\nconst ADD_ATTACHMENTS = 'ADD_ATTACHMENTS';\n\n/**\n * User removes attachment\n *\n * @type {string}\n */\nconst REMOVE_ATTACHMENT = 'REMOVE_ATTACHMENT';\n\nconst initialState = {\n shouldValidate: false,\n document: null,\n initialized: false,\n existing: false,\n emptyDocument: {owner: {}},\n potentialOwner: false\n};\n\nconst replaceDocumentEvidenceItem = (document, oldItem, newItem) => {\n const evidenceItems = Array.isArray(document.evidenceItems) ? [...document.evidenceItems] : [];\n const index = evidenceItems.indexOf(oldItem);\n if (index >= 0) {\n evidenceItems[index] = newItem;\n }\n return {...document, evidenceItems};\n};\n\n/**\n * Checks if new document values actualy change state.\n * If so return new state. If not return old (no state changes, no refresh, no render, no validation)\n *\n * @param state\n * @param newDocumentValues\n * @returns {{document, shouldValidate: boolean}|*}\n */\nconst changeDocumentWithShouldValidateCheck = (state, newDocumentValues) => {\n const document = {...state.document, ...newDocumentValues};\n if (!shallowEqual(state.document, document)) {\n return {\n ...state,\n shouldValidate: !newDocumentValues.hasOwnProperty('customContractId'),\n document\n }\n }\n\n return state;\n};\n\nconst documentReducer = (state, action) => {\n switch (action.type) {\n case SET_DOCUMENT:\n return {\n ...state,\n initialized: true,\n shouldValidate: !!action.existing,\n existing: !!action.existing,\n document: {...action.document},\n potentialOwner: false,\n emptyDocument: {...action.document} // TODO with prefiled licence etc is not true\n };\n\n case CONFIRM_CUSTOMER_CHANGE:\n const newOwner = {...action.owner};\n if (newOwner.addressBook && newOwner.contact) {\n //- pokud to neni firma nevyplnuje se name\n if (!newOwner.addressBook.companyId) {\n newOwner.addressBook.email = newOwner.contact.contactEmail;\n newOwner.addressBook.phone = newOwner.contact.contactPhone;\n newOwner.addressBook.name = newOwner.contact.contactSurname + ' ' + newOwner.contact.contactFirstname;\n } else if (!newOwner.addressBook.addressBookId) {\n newOwner.addressBook.email = newOwner.contact.contactEmail;\n newOwner.addressBook.phone = newOwner.contact.contactPhone;\n }\n }\n const newState = changeDocumentWithShouldValidateCheck(state, {owner: newOwner});\n newState.potentialOwner = false;\n if (newState === state && !state.existing) {\n return {\n ...newState,\n existing: true\n }\n }\n return newState;\n\n case CONFIRM_PARTNER_CHANGE:\n const newPartner = {...action.partner};\n return changeDocumentWithShouldValidateCheck(state, {partner: newPartner});\n\n case RESET_CUSTOMER:\n return {\n ...state,\n existing: false,\n potentialOwner: false,\n document: {...state.document, owner: state.emptyDocument.owner},\n };\n\n case ADD_EVIDENCE_ITEM:\n const evidenceItems = Array.isArray(state.document.evidenceItems) ? [...state.document.evidenceItems] : [];\n evidenceItems.push(action.evidenceItem);\n return {\n ...state,\n shouldValidate: true,\n potentialOwner: isEmptyChannel(state.document.owner) && evidenceItems.length === 1 && action.evidenceItem.itemLicenseIdCodes,\n document: {...state.document, evidenceItems},\n };\n\n case ADD_ATTACHMENT:\n const attachments = Array.isArray(state.document.attachments) ? [...state.document.attachments] : [];\n attachments.push(action.attachment);\n return {\n ...state,\n shouldValidate: true,\n document: {...state.document, attachments},\n };\n\n case ADD_ATTACHMENTS:\n\n return {\n ...state,\n shouldValidate: true,\n document: {\n ...state.document,\n //- kdyz uz nejake ma tak se spoji jinak se jen pridaji\n attachments: Array.isArray(state.document.attachments) ? [...state.document.attachments, ...action.attachments] : action.attachments\n },\n };\n\n case REMOVE_ATTACHMENT:\n const currentAttachments = [...state.document.attachments];\n currentAttachments.splice(currentAttachments.indexOf(action.attachment), 1);\n\n return {\n ...state,\n shouldValidate: true,\n document: {\n ...state.document,\n attachments: currentAttachments\n }\n };\n\n\n case REPLACE_EVIDENCE_ITEM:\n return {\n ...state,\n shouldValidate: true,\n document: replaceDocumentEvidenceItem(state.document, action.oldItem, action.newItem),\n };\n\n case CHANGE_VALUES:\n return changeDocumentWithShouldValidateCheck(state, action.values);\n\n case REMOVE_EXISTING_EVIDENCE_ITEM:\n const currentEvidenceItems = [...state.document.evidenceItems];\n currentEvidenceItems.splice(currentEvidenceItems.indexOf(action.evidenceItem), 1);\n\n return {\n ...state,\n shouldValidate: true,\n document: {\n ...state.document,\n evidenceItems: currentEvidenceItems\n }\n };\n\n default:\n return state;\n }\n};\n\nexport const useDocument = ({validate, isEpc}) => {\n const [state, dispatch] = useReducer(documentReducer, initialState);\n\n const confirmCustomerChange = useCallback((owner) => {\n dispatch({type: CONFIRM_CUSTOMER_CHANGE, owner});\n }, [dispatch]);\n\n const confirmPartnerChange = useCallback((partner) => {\n dispatch({type: CONFIRM_PARTNER_CHANGE, partner});\n }, [dispatch]);\n\n const setDocument = useCallback((document, existing = false) => {\n dispatch({type: SET_DOCUMENT, document, existing});\n }, [dispatch]);\n\n const resetCustomer = useCallback(() => {\n dispatch({type: RESET_CUSTOMER});\n }, [dispatch]);\n\n const addEvidenceItem = useCallback((evidenceItem) => {\n dispatch({type: ADD_EVIDENCE_ITEM, evidenceItem});\n }, [dispatch]);\n\n const removeExitingEvidenceItem = useCallback((evidenceItem) => {\n dispatch({type: REMOVE_EXISTING_EVIDENCE_ITEM, evidenceItem});\n }, [dispatch]);\n\n const changeValues = useCallback((values) => {\n dispatch({type: CHANGE_VALUES, values});\n }, [dispatch]);\n\n const addAttachment = useCallback((attachment) => {\n dispatch({type: ADD_ATTACHMENT, attachment});\n }, [dispatch]);\n\n const removeAttachment = useCallback((attachment) => {\n dispatch({type: REMOVE_ATTACHMENT, attachment});\n }, [dispatch]);\n\n const addAttachments = useCallback((attachments) => {\n dispatch({type: ADD_ATTACHMENTS, attachments});\n }, [dispatch]);\n\n const replaceEvidenceItem = useCallback((oldItem, newItem) => {\n dispatch({type: REPLACE_EVIDENCE_ITEM, oldItem, newItem});\n }, [dispatch]);\n\n return {\n initialDocument: state.emptyDocument,\n document: state.document,\n isCustomerFilled: state.document && !isEmptyChannel(state.document.owner),\n isPartnerFilled: state.document && !isEmptyChannel(state.document.partner),\n existing: state.existing,\n initialized: state.initialized,\n shouldValidate: validate === true ? state.shouldValidate : false,\n setDocument,\n confirmCustomerChange,\n confirmPartnerChange,\n resetCustomer,\n changeValues,\n addAttachment,\n addAttachments,\n removeAttachment,\n removeExitingEvidenceItem,\n replaceEvidenceItem,\n addEvidenceItem,\n potentialOwner: state.potentialOwner,\n isEpc\n }\n};\n\nexport default useDocument;","import React from 'react';\n\nexport const DocumentContext = React.createContext(null);","import {useContext} from \"react\";\nimport {DocumentContext} from \"./DocumentContext\";\n\nexport const useDocumentContext = () => useContext(DocumentContext);","import {useCallback, useReducer} from 'react';\nimport {createActionNames, createRequestState} from \"@fik/api\";\nimport {useModel, promiseWrapper} from \"@fik/model\";\nimport {useHookToLoading} from \"@fik/loading\";\n\nconst actionTypes = createActionNames('save');\n\nconst initialState = {\n result: null,\n args: null,\n isFetching: false,\n isSuccess: false,\n isFailed: false,\n};\n\nconst reducer = (state, action) => {\n switch (action.type) {\n case actionTypes.FETCH_INIT:\n return {\n ...state,\n result: null,\n documentType: action.documentType,\n ...createRequestState(actionTypes, action.type)\n\n };\n\n case actionTypes.FETCH_SUCCESS:\n return {\n ...state,\n result: {\n ...action.payload,\n },\n ...createRequestState(actionTypes, action.type)\n\n };\n\n case actionTypes.FETCH_FAILURE:\n return {\n ...state,\n result: {\n ...action.payload,\n },\n ...createRequestState(actionTypes, action.type)\n };\n\n default:\n return state;\n }\n};\n\nconst createDocumentOperation = (documentModel) => async (operation, dispatch, ...args) => {\n dispatch({type: actionTypes.FETCH_INIT, args});\n\n const {isSuccess, data} = await promiseWrapper(documentModel[operation], ...args);\n\n if (isSuccess) {\n dispatch({type: actionTypes.FETCH_SUCCESS, payload: data, args});\n } else {\n dispatch({type: actionTypes.FETCH_FAILURE, payload: data, args});\n }\n};\n\nexport const useDocumentOperation = (operation) => {\n const dispatchOperation = useModel(\n (model) => createDocumentOperation(model.document()),\n []\n );\n\n const [state, dispatch] = useReducer(reducer, initialState);\n\n useHookToLoading(`documentOperation-${operation}`, state);\n\n const perform = useCallback((...args) => {\n dispatchOperation(operation, dispatch, ...args);\n }, [dispatchOperation, operation, dispatch]);\n\n return {\n isFetching: state.isFetching,\n isSuccess: state.isSuccess,\n isFailed: state.isFailed,\n result: state.result,\n perform\n }\n};\n\nexport default useDocumentOperation;","import {useCallback, useReducer} from 'react';\nimport {createActionNames, createRequestState} from \"@fik/api\";\nimport {useModel, promiseWrapper} from \"@fik/model\";\nimport {useHookToLoading} from \"@fik/loading\";\n\nconst saveActions = createActionNames('save');\n\nconst initialState = {\n result: null,\n documentType: null,\n isFetching: false,\n isSuccess: false,\n isFailed: false,\n};\n\nconst saveReducer = (state, action) => {\n switch (action.type) {\n case saveActions.FETCH_INIT:\n return {\n ...state,\n result: null,\n documentType: action.documentType,\n ...createRequestState(saveActions, action.type)\n\n };\n\n case saveActions.FETCH_SUCCESS:\n return {\n ...state,\n result: {\n ...action.payload,\n },\n ...createRequestState(saveActions, action.type)\n\n };\n\n case saveActions.FETCH_FAILURE:\n return {\n ...state,\n result: {\n ...action.payload,\n },\n ...createRequestState(saveActions, action.type)\n };\n\n default:\n return state;\n }\n};\n\nconst createDocumentSave = (documentModel) => async (document, documentType, dispatch) => {\n dispatch({type: saveActions.FETCH_INIT, document, documentType});\n const {isSuccess, data} = await promiseWrapper(documentModel.save, documentType, document);\n\n if (isSuccess) {\n dispatch({type: saveActions.FETCH_SUCCESS, payload: data, document});\n } else {\n dispatch({type: saveActions.FETCH_FAILURE, payload: data, document});\n }\n};\n\nexport const useDocumentSave = () => {\n const save = useModel(\n (model) => createDocumentSave(model.document()),\n []\n );\n\n const [state, dispatch] = useReducer(saveReducer, initialState);\n\n const saveDocument = useCallback((documentType, document) => {\n save(document, documentType, dispatch);\n }, [save, dispatch]);\n\n useHookToLoading(`${state.documentType}-save`, state);\n\n return {\n isSaving: state.isFetching,\n isSaved: state.isSuccess,\n isFailed: state.isFailed,\n documentType: state.documentType,\n messages: state.result && state.result.messages ? state.result.messages : [],\n result: state.result,\n saveDocument\n }\n};\n\nexport default useDocumentSave;","import {useEffect, useReducer, useCallback} from 'react';\nimport {createActionNames, createRequestState} from \"@fik/api\";\nimport {useModel} from \"@fik/model\";\nimport {useHookToLoading} from \"@fik/loading\";\n\nconst validateActions = createActionNames('validate');\n\nconst createValidate = (documentModel, documentType) => async (document, dispatch) => {\n dispatch({type: validateActions.FETCH_INIT, document});\n try {\n const payload = await documentModel.validate(documentType, document);\n dispatch({type: validateActions.FETCH_SUCCESS, payload, document});\n } catch (error) {\n dispatch({type: validateActions.FETCH_FAILURE, document});\n }\n};\n\nconst filterAvailableButtons = (documentTypes, buttons) => {\n return buttons.reduce((available, button) => {\n if (documentTypes.indexOf(button.documentType) >= 0) {\n available.push(button);\n }\n return available;\n }, []);\n};\n\nconst buttons = [\n {\n documentType: 'order',\n label: 'Objednat'\n },\n {\n documentType: 'offer',\n label: 'Nabídnout'\n },\n {\n documentType: 'projectPrice',\n label: 'Zažádat o projektovou cenu'\n }\n];\n\nconst initialState = {\n document: null,\n availableButtons: [],\n result: {\n valid: false,\n messages: [],\n possibleDocumentTypes: [],\n isLimitedByCredit: false,\n projectPrice: false,\n resellerDocument: true,\n },\n isFetching: false,\n isSuccess: false,\n isFailed: false,\n};\n\nconst validationReducer = (state, action) => {\n switch (action.type) {\n case validateActions.FETCH_INIT:\n return {\n ...initialState,\n document: action.document,\n ...createRequestState(validateActions, action.type)\n };\n\n case validateActions.FETCH_SUCCESS:\n return {\n ...state,\n result: {\n ...action.payload,\n },\n ...createRequestState(validateActions, action.type),\n availableButtons: filterAvailableButtons(action.payload.possibleDocumentTypes, buttons)\n };\n\n case validateActions.FETCH_FAILURE:\n return {\n ...state,\n ...createRequestState(validateActions, action.type),\n availableButtons: []\n };\n default:\n return state;\n }\n};\n\nconst useDocumentValidator = ({document, shouldValidate, documentType}) => {\n\n const validate = useModel(\n (model) => createValidate(model.document(), documentType),\n []\n );\n\n const [state, dispatch] = useReducer(validationReducer, initialState);\n\n useHookToLoading('document-validate', state);\n\n const validateDocument = useCallback((document) => {\n validate({\n ...document,\n // je nutne odstranit obsah priloh - tzn neposilat je k validaci s kazdou zmenou (maji az 2mb povolene)\n attachments: document.attachments.map(attachment => ({...attachment, attachmentContent: null}))\n }, dispatch);\n }, [validate, dispatch]);\n\n useEffect(() => {\n if (shouldValidate) {\n validateDocument(document);\n }\n }, [document, shouldValidate, validateDocument]);\n\n return {\n validateDocument,\n availableButtons: state.availableButtons,\n valid: state.result.valid,\n validationMessages: state.result.messages || [],\n }\n};\n\nexport default useDocumentValidator;\n","const documentViews = {\n EDIT_CUSTOMER: 'EDIT_CUSTOMER',\n EDIT_CUSTOMER_PICK: 'EDIT_CUSTOMER_PICK',\n EDIT_CUSTOMER_EDIT: 'EDIT_CUSTOMER_EDIT',\n PICK_PARTNER: 'PICK_PARTNER',\n EDIT_PARTNER: 'EDIT_PARTNER',\n EDIT_EVIDENCE_ITEMS: 'EDIT_EVIDENCE_ITEMS',\n VIEW: 'VIEW'\n};\n\nexport default documentViews;\n","export const emptyItem = {\n itemName: null,\n itemProductTypeId: null,\n itemProductFamilyId: null,\n itemProductPeriodId: null,\n itemAmount: null,\n itemDiscount: null,\n itemDiscountId: null,\n itemDiscountCompetitor: null,\n itemDiscountCompetitorName: null,\n itemDiscountCompetitorPrice: null,\n itemExtraDays: null,\n itemPromoId: null,\n itemBonusCode: null,\n itemBasePrice: null,\n itemMessages: [],\n owner: {\n itemPrice: null\n },\n partner: {\n itemPrice: null,\n addressBookId: null\n },\n epc: {\n itemPrice: null,\n addressBookId: null\n },\n itemLicenseIdCodes: null\n};\n\nconst createEvidenceItemModel = (adapter) => {\n\n return {\n select:(params)=> {\n return adapter().get({...params, action: 'selector'});\n },\n recalculate: (selection) => {\n return adapter().post({action: 'recalculate'}, selection);\n },\n emptyItem\n }\n};\n\nexport default createEvidenceItemModel;","import {useCallback, useEffect, useState} from \"react\";\nimport documentViews from \"./documentViews\";\nimport {emptyItem} from \"@fik/model/createEvidenceItemModel\";\n\nconst SELECT_TYPE_NEW = 'new';\nconst SELECT_TYPE_RENEW = 'renew';\nconst EMPTY_CONTEXT = {selection: null, evidenceItem: null};\n\nconst useDocumentEditEvidenceItems = ({isCompany, setView, documentModel}) => {\n const [evidenceItemEditContext, setEvidenceItemEditContext] = useState({type: null, evidenceItem: null});\n\n const editEvidenceItem = useCallback((context) => {\n setEvidenceItemEditContext(context);\n setView(documentViews.EDIT_EVIDENCE_ITEMS);\n }, [setView]);\n\n const startEditNewEvidenceItem = useCallback((evidenceItem) => {\n editEvidenceItem({\n selection: {\n ...(evidenceItem || emptyItem),\n selectType: SELECT_TYPE_NEW,\n isCompany: isCompany\n }\n });\n }, [editEvidenceItem, isCompany]);\n\n const startEditNewRenewEvidenceItem = useCallback((evidenceItem = {}) => {\n editEvidenceItem({\n selection: {\n ...emptyItem,\n ...evidenceItem,\n selectType: SELECT_TYPE_RENEW,\n isCompany: isCompany\n }\n });\n }, [editEvidenceItem, isCompany]);\n\n const startEditExistingEvidenceItem = useCallback((evidenceItem) => {\n editEvidenceItem({\n evidenceItem,\n selection: {\n ...evidenceItem,\n selectType: evidenceItem.itemLicenseIdCodes ? SELECT_TYPE_RENEW : SELECT_TYPE_NEW,\n isCompany: isCompany\n }\n });\n }, [editEvidenceItem, isCompany]);\n\n const leaveEvidenceItemEdit = useCallback(() => {\n setEvidenceItemEditContext({selection: null, evidenceItem: null});\n setView(documentViews.VIEW);\n }, [setView]);\n\n const confirmEvidenceItemEdit = useCallback((evidenceItem) => {\n\n if (evidenceItemEditContext.evidenceItem) {\n documentModel.replaceEvidenceItem(evidenceItemEditContext.evidenceItem, evidenceItem);\n leaveEvidenceItemEdit();\n } else {\n documentModel.addEvidenceItem(evidenceItem);\n }\n\n setEvidenceItemEditContext({...EMPTY_CONTEXT});\n setView(documentViews.VIEW);\n\n }, [evidenceItemEditContext.evidenceItem, leaveEvidenceItemEdit, documentModel, setView]);\n\n useEffect (() => {\n if (documentModel.document && documentModel.document.owner) {\n const owner = documentModel.document.owner;\n if (owner.licenseCode && documentModel.document.evidenceItems && documentModel.document.evidenceItems.length < 1) {\n startEditNewRenewEvidenceItem({itemLicenseIdCodes: owner.licenseCode});\n setView(documentViews.EDIT_EVIDENCE_ITEMS);\n }\n }\n }, [documentModel.document, startEditNewRenewEvidenceItem]);\n\n return {\n ...evidenceItemEditContext,\n startEditNewEvidenceItem,\n startEditNewRenewEvidenceItem,\n startEditExistingEvidenceItem,\n confirmEvidenceItemEdit,\n cancelEvidenceItemEdit: leaveEvidenceItemEdit\n }\n};\n\nexport default useDocumentEditEvidenceItems;","import {usePureEntity} from \"@fik/entity\";\nimport {useCallback, useEffect} from \"react\";\n\n\nconst useCompanyRegistrySearch = () => {\n const [{entity:results}, load] = usePureEntity({name: 'customer', params: {action: 'search-registry'}});\n\n const search = useCallback((pattern, source) => {\n load({pattern, source});\n }, [load])\n\n return [results, search];\n}\n\nexport default useCompanyRegistrySearch;","import React, {useCallback, useEffect, useRef, useState} from \"react\";\nimport handleClick from \"@fik/utils/handleClick\";\nimport useDropdown from \"@fik/ui/DropDown/useDropDown\";\n\nconst CompaniesDropDown = ({items, onSelect, onClose}) => {\n const {element, isOpen, setIsOpen, toggle} = useDropdown();\n const [canBeClosed, setCanBeClosed] = useState();\n\n useEffect(() => {\n setIsOpen((items && items.length > 0) || false);\n setCanBeClosed(true);\n }, [items, setCanBeClosed]);\n\n useEffect(()=> {\n console.log('[isOpen]', isOpen);\n if (onClose && !isOpen && canBeClosed) {\n onClose();\n }\n }, [onClose, isOpen, canBeClosed]);\n\n const handleSelect = useCallback((item) => {\n setIsOpen(false);\n if (onSelect) {\n onSelect(item);\n }\n }, [onSelect, setIsOpen]);\n\n return isOpen && items ? : null;\n}\n\nexport default CompaniesDropDown;","import React, {useCallback, useState} from 'react';\nimport {FormField} from \"@mouseover/react-form\";\nimport PropTypes from \"prop-types\";\nimport handleClick from \"@fik/utils/handleClick\";\nimport useCompanyRegistrySearch from \"../useCompanyRegistrySearch\";\nimport {getOnPath} from \"@mouseover/js-utils/src\";\nimport CompaniesDropDown from \"./CompaniesDropDown\";\n\nconst COMPANY_FIELDS = {name: '', companyId: '', vatId: '', street: '', city: '', zipCode: ''};\n\nconst CompanyFields = ({form, onSearchRegistry}) => {\n const [registrySearchResult, searchRegistry] = useCompanyRegistrySearch();\n const [path, setPath] = useState();\n\n const handleSearchRegistry = useCallback((source) => {\n setPath(source);\n searchRegistry(getOnPath(form, ['values', source]), source);\n }, [form, searchRegistry, setPath]);\n\n const handleSelectCompany = useCallback((addressBook) => {\n\n form.setValues({\n ...COMPANY_FIELDS,\n ...{\n name: addressBook.name,\n companyId: addressBook.companyId,\n vatId: addressBook.vatId,\n street: addressBook.street,\n city: addressBook.city,\n zipCode: addressBook.zipCode\n }\n });\n }, [form]);\n\n const handleClose = useCallback(() => {\n if (path) {\n setPath(null);\n }\n }, [path, setPath]);\n\n return (<>\n
\n \n \n }\n name='name'\n label='Název'\n elementType='input'\n elementConfig={{'autoComplete': 'nope'}}\n />\n {registrySearchResult && path === 'name' ? : null}\n
\n
\n \n \n }\n name='companyId'\n label='IČ'\n elementType='input'\n elementConfig={{'autoComplete': 'nope'}}\n />\n {registrySearchResult && path === 'companyId' ? : null}\n
\n
\n \n
\n );\n}\n\nCompanyFields.propTypes = {\n form: PropTypes.object\n};\n\nexport default CompanyFields;","import React, {useCallback, useEffect, useMemo, useRef} from 'react';\nimport {useFormContainer, Form} from \"@mouseover/react-form\";\nimport {ContactFields, AddressFields} from \"@fik/components\";\nimport {mergeDeep} from \"@mouseover/js-utils\";\nimport handleClick from \"@fik/utils/handleClick\";\nimport PropTypes from \"prop-types\";\nimport CompanyFields from \"./CompanyFields\";\nimport {Col, Row} from \"@fik/ui\";\n\nconst Controls = ({form}) => {\n const contact = useFormContainer('contact', form);\n const addressBook = useFormContainer('addressBook', form);\n\n useEffect(() => {\n if (contact.values.contactEmail !== addressBook.values.email) {\n addressBook.setValue(contact.values.contactEmail, 'email');\n }\n if (contact.values.contactPhone !== addressBook.values.phone) {\n addressBook.setValue(contact.values.contactPhone, 'phone');\n }\n }, [contact.values, addressBook]);\n\n return (\n <>\n
\n
\n

Kontakt

\n \n
\n
\n

Adresa

\n \n
\n
\n \n )\n};\n\nControls.propTypes = {\n form: PropTypes.object\n};\n\nconst CustomerCompanyControls = ({form, isCompany}) => {\n const addressBook = useFormContainer('addressBook', form);\n\n useIsCompany({form, isCompany});\n\n return form.values && form.values.isCompany ? <>\n \n
\n

Firma

\n \n \n
\n \n
\n \n : null;\n};\n\nCustomerCompanyControls.propTypes = {\n form: PropTypes.shape({\n values: PropTypes.object\n }),\n isCompany: PropTypes.bool\n};\n\nconst validationRules = {\n contact: {\n children: {\n contactFirstname: {\n required: true\n },\n contactSurname: {\n required: true\n },\n contactEmail: {\n required: true,\n email: true\n },\n contactPhone: {\n required: false,\n pattern: {\n message: 'Špatný formát telefonu (+420...)',\n params: '^(\\\\+420)[0-9]{9}$'\n }\n }\n }\n },\n addressBook: {\n children: {\n zipCode: {\n required: false,\n minLength: 5,\n maxLength: 5,\n pattern: {\n message: 'PSČ musí být číslo',\n params: '([0-9]\\s*){5}'\n }\n }\n }\n }\n};\n\nconst companyValidationRules = mergeDeep(\n validationRules, {\n addressBook: {\n children: {\n name: {\n required: true\n },\n companyId: {\n required: true\n },\n }\n }\n });\n\n\nconst useIsCompany = ({form, isCompany}) => {\n const {values, setValue} = form;\n const isCompanyRef = useRef(values.isCompany);\n\n useEffect(() => {\n isCompanyRef.current = values.isCompany;\n }, [values]);\n\n useEffect(() => {\n if (isCompanyRef.current !== isCompany) {\n setValue(isCompany, 'isCompany');\n }\n }, [isCompanyRef, setValue, isCompany]);\n};\n\nconst CustomerForm = ({values, onChange, onSubmit, onReset, isCompany}) => {\n const handleSubmit = useCallback((values, valid) => {\n if (valid) {\n onSubmit(values, valid);\n }\n }, [onSubmit]);\n\n return (
\n isCompany ? companyValidationRules : validationRules, [isCompany])}\n onChange={onChange}\n onSubmit={handleSubmit}\n render={(form) => (<>\n \n \n
\n
\n \n Pokračovat\n \n
\n
\n
\n )}/>\n
)\n};\nCustomerForm.propTypes = {\n values: PropTypes.object,\n isCompany: PropTypes.bool,\n onChange: PropTypes.func,\n onSubmit: PropTypes.func,\n onReset: PropTypes.func,\n};\n\nexport default CustomerForm;","import {useEffect, useRef} from \"react\";\n\nconst useRefOn = (value) => {\n const ref = useRef(value);\n useEffect(() => {\n ref.current = value;\n }, [value]);\n\n return ref;\n};\n\nexport default useRefOn;","import {useReducer, useCallback, useEffect, useMemo, useRef} from 'react';\nimport useRefOn from \"@fik/utils/useRefOn\";\nimport isEmptyChannel from \"@fik/utils/isEmptyChannel\";\n\nconst actions = {\n CANCEL_EDIT: 'CANCEL_EDIT',\n CONFIRM_EDIT: 'CONFIRM_EDIT',\n DOCUMENT_INITIALIZED: 'DOCUMENT_INITIALIZED',\n PICK_NEW_HOME_USER: 'PICK_NEW_HOME_USER',\n PICK_NEW_COMPANY: 'PICK_NEW_COMPANY',\n CUSTOMER_IS_HOME_USER: 'CUSTOMER_IS_HOME_USER',\n CUSTOMER_IS_COMPANY: 'CUSTOMER_IS_COMPANY',\n PICK_NEW_EXISTING: 'PICK_NEW_EXISTING',\n EXISTING_CHOOSED: 'EXISTING_CHOOSED',\n EDIT: 'EDIT'\n};\n\nexport const views = {\n PICK: 'pick',\n VIEW: 'view',\n HOME: 'homeUser',\n COMPANY: 'company',\n EDIT: 'edit',\n EXISTING: 'existing',\n PREPARING: 'none'\n};\n\nexport const DEFAULT_VIEWS = [views.HOME, views.COMPANY, views.EXISTING];\n\nconst initialState = {\n initialValues: null,\n values: null,\n previousViewType: views.PREPARING,\n viewType: views.PREPARING,\n params: null,\n prefilledValue: null\n};\n\nconst emptyValues = {\n addressBook: {name: null, street: null, city: null, zipcode: null, companyId: null},\n contact: {contactFirstname: null, contactSurname: null, contactEmail: null, contactPhone: null}\n};\n\nfunction prepareValues(channelValues) {\n return channelValues ? {\n ...emptyValues,\n ...channelValues,\n contact: channelValues && channelValues.contact ? channelValues.contact : emptyValues.contact\n } : {...emptyValues};\n}\n\nfunction isOnOneOfCustomerEditView(view) {\n return view === views.EDIT || view === views.PICK || view === views.EXISTING || view === views.HOME || view === views.COMPANY;\n}\n\nconst documentCustomerReducer = (state, action) => {\n switch (action.type) {\n case actions.PICK_NEW_HOME_USER:\n return {\n ...state,\n values: {...emptyValues},\n previousViewType: state.viewType,\n viewType: views.EDIT,\n customerType: views.HOME,\n params: null\n };\n\n case actions.PICK_NEW_COMPANY:\n return {\n ...state,\n values: {...emptyValues},\n previousViewType: state.viewType,\n viewType: views.EDIT,\n customerType: views.COMPANY,\n params: null\n };\n\n case actions.CUSTOMER_IS_HOME_USER:\n return {\n ...state,\n customerType: views.HOME,\n };\n\n case actions.CUSTOMER_IS_COMPANY:\n return {\n ...state,\n customerType: views.COMPANY,\n params: null\n };\n\n case actions.EDIT:\n return {\n ...state,\n viewType: views.EDIT,\n values: action.values ? action.values : state.values\n };\n\n\n case actions.PICK_NEW_EXISTING:\n return {\n ...state,\n values: null,\n previousViewType: state.viewType,\n viewType: views.EXISTING,\n customerType: null,\n params: action.params\n };\n\n case actions.EXISTING_CHOOSED:\n return {\n ...state,\n values: action.values,\n previousViewType: state.viewType,\n viewType: views.EDIT,\n customerType: action.values.addressBook && action.values.addressBook.companyId ? views.COMPANY : views.HOME,\n params: null\n };\n\n case actions.CANCEL_EDIT:\n return {\n ...state,\n values: null,\n viewType: views.PICK,\n customerType: null,\n params: null\n };\n\n case actions.CONFIRM_EDIT:\n return {\n ...state,\n values: action.values,\n previousViewType: state.viewType,\n viewType: views.VIEW,\n customerType: action.values.addressBook && action.values.addressBook.companyId ? views.COMPANY : views.HOME,\n params: null\n };\n\n case actions.DOCUMENT_INITIALIZED:\n return {\n ...state,\n previousViewType: action.viewType,\n viewType: action.viewType,\n customerType: action.viewType === views.EDIT ? action.values.addressBook && action.values.addressBook.companyId ? views.COMPANY : views.HOME : null,\n params: null,\n values: action.values,\n initialValues: action.initialValues,\n prefilledValue: action.prefilledValue\n };\n\n default:\n return state;\n }\n};\n\n\nconst useCustomerEdit = ({channelValues, confirmCustomerChange, itemLicenseIdCodes, onViewChange}) => {\n\n const [state, dispatch] = useReducer(documentCustomerReducer, initialState);\n\n const cancelEdit = useCallback(() => {\n dispatch({type: actions.CANCEL_EDIT});\n }, [dispatch]);\n\n const confirmEdit = useCallback((values) => {\n confirmCustomerChange(values);\n dispatch({type: actions.CONFIRM_EDIT, values});\n }, [dispatch, confirmCustomerChange]);\n\n const edit = useCallback((values) => {\n dispatch({type: actions.EDIT, values});\n }, [dispatch, confirmCustomerChange]);\n\n const pickNewHomeUser = useCallback(() => {\n dispatch({type: state.viewType === views.EDIT ? actions.CUSTOMER_IS_HOME_USER : actions.PICK_NEW_HOME_USER});\n }, [dispatch, state.viewType]);\n\n const pickNewCompany = useCallback(() => {\n dispatch({type: state.viewType === views.EDIT ? actions.CUSTOMER_IS_COMPANY : actions.PICK_NEW_COMPANY});\n }, [dispatch, state.viewType]);\n\n const pickNewExisting = useCallback((params) => dispatch({type: actions.PICK_NEW_EXISTING, params}), [dispatch]);\n const existingChoosed = useCallback((values) => dispatch({type: actions.EXISTING_CHOOSED, values}), [dispatch]);\n\n useEffect(() => {\n if (state.viewType === views.PREPARING) {\n dispatch({\n type: actions.DOCUMENT_INITIALIZED,\n initialValues: channelValues,\n values: prepareValues(channelValues),\n prefilledValue: itemLicenseIdCodes || null,\n viewType: isEmptyChannel(channelValues) ? views.PICK : views.EDIT});\n\n if (itemLicenseIdCodes) {\n pickNewExisting({pattern: itemLicenseIdCodes});\n }\n }\n }, [channelValues, itemLicenseIdCodes, state.viewType, pickNewExisting]);\n\n useEffect(() => {\n if (itemLicenseIdCodes && state.viewType === views.PICK && isEmptyChannel(channelValues)) {\n pickNewExisting({pattern: itemLicenseIdCodes});\n }\n }, [itemLicenseIdCodes, pickNewExisting, state.viewType, channelValues]);\n\n const isCustomerFilled = useMemo(() => !isEmptyChannel(channelValues), [channelValues]);\n\n const refOnViewChange = useRefOn(onViewChange);\n\n useEffect(() => {\n if (refOnViewChange.current) {\n refOnViewChange.current(state.viewType, isOnOneOfCustomerEditView(state.viewType));\n }\n }, [refOnViewChange, state.viewType]);\n\n\n return {\n edit,\n cancelEdit,\n confirmEdit,\n pickNewHomeUser,\n pickNewCompany,\n pickNewExisting,\n existingChoosed,\n viewType: state.viewType,\n customerType: state.customerType,\n values: state.values,\n params: state.params,\n prefilledValue: state.prefilledValue,\n isEditingCustomer: useMemo(\n () => isOnOneOfCustomerEditView(state.viewType) || !isCustomerFilled,\n [state.viewType, isCustomerFilled]\n ),\n isCustomerFilled,\n customer: channelValues\n }\n};\n\nexport default useCustomerEdit;","import React from \"react\";\nimport PropTypes from 'prop-types';\nimport {Form, FormField} from \"@mouseover/react-form\";\n\nconst CustomerSearchForm = ({onSubmit, children, values}) => {\n return (\n <>\n
\n
\n Existující}\n renderAppend={() => (\n \n )}\n />\n
\n
\n {children}\n \n )}/>;\n};\n\nCustomerSearchForm.propTypes = {\n onSubmit:PropTypes.func,\n children: PropTypes.oneOfType([PropTypes.array, PropTypes.object, PropTypes.func]),\n values: PropTypes.object\n};\n\nexport default CustomerSearchForm;","import React from 'react';\nimport PropTypes from 'prop-types';\nimport handleClick from \"@fik/utils/handleClick\";\nimport {views} from \"./../useCustomerEdit\";\nimport CustomerSearchForm from \"./CustomerSearchForm\";\n\nconst CustomerType = ({customerType, pickNewHomeUser, pickNewCompany, pickNewExisting, visibleViews, pattern}) => {\n\n return (\n
\n
\n
\n {visibleViews.indexOf(views.HOME) !== -1 ?\n \n Domácnost\n : null}\n {visibleViews.indexOf(views.COMPANY) !== -1 ?\n \n Firma\n : null}\n
\n
\n\n {visibleViews.indexOf(views.EXISTING) !== -1 ?
\n \n
: null}\n
\n )\n};\n\nCustomerType.propTypes = {\n pickNewHomeUser: PropTypes.func,\n pickNewCompany: PropTypes.func,\n pickNewExisting: PropTypes.func,\n visibleViews: PropTypes.array,\n customerType: PropTypes.string\n};\n\nexport default CustomerType;","import React, {useEffect} from \"react\";\nimport PropTypes from 'prop-types';\nimport {ChannelPicker} from \"@fik/components\";\nimport CustomerForm from \"./CustomerForm\";\nimport useCustomerEdit, {views} from \"./../useCustomerEdit\";\nimport CustomerType from \"./CustomerType\";\nimport {isEmpty} from \"@mouseover/js-utils\";\nimport {useCustomerContext} from \"../index\";\n\nconst validateParams = (params) => {\n return params.pattern && !isEmpty(params.pattern);\n};\n\nconst pickerContext = {name: 'customer', params: {action: 'search'}, validate: validateParams};\n\nconst CustomerEdit = ({visibleViews}) => {\n\n const {\n viewType,\n values,\n customerType,\n pickNewCompany,\n pickNewExisting,\n pickNewHomeUser,\n confirmEdit,\n cancelEdit,\n params,\n existingChoosed,\n prefilledValue\n } = useCustomerContext();\n\n return <>\n \n\n {viewType === views.EXISTING || viewType === views.PREPARING ? : null}\n {viewType === views.EDIT\n ? : null}\n ;\n};\n\nCustomerEdit.propTypes = {\n visibleViews: PropTypes.array,\n channelValues: PropTypes.object,\n confirmCustomerChange: PropTypes.func,\n cancelCustomerEdit: PropTypes.func\n};\n\nexport default CustomerEdit;","import React from \"react\";\nimport {useCustomerEdit, CustomerContext} from \"../index\";\n\nconst CustomerProvider = ({children, ...props}) => {children};\n\nexport default CustomerProvider;","import React from \"react\";\n\nconst CustomerContext = React.createContext(null);\n\nexport default CustomerContext;","import {useContext} from \"react\";\nimport CustomerContext from \"./CustomerContext\";\n\nconst useCustomerContext = () => useContext(CustomerContext);\n\nexport default useCustomerContext;","import {useCallback, useEffect, useMemo, useReducer} from \"react\";\nimport useRefOn from \"@fik/utils/useRefOn\";\n\nexport const PARTNER_VIEWS = {\n VIEW: 'partner.view',\n PICK: 'partner.pick',\n EDIT: 'partner.edit'\n};\n\nconst ACTION = {\n CANCEL: 'CANCEL',\n PICK: 'PICK',\n EDIT: 'EDIT',\n SET_PARTNER: 'SET_PARTNER'\n};\n\nconst INITIAL_STATE = {\n view: PARTNER_VIEWS.PICK,\n partner: null,\n isPartnerFilled: false\n};\n\nconst reducer = (state, action) => {\n switch (action.type) {\n case ACTION.PICK:\n return {...state, view: PARTNER_VIEWS.PICK};\n case ACTION.CANCEL:\n return {...state, view: PARTNER_VIEWS.VIEW};\n case ACTION.EDIT:\n return {...state, view: PARTNER_VIEWS.EDIT};\n case ACTION.SET_PARTNER:\n const isPartnerFilled = action.partner && action.partner.addressBook && action.partner.addressBook.name;\n return {\n ...state,\n view: isPartnerFilled ? PARTNER_VIEWS.VIEW : PARTNER_VIEWS.PICK,\n partner: action.partner,\n isPartnerFilled\n };\n }\n return state;\n}\n\nconst usePartner = ({onPartnerChange, onViewChange, channel}) => {\n const [state, dispatch] = useReducer(reducer, INITIAL_STATE);\n\n useEffect(() => {\n dispatch({type: ACTION.SET_PARTNER, partner: channel});\n }, [channel]);\n\n\n const cancel = useCallback(() => {\n dispatch({type: ACTION.CANCEL});\n }, []);\n\n const pick = useCallback(() => {\n dispatch({type: ACTION.PICK});\n }, []);\n\n const edit = useCallback(() => {\n dispatch({type: ACTION.EDIT});\n }, []);\n\n const confirmChange = useCallback((values) => {\n if (onPartnerChange) {\n onPartnerChange(values);\n }\n }, [onPartnerChange]);\n\n const refOnViewChange = useRefOn(onViewChange);\n\n useEffect(() => {\n if (refOnViewChange.current) {\n refOnViewChange.current(state.view, state.view !== PARTNER_VIEWS.VIEW);\n }\n }, [refOnViewChange, state.view]);\n\n return useMemo(() => ({\n ...state,\n confirmChange,\n cancel,\n pick,\n edit\n }), [onPartnerChange, cancel, pick, edit, state]);\n}\n\nexport default usePartner;","import {useCallback, useState} from \"react\";\nimport documentViews from \"./documentViews\";\nimport {CUSTOMER_VIEWS} from \"@fik/customer-edit\";\nimport {PARTNER_VIEWS} from \"./partner/usePartner\";\nimport isEmptyChannel from \"@fik/utils/isEmptyChannel\";\n\nconst useDocumentEditView = ({document, defaultView}) => {\n const [view, setView] = useState(defaultView);\n\n const handleCustomerViewChange = useCallback((customerView, isEdit) => {\n let newView = view;\n if (isEdit && view === documentViews.VIEW) {\n newView = isEmptyChannel(document.owner) && customerView === CUSTOMER_VIEWS.PICK ? documentViews.VIEW : documentViews.EDIT_CUSTOMER;\n } else if (!isEdit && view === documentViews.EDIT_CUSTOMER) {\n newView = documentViews.VIEW;\n }\n\n if (view !== newView) {\n setView(newView);\n }\n }, [setView, view, document]);\n\n const handlePartnerViewChange = useCallback((partnerView, isEdit) => {\n let newView = view;\n if (isEdit && view === documentViews.VIEW) {\n newView = isEmptyChannel(document.partner) && partnerView === PARTNER_VIEWS.PICK ? documentViews.VIEW : documentViews.EDIT_PARTNER;\n } else if (!isEdit && view === documentViews.EDIT_PARTNER) {\n newView = documentViews.VIEW;\n }\n\n if (view !== newView) {\n setView(newView);\n }\n }, [setView, view, document]);\n\n return {\n currentView: view,\n setView,\n enableAttachment: view === documentViews.VIEW,\n enableBranchOffice: view === documentViews.VIEW,\n enableEvidenceItem: view === documentViews.VIEW || view === documentViews.EDIT_EVIDENCE_ITEMS,\n enableCustomer: view === documentViews.VIEW || view === documentViews.EDIT_CUSTOMER,\n enablePartner: view === documentViews.VIEW || view === documentViews.EDIT_PARTNER || view === documentViews.EDIT_CUSTOMER,\n enableButtons: view === documentViews.VIEW,\n handleCustomerViewChange,\n handlePartnerViewChange\n };\n}\n\nexport default useDocumentEditView;","import {useEffect} from \"react\";\nimport documentViews from \"./documentViews\";\n\n/**\n *\n * @param {object} document Document instance\n * @param {boolean} existing True if document already exists\n * @param {object} documentModel\n * @param {object} evidenceItem Initial evidence item\n */\nconst useDocumentEditInit = ({document, existing, documentModel, evidenceItem}) => useEffect(() => {\n if (document) {\n documentModel.setDocument(document, existing);\n\n if (!existing) {\n documentModel.view.setView(documentViews.EDIT_CUSTOMER);\n }\n\n if (evidenceItem) {\n documentModel.evidenceItemEdit.startEditNewEvidenceItem(evidenceItem);\n }\n }\n}, [\n document,\n documentModel.evidenceItemEdit,\n documentModel.setDocument,\n documentModel.view.setView,\n existing,\n evidenceItem\n]);\n\nexport default useDocumentEditInit;","import {useMemo} from \"react\";\nimport useDocument from \"./useDocument\";\nimport useDocumentValidator from \"./useDocumentValidator\";\nimport useDocumentSave from \"./useDocumentSave\";\nimport useDocumentEditEvidenceItems from \"./useDocumentEditEvidenceItems\";\nimport documentViews from \"./documentViews\";\nimport useDocumentEditView from \"./useDocumentEditView\";\nimport useDocumentEditInit from \"./useDocumentInit\";\n\nconst useDocumentEdit = ({validate, documentType, document, evidenceItem, existing, isEpc, defaultView = documentViews.VIEW}) => {\n const modelProps = useMemo(() => ({\n validate: validate !== undefined ? validate : true,\n isEpc\n }), [validate, isEpc]);\n\n const documentModel = useDocument(modelProps);\n const {setDocument} = documentModel;\n\n documentModel.documentType = documentType;\n documentModel.validation = useDocumentValidator(documentModel);\n documentModel.saving = useDocumentSave();\n documentModel.view = useDocumentEditView({document: documentModel.document, defaultView});\n\n useDocumentEditInit({document, existing, documentModel, evidenceItem});\n\n documentModel.evidenceItemEdit = useDocumentEditEvidenceItems({\n setView: documentModel.view.setView,\n isCompany: !!(document && document.owner && document.owner.addressBook && document.owner.addressBook.companyId),\n documentModel\n });\n\n return documentModel;\n};\n\nexport default useDocumentEdit;","import PropTypes from 'prop-types';\nimport React from \"react\";\nimport {DocumentContext} from \"./../DocumentContext\";\nimport useDocumentEdit from \"./../useDocumentEdit\";\n\nexport const DocumentProvider = (props) => {\n const documentModel = useDocumentEdit(props);\n return \n};\n\nDocumentProvider.propTypes = {\n document: PropTypes.object,\n existing: PropTypes.bool,\n validate: PropTypes.bool,\n};\n","import React, {useMemo} from 'react';\nimport PropTypes from \"prop-types\";\nimport {NavigationItem} from \"@fik/navigation\";\n\nconst DocumentSaved = ({documentType, document}) => {\n switch (documentType) {\n case 'order':\n case 'nfr-order':\n return
\n Váš požadavek byl úspěšně odeslán ke zpracování. Během několika minut naleznete\n příslušné licence v sekci Licence.\n
;\n\n case 'offer':\n return
\n Váš požadavek byl úspěšně odeslán ke zpracování. Nabídku naleznete v sekci Cenové nabídky.\n
\n
\n Nabídka s aplikovanou slevou podléhá ručnímu schválení, aktuální stav najdete v sekci Cenové nabídky.\n
;\n\n case 'offers':\n return
\n Váš požadavek byl úspěšně odeslán ke zpracování. Nabídky naleznete v sekci Cenové nabídky.\n
\n
\n Nabídka s aplikovanou slevou podléhá ručnímu schválení, aktuální stav najdete v sekci Cenové nabídky.\n
;\n\n case 'projectPrice':\n return ;\n\n\n case 'deal':\n return
\n Váš požadavek byl úspěšně odeslán ke zpracování. Svou žádost a její stav naleznete v sekci Obchodní případy.\n
;\n\n default:\n return
\n Váš požadavek byl úspěšně odeslán ke zpracování.\n
;\n }\n};\n\nDocumentSaved.propTypes = {\n documentType: PropTypes.string,\n document: PropTypes.object\n};\n\nexport default DocumentSaved;\n\nconst ProjectPriceSaved = ({document}) => {\n\n const hasNewItem = useMemo(() => {\n return document && document.evidenceItems && document.evidenceItems.find((item) => item.itemProductTypeId === 1) !== undefined;\n }, [document]);\n\n if (hasNewItem) {\n return
\n Váš požadavek byl úspěšně odeslán ke zpracování.\n Pokud jste ještě nezažádali o registraci obchodního případu, učiňte tak prosím nyní ZDE.\n \n
;\n } else {\n return
\n Váš požadavek byl úspěšně odeslán ke zpracování.\n Pokud jste ještě nezažádali o registraci obchodního případu, učiňte tak prosím nyní ZDE.\n \n
;\n }\n}\n\nconst ProjectPriceInfo = () => <>\n
\n
\n Přidělení projektové ceny probíhá do 10ti dnů společně s vyhodnocením registrace obchodního případu. Stav Vaší žádosti je možné ověřit v sekci Projektové ceny.\n ;","import React, {useCallback} from 'react';\nimport {Form} from \"@mouseover/react-form\";\nimport {useDocumentContext} from \"../useDocumentContext\";\n\nconst DocumentAdditionalInfo = () => {\n const {\n document,\n changeValues,\n } = useDocumentContext();\n\n const handleValuesChanges = useCallback((values, valid) => {\n if (valid) {\n changeValues(values);\n }\n }, [changeValues]);\n\n return document && document.note !== undefined\n ? \n : null;\n};\n\n\nexport default DocumentAdditionalInfo;","import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {Box} from \"@fik/ui\";\nimport handleClick from \"@fik/utils/handleClick\";\nimport {Errors} from \"@fik/ui\";\nimport {CustomerEdit, DEFAULT_VIEWS, useCustomerContext} from \"@fik/customer-edit\";\nimport {Channel} from \"@fik/document\";\n\nconst DocumentCustomer = ({visibleViews, messages}) => {\n\n const {isCustomerFilled, isEditingCustomer, customer, edit, cancelEdit} = useCustomerContext();\n\n return (!isEditingCustomer ?\n <>\n \n \n : (isCustomerFilled\n ? \n : null)\n )}>\n\n {isEditingCustomer\n ? : <>\n \n \n }\n ;\n};\n\nDocumentCustomer.propTypes = {\n visibleViews: PropTypes.array\n};\n\nexport default DocumentCustomer;","import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {Box} from \"@fik/ui\";\nimport handleClick from \"@fik/utils/handleClick\";\nimport {Errors} from \"@fik/ui\";\nimport {useDocumentContext} from \"../useDocumentContext\";\nimport {CustomerEdit, CustomerProvider, DEFAULT_VIEWS} from \"@fik/customer-edit\";\nimport {DisabledOverlay} from \"@fik/ui\";\nimport {Channel} from \"@fik/document\";\nimport DocumentCustomer from \"./DocumentCustomer\";\n\nconst DocumentCustomerContainer = ({visibleViews}) => {\n\n const memoVisibleViews = useMemo(() => visibleViews || DEFAULT_VIEWS, [visibleViews]);\n\n const {\n view: {enableCustomer, handleCustomerViewChange},\n document,\n potentialOwner,\n isCustomerFilled,\n confirmCustomerChange,\n validation: {validationMessages}\n } = useDocumentContext();\n\n if (!document) {\n return null;\n }\n\n return \n \n message.path.indexOf('owner') === 0)}\n />\n \n ;\n\n};\n\nDocumentCustomerContainer.propTypes = {\n visibleViews: PropTypes.array\n};\n\nexport default DocumentCustomerContainer;","import React from 'react';\nimport handleClick from \"@fik/utils/handleClick\";\nimport {Errors} from \"@fik/ui\";\nimport {EvidenceItems} from \"@fik/evidence-item\";\nimport {Box} from \"@fik/ui\";\nimport {useDocumentContext} from \"../useDocumentContext\";\n\nconst DocumentEvidenceItems = () => {\n\n const {\n document,\n validation: {validationMessages},\n evidenceItemEdit,\n removeExitingEvidenceItem,\n } = useDocumentContext();\n\n const {\n startEditNewEvidenceItem,\n startEditNewRenewEvidenceItem,\n startEditExistingEvidenceItem,\n } = evidenceItemEdit;\n\n\n\n const evidenceItemsMessages = validationMessages.filter(message => message.path.indexOf('evidenceItems') === 0);\n\n return <>\n \n \n \n }>\n message.path.indexOf('evidenceItems') !== 0)}/>\n (\n <>\n \n \n \n )}\n renderRowMessages={({columns, index}) => {\n const messages = evidenceItemsMessages.filter(message => message.path.indexOf(index) === 1);\n if (messages.length > 0) {\n return
\n \n \n }\n return null;\n }}\n /> \n};\n\nexport default DocumentEvidenceItems;","import React from 'react';\nimport {FormField} from \"@mouseover/react-form\";\nimport PropTypes from \"prop-types\";\n\nconst Discount = ({discounts = [], form}) => {\n return (
\n
\n ({\n value: item.productDiscountId,\n label: item.productDiscountName\n }))]}\n valueType=\"integer\"\n />\n
\n
\n \n
\n
);\n};\n\nDiscount.propTypes = {\n discounts: PropTypes.array,\n form: PropTypes.object\n};\n\nexport default Discount;","import React from 'react';\nimport {Price} from \"@fik/ui\";\nimport PropTypes from \"prop-types\";\nimport {Date} from \"@fik/ui\";\n\nconst Preview = ({evidenceItem}) => {\n\n if (!evidenceItem) {\n return null;\n }\n\n return (\n
    \n
  • \n {evidenceItem.itemName}
    {evidenceItem.itemAmount || '--'}x
    \n {evidenceItem.itemLicenseIdCodes ? (
    {evidenceItem.itemLicenseIdCodes}
    ) : null}\n {evidenceItem.itemRansomExpirationDate ? (
    ESET výkupné do:
    ) : null}\n {evidenceItem.itemExpirationDate ? (
    Datum expirace:
    ) : null}\n {evidenceItem.itemExtraDays ? (
    Dny navíc: {evidenceItem.itemExtraDays}
    ) : null}\n
  • \n {evidenceItem.itemDiscountId\n ?
  • \n Sleva\n
    {evidenceItem.itemDiscount}%
    \n
  • : null}\n {evidenceItem.owner\n ?
  • \n Doporučená EUP bez DPH\n
    \n
  • : null}\n {evidenceItem.partner ?\n
  • \n Cena partner bez DPH\n
    \n
  • : null}\n {evidenceItem.epc ?\n
  • \n Cena EPC bez DPH\n
    \n
  • : null}\n
\n
);\n};\n\nPreview.propTypes = {\n evidenceItem: PropTypes.object\n};\n\n\nexport default Preview;","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {FormField} from \"@mouseover/react-form\";\n\n\nconst Promo = ({promos = [], form}) => {\n return (
\n
\n ({\n value: item.promoId,\n label: item.promoName\n }))]}\n valueType=\"integer\"\n />\n
\n
\n \n
\n
);\n};\n\nPromo.propTypes = {\n promos: PropTypes.array,\n form: PropTypes.object\n};\n\nexport default Promo;","import React from 'react';\nimport {FormField} from \"@mouseover/react-form\";\nimport PropTypes from \"prop-types\";\n\nconst Selector = ({types = [], products = [], periods = [], selectType, minimum, maximum, form}) => {\n\n return (\n
\n {selectType === 'renew' ?\n
\n \n
: null}\n
\n ({value: item.id, label: item.name}))]}\n valueType=\"integer\"\n />\n
\n
\n ({value: item.id, label: item.name}))]}\n valueType=\"integer\"\n />\n
\n
\n ({\n value: item.id,\n label: item.name\n }))]}\n valueType=\"integer\"\n />\n
\n
\n \n
\n
\n );\n};\n\nSelector.propTypes = {\n types: PropTypes.array,\n products: PropTypes.array,\n periods: PropTypes.array,\n selectType: PropTypes.string,\n form: PropTypes.object\n};\n\nexport default Selector;","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {DatePicker} from \"@fik/form\";\n\n\nconst Ransom = ({ransom = [], form}) => {\n return (ransom === true ?
\n
\n \n
\n
: null);\n};\n\nRansom.propTypes = {\n ransom: PropTypes.bool,\n form: PropTypes.object\n};\n\nexport default Ransom;","import React from \"react\";\nimport {FormField} from \"@mouseover/react-form\";\n\nconst DiscountCompetitors = ({competitors = [], form}) => {\n return (
\n
Informace o současném řešení
\n
\n \n
\n
\n ({\n value: item,\n label: item\n }))]}\n valueType=\"text\"\n />\n
\n
\n \n
\n
);\n};\n\nexport default DiscountCompetitors;","import {useEffect, useState} from \"react\";\n\nconst useCompetitors = ({evidenceItem, discounts}) => {\n const [competitors, setCompetitors] = useState();\n\n useEffect(() => {\n let current = null;\n if (evidenceItem && evidenceItem.itemDiscountId) {\n const discount = discounts.find(element => element.productDiscountId === evidenceItem.itemDiscountId);\n if (discount && discount.competitors) {\n current = discount.competitors;\n }\n }\n setCompetitors((prevState) => prevState !== current ? current : prevState);\n }, [evidenceItem, discounts, setCompetitors]);\n\n return competitors;\n}\n\nexport default useCompetitors;","import React, {useCallback} from 'react';\nimport {useEvidenceItemCalculator, Selector, Discount, Promo, Preview, Ransom} from \"./../index\";\nimport {Errors} from \"@fik/ui\";\nimport PropTypes from 'prop-types';\nimport handleClick from \"@fik/utils/handleClick\";\nimport DiscountCompetitors from \"./DiscountCompetitors\";\nimport useCompetitors from \"../useCompetitors\";\nconst Calculator = ({confirm, cancel, calculationData, onEvidenceItemChange}) => {\n\n const {\n types,\n products,\n periods,\n possibleDiscounts,\n possiblePromos,\n evidenceItem,\n form,\n loading,\n selectType,\n minimum,\n maximum,\n itemMessages,\n ransom\n } = useEvidenceItemCalculator({...calculationData, onEvidenceItemChange});\n\n const handleConfirm = useCallback(() => {\n confirm(evidenceItem);\n }, [confirm, evidenceItem]);\n\n const competitors = useCompetitors({evidenceItem,discounts:possibleDiscounts});\n\n return (\n
\n \n
\n
\n \n
\n
\n \n\n {competitors && }\n\n \n\n \n\n
\n
\n {loading ? (
Loading...
) :\n ()}\n
\n
\n {confirm || cancel ?\n
\n
\n
\n
\n {cancel ? : null}\n {confirm ? : null}\n
\n
\n
\n
: null}\n \n )\n};\n\n\nCalculator.propTypes = {\n initialSelection: PropTypes.object,\n onEvidenceItemChange: PropTypes.func,\n onLoading: PropTypes.func,\n confirm: PropTypes.func,\n cancel: PropTypes.func\n};\n\nexport default Calculator;","import {useEffect, useCallback, useMemo, useState} from 'react';\nimport {createActionNames} from \"@fik/api\";\nimport shallowEqual from \"react-redux/es/utils/shallowEqual\";\nimport {createRequestState} from \"@fik/api\";\nimport wrapAsyncCallForDispatch from \"@fik/utils/wrapAsyncCallForDispatch\";\nimport {useModel} from \"@fik/model\";\nimport {useReducerWithThunk} from \"@fik/utils/useReducerWithThunk\";\nimport {useHookToLoading} from \"@fik/loading\";\nimport {getOnPath} from \"@mouseover/js-utils/src\";\n\nconst initialState = {\n selector: {\n isFetching: false,\n isSuccess: false,\n isFailed: false,\n selectType: 'new',\n results: {\n selection: {\n isCompany: false,\n selectType: 'new',\n itemProductTypeId: null,\n itemProductFamilyId: null,\n itemProductPeriodId: null,\n itemAmount: null,\n itemBonusCode: null,\n itemDiscount: null,\n itemDiscountId: null,\n itemDiscountCompetitor: null,\n itemDiscountCompetitorName: null,\n itemDiscountCompetitorPrice: null,\n itemMessages: [],\n },\n types: [],\n products: [],\n periods: [],\n possibleDiscounts: [],\n possiblePromos: [],\n itemPromoId: null\n }\n },\n promoAutoSelected: false,\n recalculate: {\n isFetching: false,\n isSuccess: false,\n isFailed: false,\n results: {}\n }\n};\n\n\nconst selectActions = createActionNames('select');\nconst recalculateActions = createActionNames('recalculate');\nconst RESET_EVIDENCE_ITEM = 'reset_evidence_item';\n\nconst createReducer = (initialState) => (state = initialState, action) => {\n switch (action.type) {\n case selectActions.FETCH_INIT:\n return {\n ...state,\n selector: {\n ...state.selector,\n selectType: action.params.selectType,\n results: {...state.selector.results, selection: {...state.selector.results.selection, ...action.params}},\n ...createRequestState(selectActions, action.type),\n }\n };\n\n case selectActions.FETCH_SUCCESS:\n const currentSelection = {...state.selector.results.selection, ...action.payload.selection};\n let promoAutoSelected = state.promoAutoSelected;\n if (!promoAutoSelected && action.payload.itemPromoId) {\n currentSelection.itemPromoId = action.payload.itemPromoId;\n promoAutoSelected = true;\n }\n return {\n ...state,\n promoAutoSelected,\n selector: {\n ...state.selector,\n results: {...action.payload, selection: currentSelection},\n ...createRequestState(selectActions, action.type),\n }\n };\n\n case selectActions.FETCH_FAILURE:\n return {\n ...state,\n selector: {\n ...state.selector,\n ...createRequestState(selectActions, action.type)\n }\n };\n\n case recalculateActions.FETCH_INIT:\n return {\n ...state,\n recalculate: {\n ...state.recalculate,\n selection: action.params,\n ...createRequestState(recalculateActions, action.type),\n }\n };\n\n case recalculateActions.FETCH_SUCCESS:\n return {\n ...state,\n recalculate: {\n ...state.recalculate,\n selection: action.params,\n results: action.payload,\n ...createRequestState(recalculateActions, action.type),\n }\n };\n\n case recalculateActions.FETCH_FAILURE:\n return {\n ...state,\n recalculate: {\n ...state.recalculate,\n selection: action.params,\n ...createRequestState(recalculateActions, action.type),\n },\n };\n\n case RESET_EVIDENCE_ITEM:\n return {\n ...state,\n promoAutoSelected: false,\n recalculate: {\n ...state.recalculate,\n evidenceItem: null\n }\n };\n default:\n return state;\n }\n};\n\nconst useCalculator = (initialSelection, channels) => {\n\n const [state, dispatch] = useReducerWithThunk(createReducer(initialState), initialState);\n const [select, recalculate] = useModel((model) => {\n const evidenceItemsModel = model.evidenceItems();\n return [\n wrapAsyncCallForDispatch(evidenceItemsModel.select)(selectActions),\n wrapAsyncCallForDispatch(evidenceItemsModel.recalculate)(recalculateActions)\n ]\n }, []);\n\n //- initial select - fetch from api to get\n useEffect(() => {\n dispatch(select(initialSelection || {}));\n }, [select, initialSelection, dispatch]);\n\n const {selection, possibleDiscounts, finalProduct} = state.selector.results;\n\n const changeSelectionCallback = useCallback((params) => {\n if (!shallowEqual(params, selection)) {\n dispatch(select(params));\n }\n }, [select, selection, dispatch]);\n\n useEffect(() => {\n if (!shallowEqual(selection, getOnPath(state.recalculate.selection, ['item']))) {\n if (finalProduct) {\n dispatch(recalculate({item: selection, channels}));\n } else {\n dispatch({type: RESET_EVIDENCE_ITEM});\n }\n }\n }, [recalculate, selection, finalProduct, dispatch, state.recalculate.selection, channels]);\n\n const changeValueCallback = useCallback((name, value) => {\n\n if (value === selection[name]) {\n return;\n }\n\n switch (name) {\n case 'itemProductTypeId':\n changeSelectionCallback({\n ...selection,\n itemProductTypeId: value\n });\n break;\n\n case 'itemProductFamilyId':\n changeSelectionCallback({\n ...selection,\n itemProductFamilyId: value // set current value\n });\n break;\n\n case 'itemProductPeriodId':\n changeSelectionCallback({\n ...selection,\n itemProductPeriodId: value,\n });\n break;\n\n case 'itemAmount':\n changeSelectionCallback({\n ...selection,\n itemAmount: value\n });\n break;\n\n case 'itemDiscountId':\n if (value !== selection.itemDiscountId) {\n const discount = possibleDiscounts ? possibleDiscounts.find((item) => item.productDiscountId === value) : null;\n changeSelectionCallback({...selection, [name]: value, itemDiscount: discount ? discount.productDiscountValue : null});\n } else {\n changeSelectionCallback({...selection, [name]: value, itemDiscount: null});\n }\n break;\n\n default:\n changeSelectionCallback({...selection, [name]: value});\n break;\n }\n\n }, [changeSelectionCallback, selection, possibleDiscounts]);\n\n useHookToLoading('evidence-item-selector', state.selector);\n useHookToLoading('evidence-item-recalculate', state.recalculate);\n\n return {\n ...state.selector.results,\n selectType: state.selector.selectType,\n evidenceItem: state.recalculate.results,\n loading: state.selector.isFetching || state.recalculate.isFetching,\n changeSelection: changeSelectionCallback,\n changeValue: changeValueCallback\n };\n};\n\nexport default useCalculator;\n","import useCalculator from \"./useCalculator\";\nimport {useForm} from \"@mouseover/react-form\";\nimport {useEffect, useMemo} from \"react\";\n\nconst useEvidenceItemCalculator = ({initialSelection, onEvidenceItemChange, channels}) => {\n\n const {\n selection,\n selectPartner,\n evidenceItem,\n changeValue,\n loading,\n ...props\n } = useCalculator(initialSelection, channels);\n\n const form = useForm({\n values: selection,\n onValueChange: changeValue,\n validationRules: useMemo(() => ({\n itemAmount: {min: 1},\n itemDiscount: {\n min: 1,\n max: 100\n }\n }), [])\n }\n );\n\n useEffect(() => {\n if (typeof onEvidenceItemChange === 'function') {\n onEvidenceItemChange(evidenceItem && evidenceItem.itemName ? evidenceItem : null);\n }\n }, [evidenceItem, onEvidenceItemChange]);\n\n return {\n ...props,\n selectPartner,\n form,\n evidenceItem: evidenceItem && evidenceItem.itemName ? evidenceItem : null,\n itemMessages: evidenceItem && evidenceItem.itemMessages ? evidenceItem.itemMessages : null,\n loading\n };\n};\n\nexport default useEvidenceItemCalculator;","function FakeStorage () {\n this.clear();\n}\n\nFakeStorage.prototype = {\n key: function(index) {\n // sanitise index as int\n index = parseInt(index);\n // return early if index isn't a positive number or larger than length\n if (isNaN(index) || index < 0 || index >= this.length) {\n return null;\n }\n // loop through data object until at nth key\n var i = 0;\n for (var key in this._data) {\n if (this._data.hasOwnProperty(key)) {\n if (i === index) {\n return key;\n }\n i++;\n }\n }\n // otherwise return null\n return null;\n },\n\n getItem: function(key) {\n // only get if there's something to get\n return this._data.hasOwnProperty(key) ? this._data[key] : null;\n },\n\n setItem: function(key, value) {\n // if we're adding a new item, incriment the length\n if (!this._data.hasOwnProperty(key)) {\n this.length++;\n }\n // always store the value as a string\n this._data[key] = value.toString();\n },\n\n removeItem: function(key) {\n // only remove if there's something to remove\n if (this._data.hasOwnProperty(key)) {\n delete this._data[key];\n this.length--;\n }\n },\n\n clear: function() {\n this._data = {};\n this.length = 0;\n }\n};\n\nexport default FakeStorage;","// Hook\nimport {useCallback, useEffect, useRef, useState} from \"react\";\n\nfunction useStorage(storage, key, defaultValue) {\n\n // defaultValue is never used directly, only as ref (change of it will not trigger refresh of effect below)\n const defaultValueRef = useRef(defaultValue);\n\n const [currentValue, setCurrentValue] = useState(defaultValueRef.current);\n\n // triggers when key change\n useEffect(() => {\n const item = storage.getItem(key);\n setCurrentValue((prevValue) => item ? JSON.parse(item) : defaultValueRef.current);\n }, [key, storage, defaultValueRef]);\n\n const setValue = useCallback(value => {\n try {\n // mimic useState api\n setCurrentValue((prevValue) => {\n // determine new value\n const newValue = value instanceof Function ? value(prevValue) : value;\n\n // store in storage\n storage.setItem(key, JSON.stringify(newValue));\n\n return newValue;\n })\n } catch (error) {\n // A more advanced implementation would handle the error case\n console.log(error);\n }\n }, [setCurrentValue, storage]);\n\n return [currentValue, setValue];\n}\n\nexport default useStorage;","import useStorage from \"./useStorage\";\n\nfunction useLocalStorage(key, defaultValue) {\n return useStorage(window.localStorage, key, defaultValue);\n}\n\nexport default useLocalStorage;","import useStorage from \"./useStorage\";\n\nfunction useLocalStorage(key, defaultValue) {\n return useStorage(window.sessionStorage, key, defaultValue);\n}\n\nexport default useLocalStorage;","import useStorage from \"./useStorage\";\nimport {useContext} from \"react\";\nimport {AppStorageContext} from \"./index\";\n\nfunction useAppStorage(key, defaultValue) {\n const storage = useContext(AppStorageContext);\n return useStorage(storage, key, defaultValue);\n}\n\nexport default useAppStorage;","import React from \"react\";\n\nconst AppStorageContext = React.createContext(null);\n\nexport default AppStorageContext;","import React from 'react';\nimport AppStorageContext from \"../AppStorageContext\";\n\nconst AppStorageProvider = ({storage, ...props}) => {\n return ;\n};\n\nexport default AppStorageProvider;","import React from \"react\";\n\nconst IdentityContext = React.createContext(null);\n\nexport default IdentityContext;","import {useContext} from \"react\";\nimport IdentityContext from \"./IdentityContext\";\n\nconst useIdentity = () => useContext(IdentityContext);\n\nexport default useIdentity;","import {useAppStorage} from \"@fik/storage\";\nimport {useCallback, useMemo} from \"react\";\nimport useIdentity from \"@fik/auth/useIdentity\";\n\nconst useEvidenceItemsStorage = () => {\n const identity = useIdentity();\n const key = useMemo(() => identity ? identity.contactId : null, [identity]);\n const [evidenceItems, setEvidenceItems] = useAppStorage('calculator/' + key, []);\n\n const clearEvidenceItems = useCallback(() => {\n setEvidenceItems([]);\n }, [setEvidenceItems])\n\n const addEvidenceItem = useCallback((item) => {\n if (item) {\n setEvidenceItems(items => [item, ...items]);\n }\n }, [setEvidenceItems]);\n\n const removeEvidenceItem = useCallback((item) => {\n if (item) {\n setEvidenceItems(items => {\n const index = items.indexOf(item);\n if (index > -1) {\n const newItems = [...items];\n newItems.splice(index, 1);\n return newItems;\n }\n return items;\n });\n }\n }, [setEvidenceItems]);\n\n return useMemo(() => (\n {\n evidenceItems,\n clearEvidenceItems,\n addEvidenceItem,\n removeEvidenceItem\n }\n ), [clearEvidenceItems, addEvidenceItem, removeEvidenceItem, evidenceItems]);\n}\n\nexport default useEvidenceItemsStorage;","import React, {useEffect, useMemo, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport {Calculator} from \"@fik/calculator\";\nimport {Box} from \"@fik/ui\";\nimport {LoadingProvider} from \"@fik/loading\";\n\nconst DocumentEvidenceItem = ({confirm, cancel, selection, document}) => {\n const [channels, setChannels] = useState(null);\n useEffect(()=> {\n if (document) {\n setChannels({\n owner: document.owner,\n partner: document.partner,\n epc: document.epc\n })\n } else {\n setChannels(null);\n }\n }, [document]);\n\n const calculationData = useMemo(() => {\n return {initialSelection: selection, channels};\n }, [selection, channels]);\n\n return \n {(isLoading) => \n \n }\n ;\n}\n\nDocumentEvidenceItem.propTypes = {\n confirm: PropTypes.func.isRequired,\n cancel: PropTypes.func.isRequired,\n selection: PropTypes.object.isRequired\n};\n\nexport default DocumentEvidenceItem;","import React, {useCallback} from \"react\";\nimport {useDropzone} from \"react-dropzone\";\nimport {useDocumentContext} from \"..//useDocumentContext\";\nimport {useLoadingContext} from \"@fik/loading\";\nimport handleClick from \"@fik/utils/handleClick\";\nimport {FileSize} from \"@fik/ui\";\n\nconst processFile = (file) => {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n\n reader.onabort = () => {\n reject();\n };\n\n reader.onerror = () => {\n reader.abort();\n reject();\n };\n\n reader.onload = (event) => {\n resolve({\n attachmentName: file.name,\n attachmentSize: file.size,\n attachmentContentType: file.type,\n attachmentContent: event.target.result\n });\n };\n\n reader.readAsDataURL(file);\n });\n};\n\nconst processFiles = (files) => Promise.all(files.map(file => processFile(file)));\n\nconst DocumentAttachments = () => {\n\n const {\n document: {attachments},\n addAttachments,\n removeAttachment\n } = useDocumentContext();\n\n const {changeLoadingState} = useLoadingContext();\n\n const onDrop = useCallback(acceptedFiles => {\n\n changeLoadingState('attachments', {isFetching: true, isSuccess: false, isFailed: false});\n processFiles(acceptedFiles)\n .then((attachments) => {\n changeLoadingState('attachments', {isFetching: false, isSuccess: true, isFailed: false});\n addAttachments(attachments);\n return attachments;\n }).catch(() => changeLoadingState('attachments', {isFetching: false, isSuccess: false, isFailed: true}));\n\n\n }, [addAttachments, changeLoadingState]);\n\n const {getRootProps, getInputProps, isDragActive} = useDropzone({\n onDrop,\n accept: 'image/jpeg, image/png, application/pdf',\n maxSize: 5242880\n });\n\n\n if (!document) {\n return null;\n }\n\n return (\n <>\n
\n
\n \n
\n {\n isDragActive ?\n

Přetáhněte sem soubory ...

:\n

Přetáhněte sem soubory, nebo klikněte pro výběr

\n }\n
\n
\n\n {attachments\n ? attachments.map((attachment, index) =>
\n
\n

{attachment.attachmentName}

\n
\n
\n

{attachment.attachmentSize}

\n
\n
\n \n
\n
)\n : null}\n
\n \n )\n};\n\nexport default DocumentAttachments;","import React, {useCallback, useEffect, useState} from 'react';\nimport {Form} from \"@mouseover/react-form\";\nimport {useDocumentContext} from \"../useDocumentContext\";\n\nconst DocumentCheckboxes = () => {\n const {\n document,\n changeValues,\n validation: {availableButtons}\n } = useDocumentContext();\n\n const [visibleElements, setVisibleElements] = useState({sendOrderToCustomer: false, generateVariants: false, dealConsent: false});\n\n useEffect(() => {\n setVisibleElements({\n sendOrderToCustomer: availableButtons.find(({documentType}) => documentType === 'order'),\n generateVariants: availableButtons.find(({documentType}) => documentType === 'offer' || documentType === 'projectPrice' || documentType === 'project-price' ),\n dealConsent: availableButtons.find(({documentType}) => documentType === 'projectPrice' || documentType === 'project-price' ),\n })\n }, [availableButtons]);\n\n const handleValuesChanges = useCallback((values, valid) => {\n if (valid) {\n changeValues(values);\n }\n }, [changeValues]);\n\n return document && document.note !== undefined\n ? ,\n visible: () => visibleElements.sendOrderToCustomer\n },\n generateVariants: {\n label: 'V případě nabídky vytvořit automaticky i na 1, 2, 3 roky',\n elementType: 'checkbox',\n groupClass: 'checkbox',\n renderInputElement: (props, elementProps) => ,\n visible: () => visibleElements.generateVariants\n },\n dealConsent: {\n label: 'Beru na vědomí, že pro zpracování projektové ceny a možnosti získání maximální možné provize dle partnerské kategorie, je nutné řádně vyplnit registraci obchodního případu.',\n elementType: 'checkbox',\n groupClass: 'checkbox',\n renderInputElement: (props, elementProps) => ,\n visible: () => visibleElements.dealConsent\n }\n }}/>\n : null;\n};\n\n\nexport default DocumentCheckboxes;","import React, {useCallback, useMemo} from \"react\";\nimport {Box} from \"@fik/ui\";\nimport {SelectInput} from \"@fik/form\";\nimport {Form} from \"@mouseover/react-form\";\nimport {useDocumentContext} from \"../useDocumentContext\";\n\nconst DocumentBranchOffice = ({branchOffices}) => {\n const {\n document,\n changeValues,\n } = useDocumentContext();\n\n const values = useMemo(() => document.partner, [document]);\n\n const handleValuesChanges = useCallback(({branchOfficeId}, valid) => {\n if (valid && values.branchOfficeId !== branchOfficeId) {\n changeValues({partner: {...values, branchOfficeId: branchOfficeId, branchOffice: {branchOfficeId}}});\n }\n }, [changeValues, values]);\n\n return \n {\n return ({\n label: item.name,\n value: item.branchOfficeId\n })) : [])]}/>\n })} />\n ;\n}\n\nexport default DocumentBranchOffice;","import React from \"react\";\n\nconst PartnerContext = React.createContext(null);\n\nexport default PartnerContext;","import React from \"react\";\nimport PartnerContext from \"./PartnerContext\";\nimport usePartner from \"./usePartner\";\n\nconst PartnerProvider = ({children, ...props}) => {children};\n\nexport default PartnerProvider;","import {useContext} from \"react\";\nimport PartnerContext from \"./PartnerContext\";\n\nconst usePartnerContext = () => useContext(PartnerContext);\n\nexport default usePartnerContext;","import React, {useCallback, useMemo} from 'react';\nimport {AddressBookDetail, BranchSelector, ContactSelector} from \"@fik/components\";\nimport {Form} from \"@mouseover/react-form\";\nimport {Col, Row} from \"@fik/ui\";\n\nconst VALIDATION_RULES = {};\n\nconst PartnerEdit = ({partner, viewType, changePartner}) => {\n const {addressBook, contact, branchOffice, contacts, branchOffices, categoryInfo} = partner;\n\n const handleSubmit = useCallback(({contactId, branchOfficeId}, valid) => {\n if (valid) {\n changePartner({\n ...partner,\n contact: contactId ? contacts.find((element) => element.contactId === contactId) : null,\n branchOffice: branchOfficeId ? branchOffices.find((element) => element.branchOfficeId === branchOfficeId) : null\n })\n }\n }, [branchOffices, contacts, changePartner, addressBook]);\n\n const initialValues = useMemo(() => ({\n contactId: contact ? contact.contactId : null,\n branchOfficeId: branchOffice ? branchOffice.branchOfficeId : null\n }), [contact, branchOffice]);\n\n return (\n {\n return <>\n \n \n
\n \n \n \n \n \n {categoryInfo ?
{categoryInfo.name}
{categoryInfo.commission}
: null}\n\n \n \n
\n \n \n \n \n }}>\n\n \n );\n};\n\nexport default PartnerEdit;","import {useReducer, useCallback, useEffect, useMemo} from 'react';\n\nconst CANCEL = 'CANCEL';\nconst CONFIRM = 'CONFIRM';\nconst DOCUMENT_INITIALIZED = 'DOCUMENT_INITIALIZED';\nconst PICK = 'PICK';\n\nexport const views = {\n PICK: 'pick',\n VIEW: 'view',\n EXISTING: 'existing',\n PREPARING: 'none'\n};\n\nconst initialState = {\n initialValues: null,\n values: null,\n valid: false,\n previousViewType: views.PREPARING,\n viewType: views.PREPARING,\n params: null\n};\n\nconst emptyValues = {\n addressBook: {name: null, street: null, city: null, zipcode: null, companyId: null},\n contact: {contactFirstname: null, contactSurname: null, contactEmail: null, contactPhone: null}\n};\n\nfunction prepareValues(channelValues) {\n return channelValues ? {\n ...emptyValues,\n ...channelValues,\n contact: channelValues && channelValues.contact ? channelValues.contact : emptyValues.contact\n } : {...emptyValues};\n}\n\nfunction isEmptyChannel(channelValues) {\n return !(channelValues && channelValues.addressBook && channelValues.addressBook.name);\n}\n\nconst reducer = (state, action) => {\n switch (action.type) {\n\n case PICK:\n return {\n ...state,\n values: null,\n valid: false,\n previousViewType: state.viewType,\n viewType: views.EXISTING,\n params: action.params\n };\n\n case CONFIRM:\n return {\n ...state,\n values: action.values,\n valid: true,\n previousViewType: null,\n viewType: views.VIEW,\n params: null\n };\n\n case CANCEL:\n return {\n ...state,\n values: null,\n valid: false,\n viewType: state.previousViewType,\n params: null\n };\n\n case DOCUMENT_INITIALIZED:\n return {\n ...state,\n previousViewType: action.viewType,\n viewType: action.viewType,\n params: null,\n values: action.values,\n initialValues: action.initialValues,\n valid: false\n };\n\n default:\n return state;\n }\n};\n\n\nconst useResellerEdit = ({channelValues, onConfirm, onCancel, onChange}) => {\n\n const [state, dispatch] = useReducer(reducer, initialState);\n\n const cancel = useCallback(() => {\n onCancel();\n dispatch({type: CANCEL});\n }, [onCancel]);\n\n const confirm = useCallback((values) => {\n if (onConfirm) {\n onConfirm(values);\n }\n dispatch({type: CONFIRM, values});\n }, [dispatch, onConfirm]);\n\n const pick = useCallback((params) => dispatch({type: PICK, params}), [dispatch]);\n\n useEffect(() => {\n if (state.viewType === views.PREPARING) {\n dispatch({\n type: DOCUMENT_INITIALIZED,\n initialValues: channelValues,\n values: prepareValues(channelValues),\n viewType: isEmptyChannel(channelValues) ? views.PICK : views.VIEW});\n }\n }, [channelValues, state.viewType]);\n\n useEffect(() => {\n if (onChange) {\n onChange(state.values);\n }\n }, [state.values, onChange]);\n\n return useMemo(() => ({\n cancel,\n confirm,\n pick,\n viewType: state.viewType,\n values: state.values,\n params: state.params\n }), [cancel, confirm, pick, state]);\n};\n\nexport default useResellerEdit;","import React from \"react\";\nimport PropTypes from 'prop-types';\nimport {Form, FormField} from \"@mouseover/react-form\";\n\nconst ResellerRidForm = ({onSubmit, children, values}) => {\n return (\n <>\n
\n
\n (\n \n )}\n />\n
\n
\n {children}\n \n )}/>;\n};\n\nResellerRidForm.propTypes = {\n onSubmit:PropTypes.func,\n children: PropTypes.oneOfType([PropTypes.array, PropTypes.object, PropTypes.func]),\n values: PropTypes.object\n};\n\nexport default ResellerRidForm;","import React, {useCallback, useEffect} from \"react\";\nimport PropTypes from 'prop-types';\nimport ResellerRidForm from \"./ResellerRidForm\";\nimport {usePureEntity} from \"@fik/entity\";\nimport {Channel} from \"@fik/document\";\nimport {Col, Row} from \"@fik/ui\";\nimport handleClick from \"@fik/utils/handleClick\";\n\nconst ResellerByRidFinder = ({channelValues, onConfirm, autoConfirm}) => {\n const [{entity: resellerProfile}, load] = usePureEntity({name: 'resellerProfile', params: {action: 'profile'}});\n\n const find = useCallback((params) => {\n load(params);\n }, [load]);\n\n useEffect(() => {\n if (autoConfirm && resellerProfile) {\n onConfirm(resellerProfile);\n }\n }, [resellerProfile, onConfirm, autoConfirm]);\n\n const confirmProfileChange = useCallback(() => {\n onConfirm(resellerProfile);\n }, [onConfirm, resellerProfile]);\n\n return <>\n \n {resellerProfile ? : null}\n {channelValues && resellerProfile ? \n
\n \n \n : null}\n ;\n};\n\nResellerByRidFinder.propTypes = {\n channelValues: PropTypes.object,\n confirmCustomerChange: PropTypes.func,\n cancelCustomerEdit: PropTypes.func\n};\n\nexport default ResellerByRidFinder;","import React from \"react\";\nimport {Box, Errors} from \"@fik/ui\";\nimport {Channel} from \"@fik/document\";\nimport handleClick from \"@fik/utils/handleClick\";\nimport usePartnerContext from \"../partner/usePartnerContext\";\nimport {PARTNER_VIEWS} from \"../partner/usePartner\";\nimport PartnerEdit from \"../partner/PartnerEdit\";\nimport {ResellerByRidFinder} from \"@fik/reseller-edit\";\n\nconst DocumentPartner = ({messages}) => {\n\n const {partner, isPartnerFilled, view, pick, edit, cancel, confirmChange} = usePartnerContext();\n\n const buttons = [];\n\n if ((view === PARTNER_VIEWS.PICK) || view === PARTNER_VIEWS.EDIT) {\n buttons.push();\n } else if (isPartnerFilled) {\n buttons.push();\n buttons.push();\n }\n\n return \n {messages && }\n {(view === PARTNER_VIEWS.PICK) && }\n {view === PARTNER_VIEWS.VIEW && }\n {view === PARTNER_VIEWS.EDIT && }\n ;\n};\n\nexport default DocumentPartner;\n","import React from \"react\";\nimport PartnerProvider from \"../partner/PartnerProvider\";\nimport {DisabledOverlay} from \"@fik/ui\";\nimport DocumentPartner from \"./DocumentPartner\";\nimport {useDocumentContext} from \"../useDocumentContext\";\n\nconst DocumentPartnerContainer = () => {\n const {\n document,\n view: {enablePartner, handlePartnerViewChange},\n validation: {validationMessages},\n isEpc,\n confirmPartnerChange\n } = useDocumentContext();\n\n return document && isEpc && \n \n message.path.indexOf('partner') === 0)}/>\n \n ;\n}\n\nexport default DocumentPartnerContainer;","import stringifyObjectKeyAndValues from \"@fik/utils/stringifyObjectKeyAndValues\";\nimport {getOnPath} from \"@mouseover/js-utils\";\n\nconst setLastUpdate = (filtersKey) => (state) => ({\n ...state,\n [filtersKey]: {\n ...state[filtersKey],\n lastUpdateTime: Date.now()\n }\n});\n\nconst setPage = (filtersKey, page) => (state, action, pageData) => ({\n ...state,\n [filtersKey]: {\n ...state[filtersKey],\n pages: {\n ...state[filtersKey].pages,\n [page]: pageData\n }\n }\n});\n\nconst setCount = (filtersKey) => (state, action) => ({\n ...state,\n [filtersKey]: {\n ...state[filtersKey],\n count: action.payload.count,\n }\n});\n\nconst PAGE_COMMON_KEYS = ['items', 'page', 'count', 'limit'];\n\nconst getIncludesFromBody = (action) => Object.entries(action.payload).reduce((o, [key, value]) => {\n if (PAGE_COMMON_KEYS.indexOf(key) === -1) {\n o[key] = value;\n }\n return o;\n}, {});\n\nconst getCurrentPage = (filterKey, page) => (state) => getOnPath(state, [filterKey, 'pages', page]);\n\nconst updateFor = (action, callback) => {\n const {page, ...searchParams} = {...action.params[1]};\n delete searchParams.page;\n const filtersKey = stringifyObjectKeyAndValues(searchParams);\n\n return callback({\n setLastUpdate: setLastUpdate(filtersKey),\n setPage: setPage(filtersKey, page),\n setCount: setCount(filtersKey),\n getCurrentPage: getCurrentPage(filtersKey, page)\n });\n};\n\nconst pageInitialState = {\n isFetching: false,\n isRefreshing: false,\n isSuccess: false,\n isFailed: false,\n lastUpdateTime: null,\n elements: [],\n includes: {}\n};\n\nconst setCountAndLastUpdate = (context, state, action) => context.setCount(context.setLastUpdate(state), action);\nconst setCountAndLastUpdateIfCount = (context, state, action) => (action.params[1].count !== false)\n ? setCountAndLastUpdate(context, state, action)\n : context.setLastUpdate(state);\n\nconst isRefreshing = (state) => state && state.isSuccess === true;\n\nexport const dataSourceReducer = (types, initialState = {}) => {\n const {\n FETCH_INIT,\n FETCH_SUCCESS,\n FETCH_FAILURE,\n FETCH_RESET,\n COUNT_FETCH_INIT,\n COUNT_FETCH_SUCCESS,\n COUNT_FETCH_FAILURE,\n } = types;\n\n const typesArray = Object.values(types);\n\n return (state = initialState, action) => {\n if (typesArray.indexOf(action.type) === -1) {\n return state;\n }\n\n switch (action.type) {\n case FETCH_INIT:\n return updateFor(action, (context) => {\n const current = context.getCurrentPage(state);\n return context.setPage(\n context.setLastUpdate(state),\n action,\n {\n ...pageInitialState,\n isRefreshing: current && current.isSuccess,\n isFetching: true,\n lastUpdateTime: Date.now(),\n elements: current ? current.elements : []\n });\n });\n\n case FETCH_SUCCESS:\n return updateFor(action, (context) => context.setPage(\n setCountAndLastUpdateIfCount(context, state, action),\n action,\n {\n ...pageInitialState,\n isSuccess: true,\n lastUpdateTime: Date.now(),\n elements: action.payload.items,\n includes: getIncludesFromBody(action)\n }));\n\n case COUNT_FETCH_SUCCESS:\n return updateFor(action, (context) => context.setCount(\n context.setLastUpdate(state),\n action\n ));\n case FETCH_FAILURE:\n return updateFor(action, (context) => context.setPage(\n context.setLastUpdate(state),\n action,\n {\n ...pageInitialState,\n isFailed: true,\n lastUpdateTime: Date.now(),\n elements: []\n }));\n\n case FETCH_RESET:\n return {};\n\n default:\n return state;\n }\n }\n};","import {dataSourceReducer} from \"./dataSource\";\nimport {createActionNames} from \"@fik/api\";\n\nexport const createDataSourceReducer = (storeName, resource = 'data-source') => {\n const actionNames = createActionNames([storeName, resource]);\n const countActionNames = createActionNames([storeName, resource, 'count']);\n return {\n [resource]: dataSourceReducer({\n ...actionNames,\n COUNT_FETCH_INIT: countActionNames.FETCH_INIT,\n COUNT_FETCH_SUCCESS: countActionNames.FETCH_SUCCESS,\n COUNT_FETCH_FAILURE: countActionNames.FETCH_FAILURE,\n }, {})\n }\n};\n\nexport default createDataSourceReducer;","import stringifyObjectKeyAndValues from \"@fik/utils/stringifyObjectKeyAndValues\";\n\nexport const selectCurrentBySearchParams = (state, params, defaults = null) => {\n const searchParams = {...params};\n delete searchParams.page;\n const filtersKey = stringifyObjectKeyAndValues(searchParams);\n return state && state[filtersKey] ? state[filtersKey] : defaults;\n};\n\nexport const getPages = (state, defaults = {}) => state.pages || defaults;\nexport const getCount = (state, defaults = null) => state.count || defaults;\nexport const getPage = (pages, pageNumber, defaults = {}) => pages[pageNumber] || defaults;\nexport const getPageElements = (page) => page.elements;\nexport const getPageIncludes = (page) => page.includes || {};\nexport const getPageIsLoading = (page) => page.isFetching;\nexport const getPageLoadingState = (page) => ({isFetching: page.isFetching, isFailed: page.isFailed, isSuccess: page.isSuccess, isRefreshing: page.isRefreshing});\n\n\n","import {getPage, getPages, selectCurrentBySearchParams} from \"./selectors\";\nimport {resourceAsyncCallAction} from \"@fik/api\";\nimport {getStoreResourceState} from \"@fik/api/selectors\";\n\nconst shouldUpdateDataSource = ({storeName}, timeToRefresh = 300) => ([resource, params], getState) => {\n const searchParamsState = selectCurrentBySearchParams(getStoreResourceState(storeName, 'data-source')(getState()), params, {});\n const pages = getPages(searchParamsState);\n const selectedPage = getPage(pages, params.page, false);\n\n if (selectedPage === false) {\n //- not defined at all\n return true;\n }\n\n if (selectedPage.isFetching) {\n //- already fetching\n return false;\n }\n\n if (timeToRefresh === 0) {\n return true;\n }\n\n return isTimeToRefresh(selectedPage.lastUpdateTime, timeToRefresh * 1000);\n};\n\nconst isTimeToRefresh = (prevTime, diff) => {\n return Date.now() - prevTime > diff;\n};\n\nexport const loadDataSource = (model, timeToRefresh = 300) => (context) => {\n return resourceAsyncCallAction(context, shouldUpdateDataSource(context, timeToRefresh))(model.dataSource(context.name).getDataSource);\n};\n\nexport const loadDataSourceCount = (model) => (context) => {\n return resourceAsyncCallAction(context)(model.dataSource(context.name).getDataSourceCount);\n};","import {useCallback, useContext, useMemo, useState} from 'react';\nimport {\n getCount,\n getPage,\n getPageElements,\n getPageIsLoading,\n getPages,\n selectCurrentBySearchParams,\n getPageLoadingState, getPageIncludes\n} from \"./selectors\";\nimport {useDispatch} from \"react-redux\";\nimport {useResourceContext, ModelContext} from \"@fik/model\";\nimport {createActionNames, useResourceSelector} from \"@fik/api\";\nimport {loadDataSource, loadDataSourceCount} from \"./actions\";\nimport {useHookToLoading} from \"@fik/loading\";\n\nexport const ELEMENTS_PER_PAGE = 20;\n\nconst useDataSourceSelector = (context, {searchParams, pageNumber, limit, params}) => {\n return useResourceSelector(context, (state) => {\n const searchParamsState = selectCurrentBySearchParams(state, {\n page: pageNumber,\n limit: limit || ELEMENTS_PER_PAGE, ...params, ...searchParams\n }, {});\n const pages = getPages(searchParamsState);\n const selectedPage = getPage(pages, pageNumber);\n return {\n loadingState: getPageLoadingState(selectedPage),\n page: pageNumber,\n items: getPageElements(selectedPage),\n loading: getPageIsLoading(selectedPage),\n includes: getPageIncludes(selectedPage),\n pagination: {\n page: pageNumber,\n count: getCount(searchParamsState),\n limit: limit\n }\n }\n }, [searchParams, pageNumber, limit, params]);\n};\n\nexport const usePureDataSource = ({name, limit, initialSearchParams, dataSourceResource = 'data-source', params}) => {\n\n const {storeName, name: resource} = useResourceContext(name);\n\n const dispatch = useDispatch();\n const model = useContext(ModelContext);\n\n const [searchParams, setSearchParams] = useState(initialSearchParams);\n const [page, setPage] = useState(1);\n\n const {loadingState, ...selectedState} = useDataSourceSelector(\n {storeName, name: dataSourceResource},\n {searchParams, pageNumber: page, limit: limit || ELEMENTS_PER_PAGE, params: params || {}}\n );\n\n const memoizedParams = useMemo(() => params ? params : {}, [params]);\n\n const load = useCallback((timeToRefresh = 3) => {\n dispatch(\n loadDataSource(model, timeToRefresh)({storeName, name: dataSourceResource})\n (\n resource,\n {page, limit: limit || ELEMENTS_PER_PAGE, ...memoizedParams, ...searchParams}\n )\n );\n }, [dataSourceResource, dispatch, limit, model, page, resource, searchParams, storeName, memoizedParams]);\n\n const count = useCallback(() => {\n dispatch(\n loadDataSourceCount(model, 0)({storeName, name: dataSourceResource, subAction: 'count'})\n (\n resource,\n {page, limit: limit || ELEMENTS_PER_PAGE, ...memoizedParams, ...searchParams}\n )\n );\n }, [dataSourceResource, dispatch, limit, model, page, resource, searchParams, storeName, memoizedParams]);\n\n const reset = useCallback(() => {\n const actions = createActionNames([storeName, dataSourceResource]);\n dispatch({type: actions.FETCH_RESET});\n }, [dispatch, storeName, dataSourceResource]);\n\n useHookToLoading(`${name}-date-source`, loadingState);\n\n // const handleSetPage = useCallback((page) => {\n // setPage();\n // }, [setPage]);\n\n return {\n ...selectedState,\n loadingState,\n page,\n searchParams,\n setPage,\n setSearchParams: useCallback((params) => {\n setPage(1);\n setSearchParams(params);\n }, [setSearchParams, setPage]),\n load,\n count,\n reset,\n refresh: load // for backward compatibility\n };\n};\n\nexport default usePureDataSource;","import React from \"react\";\n\nconst QueryParamsContext = React.createContext(null);\n\nexport default QueryParamsContext;","import {useContext} from \"react\";\nimport QueryParamsContext from \"./QueryParamsContext\";\n\nconst useQueryParamsContext = () => useContext(QueryParamsContext);\n\nexport default useQueryParamsContext;\n","import React, {useCallback, useEffect, useMemo, useRef, useState} from \"react\";\nimport {useHistory, useLocation} from \"react-router-dom\";\nimport QueryParamsContext from \"../QueryParamsContext\";\nimport {shallowEqual} from \"@mouseover/js-utils\";\n\nexport const searchParamsToObject = (urlSearchParams) => {\n if (!urlSearchParams) {\n return {};\n }\n const returnParams = {};\n urlSearchParams.forEach(function(value, key) {\n returnParams[key] = value;\n });\n return returnParams;\n}\n\n/**\n * Poskytuje jednotne api pro zmenu url query parametru\n *\n * @param props\n * @returns {JSX.Element}\n * @constructor\n */\nconst QueryParamsProvider = (props) => {\n const history = useHistory();\n const location = useLocation();\n const searchParams = useMemo(() => searchParamsToObject(new URLSearchParams(location.search)), [location.search]);\n\n const currentSearchParams = useRef(searchParams);\n const newSearchParams = useRef(searchParams);\n\n const [reload, setReload] = useState(false);\n\n const change = useCallback((args) => {\n setReload(true);\n newSearchParams.current = typeof args === 'function' ? args(newSearchParams.current) : args;\n }, [newSearchParams, setReload]);\n\n useEffect(() => {\n if (reload) {\n setReload(false);\n }\n }, [reload, setReload]);\n\n useEffect(() => {\n return () => {\n const params = newSearchParams.current;\n if (!shallowEqual(currentSearchParams.current, params)) {\n const locationSearchParams = new URLSearchParams();\n for (const key in params) {\n if (params.hasOwnProperty(key)) {\n locationSearchParams.append(key, params[key]);\n }\n }\n history.push({search: locationSearchParams.toString()});\n currentSearchParams.current = params;\n }\n }\n });\n\n const getSearchParams = useCallback(() => currentSearchParams.current, [currentSearchParams]);\n const value = useMemo(() => ({getSearchParams, change, searchParams}), [history, searchParams, getSearchParams]);\n return ;\n}\n\nexport default QueryParamsProvider;\n\n","import {useLocation} from \"react-router-dom\";\nimport {useCallback, useMemo} from \"react\";\nimport useQueryParamsContext from \"./useQueryParamsContext\";\nimport {searchParamsToObject} from \"./components/QueryParamsProvider\";\n\nconst useQueryParams = (defaultParams) => {\n const queryParamsContext = useQueryParamsContext();\n\n const urlSearchParams = useMemo(()=> {\n const returnParams = {...defaultParams};\n if (queryParamsContext.searchParams) {\n Object.entries(queryParamsContext.searchParams).forEach(([key, value]) => {\n if (defaultParams && defaultParams.hasOwnProperty(key)) {\n returnParams[key] = value;\n }\n })\n }\n return returnParams;\n }, [queryParamsContext.searchParams, defaultParams]);\n\n const setQuery = useCallback((args) => {\n const params = typeof args === 'function' ? args(urlSearchParams) : args;\n queryParamsContext.change((current) => {\n const newParams = {...current};\n for (const [key, value] of Object.entries(params)) {\n if (!defaultParams || defaultParams.hasOwnProperty(key)) {\n if (value !== defaultParams[key]) {\n newParams[key] = value;\n } else if (newParams.hasOwnProperty(key)) {\n delete newParams[key];\n }\n }\n }\n return newParams;\n });\n }, [queryParamsContext, defaultParams, urlSearchParams]);\n\n return [\n urlSearchParams,\n setQuery\n ];\n}\n\nexport default useQueryParams;","import {useDataSource} from \"./useDataSource\";\nimport {useCallback, useEffect, useMemo, useState} from \"react\";\nimport {shallowEqual} from \"@mouseover/js-utils\";\nimport {useQueryParams} from \"@fik/url-query\";\nimport usePureDataSource from \"./usePureDataSource\";\n\nconst PAGINATION = {\n page: 1\n}\n\nconst useDataSourceWithQueryParams = ({initialSearchParams, defaultParams, ...props}) => {\n const [queryParams, setQueryParams] = useQueryParams(defaultParams);\n const [paginationQueryParams, setPaginationQueryParams] = useQueryParams(PAGINATION);\n const [queryParamsProcessed, setQueryParamsProcessed] = useState(false);\n const [paginationQueryParamsProcessed, setPaginationQueryParamsProcessed] = useState(false);\n const [firstRun, setFirstRun] = useState(true);\n\n //- je nutne zaznamenat ze se zmenilo url query\n useEffect(() => {\n setQueryParamsProcessed(false);\n }, [setQueryParamsProcessed, queryParams]);\n\n //- je nutne zaznamenat ze se zmenilo page\n useEffect(() => {\n setPaginationQueryParamsProcessed(false);\n }, [setPaginationQueryParamsProcessed, paginationQueryParams]);\n\n const dataSource = usePureDataSource(\n {...props, initialSearchParams: queryParams}\n );\n\n const {pagination, setSearchParams, setPage, searchParams} = dataSource;\n\n // zmena filtrovani\n dataSource.handleSearch = useCallback((values, valid) => {\n if (valid) {\n const params = {...searchParams, ...values};\n setSearchParams(params);\n setQueryParams({...params});\n }\n }, [searchParams, setSearchParams, setQueryParams]);\n\n // zmena stranky\n dataSource.handlePageChange = useCallback((page) => {\n setPage(page);\n setPaginationQueryParams({page})\n }, [setPaginationQueryParams, setPage]);\n\n // osetreni zmeny query vyhledavani\n useEffect(() => {\n if (!queryParamsProcessed) {\n const newParams = firstRun ? Object.entries(queryParams).reduce((o, [key, value])=> {\n if (!defaultParams.hasOwnProperty(key) || defaultParams[key] !== value) {\n o[key] = value;\n }\n return o;\n }, {...initialSearchParams}) : {...initialSearchParams, ...queryParams};\n\n if (!shallowEqual(searchParams, newParams)) {\n setSearchParams(newParams);\n }\n setFirstRun(false);\n setQueryParamsProcessed(true);\n }\n }, [searchParams, firstRun, queryParams, setFirstRun, setSearchParams, queryParamsProcessed, setQueryParamsProcessed]);\n\n // osetreni query page\n useEffect(() => {\n if (!paginationQueryParamsProcessed) {\n const page = parseInt(paginationQueryParams.page);\n if (pagination.page !== page) {\n setPage(page);\n }\n setPaginationQueryParamsProcessed(true);\n }\n }, [pagination, paginationQueryParams, setPage, paginationQueryParamsProcessed, setPaginationQueryParamsProcessed]);\n\n useEffect(() => {\n if (queryParamsProcessed) {\n dataSource.load();\n }\n }, [queryParamsProcessed, paginationQueryParamsProcessed, dataSource.load]);\n\n dataSource.queryParams = useMemo(() => ({...initialSearchParams, ...queryParams}), [initialSearchParams, queryParams]);\n return dataSource;\n}\n\nexport default useDataSourceWithQueryParams;","import React, {useEffect} from 'react';\nimport {Box, Errors} from \"@fik/ui\";\nimport DocumentSaved from \"./DocumentSaved\";\nimport DocumentAdditionalInfo from \"./DocumentAdditionalInfo\";\nimport {useDocumentContext} from \"../useDocumentContext\";\nimport DocumentCustomerContainer from \"./DocumentCustomerContainer\";\nimport DocumentEvidenceItems from \"./DocumentEvidenceItems\";\nimport DocumentEvidenceItem from \"./DocumentEvidenceItem\";\nimport documentViews from \"./../documentViews\";\nimport DocumentAttachments from \"./DocumentAttachments\";\nimport {DisabledOverlay} from \"@fik/ui\";\nimport DocumentCheckboxes from \"./DocumentChekboxes\";\nimport DocumentBranchOffice from \"./DocumentBranchOffice\";\nimport DocumentPartnerContainer from \"./DocumentPartnerContainer\";\nimport {useDataSource} from \"@fik/data-source\";\nimport usePureDataSource from \"@fik/data-source/usePureDataSource\";\n\nconst DocumentEdit = ({dials}) => {\n\n const {\n document,\n view: {currentView, enableEvidenceItem, enableAttachment, enablePartner, enableBranchOffice, enableButtons},\n initialized,\n saving: {saveDocument, isSaved, documentType},\n evidenceItemEdit,\n validation: {availableButtons, validationMessages},\n isEpc,\n confirmPartnerChange,\n documentType: resourceName\n } = useDocumentContext();\n\n const {reset} = usePureDataSource({name: documentType || resourceName});\n\n useEffect(() => {\n if (isSaved) {\n reset();\n }\n }, [reset, isSaved]);\n\n if (!document || !initialized) {\n return null;\n }\n\n let content;\n\n if (isSaved) {\n content =
\n
\n \n

Úspěšně odesláno

\n \n
\n
\n
;\n } else {\n content = <>\n
\n
\n message.path.indexOf('owner') !== 0 && message.path.indexOf('partner') !== 0 && message.path.indexOf('evidenceItems') !== 0)}/>\n \n {dials.branchOffices && dials.branchOffices.length > 0 ? : null}\n \n \n \n \n {currentView === documentViews.EDIT_EVIDENCE_ITEMS\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 {availableButtons.map(({documentType, label}) => (\n ))}\n \n
\n \n }\n\n return content;\n};\n\nexport default DocumentEdit;\n","import React from 'react';\nimport {useDials} from \"@fik/dials\";\nimport DocumentEdit from \"./../components/DocumentEdit\";\nimport {useEntity} from \"@fik/entity\";\nimport {DocumentProvider} from \"./../components/DocumentProvider\";\nimport {isEmpty} from \"@mouseover/js-utils/src\";\nimport PropTypes from \"prop-types\";\nimport {useEvidenceItemsStorage} from \"@fik/calculator\";\n\n\nconst DocumentEntityCreate = ({name, isEpc, params}) => {\n\n const existing = !isEmpty(params.licensePublicId || params.licenseEPLI || params.licenseKey || params.licenseUsername);\n const {entity} = useEntity({name, params: {action: 'new'}}, null, params);\n const dials = useDials({name});\n const {evidenceItems} = useEvidenceItemsStorage();\n\n return (\n entity ? \n \n : null\n )\n};\n\nDocumentEntityCreate.propTypes = {\n name: PropTypes.string,\n params: PropTypes.shape({\n licensePublicId: PropTypes.string,\n licenseKey: PropTypes.string,\n licenseUsername: PropTypes.string,\n licenseEPLI: PropTypes.string\n })\n};\n\n\nexport default DocumentEntityCreate;","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {Table, TableRow} from \"@fik/table\";\nimport EvidenceItemName from \"./EvidenceItemName\";\nimport EvidenceItemAmount from \"./EvidenceItemAmount\";\nimport EvidenceItemDiscount from \"./EvidenceItemDiscount\";\nimport EvidenceItemBonusCode from \"./EvidenceItemBonusCode\";\nimport EvidenceItemPromoWithName from \"./EvidenceItemPromoWithName\";\nimport EvidenceItemPrice from \"./EvidenceItemPrice\";\n\nconst EvidenceItems = (props) => {\n\n const visibleDiscounts = props.visibleDiscounts || true;\n const visiblePrices = props.visiblePrices || true;\n const ownerPrice = props.ownerPrice || true;\n const partnerPrice = props.partnerPrice || true;\n const epcPrice = props.epcPrice || false;\n\n return
\n
\n
\n \n \n {visibleDiscounts && }\n {visibleDiscounts && }\n {visibleDiscounts && }\n {visiblePrices && ownerPrice &&\n <>Doporučená EUP bez DPH} channel='owner'/>}\n {visiblePrices && partnerPrice && }\n {visiblePrices && epcPrice && }\n {props.itemMenu && }\n
;\n};\n\n\nEvidenceItems.propTypes = {\n visibleDiscounts: PropTypes.bool,\n visiblePrices: PropTypes.bool,\n ownerPrice: PropTypes.bool,\n partnerPrice: PropTypes.bool,\n epcPrice: PropTypes.bool,\n evidenceItems: PropTypes.array,\n itemMenu: PropTypes.func,\n renderRow: PropTypes.func,\n renderRowMessages: PropTypes.func,\n};\n\n\nexport default EvidenceItems;","import React from 'react';\nimport {Channel, ChannelContact} from \"@fik/components\";\nimport Status from './Status';\nimport {EvidenceItems} from '@fik/evidence-item';\nimport Type from './Type';\nimport {Price, Box, Date} from \"@fik/ui\";\nimport arrayToDictionary from \"@fik/utils/arrayToDictionary\";\n\nconst Document = ({entity, dials, renderInfo, isEpc}) => {\n const {types, states} = dials;\n\n const statesDict = arrayToDictionary(states, 'id', 'label');\n const typesDict = arrayToDictionary(types, 'id', 'label');\n\n return (\n
\n
\n

{entity.code}

\n
Typ:
\n
Stav: {entity.businessStatus ? entity.businessStatus : }
\n
Vytvořeno:
\n {renderInfo ? renderInfo(entity) : null}\n
\n
\n

Partner

\n {entity.partner ? : null}\n
\n

Obchodník

\n \n
\n
\n

Zákazník

\n {entity.owner ? : null}\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
Cena bez DPH :
Cena s DPH :
\n
\n
\n
\n
)\n};\n\nexport default Document;\n","import {Date, Price} from \"@fik/ui\";\nimport React from \"react\";\nimport {Status, Type} from \"../index\";\nimport Channel from \"@fik/components/Channel/Channel\";\nimport {ChannelContact, ChannelName, StaffName} from \"@fik/components\";\n\nexport const DocumentOwner = ({owner}) => owner ? : null;\nexport const DocumentPartner = ({partner}) => partner ? : null;\nexport const DocumentEPC = ({epc}) => epc ? : null;\nexport const DocumentType = ({documentType, typesDict}) => ;\nexport const DocumentStatus = ({status, statesDict}) => ;\nexport const BusinessStatus = ({businessStatus}) =>
{businessStatus}
;\nexport const DocumentBasePrice = ({basePrice}) => ;\nexport const DocumentPrices = ({partner, owner, epc}) => <>\n {owner ?
: null}\n {partner ?
: null}\n {epc ?
: null}\n;\nexport const DocumentCreatedDate = ({dateCreated}) => ;\nexport const DocumentResellerContact = ({partner, epc}) => ;\nexport const DocumentPartnerAndEpc = ({partner, epc}) => <>\n
{partner ? : null}
\n
{epc ? : null}
\n;\n\nexport const DocumentStaff = ({staffId}) => {\n return {staffId}\n};\n","import {AddressBook} from \"@fik/document\";\nimport React from \"react\";\n\nconst AddressBookDetail = ({viewType, addressBook, label}) => \n

{label || 'Adresa'}

\n {addressBook && addressBook.name ? : '-'}\n;\n\nexport default AddressBookDetail;","import {BranchOffice} from \"@fik/document\";\nimport React from \"react\";\n\nconst BranchOfficeDetail = ({branchOffice, viewType, label}) => \n

{label || 'Pobočka'}

\n {branchOffice ? : '-'}\n;\n\nexport default BranchOfficeDetail;","import {Contact} from \"@fik/document\";\nimport React from \"react\";\n\nconst ContactDetail = ({viewType, contact, label}) =>
\n

{label || 'Kontakt'}

\n {contact ? : '-'}\n
;\n\nexport default ContactDetail;","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Salesman from \"../../components/Profile/Salesman/Salesman\";\nimport ResellerInfo from '../../components/Profile/ResellerInfo/ResellerInfo';\nimport {useEntity} from \"@fik/entity\";\nimport {Box, Col, Row} from \"@fik/ui\";\nimport ContactEmailsSubscriptions from \"../Profile/ContactEmailsSubscriptions/ContactEmailsSubscriptions\";\nimport {useSelector} from \"react-redux\";\nimport {NavigationItem} from \"@fik/navigation\";\nimport {RenewLicenseShortcut} from \"@fik/components\";\n\nconst ResellerDashboardContent = ({\n addressBook,\n branchOffice,\n categoryInfo,\n privilegeStatus,\n turnovers,\n certInfo,\n staff,\n stats,\n resellerPlanEnabled\n }) => {\n\n const {userId} = useSelector(state => state.auth);\n\n return (\n \n

Váš obchodník

\n \n

Prodloužení / rozšíření stávající licence

\n \n \n \n

Partnerství

\n \n \n \n

Jaké zprávy dostáváte aktuálně do e-mailu?

\n \n

Nastavte si odběr ve Vašem profilu!

\n \n
);\n};\n\nResellerDashboardContent.propTypes = {\n addressBook: PropTypes.object,\n branchOffice: PropTypes.object,\n categoryInfo: PropTypes.object,\n privilegeStatus: PropTypes.string,\n turnovers: PropTypes.object,\n certInfo: PropTypes.array,\n staff: PropTypes.object,\n stats: PropTypes.object\n};\n\nconst ResellerDashboard = () => {\n const {\n entity: resellerProfile\n } = useEntity({name: 'profile'}, null);\n\n return (\n {resellerProfile && resellerProfile.addressBook ? : null}\n );\n};\n\nexport default ResellerDashboard;","import React, {useCallback, useEffect} from \"react\";\nimport {Modal, useModal} from \"@fik/ui\";\nimport handleClick from \"@fik/utils/handleClick\";\nimport {LoadingProvider} from \"@fik/loading\";\nimport {useCmsPageBlocks} from \"@fik/cms\";\nimport {useLocalStorage, useSessionStorage} from \"@fik/storage\";\nimport usePageBlock from \"@fik/page/usePageBlocks\";\n\nconst ID = 'homepage-popup';\nconst BLOCK = 'popup';\n\nconst HomepagePopup = () => {\n const modal = useModal(ID);\n const popup = usePageBlock(BLOCK);\n const [popupSeen, setPopupSeen] = useSessionStorage('popus_seen_' + ID, false);\n const [popupDismissed, setPopupDismissed] = useLocalStorage('popup_dismiss_' + ID, false);\n\n useEffect(() => {\n const checkDate = popupDismissed ? Date.parse(popupDismissed) : null;\n if (popup && !popupSeen && (!checkDate || checkDate <= new Date())) {\n modal.show();\n setPopupSeen(true);\n }\n }, [popup, modal.show, popupSeen, popupDismissed, setPopupSeen]);\n\n const dismiss = useCallback(() => {\n modal.hide();\n let expire = new Date();\n expire.setDate(expire.getDate() + popup.dismiss.days);\n setPopupDismissed(expire);\n }, [modal.hide, popup, setPopupDismissed]);\n\n if (!popup) {\n return null;\n }\n\n const {message, title} = popup;\n\n return <>\n \n

{title}

\n
\n }\n renderFooter={() => <>\n \n \n }>\n \n {modal.visible ?
: null}\n \n ;\n}\n\nexport default HomepagePopup;","import React from 'react';\nimport {ArticlesFeed} from \"@fik/cms\";\nimport ResellerDashboard from \"../../components/ResellerDashboard/ResellerDashboard\";\nimport {Col, Row} from \"@fik/ui\";\nimport HomapagePopup from \"./HomapagePopup\";\n\nconst Homepage = () => {\n return (<>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default Homepage;","export const AUTH_INIT = 'user/AUTH_INIT';\nexport const AUTH_SUCCESS = 'user/AUTH_SUCCESS';\nexport const AUTH_DONE = 'user/AUTH_DONE';\nexport const AUTH_FAILED = 'user/AUTH_FAILED';\nexport const AUTH_LOGOUT = 'user/AUTH_LOGOUT';\nexport const AUTH_CHECK = 'user/AUTH_CHECK';\nexport const AUTH_SET_REDIRECT_PATH = 'user/AUTH_SET_REDIRECT_PATH';","import * as actionTypes from './actionTypes';\n\nexport const authInit = (credentials) => {\n return {\n type: actionTypes.AUTH_INIT,\n payload: {\n error: false,\n loading: true,\n credentials\n },\n actions: [authSuccess, checkOfTimeout, authFailed]\n }\n};\nexport const authSuccess = (payload) => {\n return {\n type: actionTypes.AUTH_SUCCESS,\n payload: {\n ...payload,\n error: false,\n loading: false\n }\n }\n};\nexport const authFailed = (error) => {\n return {\n type: actionTypes.AUTH_FAILED,\n payload: {\n error: error,\n loading: false\n }\n }\n};\n\nexport const authenticate = (credentials) => {\n return dispatch => {\n const authData = {\n ...credentials,\n returnSecureToken: true\n };\n\n dispatch(authInit(authData));\n }\n};\n\nexport const logOut = () => {\n return {\n type: actionTypes.AUTH_LOGOUT\n }\n};\n\nexport const checkOfTimeout = (expirationTime) => {\n return dispatch => {\n setTimeout(() => {\n dispatch(logOut());\n }, expirationTime * 1000)\n }\n};\n\nexport const setRedirectPath = (path) => {\n return {\n type: actionTypes.AUTH_SET_REDIRECT_PATH,\n payload: {\n path: path\n }\n };\n};\n\nexport const checkState = () => {\n return {\n type: actionTypes.AUTH_CHECK,\n actions: [logOut, authSuccess, checkOfTimeout]\n };\n};","import {useDispatch, useSelector} from \"react-redux\";\nimport {useCallback} from \"react\";\nimport {authenticate} from \"./actions\";\n\nconst useAuth = () => {\n const dispatch = useDispatch();\n\n const handleAuthenticate = useCallback((credentials) => {\n dispatch(authenticate(credentials));\n }, [dispatch]);\n\n const selection = useSelector(state => ({\n loading: state.auth.loading,\n error: state.auth.error,\n isAuthenticated: state.auth.token !== null,\n redirectPath: state.auth.redirectPath\n }));\n\n return {\n authenticate: handleAuthenticate,\n ...selection\n }\n};\n\nexport default useAuth;","import React, {useCallback} from 'react';\nimport {Form} from \"@mouseover/react-form\";\nimport {Redirect} from \"react-router-dom\";\nimport {Box, Row, Col} from \"@fik/ui\";\nimport useAuth from \"@fik/auth/useAuth\";\nimport {NavigationItem} from \"@fik/navigation\";\n\nconst controls = {\n username: {\n elementType: 'input',\n elementConfig: {\n type: 'text',\n placeholder: 'Jméno',\n },\n value: '',\n valid: false,\n touched: false,\n validation: {\n required: true,\n minLength: 4\n }\n },\n password: {\n elementType: 'input',\n elementConfig: {\n type: 'password',\n placeholder: 'Heslo',\n },\n\n value: '',\n valid: false,\n touched: false,\n validation: {\n required: true,\n minLength: 4,\n placeholder: 'Heslo',\n }\n },\n // 'remember': {\n // elementType: 'checkbox',\n // elementConfig: {autoComplete: 'off'},\n // label: 'Zapamatovat si mě',\n // groupClass: 'form-group m-b-xs m-t-m'\n // },\n 'clientMode': {\n elementType: 'checkbox',\n elementConfig: {autoComplete: 'off'},\n label: 'Režim u klienta',\n groupClass: null\n }\n};\n\nfunction Auth() {\n\n const {authenticate, isAuthenticated, redirectPath, error, loading} = useAuth();\n\n const handleSubmit = useCallback((values, valid) => {\n if (valid) {\n authenticate(values);\n }\n }, [authenticate]);\n\n const date = new Date();\n\n if (isAuthenticated) {\n return ;\n }\n\n return (
\n \n \n

Vítejte na partnerské zóně ESET!

\n \n \n
\n Nejste partnerem ESETu?
Seznamte se s výhodami\n partnerství.\n
\n\n \n \n \n {error ?

Nepodařilo se přihlásit

: null}\n
\n \n
\n\n
\n
\n \n Zapomněli jste heslo?\n \n
\n
\n
\n \n
\n
\n \n \n © {date.getFullYear()} - ESET software spol. s r.o.\n \n \n
);\n}\n\nexport default Auth;\n","import React, {useEffect} from 'react';\nimport {useDispatch} from \"react-redux\";\nimport {Redirect} from \"react-router-dom\";\nimport {logOut} from \"./../actions\";\n\nconst Logout = () => {\n const dispatch = useDispatch();\n\n useEffect(() => {\n dispatch(logOut());\n }, [dispatch]);\n\n return ();\n};\n\nexport default Logout;","import React, {useEffect} from \"react\";\nimport IdentityContext from \"../IdentityContext\";\nimport {usePureEntity} from \"@fik/entity\";\nimport {useSelector} from \"react-redux\";\nimport {useModel} from \"@fik/model\";\nimport {SpinnerCircle} from \"@fik/loading\";\n\nconst AuthIdentityProvider = ({children,...props}) => {\n\n const [{entity: identity}, load] = usePureEntity({name: 'identity'});\n const isAuthenticated = useSelector(state => state.auth.token !== null);\n\n const token = useModel(\n (model) => isAuthenticated ? model.authentication().authStorage.getAccessToken() : null,\n [isAuthenticated]\n );\n\n useEffect(() => {\n if (token) {\n load(token);\n }\n }, [token, load]);\n\n return {children};\n};\n\nexport default AuthIdentityProvider;","import React from 'react';\nimport {NavigationItem} from \"@fik/navigation\";\n\nconst OfferLink = ({id, code, children, ...props}) => {\n return ({children || code});\n};\n\nexport default OfferLink;","import {shallowEqual} from \"@mouseover/js-utils/src\";\n\nconst hasOwn = Object.prototype.hasOwnProperty;\n\nfunction is(x, y) {\n if (x === y) {\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction deepShallowEqueal(objA, objB) {\n if (is(objA, objB)) return true;\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n const keysA = Object.keys(objA);\n const keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return false;\n\n for (let i = 0; i < keysA.length; i++) {\n if (!hasOwn.call(objB, keysA[i])) {\n return false;\n }\n if (typeof objA[keysA[i]] === 'object') {\n if (!shallowEqual(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n } else if (!is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}\n\nexport default deepShallowEqueal;","import React, {useCallback, useEffect, useMemo, useState} from 'react';\nimport {FilterBar} from \"@fik/ui\";\nimport {SelectInput} from \"@fik/form\";\nimport {useFormContainer} from \"@mouseover/react-form\";\nimport {useEntity} from \"@fik/entity\";\nimport {StaffInput} from \"@fik/components\";\nimport useIdentity from \"@fik/auth/useIdentity\";\nimport {isString, shallowEqual} from \"@mouseover/js-utils\";\nimport {INITIAL_SEARCH_PARAMS} from \"./useOpportunities\";\nimport deepShallowEqueal from \"@fik/utils/deepShallowEqueal\";\n\nconst renderLabel = ({label}) => <>{label}
;\n\nconst FilterSelect = (props) => ;\n\nconst CustomGroupContainer = ({children}) => ;\n\nconst TagsContainer = ({form: parentForm, channels, tiers, solutionList, operationList, phaseList, businessTypes, visibleFilters}) => {\n const form = useFormContainer('tags', parentForm);\n return <>\n {visibleFilters.phase ? ({\n value: item.tagId,\n label: item.tagDescription\n }))]\n : []}/> : null}\n {visibleFilters.operation ? ({\n value: item.tagId,\n label: item.tagDescription\n }))]\n : []}/> : null}\n {visibleFilters.solution ? ({\n value: item.tagId,\n label: item.tagDescription\n }))]\n : []}/> : null}\n {visibleFilters.businessType ? ({\n value: item.tagId,\n label: item.tagDescription\n }))]\n : []}/> : null}\n {visibleFilters.tier ? ({\n value: item.tagId,\n label: item.tagDescription\n }))]\n : []}/> : null}\n {visibleFilters.channel ? ({\n value: item.tagId,\n label: item.tagDescription\n }))]\n : []}/> : null}\n ;\n};\n\nexport const VISIBLE_FILTERS = {\n status: true,\n type: true,\n staffId: true,\n resellerStaffId: true,\n phase: true,\n operation: true,\n solution: true,\n businessType: true,\n tier: true,\n channel: true\n};\n\nconst TAG_GROUP_MAP = {\n 'code:PRILEZITOST_FAZE':'phase',\n 'code:PRILEZITOST_OPERACE':'operation',\n 'code:PRILEZITOST_SKUPINY':'solution',\n 'code:PRILEZITOST_TYP':'businessType',\n 'code:TIERY':'tier',\n 'code:PRILEZITOST_KANAL':'channel'\n};\n\nfunction toTagTagGroupMap(list, map) {\n return list ? list.reduce((current, item) => ({...current, [item.tagId]: TAG_GROUP_MAP[item.tagGroup] || item.tagGroup}), map) : map;\n}\n\nfunction filterNull(object) {\n return Object.entries(object).reduce((o, [key, value]) => {\n if (value) {\n return {...o, [key]: value};\n }\n return o;\n }, {});\n}\n\nfunction filterManaged(object, allowed) {\n return Object.entries(object).reduce((o, [key, value]) => {\n if (allowed.hasOwnProperty(key)) {\n return {...o, [key]: value};\n }\n return o;\n }, {});\n}\n\nconst EMPTY_VALUES = {...INITIAL_SEARCH_PARAMS, tags: {phase: null, operation: null, solution: null, businessType: null, tier: null, channel: null}};\n\nconst OpportunitiesFilter = ({onSubmitSearch, statuses, types, visibleFilters = {}, singleStaffOnly, values, ...props}) => {\n\n const identity = useIdentity();\n const {id:currentStaff} = identity || {};\n const [currentValues, setCurrentValues] = useState(EMPTY_VALUES);\n const {phaseList, operationList, solutionList, businessTypes, tiers, channels} = props;\n const tagPropsMap = useMemo(() => {\n let map = {};\n map = toTagTagGroupMap(phaseList, map);\n map = toTagTagGroupMap(operationList, map);\n map = toTagTagGroupMap(solutionList, map);\n map = toTagTagGroupMap(businessTypes, map);\n map = toTagTagGroupMap(tiers, map);\n map = toTagTagGroupMap(channels, map);\n return map;\n }, [phaseList, operationList, solutionList, businessTypes, tiers, channels]);\n\n const currentVisibleFilters = useMemo(() => ({...VISIBLE_FILTERS, ...visibleFilters}), [visibleFilters]);\n\n useEffect(() => {\n if (values) {\n let newValues = {...EMPTY_VALUES, ...filterManaged(values, EMPTY_VALUES)};\n if (newValues.tags && isString(newValues.tags)) {\n newValues.tags = newValues.tags.split(',');\n }\n if (Array.isArray(newValues.tags)) {\n const tags = newValues.tags.reduce((o, tag) => {\n if (tagPropsMap[tag]) {\n return ({...o, [tagPropsMap[tag]]: tag})\n } else {\n return o;\n }\n }, {...EMPTY_VALUES.tags});\n\n newValues = Object.entries({...newValues, tags}).reduce((o, [key, value]) => {\n if (o.hasOwnProperty(key)) {\n return {...o, [key]: value};\n }\n return o;\n }, EMPTY_VALUES);\n } else {\n newValues.tags = {...EMPTY_VALUES.tags};\n }\n\n if (!deepShallowEqueal(newValues, currentValues)) {\n setCurrentValues(newValues);\n }\n }\n }, [values, tagPropsMap, setCurrentValues, currentValues])\n\n const handleChange = useCallback((changedValues, valid) => {\n if (onSubmitSearch && !deepShallowEqueal(changedValues, currentValues)) {\n const newCurrentValues = (\n {\n ...EMPTY_VALUES,\n ...changedValues,\n tags: (changedValues.tags && Object.values(changedValues.tags).length > 0 ? Object.values(changedValues.tags).filter(item => item) : []).join(',') || null\n }\n );\n setCurrentValues(changedValues);\n onSubmitSearch(newCurrentValues, valid);\n }\n }, [onSubmitSearch, currentValues, setCurrentValues]);\n\n const {entity: staffList} = useEntity({name: 'staff', params: {action: 'staff-list'}});\n\n if (!staffList) {\n return null;\n }\n\n return (\n {\n return <>\n
\n {currentVisibleFilters.status ? : null}\n {currentVisibleFilters.type ? : null}\n {currentVisibleFilters.staffId ? ({\n value: item.id,\n label: item.name\n }))]\n : []}/> : null}\n {currentVisibleFilters.resellerStaffId ? ({\n value: item.id,\n label: item.name\n }))]\n : []}/> : null}\n
\n
\n
\n \n
\n
\n \n }}\n />\n );\n};\n\nexport default OpportunitiesFilter;\n\nconst StatusFilter = ({statuses, form}) => statuses\n ? [{value: '', label: 'Všechny stavy'}, ...statuses.map(item => ({\n value: item.id,\n label: item.name\n }))]\n : [], [statuses])}/>;\n\nconst TypesFilter = ({types, form}) => types\n ? [{value: '', label: 'Všechny'}, ...types.map(item => ({\n value: item.filter,\n label: item.name\n }))]\n : [], [types])}/>;","import {useOpportunityDials} from \"./index\";\nimport {useEffect, useMemo} from \"react\";\nimport {useDataSourceWithQueryParams} from \"@fik/data-source\";\n\nconst DEFAULT_PARAMS = {status: null, tags: null, type: null, resellerStaffId: null, tiers: null, staffId: null, source: null, includes: 'counts'};\nexport const INITIAL_SEARCH_PARAMS = {tags: null, status: null, type: null, staffId: null, resellerStaffId: null, tiers: null, source: null};\n\nconst useOpportunities = ({source = null, status = null, template = null, limit = 20, staffId = null, partnerId = null, ownerId = null, epcId = null}) => {\n\n const dials = useOpportunityDials();\n\n const {\n load,\n pagination,\n items,\n setSearchParams,\n handlePageChange,\n handleSearch,\n queryParams,\n searchParams,\n includes: {counts},\n loadingState\n } = useDataSourceWithQueryParams({\n name: 'opportunity',\n limit,\n defaultParams: useMemo(() => {\n return ({...DEFAULT_PARAMS})\n }, []),\n initialSearchParams: useMemo(() => ({...DEFAULT_PARAMS,\n staffId: staffId || null,\n source: source || null,\n status: status || null,\n template: template || null,\n partnerId: partnerId || null,\n ownerId: ownerId || null,\n epcId: epcId || null\n }), [staffId, source, status, template])\n });\n\n const {statusesDict, typesDict, phaseList} = dials;\n\n return {\n load,\n dials,\n pagination,\n items,\n statusesDict,\n typesDict,\n phaseList,\n counts,\n handlePageChange,\n handleSearch,\n queryParams,\n searchParams\n }\n};\n\nexport default useOpportunities;","import React, {useCallback, useEffect} from 'react';\nimport {Document} from \"@fik/document\";\nimport {Box, Date} from \"@fik/ui\";\nimport {useDocumentOperation} from \"@fik/document-edit\";\nimport handleClick from \"@fik/utils/handleClick\";\nimport {DownloadLink} from \"@fik/ui\";\nimport DocumentSaved from \"@fik/document-edit/components/DocumentSaved\";\nimport usePureDataSource from \"@fik/data-source/usePureDataSource\";\n\nconst OfferDocument = (props) => {\n const {entity, modal, isOrdered} = props;\n const {perform: createVariants, isSuccess: isVariantsCreated} = useDocumentOperation('createAllOfferVariants');\n const {reset} = usePureDataSource({name: 'offer'});\n\n useEffect(() => {\n if (isVariantsCreated) {\n reset();\n }\n }, [reset, isVariantsCreated]);\n\n const handleOrder = useCallback(() => {\n modal.show();\n }, [modal]);\n\n if (isOrdered) {\n return
\n
\n \n

Úspěšně odesláno

\n \n
\n
\n
;\n }\n\n if (isVariantsCreated) {\n return
\n
\n \n

Varianty vytvořeny

\n \n
\n
\n
;\n }\n\n if (!entity) {\n return null;\n }\n\n const {actions = {}, isPdf, expirationDate} = entity;\n\n return <>\n <>\n
Platnost:
\n }\n />\n
\n {actions.order ? <>\n \n : null}\n {actions.createVariants ? <>\n \n : null}\n {isPdf ? <>\n PDF pro zákazníka\n PDF s nákupními\n : null}\n
\n ;\n};\n\nexport default OfferDocument;","import React from 'react';\nimport {FilterBar} from \"@fik/ui\";\n\nconst OffersFilter = (props) => {\n return (\n ({value: item.id, label: item.label}))]\n : [],\n value: '',\n valid: true,\n touched: false,\n },\n }}\n />\n );\n};\n\nexport default OffersFilter;","import React from \"react\";\nimport {EvidenceItems} from '@fik/evidence-item';\n\nconst OffersTableRowDetail = ({offer: {evidenceItems}}) => {\n return <>\n
\n {evidenceItems ? : null}\n
\n \n};\n\nexport default OffersTableRowDetail;","import React from 'react';\nimport {Table, useRowDetail} from \"@fik/table\";\nimport {\n DocumentBasePrice, DocumentCreatedDate,\n DocumentEPC,\n DocumentOwner,\n DocumentPartner,\n DocumentResellerContact,\n BusinessStatus, DocumentType,\n} from '@fik/document';\n\nimport OfferLink from \"./OfferLink\";\nimport OffersTableRowDetail from \"./OffersTableRowDetail\";\nimport {OfferExpirationDate, OfferTodayDate, OfferViewMenu} from \"./index\";\n\nconst OffersTable = ({statesDict, typesDict, rows, epcVisible = false, partnerVisible = true}) => {\n const {toggleRow, isVisibleRow} = useRowDetail();\n\n return (isVisibleRow(primaryValue) ?\n \n \n : null)}\n primary='id'>\n \n \n {partnerVisible && }\n {epcVisible && }\n \n \n {/**/}\n \n \n \n \n \n \n
\n \n
;\n};\n\nexport default OffersTable;","import React from 'react';\nimport {Paginator} from \"@fik/ui\";\nimport OffersTable from \"./OffersTable\";\n\nconst OffersList = ({statesDict = {}, typesDict = {}, items = [], pagination = {}, onPageChange}) => (\n \n\n \n);\n\nexport default OffersList;","import {Date} from \"@fik/ui\";\nimport React from \"react\";\nimport {ToggleRowDetailButton} from \"@fik/table\";\nimport OfferLink from \"./OfferLink\";\nimport {OpportunityId} from \"@fik/opportunity\";\nimport {DocumentStatus} from \"@fik/document\";\nimport OfferSettingsDropdown from \"./OfferSettingsDropdown\";\nimport OfferPreviewPdf from \"./OfferPreviewPdf\";\nimport OfferSend from \"./OfferSend\";\nimport OfferCancelButton from \"./OfferCancelButton\";\nimport OfferNotesCount from \"./OfferNotesCount\";\nimport OfferEventsCount from \"./OfferEventsCount\";\n\nexport {default as OfferDocument} from \"./OfferDocument\";\nexport {default as OfferLink} from \"./OfferLink\";\nexport {default as OfferNewVariant} from \"./OfferNewVariant\";\nexport {default as OffersFilter} from \"./OffersFilter\";\nexport {default as OffersList} from \"./OffersList\";\nexport {default as OffersTable} from \"./OffersTable\";\nexport {default as OffersTableRowDetail} from \"./OffersTableRowDetail\";\nexport {default as OfferTogglePrimary} from \"./OfferTogglePrimary\";\n\nexport const OfferExpirationDate = ({expirationDate}) => ;\nexport const OfferTodayDate = ({todayDate}) => ;\nexport const OfferViewMenu = ({id, primaryValue, isVisibleRow, toggleRow}) =>
\n \n Zobrazit\n
;\n\nexport const OfferActionsMenu = ({id, row, counts, actions, isResellerDocument, primaryValue, isVisibleRow, toggleRow}) =>\n <>\n\n
\n \n
\n \n \n \n
\n {counts ? <>\n \n {/**/}\n : null}\n\n {!actions.edit ? : null}\n {actions.edit ? : null}\n {actions.cancel ? : null}\n
\n ;\n\nexport const OfferLinkWithOpportunity = ({id, code, opportunityId}) => <>\n
\n {opportunityId ?
: null}\n;\n\nexport const OfferStatus = ({businessStatusLabelStyle, businessStatus}) =>
{businessStatus}
\n\n","import useIdentity from \"@fik/auth/useIdentity\";\nimport {useMemo} from \"react\";\n\nconst useIsEpc = () => {\n const identity = useIdentity();\n return useMemo(() => identity && identity.roles.indexOf('CONTACT_EPC') > -1, [identity]);\n};\n\nexport default useIsEpc;","import React, {useMemo} from 'react';\nimport {Paginator} from \"@fik/ui\";\nimport {Box} from \"@fik/ui\";\nimport {OffersTable, OffersFilter} from \"@fik/offer\";\nimport {useDials} from \"@fik/dials\";\nimport {useDataSource, useDataSourceWithQueryParams} from \"@fik/data-source\";\nimport arrayToDictionary from \"@fik/utils/arrayToDictionary\";\nimport useIsEpc from \"../../useIsEpc\";\n\nconst DEFAULT_PARAMS = {\n fulltext: null,\n state: null,\n type: 'all'\n};\n\nconst Offers = () => {\n\n const {types, states} = useDials({name: 'offer'});\n\n const {pagination, items, setSearchParams, handlePageChange, queryParams, refresh, handleSearch} = useDataSourceWithQueryParams(\n {\n name: 'offer',\n defaultParams: DEFAULT_PARAMS\n }\n );\n\n const submitSearchHandler = (values, valid) => {\n if (valid) {\n values.type = 'all';\n setSearchParams(values);\n }\n };\n\n return (\n \n \n\n \n\n \n\n \n );\n};\n\nexport default Offers;","import React, {useCallback, useEffect, useMemo, useState} from \"react\";\nimport handleClick from \"@fik/utils/handleClick\";\nimport {Box} from \"@fik/ui\";\nimport {Form, FormField} from \"@mouseover/react-form\";\nimport {useDocumentContext} from \"@fik/document-edit\";\nexport const validationRules = {\n contactFirstname: {\n required: true\n },\n contactSurname: {\n required: true\n },\n contactPosition: {\n required: true\n },\n contactEmail: {\n required: true,\n email: true\n },\n contactPhone: {\n required: false,\n pattern: {\n message: 'Špatný formát telefonu (+420...)',\n params: '^(\\\\+420)[0-9]{9}$'\n }\n }\n};\nconst DealResponsiblePerson = ({isSubmitted}) => {\n const {\n document,\n initialDocument,\n changeValues,\n } = useDocumentContext();\n\n const [isSameAsContact, setIsSameAsContact] = useState(initialDocument.responsiblePersonIsSameAsContact);\n\n useEffect(() => {\n if (initialDocument && initialDocument.responsiblePersonIsSameAsContact !== undefined) {\n setIsSameAsContact(initialDocument.responsiblePersonIsSameAsContact);\n }\n }, [initialDocument]);\n\n const handleCheck = useCallback(() => {\n setIsSameAsContact((current) => !current);\n }, [setIsSameAsContact]);\n\n\n\n const values = useMemo(() => document && document.responsiblePerson, [document]);\n\n const handleValuesChanges = useCallback((responsiblePerson, valid) => {\n if (valid) {\n changeValues({responsiblePerson});\n }\n }, [changeValues, values]);\n\n useEffect(() => {\n if (isSameAsContact) {\n changeValues({responsiblePerson: null});\n } else {\n changeValues({responsiblePerson: {contactFirstname: null, contactSurname: null, contactEmail: null, contactPhone: null}});\n }\n }, [isSameAsContact, changeValues])\n\n\n return <>\n \n }>\n {!isSameAsContact ? {\n return <>\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n \n })}/> : null}\n
;\n}\n\nexport default DealResponsiblePerson;","import React, {useCallback, useMemo} from \"react\";\nimport PropTypes from 'prop-types';\nimport {useDocumentContext} from \"@fik/document-edit\";\nimport {Form} from \"@mouseover/react-form\";\nimport {DatePicker, SelectInput, TextArea} from \"@fik/form\";\nimport {shallowEqual} from \"@mouseover/js-utils\";\n\n\nconst DealFormDetailNew = ({validation, isSubmitted}) => {\n const {\n document,\n initialDocument: {note, notePosition, noteImplementation},\n changeValues,\n } = useDocumentContext();\n\n const handleValuesChanges = useCallback((values, valid) => {\n const {note} = document;\n if (!shallowEqual({note, notePosition, noteImplementation}, values)) {\n changeValues(values);\n }\n }, [document, changeValues]);\n\n const validationRules = useMemo(() => ({\n note: validation.note,\n notePosition: validation.notePosition,\n noteImplementation: validation.noteImplementation\n }), [validation]);\n\n return document\n ? <>\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n }/>\n : null;\n};\n\nexport default DealFormDetailNew;","import React, {useCallback, useMemo, useState} from \"react\";\nimport {useDocumentContext} from \"@fik/document-edit\";\nimport {Form, useFormContainer} from \"@mouseover/react-form\";\nimport {TextArea} from \"@fik/form\";\nimport {getValue, shallowEqual} from \"@mouseover/js-utils\";\nimport arrayRemoveAny from \"@fik/utils/arrayRemoveAny\";\n\nconst MultiChoice = ({name, label, choices, form}) => {\n const {values = {}, validation = {}, setValue} = form;\n const checked = getValue(values, name) || [];\n const [touched, setTouched] = useState(false);\n const messages = getValue(validation, ['children', name, 'messages']);\n const handleChange = (choice) => {\n if (!touched) {\n setTouched(true);\n }\n\n if (checked.indexOf(choice) === -1) {\n setValue([...checked, choice], name);\n } else {\n const newValue = arrayRemoveAny(checked, choice);\n setValue(newValue.length === 0 ? null : newValue, name);\n }\n }\n\n return <>\n \n {touched && messages && messages.map((message) =>

{message}

)}\n {choices.map((choice) =>
)}\n \n}\n\nconst SingleChoice = ({name, label, choices, form}) => {\n const {values = {}, validation = {}, setValue} = form;\n const checked = getValue(values, name);\n const [touched, setTouched] = useState(false);\n const messages = getValue(validation, ['children', name, 'messages']);\n const handleChange = (choice) => {\n if (!touched) {\n setTouched(true);\n }\n\n if (checked !== choice) {\n setValue(choice, name);\n } else {\n setValue(null, name);\n }\n }\n\n return <>\n \n {touched && messages && messages.map((message) =>

{message}

)}\n {choices.map((choice) =>
)}\n \n}\n\nconst RenewElements = ({elements, form}) => {\n const formContainer = useFormContainer('renewData', form);\n return
\n {elements && elements.map(({name, label, placeholder, type, choices}) =>\n
\n {type === 'text' && }\n {type === 'multiChoice' && }\n {type === 'singleChoice' && }\n
)}\n
\n}\n\nconst DealFormDetailRenew = ({validation, isSubmitted, elements}) => {\n const {\n document,\n initialDocument: {renewData = {}},\n changeValues,\n } = useDocumentContext();\n\n const handleValuesChanges = useCallback((values, valid) => {\n const {note} = document;\n if (!shallowEqual({renewData}, values)) {\n changeValues(values);\n }\n }, [document, changeValues]);\n\n const validationRules = useMemo(() => ({\n renewData: {\n children: elements?.reduce((acc, {name}) => ({...acc, [name]: {required: true}}), {}) ?? {}\n }\n }), [validation, elements]);\n\n return document\n ? }/>\n : null;\n};\n\nexport default DealFormDetailRenew;","import React, {useCallback, useEffect, useMemo, useState} from \"react\";\nimport handleClick from \"@fik/utils/handleClick\";\nimport {Box} from \"@fik/ui\";\nimport {Form, FormField} from \"@mouseover/react-form\";\nimport {useDocumentContext} from \"@fik/document-edit\";\n\nconst validationRules = {\n contactFirstname: {\n required: true\n },\n contactSurname: {\n required: true\n },\n contactPosition: {\n required: true\n },\n contactEmail: {\n required: true,\n email: true\n },\n contactPhone: {\n required: false,\n pattern: {\n message: 'Špatný formát telefonu (+420...)',\n params: '^(\\\\+420)[0-9]{9}$'\n }\n }\n};\nconst DealBusinessStatus = () => {\n const {\n document,\n initialDocument,\n changeValues,\n } = useDocumentContext();\n\n\n return document ? <>\n
{document.businessStatus}
\n } /> : null;\n}\n\nexport default DealBusinessStatus;","import React, {useCallback, useEffect, useMemo, useState} from \"react\";\nimport {Box, Errors} from \"@fik/ui\";\nimport {useDocumentContext, DocumentSaved, DocumentCustomer} from \"@fik/document-edit\";\nimport {DealFormDetail, DealFormSolutions} from \"@fik/deal\";\nimport {useDials} from \"@fik/dials\";\nimport {CUSTOMER_VIEWS} from \"@fik/customer-edit\";\nimport {validateObject} from \"@mouseover/js-validation/src\";\nimport handleClick from \"../../utils/handleClick\";\nimport DocumentPartnerContainer from \"../../documentEdit/components/DocumentPartnerContainer\";\nimport usePureDataSource from \"@fik/data-source/usePureDataSource\";\nimport {shallowEqual} from \"@mouseover/js-utils\";\nimport DealResponsiblePerson, {validationRules as responsiblePersonValidationRules} from \"./DealResponsiblePerson\";\nimport DealFormDetailNew from \"./DealFormDetailNew\";\nimport DealFormDetailRenew from \"./DealFormDetailRenew\";\nimport DealBusinessStatus from \"./DealBusinessStatus\";\n\nconst localValidationRules = {\n owner: {\n required: {message: 'Není zadán koncový zákazník'},\n },\n dateExpected: {\n required: true\n },\n phaseId: {\n required: true,\n },\n successProbability: {\n required: true,\n },\n expectedSolutions: {\n required: true,\n },\n note: {\n minLength: 50\n },\n notePosition: {\n minLength: 50\n },\n noteImplementation: {\n minLength: 50\n }\n};\n\nconst solutionsValidationRules = (solutions, currentSolutions) => currentSolutions\n ? currentSolutions.reduce((rules, item, index) => {\n rules[index] = {\n children: {\n value: {\n required: true,\n min: item.minAmount\n }\n },\n id: item.id\n }\n return rules;\n }, {}) : {};\n\n\nfunction getValidationRules(validationRules, solutions, document, formType) {\n return {\n ...validationRules,\n note: {\n minLength: 50,\n required: formType === 'new'\n },\n notePosition: {\n minLength: 50,\n required: formType === 'new'\n },\n noteImplementation: {\n minLength: 50,\n required: formType === 'new'\n },\n responsiblePerson: document && document.responsiblePerson ? { required: true, children: responsiblePersonValidationRules } : {},\n expectedSolutions: {...validationRules.expectedSolutions, children: solutionsValidationRules(solutions, document.expectedSolutions)}\n };\n}\n\nconst DealForm = ({formType = 'new'}) => {\n const {products, propabilities, phases, contacts, solutions, renew} = useDials({name: 'deal', params: {contacts: true}});\n const [isSubmitted, setIsSubmitted] = useState(false);\n\n const {\n document,\n validation: {valid, validationMessages},\n saving: {saveDocument, isSaved, messages}\n } = useDocumentContext();\n\n const [validationRules, setValidationRules] = useState({});\n\n useEffect(() => {\n const current = getValidationRules(localValidationRules, solutions, document || {}, formType);\n setValidationRules((before) => shallowEqual(before, current) ? before : current);\n }, [setValidationRules, solutions, document, formType]);\n\n const validationResult = useMemo(() => validateObject(document || {}, validationRules), [document, validationRules]);\n\n const handleSave = useCallback(() => {\n setIsSubmitted(true);\n if (validationResult && validationResult.valid) {\n saveDocument('deal', document);\n }\n }, [saveDocument, document, validationResult, setIsSubmitted]);\n\n const {reset} = usePureDataSource({name: 'deal'});\n\n useEffect(() => {\n if (isSaved) {\n reset();\n }\n }, [reset, isSaved]);\n\n if (isSaved) {\n return \n

Úspěšně odesláno

\n \n
;\n }\n\n return <>\n {messages && }\n \n \n \n \n \n \n {formType === 'new' && }\n {formType === 'renew' && renew &&\n }\n \n \n \n \n
\n
\n \n
\n
\n \n};\n\nexport default DealForm;","import React, {useCallback, useMemo} from \"react\";\nimport PropTypes from 'prop-types';\nimport {useDocumentContext} from \"@fik/document-edit\";\nimport {Form} from \"@mouseover/react-form\";\nimport {DatePicker, SelectInput, TextArea} from \"@fik/form\";\nimport {shallowEqual} from \"@mouseover/js-utils\";\n\n\nconst DealFormDetail = ({contacts, phases, propabilities, validation, isSubmitted, children}) => {\n const {\n document,\n initialDocument: {dateExpected, partner, phaseId, successProbability},\n changeValues,\n } = useDocumentContext();\n\n const handleValuesChanges = useCallback((values, valid) => {\n const {dateExpected,partner,phaseId,successProbability,note} = document;\n if (!shallowEqual({dateExpected,partner,phaseId,successProbability,}, values)) {\n changeValues(values);\n }\n }, [document, changeValues]);\n\n const validationRules = useMemo(() => ({\n dateExpected: validation.dateExpected,\n phaseId: validation.phaseId,\n successProbability: validation.successProbability,\n }), [validation]);\n\n return document\n ?
\n
\n \n ({\n label: item.name,\n value: item.id\n })) : [])]}/>\n
\n
\n
\n
\n ({\n label: item.name,\n value: item.id\n })) : [])]}/>\n
\n
\n ({label: item.label, value: item.value})) : [])]}/>\n
\n
\n {children}\n
\n\n
}/>\n : null;\n};\n\nDealFormDetail.propTypes = {\n propabilities: PropTypes.array,\n phases: PropTypes.array,\n contacts: PropTypes.array\n};\n\nexport default DealFormDetail;","import {Checkbox, DatePicker, NumberInput, SelectInput} from \"@fik/form\";\nimport React, {useEffect, useMemo} from \"react\";\n\nconst SolutionFields = ({name, unit, id, products, minAmount, form, onChange}) => {\n const checked = useMemo(() => form.values.checked, [form.values]);\n useEffect(() => {\n if (!checked && form.values.value) {\n form.setValue(null, 'value');\n }\n }, [checked, form.values.value, form.setValue]);\n return
\n
\n \n
\n\n {checked\n ? <>\n
\n
\n \n \n
\n
\n
\n ({\n label: item.name,\n value: item.name\n })) : [])]}/>\n
\n
\n \n
\n \n : null\n }\n\n
;\n}\n\nexport default SolutionFields;","import React from \"react\";\nimport {useCallback, useMemo} from \"react\";\nimport {getValue, pathWithChildren} from \"@mouseover/js-utils\";\nimport {updateValue} from \"@mouseover/js-utils/src\";\nimport {useFormContainer} from \"@mouseover/react-form\";\nimport SolutionFields from \"./SolutionFields\";\nimport {useValidator} from \"@mouseover/js-validation-hook\";\n\nconst SolutionContainer = ({path, form, ...props}) => {\n const container = useFormContainer(path, form);\n const isChecked = useMemo(() => form.values[path].checked, [form.values[path]])\n return \n}\n\nconst SolutionsContainer = ({form, validationRules, ...props}) => {\n const collectionContainer = useFormCollection('expectedSolutions', form, validationRules);\n return <>{\n collectionContainer.values && collectionContainer.values.map(\n (item, index) => )\n };\n}\n\nexport default SolutionsContainer;\n\n\nconst useFormCollection = (path, form, validationRules) => {\n const {values = {}, validation = {}, defaultValues = {}, setValue, handleSubmit} = form;\n const pathMemo = useMemo(() => Array.isArray(path) ? path : [path], [path]);\n\n const addItem = useCallback((item) => {\n const collection = getValue(values, pathMemo) || [];\n setValue([...collection, item], pathMemo);\n }, [setValue, values, pathMemo]);\n\n const setValueAt = useCallback((value, index) => {\n const collection = [...(getValue(values, pathMemo) || [])];\n if (Array.isArray(index)) {\n const [currentIndex, ...currentPath] = index;\n collection.splice(currentIndex, 1, updateValue(collection[currentIndex], currentPath, value));\n } else {\n collection.splice(index, 1, value);\n }\n\n setValue(collection, pathMemo);\n }, [values, pathMemo, setValue]);\n\n const validator = useValidator(validationRules);\n const currentValidation = useMemo(() => validator.validateObject(values), [values, validator]);\n\n return {\n isSubmitted: form.isSubmitted,\n values: getValue(values, pathMemo) || [],\n setValue: setValueAt,\n addItem,\n validation: getValue(currentValidation, pathWithChildren(pathMemo)) || {children: {}, valid: true},\n defaultValues: getValue(defaultValues, pathMemo) || [],\n setValues: useCallback((values) => {\n setValue(values, pathMemo);\n }, [setValue, pathMemo]),\n handleSubmit\n }\n};\n","import React, {useCallback, useEffect, useMemo, useState} from \"react\";\nimport PropTypes from 'prop-types';\nimport {useDocumentContext} from \"@fik/document-edit\";\nimport {Form} from \"@mouseover/react-form\";\nimport {getValue, shallowEqual} from \"@mouseover/js-utils\";\nimport SolutionsContainer from \"./SolutionsContainer\";\n\n\nconst solutionsValidationRules = (solutions, validationRules) => {\n const current = validationRules && validationRules.children ? Object.fromEntries(Object.entries(validationRules.children).map(([,item]) => [item.id, item])) : {};\n return {...validationRules, children: Object.fromEntries(solutions.map((item, index) => [index, current.hasOwnProperty(item.id) ? current[item.id] : {}]))};\n};\n\nconst shallowEqualArray = (a1, a2) => {\n if (!Array.isArray(a1) || !Array.isArray(a2)) {\n return a1 !== a2;\n }\n if (a1.length !== a2.length) {\n return false;\n }\n return a1.reduce((valid, current, currentIndex) => {\n if (valid) {\n valid = shallowEqual(current, a2[currentIndex]);\n }\n return valid;\n }, true);\n}\n\nconst DealFormSolutionsWithDocument = ({solutions, products, validationRules, isSubmitted, document, changeValues}) => {\n const [initialSolutions, setInitialSolutions] = useState(null);\n const [lastSolutions, setLastSolutions] = useState(null);\n useEffect(() => {\n if (!initialSolutions) {\n const documentExpectedSolutions = getValue(document, ['expectedSolutions']) || [];\n const current = Object.fromEntries(documentExpectedSolutions.map((item) => [item.id, item]));\n const newOne = solutions.map((item) => {\n if (current.hasOwnProperty(item.id)) {\n return {\n ...current[item.id],\n checked: current.hasOwnProperty(item.id),\n name: item.name,\n minAmount: item.minAmount,\n unit: item.unit,\n };\n } else {\n return {...item, checked: false, value: null};\n }\n });\n setInitialSolutions(newOne);\n setLastSolutions(newOne);\n }\n }, [document, initialSolutions, setInitialSolutions, setLastSolutions]);\n\n const handleValuesChanges = useCallback((values, valid) => {\n const expectedSolutions = values && values.expectedSolutions ? values.expectedSolutions.filter((item) => item.checked).map(({checked, ...item}) => item) : null;\n if (!shallowEqualArray(values.expectedSolutions, lastSolutions)) {\n changeValues({expectedSolutions: expectedSolutions});\n setLastSolutions(values.expectedSolutions);\n }\n }, [changeValues, lastSolutions, setLastSolutions]);\n\n const formValidationRules = useMemo(() => ({expectedSolutions: solutionsValidationRules(solutions, validationRules.expectedSolutions)}), [solutions, validationRules]);\n\n return document\n ? <>\n
\n
Počet
\n
Současné řešení
\n
Expirace současného řešení
\n
\n \n }/>\n : null;\n}\n\nconst DealFormSolutions = (props) => {\n const {\n document,\n initialDocument: {expectedSolutions},\n changeValues,\n } = useDocumentContext();\n\n return document && props.solutions ? : null;\n};\n\nDealFormSolutions.propTypes = {\n solutions: PropTypes.array,\n products: PropTypes.array\n};\n\n\nexport default DealFormSolutions;\n\n\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {NavigationItem} from \"@fik/navigation\";\n\nconst DealLink = ({item, children, className}) => {\n return ({children});\n};\n\nDealLink.propTypes = {\n item: PropTypes.shape({\n id: PropTypes.number\n }),\n children: PropTypes.oneOfType([PropTypes.array,PropTypes.object,PropTypes.string]),\n className: PropTypes.string\n};\n\nexport default DealLink;","import React from 'react';\nimport {Table} from \"@fik/table\";\nimport {Channel} from \"@fik/components\";\nimport {Date} from \"@fik/ui\";\nimport DealLink from \"./DealLink\";\n\nconst DealsTable = (props) => {\n const columns = [\n {\n key: 'id',\n title: 'ID',\n render: ({row:item}) => (\n {item.id}\n )\n },\n {\n key: 'owner',\n title: 'Klient',\n render: ({row:item}) => (item.owner ? : null)\n },\n {\n key: 'partner',\n title: 'Partner',\n render: ({row:item}) => (item.partner ? : null)\n },\n {\n key: 'epc',\n title: 'EPC',\n render: ({row:item}) => (item.epc ? : null)\n },\n {\n key: 'dealPhaseName',\n title: 'Fáze',\n render: ({row:item}) => (\n {item.dealPhase && item.dealPhase.name}\n )\n },\n {\n key: 'dealStatusName',\n title: 'Stav',\n render: ({row:item}) => (\n {item.businessStatus}\n )\n },\n {\n key: 'successProbability',\n title: 'Pravděpodobnost',\n render: ({row:item}) => ( {item.successProbability} %)\n },\n {\n key: 'dates',\n title: 'Datum',\n render: ({row:item}) => (\n \n
\n
\n \n
\n )\n },\n {\n key: 'menu',\n title: '',\n render: ({row:item}) => {\n return (\n \n \n Zobrazit\n \n \n )\n }\n }\n ];\n\n return ;\n};\n\nexport default DealsTable;","import React, {useMemo} from 'react';\nimport {DealsTable} from \"@fik/deal\";\nimport {Paginator} from \"@fik/ui\";\nimport {Box} from \"@fik/ui\";\nimport {useDataSource, useDataSourceWithQueryParams} from \"@fik/data-source\";\n\nconst DealsPanel = ({renew = false}) => {\n const {pagination, items, handlePageChange} = useDataSourceWithQueryParams(\n {name: 'deal', initialSearchParams: {renew}}\n );\n\n return (\n \n \n \n \n )\n};\n\nexport default DealsPanel;","import React, {useState} from 'react';\nimport DealsPanel from \"../../components/DealsPanel\";\nimport handleClick from \"@fik/utils/handleClick\";\n\nconst VIEWS = {\n NEW: 'NEW',\n RENEW: 'RENEW'\n};\n\nconst Deals = () => {\n const [view, setView] = useState(VIEWS.NEW);\n return (\n <>\n
\n \n
\n {view === VIEWS.NEW ?
\n \n
: null}\n {view === VIEWS.RENEW ?
\n \n
: null}\n
\n
\n
\n \n )\n};\n\nexport default Deals;","import React from 'react';\nimport {Box} from \"@fik/ui\";\nimport {OffersList, OffersFilter} from \"@fik/offer\";\nimport {useDials} from \"@fik/dials\";\nimport {useDataSource, useDataSourceWithQueryParams} from \"@fik/data-source\";\nimport arrayToDictionary from \"@fik/utils/arrayToDictionary\";\n\nconst DEFAULT_PARAMS = {\n fulltext: null,\n state: null\n};\n\nconst ProjectPrices = () => {\n\n const {types, states} = useDials({name: 'projectPrice'});\n const {pagination, items, setSearchParams, handlePageChange, queryParams, refresh, handleSearch} = useDataSourceWithQueryParams(\n {\n name: 'ProjectPrice',\n initialSearchParams: {type: 'all'},\n defaultParams: DEFAULT_PARAMS\n }\n );\n\n return (\n \n \n\n \n\n \n );\n};\n\n\nexport default ProjectPrices;","import React from 'react';\nimport {Table} from \"@fik/table\";\nimport {Price} from \"@fik/ui\";\n\nconst renderRow = (props) => {\n const {row} = props;\n if (row && row.itemType === 'typPolozky.text') {\n return
\n }\n return null;\n};\n\nconst EvidenceItems = (props) => {\n\n const visiblePrices = props.visiblePrices || true;\n\n const columns = [\n {\n key: 'item',\n title: 'Označení',\n render: ({row:item}) => (\n \n {item.itemCode} {item.itemName}\n \n )\n },\n {\n key: 'itemAmount',\n title: 'Množství',\n render: ({row:item}) => (\n {item.itemAmount || '--'}\n )\n },\n {\n key: 'itemUnitPrice',\n title: 'Cena za MJ',\n className: 'text-right',\n render: ({row:item}) => (),\n visible: visiblePrices\n },\n {\n key: 'itemBasePrice',\n title: 'Základ',\n className: 'text-right',\n render: ({row:item}) => (),\n visible: visiblePrices\n },\n {\n key: 'itemVat',\n title: 'DPH',\n className: 'text-right',\n render: ({row:item}) => (),\n visible: visiblePrices\n },\n {\n key: 'itemPrice',\n title: 'Celkem',\n className: 'text-right',\n render: ({row:item}) => (),\n visible: visiblePrices\n }\n ];\n\n return
{row.itemName}
;\n};\n\n\nexport default EvidenceItems;","import React from 'react';\nimport EvidenceItems from \"./EvidenceItems\";\nimport {Date} from \"@fik/ui\";\nimport {Status} from \"@fik/document\";\nimport {Price} from \"@fik/ui\";\nimport {Box} from \"@fik/ui\";\n\nconst InvoiceDetail = ({entity, dials}) => {\n\n if (!entity) {\n return null;\n }\n\n return (<>\n

{entity.code}

\n
\n
\n
Typ: {entity.documentType}
\n
VS: {entity.variableSym}
\n
Typ platby: {entity.paymentMethod}
\n
Stav:
\n
\n
\n
{entity.companyName}
\n
{entity.companyId}
\n
{entity.contactEmail}
\n
\n
\n
Vystaveno:
\n
Datum splatnosti:
\n
Datum uskutečnění zdanitelného plnění:
\n
\n
\n
\n
\n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Cena bez DPH :
Cena s DPH :
Zbývá uhradit:
\n
\n
\n
\n )\n};\n\nexport default InvoiceDetail;","import React from 'react';\nimport {Table} from '@fik/table';\nimport {Date, Price} from \"@fik/ui\";\nimport {DownloadLink} from \"@fik/ui\";\n\nconst InvoicesTable = (props) => {\n const columns = [\n {\n key: 'code',\n title: 'ID',\n render: ({row:item}) => item.code\n },\n {\n key: 'variableSym',\n title: 'VS',\n render: ({row:item}) => (\n {item.variableSym}\n )\n },\n {\n key: 'companyName',\n title: 'Klient',\n render: ({row:item}) => (\n \n \n {item.companyName}\n \n {item.contactEmail ? (
\n {item.contactEmail}\n
) : null}\n
\n )\n },\n\n {\n key: 'dueDate',\n title: 'Splatnost',\n render: ({row:item}) => (\n \n )\n },\n {\n key: 'dateCreated',\n title: 'Vystaveno',\n render: ({row:item}) => (\n \n )\n },\n {\n key: 'basePrice',\n title: 'Celkem bez DPH',\n render: ({row:item}) => ()\n },\n {\n key: 'leftToPay',\n title: 'Zbývá uhradit',\n render: ({row:item}) => ()\n },\n {\n key: 'state',\n title: 'Stav',\n render: ({row:item}) => ()\n },\n {\n key: 'menu',\n title: '',\n className: 'text-right',\n render: ({row:item}) => {\n return (\n <>\n \n Stáhnout\n \n \n )\n }\n }\n ];\n\n return ;\n};\n\nexport default InvoicesTable;\n\nconst InvoiceState = ({canceled, overdue, isPaid}) => {\n\n let className = 'label ';\n let label = '';\n\n if (canceled) {\n label = 'Zrušená';\n className += 'label-default';\n } else if (isPaid) {\n label = 'Uhrazeno';\n className += 'label-success';\n } else if (!isPaid && !overdue) {\n label = 'Neuhrazeno';\n className += 'label-info';\n } else if (!isPaid && overdue) {\n label = 'Po splatnosti';\n className += 'label-danger';\n }\n\n return {label};\n}","import React from 'react';\nimport {InvoicesTable} from \"@fik/invoice\";\nimport {Paginator, Box} from \"@fik/ui\";\nimport {useDataSource, useDataSourceWithQueryParams} from \"@fik/data-source\";\n\nconst Invoices = () => {\n const {pagination, items, handlePageChange} = useDataSourceWithQueryParams(\n {name: 'invoice', initialSearchParams: {}}\n );\n\n return (\n \n \n \n \n );\n};\n\nexport default Invoices;","import React, {useCallback, useEffect} from 'react';\nimport {AddressBookForm} from \"@fik/components\";\nimport {useEntityAction, usePureEntity} from \"@fik/entity\";\n\nconst AddressBook = () => {\n\n // contact to edit\n const [{entity: addressBook}, load] = usePureEntity({name: 'resellerProfile', params: {action: 'address-book'}});\n\n // save\n const [{isSuccess}, save] = useEntityAction({name: 'resellerProfile', action: 'saveAddressBook'});\n\n //- load on first render (load callback should not change)\n useEffect(() => load(), [load]);\n\n //- refresh after save\n useEffect(() => {\n if (isSuccess) {\n load();\n }\n }, [load, isSuccess]);\n\n const handleSubmit = useCallback((values) => {\n save({values});\n }, [save]);\n\n if (!addressBook) {\n return null;\n }\n\n return ;\n};\n\nexport default AddressBook;","import React, {useCallback, useEffect} from 'react';\nimport {BranchOfficeForm} from \"@fik/components\";\nimport {useEntityAction, usePureEntity} from \"@fik/entity\";\n\nconst BranchOffice = () => {\n // contact to edit\n const [{entity: branchOffice}, load] = usePureEntity({name: 'resellerProfile', params: {action: 'branch-office'}});\n // save\n const [{isSuccess}, save] = useEntityAction({name: 'resellerProfile', action: 'saveBranchOffice'});\n\n //- load on first render (load callback should not change)\n useEffect(() => load(), [load]);\n\n //- refresh after save\n useEffect(() => {\n if (isSuccess) {\n load();\n }\n }, [load, isSuccess]);\n\n const handleSubmit = useCallback((values) => {\n save({values});\n }, [save]);\n\n if (!branchOffice) {\n return null;\n }\n\n return ;\n};\n\nexport default BranchOffice;","import React from 'react';\nimport {Box, Col, Row} from \"@fik/ui\";\nimport AddressBook from \"./AddressBook/AddressBook\";\nimport BranchOffice from \"./BranchOffice/BranchOffice\";\nimport {useEntity} from \"@fik/entity\";\n\nconst Settings = () => {\n const {\n entity: resellerProfile\n } = useEntity({name: 'profile'}, null);\n\n if (!resellerProfile) {\n return null;\n }\n\n return (\n \n \n {resellerProfile.branchOffice && resellerProfile.branchOffice.branchOfficeId\n ? \n : }\n \n \n );\n};\n\nexport default Settings;","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {Table} from \"@fik/table\";\nimport {useEntity} from \"@fik/entity\";\nimport {NavigationItem} from \"@fik/navigation\";\n\nconst tagsMap = {\n 'ROLE_OBCHODNIK': {label: 'obchodník', className: 'default'},\n 'ROLE_FAKTURACE': {label: 'fakturace', className: 'default'},\n 'ROLE_TECHNIK': {label: 'technik', className: 'default'},\n 'ROLE_NOTALLOWED_RZ': {label: 'zakázané přihlášení do PZ', className: 'warning'},\n 'NEAKTIVNI': {label: 'neaktivní', className: 'danger'},\n};\n\nconst Tag = ({tag}) => {\n const def = tagsMap[tag] || null;\n return (def ? ({def.label}) : null);\n};\n\nTag.propTypes = {\n tag: PropTypes.string\n};\n\n\nconst ContactList = () => {\n\n const {contact: contacts} = useEntity({name: 'contact'}, null);\n\n if (!contacts) {\n return null;\n }\n\n return
(row.contactTags.map((tag) => ())),\n },\n {\n key: 'menu',\n render: function renderMenu({row: {contactId}}) {\n return (\n contactId ? <>\n \n Upravit\n \n\n \n Zažádat o certifikaci\n \n\n : null\n );\n }\n },\n ]}\n rows={contacts}\n primary='username'/>;\n};\n\nexport default ContactList;","import React from 'react';\nimport {Box, Col, Row} from \"@fik/ui\";\nimport ContactList from \"../../Contact/ContactList/ContactList\";\nimport {NavigationItem} from \"@fik/navigation\";\n\nconst Contacts = () => (\n \n \n \n \n \n Přidat nového obchodníka\n \n \n);\n\nexport default Contacts;","import React from 'react';\n\nconst months = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];\n\nconst reportTable = (props) => {\n const data = [];\n for (let key in props.stats) {\n if (props.stats.hasOwnProperty(key)) {\n data.push({year: key, months: props.stats[key]});\n }\n }\n\n return (\n
\n \n \n \n {months.map(month => ())}\n \n \n \n {data.map((row) => (\n \n \n {months.map(month => ())}\n \n ))}\n \n
 {month}
{row.year}{props.formatValue(row.months[month]) || '-'}
\n )\n};\n\nexport default reportTable;","import React from 'react';\nimport {Bar} from 'react-chartjs-2'\nimport {Box, Col, Price, Row} from \"@fik/ui\";\nimport ReportTable from \"./ReportTable/ReportTable\";\nimport {useEntity} from \"@fik/entity\";\n\nconst Reports = () => {\n\n const {\n entity: resellerProfile\n } = useEntity({name: 'profile'}, null);\n\n const {entity:loyalties} = useEntity({name: 'loyalties'});\n\n\n if (!resellerProfile && !loyalties) {\n return null;\n }\n\n const {\n stats,\n turnovers\n } = resellerProfile;\n\n let turnoversTable = {};\n if (stats && stats.turnovers && stats.turnovers.ownerPrices) {\n if (stats.turnovers.ownerPrices.previousYear) {\n turnoversTable = {...turnoversTable, ...stats.turnovers.ownerPrices.previousYear.groupedOwnerPrice};\n }\n\n if (stats.turnovers.ownerPrices.thisYear) {\n turnoversTable = {...turnoversTable, ...stats.turnovers.ownerPrices.thisYear.groupedOwnerPrice};\n }\n }\n\n return (\n <>\n \n \n \n {loyalties ? : null}\n {stats ? (\n ({month && month.percent ? month.percent : '-'})}/>\n ) : null}\n \n \n \n\n \n \n \n {turnovers ? : null}\n {turnoversTable ? (\n ({value ? : '-'})}/>\n ) : null}\n \n \n \n \n )\n};\n\nexport default Reports;","import React from 'react';\nimport {Document} from \"@fik/document\";\nimport {Spinner} from \"@fik/loading\";\n\nconst OrderDocument = (props) => ({props.entity ? : });\n\nexport default OrderDocument;","import React from 'react';\nimport {NavigationItem} from \"@fik/navigation\";\n\nconst OrderLink = ({id, code, children, ...props}) => {\n return ({children || code});\n};\n\nexport default OrderLink;","import {EvidenceItems} from '@fik/evidence-item';\nimport React from \"react\";\n\nconst OrdersTableRowDetail = ({order: {evidenceItems}}) => {\n return <>\n
\n {evidenceItems ? : null}\n
\n \n};\n\nexport default OrdersTableRowDetail;","import React from 'react';\nimport {Table, useRowDetail} from \"@fik/table\";\nimport {\n DocumentBasePrice,\n DocumentCreatedDate,\n DocumentEPC, DocumentOwner,\n DocumentPartner,\n DocumentStatus,\n DocumentType,\n DocumentResellerContact\n} from \"@fik/document\";\nimport OrderLink from \"./OrderLink\";\nimport OrdersTableRowDetail from \"./OrdersTableRowDetail\";\nimport {OrderMenu} from \"./index\";\n\n\n\nconst OrdersTable = ({rows, statesDict, typesDict}) => {\n const {toggleRow, isVisibleRow} = useRowDetail();\n\n return (isVisibleRow(primaryValue) ?\n \n \n : null)}\n primary='id'>\n\n \n \n \n \n \n \n \n \n \n \n\n
\n \n
;\n};\n\nexport default OrdersTable;","import React from \"react\";\nimport {ToggleRowDetailButton} from \"@fik/table\";\n\nexport {default as OrderDocument} from \"./OrderDocument\";\nexport {default as OrderLink} from \"./OrderLink\";\nexport {default as OrdersFilter} from \"./OrdersFilter\";\nexport {default as OrdersTable} from \"./OrdersTable\";\nexport {default as OrdersTableRowDetail} from \"./OrdersTableRowDetail\";\n\nexport const OrderMenu = ({primaryValue, isVisibleRow, toggleRow}) => ;","import React from 'react';\nimport {OrdersTable} from \"@fik/order\";\nimport {FilterBar, Paginator} from \"@fik/ui\";\nimport {Box} from \"@fik/ui\";\nimport {useDials} from \"@fik/dials\";\nimport {useDataSourceWithQueryParams} from \"@fik/data-source\";\nimport arrayToDictionary from \"@fik/utils/arrayToDictionary\";\n\nconst DEFAULT_PARAMS = {\n fulltext: null,\n state: 'stavDoklObch.schvaleno'\n};\n\nconst INITIAL_SEARCH_PARAMS = {};\n\nconst Orders = () => {\n\n const {types, states} = useDials({name: 'order'});\n const {pagination, items, setSearchParams, handlePageChange, queryParams, refresh, handleSearch} = useDataSourceWithQueryParams(\n {\n name: 'order',\n initialSearchParams: INITIAL_SEARCH_PARAMS,\n defaultParams: DEFAULT_PARAMS\n }\n );\n\n return (\n \n \n \n\n \n \n );\n};\n\nexport default Orders;\n\nconst OrdersFilter = (props) => {\n return (\n \n );\n};","import {Modal} from \"@fik/ui\";\nimport handleClick from \"@fik/utils/handleClick\";\nimport React, {useCallback, useMemo} from \"react\";\nimport {Form} from \"@mouseover/react-form\";\nimport {TextInput} from \"@fik/form\";\n\nconst ConfirmOrderModal = ({entity, modal, orderOffer}) => {\n\n const handleSubmit = useCallback((values, valid) => {\n if (valid) {\n orderOffer(entity.id, values);\n modal.hide();\n }\n }, [orderOffer, modal, entity]);\n\n const values = useMemo(() => ({customContractId: entity.customContractId}), [entity]);\n\n return <>\n \n

Objednat

\n }\n >\n \n \n )}>\n \n \n
\n \n \n};\n\nexport default ConfirmOrderModal;\n\n","import React, {useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport {OfferDocument} from '@fik/offer';\nimport {useEntity} from \"@fik/entity\";\nimport {useDials} from \"@fik/dials\";\nimport ConfirmOrderModal from \"./ConfirmOrderModal\";\nimport {useModal} from \"@fik/ui\";\nimport {useDocumentOperation} from \"@fik/document-edit\";\nimport useIsEpc from \"../../useIsEpc\";\n\nconst Offer = ({id}) => {\n const {offer} = useEntity({name: 'offer'}, id);\n const dials = useDials({name: 'offer'});\n const modal = useModal();\n const {perform: orderOffer, isSuccess: isOrdered} = useDocumentOperation('orderOffer');\n\n return <>\n {offer ? : null}\n \n\n ;\n};\n\nOffer.propTypes = {\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n};\n\nexport default Offer;","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {Box} from \"@fik/ui\";\n\nimport {useEntity} from \"@fik/entity\";\nimport {useDials} from \"@fik/dials\";\nimport {OrderDocument} from \"@fik/order\";\nimport useIsEpc from \"../../useIsEpc\";\n\nconst Order = ({id}) => {\n\n const {order} = useEntity({name: 'order'}, id);\n const dials = useDials({name: 'order'});\n\n return (\n \n \n \n )\n};\n\nOrder.propTypes = {\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n};\n\nexport default Order;","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {Box} from \"@fik/ui\";\nimport {InvoiceDetail} from \"@fik/invoice\";\nimport {useDials} from \"@fik/dials\";\nimport {useEntity} from \"@fik/entity\";\n\nconst Invoice = ({id}) => {\n const {invoice} = useEntity({name: 'invoice'}, id);\n const dials = useDials({name: 'invoice'});\n\n return (\n \n \n \n )\n};\n\nInvoice.propTypes = {\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n};\n\n\nexport default Invoice;","import React from 'react';\nimport {DocumentEntityCreate} from \"@fik/document-edit\";\nimport useIsEpc from \"../../useIsEpc\";\n\nconst OrderCreate = (props) => ;\n\nexport default OrderCreate;","import React, {useState, useCallback, useEffect} from 'react';\nimport {Box, Col, Row} from \"@fik/ui\";\nimport {Calculator, useEvidenceItemsStorage} from \"@fik/calculator\";\nimport handleClick from \"@fik/utils/handleClick\";\nimport {emptyItem} from \"@fik/model/createEvidenceItemModel\";\nimport {NavigationItem} from \"@fik/navigation\";\nimport {EvidenceItems} from \"@fik/evidence-item\";\nimport {useNavigate} from \"@fik/page\";\nimport {Redirect} from \"react-router-dom\";\nimport {isEmpty} from \"@mouseover/js-utils/src\";\n\nconst CalculatorAndPriceLists = () => {\n const [calculationData, setCalculationData] = useState(null);\n\n const handleShowCalculator = useCallback((selectType) => {\n setCalculationData({\n initialSelection: {\n ...emptyItem,\n selectType\n }\n });\n }, [setCalculationData]);\n\n const [evidenceItem, setEvidenceItem] = useState(null);\n const [orderEvidenceItem, setOrderEvidenceItem] = useState(null);\n const {addEvidenceItem, removeEvidenceItem, clearEvidenceItems, evidenceItems} = useEvidenceItemsStorage();\n\n useEffect(() => {\n clearEvidenceItems();\n }, [clearEvidenceItems])\n\n const navigate = useNavigate();\n\n const handleOrderEvidenceItem = useCallback((item) => {\n if (item) {\n let index = evidenceItems.indexOf(item);\n if (index < 0) {\n addEvidenceItem(item);\n index = 0;\n }\n\n setOrderEvidenceItem(index);\n }\n }, [evidenceItems]);\n\n const handleEvidenceItem = useCallback((evidenceItem) => {\n setEvidenceItem(evidenceItem);\n }, [setEvidenceItem]);\n\n if (!isEmpty(orderEvidenceItem)) {\n return \n }\n\n return <>\n \n \n \n
\n
\n
\n \n
\n
\n Vypočítat cenu nové licence \n

Nová licence

\n
\n
\n
\n \n \n
\n \n \n \n \n \n Update, enlarge, upgrade stávající licence \n

Existující licence

\n \n
\n
\n \n \n \n
\n
\n
\n \n
\n
\n Ceníky ve formátu PDF a XLS ke stažení\n

Všechny ceníky

\n
\n
\n
\n
\n \n
\n {calculationData ?\n : null}\n \n \n {evidenceItem ?
\n \n \n
: null}\n \n
\n
\n\n {evidenceItems.length > 0 ?\n }\n >\n (\n <>\n \n \n \n )}\n />\n : null}\n ;\n};\n\nexport default CalculatorAndPriceLists;","import React from 'react';\nimport {DocumentEntityCreate} from \"@fik/document-edit\";\nimport useIsEpc from \"../../useIsEpc\";\n\nconst OfferCreate = (props) => ;\n\nexport default OfferCreate;","import React from 'react';\nimport {DocumentEntityCreate} from \"@fik/document-edit\";\nimport useIsEpc from \"../../useIsEpc\";\n\nconst ProjectPriceCreate = (props) => ;\n\nexport default ProjectPriceCreate;","import React, {useCallback, useEffect, useState} from 'react';\nimport {Selector, useEvidenceItemCalculator} from \"@fik/calculator\";\nimport {useDocumentSave} from \"@fik/document-edit\";\nimport {Box, Col, Errors, Row} from \"@fik/ui\";\nimport {ResellerByRidFinder} from \"@fik/reseller-edit\";\nimport DocumentSaved from \"@fik/document-edit/components/DocumentSaved\";\n\nconst defaultProps = {initialSelection: {selectType: 'nfr'}};\n\nconst NfrOrderForm = () => {\n const [document, setDocument] = useState({documentType: 'nfr-order', evidenceItems: []});\n\n const {\n types,\n products,\n periods,\n evidenceItem,\n form,\n selectPartner,\n minimum,\n maximum,\n itemMessages\n } = useEvidenceItemCalculator(defaultProps);\n\n const {\n saveDocument,\n isSaved,\n messages,\n documentType\n } = useDocumentSave();\n\n useEffect(() => {\n setDocument((current) => {\n if (evidenceItem && (current.evidenceItems.length === 0 || current.evidenceItems[0] !== evidenceItem)) {\n return {...current, evidenceItems: [evidenceItem]};\n } else if (!evidenceItem && current.evidenceItems.length > 0) {\n return {...current, evidenceItems: []};\n }\n return current;\n });\n }, [evidenceItem, document]);\n\n const handleSave = useCallback(() => {\n saveDocument(document.documentType, document);\n }, [document, saveDocument]);\n\n const handleChangeReseller = useCallback((partner) => {\n setDocument(current => ({...current, partner}));\n }, []);\n\n if (isSaved) {\n return \n \n \n

Úspěšně odesláno

\n \n
\n \n
;\n }\n\n return <>\n {messages ? : null}\n
\n {selectPartner\n ?
\n \n \n \n
\n : null}\n
\n\n \n {itemMessages ? : null}\n \n {evidenceItem ? : null}\n
\n
\n NFR licenci produktu ESET PROTECT Advanced, ESET Secure Authetication, nebo ESET Endpoint Encryption generujeme v maximálním počtu odpovídající partnerské kategorii.\n Nelze tedy objednat více menších licencí. V případě že požadujete pro vlastní ochranu, nebo testy využívat vyšší firemní řešení, nebo vyšší počet licencí, než je určeno pro partnerskou kategorii,\n informace o podmínkách najdete zde. Po odeslání vašeho požadavku vás budeme kontaktovat do dvou pracovních dnů.\n
\n
\n
\n
\n
\n ;\n};\n\nexport default NfrOrderForm;","import React from 'react';\nimport {useEntity} from \"@fik/entity\";\nimport {NavigationItem} from \"@fik/navigation\";\n\nconst NfrCreditInfo = () => {\n const {\n entity: nfrCredit\n } = useEntity({name: 'resellerProfile', alwaysFetch: true, params: {action: 'nfr-credit'}, timeToRefresh: -1}, null);\n\n if (nfrCredit) {\n return
\n }\n return null;\n\n};\n\nexport default NfrCreditInfo;","import React from 'react';\nimport NfrOrderForm from \"../components/NfrOrder/NfrOrderForm\";\nimport NfrCreditInfo from \"../components/NfrOrder/NfrCreditInfo\";\n\nconst OrderNfr = () => <>\n \n \n;\n\nexport default OrderNfr;","import {useReducer, useCallback} from 'react';\n\nconst ADD_PRODUCT = 'ADD_PRODUCT';\nconst REMOVE_PRODUCT = 'REMOVE_PRODUCT';\nconst REMOVE_ALL = 'REMOVE_ALL';\nconst CHANGE_QUANTITY = 'CHANGE_QUANTITY';\n\nconst initialState = {\n products: [],\n total: 0\n};\n\nconst productPrice = (product) => product.productBasePrice * product.quantity;\nconst productsSum = (products) => products.reduce((sum, product) => sum + productPrice(product), 0);\n\nconst basketReducer = (initialState) => (state = initialState, action) => {\n switch (action.type) {\n case ADD_PRODUCT:\n\n return {\n ...state,\n products: [...state.products, action.product],\n total: state.total + productPrice(action.product)\n };\n case REMOVE_PRODUCT:\n const newProducts = [...state.products];\n newProducts.splice(action.index, 1);\n return {\n ...state,\n products: newProducts,\n total: productsSum(newProducts)\n };\n case CHANGE_QUANTITY:\n const changedProducts = [...state.products];\n changedProducts[action.index] = {...changedProducts[action.index], quantity: action.quantity};\n return {\n ...state,\n products: changedProducts,\n total: productsSum(changedProducts)\n };\n\n case REMOVE_ALL:\n return {\n ...initialState\n };\n\n default:\n return state;\n }\n};\n\nconst useCart = () => {\n const [state, dispatch] = useReducer(basketReducer(initialState), initialState);\n\n const addProduct = useCallback((product) => {\n const existingIndex = state.products.findIndex((current) => current.productId === product.productId);\n if (existingIndex !== -1) {\n dispatch({type: CHANGE_QUANTITY, index:existingIndex, quantity: state.products[existingIndex].quantity + product.quantity});\n } else {\n dispatch({type: ADD_PRODUCT, product});\n }\n }, [dispatch, state]);\n\n const removeProduct = useCallback((index) => {\n dispatch({type: REMOVE_PRODUCT, index});\n }, [dispatch]);\n\n const changeQuantity = useCallback((index, quantity) => {\n dispatch({type: CHANGE_QUANTITY, index, quantity});\n // if (Number(quantity) === 0) {\n // dispatch({type: REMOVE_PRODUCT, index});\n // } else {\n // dispatch({type: CHANGE_QUANTITY, index, quantity});\n // }\n }, [dispatch]);\n\n const clearBasket = useCallback((index) => {\n dispatch({type: REMOVE_PRODUCT, index});\n }, [dispatch]);\n\n return {\n addProduct,\n removeProduct,\n changeQuantity,\n clearBasket,\n products: state.products,\n total: state.total\n }\n};\n\nexport default useCart;","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {Price} from \"@fik/ui\";\n\nconst Cart = ({products, onChangeQuantity, onRemoveProduct, total}) => {\n\n if (!products) {\n return null;\n }\n\n return
\n \n \n \n \n \n \n \n \n \n \n {products.map(({productName, productBasePrice, quantity}, index) => (\n \n \n \n \n \n ))}\n\n \n\n \n \n \n \n \n
NázevJednotková cena [Kč]MnožstvíCelkem [Kč]\n
\n

{productName}

\n
\n onChangeQuantity(index, parseInt(event.target.value))}/>\n \n \n \n \n
\n

Celkem:

\n
\n

\n
 
\n
\n};\n\nCart.propTypes = {\n products: PropTypes.array,\n onChangeQuantity: PropTypes.func,\n onRemoveProduct: PropTypes.func,\n total: PropTypes.number\n};\n\nexport default Cart;","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport {Form, FormField} from \"@mouseover/react-form\";\nimport {AddressFields, ContactFields} from \"@fik/components\";\n\nconst validationRules= {\n\n};\n\nconst ShipmentForm = ({values, onValuesChange}) => {\n return \n <>\n
\n
\n

Dodací adresa

\n \n \n
\n
\n

Kontaktní osoba

\n \n
\n
\n
\n
\n \n
\n
\n \n )}>\n \n};\n\nShipmentForm.propTypes = {\n values: PropTypes.object,\n onValuesChange: PropTypes.func\n};\n\nexport default ShipmentForm;","import React, {useCallback, useState} from \"react\";\nimport PropTypes from 'prop-types';\nimport {Price, WithoutCode} from \"@fik/ui\";\nimport handleClick from \"@fik/utils/handleClick\";\nimport {useSelector} from \"react-redux\";\n\n\nconst Product = ({product, onAddProduct}) => {\n const {attachmentPath, productBasePrice, productUnit, productName} = product;\n const [quantity, setQuantity] = useState(1);\n\n const onAddButtonClick = useCallback(() => {\n if (onAddProduct) {\n onAddProduct({...product, quantity});\n }\n setQuantity(1);\n }, [onAddProduct, product, quantity]);\n\n const token = useSelector((state) => {\n return state.auth.token;\n },\n []);\n\n return
\n
\n
\n {attachmentPath\n ?
\n

{productName}

\n
\n
\n
\n
\n Počet:
setQuantity(parseInt(event.target.value))}/>\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
;\n};\n\nProduct.propTypes = {\n product: PropTypes.object,\n onAddProduct: PropTypes.func\n};\n\nexport default Product;","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Product from \"./Product\";\n\nconst ProductsGrid = ({products, onAddProduct}) => {\n return
\n {products.map((product) => )}\n
;\n};\n\nProductsGrid.propTypes = {\n products: PropTypes.array,\n onAddProduct: PropTypes.func\n};\n\nexport default ProductsGrid;","import React, {useCallback, useEffect, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport ShipmentForm from \"./ShipmentForm\";\nimport {Box} from \"@fik/ui\";\nimport Cart from \"./Cart\";\nimport useCart from \"./../useCart\";\nimport {useEntity} from \"@fik/entity\";\nimport ProductsGrid from \"./ProductsGrid\";\nimport {useDocumentSave} from \"@fik/document-edit\";\nimport {Errors} from \"@fik/ui\";\n\nconst CategoryContent = ({category, cart, level}) => {\n if (category) {\n let products = null;\n let categories = null;\n if (category.products) {\n products = \n }\n if (category.subNodes) {\n categories = category.subNodes.map((category) => );\n }\n return <>\n {products}\n {categories}\n ;\n }\n return null;\n};\n\nCategoryContent.propTypes = {\n category: PropTypes.shape({\n products: PropTypes.array,\n subNodes: PropTypes.array,\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n }),\n cart: PropTypes.object,\n level: PropTypes.number\n};\n\nconst Category = ({category, cart, level}) => {\n if (category) {\n const Heading = `h${level}`;\n return <>\n {category.name}\n \n ;\n }\n return null;\n};\n\nCategory.propTypes = {\n category: PropTypes.object,\n cart: PropTypes.object,\n level: PropTypes.number\n};\n\nconst Eshop = ({code, onLoading, onSaved}) => {\n const {\n entity: resellerProfile,\n loading: resellerProfileLoading\n } = useEntity({name: 'resellerProfile', params: {action: 'reseller-profile-for-eshop'}}, null);\n\n const {entity: rootCategory, loading: productTreeLoading} = useEntity({\n name: 'productTree',\n }, code);\n\n const cart = useCart();\n const [valid, setValid] = useState(false);\n const [profile, setProfile] = useState(null);\n\n const {\n saveDocument,\n isSaving,\n isSaved,\n messages\n } = useDocumentSave();\n\n useEffect(() => {\n if (isSaved && onSaved) {\n onSaved();\n }\n }, [isSaved, onSaved]);\n\n const handleSave = useCallback(() => {\n saveDocument('eshop-order', {cart: cart.products, profile: profile});\n }, [cart.products, profile, saveDocument]);\n\n const handleValuesChange = useCallback((newValues, isValid) => {\n setValid(isValid);\n setProfile(newValues);\n }, [setValid]);\n\n useEffect(() => {\n if (!profile && resellerProfile) {\n setValid(true);\n setProfile(resellerProfile)\n }\n }, [resellerProfile, profile]);\n\n useEffect(() => {\n if (onLoading) {\n onLoading(isSaving || productTreeLoading || resellerProfileLoading);\n }\n }, [onLoading, isSaving, productTreeLoading, resellerProfileLoading]);\n\n return
\n {messages ? : null}\n \n \n {cart.products && cart.products.length > 0\n ? \n :
Pusto a prázdno.
}\n
\n\n \n {resellerProfile ? : null}\n \n\n {valid && cart.products && cart.products.length > 0 ?\n : null}\n
\n};\n\nEshop.propTypes = {\n code: PropTypes.string.isRequired,\n onLoading: PropTypes.func\n};\n\nexport default Eshop;","import React, {useCallback, useState} from 'react';\nimport {Eshop} from \"@fik/eshop\";\nimport {Redirect} from \"react-router-dom\";\nimport {useNavigation} from \"@fik/navigation\";\n\nconst BoxEshop = () => {\n const {routes} = useNavigation();\n const [isSaved, setIsSaved] = useState(false);\n const handleSaved = useCallback(() => {\n setIsSaved(true);\n }, [setIsSaved]);\n\n return isSaved ? : ;\n}\n\nexport default BoxEshop;","import React, {useCallback, useState} from 'react';\nimport {Eshop} from \"@fik/eshop\";\nimport {useNavigation} from \"@fik/navigation\";\nimport {Redirect} from \"react-router-dom\";\n\nconst MarketingEshop = () => {\n const {routes} = useNavigation();\n const [isSaved, setIsSaved] = useState(false);\n const handleSaved = useCallback(() => {\n setIsSaved(true);\n }, [setIsSaved]);\n\n return isSaved ? : ;\n}\n\nexport default MarketingEshop;","import React, {useEffect, useMemo, useState} from \"react\";\nimport {DealForm} from \"@fik/deal\";\nimport {DocumentProvider} from \"@fik/document-edit\";\nimport useIsEpc from \"../../useIsEpc\";\nimport {Col, Row} from \"@fik/ui\";\nimport {useEntity, usePureEntity} from \"@fik/entity\";\nimport handleClick from \"@fik/utils/handleClick\";\n\nconst defaultDocument = {\n id: null,\n dateCreated: null,\n dateExpected: null,\n dateExpiration: null,\n phaseId: null,\n successProbability: null,\n statusId: null,\n closedId: null,\n opportunityId: null,\n dealClosed: null,\n dealPhase: null,\n dealStatus: null,\n staffId: null,\n note: null,\n opportunity: null,\n owner: null,\n partner: null,\n epc: null,\n documentType: 'deal',\n expectedSolutions: null,\n businessStatus: null,\n responsiblePerson: {\n contactFirstname: null,\n contactSurname: null,\n contactPosition: null,\n contactEmail: null,\n contactPhone: null\n }\n};\n\n\nconst NewDeal = ({offerId, initialFormType = null}) => {\n\n const isEpc = useIsEpc();\n const [{entity: offer}, load] = usePureEntity({name: 'offer'});\n const [formType, setFormType] = useState(initialFormType);\n\n useEffect(() => {\n if (offerId) {\n load({id: offerId});\n }\n }, [offerId, load]);\n\n const document = useMemo(() => ({...defaultDocument, owner: offer ? offer.owner : null, renew: formType === 'renew'}), [offer, formType]);\n\n if (offerId && !offer) {\n return null;\n }\n return \n \n {formType === null && <>\n \n
\n
\n
\n \n
\n
\n

Registrace NOVÉ
licence

\n
\n
\n
\n \n \n
\n \n \n \n \n \n

Registrace EXISTUJÍCÍ
licence

\n \n
\n
\n \n }\n {formType && }\n
\n
;\n};\n\nexport default NewDeal;","import React from 'react';\nimport ProptTypes from 'prop-types';\nimport {useCmsArticle, TextPage} from \"@fik/cms\";\nimport {DateTime} from \"@fik/ui\";\n\nconst Article = ({id}) => {\n const {result: article} = useCmsArticle(id);\n\n if (!article){\n return null;\n }\n\n const {title, date, author, html} = article;\n\n return
\n
\n
\n
{title}
\n
\n
\n
\n
\n
\n
\n \n \n {author}\n
\n
\n
\n
\n
\n
\n
;\n};\n\nArticle.propTypes = {\n id: ProptTypes.string\n};\n\nexport default Article;","import React from \"react\";\nimport PropTypes from 'prop-types';\nimport {DealForm} from \"@fik/deal\";\nimport {DocumentProvider} from \"@fik/document-edit\";\nimport {useEntity} from \"@fik/entity\";\nimport useIsEpc from \"../../useIsEpc\";\nimport {Col, Row} from \"@fik/ui\";\n\n\nconst EditDeal = ({id}) => {\n\n const {deal} = useEntity({name: 'deal'}, id);\n const isEpc = useIsEpc();\n\n return deal ? \n \n \n \n : null;\n};\n\nEditDeal.propTypes = {\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n};\n\nexport default EditDeal;","import React from \"react\";\nimport {useEntityAction} from \"@fik/entity\";\nimport {Box} from \"@fik/ui\";\nimport handleClick from \"@fik/utils/handleClick\";\n\nconst LicensesDownload = () => {\n const [{isSuccess}, requestLicenses] = useEntityAction({name: 'license', action: 'requestLicenses'});\n return \n {isSuccess\n ?
Přehled licencí Vám bude zaslán e-mailem. Zpracování probíhá na pozadí, může to pár minut trvat.
\n : \n }\n
\n};\n\nexport default LicensesDownload;","import React from 'react';\nimport {useEntity} from \"@fik/entity\";\nimport Salesman from \"../../components/Profile/Salesman/Salesman\";\nimport {Col, Row} from \"@fik/ui\";\n\nconst EsetContacts = () => {\n const {\n entity: resellerProfile\n } = useEntity({name: 'profile'}, null);\n\n return (\n
\n \n \n
\n
\n

\n Váš obchodník\n

\n \n \n {resellerProfile && resellerProfile.staff ?\n : null}\n \n \n \n \n \n
\n
\n \n\n \n
\n

\n Obecné informace\n

\n \n \n
\n ESET software spol. s r.o.
\n Classic 7 Business Park
\n Jankovcova 1037/49
\n 170 00 Praha 7\n
\n \n \n
\n IČ: 26467593, DIČ: CZ26467593
\n
\n Tel: +420 233 090 233
\n E-mail: info@eset.cz\n
\n \n
\n
\n \n
\n\n \n \n
\n

\n Obchodní oddělení\n

\n
\n Telefon: +420 222 811 135
\n E-mail: partner@eset.cz\n
\n V pracovní dny od 8:30 do 17:00\n
\n \n \n
\n

\n Technické oddělení\n

\n
\n Telefon: +420 233 090 233
\n Kontaktní formulář: servis.eset.cz\n
\n V pracovní dny od 8:30 do 17:00\n
\n \n \n
\n

\n Marketingové oddělení\n

\n
\n Telefon: +420 233 090 253
\n E-mail: marketing@eset.cz\n
\n V pracovní dny od 8:30 do 17:00\n
\n \n \n
\n

\n Fakturace a finanční oddělení\n

\n
\n Telefon: + 420 233 090 269
\n E-mail: fakturace@eset.cz\n
\n V pracovní dny od 8:30 do 17:00\n
\n \n
\n\n \n \n
\n

\n Dotazy na GDPR\n

\n
\n E-mail: dpo@eset.cz\n
\n V pracovní dny od 8:30 do 17:00\n
\n \n
\n
\n );\n};\n\nexport default EsetContacts;","import React, {useCallback, useEffect} from \"react\";\nimport {Box, Col, Row} from \"@fik/ui\";\nimport {useEntityAction, usePureEntity} from \"@fik/entity\";\nimport {ContactForm} from \"@fik/components\";\nimport {useSelector} from \"react-redux\";\n\nconst ContactEdit = ({id}) => {\n\n // contact to edit\n const [{entity: values}, load] = usePureEntity({name: 'contact', params: {id}});\n // save\n const [saveResult, save] = useEntityAction({name: 'contact', action: 'save', params: {id}});\n // resend login\n const [, resendLogin] = useEntityAction({name: 'contact', params: {id}, action: 'resendLogin'});\n\n //- needed for checking if edited contact is current user\n const {userId} = useSelector(state => state.auth);\n\n //- load on first render (load callback should not change)\n useEffect(() => load(), [load]);\n\n //- refresh after save\n useEffect(() => {\n if (saveResult.isSuccess) {\n load();\n }\n }, [load, saveResult.isSuccess]);\n\n const onSubmit = useCallback((values, valid) => {\n save({values});\n }, [save]);\n\n return \n \n \n {saveResult.isSuccess ?
Uloženo
: null}\n {saveResult.isFailed ?
Nepodařilo se uložit
: null}\n \n
\n \n
;\n};\n\nexport default ContactEdit;","import React, {useCallback} from \"react\";\nimport {Box, Col, Row} from \"@fik/ui\";\nimport {useEntityAction} from \"@fik/entity\";\nimport {ContactForm} from \"@fik/components\";\nimport {Redirect} from \"react-router-dom\";\n\nconst EMPTY_CONTACT = {};\n\nconst ContactCreate = () => {\n\n // contact\n const values = EMPTY_CONTACT;\n\n // save\n const [{isSuccess}, save] = useEntityAction({name: 'contact', action: 'create'});\n\n const onSubmit = useCallback((values, valid) => {\n if (valid) {\n save({values});\n }\n }, [save]);\n\n if (isSuccess) {\n return ;\n }\n\n return \n \n \n \n \n \n ;\n};\n\nexport default ContactCreate;","import React, {useCallback} from \"react\";\nimport {useEntity, useEntityAction} from \"@fik/entity\";\nimport {Box} from \"@fik/ui\";\nimport {CertificationRequestForm} from \"@fik/components\";\n\nconst CertificationRequestResult = ({isSuccess, entity}) => {\n return isSuccess ?
{entity.message}
: null;\n};\n\nconst CertificationRequest = ({contactId}) => {\n const {entity:certificationBranches} = useEntity({name: 'resellerProfile', params: {action: 'certification-branches'}});\n\n // save\n const [{isSuccess, result: certificationRequestResult}, request] = useEntityAction({name: 'resellerProfile', action: 'contactCertificationRequest'});\n\n const handleSubmit = useCallback((values) => {\n request({values});\n }, [request]);\n\n return <>\n \n \n {certificationBranches ? : null}\n

* Informace pro přihlášení Vám budou zaslány na email uvedený v profilu osoby.

\n

** Splněním certifikace ESET Endpoint Encryption či ESET Secure Authentication nevzniká automaticky nárok k přidělení kategorie ESET Security Partner.

\n
\n ;\n};\n\nexport default CertificationRequest;","import React, {useCallback} from \"react\";\nimport {Box, Col, Row} from \"@fik/ui\";\nimport {useEntityAction} from \"@fik/entity\";\nimport {PasswordForm} from \"@fik/components\";\nimport {useSelector} from \"react-redux\";\n\nconst Password = () => {\n const {username} = useSelector(state => state.auth);\n\n // save\n const [{isSuccess, isFailed}, resetPassword] = useEntityAction({name: 'resellerProfile', action: 'resetPassword'});\n\n const handleSubmit = useCallback((values) => {\n resetPassword({values});\n }, [resetPassword]);\n\n return \n \n {isFailed ?
Nepodařilo se změnit heslo!
: null}\n {isSuccess ?
Heslo změněno.
: null}\n \n {username ? : null}\n \n \n
;\n};\n\nexport default Password;","import React from \"react\";\nimport {Box, DownloadLink} from \"@fik/ui\";\n\nconst CertificationDownload = () => \n Stáhnout\n;\n\nexport default CertificationDownload;","import React from \"react\";\nimport {useDataSource, useDataSourceWithQueryParams} from \"@fik/data-source\";\nimport {Box} from \"@fik/ui\";\nimport {CertificationsList} from \"@fik/components\";\n\nconst Certifications = () => {\n const {pagination, items, handlePageChange, refresh} = useDataSourceWithQueryParams(\n {name: 'resellerProfile', initialSearchParams: {}, dataSourceResource: 'certification-data-source'}\n );\n\n return (\n \n \n \n );\n};\n\nexport default Certifications;","import React from \"react\";\n\nconst LeakedInfo = ({leakedInfo}) => leakedInfo ?
\n Zneužitá licence!
\n Běží na PC: {leakedInfo.hwf}\n
: null;\n\nexport default LeakedInfo;","import React from 'react';\nimport {NavigationItem} from \"@fik/navigation\";\n\nconst LicenseLink = ({item, children, ...props}) => {\n return ({children || item.licenseUsername});\n};\n\nexport default LicenseLink;","import React from 'react';\nimport {NavigationItem} from \"@fik/navigation\";\n\nconst LicenseOfferLink = ({item, children, ...props}) =>\n \n {children || \"Nabídnout\"}\n ;\n\nexport default LicenseOfferLink;","import React from 'react';\nimport {NavigationItem} from \"@fik/navigation\";\n\nconst LicenseOrderLink = ({item, children, ...props}) =>\n \n {children || \"Objednat\"}\n ;\n\nexport default LicenseOrderLink;","import React, {useCallback, useEffect} from \"react\";\nimport {useEntityAction} from \"@fik/entity\";\nimport handleClick from \"@fik/utils/handleClick\";\nimport { confirmAlert } from 'react-confirm-alert'; // Import\nimport 'react-confirm-alert/src/react-confirm-alert.css'; // Import css\n\nconst LicenseResetCredentialsButton = ({id, onReset}) => {\n //- reset credentials hook\n const [{isSuccess}, resetCredentials] = useEntityAction({name: 'license', action: 'resetCredentials', params: {id}});\n\n //- resend credentials\n const handleResetCredentials = useCallback(() => {\n\n confirmAlert({\n title: \"\",\n message: \"Skutečně chcete přegenerovat licenční údaje? Dojde k nevratné změně licenčních údajů a tím i odříznutí klientů od nových aktualizací!\",\n buttons: [\n {\n label: 'Ano',\n onClick: resetCredentials\n },\n {\n label: 'Ne'\n }\n ]\n });\n\n }, [resetCredentials]);\n\n useEffect(() => {\n if (onReset && isSuccess) {\n onReset();\n }\n }, [onReset, isSuccess]);\n\n return \n};\n\nexport default LicenseResetCredentialsButton;","import React, {useCallback, useEffect} from \"react\";\nimport {Form} from \"@mouseover/react-form\";\nimport {useEntityAction} from \"@fik/entity\";\n\nconst LicenseNote = ({id, resellerNote, onSave}) => {\n //- save note hook\n const [{isSuccess}, saveNote] = useEntityAction({name: 'license', params: {id}, action: 'saveResellerNote'});\n\n //- save note\n const handleNoteSave = useCallback((values, valid) => {\n if (valid) {\n saveNote({\n id,\n values\n });\n }\n }, [id, saveNote]);\n\n //- refresh after save\n useEffect(() => {\n if (onSave && isSuccess) {\n onSave();\n }\n }, [onSave, isSuccess]);\n\n return
\n Uložit\n ;\n};\n\nexport default LicenseNote;","import React, {useCallback} from 'react';\nimport {Table, useRowDetail, ToggleRowDetailButton} from \"@fik/table\";\nimport {Channel, ChannelName} from \"@fik/components\";\nimport {Date} from \"@fik/ui\";\nimport LicenseOrderLink from \"./LicenseOrderLink\";\nimport LicenseOfferLink from \"./LicenseOfferLink\";\nimport LicenseLink from \"./LicenseLink\";\nimport LicenseNote from \"./Detail/LicenseNote\";\nimport LeakedInfo from \"./LeakedInfo\";\nimport {Icon, NavigationItem} from \"@fik/navigation\";\n\nconst filterChannel = (item, type) => item.licenseChannels.filter((item) => item.type === type).pop();\n\nconst LicensesTable = ({rows, onInvalidate, epcVisible = false, partnerVisible = true, children}) => {\n const {toggleRow, isVisibleRow} = useRowDetail();\n const handleNoteSave = useCallback((primaryValue) => {\n if (onInvalidate) {\n onInvalidate();\n toggleRow(primaryValue);\n }\n }, [onInvalidate, toggleRow]);\n\n return (isVisibleRow(primaryValue) ?\n \n \n : null)}\n primary='licenseId'>\n\n {children ? children : <>\n \n \n {partnerVisible !== false && }\n {epcVisible && }\n \n \n \n \n \n }\n\n
\n handleNoteSave(primaryValue)} resellerNote={license.resellerNote}\n id={license.licenseId}/>\n
;\n};\n\n\nexport default LicensesTable;\n\nexport const LicenseIdColumn = ({row: item}) => (<>\n \n {item.licenseMainId ? (
{item.licenseMainId}
) : null}\n
\n {item.leakedInfo ? : null}\n);\n\nexport const LicenseIdWithNoteColumn = ({row: item, primaryValue, isVisibleRow, toggleRow}) => (<>\n \n
\n \n);\n\nexport const LicenseCustomerInfo = ({row: item}) => (\n <>\n {item.licensePrimaryName ? (
{item.licensePrimaryName}
) : null}\n {item.licenseEmail ? (\n
{item.licenseEmail}
) : null}\n \n);\n\nexport const LicenseOwner = ({row}) => {\n const channel = filterChannel(row, 'owner');\n return <>\n \n {row.licenseEmail ?
\n {row.licenseEmail}\n
: null}\n ;\n};\n\nexport const LicensePartner = ({row}) => ;\n\nexport const LicenseEPC = ({row}) => ;\n\nconst LicenseChannel = ({row, channelName}) => {\n const channel = filterChannel(row, channelName);\n return (channel ? : null);\n}\n\nexport const LicenseProduct = ({row: item}) => (\n <>\n
{item.licenseProductName}
\n
\n {item.licensePackProductName ? ({item.licensePackProductName}, ) : null}\n {item.licenseTypeName ? ({item.licenseTypeName}, ) : null}\n {item.licenseBusinessType ? ({item.licenseBusinessType.name}) : null}\n {item.licenseQuantity ? (\n <> množství: {item.licenseQuantity}) : null}\n
\n \n);\n\nexport const LicenseDate = ({row: item}) => (<>\n
\n
\n \n);\n\nexport const LicenseStatus = ({row: item}) => (\n {item.licenseBusinessStatus}\n);\n\nexport const LicenseOrder = ({row: item}) => {\n let orderInfo = null;\n if (item.licenseOrder) {\n let orderClass;\n switch (item.licenseOrder.status) {\n case 'stavDoklObch.pripraveno':\n orderClass = 'label-info';\n break;\n case 'stavDoklObch.schvaleno':\n orderClass = 'label-warning';\n break;\n case 'stavDoklObch.hotovo':\n orderClass = 'label-success';\n break;\n case 'stavDoklObch.storno':\n orderClass = 'label-danger';\n break;\n default:\n orderClass = 'label-default';\n break;\n }\n orderInfo = (\n {item.licenseOrder.status}\n );\n }\n return (\n <>\n {item.licenseOrderId ? ({item.licenseOrderId.substr(5)}) : null}\n {orderInfo}\n \n );\n};\n\nexport const LicenseDownload = ({row: item, primaryValue}) => {\n if (item.licenseStatusId !== 1) {\n return null;\n }\n return (\n <>\n \n Zobrazit\n \n \n \n \n )\n};","import React, {useMemo} from 'react';\nimport {FilterBar} from \"@fik/ui\";\n\nconst LicensesFilter = ({types, onSubmitSearch, statuses, queryParams}) => {\n const typesList = types ? types.map(item => ({value: item.id, label: item.name})) : [];\n const statusesList = statuses ? [{value: '', label: 'Vše'}, ...statuses.map(item => ({value: item.id, label: item.name}))] : [];\n const {query} = queryParams;\n\n const controls = useMemo(() => {\n const c = {\n fulltext: {\n elementType: 'input',\n elementConfig: {\n type: 'text',\n placeholder: 'Zadejte ID licence, jméno zákazníka, ...',\n },\n value: '',\n valid: false,\n touched: false,\n validation: {\n minLength: 3,\n }\n },\n type: {\n elementType: 'select',\n options: typesList,\n value: '',\n valid: true,\n touched: false,\n }\n };\n\n if (query === 'expired') {\n c.ago = {\n elementType: 'select',\n options: [\n {value: 'all', label: 'všechny'},\n {value: 'year', label: 'expirovaly přibližně 1 rok dozadu'},\n {value: 'two_years', label: 'expirovaly přibližně 2 roky dozadu'},\n {value: 'three_years', label: 'expirovaly přibližně 3 roky dozadu'},\n ],\n value: '',\n valid: true,\n touched: false,\n };\n } else {\n c.status = {\n elementType: 'select',\n options: statusesList,\n value: '',\n valid: true,\n touched: false,\n };\n }\n\n return c;\n }, [query, typesList, statusesList]);\n\n return (\n \n );\n};\n\nexport default LicensesFilter;","import React, {useCallback, useEffect, useMemo} from 'react';\nimport LicensesTable from './LicensesTable';\nimport {Paginator} from \"@fik/ui\";\nimport {Box} from \"@fik/ui\";\nimport LicensesFilter from \"./LicensesFilter\";\nimport {useDials} from \"@fik/dials\";\nimport {useDataSourceWithQueryParams} from \"@fik/data-source\";\n\nconst DEFAULT_PARAMS = {\n fulltext: null,\n type: \"0\",\n ago: null,\n status: null\n};\n\nconst Licenses = ({partnerVisible, query}) => {\n const {statuses, types} = useDials({name: 'license'});\n\n const {pagination, items, setSearchParams, handlePageChange, queryParams, refresh, handleSearch} = useDataSourceWithQueryParams(\n {\n name: 'license',\n initialSearchParams: useMemo(() => ({query}), [query]),\n defaultParams: DEFAULT_PARAMS\n }\n );\n\n return (\n \n \n\n \n\n \n \n );\n};\n\nexport default Licenses;","import React from \"react\";\nimport {NavigationItem} from \"@fik/navigation\";\nimport {WithoutCode} from \"@fik/ui\";\n\nconst LicenseIdentification = ({license}) => {\n if (!license) {\n return null;\n }\n\n const {\n licenseMainId,\n licenseKey,\n licenseUsername,\n licensePassword,\n licenseOrderId,\n licenseProductKey,\n licenseProxyId,\n licenseDeslockProductId\n } = license;\n\n return \n \n \n \n \n \n {licenseDeslockProductId ? : }\n \n \n {licenseOrderId\n ? \n \n \n \n : null}\n \n
ID licence{licenseMainId}
Objednávka\n \n {licenseOrderId}\n \n
;\n};\n\nexport default LicenseIdentification;\n\nconst NormalLicense = ({licenseKey, licenseProductKey, licenseProxyId, licenseUsername, licensePassword}) => <>\n {licenseKey ? \n Licenční klíč\n {licenseKey}\n : null}\n {licenseProductKey ? \n Product Key\n {licenseProductKey}\n : null}\n {licenseProxyId ? \n Proxy ID\n {licenseProxyId}\n : null}\n \n Uživatelské jméno\n {licenseUsername}\n \n \n Heslo\n {licensePassword}\n \n;\n\nconst DeslockLicense = ({licenseDeslockProductId, licenseDeslockProductKey}) => <>\n {licenseDeslockProductId ? \n Product ID\n {licenseDeslockProductId}\n : null}\n {licenseDeslockProductKey ? \n Product Key \n {licenseDeslockProductKey}\n : null}\n;","import React, {useCallback} from \"react\";\nimport {Form} from \"@mouseover/react-form\";\nimport {useEntityAction} from \"@fik/entity\";\n\nconst LicenseInfoSend = ({id, email}) => {\n\n //- resend credentials hook\n const [{isSuccess, isFailed, result: sendedToEmail}, resendCredentials] = useEntityAction({name: 'license', action: 'resendLicenseEmail', params: {id}});\n\n //- resend credentials\n const handleResendCredentials = useCallback((values, valid) => {\n if (valid) {\n resendCredentials({\n id,\n values\n });\n }\n }, [id, resendCredentials]);\n\n\n if (!id) {\n return null;\n }\n\n return <>\n {isSuccess ?
Odesláno na {sendedToEmail}
: null}\n {isFailed ?
Nepodařilo se odeslat
: null}\n
\n Odeslat\n \n \n }\n }}\n >\n
\n ;\n};\n\nexport default LicenseInfoSend;","import React from \"react\";\nimport {Date} from \"@fik/ui\";\n\nconst LicenseSolution = ({license}) => {\n if (!license) {\n return null;\n }\n\n const {\n licenseBusinessStatus,\n licenseBusinessStatusLabelStyle,\n licenseTypeName,\n licenseProductName,\n licenseQuantity,\n licenseDate,\n licenseExpiration,\n licensePackProductName,\n licensePackQuantity\n } = license;\n\n return \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 {licensePackProductName\n ? \n \n \n : null}\n {licensePackQuantity\n ? \n \n \n : null}\n \n
Stav{licenseBusinessStatus}\n
Typ{licenseTypeName}
Produkt{licenseProductName}
Počet{licenseQuantity}
Od
Do (expirace)
Název bundlu{licensePackProductName}
Velikost bundlu{licensePackQuantity}
;\n\n};\n\nexport default LicenseSolution;","import React from \"react\";\n\nconst LicenseUser = ({license}) => {\n if (!license) {\n return null;\n }\n\n const {licensePrimaryName, licenseEmail, licensePhone} = license;\n\n return \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Subjekt{licensePrimaryName}
E-mail{licenseEmail}
Telefon{licensePhone}
;\n};\n\nexport default LicenseUser;","import {Licenses} from \"@fik/license\";\nimport React from \"react\";\nimport useIsEpc from \"../../useIsEpc\";\n\nconst ResellerLicenses = ({query}) => ;\n\nexport default ResellerLicenses;","import React from \"react\";\nimport ResellerLicenses from \"./ResellerLicenses\";\nconst EXPIRING = 'expiring';\n\nconst ExpiringLicenses = () => ;\n\nexport default ExpiringLicenses;","import React from \"react\";\nimport ResellerLicenses from \"./ResellerLicenses\";\n\nconst LeakedLicenses = () => ;\n\nexport default LeakedLicenses;","import React from \"react\";\nimport NfrCreditInfo from \"../../components/NfrOrder/NfrCreditInfo\";\nimport LicensesTable, {\n LicenseDate,\n LicenseEPC,\n LicenseIdWithNoteColumn, LicenseOrder,\n LicenseCustomerInfo,\n LicensePartner,\n LicenseProduct, LicenseStatus\n} from \"@fik/license/LicensesTable\";\nimport {Box, Paginator} from \"@fik/ui\";\nimport {useDataSource, useDataSourceWithQueryParams} from \"@fik/data-source\";\nimport useIsEpc from \"../../useIsEpc\";\n\nconst LicenseNfrSpend = ({row}) => row.nfrPrice;\n\nconst ResellerNfrLicenses = ({epcVisible = false}) => {\n const {pagination, items, handlePageChange, refresh} = useDataSourceWithQueryParams(\n {name: 'license', initialSearchParams: {query: 'nfr'}}\n );\n\n return <>\n \n \n \n \n \n {useIsEpc() && }\n {epcVisible ? : null}\n \n \n \n \n \n\n \n \n ;\n};\n\nexport default ResellerNfrLicenses;\n","import React from \"react\";\nimport ResellerLicenses from \"./ResellerLicenses\";\n\nconst NewestLicenses = () => ;\n\nexport default NewestLicenses;\n","import React, {useEffect} from \"react\";\nimport {\n LicenseSolution,\n LicenseIdentification,\n LicenseUser,\n LicenseNote,\n LicenseOrderLink,\n LicenseOfferLink,\n LicenseInfoSend,\n LicenseResetCredentialsButton\n} from \"@fik/license\";\nimport {Box, Col, Row} from \"@fik/ui\";\nimport {usePureEntity} from \"@fik/entity\";\n\nconst License = ({id}) => {\n const [{license}, load] = usePureEntity({name: 'license', params: {action: 'by-epli'}});\n\n //- load on first render (load callback should not change)\n useEffect(() => load({id}), [load, id]);\n\n return license ? \n \n \n \n {license.resellerResetAllowed && license.leakedInfo ?\n : null}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n : null;\n};\n\nexport default License;","import {useSelector} from \"react-redux\";\n\nconst useIsAuthenticated = () => useSelector(state => state.auth.token !== null);\n\nexport default useIsAuthenticated;","import {useSelector} from \"react-redux\";\n\nconst useIsAuthInitialized = () => useSelector(state => state.auth.initialized);\n\nexport default useIsAuthInitialized;","import React, {useCallback} from 'react';\nimport Box from \"@fik/ui/Box/Box\";\nimport {TextArea} from \"@fik/form\";\nimport {Form} from \"@mouseover/react-form\";\nimport {useEntityAction} from \"@fik/entity\";\nimport {Col, Row} from \"@fik/ui\";\n\nconst Consignment = () => {\n const [{result}, save] = useEntityAction({name: 'resellerProfile', action: 'consignment'});\n const handleSubmit = useCallback((values) => {\n save(values);\n }, [save]);\n\n return \n \n \n \n