{"version":3,"sources":["i18n.js","components/common/LocalStorage.js","actions/actionTypes.js","actions/alertActions.js","common/constants.ts","common/enums.ts","actions/navigationActions.js","utils/responseStatus.js","reducers/roleReducer.ts","data-transformations/roletemTransformationBeforeSave.ts","actions/roleActions.ts","actions/ajaxStatusActions.js","actions/userActions.js","components/common/SubmitButton.js","components/common/Translation.js","common/configs.js","common/propTypes.js","components/common/Alert.js","components/common/Alerts.js","components/common/ErrorValidationMessage.js","components/common/utils/KendoHOC.js","components/common/Input.js","components/common/LoadingIndicator.js","components/security/ForgottenPassword.js","components/security/ResetPassword.js","components/common/NavLink.js","components/security/authContext.tsx","components/security/hasAccess.tsx","components/common/SideBar.tsx","actions/sideBarActions.js","actions/accountMenuActions.js","components/common/AccountMenu.js","components/common/Header.js","actions/tableActions.js","actions/loadingSpinnerActions.js","reducers/initialStates.js","entities/news.js","data-transformations/newsDataTransformationAfterFetch.js","entities/competition.js","data-transformations/competitionDataTransformationAfterFetch.js","entities/rating.js","data-transformations/ratingDataTransformationAfterFetch.js","entities/outageNotification.js","data-transformations/outageNotificationDataTransformationAfterFetch.js","entities/ratingSettings.js","data-transformations/ratingSettingsDataTransformationAfterFetch.js","entities/reward.ts","data-transformations/rewardDataTransformationAfterFetch.js","entities/targetCampaignGroup.ts","data-transformations/targetCampaignDataTransformationAfterFetch.js","entities/simCardType.ts","data-transformations/simCardTypeDataTransformationAfterFetch.js","entities/affiliateProgramPartner.ts","data-transformations/affiliateProgramPartnerDataTransformationAfterFetch.ts","entities/affiliateProgramReward.ts","data-transformations/affiliateProgramRewardDataTransformationAfterFetch.ts","entities/affiliateProgramSubscriberRewardClaim.ts","data-transformations/affiliateProgramSubscriberRewardClaimDataTransformationAfterFetch.ts","entities/role.ts","data-transformations/roleDataTransformationAfterFetch.js","entities/gameClan.ts","data-transformations/gameClanDataTransformationAfterFetch.js","data-transformations/dataTransformations.js","data-transformations/dataTransformationTypes.js","reducers/tableReducer.js","components/common/Table.js","utils/commonFunctions.ts","components/common/formatters/DateCell.js","components/common/formatters/EnumCelll.js","components/common/formatters/StringCellWithIcon.js","components/common/formatters/BoolCell.tsx","components/common/formatters/navigableCell.js","components/common/formatters/StringCell.js","components/common/ActionButton.js","components/common/ToggableActionButton.js","reducers/newsPagesReducer.js","reducers/servicesReducer.js","data-transformations/ignoredProperties.ts","data-transformations/rewardItemTransformationBeforeSave.ts","reducers/rewardReducer.ts","actions/rewardActions.ts","reducers/marketingActionReducer.js","data-transformations/newsItemTransformationBeforeSave.js","actions/newsActions.js","actions/newsPageActions.js","actions/serviceActions.js","actions/marketingActions.ts","components/news/News.js","components/common/utils/WhenFieldChangesListener.js","components/common/utils/WhenFieldChanges.js","components/common/utils/Condition.js","components/common/CancelButton.js","reducers/newsReducer.js","utils/isEmpty.js","utils/isNullOrUdefined.js","components/common/utils/WhenFieldIsEmpty.js","components/common/utils/WhenFieldHasValue.js","components/common/DropZone.tsx","components/common/Textarea.js","components/common/DatePicker.js","components/common/DropDown.js","components/common/DropDownWithValueField.js","components/common/DropDownMultiSelect.js","components/common/Switch.js","components/common/NumericTextBox.js","components/news/NewsDetail.js","components/news/NewsDetailCreate.js","components/news/NewsDetailUpdate.js","components/dashboard/dashboard.tsx","data-transformations/extraTransformationBeforeSave.ts","entities/extra.ts","data-transformations/extraDataTransformationAfterFetch.js","actions/extraActions.js","reducers/extraReducer.js","components/extra/Extra.js","components/betatester/betatester.js","components/betatester/betatesterDetail.js","actions/betatesterAction.js","components/betatester/betatesterDetailUpdate.js","components/betatester/betatesterDetailCreate.js","components/chargingCode/chargingCode.js","components/chargingCode/chargingCodeDetail.js","actions/chargingCodeActions.js","components/chargingCode/chargingCodeDetailUpdate.js","components/chargingCode/chargingCodeDetailCreate.js","components/common/formatters/RelationCell.tsx","reducers/userReducer.ts","components/users/users.tsx","helpers/nameOfFactory.ts","components/users/userDetail.tsx","components/users/userDetailCreate.tsx","entities/user.ts","components/users/userDetailUpdate.tsx","components/role/roles.tsx","components/role/roleDetail.tsx","components/role/roleDetailUpdate.tsx","components/role/roleDetailCreate.tsx","components/competition/competitions.js","components/competition/competitionDetail.js","data-transformations/competitionItemTransformationBeforeSave.js","actions/competitionActions.js","components/competition/competitionDetailCreate.js","components/competition/competitionDetailUpdate.js","actions/reportActions.js","components/common/CellActionButton.js","components/common/ButtonCell.js","components/reports/reports.js","components/reports/reportDetail.js","components/reports/reportDetailUpdate.js","components/reports/reportDetailCreate.js","components/common/Rating.js","components/common/formatters/ratingCell.js","components/rating/ratingActionsBar.js","components/rating/rating.js","components/rating/ratingDetail.js","actions/ratingActions.js","components/rating/ratingDetailUpdate.js","data-transformations/ratingSettingsTransformationBeforeSave.js","actions/ratingSettingsActions.js","reducers/ratingSettingsReducer.js","components/ratingSettings/ratingSettings.js","components/common/Tile.js","reducers/ecomailReducer.js","actions/ecomailActions.js","components/ecomail/ecomail.js","components/common/formatters/DateTimeCell.js","components/outageNotification/outageNotificationActionsBar.js","components/outageNotification/outageNotification.js","components/common/DateTimePicker.js","components/outageNotification/outageNotificationDetail.js","data-transformations/outageNotificationItemTransformationBeforeSave.js","actions/outageNotificationActions.js","components/outageNotification/outageNotificationDetailUpdate.js","components/outageNotification/outageNotificationDetailCreate.js","components/common/formatters/stringCellEx.tsx","actions/targetCampaignActions.js","components/targetCampaign/targetCampaign.tsx","components/reward/rewardsActionsBar.tsx","components/reward/rewards.tsx","components/reward/rewardDetailStandardPanel.tsx","components/reward/rewardDetailFollowingPanel.tsx","components/reward/rewardDetail.tsx","components/reward/rewardDetailCreate.tsx","components/reward/rewardDetailUpdate.tsx","components/common/loadingSpinner/loadingSpinner.tsx","reducers/loadingSpinnerReducer.js","components/common/loadingSpinner/loadingSpinnerContainer.tsx","components/simCardType/simCardTypeActionsBar.tsx","components/simCardType/simCardTypes.tsx","reducers/simCardTypeReducer.js","components/simCardType/simCardTypeDetail.tsx","actions/simCardTypeActions.ts","components/simCardType/simCardTypeDetailCreate.tsx","components/simCardType/simCardTypeDetailUpdate.tsx","components/affiliateProgram/affiliateProgramPartnersActionsBar.tsx","components/affiliateProgram/affiliateProgramPartners.tsx","data-transformations/affiliateProgramPartnersItemTransformationBeforeSave.ts","reducers/affiliateProgramPartnersReducer.ts","actions/affiliateProgramPartnerActions.ts","components/affiliateProgram/affiliateProgramPartnerDetail.tsx","components/affiliateProgram/affiliateProgramPartnerDetailCreate.tsx","components/affiliateProgram/affiliateProgramPartnerDetailUpdate.tsx","components/affiliateProgram/affiliateProgramRewardsActionsBar.tsx","data-transformations/affiliateProgramRewardItemTransformationBeforeSave.ts","reducers/affiliateProgramRewardsReducer.ts","actions/affiliateProgramRewardsActions.ts","components/affiliateProgram/affiliateProgramRewards.tsx","components/affiliateProgram/affiliateProgramRewardDetail.tsx","components/affiliateProgram/affiliateProgramRewardDetailCreate.tsx","components/affiliateProgram/affiliateProgramRewardDetailUpdate.tsx","components/affiliateProgram/affiliateProgramSubscriberRewardClaimsActionsBar.tsx","data-transformations/affiliateProgramSubscriberRewardClaimItemTransformationBeforeSave.ts","actions/affiliateProgramSubscriberRewardClaimsActions.ts","reducers/affiliateProgramSubscriberRewardClaimsReducer.ts","components/affiliateProgram/affiliateProgramSubscriberRewardClaims.tsx","components/affiliateProgram/affiliateProgramSubscriberRewardClaimDetail.tsx","components/affiliateProgram/affiliateProgramSubscriberRewardClaimDetailCreate.tsx","actions/gameClanActions.js","components/gameClans/gameClansActionsBar.js","components/common/TranslatedTextBox.js","components/gameClans/gameClansSearchBox.js","components/gameClans/gameClans.js","components/app/App.js","components/common/TextBox.js","components/security/SignIn.js","components/security/userInvite.js","components/security/ActivateAccount.js","components/common/Layout.js","utils/axiosInterceptors.js","components/Root.js","locales/cs/kendo.js","reducers/sideBarReducer.js","reducers/appReducer.js","reducers/ajaxStatusReducer.js","reducers/alertReducer.js","reducers/accountMenuReducer.js","reducers/index.js","middlewares/navigationMiddleware.js","store/configureStore.js","index.js"],"names":["i18n","init","fallbackLng","debug","lng","resources","en","common","commonEn","cs","commonCs","initImmediate","react","wait","bindI18n","bindStore","nsMode","loadState","serializedState","localStorage","getItem","JSON","parse","error","saveState","state","stringify","setItem","USER_SIGN_IN","NEWS_ADD","NAVIGATE_TO","REWARD_FETCH","alertAdd","tKey","style","type","message","id","uuidV4","alertErrorAdd","alertWarningMessageAdd","disabledAutoClose","alertSuccessMessageAdd","alertErrorMessageAdd","alertRemove","alertClear","SOURCE_OF_SUBSCRIBERS_TYPES_ENUM","TEXT_HORIZONTAL_ALIGN","ALERT_TYPE","NAVIGATION_PATHS","NEWS","NEWS_CREATE","BETA_TESTER","USERS","USERS_CREATE","ROLES","ROLE_CREATE","ROLE_DETAIL","CHARGING_CODE","COMPETITION","COMPETITION_CREATE","REPORTS","REPORT_CREATE","REWARDS","REWARD_CREATE","REWARD_DETAIL","RATING","OUTAGE_NOTIFICATION","OUTAGE_NOTIFICATION_CREATE","TARGET_CAMPAIGNS","SIM_CARD_TYPES","SIM_CARD_TYPE_CREATE","SIM_CARD_TYPE_DETAIL","AFFILIATE_PROGRAM_PARTNERS","AFFILIATE_PROGRAM_PARTNERS_CREATE","AFFILIATE_PROGRAM_PARTNERS_DETAIL","AFFILIATE_PROGRAM_REWARDS","AFFILIATE_PROGRAM_REWARDS_DETAIL","AFFILIATE_PROGRAM_REWARDS_CREATE","AFFILIATE_PROGRAM_SUBSCRIBER_REWARD_CLAIMS","AFFILIATE_PROGRAM_SUBSCRIBER_REWARD_CLAIMS_CREATE","GAME_CLANS","SIGN_IN","navigateTo","path","types","navigateToNews","navigateToRatings","navigateToCompetitions","navigateToBetatester","navigateToUsers","navigateToSingIn","navigateToChargingCode","navigateToReports","navigateToOutageNotifications","navigateToRewards","navigateToSimCardTypes","navigateToAffiliateProgramRewards","navigateToAffiliateProgramPartners","navigateToAffiliateProgramSubscriberRewardClaims","navigateToRoles","ResponseStatus","status","roleInitialState","userReadableProperty","loadingDependencies","loaded","data","roles","action","map","role","getData","getUserReadableProperty","NEWS_TYPES","text","value","NEWS_SECTION_TYPES","RATING_TRIGGER_TYPES","COMPETITION_TARGET_CUSTOMER_TYPES","PLATFORMA_TYPES","RATING_VARIANT_TYPES","REWARD_VARIANT_ENUM","SOURCE_OF_SUBSCRIBERS_TYPES","ALL","O2_VOPE","CMT","GAME","DIGI_CLUB","HVC","FAMILYMEMBER","CLUBCARDMEMBER","BIRTHDAY","AFFILIATE_PROGRAM","AFTER_REGISTRATION","ELM","REWARD_TYPES","TARGETED_CAMPAIGN_DATA_SOURCE_TYPE_ENUM","REWARD_VARIANT","STANDARD","FOLLOWING","TARGETED_CAMPAIGN_CONDITION_TYPE","TARGETED_GROUP_SUFFIX_TYPE","OUTAGE_NOTIFICATION_FILTER_TYPE","NEWS_BANNER_VIEW_TYPES_ENUM","TARGETED_CAMPAIGN_DATA_SOURCE_TYPE","DIGICLUB","MARKETING_ACTION_USAGES","REWARD_USAGES","PRODUCT_STATE_CHANGE","CAMPRO_MODULE_ENUM","NEWS_BANNER_VIEW_TYPES","DEFAULT","TEXT_OVER_BANNER","OUTAGE_NOTIFICATION_CONDITION_TYPE","CAMPRO_MODULES","BETA_TESTERS","COMPETITIONS","EXTRA","CHARGINGCODES","RATING_SETTINGS","ECOMAIL","OUTAGE_NOTIFICATIONS","FOR_ME","SIMCARD_TYPES","getEnumItemByValue","enumValue","enumSource","Array","isArray","Error","find","enumItem","getEnumItemsByFlaggedValue","enumFlaggedValue","filter","item","getFlaggeValueFormEnumItems","enumValues","length","reduce","total","i","isSelectedEnumFlagg","enumFlagg","some","roleItemTransformationBeforeSave","roleItem","permittedModules","createRole","dispatch","transformedData","axios","post","then","response","IsCreated","catch","updateRole","put","IsOK","setNewPassword","password","token","document","cookie","accessToken","verifyAccess","resetPassword","email","get","params","sent","undefined","verifyAccount","clear","signUp","account","signIn","signInCallback","signOut","exp","jwtDecode","now","Date","expireIn","user","isAuth","tokenExpireIn","hasAccess","console","warn","signUpCallback","pathToNavigate","isAuthorized","expirationIn","isAdmin","getState","lastModified","getTime","willExpire","setMinutes","getMinutes","userAgendas","setAgenda","agendaId","createUser","emailIsInUsed","updateUser","setPassword","fetchUserDependencies","a","LOADING_DEPENDENCIES_BEGIN","fetchRoles","LOADING_DEPENDENCIES_END","SubmitButton","children","loading","className","onClick","disabled","Translation","t","propTypes","PropTypes","string","isRequired","func","translate","url","location","host","apiBaseUrl","protocol","imageBaseUrl","enumProtoType","shape","timeout","number","autoCloseInfo","bool","autoCloseSuccess","autoCloseWarning","autoCloseError","msisdn","description","alertClasses","object","touched","warning","search","name","validFrom","instanceOf","validTo","shortDescription","platform","urlOpenExternal","smsRecipient","smsBody","published","order","navigateDirectToPage","isCampaign","targetedCampaignCode","campaignTitle","campaignMessage","noVipText","targetCustomer","code","viewName","dir","field","trigger","dateOfCreate","info","success","Alert","props","onClose","bind","onHide","showAlert","this","alert","autoCloseConfig","timer","setTimeout","clearTimeout","setState","alertClassName","alertClass","in","key","classNames","unmountOnExit","onExited","React","Component","defaultProps","Alerts","removeAlert","clearAlerts","alertId","alerts","connect","bindActionCreators","ErrorValidationMessage","errorMessage","KendoHOC","icon","input","meta","rest","placeholder","Type","isInvalid","wrapperClass","width","Input","options","KendoInput","LoadingIndicator","ForgottenPassword","renderInstructions","Link","to","translatedFormValidation","values","errors","onSubmit","actions","renderForm","validate","render","handleSubmit","submitting","reset","pristine","valid","form","htmlFor","component","emailSent","compose","ajaxStatus","forgottenPasswordSent","userActions","ResetPassword","confirmPassword","parsed","queryString","ownProps","NavLink","linkClassName","AuthContext","createContext","NONE","AuthConsumer","Consumer","AuthProvider","Provider","connectedAuthProvider","requestedPermittedModule","permittedModulesFlags","SideBar","sidebar","open","toggleSidebar","event","preventDefault","toggleAccountMenu","refreshCache","accountMenu","accountMenuActions","href","sideBar","sideBarActions","headerMenu","actionUrl","columns","column","index","sortChange","sort","loadData","pageChange","skip","take","filterClear","filterChange","dataTransformationChange","dataTransformationName","dataTransformation","setAfterLoadDataActionType","afterLoadDataActionType","hardRerfresh","readFromServer","cacheData","result","composeUrl","getAfterLoadDataActionType","table","cache","tSkip","Math","floor","tTake","c","forEach","s","f","operator","logicalOperator","selectRow","selected","desellectAllRows","selectRows","min","max","selectAllRows","checked","remove","ids","delete","failed","edit","clone","cloned","row","tableInitialState","gridFilter","current","News","properties","Object","assign","targetedCampaignConditionType","section","dataSourceType","bannerViewType","targetedCampaignDateSuffixType","targetedCampaignUseDateSuffix","dateOfCampaignStart","newsDataTransformationAfterFetch","Competition","actionButtonText","imageUrl","imageOverlayText","competitionDataTransformationAfterFetch","Rating","variant","ratingDataTransformationAfterFetch","OutageNotification","condition","notificationTo","notificationFrom","outageTo","outageFrom","outageNotificationDataTransformationAfterFetch","RatingSettings","allowedVariantAfterOrder","allowedVariantAfterRecharge","allowedVariantAfterCompetition","allowedVariantAfterLeavingPageExtra","allowedVariantAfterLeavingPageSuriGame","ratingSettingsDataTransformationAfterFetch","Reward","extId","campaignCode","maxDraws","productCode","sourceOfSubscribers","availableFrom","availableTo","detailShortDescription","buyFromCreditButtonText","buyFromCreditCardButtonText","textLine1","textLine2","detailImageUrl","detailImage","detailName","isDigi","priceByCreditCard","numberOfPeriods","takeValidityFromClaim","isAllowedMultipleUse","useInServicePriceCalculator","useWhenProductIsActivated","usePriceWhenO2PriceIsNull","followingRewardId","price","rewardDataTransformationAfterFetch","TargetCampaignGroup","msisdnCount","dateOfLastImport","dateOfLastNotificationSent","targetCampaignDataTransformationAfterFetch","SimCardType","isManagerType","simCardTypeDataTransformationAfterFetch","AffiliateProgramPartner","affiliateProgramPartnerDataTransformationAfterFetch","AffiliateProgramReward","partnerId","rewardId","partnerName","claimValidTo","claimValidForDays","validFromUtc","validToUtc","claimValidToUtc","affiliateProgramRewardDataTransformationAfterFetch","AffiliateProgramSubscriberRewardClaim","affiliateProgramPartnerId","affiliateProgramRewardId","affiliateProgramSubscriberRewardClaimDataTransformationAfterFetch","Role","roledDataTransformationAfterFetch","GameClan","gameClanDataTransformationAfterFetch","dataTransformations","roleDataTransformationAfterFetch","getRowById","getTable","keys","newFilters","e","indexOf","updatedFilters","update","n","concat","o","recordsFiltered","slice","selectedRow","countOfSelected","includes","rowAsArray","newData","Table","createState","pageable","buttonCount","pageSizes","previousNext","onPageChange","page","onSortChange","onFilterChange","onFilterClear","onSelectionChange","dataItem","findIndex","lastSelectedIndex","onHeaderSelectionChange","syntheticEvent","target","onRowClick","nativeEvent","shiftKey","ctrlKey","select","removeSelected","editSelected","cloneSelected","customRowRender","trElement","rowProps","customFilter","pageSize","sortable","allowUnsort","mode","push","actionPath","defaultSort","locale","lang","ref","grid","filterable","selectedField","rowRender","isLoaded","isValidDataSource","stateSort","app","tableActions","withRef","isNotNullDate","dateValue","getDate","getMonth","getFullYear","isNullDate","addHrefWithFileToDownload","fileName","window","URL","createObjectURL","createElement","download","body","appendChild","click","DateCell","utcDate","date","provideIntlService","formatDate","GridCell","EnumCellWrapper","enums","enumField","textValue","defaultTextAlign","StringCellWithIcon","textAlign","renderedValue","condtionToShowIcon","anchorElement","position","title","BoolCell","onChange","onBoolChange","idField","boolFieldValue","BoolCellCellWrapper","displayName","NavigableCell","onCellClick","cursor","StringCell","StringCellWrapper","horizontalTextAlign","oneRowSelected","multiRowSelected","selection","customTextRender","enabled","textToTransalte","ToggableActionButton","handleClick","toggled","onNotSelected","onSelected","Fragment","contentComponent","getContent","PureComponent","newsPagesInitialState","newsPages","servicesInitialState","services","IGNORED_PROPERTIES","rewardItemTransformationBeforeSave","rewardItem","propertyName","toUTCString","FormData","append","rewardInitialState","rewardsReducer","reward","rewards","getDataByDataSource","fetchRewards","createReward","updateReward","marketingActionsReducer","marketingAction","marketingActions","newsItemTransformationBeforeSave","newsItem","isSelectedCMTDataSource","validFromOnlyDate","validToOnlyDate","isTargetedCampaign","countOfCampaignSent","dateOfLastCampaignSent","createNews","updateNews","fetchNewsDependencies","fetchNewsPages","fetchServices","fetchMarketingActions","sendPushNotificationsToBetaTesters","results","sentSuccessfully","notSent","resultToMessageReducer","accumulator","currentValue","alertActions","defaultNewsTabelSort","sendPushNotificationsToBetaTestersAction","getWrappedInstance","filters","toISOString","el","cell","EnumCell","WhenFieldChangesListener","becomes","set","subscription","WhenFieldChanges","Condition","when","is","CancelButton","newsInitialState","isLoadingDependencies","news","isEmpty","isNull","isUndefined","isNullOrUndefined","WhenFieldIsEmpty","WhenFieldHasValue","Dropzone","recommendedResolution","filesToUpload","onRemoveImage","imageUrlProps","onDrop","accept","multiple","maxSize","MAX_IMAGE_SIZE_IN_MEGA_BYTES","isDragAccept","isDragReject","acceptedFiles","rejectedFiles","padding","src","Textarea","DatePicker","KendoDatePicker","DropDown","KendoDropDownList","isPresent","DropDownWithValueField","DropDownComponent","events","onBlur","triggerEvent","onFocus","itemFromValue","defaultValue","eventType","call","valueField","DropDownMultiSelect","KendoMultiSelect","Switch","switchOPTIONS","KendoSwitch","NumericTextBox","KendoNumericTextBox","isSelectedRewardDataSource","isSelectedMarketingActionDataSource","isSelectedPruductStateChangeSource","getImageUrl","imageValue","oldImageUrl","revokeObjectURL","newImageUrl","formDecorator","createDecorator","updates","allValues","imageUrlV2","NewsDetail","image","size","marketingActionId","initialValues","headerText","onCancel","decorators","textField","newsPageUserReadableProperty","serviceUserReadableProperty","rows","rewardUserReadableProperty","marketingActionUserReadableProperty","getNewsPages","getNewsPageUserReadableProperty","getServices","getServiceUserReadableProperty","getRewards","getMarketingActions","getRewardUserReadableProperty","getMarketingActionUserReadableProperty","cancelAction","match","Dashboard","extraTransformationBeforeSave","extra","hvcForAllValidFrom","hvcForAll","hvcForAllValidTo","hvcForGroupName","hvcForGroup","hvcForGroupDateSuffixType","hvcForGroupUseDateSuffix","hvcLimit","hvcDaysForSpentCalculation","extraDataTransformationAfterFetch","Extra","updateExtra","fetchExtra","LOADING_BEGIN","LOADING_END","extraInitialState","isLoading","fetchData","isOneNetEnabled","BetatesterDetail","createBetatester","updateBetatester","saveAction","ChargingCodeDetail","createChargingCode","updateChargingCode","RelationCell","relationId","relationItem","relations","relationUserReadableProperty","initialState","agendas","registration","activateEmailWasSent","isCaptchaVerified","nameof","roleUserReadableProperty","getRoleUserReadableProperty","getRoles","useEffect","UserDetail","handleOnSubmit","submitAction","handleOnCancel","typedValues","firstname","lastname","submittButtonLabel","emailIsReadOnly","readonly","roleId","RoleDetail","defaultCompetitionTabelSort","CompetitionDetail","files","competitionItemTransformationBeforeSave","competitionItem","createCompetition","updateCompetition","downloadReport","reportId","responseType","dateString","toLocaleDateString","downloadReportBySelectedRow","createReport","updateReport","ButtonCell","keyField","ButtonCellWrapper","downloadReportById","ReportDetail","initialRating","emptySymbol","fullSymbol","RatingWrapper","RatingCell","RatingActionsBar","onShow3AndLess","show3AndLess","onRemove3AndLess","onShow4AndMore","show4AndMore","onRemove4AndMore","onShowWithDescription","onShowVariantWithoutStars","showVariantWithoutStars","onRemoveVariantWithoutStars","onShowDefaultVariant","showDefaultVariant","onRemoveDefaultVariant","onRemoveWithDescription","isFilterActive","filterName","defaultRatingTabelSort","clearFilter","RatingDetail","readOnly","updateRating","ratingSettingsTransformationBeforeSave","ratingSettings","updateRatingSettings","fetchRatingSettings","isAllowedTriggerAfterOrder","isAllowedTriggerAfterRecharge","isAllowedTriggerAfterCompetition","isAllowedTriggerAfterLeavingPageExtra","numberOfDaysToDeferRating","ecomailInitialState","ecomail","exportSubscribersToEcomail","resultCode","resultReason","failedResponses","subscribersWithEmptyEmailCount","subscribersWithInvalidEmailCount","subscribersWithValidEmailCount","subscribersWithDistinctEmailCount","subscribersSummaryCountMessage","subscribersWithEmptyEmailMessage","subscribersWithInvalidEmailMessage","subscribersWithDuplicateEmailMessage","failedResponse","failedMessage","successfulMessage","Ecomail","onExportSubscribersToEcomail","DateTimeCell","datetime","OutageNotificationActionsBar","onShowActive","onShowAll","new","DateTimePicker","KendoDateTimePicker","OutageNotificationDetail","outageNotificationItemTransformationBeforeSave","outageNotificationItem","isVersionFilter","isGroupNameFilter","version","groupName","createOutageNotification","updateOutageNotification","StringCellEx","RewardsActionsBar","onNew","onEdit","onRemove","onClone","defaultRewardTabelSort","RewardDetailStandardPanel","showIsDigiCondition","showIsO2VopeCondition","showIsGameOrAffiliateProgramCondition","followingRewardUserReadableProperty","RewardDetailFollowingPanel","RewardDetail","variantFollowing","variantStandard","getFollowingRewardUserReadableProperty","LoadingSpinner","loadingSpinnerInitialState","isVisible","indicatorStack","loadingSpinner","newStackShow","newStackHide","isLoadingSpinnerVisible","LoadingSpinnerContainer","SimCardTypeActionsBar","defaultSimCardTypeTabelSort","simCardTypeInitialState","simCardTypeReducer","simCardType","SimCardTypeDetail","createSimCardType","updateSimCardType","AffiliateProgramPartnersActionsBar","affiliateProgramPartnerItemTransformationBeforeSave","affiliateProgramPartnerItem","affiliateProgramPartnersInitialState","affiliateProgramPartners","affiliateProgramPartner","fetchAffiliateProgramPartners","createAffiliateProgramPartner","affiliateProgramPartnersItemTransformationBeforeSave","updateAffiliateProgramPartner","AffiliateProgramPartnerDetail","AffiliateProgramRewardsActionsBar","affiliateProgramRewardItemTransformationBeforeSave","affiliateProgramRewardItem","affiliateProgramRewardsInitialState","affiliateProgramRewards","affiliateProgramReward","createAffiliateProgramReward","updateAffiliateProgramReward","fetchAffiliateProgramRewardDependencies","getAffiliateProgramPartners","affiliateProgramPartnerUserReadableProperty","getAffiliateProgramPartnerUserReadableProperty","AffiliateProgramRewardDetail","AffiliateProgramSubscriberRewardClaimsActionsBar","affiliateProgramSubscriberRewardClaimItemTransformationBeforeSave","createAffiliateProgramSubscriberRewardClaim","fetchAffiliateProgramSubscriberRewardClaimDependencies","fetchAffiliateProgramRewards","affiliateProgramSubscriberRewardClaimsInitialState","affiliateProgramSubscriberRewardClaimsReducer","affiliateProgramSubscriberRewardClaims","defaultAffiliateProgramSubscriberRewardClaimTabelSort","getAffiliateProgramRewards","affiliateProgramRewardUserReadableProperty","getAffiliateProgramRewardUserReadableProperty","AffiliateProgramSubscriberRewardClaimDetail","startsWith","changeBlockedState","GameClansActionsBar","onShowOnlyBlocked","onRemoveShowOnlyBlocked","renderActionButtonText","isBlocked","wrapperType","GameClansSearchBox","setFilter","handleSearch","handleChange","appActions","defaultGameClansTabelSort","changeBlockedStateHanlder","newValue","App","renderContent","Route","exact","NewsDetailCreate","NewsDetailUpdate","BetaTester","BetaTesterDetailCreate","BetaTesterDetailUpdate","ChargingCode","ChargingCodeDetailCreate","ChargingCodeDetailUpdate","Users","UserDetailCreate","UserDetailUpdate","Roles","RoleDetailCreate","RoleDetailUpdate","CompetitionDetailCreate","CompetitionDetailUpdate","Reports","ReportDetailCreate","ReportDetailUpdate","Ratings","RatingDetailUpdate","OutageNotifications","OutageNotificationDetailCreate","OutageNotificationDetailUpdate","Rewards","RewardDetailCreate","RewardDetailUpdate","TargetCampaign","SimCardTypes","SimCardTypeDetailCreate","SimCardTypeDetailUpdate","AffiliateProgramPartners","AffiliateProgramPartnerDetailCreate","AffiliateProgramPartnerDetailUpdate","AffiliateProgramRewards","AffiliateProgramRewardDetailCreate","AffiliateProgramRewardDetailUpdate","AffiliateProgramSubscriberRewardClaims","AffiliateProgramSubscriberRewardClaimDetailCreate","GameClans","self","interval","setInterval","nextProps","clearInterval","pathname","TextBox","autoComplete","SignIn","Field","reduxForm","UserInvite","ActivateAccount","renderLoading","renderSignIn","query","isVerified","Layout","language","contextTypes","propertyNames","fixImageUrlOnItem","property","defaults","baseURL","interceptors","use","fixImageUrl","ISO_8601","k","test","convertStringToDate","Promise","reject","request","config","withCredentials","Root","store","history","Router","messagesObj","calendar","today","groupPanelEmpty","pagerItemsPerPage","pagerInfo","pagerFirstPage","pagerPreviousPage","pagerNextPage","pagerLastPage","pagerPage","pagerOf","filterClearButton","filterEqOperator","filterNotEqOperator","filterIsNullOperator","filterIsNotNullOperator","filterIsEmptyOperator","filterIsNotEmptyOperator","filterStartsWithOperator","filterContainsOperator","filterNotContainsOperator","filterEndsWithOperator","filterGteOperator","filterGtOperator","filterLteOperator","filterLtOperator","filterIsTrue","filterIsFalse","filterBooleanAll","filterAfterOrEqualOperator","filterAfterOperator","filterBeforeOperator","filterBeforeOrEqualOperator","noRecords","actionTypeEndsInSuccess","substring","cmbReducer","combineReducers","formReducer","rootReducer","crossReducer","navigationMiddleware","next","globalStore","configureStore","middlewares","thunk","createStore","applyMiddleware","createBrowserHistory","load","likelySubtags","currencyData","weekData","numbers","currencies","caGregorian","dateFields","timeZoneNames","loadMessages","ReactDOM","StrictMode","getElementById"],"mappings":"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","file":"static/js/main.41f252e6.chunk.js","sourcesContent":["import {init} from 'i18next';\r\n\r\nimport * as commonCs from './locales/cs/common.json';\r\nimport * as commonEn from './locales/en/common.json';\r\n\r\nconst i18n = init({\r\n fallbackLng: 'cs',\r\n debug: true,\r\n lng: 'cs',\r\n resources: {\r\n en: {\r\n common: commonEn.default\r\n },\r\n cs: {\r\n common: commonCs.default\r\n }\r\n },\r\n initImmediate: false,\r\n react: {\r\n wait: true,\r\n bindI18n: 'languageChanged loaded',\r\n bindStore: 'added removed',\r\n nsMode: 'default'\r\n }\r\n });\r\n\r\nexport default i18n;","export const loadState = () => {\r\n try {\r\n const serializedState = localStorage.getItem('state');\r\n if (serializedState === null)\r\n return undefined;\r\n return JSON.parse(serializedState);\r\n } catch (error) {\r\n return undefined;\r\n }\r\n};\r\n\r\nexport const saveState = (state) => {\r\n try {\r\n const serializedState = JSON.stringify(state);\r\n localStorage.setItem('state', serializedState);\r\n } catch (error) {\r\n throw error;\r\n }\r\n};\r\n","export const BEGIN_AJAX_CALL = 'BEGIN_AJAX_CALL';\r\nexport const AJAX_CALL_ERROR = 'AJAX_CALL_ERROR';\r\nexport const TOGGLE_SIDEBAR = 'TOGGLE_SIDEBAR';\r\nexport const TOGGLE_ACCOUNT_MENU = 'TOGGLE_ACCOUNT_MENU';\r\n\r\nexport const USER_CLEAR = 'user/CLEAR';\r\nexport const USER_SIGN_OUT = 'user/SIGN_OUT';\r\nexport const USER_SIGN_IN = 'user/SIGN_IN_SUCCESS';\r\nexport const USER_SING_UP = 'user/SIGN_UP_SUCCESS';\r\nexport const USER_ACTIVATE_ACCOUNT = 'user/USER_ACTIVATE_ACCOUNT_SUCCESS';\r\nexport const USER_PASSWORD_RESET = 'user/PASSWORD_RESET_SUCCESS';\r\nexport const USER_PASSWORD_SET = 'user/PASSWORD_SET_SUCCESS';\r\nexport const USER_FETCH_AGENDAS = 'user/FETCH_AGENDAS_SUCCESS';\r\nexport const USER_ADD = 'user/ADD_SUCCESS';\r\nexport const USER_FETCH = 'user/FETCH_SUCCESS';\r\nexport const USER_UPDATE = 'user/UPDATE_SUCCESS';\r\nexport const USER_LOADING_DEPENDENCIES_BEGIN = 'user/LOADING_DEPENDENCIES_BEGIN';\r\nexport const USER_LOADING_DEPENDENCIES_END = 'user/LOADING_DEPENDENCIES_END';\r\n\r\nexport const APP_RESET = 'app/RESET';\r\nexport const APP_CHANGE_LANG = 'app/CHANGE_LANG';\r\nexport const APP_AGENDA_SET = 'app/AGENDA_SET_SUCCESS';\r\n\r\nexport const ALERTS_ADD = 'alerts/ADD';\r\nexport const ALERTS_REMOVE = 'alerts/REMOVE';\r\nexport const ALERTS_CLEAR = 'alerts/CLEAR';\r\n\r\nexport const TABLE_RESET = 'table/RESET';\r\nexport const TABLE_FETCH_DATA = 'table/FETCH_DATA_SUCCESS';\r\nexport const TABLE_PAGE_CHANGE = 'table/PAGE_CHANGE';\r\nexport const TABLE_SORT_CHANGE = 'table/SORT_CHANGE';\r\nexport const TABLE_FILTER_CHANGE = 'table/FILTER_CHANGE';\r\nexport const TABLE_FILTER_CLEAR = 'table/FILTER_CLEAR';\r\nexport const TABLE_CACHE_DATA = 'table/CACHE_DATA';\r\nexport const TABLE_SELECT_ROW = 'table/SELECT_ROW';\r\nexport const TABLE_DESELECT_ALL_ROWS = 'table/DESELECT_ALL_ROWS';\r\nexport const TABLE_SELECT_ROWS = 'table/SELECT_ROWS';\r\nexport const TABLE_REMOVE_ROWS = 'table/REMOVE_ROWS';\r\nexport const TABLE_SELECT_ALL_ROWS = 'table/SELECT_ALL_ROWS';\r\nexport const TABLE_DATA_TRANSFORMATION_CHANGE = 'table/TABLE_DATA_TRANSFORMATION_CHANGE';\r\nexport const TABLE_ADD_ROW = 'table/ADD_ROW';\r\nexport const TABLE_AFTER_LOAD_DATA_ACTION = 'table/AFTER_LOAD_DATA_ACTION';\r\n\r\nexport const NEWS_ADD = 'news/ADD_SUCCESS';\r\nexport const NEWS_FETCH = 'news/FETCH_SUCCESS';\r\nexport const NEWS_UPDATE = 'news/UPDATE_SUCCESS';\r\nexport const NEWS_FOUND = 'news/FOUND_SUCCESS';\r\nexport const NEWS_LOADING_DEPENDENCIES_BEGIN = 'news/NEWS_LOADING_DEPENDENCIES_BEGIN';\r\nexport const NEWS_LOADING_DEPENDENCIES_END = 'news/NEWS_LOADING_DEPENDENCIES_END';\r\n\r\nexport const NEWS_PAGES_FETCH = 'newsPages/FETCH_SUCCESS';\r\n\r\nexport const SERVICES_FETCH = 'services/FETCH_SUCCESS';\r\n\r\nexport const NAVIGATE_TO = 'navigation/NAVIGATE_TO';\r\n\r\nexport const EXTRA_FETCH = 'extra/FETCH_SUCCESS';\r\nexport const EXTRA_UPDATE = 'extra/UPDATE_SUCCESS';\r\nexport const EXTRA_LOADING_BEGIN = 'extra/LOADING_BEGIN';\r\nexport const EXTRA_LOADING_END = 'extra/LOADING_END';\r\n\r\nexport const BETATESTER_FETCH = 'betatester/FETCH_SUCCESS';\r\nexport const BETATESTER_ADD = 'betatester/ADD_SUCCESS';\r\nexport const BETATESTER_UPDATE = 'betatester/UPDATE_SUCCESS';\r\n\r\nexport const CHARGINGCODE_FETCH = 'chargingcode/FETCH_SUCCESS';\r\nexport const CHARGINGCODE_ADD = 'chargingcode/ADD_SUCCESS';\r\nexport const CHARGINGCODE_UPDATE = 'chargingcode/UPDATE_SUCCESS';\r\n\r\nexport const REPORT_FETCH = 'report/FETCH_SUCCESS';\r\nexport const REPORT_ADD = 'report/ADD_SUCCESS';\r\nexport const REPORT_UPDATE = 'report/UPDATE_SUCCESS';\r\n\r\nexport const RATING_FETCH = 'rating/FETCH_SUCCESS';\r\nexport const RATING_UPDATE = 'rating/UPDATE_SUCCESS';\r\n\r\nexport const RATING_SETTINGS_FETCH = 'ratingSettings/FETCH_SUCCESS';\r\nexport const RATING_SETTINGS_UPDATE = 'ratingSettings/UPDATE_SUCCESS';\r\nexport const RATING_SETTINGS_LOADING_BEGIN = 'ratingSettings/LOADING_BEGIN';\r\nexport const RATING_SETTINGS_LOADING_END = 'ratingSettings/LOADING_END';\r\n\r\nexport const ECOMAIL_LOADING_BEGIN = 'ecomail/LOADING_BEGIN';\r\nexport const ECOMAIL_LOADING_END = 'ecomail/LOADING_END';\r\n\r\nexport const OUTAGE_NOTIFICATION_FETCH = 'outagenotification/FETCH_SUCCESS';\r\nexport const OUTAGE_NOTIFICATION_ADD = 'outagenotification/ADD_SUCCESS';\r\nexport const OUTAGE_NOTIFICATION_UPDATE = 'outagenotification/UPDATE_SUCCESS';\r\n\r\nexport const LOADING_SPINNER_SHOW = 'loadingSpinner/SHOW';\r\nexport const LOADING_SPINNER_HIDE = 'loadingSpinner/HIDE';\r\n\r\nexport const REWARD_FETCH = 'reward/FETCH_SUCCESS';\r\nexport const REWARD_ADD = 'reward/ADD_SUCCESS';\r\nexport const REWARD_UPDATE = 'reward/UPDATE_SUCCESS';\r\n\r\nexport const SIM_CARD_TYPE_FETCH = 'simCardType/FETCH_SUCCESS';\r\nexport const SIM_CARD_TYPE_ADD = 'simCardType/ADD_SUCCESS';\r\nexport const SIM_CARD_TYPE_UPDATE = 'simCardType/UPDATE_SUCCESS';\r\n\r\nexport const MARKETING_ACTION_FETCH = 'marketingAction/FETCH_SUCCESS';\r\n\r\nexport const AFFILIATE_PROGRAM_REWARDS_FETCH = 'affiliateprogramrewards/FETCH_SUCCESS';\r\nexport const AFFILIATE_PROGRAM_REWARDS_ADD = 'affiliateprogramrewards/ADD_SUCCESS';\r\nexport const AFFILIATE_PROGRAM_REWARDS_UPDATE = 'affiliateprogramrewards/UPDATE_SUCCESS';\r\nexport const AFFILIATE_PROGRAM_REWARDS_LOADING_DEPENDENCIES_BEGIN = 'affiliateprogramrewards/LOADING_DEPENDENCIES_BEGIN';\r\nexport const AFFILIATE_PROGRAM_REWARDS_LOADING_DEPENDENCIES_END = 'affiliateprogramrewards/LOADING_DEPENDENCIES_END';\r\n\r\nexport const AFFILIATE_PROGRAM_PARTNERS_FETCH = 'affiliateprogrampartners/FETCH_SUCCESS';\r\nexport const AFFILIATE_PROGRAM_PARTNERS_ADD = 'affiliateprogrampartners/ADD_SUCCESS';\r\nexport const AFFILIATE_PROGRAM_PARTNERS_UPDATE = 'affiliateprogrampartners/UPDATE_SUCCESS';\r\n\r\nexport const AFFILIATE_PROGRAM_SUBSCRIBER_REWARD_CLAIMS_FETCH = 'affiliateProgramSubscriberRewardClaims/FETCH_SUCCESS';\r\nexport const AFFILIATE_PROGRAM_SUBSCRIBER_REWARD_CLAIMS_ADD = 'affiliateProgramSubscriberRewardClaims/ADD_SUCCESS';\r\nexport const AFFILIATE_PROGRAM_SUBSCRIBER_REWARD_CLAIMS_UPDATE = 'affiliateProgramSubscriberRewardClaims/UPDATE_SUCCESS';\r\nexport const AFFILIATE_PROGRAM_SUBSCRIBER_REWARD_CLAIMS_LOADING_DEPENDENCIES_BEGIN =\r\n 'affiliateProgramSubscriberRewardClaims/LOADING_DEPENDENCIES_BEGIN';\r\nexport const AFFILIATE_PROGRAM_SUBSCRIBER_REWARD_CLAIMS_LOADING_DEPENDENCIES_END = 'affiliateProgramSubscriberRewardClaims/LOADING_DEPENDENCIES_END';\r\n\r\nexport const ROLE_FETCH = 'role/FETCH_SUCCESS';\r\nexport const ROLE_ADD = 'role/ADD_SUCCESS';\r\nexport const ROLE_UPDATE = 'role/UPDATE_SUCCESS';\r\n\r\nexport const GAME_CLAN_FETCH = 'gameClan/FETCH_SUCCESS';\r\nexport const GAME_CLAN_UPDATE = 'gameClan/UPDATE_SUCCESS';\r\n","import * as types from \"./actionTypes\";\r\nimport uuidV4 from \"uuid/v4\";\r\n\r\n// style: \"info\", \"success\", \"warning\", \"error\"\r\nexport const alertAdd = (tKey, style) => {\r\n return {\r\n type: types.ALERTS_ADD,\r\n message: {\r\n id: uuidV4(),\r\n type: style,\r\n tKey: tKey\r\n }\r\n };\r\n};\r\n\r\nexport const alertWarningAdd = tKey => {\r\n return {\r\n type: types.ALERTS_ADD,\r\n message: {\r\n id: uuidV4(),\r\n type: \"warning\",\r\n tKey: tKey\r\n }\r\n };\r\n};\r\n\r\nexport const alertSuccessAdd = tKey => {\r\n return {\r\n type: types.ALERTS_ADD,\r\n message: {\r\n id: uuidV4(),\r\n type: \"success\",\r\n tKey: tKey\r\n }\r\n };\r\n};\r\n\r\nexport const alertErrorAdd = tKey => {\r\n return {\r\n type: types.ALERTS_ADD,\r\n message: {\r\n id: uuidV4(),\r\n type: \"error\",\r\n tKey: tKey\r\n }\r\n };\r\n};\r\n\r\nexport const alertWarningMessageAdd = (message, disabledAutoClose) => {\r\n return {\r\n type: types.ALERTS_ADD,\r\n message: {\r\n id: uuidV4(),\r\n type: \"warning\",\r\n message: message,\r\n disabledAutoClose: disabledAutoClose\r\n },\r\n \r\n };\r\n};\r\n\r\nexport const alertSuccessMessageAdd = (message, disabledAutoClose) => {\r\n return {\r\n type: types.ALERTS_ADD,\r\n message: {\r\n id: uuidV4(),\r\n type: \"success\",\r\n message: message,\r\n disabledAutoClose: disabledAutoClose\r\n },\r\n \r\n };\r\n};\r\n\r\nexport const alertErrorMessageAdd = (message, disabledAutoClose) => {\r\n return {\r\n type: types.ALERTS_ADD,\r\n message: {\r\n id: uuidV4(),\r\n type: \"error\",\r\n message: message,\r\n disabledAutoClose: disabledAutoClose\r\n },\r\n };\r\n};\r\n\r\nexport const alertRemove = id => ({\r\n type: types.ALERTS_REMOVE,\r\n id\r\n});\r\n\r\nexport const alertClear = () => ({\r\n type: types.ALERTS_CLEAR\r\n});\r\n","export const TEXT_HORIZONTAL_ALIGN = {\r\n LEFT: 'left',\r\n CENTER: 'center',\r\n RIGHT: 'right',\r\n};\r\n\r\nexport const ALERT_TYPE = {\r\n INFO: 'info',\r\n SUCCESS: 'success',\r\n WARNING: 'warning',\r\n ERROR: 'error',\r\n};\r\n\r\nexport const NAVIGATION_PATHS = {\r\n NEWS: '/news',\r\n NEWS_CREATE: '/news/create',\r\n BETA_TESTER: '/betatester',\r\n USERS: '/users',\r\n USERS_CREATE: '/users/create',\r\n ROLES: '/roles',\r\n ROLE_CREATE: '/roles/create',\r\n ROLE_DETAIL: '/roles/:id',\r\n CHARGING_CODE: '/chargingcode',\r\n COMPETITION: '/competition',\r\n COMPETITION_CREATE: '/competition/create',\r\n REPORTS: '/report',\r\n REPORT_CREATE: '/report/create',\r\n REWARDS: '/rewards',\r\n REWARD_CREATE: '/reward/create',\r\n REWARD_DETAIL: '/rewards/:id',\r\n RATING: '/rating',\r\n OUTAGE_NOTIFICATION: '/outagenotification',\r\n OUTAGE_NOTIFICATION_CREATE: '/outagenotification/create',\r\n TARGET_CAMPAIGNS: '/targetcampaigns',\r\n SIM_CARD_TYPES: '/sim-card-types',\r\n SIM_CARD_TYPE_CREATE: '/sim-card-types/create',\r\n SIM_CARD_TYPE_DETAIL: '/sim-card-types/:id',\r\n AFFILIATE_PROGRAM_PARTNERS: '/affiliateprogrampartners',\r\n AFFILIATE_PROGRAM_PARTNERS_CREATE: '/affiliateprogrampartner/create',\r\n AFFILIATE_PROGRAM_PARTNERS_DETAIL: '/affiliateprogrampartner/:id',\r\n AFFILIATE_PROGRAM_REWARDS: '/affiliateprogramrewards',\r\n AFFILIATE_PROGRAM_REWARDS_DETAIL: '/affiliateprogramrewards/:id',\r\n AFFILIATE_PROGRAM_REWARDS_CREATE: '/affiliateprogramrewards/create',\r\n AFFILIATE_PROGRAM_SUBSCRIBER_REWARD_CLAIMS: '/affiliateprogramsubsciberrewardclaims',\r\n AFFILIATE_PROGRAM_SUBSCRIBER_REWARD_CLAIMS_CREATE: '/affiliateprogramsubsciberrewardclaims/create',\r\n GAME_CLANS: '/gameclans',\r\n\r\n SIGN_IN: '/signin',\r\n};\r\n","export const NEWS_TYPES = [\r\n { text: 'otevření webové stránky', value: 0 },\r\n { text: 'navigace na stránku v aplikaci', value: 1 },\r\n { text: 'objednávka služby', value: 2 },\r\n { text: 'SMS objednávka', value: 3 },\r\n { text: 'detail služby z banneru', value: 4 },\r\n { text: 'detail služby z detailu banneru', value: 5 },\r\n { text: 'detail Jen pro mě z banneru', value: 6 },\r\n { text: 'detail Jen pro mě z detailu banneru', value: 7 },\r\n];\r\n\r\nexport const NEWS_SECTION_TYPES = [\r\n { text: 'hlavní stránka', value: 2 },\r\n { text: 'moje rodina', value: 4 },\r\n { text: 'hlavní stránka + moje rodina', value: 6 },\r\n];\r\n\r\nexport const RATING_TRIGGER_TYPES = [\r\n { text: 'po objednávce', value: 0 },\r\n { text: 'po dobití kreditu', value: 1 },\r\n { text: 'po souteži', value: 2 },\r\n { text: 'po odejití z Extra', value: 3 },\r\n { text: 'po odejití ze Suri game', value: 4 },\r\n];\r\n\r\nexport const COMPETITION_TARGET_CUSTOMER_TYPES = [\r\n { text: 'všichni zákazníci', value: 0 },\r\n { text: 'pouze pro VIP', value: 1 },\r\n];\r\n\r\nexport const PLATFORMA_TYPES = [\r\n { text: 'všechny platformy', value: 0 },\r\n { text: 'Android', value: 1 },\r\n { text: 'iOS', value: 2 },\r\n { text: 'Selfcare', value: 3 },\r\n { text: 'Mobilní aplikace', value: 4 },\r\n];\r\n\r\nexport const JOB_PROCESSOR_TYPES = [\r\n { text: 'žádná', value: 0 },\r\n { text: 'výpočet VIP statusu', value: 1 },\r\n { text: 'import historického bunosového kreditu', value: 2 },\r\n];\r\n\r\nexport const JOB_STATUS_TYPES = [\r\n { text: 'žádná', value: 0 },\r\n { text: 'výpočet VIP statusu', value: 1 },\r\n { text: 'import historického bunosového kreditu', value: 2 },\r\n];\r\n\r\nexport const RATING_VARIANT_WITHOUT_STARS_ENUM_VALUE = 1;\r\nexport const RATING_VARIANT_DEFAULT_ENUM_VALUE = 0;\r\n\r\nexport const RATING_VARIANT_TYPES = [\r\n { text: 'výchozí', value: RATING_VARIANT_DEFAULT_ENUM_VALUE },\r\n { text: 'bez hvězdiček', value: RATING_VARIANT_WITHOUT_STARS_ENUM_VALUE },\r\n];\r\n\r\nexport enum SOURCE_OF_SUBSCRIBERS_TYPES_ENUM {\r\n ALL = 0,\r\n O2_VOPE = 1,\r\n CMT = 2,\r\n GAME = 3,\r\n DIGI_CLUB = 4,\r\n HVC = 5,\r\n FAMILYMEMBER = 6,\r\n CLUBCARDMEMBER = 7,\r\n BIRTHDAY = 8,\r\n AFFILIATE_PROGRAM = 9,\r\n AFTER_REGISTRATION = 10,\r\n ELM = 11,\r\n}\r\n\r\nexport const SOURCE_OF_SUBSCRIBERS_TYPES = [\r\n { text: 'Pro všechny', value: SOURCE_OF_SUBSCRIBERS_TYPES_ENUM.ALL },\r\n { text: 'O2 - VOPE', value: SOURCE_OF_SUBSCRIBERS_TYPES_ENUM.O2_VOPE },\r\n { text: 'CMT', value: SOURCE_OF_SUBSCRIBERS_TYPES_ENUM.CMT },\r\n { text: 'Hra', value: SOURCE_OF_SUBSCRIBERS_TYPES_ENUM.GAME },\r\n { text: 'DIGI club', value: SOURCE_OF_SUBSCRIBERS_TYPES_ENUM.DIGI_CLUB },\r\n { text: 'Hvc', value: SOURCE_OF_SUBSCRIBERS_TYPES_ENUM.HVC },\r\n { text: 'Family member', value: SOURCE_OF_SUBSCRIBERS_TYPES_ENUM.FAMILYMEMBER },\r\n { text: 'Clubcard memmber', value: SOURCE_OF_SUBSCRIBERS_TYPES_ENUM.CLUBCARDMEMBER },\r\n { text: 'Birthday', value: SOURCE_OF_SUBSCRIBERS_TYPES_ENUM.BIRTHDAY },\r\n { text: 'Partnerský program', value: SOURCE_OF_SUBSCRIBERS_TYPES_ENUM.AFFILIATE_PROGRAM },\r\n { text: 'Po registraci', value: SOURCE_OF_SUBSCRIBERS_TYPES_ENUM.AFTER_REGISTRATION },\r\n { text: 'ELM', value: SOURCE_OF_SUBSCRIBERS_TYPES_ENUM.ELM },\r\n];\r\n\r\nexport const REWARD_TYPES = [\r\n { text: 'Produkt', value: 0 },\r\n /* { text: 'Kredit', value: 1 }, */\r\n];\r\n\r\nexport enum REWARD_VARIANT_ENUM {\r\n STANDARD = 0,\r\n FOLLOWING = 1,\r\n}\r\n\r\nexport const REWARD_VARIANT = [\r\n { text: 'Standardní', value: REWARD_VARIANT_ENUM.STANDARD },\r\n { text: 'Navazující', value: REWARD_VARIANT_ENUM.FOLLOWING },\r\n];\r\n\r\nexport const TARGETED_CAMPAIGN_CONDITION_TYPE = [\r\n { text: 'Cilit na skupinu', value: 0 },\r\n { text: 'Vyloučit skupinu z cílení', value: 1 },\r\n];\r\n\r\nexport const TARGETED_GROUP_SUFFIX_TYPE = [{ text: 'Denní', value: 1 }];\r\n\r\nexport const OUTAGE_NOTIFICATION_FILTER_TYPE = [\r\n { text: 'Žádný', value: 0 },\r\n { text: 'Verze mobilní aplikace', value: 1 },\r\n { text: 'Skupina uživatelů', value: 2 },\r\n];\r\n\r\nexport enum TARGETED_CAMPAIGN_DATA_SOURCE_TYPE_ENUM {\r\n CMT = 1 << 0,\r\n HVC = 1 << 1,\r\n DIGICLUB = 1 << 2,\r\n FAMILYMEMBER = 1 << 3,\r\n CLUBCARDMEMBER = 1 << 4,\r\n BIRTHDAY = 1 << 5,\r\n GAME = 1 << 6,\r\n MARKETING_ACTION_USAGES = 1 << 7,\r\n REWARD_USAGES = 1 << 8,\r\n AFFILIATE_PROGRAM = 1 << 9,\r\n AFTER_REGISTRATION = 1 << 10,\r\n ELM = 1 << 11,\r\n PRODUCT_STATE_CHANGE = 1 << 12,\r\n}\r\n\r\nexport const TARGETED_CAMPAIGN_DATA_SOURCE_TYPE = [\r\n { text: 'CMT', value: TARGETED_CAMPAIGN_DATA_SOURCE_TYPE_ENUM.CMT },\r\n { text: 'Hvc', value: TARGETED_CAMPAIGN_DATA_SOURCE_TYPE_ENUM.HVC },\r\n { text: 'DigiClub', value: TARGETED_CAMPAIGN_DATA_SOURCE_TYPE_ENUM.DIGICLUB },\r\n { text: 'FamilyMember', value: TARGETED_CAMPAIGN_DATA_SOURCE_TYPE_ENUM.FAMILYMEMBER },\r\n { text: 'ClubcardMember', value: TARGETED_CAMPAIGN_DATA_SOURCE_TYPE_ENUM.CLUBCARDMEMBER },\r\n { text: 'Birthday', value: TARGETED_CAMPAIGN_DATA_SOURCE_TYPE_ENUM.BIRTHDAY },\r\n { text: 'MarketingAction', value: TARGETED_CAMPAIGN_DATA_SOURCE_TYPE_ENUM.MARKETING_ACTION_USAGES },\r\n { text: 'Reward', value: TARGETED_CAMPAIGN_DATA_SOURCE_TYPE_ENUM.REWARD_USAGES },\r\n { text: 'AffiliateProgram', value: TARGETED_CAMPAIGN_DATA_SOURCE_TYPE_ENUM.AFFILIATE_PROGRAM },\r\n { text: 'AfterRegistration', value: TARGETED_CAMPAIGN_DATA_SOURCE_TYPE_ENUM.AFTER_REGISTRATION },\r\n { text: 'ELM', value: TARGETED_CAMPAIGN_DATA_SOURCE_TYPE_ENUM.ELM },\r\n { text: 'Změny stavů balíčku', value: TARGETED_CAMPAIGN_DATA_SOURCE_TYPE_ENUM.PRODUCT_STATE_CHANGE },\r\n];\r\n\r\nexport enum NEWS_BANNER_VIEW_TYPES_ENUM {\r\n DEFAULT = 0,\r\n TEXT_OVER_BANNER = 1,\r\n}\r\n\r\nexport const NEWS_BANNER_VIEW_TYPES = [\r\n { text: 'Výchozí', value: NEWS_BANNER_VIEW_TYPES_ENUM.DEFAULT },\r\n { text: 'Text přes banner', value: NEWS_BANNER_VIEW_TYPES_ENUM.TEXT_OVER_BANNER },\r\n];\r\n\r\n/*\r\n Equal = 0,\r\n\r\n NotEqual = 1,\r\n\r\n GreaterThan = 2,\r\n\r\n GreaterThanOrEqual = 3,\r\n\r\n LessThan = 4,\r\n\r\n LessThanOrEqual = 5\r\n*/\r\nexport const OUTAGE_NOTIFICATION_CONDITION_TYPE = [\r\n { text: 'Rovná se', value: 0 },\r\n { text: 'Nerovná se', value: 1 },\r\n { text: 'Větší než', value: 2 },\r\n { text: 'Větší nebo rovno', value: 3 },\r\n { text: 'Menší než', value: 4 },\r\n { text: 'Menší nebo rovno', value: 5 },\r\n];\r\n\r\nexport enum CAMPRO_MODULE_ENUM {\r\n NONE = 0,\r\n NEWS = 1 << 0,\r\n BETA_TESTERS = 1 << 1,\r\n USERS = 1 << 2,\r\n ROLES = 1 << 3,\r\n COMPETITIONS = 1 << 4,\r\n EXTRA = 1 << 5,\r\n CHARGINGCODES = 1 << 6,\r\n REPORTS = 1 << 7,\r\n RATING = 1 << 8,\r\n RATING_SETTINGS = 1 << 9,\r\n ECOMAIL = 1 << 10,\r\n OUTAGE_NOTIFICATIONS = 1 << 11,\r\n FOR_ME = 1 << 12,\r\n CMT = 1 << 13,\r\n SIMCARD_TYPES = 1 << 14,\r\n AFFILIATE_PROGRAM_REWARDS = 1 << 15,\r\n AFFILIATE_PROGRAM_PARTNERS = 1 << 16,\r\n AFFILIATE_PROGRAM_SUBSCRIBER_REWARD_CLAIMS = 1 << 17,\r\n GAME_CLANS = 1 << 18,\r\n}\r\n\r\nexport const CAMPRO_MODULES = [\r\n { text: 'Žádný', value: -1 },\r\n { text: 'Zprávy', value: CAMPRO_MODULE_ENUM.NEWS },\r\n { text: 'Beta testeři', value: CAMPRO_MODULE_ENUM.BETA_TESTERS },\r\n { text: 'Uživatelé', value: CAMPRO_MODULE_ENUM.USERS },\r\n { text: 'Role', value: CAMPRO_MODULE_ENUM.ROLES },\r\n { text: 'Soutěže', value: CAMPRO_MODULE_ENUM.COMPETITIONS },\r\n { text: 'Extra', value: CAMPRO_MODULE_ENUM.EXTRA },\r\n { text: 'Charging codes', value: CAMPRO_MODULE_ENUM.CHARGINGCODES },\r\n { text: 'Reporty', value: CAMPRO_MODULE_ENUM.REPORTS },\r\n { text: 'Hodnocení', value: CAMPRO_MODULE_ENUM.RATING },\r\n { text: 'Nastavení hodnocení', value: CAMPRO_MODULE_ENUM.RATING_SETTINGS },\r\n { text: 'Ecomail', value: CAMPRO_MODULE_ENUM.ECOMAIL },\r\n { text: 'Hlášení výpadků', value: CAMPRO_MODULE_ENUM.OUTAGE_NOTIFICATIONS },\r\n { text: 'Jen pro mě', value: CAMPRO_MODULE_ENUM.FOR_ME },\r\n { text: 'CMT', value: CAMPRO_MODULE_ENUM.CMT },\r\n { text: 'Typy simkaret', value: CAMPRO_MODULE_ENUM.SIMCARD_TYPES },\r\n { text: 'Partnerský program - partneři', value: CAMPRO_MODULE_ENUM.AFFILIATE_PROGRAM_PARTNERS },\r\n { text: 'Partnerský program - odměny', value: CAMPRO_MODULE_ENUM.AFFILIATE_PROGRAM_REWARDS },\r\n { text: 'Partnerský program - nároky', value: CAMPRO_MODULE_ENUM.AFFILIATE_PROGRAM_SUBSCRIBER_REWARD_CLAIMS },\r\n { text: 'Herní klany', value: CAMPRO_MODULE_ENUM.GAME_CLANS },\r\n];\r\n\r\nexport const getEnumItemByValue = (enumValue: number, enumSource: EnumDescription[]): EnumDescription | undefined => {\r\n if (!Array.isArray(enumSource)) {\r\n throw Error('Enum source must be Array!');\r\n }\r\n\r\n return enumSource.find((enumItem) => {\r\n return enumItem.value === enumValue;\r\n });\r\n};\r\n\r\nexport const getEnumItemsByFlaggedValue = (enumFlaggedValue: number, enumSource: EnumDescription[]): EnumDescription[] => {\r\n if (!Array.isArray(enumSource)) {\r\n throw Error('Enum source must be Array!');\r\n }\r\n\r\n return enumSource.filter((item) => {\r\n return (item.value & enumFlaggedValue) === item.value;\r\n });\r\n};\r\n\r\nexport const getFlaggeValueFormEnumItems = (enumValues: EnumDescription[]): number | null => {\r\n if (!Array.isArray(enumValues)) {\r\n throw Error('Enum values must be Array!');\r\n }\r\n\r\n return enumValues.length > 0 ? enumValues.reduce((total, item, i) => total + item.value, 0) : null;\r\n};\r\n\r\nexport const isSelectedEnumFlagg = (enumValues: EnumDescription[], enumFlagg: number): boolean => {\r\n if (!enumValues || !(enumValues.length > 0)) {\r\n return false;\r\n }\r\n\r\n return enumValues.some((item) => {\r\n const bit = item.value & enumFlagg;\r\n\r\n return bit === item.value;\r\n });\r\n};\r\n\r\nexport type EnumDescription = {\r\n text: string;\r\n value: number;\r\n};\r\n","import * as types from './actionTypes';\r\nimport { NAVIGATION_PATHS } from '../common/constants';\r\n\r\nexport const navigateTo = (path) => {\r\n return { type: types.NAVIGATE_TO, path };\r\n};\r\n\r\nexport const navigateToNews = () => {\r\n return { type: types.NAVIGATE_TO, path: NAVIGATION_PATHS.NEWS };\r\n};\r\n\r\nexport const navigateToRatings = () => {\r\n return { type: types.NAVIGATE_TO, path: NAVIGATION_PATHS.RATING };\r\n};\r\n\r\nexport const navigateToCompetitions = () => {\r\n return { type: types.NAVIGATE_TO, path: NAVIGATION_PATHS.COMPETITION };\r\n};\r\n\r\nexport const navigateToBetatester = () => {\r\n return { type: types.NAVIGATE_TO, path: NAVIGATION_PATHS.BETA_TESTER };\r\n};\r\n\r\nexport const navigateToUsers = () => {\r\n return { type: types.NAVIGATE_TO, path: NAVIGATION_PATHS.USERS };\r\n};\r\n\r\nexport const navigateToSingIn = () => {\r\n return { type: types.NAVIGATE_TO, path: NAVIGATION_PATHS.SIGN_IN };\r\n};\r\n\r\nexport const navigateToChargingCode = () => {\r\n return { type: types.NAVIGATE_TO, path: NAVIGATION_PATHS.CHARGING_CODE };\r\n};\r\n\r\nexport const navigateToReports = () => {\r\n return { type: types.NAVIGATE_TO, path: NAVIGATION_PATHS.REPORTS };\r\n};\r\n\r\nexport const navigateToOutageNotifications = () => {\r\n return { type: types.NAVIGATE_TO, path: NAVIGATION_PATHS.OUTAGE_NOTIFICATION };\r\n};\r\n\r\nexport const navigateToTargetCampaigns = () => {\r\n return { type: types.NAVIGATE_TO, path: NAVIGATION_PATHS.TARGET_CAMPAIGN };\r\n};\r\n\r\nexport const navigateToRewards = () => {\r\n return { type: types.NAVIGATE_TO, path: NAVIGATION_PATHS.REWARDS };\r\n};\r\n\r\nexport const navigateToSimCardTypes = () => {\r\n return { type: types.NAVIGATE_TO, path: NAVIGATION_PATHS.SIM_CARD_TYPES };\r\n};\r\n\r\nexport const navigateToAffiliateProgramRewards = () => {\r\n return { type: types.NAVIGATE_TO, path: NAVIGATION_PATHS.AFFILIATE_PROGRAM_REWARDS };\r\n};\r\n\r\nexport const navigateToAffiliateProgramPartners = () => {\r\n return { type: types.NAVIGATE_TO, path: NAVIGATION_PATHS.AFFILIATE_PROGRAM_PARTNERS };\r\n};\r\n\r\nexport const navigateToAffiliateProgramSubscriberRewardClaims = () => {\r\n return { type: types.NAVIGATE_TO, path: NAVIGATION_PATHS.AFFILIATE_PROGRAM_SUBSCRIBER_REWARD_CLAIMS };\r\n};\r\n\r\nexport const navigateToRoles = () => {\r\n return { type: types.NAVIGATE_TO, path: NAVIGATION_PATHS.ROLES };\r\n};\r\n\r\nexport const navigateToGameClans = () => {\r\n return { type: types.NAVIGATE_TO, path: NAVIGATION_PATHS.GAME_CLANS };\r\n};\r\n","class ResponseStatus {\r\n static IsCreated(status) {\r\n return status === 201;\r\n }\r\n\r\n static IsOK(status) {\r\n return status === 200;\r\n }\r\n}\r\n\r\nexport default ResponseStatus;\r\n","import * as types from '../actions/actionTypes';\r\nimport Role from '../entities/role';\r\n\r\nconst roleInitialState = {\r\n userReadableProperty: 'name',\r\n loadingDependencies: false,\r\n loaded: false,\r\n data: [],\r\n};\r\n\r\nconst roles = (state = roleInitialState, action: any) => {\r\n switch (action.type) {\r\n case types.ROLE_FETCH:\r\n return {\r\n ...state,\r\n data: action.data.map((role: Role) => {\r\n return { ...role };\r\n }),\r\n loaded: true,\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default roles;\r\n\r\nexport const isLoaded = (state: any): boolean => {\r\n return state.roles.loaded === true;\r\n};\r\n\r\nexport const getData = (state: any): Role[] => {\r\n return state.roles.data;\r\n};\r\n\r\nexport const getUserReadableProperty = (state: any): keyof Role => {\r\n return state.roles.userReadableProperty;\r\n};\r\n","import { getFlaggeValueFormEnumItems } from '../common/enums';\r\nimport Role from '../entities/role';\r\n\r\nconst roleItemTransformationBeforeSave = (roleItem: Role) => {\r\n const transformedData = {\r\n ...roleItem,\r\n permittedModules: getFlaggeValueFormEnumItems(roleItem.permittedModules),\r\n } as { [key: string]: any };\r\n\r\n /* const body = new FormData();\r\n\r\n for (const key in transformedData) {\r\n if (transformedData[key] !== null && transformedData[key] !== undefined) {\r\n body.append(key, transformedData[key]);\r\n }\r\n }\r\n\r\n return body; */\r\n\r\n return transformedData;\r\n};\r\n\r\nexport default roleItemTransformationBeforeSave;\r\n","import axios from 'axios';\r\nimport { Dispatch } from 'react-redux';\r\n\r\nimport * as types from './actionTypes';\r\nimport { beginAjaxCall, ajaxCallError } from './ajaxStatusActions';\r\nimport { navigateToRoles } from './navigationActions';\r\nimport ResponseStatus from '../utils/responseStatus';\r\nimport { isLoaded } from '../reducers/roleReducer';\r\nimport Role from '../entities/role';\r\nimport roleItemTransformationBeforeSave from '../data-transformations/roletemTransformationBeforeSave';\r\n\r\nexport const fetchRoles = () => async (dispatch: Dispatch, getState: any) => {\r\n if (isLoaded(getState())) {\r\n return;\r\n }\r\n\r\n try {\r\n dispatch(beginAjaxCall());\r\n\r\n const response = await axios.get(`role/`);\r\n\r\n if (ResponseStatus.IsOK(response.status)) {\r\n dispatch({\r\n type: types.ROLE_FETCH,\r\n data: response.data,\r\n });\r\n } else {\r\n dispatch(ajaxCallError());\r\n }\r\n } catch (error) {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n }\r\n};\r\n\r\nexport const createRole = (data: Role) => (dispatch: Dispatch) => {\r\n dispatch(beginAjaxCall());\r\n\r\n const transformedData = roleItemTransformationBeforeSave(data);\r\n\r\n axios\r\n .post(`role`, transformedData)\r\n .then((response) => {\r\n if (ResponseStatus.IsCreated(response.status)) {\r\n dispatch({\r\n type: types.ROLE_ADD,\r\n });\r\n\r\n dispatch(navigateToRoles());\r\n } else {\r\n dispatch(ajaxCallError());\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n });\r\n};\r\n\r\nexport const updateRole = (data: Role) => (dispatch: Dispatch) => {\r\n dispatch(beginAjaxCall());\r\n\r\n const transformedData = roleItemTransformationBeforeSave(data);\r\n\r\n axios\r\n .put(`role`, transformedData)\r\n .then((response) => {\r\n if (ResponseStatus.IsOK(response.status)) {\r\n dispatch({\r\n type: types.ROLE_UPDATE,\r\n data: response.data,\r\n });\r\n\r\n dispatch(navigateToRoles());\r\n } else {\r\n dispatch(ajaxCallError());\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n });\r\n};\r\n","import * as types from './actionTypes';\r\n\r\nexport function beginAjaxCall() {\r\n return { type: types.BEGIN_AJAX_CALL };\r\n}\r\n\r\nexport function ajaxCallError() {\r\n return { type: types.AJAX_CALL_ERROR };\r\n}\r\n","import axios from 'axios';\r\nimport jwtDecode from 'jwt-decode';\r\nimport { loadState, saveState } from '../components/common/LocalStorage';\r\nimport { alertErrorAdd } from './alertActions';\r\nimport * as types from './actionTypes';\r\nimport { beginAjaxCall, ajaxCallError } from './ajaxStatusActions';\r\nimport { navigateTo, navigateToSingIn } from './navigationActions';\r\nimport ResponseStatus from '../utils/responseStatus';\r\nimport { fetchRoles } from './roleActions';\r\n\r\nexport const setNewPassword = (password, token) => (dispatch) => {\r\n dispatch(beginAjaxCall());\r\n document.cookie = `Token=${token}`;\r\n\r\n axios\r\n .post(`auth/newpassword`, { password })\r\n .then((response) => {\r\n dispatch({\r\n type: types.USER_PASSWORD_SET,\r\n });\r\n\r\n let { accessToken } = response.data;\r\n if (accessToken) {\r\n dispatch(verifyAccess(accessToken));\r\n dispatch(navigateTo('/'));\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n });\r\n};\r\n\r\nexport const resetPassword = (email) => (dispatch) => {\r\n dispatch(beginAjaxCall());\r\n\r\n axios\r\n .get(`auth/forgottenpassword`, { params: { email: email } })\r\n .then((response) => {\r\n let { data } = response;\r\n dispatch({\r\n type: types.USER_PASSWORD_RESET,\r\n sent: data,\r\n });\r\n\r\n if (data != undefined && !data) {\r\n dispatch(alertErrorAdd('UserDoesntExist', 'error'));\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n });\r\n};\r\n\r\nexport const verifyAccount = (token) => (dispatch) => {\r\n dispatch(beginAjaxCall());\r\n\r\n axios\r\n .get(`auth/verify`, { params: { token: token } })\r\n .then(() => {\r\n dispatch({\r\n type: types.USER_ACTIVATE_ACCOUNT,\r\n });\r\n })\r\n .catch((error) => {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n });\r\n};\r\n\r\nexport const clear = () => (dispatch) => {\r\n dispatch({\r\n type: types.USER_CLEAR,\r\n });\r\n};\r\n\r\nexport const signUp = (account) => (dispatch) => {\r\n dispatch(beginAjaxCall());\r\n\r\n axios\r\n .post(`auth/signup`, { ...account })\r\n .then((response) => {\r\n if (response) {\r\n let { data } = response;\r\n if (data) {\r\n dispatch({\r\n type: types.USER_SING_UP,\r\n ...data,\r\n });\r\n } else {\r\n dispatch(ajaxCallError());\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n });\r\n};\r\n\r\nexport const signIn = (email, password) => (dispatch) => {\r\n dispatch(beginAjaxCall());\r\n\r\n axios\r\n .post(`auth/token`, {\r\n email,\r\n password,\r\n })\r\n .then((response) => {\r\n dispatch(signInCallback(response, '/'));\r\n })\r\n .catch((error) => {\r\n dispatch(signOut());\r\n });\r\n};\r\n\r\nexport const verifyAccess = (token) => (dispatch) => {\r\n if (!token) dispatch(signOut());\r\n\r\n let { exp } = jwtDecode(token);\r\n\r\n if (!exp) dispatch(signOut());\r\n\r\n let now = new Date();\r\n let expireIn = new Date(exp * 1000);\r\n\r\n if (now > expireIn) {\r\n dispatch(signOut());\r\n } else {\r\n // Mapping token to storage and set cookie\r\n saveState({ user: { isAuth: true, tokenExpireIn: expireIn } });\r\n document.cookie = `Token=${token}`;\r\n\r\n // Renew token - checking validity\r\n axios\r\n .get(`auth/renew`)\r\n .then((response) => {\r\n dispatch(signInCallback(response));\r\n })\r\n .catch(() => {\r\n dispatch(signOut());\r\n });\r\n }\r\n};\r\n\r\nexport const hasAccess = () => (dispatch) => {\r\n let state = loadState();\r\n if (!state) {\r\n dispatch(signOut());\r\n } else {\r\n let { user } = state;\r\n if (user.tokenExpireIn == '') {\r\n dispatch(signOut());\r\n } else {\r\n let now = new Date();\r\n let expireIn = new Date(user.tokenExpireIn * 1000);\r\n console.warn('hasAccess after expireIn');\r\n\r\n if (now > expireIn) {\r\n dispatch(signOut());\r\n } else {\r\n // Try to authorize\r\n dispatch(beginAjaxCall());\r\n axios\r\n .get(`auth/renew`)\r\n .then((response) => {\r\n if (response.data != '') dispatch(signInCallback(response));\r\n else dispatch(signOut());\r\n })\r\n .catch(() => {\r\n dispatch(ajaxCallError());\r\n dispatch(signOut());\r\n });\r\n }\r\n }\r\n }\r\n};\r\n\r\nexport const signUpCallback =\r\n (response, navigateTo = undefined) =>\r\n (dispatch) => {\r\n let { data } = response;\r\n document.cookie = `Token=${data.accessToken}`;\r\n\r\n dispatch(beginAjaxCall());\r\n // Renew token - checking validity\r\n axios\r\n .get(`auth/renew`)\r\n .then((response) => {\r\n dispatch(signInCallback(response, navigateTo));\r\n })\r\n .catch(() => {\r\n dispatch(signOut());\r\n });\r\n };\r\n\r\nexport const signInCallback =\r\n (response, pathToNavigate = undefined) =>\r\n (dispatch) => {\r\n let { data } = response;\r\n if (data && data.isAuthorized) {\r\n // Get data\r\n let { data } = response;\r\n // Set user logged in\r\n dispatch({\r\n type: types.USER_SIGN_IN,\r\n tokenExpireIn: data.expirationIn,\r\n isAdmin: data.isAdmin,\r\n permittedModules: data.permittedModules,\r\n });\r\n // Save to local storage\r\n saveState({ user: { isAuth: true, tokenExpireIn: data.expirationIn, isAdmin: data.isAdmin } });\r\n // Navigate to homepage\r\n if (pathToNavigate) {\r\n dispatch(navigateTo(pathToNavigate));\r\n }\r\n } else {\r\n dispatch(alertErrorAdd('UserDoesntExist'));\r\n dispatch(ajaxCallError());\r\n }\r\n };\r\n\r\nexport const signOut = () => (dispatch, getState) => {\r\n // Clear local storage\r\n console.warn('signOut');\r\n saveState({ user: { isAuth: false, token: '', tokenExpireIn: '' } });\r\n\r\n dispatch(beginAjaxCall());\r\n axios\r\n .get(`auth/clear`)\r\n .then(() => {\r\n // Nothing to read\r\n })\r\n .catch((error) => {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n });\r\n\r\n // Clearing cookies\r\n dispatch({\r\n type: types.USER_SIGN_OUT,\r\n });\r\n\r\n dispatch({\r\n type: types.APP_RESET,\r\n });\r\n\r\n // Navigate to signIn page\r\n dispatch(navigateToSingIn());\r\n};\r\n\r\nexport const isAuth = (lastModified) => (dispatch) => {\r\n let state = loadState();\r\n if (!state) {\r\n dispatch(signOut());\r\n } else {\r\n // Inactive user will be signed out\r\n let now = new Date();\r\n let maxInactiveTime = new Date(lastModified.getTime() + 20 * 60 * 1000);\r\n if (now > maxInactiveTime) {\r\n dispatch(signOut());\r\n } else {\r\n let { user } = state;\r\n if (user.tokenExpireIn == '') dispatch(signOut());\r\n\r\n let expireIn = new Date(user.tokenExpireIn * 1000);\r\n let willExpire = new Date(user.tokenExpireIn * 1000);\r\n willExpire.setMinutes(willExpire.getMinutes() - 2);\r\n\r\n if (now < expireIn) {\r\n // Token is still valid\r\n if (now > willExpire) {\r\n // Renew early\r\n axios\r\n .get(`auth/renew`)\r\n .then((response) => {\r\n dispatch(signInCallback(response));\r\n })\r\n .catch(() => {\r\n dispatch(signOut());\r\n });\r\n }\r\n } else {\r\n // Token is expired\r\n dispatch(signOut());\r\n }\r\n }\r\n }\r\n};\r\n\r\nexport const userAgendas = () => (dispatch) => {\r\n dispatch(beginAjaxCall());\r\n\r\n axios.get(`auth/useragendas`).then((response) => {\r\n let { data } = response;\r\n dispatch({\r\n type: types.USER_FETCH_AGENDAS,\r\n data,\r\n });\r\n });\r\n};\r\n\r\nexport const setAgenda = (agendaId) => (dispatch) => {\r\n dispatch(beginAjaxCall());\r\n\r\n axios\r\n .post(`auth/setagenda`, {\r\n agendaId,\r\n })\r\n .then(() => {\r\n dispatch({\r\n type: types.APP_AGENDA_SET,\r\n });\r\n dispatch(navigateTo('/'));\r\n })\r\n .catch(() => {\r\n dispatch(ajaxCallError());\r\n dispatch(signOut());\r\n });\r\n};\r\n\r\nexport const createUser = (data) => (dispatch) => {\r\n dispatch(beginAjaxCall());\r\n\r\n axios\r\n .post(`auth/invite`, data)\r\n .then((response) => {\r\n if (ResponseStatus.IsOK(response.status)) {\r\n if (response.data && response.data.emailIsInUsed) {\r\n dispatch(alertErrorAdd('UserWithEmailIsInUsed'));\r\n\r\n return;\r\n }\r\n\r\n dispatch({\r\n type: types.USER_ADD,\r\n });\r\n\r\n dispatch(navigateTo('/users'));\r\n } else {\r\n dispatch(ajaxCallError());\r\n dispatch(alertErrorAdd('UserCreateError'));\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch(ajaxCallError());\r\n dispatch(alertErrorAdd('UserCreateError'));\r\n });\r\n};\r\n\r\nexport const updateUser = (data) => (dispatch) => {\r\n dispatch(beginAjaxCall());\r\n\r\n axios\r\n .put(`users`, data)\r\n .then((response) => {\r\n if (ResponseStatus.IsOK(response.status)) {\r\n dispatch({\r\n type: types.USER_UPDATE,\r\n data: response.data,\r\n });\r\n\r\n dispatch(navigateTo('/users'));\r\n } else {\r\n dispatch(ajaxCallError());\r\n dispatch(alertErrorAdd('UserUpdateError'));\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch(ajaxCallError());\r\n dispatch(alertErrorAdd('UserUpdateError'));\r\n });\r\n};\r\n\r\nexport const setPassword = (password, token) => (dispatch) => {\r\n dispatch(beginAjaxCall());\r\n\r\n document.cookie = `Token=${token}`;\r\n\r\n axios\r\n .post(`auth/setpassword`, { password })\r\n .then((response) => {\r\n if (ResponseStatus.IsOK(response.status) && response.data === true) {\r\n dispatch({\r\n type: types.USER_PASSWORD_SET,\r\n });\r\n\r\n dispatch(navigateToSingIn());\r\n } else {\r\n dispatch(ajaxCallError());\r\n dispatch(alertErrorAdd('SetPasswordError'));\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch(ajaxCallError());\r\n dispatch(alertErrorAdd('SetPasswordError'));\r\n });\r\n};\r\n\r\nexport const fetchUserDependencies = () => async (dispatch, getState) => {\r\n try {\r\n dispatch(LOADING_DEPENDENCIES_BEGIN);\r\n\r\n await fetchRoles()(dispatch, getState);\r\n } catch (exception) {\r\n throw exception; //FUJ\r\n } finally {\r\n dispatch(LOADING_DEPENDENCIES_END);\r\n }\r\n};\r\n\r\nconst LOADING_DEPENDENCIES_BEGIN = {\r\n type: types.USER_LOADING_DEPENDENCIES_BEGIN,\r\n};\r\n\r\nconst LOADING_DEPENDENCIES_END = {\r\n type: types.USER_LOADING_DEPENDENCIES_END,\r\n};\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst SubmitButton = ({ children, loading = false, className = '', onClick }) => {\r\n className = 'k-button k-primary ' + className;\r\n if (onClick) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nSubmitButton.propTypes = {\r\n children: PropTypes.node,\r\n loading: PropTypes.bool,\r\n className: PropTypes.string,\r\n onClick: PropTypes.func,\r\n};\r\n\r\nexport default SubmitButton;\r\n","import PropTypes from 'prop-types';\r\nimport { translate } from 'react-i18next';\r\n\r\nconst Translation = ({t, tKey}) => {\r\n return t(tKey);\r\n};\r\n\r\nTranslation.propTypes = {\r\n tKey: PropTypes.string.isRequired,\r\n t: PropTypes.func.isRequired\r\n};\r\n\r\nexport default translate('common')(Translation);\r\n\r\n","/* eslint-disable no-restricted-globals */\r\nexport const alertAutoCloseConfig = {\r\n timeout: 5000,\r\n \r\n autoCloseInfo: true,\r\n autoCloseSuccess: true,\r\n autoCloseWarning: true,\r\n autoCloseError: false\r\n};\r\n\r\nconst url = process.env.NODE_ENV === 'production' ? location.host : location.hostname + ':5000';\r\n//const url = process.env.NODE_ENV === 'production' ? location.host : \"dev.tescomobile.app\";\r\n//const protocol =process.env.NODE_ENV === 'production' ?location.protocol : \"https:\";\r\n\r\nexport const apiBaseUrl = `${location.protocol}//${url}/api`;\r\nexport const imageBaseUrl = `${location.protocol}//${url}`;\r\n\r\n//export const apiBaseUrl = `${protocol}//${url}/api`;\r\n//export const imageBaseUrl = `${protocol}//${url}`;\r\n\r\nexport const MAX_IMAGE_SIZE_IN_MEGA_BYTES=1;\r\nexport const MAX_IMAGE_SIZE_IN_BYTES = MAX_IMAGE_SIZE_IN_MEGA_BYTES*1024*1024;\r\n","import PropTypes from \"prop-types\";\r\n\r\nexport const autoCloseConfigPropTypes = PropTypes.shape({\r\n timeout: PropTypes.number,\r\n \r\n autoCloseInfo: PropTypes.bool,\r\n autoCloseSuccess: PropTypes.bool,\r\n autoCloseWarning: PropTypes.bool,\r\n autoCloseError: PropTypes.bool, \r\n});\r\n\r\nexport const alertPropTypes = PropTypes.shape({\r\n id: PropTypes.string,\r\n type: PropTypes.string,\r\n tKey: PropTypes.string,\r\n disabledAutoClose: PropTypes.bool,\r\n});\r\n\r\nexport const betatesterDetailPropTypes = PropTypes.shape({\r\n msisdn: PropTypes.string.isRequired,\r\n description: PropTypes.string \r\n});\r\n\r\nexport const enumProtoType = PropTypes.shape({\r\n text: PropTypes.string.isRequired,\r\n value: PropTypes.number.isRequired,\r\n});\r\n\r\nexport const finalFormInput= PropTypes.object;\r\n\r\nexport const finalFormMeta = PropTypes.shape({\r\n touched:PropTypes.bool.isRequired,\r\n error:PropTypes.string,\r\n warning:PropTypes.string,\r\n});\r\n\r\nexport const location= PropTypes.shape({\r\n search: PropTypes.string.isRequired,\r\n});\r\n\r\nexport const newsPropTypes= PropTypes.shape({ \r\n name: PropTypes.string.isRequired,\r\n validFrom: PropTypes.instanceOf(Date).isRequired,\r\n validTo: PropTypes.instanceOf(Date),\r\n description: PropTypes.string,\r\n shortDescription: PropTypes.string,\r\n type: enumProtoType.isRequired,\r\n platform: enumProtoType.isRequired,\r\n urlOpenExternal: PropTypes.bool,\r\n smsRecipient: PropTypes.string,\r\n smsBody: PropTypes.string,\r\n published : PropTypes.bool, \r\n order: PropTypes.number,\r\n navigateDirectToPage: PropTypes.bool, \r\n isCampaign : PropTypes.bool, \r\n targetedCampaignCode: PropTypes.string, \r\n campaignTitle: PropTypes.string, \r\n campaignMessage: PropTypes.string, \r\n});\r\n\r\nexport const competitionPropTypes= PropTypes.shape({ \r\n name: PropTypes.string.isRequired,\r\n validFrom: PropTypes.instanceOf(Date).isRequired,\r\n validTo: PropTypes.instanceOf(Date),\r\n description: PropTypes.string,\r\n noVipText: PropTypes.string,\r\n targetCustomer: enumProtoType.isRequired,\r\n platform: enumProtoType.isRequired,\r\n urlOpenExternal: PropTypes.bool, \r\n published : PropTypes.bool, \r\n});\r\n\r\nexport const chargingCodeDetailPropTypes = PropTypes.shape({\r\n code: PropTypes.string.isRequired,\r\n name: PropTypes.string \r\n});\r\n\r\nexport const reportDetailPropTypes = PropTypes.shape({\r\n viewName: PropTypes.string.isRequired,\r\n name: PropTypes.string .isRequired, \r\n});\r\n\r\nexport const tableSortPropertyPropTypes = PropTypes.shape({\r\n dir: PropTypes.string.isRequired,\r\n field: PropTypes.string.isRequired,\r\n});\r\n\r\nexport const ratingPropTypes= PropTypes.shape({ \r\n msisdn: PropTypes.string.isRequired,\r\n id: PropTypes.number.isRequired,\r\n description: PropTypes.string,\r\n value: PropTypes.number.isRequired, \r\n trigger: enumProtoType.isRequired,\r\n dateOfCreate:PropTypes.instanceOf(Date).isRequired,\r\n platform: enumProtoType.isRequired, \r\n});","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport CSSTransition from \"react-transition-group/CSSTransition\";\r\nimport Translation from \"../common/Translation\";\r\nimport { ALERT_TYPE } from \"../../common/constants\";\r\nimport { alertAutoCloseConfig } from \"./../../common/configs\";\r\nimport {\r\n alertPropTypes,\r\n autoCloseConfigPropTypes\r\n} from \"../../common/propTypes\";\r\n\r\nconst alertClasses = {\r\n error: \"alert-error\",\r\n warning: \"alert-warning\",\r\n info: \"alert-info\",\r\n success: \"alert-success\"\r\n};\r\n\r\nclass Alert extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.onClose = this.onClose.bind(this);\r\n this.onHide = this.onHide.bind(this);\r\n this.state = { showAlert: true };\r\n }\r\n\r\n componentDidMount() {\r\n if (\r\n !this.props.alert.disabledAutoClose &&\r\n ((this.props.alert.type === ALERT_TYPE.ERROR &&\r\n this.props.autoCloseConfig.autoCloseError) ||\r\n (this.props.alert.type === ALERT_TYPE.SUCCESS &&\r\n this.props.autoCloseConfig.autoCloseSuccess) ||\r\n (this.props.alert.type === ALERT_TYPE.INFO &&\r\n this.props.autoCloseConfig.autoCloseInfo) ||\r\n (this.props.alert.type === ALERT_TYPE.WARNING &&\r\n this.props.autoCloseConfig.autoCloseWarning))\r\n ) {\r\n this.timer = setTimeout(this.onHide, this.props.autoCloseConfig.timeout);\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n clearTimeout(this.timer);\r\n }\r\n\r\n alertClass(type) {\r\n return alertClasses[type] || alertClasses.success;\r\n }\r\n\r\n onHide() {\r\n this.setState({ showAlert: false });\r\n }\r\n\r\n onClose() {\r\n this.props.onClose(this.props.alert.id);\r\n }\r\n\r\n render() {\r\n const alert = this.props.alert;\r\n const alertClassName = `alert ${this.alertClass(alert.type)}`;\r\n const message = alert.message ? (\r\n alert.message\r\n ) : (\r\n \r\n );\r\n\r\n return (\r\n \r\n
\r\n \r\n ×\r\n \r\n {message}\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nAlert.propTypes = {\r\n autoCloseConfig: autoCloseConfigPropTypes,\r\n alert: alertPropTypes.isRequired,\r\n onClose: PropTypes.func\r\n};\r\n\r\nAlert.defaultProps = {\r\n autoCloseConfig: alertAutoCloseConfig\r\n};\r\n\r\nexport default Alert;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { alertRemove, alertClear } from \"../../actions/alertActions\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport Alert from \"./Alert\";\r\nimport { TransitionGroup } from 'react-transition-group';\r\nimport {autoCloseConfigPropTypes, alertPropTypes} from \"../../common/propTypes\";\r\n\r\nclass Alerts extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.removeAlert = this.removeAlert.bind(this);\r\n this.clearAlerts = this.clearAlerts.bind(this);\r\n }\r\n\r\n componentWillUnmount() {\r\n this.clearAlerts();\r\n }\r\n\r\n removeAlert(alertId) {\r\n this.props.removeAlert(alertId);\r\n }\r\n\r\n clearAlerts() {\r\n this.props.clearAlerts();\r\n }\r\n\r\n render() { \r\n const alerts = this.props.alerts.map(alert => (\r\n \r\n ));\r\n\r\n return ( \r\n \r\n
\r\n {alerts}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nAlerts.propTypes = {\r\n removeAlert: PropTypes.func.isRequired,\r\n clearAlerts: PropTypes.func.isRequired,\r\n alerts: PropTypes.arrayOf(alertPropTypes).isRequired,\r\n autoCloseConfig: autoCloseConfigPropTypes, \r\n};\r\n\r\nAlerts.defaultProps = {\r\n alerts: []\r\n};\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n alerts: state.alerts\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n removeAlert: bindActionCreators(alertRemove, dispatch),\r\n clearAlerts: bindActionCreators(alertClear, dispatch)\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Alerts);\r\n","import React from \"react\";\r\nimport * as PropTypes from \"prop-types\";\r\n\r\nconst ErrorValidationMessage = ({errorMessage})=> {\r\n return (\r\n {errorMessage}\r\n );\r\n};\r\n\r\nErrorValidationMessage.propTypes={\r\n errorMessage:PropTypes.string.isRequired,\r\n};\r\n\r\nexport default ErrorValidationMessage;\r\n","import classNames from \"classnames\";\r\nimport React from \"react\";\r\nimport ErrorValidationMessage from \"../ErrorValidationMessage\";\r\n\r\nconst KendoHOC = (type, {icon, input, meta, placeholder, ...rest}) => {\r\n const Type = type;\r\n const {style} = rest;\r\n const isInvalid = meta.error && meta.touched;\r\n\r\n const wrapperClass = classNames({\r\n 'validable-control': true,\r\n 'validable-control__error': isInvalid,\r\n });\r\n\r\n return (\r\n
\r\n {icon &&  }\r\n \r\n {isInvalid && }\r\n
\r\n );\r\n};\r\n\r\nexport default KendoHOC;\r\n","import {Input as KendoInput} from \"@progress/kendo-react-inputs\";\r\n\r\nimport KendoHOC from \"./utils/KendoHOC\";\r\n\r\nconst Input = (options) => (KendoHOC(KendoInput, options));\r\n\r\nexport default Input;\r\n","import React from \"react\";\r\n\r\nconst LoadingIndicator = () => {\r\n return (\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default LoadingIndicator;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport {Form, Field} from 'react-final-form';\r\nimport { bindActionCreators, compose } from 'redux';\r\n\r\nimport * as userActions from '../../actions/userActions';\r\nimport SubmitButton from '../common/SubmitButton';\r\nimport { Link } from 'react-router-dom';\r\nimport Translation from '../common/Translation';\r\nimport { translate } from 'react-i18next';\r\nimport Alerts from '../common/Alerts';\r\nimport Input from '../common/Input';\r\nimport LoadingIndicator from \"../common/LoadingIndicator\";\r\n\r\nclass ForgottenPassword extends React.Component {\r\n constructor(props) {\r\n super(props); \r\n }\r\n\r\n componentDidMount() {\r\n this.props.actions.clear();\r\n }\r\n\r\n renderInstructions = () => {\r\n return (\r\n
\r\n
\r\n

\r\n

\r\n \r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n translatedFormValidation = (values) =>{\r\n const { t } = this.props;\r\n const errors = {};\r\n\r\n if (!values.email) {\r\n errors.email = t('EmailIsRequired');\r\n }\r\n \r\n return errors;\r\n }\r\n\r\n onSubmit = (values) => { \r\n this.props.actions.resetPassword(values.email);\r\n };\r\n\r\n renderForm = () => {\r\n let { loading } = this.props;\r\n return (\r\n
\r\n
\r\n

\r\n

\r\n \r\n

\r\n
\r\n
\r\n (\r\n
\r\n {this.props.loading && } \r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n )}/> \r\n
\r\n
\r\n );\r\n }\r\n\r\n render() {\r\n let { emailSent } = this.props;\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
 
\r\n {!emailSent && this.renderForm()}\r\n {emailSent && this.renderInstructions()}\r\n
 
\r\n
\r\n
\r\n
\r\n
);\r\n }\r\n}\r\n\r\nForgottenPassword.propTypes = {\r\n actions: PropTypes.object,\r\n loading: PropTypes.bool,\r\n t: PropTypes.func.isRequired,\r\n emailSent: PropTypes.object\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loading: state.ajaxStatus > 0,\r\n emailSent: state.user.forgottenPasswordSent\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n actions: bindActionCreators(userActions, dispatch)\r\n };\r\n};\r\n\r\nexport default compose(translate('common'), connect(mapStateToProps, mapDispatchToProps))(ForgottenPassword);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { bindActionCreators, compose } from 'redux';\r\nimport { connect } from 'react-redux';\r\nimport queryString from 'query-string';\r\nimport {Form, Field} from 'react-final-form';\r\nimport { Link } from 'react-router-dom';\r\n\r\nimport * as userActions from '../../actions/userActions';\r\nimport SubmitButton from '../common/SubmitButton';\r\nimport Translation from '../common/Translation';\r\nimport { translate } from 'react-i18next';\r\nimport * as propTypes from '../../common/propTypes';\r\nimport Input from '../common/Input';\r\nimport LoadingIndicator from \"../common/LoadingIndicator\";\r\n\r\nclass ResetPassword extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n password: '',\r\n confirmPassword: '',\r\n errors: {},\r\n token: ''\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n \r\n }\r\n\r\n translatedFormValidation = (values) =>{\r\n const { t } = this.props;\r\n const errors = {};\r\n\r\n if (!values.password) {\r\n errors.password = t('PasswordIsRequired');\r\n }\r\n\r\n if (values.password && (values.password !== values.confirmPassword)) {\r\n errors.confirmPassword = t('PasswordsDontMatchRetype');\r\n }\r\n \r\n return errors;\r\n }\r\n \r\n onSubmit = (values) => {\r\n const search = this.props.location.search;\r\n const parsed = queryString.parse(search);\r\n\r\n if(parsed.key) {\r\n this.props.actions.setNewPassword(values.password, parsed.key); \r\n }\r\n }\r\n\r\n renderForm = () => { \r\n let { loading } = this.props;\r\n\r\n return (\r\n
\r\n
\r\n

\r\n

\r\n \r\n

\r\n
\r\n
\r\n (\r\n
\r\n {this.props.loading && } \r\n \r\n\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n )}/> \r\n
\r\n
\r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n
 
\r\n {this.renderForm()}\r\n
 
\r\n
\r\n
\r\n
);\r\n }\r\n}\r\n\r\nResetPassword.propTypes = {\r\n actions: PropTypes.object,\r\n loading: PropTypes.bool,\r\n query: PropTypes.object,\r\n t: PropTypes.func,\r\n location: propTypes.location.isRequired,\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => {\r\n return {\r\n loading: state.ajaxStatus > 0,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n actions: bindActionCreators(userActions, dispatch)\r\n };\r\n};\r\n\r\nexport default compose(translate('common'), connect(mapStateToProps, mapDispatchToProps))(ResetPassword);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Link } from 'react-router-dom';\r\n\r\nconst NavLink = ({to, path, children, className}) => {\r\n let linkClassName = path == to ? \"active\" : \"\";\r\n if (className)\r\n linkClassName = `${linkClassName} ${className}`;\r\n\r\n return (\r\n
  • {children}
  • \r\n );\r\n};\r\n\r\nNavLink.propTypes = {\r\n to: PropTypes.string.isRequired,\r\n path: PropTypes.string.isRequired,\r\n children: PropTypes.array.isRequired,\r\n className: PropTypes.string\r\n};\r\n\r\nexport default NavLink;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\n// import {bindActionCreators, compose} from \"redux\";\r\nimport { compose } from 'redux';\r\nimport internal from 'events';\r\nimport { CAMPRO_MODULE_ENUM } from '../../common/enums';\r\n\r\nconst AuthContext = React.createContext({ isAdmin: false, permittedModules: CAMPRO_MODULE_ENUM.NONE });\r\nconst AuthConsumer = AuthContext.Consumer;\r\n\r\ninterface AuthProviderProps {\r\n isAdmin: boolean;\r\n permittedModules: CAMPRO_MODULE_ENUM;\r\n}\r\n\r\nclass AuthProvider extends React.Component {\r\n state = { isAdmin: false };\r\n\r\n render() {\r\n console.warn('AuthProvider.render');\r\n\r\n return (\r\n \r\n {this.props.children}\r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state: any) => {\r\n return {\r\n isAdmin: state.user.isAdmin,\r\n permittedModules: state.user.permittedModules,\r\n };\r\n};\r\n\r\nconst connectedAuthProvider = compose(connect(mapStateToProps))(AuthProvider);\r\n\r\nexport { connectedAuthProvider as AuthProvider, AuthConsumer };\r\n","import React, { PropsWithChildren } from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport { AuthConsumer } from './authContext';\r\nimport { CAMPRO_MODULES, CAMPRO_MODULE_ENUM, getEnumItemsByFlaggedValue, isSelectedEnumFlagg } from '../../common/enums';\r\n\r\ninterface HassAccessProps {\r\n requestedPermittedModule: CAMPRO_MODULE_ENUM;\r\n}\r\n\r\nconst hasAccess: React.FunctionComponent> = ({\r\n children,\r\n requestedPermittedModule,\r\n}: PropsWithChildren) => {\r\n return (\r\n \r\n {({ isAdmin, permittedModules }) => {\r\n const permittedModulesFlags = getEnumItemsByFlaggedValue(permittedModules, CAMPRO_MODULES);\r\n const hasPermission = isSelectedEnumFlagg(permittedModulesFlags, requestedPermittedModule);\r\n\r\n // (isAdmin ? children : null)\r\n return hasPermission ? children : null;\r\n }}\r\n \r\n );\r\n};\r\n\r\nexport default hasAccess;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport NavLink from './NavLink';\r\n// import NavGroup from './NavGroup';\r\nimport Translation from './Translation';\r\nimport HasAccess from '../security/hasAccess';\r\nimport { NAVIGATION_PATHS } from '../../common/constants';\r\nimport { CAMPRO_MODULE_ENUM } from '../../common/enums';\r\n\r\ninterface SideBarProps {\r\n open: boolean;\r\n path: string;\r\n}\r\n\r\nconst SideBar = ({ path, open }: SideBarProps) => {\r\n let sidebar = 'sidebar';\r\n if (!open) sidebar += ' sidebar-close';\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nSideBar.propTypes = {\r\n open: PropTypes.bool,\r\n path: PropTypes.string,\r\n};\r\n\r\nexport default SideBar;\r\n","import * as types from './actionTypes';\r\n\r\nexport const toggleSidebar = (event) => (dispatch) => {\r\n event.preventDefault();\r\n\r\n return dispatch({ type: types.TOGGLE_SIDEBAR });\r\n};\r\n","import * as types from './actionTypes';\r\nimport axios from 'axios';\r\nimport { beginAjaxCall, ajaxCallError } from './ajaxStatusActions';\r\n\r\nexport const toggleAccountMenu = (event) => (dispatch) => {\r\n event.preventDefault();\r\n\r\n return dispatch({ type: types.TOGGLE_ACCOUNT_MENU });\r\n};\r\n\r\nexport const refreshCache = (event) => (dispatch) => {\r\n event.preventDefault();\r\n\r\n dispatch(beginAjaxCall());\r\n\r\n axios.get(`cache/refresh`)\r\n .then((response) => {\r\n })\r\n .catch((error) => { \r\n dispatch(ajaxCallError());\r\n throw error; \r\n });\r\n};\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport * as accountMenuActions from '../../actions/accountMenuActions';\r\nimport * as userActions from '../../actions/userActions';\r\nimport Translation from './Translation';\r\n\r\nconst AccountMenu = ({ open, actions }) => {\r\n let accountMenu = \"account-menu\";\r\n if (open)\r\n accountMenu += \" account-menu-opened\";\r\n\r\n const signOut = (event) => {\r\n event.preventDefault();\r\n actions.signOut();\r\n };\r\n\r\n const refreshCache = (event) => {\r\n actions.refreshCache(event);\r\n actions.toggleAccountMenu(event);\r\n };\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nAccountMenu.propTypes = {\r\n actions: PropTypes.shape({\r\n toggleAccountMenu: PropTypes.func.isRequired,\r\n refreshCache: PropTypes.func.isRequired,\r\n signOut: PropTypes.func.isRequired,\r\n }),\r\n open: PropTypes.bool\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n open: state.accountMenu.open\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n actions: bindActionCreators({...accountMenuActions, ...userActions}, dispatch)\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(AccountMenu);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport * as sideBarActions from '../../actions/sideBarActions';\r\nimport * as accountMenuActions from '../../actions/accountMenuActions';\r\nimport AccountMenu from './AccountMenu';\r\n\r\nconst Header = ({ open, actions }) => {\r\n let headerMenu = \"header-menu\";\r\n if (open)\r\n headerMenu += \" sidebar-open\";\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nHeader.propTypes = {\r\n actions: PropTypes.shape({\r\n toggleSidebar: PropTypes.func.isRequired,\r\n }),\r\n open: PropTypes.bool,\r\n //lang: PropTypes.string\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n open: state.sideBar.open,\r\n //lang: state.app.lang\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n actions: bindActionCreators({ ...sideBarActions, ...accountMenuActions }, dispatch)\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Header);\r\n","import axios from 'axios';\r\nimport * as types from './actionTypes';\r\nimport { beginAjaxCall, ajaxCallError } from './ajaxStatusActions';\r\nimport { alertAdd } from './alertActions';\r\nimport { navigateTo } from './navigationActions';\r\nimport { showLoadingSpinner, hideLoadingSpinner } from './loadingSpinnerActions';\r\n\r\nexport const reset = (url, actionUrl, columns) => (dispatch) => {\r\n dispatch({\r\n type: types.TABLE_RESET,\r\n url,\r\n actionUrl,\r\n columns: columns.map((column, index) => {\r\n return { index, ...column };\r\n }),\r\n });\r\n};\r\n\r\nexport const sortChange = (sort) => (dispatch) => {\r\n dispatch({\r\n type: types.TABLE_SORT_CHANGE,\r\n sort,\r\n });\r\n\r\n dispatch(loadData(true));\r\n};\r\n\r\nexport const pageChange = (skip, take) => (dispatch) => {\r\n dispatch({\r\n type: types.TABLE_PAGE_CHANGE,\r\n skip,\r\n take,\r\n });\r\n\r\n dispatch(loadData());\r\n};\r\n\r\nexport const filterClear = () => (dispatch) => {\r\n dispatch({\r\n type: types.TABLE_FILTER_CLEAR,\r\n });\r\n\r\n dispatch(loadData(true));\r\n};\r\n\r\nexport const filterChange = (filter) => (dispatch) => {\r\n dispatch({\r\n type: types.TABLE_FILTER_CHANGE,\r\n filter,\r\n });\r\n\r\n dispatch(loadData(true));\r\n};\r\n\r\nexport const dataTransformationChange = (dataTransformationName) => (dispatch) => {\r\n dispatch({\r\n type: types.TABLE_DATA_TRANSFORMATION_CHANGE,\r\n dataTransformation: dataTransformationName,\r\n });\r\n};\r\n\r\nexport const setAfterLoadDataActionType = (afterLoadDataActionType) => (dispatch) => {\r\n dispatch({\r\n type: types.TABLE_AFTER_LOAD_DATA_ACTION,\r\n afterLoadDataActionType: afterLoadDataActionType,\r\n });\r\n};\r\n\r\nexport const loadData =\r\n (hardRerfresh = false) =>\r\n (dispatch, getState) => {\r\n let readFromServer = false;\r\n if (!hardRerfresh) {\r\n readFromServer = cacheData(dispatch, getState);\r\n }\r\n\r\n if (readFromServer || hardRerfresh) {\r\n dispatch(beginAjaxCall());\r\n dispatch(showLoadingSpinner());\r\n let result = composeUrl(getState);\r\n const afterLoadDataActionType = getAfterLoadDataActionType(getState);\r\n\r\n axios\r\n .get(result.url)\r\n .then((response) => {\r\n dispatch(hideLoadingSpinner());\r\n dispatch({\r\n type: types.TABLE_FETCH_DATA,\r\n ...response.data,\r\n take: result.take,\r\n skip: result.skip,\r\n });\r\n\r\n if (afterLoadDataActionType) {\r\n dispatch({\r\n type: afterLoadDataActionType,\r\n data: response.data.data,\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch(hideLoadingSpinner());\r\n ajaxCallError();\r\n throw error;\r\n });\r\n }\r\n };\r\n\r\nconst cacheData = (dispatch, getState) => {\r\n let { table } = getState();\r\n let { data, cache, skip, take } = table;\r\n\r\n if (data && data.length > 0 && cache.data && cache.data.length > 0) {\r\n if (skip >= cache.skip && skip + take <= cache.skip + cache.take) {\r\n dispatch({\r\n type: types.TABLE_CACHE_DATA,\r\n });\r\n\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n};\r\n\r\nconst composeUrl = (getState) => {\r\n let { table } = getState();\r\n let { skip, take, sort, filter, columns, cache } = table;\r\n\r\n let tSkip = Math.floor(skip / cache.take) * cache.take;\r\n let tTake = Math.floor((skip - tSkip + take) / cache.take) * cache.take;\r\n tTake = tTake <= 0 ? cache.take : tTake;\r\n let url = `${table.url}/query?skip=${tSkip}&take=${tTake}`;\r\n\r\n columns = columns.filter((c) => {\r\n return c.field !== 'selected';\r\n });\r\n columns.forEach((column, index) => {\r\n url += `&columns[${index}][data]=${column.field}`;\r\n });\r\n\r\n sort.forEach((s, i) => {\r\n let column = columns.find((c) => {\r\n return c.field == s.field;\r\n });\r\n if (column) {\r\n url += `&order[${i}][column]=${column.index - 1}&order[${i}][dir]=${s.dir}`;\r\n }\r\n });\r\n\r\n if (filter && Array.isArray(filter)) {\r\n filter.forEach((f, i) => {\r\n url += `&filters[${i}][member]=${f.field}&filters[${i}][operator]=${f.operator}&filters[${i}][value]=${f.value}`;\r\n\r\n if (f.logicalOperator) {\r\n url += `&filters[${i}][logicalOperator]=${f.logicalOperator}`;\r\n }\r\n });\r\n }\r\n\r\n return { url, skip: tSkip, take: tTake };\r\n};\r\n\r\nexport const selectRow = (id, selected) => (dispatch) => {\r\n dispatch({\r\n type: types.TABLE_SELECT_ROW,\r\n id,\r\n selected,\r\n });\r\n};\r\n\r\nexport const desellectAllRows = () => (dispatch) => {\r\n dispatch({\r\n type: types.TABLE_DESELECT_ALL_ROWS,\r\n });\r\n};\r\n\r\nexport const selectRows = (min, max, selected) => (dispatch) => {\r\n dispatch({\r\n type: types.TABLE_SELECT_ROWS,\r\n min,\r\n max,\r\n selected,\r\n });\r\n};\r\n\r\nexport const selectAllRows = (checked) => (dispatch) => {\r\n dispatch({\r\n type: types.TABLE_SELECT_ALL_ROWS,\r\n checked,\r\n });\r\n};\r\n\r\nexport const remove = () => (dispatch, getState) => {\r\n let { table } = getState();\r\n let { url, data } = table;\r\n let ids = data\r\n .filter((i) => {\r\n return i.selected;\r\n })\r\n .map((i) => {\r\n return i.id;\r\n });\r\n axios\r\n .delete(`${url}/`, { data: ids })\r\n .then((response) => {\r\n let { success, failed } = response.data;\r\n if (success && Array.isArray(success)) {\r\n let ids = success.map((i) => {\r\n return i.id;\r\n });\r\n\r\n if (ids.length > 0) {\r\n dispatch({\r\n type: types.TABLE_REMOVE_ROWS,\r\n ids,\r\n });\r\n dispatch(alertAdd('RecordWasRemoved', 'info'));\r\n }\r\n }\r\n if (failed && Array.isArray(failed)) {\r\n let ids = failed.map((i) => {\r\n return i.id;\r\n });\r\n if (ids.length > 0) {\r\n dispatch(alertAdd('RecordWasntRemoved', 'error'));\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n ajaxCallError();\r\n throw error;\r\n });\r\n};\r\n\r\nexport const edit = () => (dispatch, getState) => {\r\n let { table } = getState();\r\n let { actionUrl, data } = table;\r\n let { id } = data.find((i) => i.selected);\r\n if (id) {\r\n dispatch(navigateTo(`/${actionUrl}/${id}`));\r\n }\r\n};\r\n\r\nexport const clone = () => (dispatch, getState) => {\r\n let { table } = getState();\r\n let { url, actionUrl, data } = table;\r\n let { id } = data.find((i) => i.selected);\r\n if (id) {\r\n axios\r\n .get(`${url}/clone/${id}`)\r\n .then((response) => {\r\n const cloned = response.data;\r\n\r\n dispatch({\r\n type: types.TABLE_ADD_ROW,\r\n row: cloned,\r\n });\r\n\r\n dispatch(navigateTo(`/${actionUrl}/${cloned.id}`));\r\n })\r\n .catch((error) => {\r\n ajaxCallError();\r\n throw error;\r\n });\r\n }\r\n};\r\n\r\nexport const getAfterLoadDataActionType = (getState) => {\r\n let { table } = getState();\r\n\r\n return table.afterLoadDataActionType;\r\n};\r\n","import * as types from './actionTypes';\r\n\r\nexport function showLoadingSpinner() {\r\n return { type: types.LOADING_SPINNER_SHOW };\r\n}\r\n\r\nexport function hideLoadingSpinner() {\r\n return { type: types.LOADING_SPINNER_HIDE };\r\n}\r\n","export const tableInitialState = {\r\n data: [],\r\n sort: [{ field: \"id\", dir: \"asc\" }],\r\n filter: [],\r\n total: 0,\r\n skip: 0,\r\n take: 25,\r\n cache: {\r\n data:[],\r\n skip: 0,\r\n take: 100\r\n },\r\n gridFilter: {},\r\n current: 0,\r\n loaded: false,\r\n};\r\n\r\nexport const byIdInitialState={};","import {\r\n getEnumItemByValue,\r\n getEnumItemsByFlaggedValue,\r\n NEWS_SECTION_TYPES,\r\n NEWS_TYPES,\r\n PLATFORMA_TYPES,\r\n TARGETED_CAMPAIGN_CONDITION_TYPE,\r\n TARGETED_GROUP_SUFFIX_TYPE,\r\n TARGETED_CAMPAIGN_DATA_SOURCE_TYPE,\r\n TARGETED_CAMPAIGN_DATA_SOURCE_TYPE_ENUM,\r\n NEWS_BANNER_VIEW_TYPES,\r\n} from '../common/enums';\r\n\r\nexport default class News {\r\n id;\r\n name;\r\n description;\r\n shortDescription;\r\n pageId;\r\n serviceId;\r\n url;\r\n validFrom;\r\n validTo;\r\n type;\r\n actionButtonText;\r\n imageUrl;\r\n imageUrlV2;\r\n detailImageUrl;\r\n published;\r\n platform;\r\n urlOpenExternal;\r\n smsRecipient;\r\n smsBody;\r\n order;\r\n navigateDirectToPage;\r\n isCampaign;\r\n targetedCampaignCode;\r\n targetedCampaignConditionType;\r\n targetedCampaignUseDateSuffix;\r\n targetedCampaignDateSuffixType;\r\n campaignTitle;\r\n campaignMessage;\r\n dateOfCampaignStart;\r\n campaignForAll;\r\n campaignSent;\r\n section;\r\n dataSourceType;\r\n bannerViewType;\r\n\r\n constructor(properties) {\r\n Object.assign(this, properties);\r\n\r\n this.validFrom = properties.validFrom ? new Date(properties.validFrom) : properties.validFrom;\r\n this.validTo = properties.validTo ? new Date(properties.validTo) : properties.validTo;\r\n this.type = getEnumItemByValue(properties.type, NEWS_TYPES);\r\n this.targetedCampaignConditionType = getEnumItemByValue(properties.targetedCampaignConditionType, TARGETED_CAMPAIGN_CONDITION_TYPE);\r\n this.platform = getEnumItemByValue(properties.platform, PLATFORMA_TYPES);\r\n this.section = getEnumItemByValue(properties.section, NEWS_SECTION_TYPES);\r\n this.dataSourceType = getEnumItemsByFlaggedValue(properties.dataSourceType, TARGETED_CAMPAIGN_DATA_SOURCE_TYPE);\r\n this.bannerViewType = getEnumItemByValue(properties.bannerViewType, NEWS_BANNER_VIEW_TYPES);\r\n this.targetedCampaignDateSuffixType = properties.targetedCampaignUseDateSuffix\r\n ? getEnumItemByValue(properties.targetedCampaignDateSuffixType, TARGETED_GROUP_SUFFIX_TYPE)\r\n : undefined;\r\n this.dateOfCampaignStart = properties.dateOfCampaignStart ? new Date(properties.dateOfCampaignStart) : properties.dateOfCampaignStart;\r\n }\r\n}\r\n","// import {getEnumItemByValue, NEWS_TYPES} from \"../common/enums\";\r\nimport News from \"../entities/news\";\r\n\r\nconst newsDataTransformationAfterFetch = (data) => {\r\n return data.map((row) => {\r\n return new News(row);\r\n });\r\n};\r\n\r\nexport default newsDataTransformationAfterFetch;\r\n","import {\r\n getEnumItemByValue,\r\n COMPETITION_TARGET_CUSTOMER_TYPES,\r\n PLATFORMA_TYPES\r\n} from \"../common/enums\";\r\n\r\nexport default class Competition {\r\n id;\r\n name;\r\n description;\r\n noVipText;\r\n url;\r\n validFrom;\r\n validTo;\r\n targetCustomer;\r\n actionButtonText;\r\n image;\r\n published;\r\n platform;\r\n urlOpenExternal;\r\n imageOverlayText;\r\n\r\n constructor({\r\n id,\r\n name,\r\n description,\r\n noVipText,\r\n url,\r\n validFrom,\r\n validTo,\r\n targetCustomer,\r\n actionButtonText,\r\n imageUrl,\r\n published,\r\n platform,\r\n urlOpenExternal,\r\n imageOverlayText\r\n }) {\r\n this.id = id;\r\n this.name = name;\r\n this.description = description;\r\n this.noVipText = noVipText;\r\n this.url = url;\r\n this.urlOpenExternal = urlOpenExternal;\r\n this.actionButtonText = actionButtonText;\r\n this.validFrom = validFrom ? new Date(validFrom) : validFrom;\r\n this.validTo = validTo ? new Date(validTo) : validTo;\r\n this.targetCustomer = getEnumItemByValue(\r\n targetCustomer,\r\n COMPETITION_TARGET_CUSTOMER_TYPES\r\n );\r\n this.imageUrl = imageUrl;\r\n this.published = published;\r\n this.platform = getEnumItemByValue(platform, PLATFORMA_TYPES);\r\n this.imageOverlayText = imageOverlayText;\r\n }\r\n}\r\n","// import {getEnumItemByValue, NEWS_TYPES} from \"../common/enums\";\r\nimport Competition from \"../entities/competition\";\r\n\r\nconst competitionDataTransformationAfterFetch = (data) => {\r\n return data.map((row) => {\r\n return new Competition(row);\r\n });\r\n};\r\n\r\nexport default competitionDataTransformationAfterFetch;\r\n","import {\r\n getEnumItemByValue,\r\n RATING_TRIGGER_TYPES, \r\n PLATFORMA_TYPES, \r\n RATING_VARIANT_TYPES\r\n } from \"../common/enums\";\r\n \r\n export default class Rating {\r\n id; \r\n msisdn; \r\n description; \r\n value; \r\n trigger; \r\n dateOfCreate;\r\n platform;\r\n variant;\r\n\r\n constructor(properties) { \r\n Object.assign(this, properties); \r\n \r\n this.trigger = getEnumItemByValue(properties.trigger, RATING_TRIGGER_TYPES); \r\n this.platform = getEnumItemByValue(properties.platform, PLATFORMA_TYPES);\r\n this.variant = getEnumItemByValue(properties.variant, RATING_VARIANT_TYPES); \r\n this.dateOfCreate = properties.dateOfCreate\r\n ? new Date(properties.dateOfCreate)\r\n : properties.dateOfCreate; \r\n }\r\n }\r\n ","// import {getEnumItemByValue, NEWS_TYPES} from \"../common/enums\";\r\nimport Rating from \"../entities/rating\";\r\n\r\nconst ratingDataTransformationAfterFetch = (data) => {\r\n return data.map((row) => {\r\n return new Rating(row);\r\n });\r\n};\r\n\r\nexport default ratingDataTransformationAfterFetch;\r\n","import { getEnumItemByValue, PLATFORMA_TYPES, OUTAGE_NOTIFICATION_CONDITION_TYPE, OUTAGE_NOTIFICATION_FILTER_TYPE } from '../common/enums';\r\n\r\nexport default class OutageNotification {\r\n id;\r\n name;\r\n text;\r\n platform;\r\n notificationTo;\r\n notificationFrom;\r\n outageTo;\r\n outageFrom;\r\n order;\r\n filter;\r\n condition;\r\n version;\r\n groupName;\r\n\r\n constructor(properties) {\r\n Object.assign(this, properties);\r\n\r\n this.platform = getEnumItemByValue(properties.platform, PLATFORMA_TYPES);\r\n this.filter = getEnumItemByValue(properties.filter, OUTAGE_NOTIFICATION_FILTER_TYPE);\r\n this.condition = getEnumItemByValue(properties.condition, OUTAGE_NOTIFICATION_CONDITION_TYPE);\r\n\r\n this.notificationTo = properties.notificationTo ? new Date(properties.notificationTo) : properties.notificationTo;\r\n this.notificationFrom = properties.notificationFrom ? new Date(properties.notificationFrom) : properties.notificationFrom;\r\n\r\n this.outageTo = properties.outageTo ? new Date(properties.outageTo) : properties.outageTo;\r\n this.outageFrom = properties.outageFrom ? new Date(properties.outageFrom) : properties.outageFrom;\r\n }\r\n}\r\n","import OutageNotification from \"../entities/outageNotification\";\r\n\r\nconst outageNotificationDataTransformationAfterFetch = (data) => {\r\n return data.map((row) => {\r\n return new OutageNotification(row);\r\n });\r\n};\r\n\r\nexport default outageNotificationDataTransformationAfterFetch;\r\n","import {\r\n getEnumItemByValue,\r\n RATING_VARIANT_TYPES,\r\n} from \"../common/enums\";\r\n\r\nexport default class RatingSettings {\r\n isAllowedTriggerAfterOrder;\r\n isAllowedTriggerAfterRecharge;\r\n isAllowedTriggerAfterCompetition;\r\n isAllowedTriggerAfterLeavingPageExtra;\r\n isAllowedTriggerAfterLeavingPageSuriGame;\r\n numberOfDaysToDeferRating;\r\n allowedVariantAfterOrder;\r\n allowedVariantAfterRecharge;\r\n allowedVariantAfterCompetition;\r\n allowedVariantAfterLeavingPageExtra;\r\n allowedVariantAfterLeavingPageSuriGame;\r\n\r\n constructor(properties) {\r\n\r\n Object.assign(this, properties);\r\n \r\n this.allowedVariantAfterOrder = getEnumItemByValue(properties.allowedVariantAfterOrder, RATING_VARIANT_TYPES); \r\n this.allowedVariantAfterRecharge = getEnumItemByValue(properties.allowedVariantAfterRecharge, RATING_VARIANT_TYPES); \r\n this.allowedVariantAfterCompetition = getEnumItemByValue(properties.allowedVariantAfterCompetition, RATING_VARIANT_TYPES); \r\n this.allowedVariantAfterLeavingPageExtra = getEnumItemByValue(properties.allowedVariantAfterLeavingPageExtra, RATING_VARIANT_TYPES); \r\n this.allowedVariantAfterLeavingPageSuriGame = getEnumItemByValue(properties.allowedVariantAfterLeavingPageSuriGame, RATING_VARIANT_TYPES); \r\n }\r\n}\r\n","// import {getEnumItemByValue, NEWS_TYPES} from \"../common/enums\";\r\nimport RatingSettings from \"../entities/ratingSettings\";\r\n\r\nconst ratingSettingsDataTransformationAfterFetch = (data) => {\r\n return new RatingSettings(data);\r\n};\r\n\r\nexport default ratingSettingsDataTransformationAfterFetch;\r\n","import { getEnumItemByValue, PLATFORMA_TYPES, SOURCE_OF_SUBSCRIBERS_TYPES, REWARD_TYPES, EnumDescription, REWARD_VARIANT } from '../common/enums';\r\n\r\nexport default class Reward {\r\n id: number;\r\n name: string;\r\n extId: number;\r\n campaignCode: string;\r\n code: string;\r\n maxDraws: number;\r\n productCode: string;\r\n platform: any;\r\n type: any;\r\n sourceOfSubscribers: any;\r\n availableFrom?: Date;\r\n availableTo?: Date;\r\n detailShortDescription: string;\r\n shortDescription: string;\r\n description: string;\r\n buyFromCreditButtonText: string;\r\n buyFromCreditCardButtonText: string;\r\n textLine1: string;\r\n textLine2: string;\r\n detailImageUrl: string;\r\n detailImage: File | undefined;\r\n detailName: string;\r\n isDigi: boolean;\r\n priceByCreditCard: number;\r\n numberOfPeriods: number;\r\n takeValidityFromClaim: boolean;\r\n isAllowedMultipleUse: boolean;\r\n dateOfCreate?: Date;\r\n useInServicePriceCalculator: boolean;\r\n useWhenProductIsActivated: boolean;\r\n usePriceWhenO2PriceIsNull: boolean;\r\n variant: any;\r\n followingRewardId: number;\r\n price: number;\r\n \r\n constructor(properties: Partial) {\r\n this.id = 0;\r\n this.extId = 0;\r\n this.name = '';\r\n this.code = '';\r\n this.campaignCode = '';\r\n this.maxDraws = 0;\r\n this.productCode = '';\r\n this.detailShortDescription = '';\r\n this.shortDescription = '';\r\n this.description = '';\r\n this.buyFromCreditButtonText = '';\r\n this.buyFromCreditCardButtonText = '';\r\n this.textLine1 = '';\r\n this.textLine2 = '';\r\n this.detailImageUrl = '';\r\n this.detailImage = undefined;\r\n this.detailName = '';\r\n this.isDigi = false;\r\n this.priceByCreditCard = 0;\r\n this.numberOfPeriods = 0;\r\n this.takeValidityFromClaim = false;\r\n this.isAllowedMultipleUse = false;\r\n this.useInServicePriceCalculator = false;\r\n this.useWhenProductIsActivated = false;\r\n this.followingRewardId = -1;\r\n this.usePriceWhenO2PriceIsNull = false;\r\n this.price = 0;\r\n \r\n Object.assign(this, properties);\r\n\r\n this.platform = getEnumItemByValue(properties.platform, PLATFORMA_TYPES);\r\n this.type = getEnumItemByValue(properties.type, REWARD_TYPES);\r\n this.variant = getEnumItemByValue(properties.variant, REWARD_VARIANT);\r\n this.sourceOfSubscribers = getEnumItemByValue(properties.sourceOfSubscribers, SOURCE_OF_SUBSCRIBERS_TYPES);\r\n this.availableFrom = properties.availableFrom ? new Date(properties.availableFrom) : properties.availableFrom;\r\n this.availableTo = properties.availableTo ? new Date(properties.availableTo) : properties.availableTo;\r\n this.dateOfCreate = properties.dateOfCreate ? new Date(properties.dateOfCreate) : properties.dateOfCreate;\r\n }\r\n}\r\n","// import {getEnumItemByValue, NEWS_TYPES} from \"../common/enums\";\r\nimport Reward from \"../entities/reward\";\r\n\r\nconst rewardDataTransformationAfterFetch = (data) => {\r\n return data.map((row) => {\r\n return new Reward(row);\r\n });\r\n};\r\n\r\nexport default rewardDataTransformationAfterFetch;\r\n","export default class TargetCampaignGroup {\r\n id: number;\r\n campaignCode: string;\r\n msisdnCount: number;\r\n dateOfLastImport: Date | null | undefined;\r\n dateOfLastNotificationSent: Date | null | undefined;\r\n\r\n constructor(properties: Partial) {\r\n this.id = 0;\r\n this.campaignCode = \"\";\r\n this.msisdnCount = 0;\r\n this.dateOfLastImport = null;\r\n this.dateOfLastNotificationSent = null;\r\n\r\n Object.assign(this, properties);\r\n\r\n this.dateOfLastImport = properties.dateOfLastImport ? new Date(properties.dateOfLastImport) : properties.dateOfLastImport;\r\n this.dateOfLastNotificationSent = properties.dateOfLastNotificationSent ? new Date(properties.dateOfLastNotificationSent) : properties.dateOfLastNotificationSent;\r\n }\r\n}\r\n","// import {getEnumItemByValue, NEWS_TYPES} from \"../common/enums\";\r\nimport TargetCampaignGroup from \"../entities/targetCampaignGroup\";\r\n\r\nconst targetCampaignDataTransformationAfterFetch = (data) => {\r\n return data.map((row) => {\r\n return new TargetCampaignGroup(row);\r\n });\r\n};\r\n\r\nexport default targetCampaignDataTransformationAfterFetch;\r\n","export default class SimCardType {\r\n id: number;\r\n name: string;\r\n isManagerType: boolean;\r\n\r\n constructor(properties: Partial) {\r\n this.id = 0; \r\n this.name = '';\r\n this.isManagerType = false;\r\n \r\n Object.assign(this, properties);\r\n }\r\n}\r\n","import SimCardType from \"../entities/simCardType\";\r\n\r\nconst simCardTypeDataTransformationAfterFetch = (data) => {\r\n return data.map((row) => {\r\n return new SimCardType(row);\r\n });\r\n};\r\n\r\nexport default simCardTypeDataTransformationAfterFetch;\r\n","export default class AffiliateProgramPartner {\r\n id: number;\r\n name: string;\r\n code: string;\r\n description: string;\r\n\r\n constructor(properties: Partial) {\r\n this.id = 0;\r\n this.name = '';\r\n this.code = '';\r\n this.description = '';\r\n\r\n Object.assign(this, properties);\r\n }\r\n}\r\n","// import {getEnumItemByValue, NEWS_TYPES} from \"../common/enums\";\r\nimport AffiliateProgramPartner from '../entities/affiliateProgramPartner';\r\n\r\nconst affiliateProgramPartnerDataTransformationAfterFetch = (data: any) => {\r\n return data.map((row: any) => {\r\n return new AffiliateProgramPartner(row);\r\n });\r\n};\r\n\r\nexport default affiliateProgramPartnerDataTransformationAfterFetch;\r\n","import { AffiliateProgramRewardModel } from '../api/models';\r\n\r\nexport default class AffiliateProgramReward {\r\n id: number;\r\n name: string;\r\n partnerId: number;\r\n rewardId: number;\r\n validFrom: Date;\r\n validTo: Date;\r\n partnerName: string;\r\n claimValidTo?: Date;\r\n claimValidForDays: number;\r\n\r\n constructor(properties: Partial) {\r\n this.id = 0;\r\n this.name = '';\r\n this.partnerName = '';\r\n this.partnerId = -1;\r\n this.rewardId = -1;\r\n this.claimValidForDays = 0;\r\n\r\n Object.assign(this, properties);\r\n\r\n this.validFrom = properties.validFromUtc ? new Date(properties.validFromUtc) : new Date();\r\n this.validTo = properties.validToUtc ? new Date(properties.validToUtc) : new Date();\r\n this.claimValidTo = properties.claimValidToUtc ? new Date(properties.claimValidToUtc) : undefined;\r\n }\r\n}\r\n","// import {getEnumItemByValue, NEWS_TYPES} from \"../common/enums\";\r\nimport AffiliateProgramReward from '../entities/affiliateProgramReward';\r\n\r\nconst affiliateProgramRewardDataTransformationAfterFetch = (data: any) => {\r\n return data.map((row: any) => {\r\n return new AffiliateProgramReward(row);\r\n });\r\n};\r\n\r\nexport default affiliateProgramRewardDataTransformationAfterFetch;\r\n","export default class AffiliateProgramSubscriberRewardClaim {\r\n id: number;\r\n msisdn: string;\r\n affiliateProgramPartnerId: number;\r\n affiliateProgramRewardId: number;\r\n dateOfCreate?: Date;\r\n\r\n constructor(properties: Partial) {\r\n this.id = 0;\r\n this.msisdn = '420';\r\n this.affiliateProgramPartnerId = -1;\r\n this.affiliateProgramRewardId = -1;\r\n\r\n Object.assign(this, properties);\r\n\r\n this.dateOfCreate = properties.dateOfCreate ? new Date(properties.dateOfCreate) : properties.dateOfCreate;\r\n }\r\n}\r\n","// import {getEnumItemByValue, NEWS_TYPES} from \"../common/enums\";\r\nimport AffiliateProgramSubscriberRewardClaim from '../entities/affiliateProgramSubscriberRewardClaim';\r\n\r\nconst affiliateProgramSubscriberRewardClaimDataTransformationAfterFetch = (data: any) => {\r\n return data.map((row: any) => {\r\n return new AffiliateProgramSubscriberRewardClaim(row);\r\n });\r\n};\r\n\r\nexport default affiliateProgramSubscriberRewardClaimDataTransformationAfterFetch;\r\n","import { CAMPRO_MODULES, getEnumItemsByFlaggedValue } from '../common/enums';\r\n\r\nexport default class Role {\r\n id: number;\r\n name: string;\r\n permittedModules : any;\r\n\r\n constructor(properties: Partial) {\r\n this.id = 0;\r\n this.name = '';\r\n\r\n Object.assign(this, properties);\r\n\r\n this.permittedModules = getEnumItemsByFlaggedValue(properties.permittedModules, CAMPRO_MODULES);\r\n }\r\n}\r\n","import Role from '../entities/role';\r\n\r\nconst roledDataTransformationAfterFetch = (data) => {\r\n return data.map((row) => {\r\n return new Role(row);\r\n });\r\n};\r\n\r\nexport default roledDataTransformationAfterFetch;\r\n","export default class GameClan {\r\n id: number;\r\n name: string;\r\n permittedModules: any;\r\n\r\n constructor(properties: Partial) {\r\n this.id = 0;\r\n this.name = '';\r\n\r\n Object.assign(this, properties);\r\n }\r\n}\r\n","import GameClan from '../entities/gameClan';\r\n\r\nconst gameClanDataTransformationAfterFetch = (data) => {\r\n return data.map((row) => {\r\n return new GameClan(row);\r\n });\r\n};\r\n\r\nexport default gameClanDataTransformationAfterFetch;\r\n","import * as types from './dataTransformationTypes';\r\nimport newsDataTransformationAfterFetch from './newsDataTransformationAfterFetch';\r\nimport competitionDataTransformationAfterFetch from './competitionDataTransformationAfterFetch';\r\nimport ratingDataTransformationAfterFetch from './ratingDataTransformationAfterFetch';\r\nimport outageNotificationDataTransformationAfterFetch from './outageNotificationDataTransformationAfterFetch';\r\nimport ratingSettingsDataTransformationAfterFetch from './ratingSettingsDataTransformationAfterFetch';\r\nimport rewardDataTransformationAfterFetch from './rewardDataTransformationAfterFetch';\r\nimport targetCampaignDataTransformationAfterFetch from './targetCampaignDataTransformationAfterFetch';\r\nimport simCardTypeDataTransformationAfterFetch from './simCardTypeDataTransformationAfterFetch';\r\nimport affiliateProgramPartnerDataTransformationAfterFetch from './affiliateProgramPartnerDataTransformationAfterFetch';\r\nimport affiliateProgramRewardDataTransformationAfterFetch from './affiliateProgramRewardDataTransformationAfterFetch';\r\nimport affiliateProgramSubscriberRewardClaimDataTransformationAfterFetch from './affiliateProgramSubscriberRewardClaimDataTransformationAfterFetch';\r\nimport roleDataTransformationAfterFetch from './roleDataTransformationAfterFetch';\r\nimport gameClanDataTransformationAfterFetch from './gameClanDataTransformationAfterFetch';\r\n\r\nconst dataTransformations = (dataTransformationName) => (data) => {\r\n switch (dataTransformationName) {\r\n case types.NEWS: {\r\n return newsDataTransformationAfterFetch(data);\r\n }\r\n\r\n case types.COMPETITION: {\r\n return competitionDataTransformationAfterFetch(data);\r\n }\r\n\r\n case types.RATING: {\r\n return ratingDataTransformationAfterFetch(data);\r\n }\r\n\r\n case types.OUTAGE_NOTIFICATION: {\r\n return outageNotificationDataTransformationAfterFetch(data);\r\n }\r\n\r\n case types.RATING_SETTINS: {\r\n return ratingSettingsDataTransformationAfterFetch(data);\r\n }\r\n\r\n case types.REWARD: {\r\n return rewardDataTransformationAfterFetch(data);\r\n }\r\n\r\n case types.TARGET_CAMPAIGN: {\r\n return targetCampaignDataTransformationAfterFetch(data);\r\n }\r\n\r\n case types.SIM_CARD_TYPE: {\r\n return simCardTypeDataTransformationAfterFetch(data);\r\n }\r\n\r\n case types.AFFILIATE_PROGRAM_PARTNER: {\r\n return affiliateProgramPartnerDataTransformationAfterFetch(data);\r\n }\r\n\r\n case types.AFFILIATE_PROGRAM_REWARD: {\r\n return affiliateProgramRewardDataTransformationAfterFetch(data);\r\n }\r\n\r\n case types.AFFILIATE_PROGRAM_SUBSCRIBER_REWARD_CLAIMS: {\r\n return affiliateProgramSubscriberRewardClaimDataTransformationAfterFetch(data);\r\n }\r\n\r\n case types.ROLE: {\r\n return roleDataTransformationAfterFetch(data);\r\n }\r\n\r\n case types.GAME_CLAN: {\r\n return gameClanDataTransformationAfterFetch(data);\r\n }\r\n\r\n default:\r\n throw new Error(`Unsupported data transformation type - ${dataTransformationName}`);\r\n }\r\n};\r\n\r\nexport default dataTransformations;\r\n","export const NEWS = 'NEWS';\r\nexport const COMPETITION = 'COMPETITION';\r\nexport const RATING = 'RATING';\r\nexport const OUTAGE_NOTIFICATION = 'OUTAGE_NOTIFICATION';\r\nexport const RATING_SETTINS = 'RATING_SETTINGS';\r\nexport const REWARD = 'REWARD';\r\nexport const TARGET_CAMPAIGN = 'TARGET_CAMPAIGN';\r\nexport const SIM_CARD_TYPE = 'SIM_CARD_TYPE';\r\nexport const AFFILIATE_PROGRAM_PARTNER = 'AFFILIATE_PROGRAM_PARTNER';\r\nexport const AFFILIATE_PROGRAM_REWARD = 'AFFILIATE_PROGRAM_REWARD';\r\nexport const AFFILIATE_PROGRAM_SUBSCRIBER_REWARD_CLAIMS = 'AFFILIATE_PROGRAM_SUBSCRIBER_REWARD_CLAIMS';\r\nexport const ROLE = 'ROLE';\r\nexport const GAME_CLAN = 'GAME_CLAN';\r\n","import * as types from '../actions/actionTypes';\r\nimport { tableInitialState } from './initialStates';\r\nimport dataTransformation from '../data-transformations/dataTransformations';\r\n\r\nexport const getRowById = (state, id) => {\r\n return state.table.cache.data.find((row) => row.id == id);\r\n};\r\n\r\nexport const getTable = (state) => {\r\n return state.table;\r\n};\r\n\r\nconst row = (state, index, action) => {\r\n switch (action.type) {\r\n case types.TABLE_SELECT_ROWS: {\r\n if (index >= action.min && index <= action.max) {\r\n return {\r\n ...state,\r\n selected: action.selected,\r\n };\r\n } else {\r\n return { ...state };\r\n }\r\n }\r\n case types.TABLE_DESELECT_ALL_ROWS: {\r\n return {\r\n ...state,\r\n selected: false,\r\n };\r\n }\r\n case types.TABLE_SELECT_ALL_ROWS: {\r\n return {\r\n ...state,\r\n selected: action.checked,\r\n };\r\n }\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nconst table = (state = tableInitialState, action) => {\r\n switch (action.type) {\r\n case types.TABLE_FILTER_CHANGE: {\r\n let keys = state.filter.map((a) => {\r\n return a.name;\r\n });\r\n let newFilters = action.filter.filter((e) => {\r\n return keys.indexOf(e.name) === -1;\r\n });\r\n\r\n let updatedFilters = state.filter.map((f) => {\r\n let update = action.filter.find((n) => {\r\n return n.name === f.name;\r\n });\r\n if (update) {\r\n return update;\r\n }\r\n\r\n return f;\r\n });\r\n\r\n return {\r\n ...state,\r\n filter: updatedFilters.concat(newFilters),\r\n };\r\n }\r\n case types.TABLE_FILTER_CLEAR: {\r\n return {\r\n ...state,\r\n filter: [],\r\n };\r\n }\r\n case types.TABLE_FETCH_DATA: {\r\n action.data.forEach((o) => {\r\n o.selected = false;\r\n });\r\n\r\n let data = action.data;\r\n if (state.dataTransformation) {\r\n data = dataTransformation(state.dataTransformation)(data);\r\n }\r\n\r\n return {\r\n ...state,\r\n total: action.recordsFiltered,\r\n data: data.slice(state.skip - action.skip, state.skip - action.skip + state.take),\r\n cache: {\r\n data: data,\r\n skip: action.skip,\r\n take: action.take,\r\n },\r\n loaded: true,\r\n };\r\n }\r\n case types.TABLE_PAGE_CHANGE: {\r\n return {\r\n ...state,\r\n skip: action.skip,\r\n take: action.take,\r\n };\r\n }\r\n case types.TABLE_SORT_CHANGE: {\r\n return {\r\n ...state,\r\n sort: action.sort,\r\n };\r\n }\r\n case types.TABLE_RESET: {\r\n return {\r\n ...tableInitialState,\r\n url: action.url,\r\n actionUrl: action.actionUrl,\r\n columns: action.columns,\r\n };\r\n }\r\n case types.TABLE_CACHE_DATA: {\r\n return {\r\n ...state,\r\n data: state.cache.data.slice(state.skip - state.cache.skip, state.skip - state.cache.skip + state.take),\r\n };\r\n }\r\n case types.TABLE_SELECT_ROW: {\r\n let index = state.data\r\n .map((i) => {\r\n return i.id;\r\n })\r\n .indexOf(action.id);\r\n if (index !== -1) {\r\n let clone = {\r\n ...state.data[index],\r\n selected: action.selected,\r\n };\r\n\r\n let result = {\r\n ...state,\r\n data: [...state.data.slice(0, index), clone, ...state.data.slice(index + 1)],\r\n };\r\n\r\n return {\r\n ...result,\r\n selected: result.data.filter((i) => {\r\n return i.selected === true;\r\n }).length,\r\n selectedRow: clone,\r\n };\r\n } else {\r\n return state;\r\n }\r\n }\r\n case types.TABLE_DESELECT_ALL_ROWS: {\r\n let result = {\r\n ...state,\r\n data: state.data.map((i, index) => row(i, index, action)),\r\n };\r\n\r\n return {\r\n ...result,\r\n selected: result.data.filter((i) => {\r\n return i.selected === true;\r\n }).length,\r\n selectedRow: undefined,\r\n };\r\n }\r\n case types.TABLE_SELECT_ROWS: {\r\n let result = {\r\n ...state,\r\n data: state.data.map((i, index) => row(i, index, action)),\r\n };\r\n\r\n const countOfSelected = result.data.filter((i) => {\r\n return i.selected === true;\r\n }).length;\r\n\r\n let selectedRow = undefined;\r\n if (countOfSelected === 1) {\r\n selectedRow = result.data.filter((i) => {\r\n return i.selected === true;\r\n })[0];\r\n }\r\n\r\n return {\r\n ...result,\r\n selected: countOfSelected,\r\n selectedRow: selectedRow,\r\n };\r\n }\r\n case types.TABLE_SELECT_ALL_ROWS: {\r\n let result = {\r\n ...state,\r\n data: state.data.map((i, index) => row(i, index, action)),\r\n };\r\n\r\n return {\r\n ...result,\r\n selected: result.data.filter((i) => {\r\n return i.selected === true;\r\n }).length,\r\n selectedRow: undefined,\r\n };\r\n }\r\n case types.TABLE_REMOVE_ROWS: {\r\n let result = {\r\n ...state,\r\n data: state.data.filter((i) => {\r\n return !action.ids.includes(i.id);\r\n }),\r\n };\r\n return {\r\n ...result,\r\n selected: result.data.filter((i) => {\r\n return i.selected === true;\r\n }).length,\r\n selectedRow: undefined,\r\n };\r\n }\r\n case types.TABLE_DATA_TRANSFORMATION_CHANGE: {\r\n return {\r\n ...state,\r\n dataTransformation: action.dataTransformation,\r\n };\r\n }\r\n case types.TABLE_ADD_ROW: {\r\n let rowAsArray = [action.row];\r\n\r\n if (state.dataTransformation) {\r\n rowAsArray = dataTransformation(state.dataTransformation)(rowAsArray);\r\n }\r\n\r\n const newData = state.data.concat(rowAsArray);\r\n /* newData.forEach(o => {\r\n o.selected = false;\r\n }); */\r\n\r\n return {\r\n ...state,\r\n total: newData.length,\r\n data: newData,\r\n cache: {\r\n ...state.cache,\r\n data: newData,\r\n },\r\n };\r\n }\r\n\r\n case types.TABLE_AFTER_LOAD_DATA_ACTION: {\r\n return { ...state, afterLoadDataActionType: action.afterLoadDataActionType };\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default table;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport { Grid } from '@progress/kendo-react-grid';\r\nimport { IntlProvider } from '@progress/kendo-react-intl';\r\n\r\nimport * as tableActions from '../../actions/tableActions';\r\nimport { getTable } from '../../reducers/tableReducer';\r\nimport * as propTypes from '../../common/propTypes';\r\n\r\nclass Table extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n ...this.createState(this.props.skip, this.props.pageSize),\r\n sortable: {\r\n allowUnsort: true,\r\n mode: 'single',\r\n },\r\n lastSelectedIndex: 0,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n console.warn('Table.componentDidMount');\r\n\r\n const columns = this.props.children.map((column) => {\r\n let { props } = column;\r\n return { ...props };\r\n });\r\n\r\n const idColumn = columns.find((c) => {\r\n return c.field === 'id';\r\n });\r\n if (idColumn === undefined) {\r\n columns.push({ field: 'id' });\r\n }\r\n\r\n this.props.actions.reset(this.props.path, this.props.actionPath, columns);\r\n this.props.actions.setAfterLoadDataActionType(this.props.afterLoadDataActionType);\r\n this.props.actions.dataTransformationChange(this.props.dataTransformation);\r\n this.props.actions.sortChange(this.props.defaultSort);\r\n this.props.actions.loadData();\r\n }\r\n\r\n /* componentWillUnmount(){\r\n console.warn(\"Table.componentWillUnmount\");\r\n } */\r\n\r\n createState = () => {\r\n return {\r\n pageable: this.state\r\n ? this.state.pageable\r\n : {\r\n buttonCount: 5,\r\n info: true,\r\n type: 'numeric',\r\n pageSizes: [10, 25, 50, 100],\r\n previousNext: true,\r\n },\r\n };\r\n };\r\n\r\n onPageChange = (event) => {\r\n const { page } = event;\r\n this.props.actions.pageChange(page.skip, page.take);\r\n };\r\n\r\n onSortChange = (event) => {\r\n this.props.actions.sortChange(event.sort);\r\n };\r\n\r\n onFilterChange = (event) => {\r\n this.props.actions.filterChange(event.filter);\r\n };\r\n\r\n onFilterClear = (event) => {\r\n this.props.actions.filterClear();\r\n };\r\n\r\n onSelectionChange = (event) => {\r\n this.props.actions.selectRow(event.dataItem.id, !event.dataItem.selected);\r\n const current = this.props.data.findIndex((dataItem) => dataItem === event.dataItem);\r\n this.setState({ lastSelectedIndex: current });\r\n };\r\n\r\n onHeaderSelectionChange = (event) => {\r\n const checked = event.syntheticEvent.target.checked;\r\n\r\n this.props.actions.selectAllRows(checked);\r\n };\r\n\r\n onRowClick = (event) => {\r\n let { lastSelectedIndex } = this.state;\r\n const { data } = this.props;\r\n const current = data.findIndex((dataItem) => dataItem === event.dataItem);\r\n\r\n if (!event.nativeEvent.shiftKey) {\r\n lastSelectedIndex = current;\r\n this.setState({ lastSelectedIndex });\r\n }\r\n\r\n if (!event.nativeEvent.ctrlKey) {\r\n this.props.actions.desellectAllRows();\r\n }\r\n\r\n let select = !event.dataItem.selected;\r\n let min = Math.min(lastSelectedIndex, current);\r\n let max = Math.max(lastSelectedIndex, current);\r\n this.props.actions.selectRows(min, max, select);\r\n };\r\n\r\n removeSelected = () => {\r\n this.props.actions.remove();\r\n };\r\n\r\n editSelected = () => {\r\n this.props.actions.edit();\r\n };\r\n\r\n cloneSelected = () => {\r\n this.props.actions.clone();\r\n };\r\n\r\n customRowRender = (trElement, rowProps) => {\r\n if (this.props.customRowRender) {\r\n return this.props.customRowRender(trElement, rowProps, this.props.data);\r\n }\r\n\r\n return trElement;\r\n };\r\n\r\n customFilter = (filter) => {\r\n this.props.actions.filterChange(filter);\r\n };\r\n\r\n render() {\r\n if (!this.props.loaded) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {\r\n this.grid = grid;\r\n }}\r\n data={this.props.data}\r\n total={this.props.total}\r\n skip={this.props.skip}\r\n onPageChange={this.onPageChange}\r\n pageSize={this.props.pageSize}\r\n pageable={this.state.pageable}\r\n filterable={false}\r\n filter={this.props.filter}\r\n onFilterChange={this.onFilterChange}\r\n sort={this.props.sort}\r\n sortable={this.state.sortable}\r\n onSortChange={this.onSortChange}\r\n selectedField={this.props.selectedField}\r\n onSelectionChange={this.onSelectionChange}\r\n onRowClick={this.onRowClick}\r\n onHeaderSelectionChange={this.onHeaderSelectionChange}\r\n rowRender={this.customRowRender}\r\n >\r\n {this.props.children}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nTable.propTypes = {\r\n lang: PropTypes.string.isRequired,\r\n path: PropTypes.string.isRequired,\r\n actionPath: PropTypes.string.isRequired,\r\n children: PropTypes.arrayOf(PropTypes.object).isRequired,\r\n actions: PropTypes.object,\r\n total: PropTypes.number.isRequired,\r\n data: PropTypes.arrayOf(PropTypes.object),\r\n loaded: PropTypes.bool.isRequired,\r\n skip: PropTypes.number.isRequired,\r\n pageSize: PropTypes.number.isRequired,\r\n sort: PropTypes.arrayOf(propTypes.tableSortPropertyPropTypes),\r\n filter: PropTypes.object,\r\n selectedField: PropTypes.string,\r\n dataTransformation: PropTypes.string,\r\n name: PropTypes.string.isRequired,\r\n customRowRender: PropTypes.func,\r\n defaultSort: PropTypes.arrayOf(propTypes.tableSortPropertyPropTypes),\r\n afterLoadDataActionType: PropTypes.string,\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => {\r\n const isLoaded = getTable(state).loaded;\r\n const isValidDataSource = getTable(state).actionUrl === ownProps.actionPath;\r\n const stateSort = getTable(state).sort;\r\n const defaultSort = ownProps.defaultSort ? ownProps.defaultSort : stateSort;\r\n\r\n return {\r\n lang: state.app.lang,\r\n total: getTable(state).total,\r\n data: getTable(state).data,\r\n skip: getTable(state).skip,\r\n pageSize: getTable(state).take,\r\n sort: getTable(state).sort,\r\n filter: getTable(state).gridFilter,\r\n loaded: isLoaded && isValidDataSource,\r\n defaultSort,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => {\r\n return {\r\n actions: bindActionCreators(tableActions, dispatch),\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps, null, { withRef: true })(Table);\r\n","export function isNotNullDate(value: any): boolean {\r\n if (value instanceof Date) {\r\n return !isNullDate(value as Date);\r\n }\r\n\r\n return false;\r\n}\r\n\r\nexport function isNullDate(dateValue: Date): boolean {\r\n if (dateValue) {\r\n return (\r\n dateValue.getDate() === new Date(1, 1, 1).getDate() &&\r\n dateValue.getMonth() === new Date(1, 1, 1).getMonth() &&\r\n dateValue.getFullYear() === new Date(1, 1, 1).getFullYear()\r\n );\r\n }\r\n\r\n return true;\r\n}\r\n\r\nexport function addHrefWithFileToDownload(data: any, fileName: string): void {\r\n const url = window.URL.createObjectURL(data);\r\n const a = document.createElement('a');\r\n a.href = url;\r\n a.download = fileName;\r\n document.body.appendChild(a); // we need to append the element to the dom -> otherwise it will not work in firefox\r\n a.click();\r\n a.remove(); //afterwards we remove the element again\r\n}\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { GridCell } from '@progress/kendo-react-grid';\r\nimport { provideIntlService } from '@progress/kendo-react-intl';\r\nimport {translate} from \"react-i18next\";\r\nimport { isNotNullDate } from '../../../utils/commonFunctions';\r\n\r\nclass DateCell extends GridCell {\r\n \r\n render() {\r\n const utcDate = this.props.dataItem[this.props.field];\r\n const {t, onClick, style} = this.props;\r\n\r\n if (isNotNullDate(utcDate)) {\r\n const date = new Date(utcDate);\r\n\r\n return (\r\n \r\n {provideIntlService(this).formatDate(date, {\r\n date: \"medium\"\r\n })}\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n {t('NotSet')}\r\n \r\n );\r\n }\r\n}\r\n\r\nDateCell.propTypes = {\r\n t: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default translate('common')(DateCell);\r\n","import React from \"react\";\r\nimport { GridCell } from \"@progress/kendo-react-grid\";\r\nimport { getEnumItemByValue } from \"../../../common/enums\";\r\n\r\nconst EnumCellWrapper = enums => {\r\n class EnumCell extends GridCell {\r\n render() {\r\n const { onClick, style } = this.props;\r\n const enumField = this.props.dataItem[this.props.field]; \r\n const textValue = getEnumItemByValue(enumField.value, enums).text;\r\n\r\n return (\r\n \r\n {textValue}\r\n \r\n );\r\n }\r\n }\r\n\r\n return EnumCell;\r\n};\r\n\r\nexport default EnumCellWrapper;\r\n","import React from 'react';\r\nimport {GridCell} from \"@progress/kendo-react-grid\";\r\nimport { Tooltip } from '@progress/kendo-react-tooltip';\r\n\r\nimport {TEXT_HORIZONTAL_ALIGN} from \"../../../common/constants\";\r\n\r\nconst defaultTextAlign = TEXT_HORIZONTAL_ALIGN.CENTER;\r\n\r\n// TODO\r\nclass StringCellWithIcon extends GridCell {\r\n render() {\r\n const value = this.props.dataItem[this.props.field];\r\n const {textAlign, icon, condtionToShowIcon} = this.props;\r\n const showIcon = condtionToShowIcon(this.props.dataItem);\r\n\r\n let renderedValue = value;\r\n\r\n if(showIcon) {\r\n renderedValue = (\r\n \r\n {value}\r\n \r\n );\r\n } \r\n\r\n return (\r\n \r\n {renderedValue}\r\n \r\n );\r\n }\r\n}\r\n\r\n/*\r\n\r\n {value}\r\n \r\n*/\r\n/*const StringCellWithIconWrapper = (horizontalTextAlign) => (props) => {\r\n return ;\r\n};\r\n\r\nStringCellWithIconWrapper.displayName = 'StringCellWithIconWrapper';\r\n\r\nexport default StringCellWithIconWrapper;*/\r\n\r\nexport default StringCellWithIcon;\r\n","import React from 'react';\r\nimport { Switch as KendoSwitch, SwitchChangeEvent } from '@progress/kendo-react-inputs';\r\nimport { GridCell, GridCellProps } from '@progress/kendo-react-grid';\r\n\r\ninterface BoolCellProps extends GridCellProps {\r\n onBoolChange?: (newValue: boolean, id: number) => void;\r\n idField?: string;\r\n}\r\n\r\nclass BoolCell extends React.Component {\r\n onChange = (event: SwitchChangeEvent) => {\r\n if (this.props.onBoolChange && this.props.idField) {\r\n this.props.onBoolChange(event.value, this.props.dataItem[this.props.idField]);\r\n }\r\n };\r\n\r\n render() {\r\n const boolFieldValue = this.props.field ? this.props.dataItem[this.props.field] : false;\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst BoolCellCellWrapper = (onChange?: (newValue: boolean, id: number) => void, idField?: string) => (props: BoolCellProps) => {\r\n return ;\r\n};\r\n\r\nBoolCellCellWrapper.displayName = 'BoolCellCellWrapper';\r\n\r\nexport default BoolCellCellWrapper;\r\n","import React from \"react\";\r\n\r\nclass NavigableCell extends React.Component {\r\n onCellClick = event => {\r\n event.preventDefault();\r\n\r\n const { navigateTo, actionUrl } = this.props;\r\n const { id } = this.props.dataItem;\r\n\r\n navigateTo(`/${actionUrl}/${id}`);\r\n };\r\n\r\n render() {\r\n const { component, ...rest } = this.props;\r\n const Component = component;\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default NavigableCell;\r\n","import React from \"react\";\r\n\r\nimport {TEXT_HORIZONTAL_ALIGN} from \"../../../common/constants\";\r\n\r\nclass StringCell extends React.Component {\r\n render() {\r\n const value = this.props.dataItem[this.props.field];\r\n let {textAlign, onClick, style} = this.props;\r\n\r\n if(textAlign===null){\r\n textAlign=TEXT_HORIZONTAL_ALIGN.CENTER;\r\n }\r\n\r\n style.textAlign = textAlign;\r\n\r\n return (\r\n \r\n {value}\r\n \r\n );\r\n }\r\n}\r\n\r\nconst StringCellWrapper = (horizontalTextAlign) => (props) => {\r\n return ;\r\n};\r\n\r\nStringCellWrapper.displayName = 'StringCellWrapper';\r\n\r\nexport default StringCellWrapper;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { translate } from 'react-i18next';\r\nimport { compose } from 'redux';\r\n\r\nconst ActionButton = ({ className, onClick, icon, t, text, oneRowSelected, selection = '', multiRowSelected, title, customTextRender, selectedRow }) => {\r\n let enabled = true;\r\n if (selection == 'multi') {\r\n enabled = multiRowSelected;\r\n }\r\n\r\n if (selection == 'one') {\r\n enabled = oneRowSelected;\r\n }\r\n\r\n const handleClick = (e) => {\r\n e.preventDefault();\r\n\r\n if (enabled) {\r\n onClick(e);\r\n }\r\n };\r\n\r\n let wrapperClass = 'd-action-button';\r\n if (!enabled) {\r\n wrapperClass = `${wrapperClass} d-action-button-disabled`;\r\n }\r\n\r\n let textToTransalte = text;\r\n if (customTextRender && enabled && selectedRow) {\r\n textToTransalte = customTextRender(selectedRow);\r\n }\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nActionButton.propTypes = {\r\n text: PropTypes.string,\r\n onClick: PropTypes.func,\r\n className: PropTypes.string,\r\n icon: PropTypes.string,\r\n t: PropTypes.func,\r\n oneRowSelected: PropTypes.bool,\r\n multiRowSelected: PropTypes.bool,\r\n selection: PropTypes.string,\r\n title: PropTypes.string,\r\n customTextRender: PropTypes.func,\r\n selectedRow: PropTypes.object,\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n oneRowSelected: state.table.selected == 1,\r\n multiRowSelected: state.table.selected > 0,\r\n selectedRow: state.table.selectedRow,\r\n };\r\n};\r\n\r\nexport default compose(translate('common'), connect(mapStateToProps, null))(ActionButton);\r\n","import React, { PureComponent } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { translate } from \"react-i18next\";\r\nimport { compose } from \"redux\";\r\n\r\nclass ToggableActionButton extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n\r\n let enabled = true;\r\n if (props.selection == \"multi\") {\r\n enabled = props.multiRowSelected;\r\n }\r\n\r\n if (props.selection == \"one\") {\r\n enabled = props.oneRowSelected;\r\n }\r\n this.state = { enabled: enabled, toggled: false };\r\n }\r\n\r\n handleClick = e => {\r\n e.preventDefault();\r\n\r\n if (this.state.enabled) {\r\n if (this.state.toggled) {\r\n this.props.onNotSelected(e);\r\n } else {\r\n this.props.onSelected(e);\r\n }\r\n }\r\n\r\n this.setState((state, props) => ({\r\n toggled: !state.toggled\r\n }));\r\n };\r\n\r\n getContent() {\r\n if (this.props.children) {\r\n return (\r\n \r\n
    {this.props.children}
    \r\n
    {this.props.t(this.props.text)}
    \r\n
    \r\n );\r\n }\r\n\r\n return (\r\n \r\n
    \r\n  \r\n
    \r\n
    {this.props.t(this.props.text)}
    \r\n
    \r\n );\r\n }\r\n\r\n render() {\r\n const contentComponent = this.getContent();\r\n let wrapperClass = \"d-action-button\";\r\n if (!this.state.enabled || this.props.disabled) {\r\n wrapperClass = `${wrapperClass} d-action-button-disabled`;\r\n }\r\n\r\n if (this.state.toggled) {\r\n wrapperClass = `${wrapperClass} d-action-button__toggled`;\r\n }\r\n\r\n return (\r\n \r\n {contentComponent}\r\n \r\n );\r\n }\r\n}\r\n\r\nToggableActionButton.propTypes = {\r\n text: PropTypes.string,\r\n onSelected: PropTypes.func,\r\n onNotSelected: PropTypes.func,\r\n className: PropTypes.string,\r\n icon: PropTypes.string,\r\n t: PropTypes.func,\r\n oneRowSelected: PropTypes.bool,\r\n multiRowSelected: PropTypes.bool,\r\n selection: PropTypes.string,\r\n children: PropTypes.element,\r\n disabled: PropTypes.bool\r\n};\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n oneRowSelected: state.table.selected == 1,\r\n multiRowSelected: state.table.selected > 0\r\n };\r\n};\r\n\r\nexport default compose(\r\n translate(\"common\"),\r\n connect(mapStateToProps, null)\r\n)(ToggableActionButton);\r\n","import * as types from '../actions/actionTypes';\r\n\r\nconst newsPagesInitialState = {\r\n userReadableProperty: \"description\",\r\n loaded: false,\r\n data: [],\r\n};\r\n\r\nconst newsPages = (state = newsPagesInitialState, action) => {\r\n switch (action.type) {\r\n case types.NEWS_PAGES_FETCH:\r\n return {\r\n ...state,\r\n data: action.data,\r\n loaded: true,\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default newsPages;\r\n\r\nexport const isLoaded = (state) => {\r\n return state.newsPages.loaded === true;\r\n};\r\n\r\nexport const getData = (state) => {\r\n return state.newsPages.data;\r\n};\r\n\r\nexport const getUserReadableProperty = (state) => {\r\n return state.newsPages.userReadableProperty;\r\n};","import * as types from '../actions/actionTypes';\r\n\r\nconst servicesInitialState = {\r\n userReadableProperty: \"name\",\r\n loaded: false,\r\n data: [],\r\n};\r\n\r\nconst services = (state = servicesInitialState, action) => {\r\n switch (action.type) {\r\n case types.SERVICES_FETCH:\r\n return {\r\n ...state,\r\n data: action.data,\r\n loaded: true,\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default services;\r\n\r\nexport const isLoaded = (state) => {\r\n return state.services.loaded === true;\r\n};\r\n\r\nexport const getData = (state) => {\r\n return state.services.data;\r\n};\r\n\r\nexport const getUserReadableProperty = (state) => {\r\n return state.services.userReadableProperty;\r\n};","export const IGNORED_PROPERTIES = ['dateOfCreate'];\r\n\r\nexport const isIgrnoredProperty = (propertyName: string): boolean => {\r\n return IGNORED_PROPERTIES.includes(propertyName);\r\n};\r\n","import { REWARD_VARIANT_ENUM } from '../common/enums';\r\nimport Reward from '../entities/reward';\r\nimport { isIgrnoredProperty } from './ignoredProperties';\r\n\r\nconst rewardItemTransformationBeforeSave = (rewardItem: Reward) => {\r\n const availableFrom = rewardItem.availableFrom;\r\n const availableTo = rewardItem.availableTo;\r\n\r\n const transformedData = {\r\n ...rewardItem,\r\n type: rewardItem.type.value,\r\n platform: rewardItem.platform.value,\r\n variant: rewardItem.variant.value,\r\n sourceOfSubscribers: rewardItem.sourceOfSubscribers.value,\r\n availableFrom: rewardItem.variant.value === REWARD_VARIANT_ENUM.STANDARD ? (availableFrom ? availableFrom.toUTCString() : null) : null,\r\n availableTo: rewardItem.variant.value === REWARD_VARIANT_ENUM.STANDARD ? (availableTo ? availableTo.toUTCString() : null) : null,\r\n numberOfPeriods: rewardItem.isDigi ? rewardItem.numberOfPeriods : 0,\r\n followingRewardId: rewardItem.followingRewardId > -1 ? rewardItem.followingRewardId : null,\r\n } as { [key: string]: any };\r\n\r\n const body = new FormData();\r\n\r\n for (const key in transformedData) {\r\n if (!isIgrnoredProperty(key)) {\r\n if (transformedData[key] !== null && transformedData[key] !== undefined) {\r\n body.append(key, transformedData[key]);\r\n }\r\n }\r\n }\r\n\r\n return body;\r\n};\r\n\r\nexport default rewardItemTransformationBeforeSave;\r\n","import * as types from '../actions/actionTypes';\r\nimport Reward from '../entities/reward';\r\nimport { SOURCE_OF_SUBSCRIBERS_TYPES_ENUM } from '../common/enums';\r\n\r\nconst rewardInitialState = {\r\n userReadableProperty: 'code',\r\n loaded: false,\r\n data: [],\r\n};\r\n\r\nconst rewardsReducer = (state = rewardInitialState, action: any) => {\r\n switch (action.type) {\r\n case types.REWARD_FETCH:\r\n return {\r\n ...state,\r\n data: action.data.map((reward: Reward) => {\r\n return { ...reward, code: reward.code ?? '' };\r\n }),\r\n loaded: true,\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default rewardsReducer;\r\n\r\nexport const isLoaded = (state: any) => {\r\n return state.rewards.loaded === true;\r\n};\r\n\r\nexport const getData = (state: any) => {\r\n return state.rewards.data;\r\n};\r\n\r\nexport const getDataByDataSource = (state: any, sourceOfSubscribers: SOURCE_OF_SUBSCRIBERS_TYPES_ENUM) => {\r\n return state.rewards.data.filter((reward: Reward) => reward.sourceOfSubscribers === sourceOfSubscribers);\r\n};\r\n\r\nexport const getUserReadableProperty = (state: any): keyof Reward => {\r\n return state.rewards.userReadableProperty;\r\n};\r\n","import axios from 'axios';\r\nimport { Dispatch } from 'react-redux';\r\n\r\nimport * as types from './actionTypes';\r\nimport { beginAjaxCall, ajaxCallError } from './ajaxStatusActions';\r\nimport { navigateToRewards } from './navigationActions';\r\nimport ResponseStatus from '../utils/responseStatus';\r\nimport rewardItemTransformationBeforeSave from '../data-transformations/rewardItemTransformationBeforeSave';\r\nimport Reward from '../entities/reward';\r\nimport { isLoaded } from '../reducers/rewardReducer';\r\n\r\nexport const fetchRewards = () => async (dispatch:Dispatch, getState:any) => {\r\n if (isLoaded(getState())) {\r\n return;\r\n }\r\n \r\n try {\r\n dispatch(beginAjaxCall());\r\n \r\n const response = await axios.get(`reward/`);\r\n \r\n if (ResponseStatus.IsOK(response.status)) {\r\n dispatch({\r\n type: types.REWARD_FETCH,\r\n data: response.data\r\n });\r\n } else {\r\n dispatch(ajaxCallError());\r\n }\r\n }\r\n catch (error) {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n }\r\n };\r\n\r\nexport const createReward = (data: Reward) => (dispatch: Dispatch) => {\r\n dispatch(beginAjaxCall());\r\n\r\n const transformedData = rewardItemTransformationBeforeSave(data);\r\n\r\n axios\r\n .post(`reward`, transformedData)\r\n .then((response) => {\r\n if (ResponseStatus.IsCreated(response.status)) {\r\n dispatch({\r\n type: types.REWARD_ADD,\r\n });\r\n\r\n dispatch(navigateToRewards());\r\n } else {\r\n dispatch(ajaxCallError());\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n });\r\n};\r\n\r\nexport const updateReward = (data: Reward) => (dispatch: Dispatch) => {\r\n dispatch(beginAjaxCall());\r\n\r\n const transformedData = rewardItemTransformationBeforeSave(data);\r\n\r\n axios\r\n .put(`reward`, transformedData)\r\n .then((response) => {\r\n if (ResponseStatus.IsOK(response.status)) {\r\n dispatch({\r\n type: types.REWARD_UPDATE,\r\n data: response.data,\r\n });\r\n\r\n dispatch(navigateToRewards());\r\n } else {\r\n dispatch(ajaxCallError());\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n });\r\n};\r\n","import * as types from '../actions/actionTypes';\r\n\r\nconst rewardInitialState = {\r\n userReadableProperty: 'name',\r\n loaded: false,\r\n data: [],\r\n};\r\n\r\nconst marketingActionsReducer = (state = rewardInitialState, action) => {\r\n switch (action.type) {\r\n case types.MARKETING_ACTION_FETCH:\r\n return {\r\n ...state,\r\n data: action.data.map((marketingAction) => {\r\n return { ...marketingAction };\r\n }),\r\n loaded: true,\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default marketingActionsReducer;\r\n\r\nexport const isLoaded = (state) => {\r\n return state.marketingActions.loaded === true;\r\n};\r\n\r\nexport const getData = (state) => {\r\n return state.marketingActions.data;\r\n};\r\n\r\nexport const getUserReadableProperty = (state) => {\r\n return state.marketingActions.userReadableProperty;\r\n};\r\n","import { getFlaggeValueFormEnumItems, isSelectedEnumFlagg, TARGETED_CAMPAIGN_DATA_SOURCE_TYPE_ENUM } from '../common/enums';\r\n\r\nconst newsItemTransformationBeforeSave = (newsItem) => {\r\n const isSelectedCMTDataSource = isSelectedEnumFlagg(newsItem.dataSourceType, TARGETED_CAMPAIGN_DATA_SOURCE_TYPE_ENUM.CMT);\r\n const validFromOnlyDate = new Date(newsItem.validFrom.getFullYear(), newsItem.validFrom.getMonth(), newsItem.validFrom.getDate(), 0, 0, 0, 0);\r\n const validToOnlyDate = newsItem.validTo\r\n ? new Date(newsItem.validTo.getFullYear(), newsItem.validTo.getMonth(), newsItem.validTo.getDate(), 23, 59, 59, 0)\r\n : undefined;\r\n\r\n const transformedData = {\r\n ...newsItem,\r\n type: newsItem.type.value,\r\n platform: newsItem.platform.value,\r\n section: newsItem.section.value,\r\n dataSourceType: newsItem.isTargetedCampaign ? getFlaggeValueFormEnumItems(newsItem.dataSourceType) : null,\r\n validFrom: validFromOnlyDate.toUTCString(),\r\n validTo: validToOnlyDate ? validToOnlyDate.toUTCString() : null,\r\n isTargetedCampaign: newsItem.isTargetedCampaign,\r\n targetedCampaignCode: newsItem.isTargetedCampaign && isSelectedCMTDataSource ? newsItem.targetedCampaignCode : null,\r\n targetedCampaignConditionType: newsItem.isTargetedCampaign ? newsItem.targetedCampaignConditionType.value : 0,\r\n targetedCampaignDateSuffixType:\r\n newsItem.isTargetedCampaign && isSelectedCMTDataSource && newsItem.targetedCampaignUseDateSuffix\r\n ? newsItem.targetedCampaignDateSuffixType.value\r\n : null,\r\n campaignTitle: newsItem.isCampaign ? newsItem.campaignTitle : null,\r\n campaignMessage: newsItem.isCampaign ? newsItem.campaignMessage : null,\r\n dateOfCampaignStart: null,\r\n countOfCampaignSent: newsItem.isCampaign ? newsItem.countOfCampaignSent : 0,\r\n dateOfLastCampaignSent: newsItem.isCampaign ? newsItem.dateOfLastCampaignSent : null,\r\n bannerViewType: newsItem.bannerViewType.value,\r\n };\r\n\r\n const body = new FormData();\r\n\r\n Object.keys(transformedData).forEach((key) => {\r\n if (transformedData[key] !== null && transformedData[key] !== undefined) {\r\n body.append(key, transformedData[key]);\r\n }\r\n });\r\n\r\n return body;\r\n};\r\n\r\nexport default newsItemTransformationBeforeSave;\r\n","import axios from \"axios\";\r\nimport * as types from \"./actionTypes\";\r\nimport { beginAjaxCall, ajaxCallError } from \"./ajaxStatusActions\";\r\nimport * as alertActions from \"./alertActions\";\r\nimport { navigateToNews } from \"./navigationActions\";\r\nimport { fetchNewsPages } from \"./newsPageActions\";\r\nimport { fetchServices } from \"./serviceActions\";\r\nimport { fetchRewards } from \"./rewardActions\";\r\nimport { fetchMarketingActions } from \"./marketingActions\";\r\n\r\nimport ResponseStatus from \"../utils/responseStatus\";\r\nimport newsItemTransformationBeforeSave from \"../data-transformations/newsItemTransformationBeforeSave\";\r\n\r\nexport const createNews = data => dispatch => {\r\n dispatch(beginAjaxCall());\r\n\r\n const transformedData = newsItemTransformationBeforeSave(data);\r\n\r\n axios\r\n .post(`news`, transformedData)\r\n .then(response => {\r\n if (ResponseStatus.IsCreated(response.status)) {\r\n dispatch({\r\n type: types.NEWS_ADD\r\n });\r\n\r\n dispatch(navigateToNews());\r\n } else {\r\n dispatch(ajaxCallError());\r\n }\r\n })\r\n .catch(error => {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n });\r\n};\r\n\r\nexport const updateNews = data => dispatch => {\r\n dispatch(beginAjaxCall());\r\n\r\n const transformedData = newsItemTransformationBeforeSave(data);\r\n\r\n axios\r\n .put(`news`, transformedData)\r\n .then(response => {\r\n if (ResponseStatus.IsOK(response.status)) {\r\n dispatch({\r\n type: types.NEWS_UPDATE,\r\n data: response.data\r\n });\r\n\r\n dispatch(navigateToNews());\r\n } else {\r\n dispatch(ajaxCallError());\r\n }\r\n })\r\n .catch(error => {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n });\r\n};\r\n\r\nexport const fetchNewsDependencies = () => async (dispatch, getState) => {\r\n try {\r\n dispatch(LOADING_DEPENDENCIES_BEGIN);\r\n\r\n await fetchNewsPages()(dispatch, getState);\r\n await fetchServices()(dispatch, getState);\r\n await fetchRewards()(dispatch, getState);\r\n await fetchMarketingActions()(dispatch, getState);\r\n } catch (exception) {\r\n throw exception; //FUJ\r\n } finally {\r\n dispatch(LOADING_DEPENDENCIES_END);\r\n }\r\n};\r\n\r\n/*\r\npublic enum PushNotificationResultState\r\n {\r\n // Uspesne odeslano\r\n Sent = 0,\r\n\r\n //Stav kdy pri zpracovani neni u nas nalezen subscriber s danym msisdn\r\n SubscriberNotFound = 1,\r\n\r\n // Token sice mame ale uzivatel nema aktualne registrovany telefon (reinstalace, ...) - aktualne nejde dorucit. Opakovanym pokusem treba ano\r\n TokenNotFound = 2,\r\n\r\n // Token nemame\r\n TokenIsEmpty = 3,\r\n\r\n // Neocekavana chyba\r\n OtherError = 4\r\n }\r\n*/\r\nexport const sendPushNotificationsToBetaTesters = () => async (\r\n dispatch,\r\n getState\r\n) => {\r\n let { table } = getState();\r\n let { actionUrl, data } = table;\r\n let { id } = data.find(i => i.selected);\r\n\r\n if (id) {\r\n axios\r\n .post(`${actionUrl}/betaTesterPushNotification/${id}`)\r\n .then(response => {\r\n const results = response.data.result;\r\n const sentSuccessfully = results.filter(result => result.state == 1);\r\n const notSent = results.filter(result => result.state != 1);\r\n const sentSuccessfullyMessagePrefix = \"Úspěšně odesláno na: \";\r\n const notSentMessagePrefix = \"Nepodařilo se odeslat na: \";\r\n const resultToMessageReducer = (accumulator, currentValue) =>\r\n accumulator + `${currentValue.msisdn};`;\r\n\r\n if (sentSuccessfully.some(result => result)) {\r\n const message = sentSuccessfully.reduce(\r\n resultToMessageReducer,\r\n sentSuccessfullyMessagePrefix\r\n );\r\n dispatch(alertActions.alertSuccessMessageAdd(message));\r\n }\r\n\r\n if (notSent.some(result => result)) {\r\n const message = notSent.reduce(\r\n resultToMessageReducer,\r\n notSentMessagePrefix\r\n );\r\n dispatch(alertActions.alertErrorMessageAdd(message));\r\n }\r\n\r\n dispatch(navigateToNews());\r\n })\r\n .catch(error => {\r\n ajaxCallError();\r\n dispatch(alertActions.alertErrorAdd(\"Chyba, nepodařilo se odeslat push notifikace.\"));\r\n throw error;\r\n });\r\n }\r\n};\r\n\r\nconst LOADING_DEPENDENCIES_BEGIN = {\r\n type: types.NEWS_LOADING_DEPENDENCIES_BEGIN\r\n};\r\n\r\nconst LOADING_DEPENDENCIES_END = {\r\n type: types.NEWS_LOADING_DEPENDENCIES_END\r\n};\r\n","import axios from 'axios';\r\nimport ResponseStatus from \"../utils/responseStatus\";\r\nimport {ajaxCallError, beginAjaxCall} from \"./ajaxStatusActions\";\r\nimport * as types from './actionTypes';\r\nimport {isLoaded} from \"../reducers/newsPagesReducer\";\r\n\r\nexport const fetchNewsPages = () => async (dispatch, getState) => {\r\n if (isLoaded(getState())) {\r\n return;\r\n }\r\n\r\n try {\r\n dispatch(beginAjaxCall());\r\n\r\n const response = await axios.get(`newspage/`);\r\n\r\n if (ResponseStatus.IsOK(response.status)) {\r\n dispatch({\r\n type: types.NEWS_PAGES_FETCH,\r\n data: response.data\r\n });\r\n } else {\r\n dispatch(ajaxCallError());\r\n }\r\n }\r\n catch (error) {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n }\r\n};\r\n\r\n","import axios from 'axios';\r\nimport ResponseStatus from \"../utils/responseStatus\";\r\nimport {ajaxCallError, beginAjaxCall} from \"./ajaxStatusActions\";\r\nimport * as types from './actionTypes';\r\nimport {isLoaded} from \"../reducers/servicesReducer\";\r\n\r\nexport const fetchServices = () => async (dispatch, getState) => {\r\n if (isLoaded(getState())) {\r\n return;\r\n }\r\n\r\n try {\r\n dispatch(beginAjaxCall());\r\n\r\n const response = await axios.get(`services/`);\r\n\r\n if (ResponseStatus.IsOK(response.status)) {\r\n dispatch({\r\n type: types.SERVICES_FETCH,\r\n data: response.data\r\n });\r\n } else {\r\n dispatch(ajaxCallError());\r\n }\r\n }\r\n catch (error) {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n }\r\n};\r\n\r\n","import axios from 'axios';\r\nimport { Dispatch } from 'react-redux';\r\n\r\nimport * as types from './actionTypes';\r\nimport { beginAjaxCall, ajaxCallError } from './ajaxStatusActions';\r\nimport ResponseStatus from '../utils/responseStatus';\r\nimport { isLoaded } from '../reducers/marketingActionReducer';\r\n\r\nexport const fetchMarketingActions = () => async (dispatch: Dispatch, getState: any) => {\r\n if (isLoaded(getState())) {\r\n return;\r\n }\r\n\r\n try {\r\n dispatch(beginAjaxCall());\r\n\r\n const response = await axios.get(`marketingActions/`);\r\n\r\n if (ResponseStatus.IsOK(response.status)) {\r\n dispatch({\r\n type: types.MARKETING_ACTION_FETCH,\r\n data: response.data,\r\n });\r\n } else {\r\n dispatch(ajaxCallError());\r\n }\r\n } catch (error) {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n }\r\n};\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { compose, bindActionCreators } from \"redux\";\r\n\r\nimport Table from \"../common/Table\";\r\nimport { GridColumn as Column } from \"@progress/kendo-react-grid\";\r\nimport DateCell from \"../common/formatters/DateCell\";\r\nimport EnumCell from \"../common/formatters/EnumCelll\";\r\nimport StringCellWithIcon from \"../common/formatters/StringCellWithIcon\";\r\nimport BoolCell from \"../common/formatters/BoolCell\";\r\nimport NavigableCell from \"../common/formatters/navigableCell\";\r\nimport StringCell from \"../common/formatters/StringCell\";\r\nimport Translation from \"../common/Translation\";\r\nimport { translate } from \"react-i18next\";\r\nimport Alerts from \"../common/Alerts\";\r\nimport ActionButton from \"../common/ActionButton\";\r\nimport ToggableActionButton from \"../common/ToggableActionButton\";\r\nimport { NEWS } from \"../../data-transformations/dataTransformationTypes\";\r\nimport { navigateTo } from \"../../actions/navigationActions\";\r\nimport { sendPushNotificationsToBetaTesters as sendPushNotificationsToBetaTestersAction } from \"../../actions/newsActions\";\r\nimport * as enums from \"../../common/enums\";\r\nimport {\r\n TEXT_HORIZONTAL_ALIGN,\r\n NAVIGATION_PATHS\r\n} from \"../../common/constants\";\r\n\r\nconst defaultNewsTabelSort = [\r\n {\r\n dir: \"desc\",\r\n field: \"validFrom\"\r\n }\r\n];\r\n\r\nconst actionUrl = \"news\";\r\n\r\nconst News = ({ t, navigateTo, sendPushNotificationsToBetaTesters }) => {\r\n let table;\r\n\r\n const onNew = () => {\r\n navigateTo(NAVIGATION_PATHS.NEWS_CREATE);\r\n };\r\n\r\n const onEdit = () => {\r\n table.getWrappedInstance().editSelected();\r\n };\r\n\r\n const onRemove = () => {\r\n table.getWrappedInstance().removeSelected();\r\n };\r\n\r\n const onClone = () => {\r\n table.getWrappedInstance().cloneSelected();\r\n };\r\n\r\n const onShowActive = () => {\r\n const filters = [];\r\n filters[0] = {\r\n field: \"validTo\",\r\n operator: \"gte\",\r\n value: new Date().toISOString()\r\n };\r\n filters[1] = { field: \"validTo\", operator: \"eq\", logicalOperator: 1 };\r\n\r\n table.getWrappedInstance().customFilter(filters);\r\n };\r\n\r\n const onShowAll = () => {\r\n table.getWrappedInstance().onFilterClear();\r\n };\r\n\r\n const onSendPushNotificationsToBetaTesters = () => {\r\n sendPushNotificationsToBetaTesters();\r\n };\r\n\r\n const customRowRender = (trElement, rowProps, data) => {\r\n console.warn(\"News.rowRender\");\r\n\r\n /*const isRowWithSameOrder = data.some((item)=>{\r\n return item.order === rowProps.dataItem.order && item.id !== rowProps.dataItem.id;\r\n });\r\n const orange = { backgroundColor: \"rgba(255,190, 12,1)\" };\r\n const trProps = { style: isRowWithSameOrder ? orange : null };\r\n */\r\n //return React.cloneElement(trElement, { ...trProps }, trElement.props.children);\r\n\r\n return trElement;\r\n };\r\n\r\n const condtionToShowIcon = (dataItem, data) => {\r\n /* const isRowWithSameOrder = data.some((item)=>{\r\n return item.order === dataItem.order && item.id !== dataItem.id;\r\n });\r\n\r\n return isRowWithSameOrder; */\r\n\r\n return false;\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {/**/}\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n table = el;\r\n }}\r\n dataTransformation={NEWS}\r\n name=\"NewsTable\"\r\n customRowRender={customRowRender}\r\n defaultSort={defaultNewsTabelSort}\r\n >\r\n \r\n (\r\n \r\n )}\r\n title={t(\"Order\")}\r\n width=\"75px\"\r\n />\r\n (\r\n \r\n )}\r\n title={t(\"Name\")}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nNews.propTypes = {\r\n t: PropTypes.func.isRequired,\r\n navigateTo: PropTypes.func.isRequired,\r\n sendPushNotificationsToBetaTesters: PropTypes.func.isRequired\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n navigateTo: bindActionCreators(navigateTo, dispatch),\r\n sendPushNotificationsToBetaTesters: bindActionCreators(\r\n sendPushNotificationsToBetaTestersAction,\r\n dispatch\r\n )\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n null,\r\n mapDispatchToProps\r\n ),\r\n translate(\"common\")\r\n)(News);\r\n","import React from 'react';\r\nimport PropTypes from \"prop-types\";\r\nimport {Field} from 'react-final-form';\r\nimport {OnChange} from 'react-final-form-listeners';\r\n\r\nconst WhenFieldChangesListener = ({field, becomes, set, to}) => (\r\n \r\n {(\r\n {input: {onChange}}\r\n ) => (\r\n \r\n {value => {\r\n if (value === becomes) {\r\n onChange(to);\r\n }\r\n }}\r\n \r\n )}\r\n \r\n);\r\n\r\nWhenFieldChangesListener.propTypes = {\r\n field: PropTypes.string.isRequired,\r\n becomes: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.bool]).isRequired,\r\n set: PropTypes.string.isRequired,\r\n to: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.bool]).isRequired,\r\n};\r\n\r\nexport default WhenFieldChangesListener;\r\n","import React from 'react';\r\n\r\nimport WhenFieldChangesListener from \"./WhenFieldChangesListener\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst WhenFieldChanges = ({field, becomes, set, to}) => {\r\n if (set && Array.isArray(set)) {\r\n return set.map((setItem) => );\r\n }\r\n\r\n return ;\r\n};\r\n\r\nWhenFieldChanges.propTypes = {\r\n field: PropTypes.string.isRequired,\r\n becomes: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.bool]).isRequired,\r\n set: PropTypes.arrayOf(PropTypes.string).isRequired,\r\n to: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.bool]).isRequired,\r\n};\r\n\r\nexport default WhenFieldChanges;\r\n","import React from 'react';\r\nimport { Field } from 'react-final-form';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst Condition = ({ when, is, children }) => (\r\n \r\n {({ input: { value } }) => {\r\n if (typeof is === 'function') {\r\n if (is(value)) {\r\n return children;\r\n } else {\r\n return null;\r\n }\r\n } else if (value === is) {\r\n return children;\r\n } else {\r\n return null;\r\n }\r\n }}\r\n \r\n);\r\n\r\nCondition.propTypes = {\r\n when: PropTypes.string.isRequired,\r\n is: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.bool, PropTypes.func]).isRequired,\r\n children: PropTypes.node.isRequired,\r\n};\r\n\r\nexport default Condition;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst CancelButton = ({children, className = \"\", onClick}) => {\r\n className = \"k-button k-secondary \"+ className;\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nCancelButton.propTypes = {\r\n children: PropTypes.node,\r\n onClick: PropTypes.func.isRequired,\r\n className: PropTypes.string\r\n};\r\n\r\nexport default CancelButton;\r\n","import * as types from '../actions/actionTypes';\r\n\r\nconst newsInitialState= {\r\n loadingDependencies: false,\r\n};\r\n\r\nconst newsPages = (state = newsInitialState, action) => {\r\n switch (action.type) {\r\n case types.NEWS_LOADING_DEPENDENCIES_BEGIN:\r\n return {\r\n ...state,\r\n loadingDependencies: true,\r\n };\r\n case types.NEWS_LOADING_DEPENDENCIES_END:\r\n return {\r\n ...state,\r\n loadingDependencies: false,\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default newsPages;\r\n\r\nexport const isLoadingDependencies = (state) => {\r\n return state.news.loadingDependencies === true;\r\n};\r\n","import {isNullOrUndefined} from \"./isNullOrUdefined\";\r\n\r\nexport const isEmpty=(value)=>{\r\n return !value || isNullOrUndefined(value);\r\n};\r\n","export const isNull = (value) => {\r\n return value === null;\r\n};\r\n\r\nexport const isUndefined = (value) => {\r\n return value === undefined;\r\n};\r\n\r\nexport const isNullOrUndefined = (value) => {\r\n return isNull(value) || isUndefined(value);\r\n};\r\n","import React from 'react';\r\nimport {Field} from 'react-final-form';\r\nimport PropTypes from \"prop-types\";\r\nimport {isEmpty} from \"../../../utils/isEmpty\";\r\n\r\nconst WhenFieldIsEmpty = ({when, children}) => (\r\n \r\n {\r\n ({input: {value}}) => (\r\n isEmpty(value) ? children : null)\r\n }\r\n \r\n);\r\n\r\nWhenFieldIsEmpty.propTypes = {\r\n when: PropTypes.string.isRequired,\r\n children: PropTypes.node.isRequired,\r\n};\r\n\r\nexport default WhenFieldIsEmpty;\r\n","import React from 'react';\r\nimport {Field} from 'react-final-form';\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport {isEmpty} from \"../../../utils/isEmpty\";\r\n\r\nconst WhenFieldHasValue = ({when, children}) => (\r\n \r\n {({input: {value}}) => (!isEmpty(value) ? children : null)}\r\n \r\n);\r\n\r\nWhenFieldHasValue.propTypes = {\r\n when: PropTypes.string.isRequired,\r\n children: PropTypes.node.isRequired,\r\n};\r\n\r\nexport default WhenFieldHasValue;\r\n","import React from 'react';\r\nimport ReactDropzone from 'react-dropzone';\r\nimport Img from 'react-image';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport { Field } from 'react-final-form';\r\n\r\nimport WhenFieldIsEmpty from './utils/WhenFieldIsEmpty';\r\nimport WhenFieldHasValue from './utils/WhenFieldHasValue';\r\nimport ErrorValidationMessage from './ErrorValidationMessage';\r\n\r\nimport { MAX_IMAGE_SIZE_IN_BYTES, MAX_IMAGE_SIZE_IN_MEGA_BYTES } from '../../common/configs';\r\nimport { finalFormInput, finalFormMeta } from '../../common/propTypes';\r\nimport Translation from './Translation';\r\n\r\ninterface IDropzoneProps {\r\n input: any;\r\n meta: any;\r\n recommendedResolution: any;\r\n imageUrl: any;\r\n}\r\n\r\n/* const Dropzone = ({ input, meta, recommendedResolution, imageUrl, ...rest }: IDropzoneProps): React.ReactElement => {\r\n const onChange = (filesToUpload: any) => {\r\n input.onChange(filesToUpload[0]);\r\n };\r\n\r\n const onRemoveImage = (event: any) => {\r\n event.preventDefault();\r\n input.onChange(null);\r\n };\r\n\r\n const isInvalid = meta.error && meta.touched;\r\n const wrapperClass = classNames({\r\n 'validable-control': true,\r\n 'validable-control__error': isInvalid,\r\n });\r\n\r\n return (\r\n
    \r\n \r\n {(imageUrlProps) => (\r\n \r\n {({ isDragAccept, isDragReject, acceptedFiles, rejectedFiles }) => {\r\n if (isDragReject) {\r\n return (\r\n
    \r\n \r\n \r\n {MAX_IMAGE_SIZE_IN_MEGA_BYTES} MB!!\r\n \r\n
    \r\n );\r\n }\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n\r\n \r\n
    \r\n \r\n \r\n {recommendedResolution}\r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n
    \r\n );\r\n }}\r\n \r\n )}\r\n
    \r\n {isInvalid && }\r\n
    \r\n );\r\n};\r\n\r\nDropzone.propTypes = {\r\n input: finalFormInput.isRequired,\r\n meta: finalFormMeta.isRequired,\r\n recommendedResolution: PropTypes.string.isRequired,\r\n imageUrl: PropTypes.string.isRequired,\r\n}; */\r\n\r\nconst Dropzone = (options: any): React.ReactElement => {\r\n const { input, meta, recommendedResolution, imageUrl, ...rest } = options;\r\n\r\n const onChange = (filesToUpload: any) => {\r\n input.onChange(filesToUpload[0]);\r\n };\r\n\r\n const onRemoveImage = (event: any) => {\r\n event.preventDefault();\r\n input.onChange(null);\r\n };\r\n\r\n const isInvalid = meta.error && meta.touched;\r\n const wrapperClass = classNames({\r\n 'validable-control': true,\r\n 'validable-control__error': isInvalid,\r\n });\r\n\r\n return (\r\n
    \r\n \r\n {(imageUrlProps) => (\r\n \r\n {({ isDragAccept, isDragReject, acceptedFiles, rejectedFiles }) => {\r\n if (isDragReject) {\r\n return (\r\n
    \r\n \r\n \r\n {MAX_IMAGE_SIZE_IN_MEGA_BYTES} MB!!\r\n \r\n
    \r\n );\r\n }\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n\r\n \r\n
    \r\n \r\n \r\n {recommendedResolution}.\r\n \r\n {MAX_IMAGE_SIZE_IN_MEGA_BYTES} MB!\r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n
    \r\n );\r\n }}\r\n \r\n )}\r\n
    \r\n {isInvalid && }\r\n
    \r\n );\r\n};\r\n\r\nexport default Dropzone;\r\n","import KendoHOC from \"./utils/KendoHOC\";\r\n\r\nconst Textarea = (options) => (KendoHOC(\"textarea\", options));\r\n\r\nexport default Textarea;\r\n","import {DatePicker as KendoDatePicker} from \"@progress/kendo-react-dateinputs\";\r\nimport KendoHOC from \"./utils/KendoHOC\";\r\n\r\nconst DatePicker = (options) => (KendoHOC(KendoDatePicker, options));\r\n\r\nexport default DatePicker;\r\n","import {DropDownList as KendoDropDownList} from '@progress/kendo-react-dropdowns';\r\nimport KendoHOC from \"./utils/KendoHOC\";\r\n\r\nconst DropDown = (options) => (KendoHOC(KendoDropDownList, options));\r\n\r\nexport default DropDown;\r\n","import { DropDownList as KendoDropDownList } from '@progress/kendo-react-dropdowns';\r\nimport React from 'react';\r\nimport KendoHOC from './utils/KendoHOC';\r\n\r\nconst isPresent = (value) => value !== null && value !== undefined;\r\n\r\nconst withValueField = (DropDownComponent) => {\r\n return class extends React.Component {\r\n component;\r\n events = {\r\n onBlur: (event) => this.triggerEvent('onBlur', event),\r\n onFocus: (event) => this.triggerEvent('onFocus', event),\r\n onChange: (event) => this.triggerEvent('onChange', event),\r\n onPageChange: (event) => this.triggerEvent('onPageChange', event),\r\n onFilterChange: (event) => this.triggerEvent('onFilterChange', event),\r\n };\r\n\r\n get value() {\r\n if (this.component) {\r\n const value = this.component.value;\r\n\r\n return isPresent(value) ? value[this.props.valueField] : value;\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n (this.component = component)}\r\n {...this.events}\r\n />\r\n \r\n );\r\n }\r\n\r\n triggerEvent(eventType, event) {\r\n if (this.props[eventType]) {\r\n this.props[eventType].call(undefined, {\r\n ...event,\r\n target: this,\r\n });\r\n }\r\n }\r\n\r\n itemFromValue(value) {\r\n const { data = [], valueField } = this.props;\r\n return isPresent(value) ? data.find((item) => item[valueField] === value) : value;\r\n }\r\n };\r\n};\r\n\r\nconst DropDownWithValueField = (options) => KendoHOC(withValueField(KendoDropDownList), options);\r\n\r\nexport default DropDownWithValueField;\r\n","import React from 'react';\r\nimport { MultiSelect as KendoMultiSelect } from '@progress/kendo-react-dropdowns';\r\nimport KendoHOC from './utils/KendoHOC';\r\n\r\nconst withMultiSelect = (MultiSelect) => {\r\n return class extends React.Component {\r\n component;\r\n events = {\r\n onBlur: (event) => this.triggerEvent('onBlur', event),\r\n onFocus: (event) => this.triggerEvent('onFocus', event),\r\n onChange: (event) => this.triggerEvent('onChange', event),\r\n onPageChange: (event) => this.triggerEvent('onPageChange', event),\r\n onFilterChange: (event) => this.triggerEvent('onFilterChange', event),\r\n };\r\n\r\n get value() {\r\n if (this.component) {\r\n const value = this.component.value.reduce((total, item, i) => total + item.value, 0);\r\n\r\n return value;\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n (this.component = component)}\r\n {...this.events}\r\n />\r\n );\r\n }\r\n\r\n triggerEvent(eventType, event) {\r\n if (this.props[eventType]) {\r\n this.props[eventType].call(undefined, {\r\n ...event,\r\n target: this,\r\n });\r\n }\r\n }\r\n\r\n itemFromValue(value) {\r\n return this.props.data.filter((item) => {\r\n return (item.value & this.props.value) === item.value;\r\n });\r\n }\r\n };\r\n};\r\n\r\nconst DropDownMultiSelect = (options) => KendoHOC(KendoMultiSelect, options);\r\n\r\nexport default DropDownMultiSelect;\r\n","import {Switch as KendoSwitch} from \"@progress/kendo-react-inputs\";\r\nimport KendoHOC from \"./utils/KendoHOC\";\r\n\r\nconst Switch = (options) => {\r\n const switchOPTIONS={\r\n ...options,\r\n input: { \r\n ...options.input,\r\n checked:options.input.value,\r\n }\r\n };\r\n\r\n return KendoHOC(KendoSwitch, switchOPTIONS);\r\n};\r\n\r\nexport default Switch;\r\n","import {NumericTextBox as KendoNumericTextBox} from '@progress/kendo-react-inputs';\r\nimport KendoHOC from \"./utils/KendoHOC\";\r\n\r\nconst NumericTextBox = (options) => (KendoHOC(KendoNumericTextBox, options));\r\n\r\nexport default NumericTextBox;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { translate } from 'react-i18next';\r\nimport { bindActionCreators, compose } from 'redux';\r\nimport { Form, Field } from 'react-final-form';\r\nimport createDecorator from 'final-form-calculate';\r\n\r\nimport SubmitButton from '../common/SubmitButton';\r\nimport * as enums from '../../common/enums';\r\nimport * as propTypes from '../../common/propTypes';\r\n\r\nimport WhenFieldChanges from '../common/utils/WhenFieldChanges';\r\nimport Alerts from '../common/Alerts';\r\nimport Translation from '../common/Translation';\r\nimport Condition from '../common/utils/Condition';\r\nimport CancelButton from '../common/CancelButton';\r\nimport { getData as getNewsPages, getUserReadableProperty as getNewsPageUserReadableProperty } from '../../reducers/newsPagesReducer';\r\nimport { getData as getServices, getUserReadableProperty as getServiceUserReadableProperty } from '../../reducers/servicesReducer';\r\nimport { getData as getRewards, getUserReadableProperty as getRewardUserReadableProperty } from '../../reducers/rewardReducer';\r\nimport {\r\n getData as getMarketingActions,\r\n getUserReadableProperty as getMarketingActionUserReadableProperty,\r\n} from '../../reducers/marketingActionReducer';\r\nimport { isLoadingDependencies } from '../../reducers/newsReducer';\r\nimport { fetchNewsDependencies } from '../../actions/newsActions';\r\nimport Dropzone from '../common/DropZone';\r\nimport Input from '../common/Input';\r\nimport Textarea from '../common/Textarea';\r\nimport DatePicker from '../common/DatePicker';\r\nimport DropDown from '../common/DropDown';\r\nimport DropDownWithValueField from '../common/DropDownWithValueField';\r\nimport DropDownMultiSelect from '../common/DropDownMultiSelect';\r\nimport { isEmpty } from '../../utils/isEmpty';\r\nimport { MAX_IMAGE_SIZE_IN_BYTES, MAX_IMAGE_SIZE_IN_MEGA_BYTES } from '../../common/configs';\r\nimport Switch from './../common/Switch';\r\nimport NumericTextBox from './../common/NumericTextBox';\r\nimport LoadingIndicator from '../common/LoadingIndicator';\r\n\r\nconst isSelectedCMTDataSource = (values) => {\r\n return enums.isSelectedEnumFlagg(values, enums.TARGETED_CAMPAIGN_DATA_SOURCE_TYPE_ENUM.CMT);\r\n};\r\n\r\nconst isSelectedRewardDataSource = (values) => {\r\n return enums.isSelectedEnumFlagg(values, enums.TARGETED_CAMPAIGN_DATA_SOURCE_TYPE_ENUM.REWARD_USAGES);\r\n};\r\n\r\nconst isSelectedMarketingActionDataSource = (values) => {\r\n return enums.isSelectedEnumFlagg(values, enums.TARGETED_CAMPAIGN_DATA_SOURCE_TYPE_ENUM.MARKETING_ACTION_USAGES);\r\n};\r\n\r\nconst isSelectedPruductStateChangeSource = (values) => {\r\n return enums.isSelectedEnumFlagg(values, enums.TARGETED_CAMPAIGN_DATA_SOURCE_TYPE_ENUM.PRODUCT_STATE_CHANGE);\r\n};\r\n\r\n\r\nconst getImageUrl = (imageValue, oldImageUrl) => {\r\n if (oldImageUrl) {\r\n URL.revokeObjectURL(oldImageUrl);\r\n }\r\n\r\n let newImageUrl = null;\r\n if (!isEmpty(imageValue)) {\r\n newImageUrl = URL.createObjectURL(imageValue);\r\n }\r\n\r\n return newImageUrl;\r\n};\r\n\r\nconst formDecorator = createDecorator(\r\n {\r\n field: 'image',\r\n updates: {\r\n imageUrl: (imageValue, allValues) => {\r\n const oldImageUrl = allValues.imageUrl;\r\n\r\n return getImageUrl(imageValue, oldImageUrl);\r\n },\r\n },\r\n },\r\n {\r\n field: 'imageV2',\r\n updates: {\r\n imageUrlV2: (imageValue, allValues) => {\r\n const oldImageUrl = allValues.imageUrlV2;\r\n\r\n return getImageUrl(imageValue, oldImageUrl);\r\n },\r\n },\r\n },\r\n {\r\n field: 'detailImage',\r\n updates: {\r\n detailImageUrl: (imageValue, allValues) => {\r\n const oldImageUrl = allValues.detailImageUrl;\r\n\r\n return getImageUrl(imageValue, oldImageUrl);\r\n },\r\n },\r\n }\r\n);\r\n\r\nclass NewsDetail extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n //this.state = {newsPages: [], newsServices: [], files: []};\r\n this.translatedFormValidation = this.translatedFormValidation.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.props.fetchNewsDependencies();\r\n }\r\n\r\n translatedFormValidation(values) {\r\n const { t } = this.props;\r\n const errors = {};\r\n\r\n if (!values.name) {\r\n errors.name = t('NameIsRequired');\r\n }\r\n\r\n if (!values.validFrom) {\r\n errors.validFrom = 'Datum Platný od je povinné';\r\n }\r\n\r\n if (values.validTo && values.validFrom && values.validTo < values.validFrom) {\r\n errors.validTo = 'Datum Platný do, musí být větší než datum Platný od';\r\n }\r\n\r\n if (!values.type) {\r\n errors.type = 'Typ je povinný';\r\n }\r\n\r\n if (!values.section) {\r\n errors.section = 'Sekce je povinná';\r\n }\r\n\r\n if (values.image && values.image.size > MAX_IMAGE_SIZE_IN_BYTES) {\r\n errors.image = `Obrázek je příliš velký. Maximální veliskot je ${MAX_IMAGE_SIZE_IN_MEGA_BYTES}MB`;\r\n }\r\n\r\n if (values.detailImage && values.detailImage.size > MAX_IMAGE_SIZE_IN_BYTES) {\r\n errors.detailImage = `Obrázek je příliš velký. Maximální veliskot je ${MAX_IMAGE_SIZE_IN_MEGA_BYTES}MB`;\r\n }\r\n\r\n if (values.isCampaign) {\r\n if (!values.campaignMessage) {\r\n errors.campaignMessage = 'Zpáva kampaně je povinná';\r\n }\r\n\r\n if (!values.campaignTitle) {\r\n errors.campaignTitle = 'Titulek kampaně je povinný';\r\n }\r\n }\r\n\r\n if (values.isTargetedCampaign) {\r\n if (!values.dataSourceType || values.dataSourceType.length === 0) {\r\n errors.dataSourceType = 'Typ zdroje dat je povinný';\r\n }\r\n\r\n if (!values.targetedCampaignConditionType) {\r\n errors.targetedCampaignConditionType = 'Podmínka je povinná';\r\n }\r\n\r\n if (\r\n values.dataSourceType &&\r\n enums.isSelectedEnumFlagg(values.dataSourceType, enums.TARGETED_CAMPAIGN_DATA_SOURCE_TYPE_ENUM.MARKETING_ACTION_USAGES) &&\r\n values.dataSourceType.length > 1\r\n ) {\r\n errors.dataSourceType = 'Marketingová akce není kombinovatelná s jiným datovým zdrojem';\r\n }\r\n\r\n if (\r\n values.dataSourceType &&\r\n enums.isSelectedEnumFlagg(values.dataSourceType, enums.TARGETED_CAMPAIGN_DATA_SOURCE_TYPE_ENUM.REWARD_USAGES) &&\r\n values.dataSourceType.length > 1\r\n ) {\r\n errors.dataSourceType = 'Odměna ze sekce Jen pro mě není kombinovatelná s jiným datovým zdrojem';\r\n }\r\n\r\n if (values.dataSourceType && enums.isSelectedEnumFlagg(values.dataSourceType, enums.TARGETED_CAMPAIGN_DATA_SOURCE_TYPE_ENUM.CMT)) {\r\n if (!values.targetedCampaignCode) {\r\n errors.targetedCampaignCode = 'Kód kampaně je povinný';\r\n }\r\n\r\n if (!values.targetedCampaignConditionType) {\r\n errors.targetedCampaignConditionType = 'Typ podmínky je povinný';\r\n }\r\n\r\n if (values.targetedCampaignUseDateSuffix && !values.targetedCampaignDateSuffixType) {\r\n errors.targetedCampaignDateSuffixType = 'Typ sufixu je povunný';\r\n }\r\n }\r\n\r\n if (\r\n values.dataSourceType &&\r\n enums.isSelectedEnumFlagg(values.dataSourceType, enums.TARGETED_CAMPAIGN_DATA_SOURCE_TYPE_ENUM.MARKETING_ACTION_USAGES)\r\n ) {\r\n if (!values.marketingActionId) {\r\n errors.marketingActionId = 'Marketingová akce je povinná';\r\n }\r\n }\r\n\r\n if (\r\n values.dataSourceType &&\r\n enums.isSelectedEnumFlagg(values.dataSourceType, enums.TARGETED_CAMPAIGN_DATA_SOURCE_TYPE_ENUM.REWARD_USAGES)\r\n ) {\r\n if (!values.rewardId) {\r\n errors.rewardId = 'Odměna ze sekce Jen pro mě je povinná';\r\n }\r\n }\r\n }\r\n\r\n return errors;\r\n }\r\n\r\n render() {\r\n console.debug('NewsDetail.render');\r\n\r\n const { initialValues, headerText, onCancel } = this.props;\r\n\r\n return (\r\n
    \r\n
    \r\n

    {headerText}

    \r\n
    \r\n
    \r\n \r\n
    \r\n (\r\n
    \r\n {this.props.loadingDependencies && }\r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n
    \r\n \r\n\r\n \r\n
    \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n \r\n
    \r\n \r\n\r\n \r\n\r\n {/* */}\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n )}\r\n />\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nNewsDetail.propTypes = {\r\n t: PropTypes.func.isRequired,\r\n headerText: PropTypes.string.isRequired,\r\n initialValues: propTypes.newsPropTypes.isRequired,\r\n onSubmit: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired,\r\n fetchNewsDependencies: PropTypes.func.isRequired,\r\n newsPages: PropTypes.arrayOf({\r\n id: PropTypes.string.isRequired,\r\n }).isRequired,\r\n newsPageUserReadableProperty: PropTypes.string.isRequired,\r\n services: PropTypes.arrayOf({\r\n id: PropTypes.string.isRequired,\r\n }).isRequired,\r\n serviceUserReadableProperty: PropTypes.string.isRequired,\r\n loadingDependencies: PropTypes.bool.isRequired,\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n lang: state.app.lang,\r\n loadingDependencies: isLoadingDependencies(state),\r\n newsPages: getNewsPages(state),\r\n newsPageUserReadableProperty: getNewsPageUserReadableProperty(state),\r\n services: getServices(state),\r\n serviceUserReadableProperty: getServiceUserReadableProperty(state),\r\n rewards: getRewards(state),\r\n marketingActions: getMarketingActions(state),\r\n rewardUserReadableProperty: getRewardUserReadableProperty(state),\r\n marketingActionUserReadableProperty: getMarketingActionUserReadableProperty(state),\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n fetchNewsDependencies: bindActionCreators(fetchNewsDependencies, dispatch),\r\n };\r\n};\r\n\r\nexport default compose(connect(mapStateToProps, mapDispatchToProps), translate('common'))(NewsDetail);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators, compose } from \"redux\";\r\nimport { translate } from \"react-i18next\";\r\n\r\nimport NewsDetail from \"./NewsDetail\";\r\nimport { createNews } from \"../../actions/newsActions\";\r\nimport * as enums from \"../../common/enums\";\r\nimport { navigateToNews } from \"../../actions/navigationActions\";\r\n\r\nconst initialValues = {\r\n name: \"\",\r\n validFrom: new Date(),\r\n validTo: null,\r\n description: \"\",\r\n type: enums.NEWS_TYPES[0],\r\n published: false,\r\n platform: enums.PLATFORMA_TYPES[0],\r\n urlOpenExternal: false,\r\n smsRecipient: \"\",\r\n smsBody: \"\",\r\n order: 0,\r\n navigateDirectToPage: false,\r\n isCampaign: false,\r\n dateOfCampaignStart: new Date(),\r\n isTargetedCampaign: false,\r\n};\r\n\r\nconst NewsDetailCreate = ({ createNews, cancelAction, t }) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nNewsDetailCreate.propTypes = {\r\n createNews: PropTypes.func.isRequired,\r\n cancelAction: PropTypes.func.isRequired,\r\n t: PropTypes.func.isRequired\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n createNews: bindActionCreators(createNews, dispatch),\r\n cancelAction: bindActionCreators(navigateToNews, dispatch)\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n undefined,\r\n mapDispatchToProps\r\n ),\r\n translate(\"common\")\r\n)(NewsDetailCreate);\r\n","import React from 'react';\r\nimport PropTypes from \"prop-types\";\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators, compose} from \"redux\";\r\nimport {translate} from \"react-i18next\";\r\n\r\nimport * as propTypes from '../../common/propTypes';\r\nimport NewsDetail from './NewsDetail';\r\nimport {getRowById} from \"../../reducers/tableReducer\";\r\nimport {updateNews} from \"../../actions/newsActions\";\r\nimport {navigateToNews} from \"../../actions/navigationActions\";\r\n\r\nconst NewsDetailUpdate = ({initialValues, updateNews, cancelAction, t}) => {\r\n return ;\r\n};\r\n\r\nNewsDetailUpdate.propTypes = {\r\n initialValues: propTypes.newsPropTypes.isRequired,\r\n updateNews: PropTypes.func.isRequired,\r\n cancelAction: PropTypes.func.isRequired,\r\n t: PropTypes.func.isRequired,\r\n};\r\n\r\nconst mapStateToProps = (state, {match}) => {\r\n const id = match.params.id;\r\n\r\n return {\r\n lang: state.app.lang,\r\n initialValues: getRowById(state, id)\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n updateNews: bindActionCreators(updateNews, dispatch),\r\n cancelAction: bindActionCreators(navigateToNews, dispatch)\r\n };\r\n};\r\n\r\nexport default compose(connect(mapStateToProps, mapDispatchToProps), translate('common'))(NewsDetailUpdate);\r\n\r\n","import React from 'react';\r\n\r\nconst Dashboard = () => {\r\n return

    Vítejte

    ;\r\n};\r\n\r\nexport default Dashboard;\r\n","import Extra from '../entities/extra';\r\n\r\nconst extraTransformationBeforeSave = (extra: Extra) => {\r\n const hvcForAllValidFrom =\r\n extra.hvcForAll && extra.hvcForAllValidFrom\r\n ? new Date(extra.hvcForAllValidFrom.getFullYear(), extra.hvcForAllValidFrom.getMonth(), extra.hvcForAllValidFrom.getDate(), 0, 0, 0, 0)\r\n : null;\r\n const hvcForAllValidTo =\r\n extra.hvcForAll && extra.hvcForAllValidTo\r\n ? new Date(extra.hvcForAllValidTo.getFullYear(), extra.hvcForAllValidTo.getMonth(), extra.hvcForAllValidTo.getDate(), 23, 59, 59, 0)\r\n : null;\r\n\r\n const transformedData = {\r\n ...extra,\r\n hvcForGroupName: extra.hvcForGroup ? extra.hvcForGroupName : null,\r\n hvcForGroupDateSuffixType: extra.hvcForGroupUseDateSuffix ? extra.hvcForGroupDateSuffixType.value : null,\r\n hvcForAllValidFrom: hvcForAllValidFrom ? hvcForAllValidFrom.toUTCString() : null,\r\n hvcForAllValidTo: hvcForAllValidTo ? hvcForAllValidTo.toUTCString() : null,\r\n };\r\n\r\n return transformedData;\r\n};\r\n\r\nexport default extraTransformationBeforeSave;\r\n","import { getEnumItemByValue, TARGETED_GROUP_SUFFIX_TYPE, SOURCE_OF_SUBSCRIBERS_TYPES, REWARD_TYPES, EnumDescription } from '../common/enums';\r\n\r\nexport default class Reward {\r\n id: number;\r\n hvcForAll: boolean;\r\n hvcForAllValidFrom: Date | null | undefined;\r\n hvcForAllValidTo: Date | null | undefined;\r\n hvcForGroup: boolean;\r\n hvcForGroupDateSuffixType: any;\r\n hvcForGroupName: string | undefined;\r\n hvcForGroupUseDateSuffix: boolean;\r\n hvcLimit: number;\r\n hvcDaysForSpentCalculation: number;\r\n\r\n constructor(properties: Partial) {\r\n this.id = 0;\r\n this.hvcForAll = false;\r\n this.hvcForAllValidFrom = null;\r\n this.hvcForAllValidTo = null;\r\n this.hvcForGroup = false;\r\n this.hvcForGroupName = '';\r\n this.hvcForGroupUseDateSuffix = false;\r\n this.hvcLimit = 0;\r\n this.hvcDaysForSpentCalculation = 0;\r\n\r\n Object.assign(this, properties);\r\n\r\n this.hvcForGroupDateSuffixType = properties.hvcForGroupUseDateSuffix\r\n ? getEnumItemByValue(properties.hvcForGroupDateSuffixType, TARGETED_GROUP_SUFFIX_TYPE)\r\n : undefined;\r\n\r\n this.hvcForAllValidFrom = properties.hvcForAllValidFrom ? new Date(properties.hvcForAllValidFrom) : properties.hvcForAllValidFrom;\r\n this.hvcForAllValidTo = properties.hvcForAllValidTo ? new Date(properties.hvcForAllValidTo) : properties.hvcForAllValidTo;\r\n }\r\n}\r\n","// import {getEnumItemByValue, NEWS_TYPES} from \"../common/enums\";\r\nimport Extra from '../entities/extra';\r\n\r\nconst extraDataTransformationAfterFetch = (data) => {\r\n return new Extra(data);\r\n};\r\n\r\nexport default extraDataTransformationAfterFetch;\r\n","import axios from 'axios';\r\nimport * as types from './actionTypes';\r\nimport { beginAjaxCall, ajaxCallError } from './ajaxStatusActions';\r\n//import {navigateTo} from \"./navigationActions\";\r\nimport ResponseStatus from '../utils/responseStatus';\r\nimport { alertAdd } from './alertActions';\r\nimport { ALERT_TYPE } from '../common/constants';\r\nimport extraTransformationBeforeSave from '../data-transformations/extraTransformationBeforeSave';\r\nimport extraDataTransformationAfterFetch from '../data-transformations/extraDataTransformationAfterFetch';\r\n\r\nexport const updateExtra = (data) => (dispatch) => {\r\n dispatch(beginAjaxCall());\r\n\r\n const extra = extraTransformationBeforeSave(data);\r\n axios\r\n .put(`extra`, extra)\r\n .then((response) => {\r\n if (ResponseStatus.IsOK(response.status)) {\r\n dispatch({\r\n type: types.EXTRA_UPDATE,\r\n data: response.data,\r\n });\r\n\r\n dispatch(alertAdd('ExtraSaveOk', ALERT_TYPE.SUCCESS));\r\n\r\n fetchExtra()(dispatch);\r\n } else {\r\n dispatch(ajaxCallError());\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n });\r\n};\r\n\r\nexport const fetchExtra = () => (dispatch) => {\r\n dispatch(beginAjaxCall());\r\n dispatch(LOADING_BEGIN);\r\n\r\n axios\r\n .get(`extra`)\r\n .then((response) => {\r\n if (ResponseStatus.IsOK(response.status)) {\r\n const extra = extraDataTransformationAfterFetch(response.data);\r\n\r\n dispatch({\r\n type: types.EXTRA_FETCH,\r\n data: extra,\r\n });\r\n } else {\r\n dispatch(ajaxCallError());\r\n }\r\n\r\n dispatch(LOADING_END);\r\n })\r\n .catch((error) => {\r\n dispatch(ajaxCallError());\r\n dispatch(LOADING_END);\r\n\r\n throw error;\r\n });\r\n};\r\n\r\nconst LOADING_BEGIN = {\r\n type: types.EXTRA_LOADING_BEGIN,\r\n};\r\n\r\nconst LOADING_END = {\r\n type: types.EXTRA_LOADING_END,\r\n};\r\n","import * as types from '../actions/actionTypes';\r\n\r\nconst extraInitialState= {\r\n loaded: false,\r\n data: null,\r\n};\r\n\r\nconst extra = (state = extraInitialState, action) => {\r\n switch (action.type) {\r\n case types.EXTRA_FETCH:\r\n return {\r\n ...state,\r\n data: action.data,\r\n };\r\n case types.EXTRA_LOADING_BEGIN:\r\n return {\r\n ...state,\r\n loading: true,\r\n };\r\n case types.EXTRA_LOADING_END:\r\n return {\r\n ...state, \r\n loading: false,\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default extra;\r\n\r\nexport const isLoading = (state) => {\r\n return state.extra.loading === true;\r\n};\r\n\r\nexport const getData = (state) => {\r\n return state.extra.data;\r\n};\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators, compose } from 'redux';\r\nimport { translate } from 'react-i18next';\r\n\r\nimport Translation from '../common/Translation';\r\nimport Alerts from '../common/Alerts';\r\nimport { Form, Field } from 'react-final-form';\r\nimport SubmitButton from '../common/SubmitButton';\r\nimport NumericTextBox from './../common/NumericTextBox';\r\nimport DatePicker from './../common/DatePicker';\r\nimport Switch from './../common/Switch';\r\nimport LoadingIndicator from '../common/LoadingIndicator';\r\nimport Condition from '../common/utils/Condition';\r\nimport Input from '../common/Input';\r\nimport DropDown from '../common/DropDown';\r\n\r\nimport { updateExtra, fetchExtra } from '../../actions/extraActions';\r\nimport { getData, isLoading } from '../../reducers/extraReducer';\r\nimport * as enums from '../../common/enums';\r\n\r\nclass Extra extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {};\r\n this.translatedFormValidation = this.translatedFormValidation.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.props.fetchData();\r\n }\r\n\r\n translatedFormValidation(values) {\r\n //const { t } = this.props;\r\n const errors = {};\r\n\r\n // if (!values.name) {\r\n // errors.name = t('NameIsRequired');\r\n // }\r\n\r\n // if (!values.validFrom) {\r\n // errors.validFrom = 'Datum Platný od je povinné';\r\n // }\r\n\r\n // if (values.validTo && values.validFrom && values.validTo < values.validFrom) {\r\n // errors.validTo = 'Datum Platný do, musí být větší než datum Platný od';\r\n // }\r\n\r\n if (values.hvcForGroup && !values.hvcForGroupName) {\r\n errors.hvcForGroupName = 'Skupina je povinná';\r\n }\r\n\r\n if (values.hvcForGroupUseDateSuffix && !values.hvcForGroupDateSuffixType) {\r\n errors.hvcForGroupDateSuffixType = 'Typ sufixu je povunný';\r\n }\r\n\r\n return errors;\r\n }\r\n\r\n render() {\r\n const { initialValues } = this.props;\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n (\r\n
    \r\n {this.props.loading && }\r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n
    \r\n \r\n\r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n\r\n
    \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n )}\r\n />\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nExtra.defaultProps = {\r\n initialValues: {\r\n hvcLimit: 300,\r\n isOneNetEnabled: false,\r\n },\r\n};\r\n\r\nExtra.propTypes = {\r\n t: PropTypes.func.isRequired,\r\n initialValues: PropTypes.shape({\r\n hvcLimit: PropTypes.number,\r\n hvcForAll: PropTypes.bool,\r\n isOneNetEnabled: PropTypes.bool,\r\n hvcForAllValidFrom: PropTypes.instanceOf(Date),\r\n hvcForAllValidTo: PropTypes.instanceOf(Date),\r\n }).isRequired,\r\n onSubmit: PropTypes.func.isRequired,\r\n fetchData: PropTypes.func.isRequired,\r\n loading: PropTypes.bool.isRequired,\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n initialValues: getData(state),\r\n loading: isLoading(state),\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n onSubmit: bindActionCreators(updateExtra, dispatch),\r\n fetchData: bindActionCreators(fetchExtra, dispatch),\r\n };\r\n};\r\n\r\nexport default compose(connect(mapStateToProps, mapDispatchToProps), translate('common'))(Extra);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from \"react-redux\";\r\nimport {compose} from \"redux\";\r\n\r\nimport Table from '../common/Table';\r\nimport { GridColumn as Column } from '@progress/kendo-react-grid';\r\nimport StringCell from '../common/formatters/StringCell';\r\n\r\nimport Translation from '../common/Translation';\r\nimport { translate } from 'react-i18next';\r\nimport Alerts from '../common/Alerts';\r\nimport ActionButton from '../common/ActionButton';\r\nimport {navigateTo} from \"../../actions/navigationActions\";\r\nimport {TEXT_HORIZONTAL_ALIGN} from \"../../common/constants\";\r\n\r\nconst Betatester = ({ t, navigateTo }) => {\r\n let table;\r\n\r\n const onNew = () => {\r\n navigateTo('/betatester/create');\r\n };\r\n\r\n const onEdit = () => {\r\n table.getWrappedInstance().editSelected();\r\n };\r\n\r\n const onRemove = () => {\r\n table.getWrappedInstance().removeSelected();\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n table = el;\r\n }} name=\"BetaTesterTable\">\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nBetatester.propTypes = {\r\n t: PropTypes.func.isRequired,\r\n navigateTo: PropTypes.func.isRequired,\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n navigateTo: (path) => {\r\n dispatch(navigateTo(path));\r\n }\r\n };\r\n};\r\n\r\nexport default compose(connect(null, mapDispatchToProps),translate('common'))(Betatester);\r\n","import React, {Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport {translate} from \"react-i18next\";\r\nimport {compose} from \"redux\";\r\nimport {Form, Field} from 'react-final-form';\r\n\r\nimport SubmitButton from '../common/SubmitButton';\r\nimport Alerts from \"../common/Alerts\";\r\nimport Translation from \"../common/Translation\";\r\nimport CancelButton from \"../common/CancelButton\";\r\nimport Input from \"../common/Input\";\r\nimport LoadingIndicator from \"../common/LoadingIndicator\";\r\n\r\nimport { betatesterDetailPropTypes } from \"../../common/propTypes\";\r\n\r\nclass BetatesterDetail extends Component {\r\n constructor(props) {\r\n super(props);\r\n \r\n this.state = { loading: false };\r\n this.translatedFormValidation = this.translatedFormValidation.bind(this);\r\n }\r\n\r\n translatedFormValidation(values) {\r\n const { t } = this.props;\r\n const errors = {};\r\n\r\n if (!values.msisdn) {\r\n errors.msisdn = t('MsisdnIsRequired');\r\n }\r\n\r\n return errors;\r\n }\r\n\r\n render() {\r\n const {initialValues, headerText, onCancel} = this.props;\r\n\r\n return (\r\n
    \r\n
    \r\n

    {headerText}

    \r\n
    \r\n
    \r\n \r\n
    \r\n (\r\n\r\n
    \r\n { this.state.loading && }\r\n\r\n \r\n \r\n\r\n
    \r\n \r\n \r\n
    \r\n \r\n )}/>\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nBetatesterDetail.propTypes = {\r\n t: PropTypes.func.isRequired,\r\n headerText: PropTypes.string.isRequired,\r\n initialValues: betatesterDetailPropTypes.isRequired,\r\n onSubmit: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired, \r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n lang: state.app.lang, \r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n //fetchNewsPages: bindActionCreators(fetchNewsPages, dispatch),\r\n //fetchServices: bindActionCreators(fetchServices, dispatch),\r\n };\r\n};\r\n\r\nexport default compose(connect(mapStateToProps, mapDispatchToProps), translate('common'))(BetatesterDetail);\r\n","import axios from 'axios';\r\nimport * as types from './actionTypes';\r\nimport { beginAjaxCall, ajaxCallError } from './ajaxStatusActions';\r\nimport {navigateToBetatester} from \"./navigationActions\";\r\nimport ResponseStatus from \"../utils/responseStatus\";\r\n\r\nexport const createBetatester = (data) => (dispatch) => {\r\n dispatch(beginAjaxCall());\r\n\r\n axios.post(`betatester`, data)\r\n .then((response) => {\r\n if (ResponseStatus.IsCreated(response.status)) {\r\n dispatch({\r\n type: types.BETATESTER_ADD\r\n });\r\n\r\n dispatch(navigateToBetatester());\r\n } else {\r\n dispatch(ajaxCallError());\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n });\r\n};\r\n\r\nexport const updateBetatester = (data) => (dispatch) => {\r\n dispatch(beginAjaxCall());\r\n\r\n axios.put(`betatester`, data)\r\n .then((response) => {\r\n if (ResponseStatus.IsOK(response.status)) {\r\n dispatch({\r\n type: types.BETATESTER_UPDATE,\r\n data: response.data\r\n });\r\n\r\n dispatch(navigateToBetatester());\r\n } else {\r\n dispatch(ajaxCallError());\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n });\r\n};\r\n","import React from 'react';\r\nimport PropTypes from \"prop-types\";\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators, compose} from \"redux\";\r\nimport {translate} from \"react-i18next\";\r\n\r\nimport { betatesterDetailPropTypes } from \"../../common/propTypes\";\r\nimport BetatesterDetail from './betatesterDetail';\r\nimport {getRowById} from \"../../reducers/tableReducer\";\r\nimport {updateBetatester} from \"../../actions/betatesterAction\";\r\nimport {navigateToBetatester} from \"../../actions/navigationActions\";\r\n\r\nconst BetatestersDetailUpdate = ({initialValues, saveAction, cancelAction, t}) => {\r\n return ;\r\n};\r\n\r\nBetatestersDetailUpdate.propTypes = {\r\n initialValues: betatesterDetailPropTypes.isRequired,\r\n saveAction: PropTypes.func.isRequired,\r\n cancelAction: PropTypes.func.isRequired,\r\n t: PropTypes.func.isRequired,\r\n};\r\n\r\nconst mapStateToProps = (state, {match}) => {\r\n const id = match.params.id;\r\n\r\n return {\r\n lang: state.app.lang,\r\n initialValues: getRowById(state, id)\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n saveAction: bindActionCreators(updateBetatester, dispatch),\r\n cancelAction: bindActionCreators(navigateToBetatester, dispatch)\r\n };\r\n};\r\n\r\nexport default compose(connect(mapStateToProps, mapDispatchToProps), translate('common'))(BetatestersDetailUpdate);\r\n\r\n","import React from 'react';\r\nimport PropTypes from \"prop-types\";\r\nimport {connect} from \"react-redux\";\r\nimport {bindActionCreators, compose} from \"redux\";\r\nimport {translate} from \"react-i18next\";\r\n\r\nimport BetatesterDetail from './betatesterDetail';\r\nimport {createBetatester} from \"../../actions/betatesterAction\";\r\nimport {navigateToBetatester} from \"../../actions/navigationActions\";\r\n\r\n\r\nconst initialValues= {\r\n msisdn:'',\r\n description: ''\r\n};\r\n\r\nconst BetatesterDetailCreate =({saveAction, cancelAction, t})=>{\r\n return ;\r\n};\r\n\r\nBetatesterDetailCreate.propTypes = {\r\n saveAction: PropTypes.func.isRequired,\r\n cancelAction: PropTypes.func.isRequired,\r\n t: PropTypes.func.isRequired,\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n saveAction: bindActionCreators(createBetatester, dispatch),\r\n cancelAction: bindActionCreators(navigateToBetatester, dispatch)\r\n };\r\n};\r\n\r\nexport default compose(connect(undefined, mapDispatchToProps), translate('common'))(BetatesterDetailCreate);\r\n\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { compose } from \"redux\";\r\n\r\nimport Table from \"../common/Table\";\r\nimport { GridColumn as Column } from \"@progress/kendo-react-grid\";\r\n\r\nimport Translation from \"../common/Translation\";\r\nimport { translate } from \"react-i18next\";\r\nimport Alerts from \"../common/Alerts\";\r\nimport ActionButton from \"../common/ActionButton\";\r\nimport { navigateTo } from \"../../actions/navigationActions\";\r\nimport { TEXT_HORIZONTAL_ALIGN } from \"../../common/constants\";\r\nimport NavigableCell from \"../common/formatters/navigableCell\";\r\nimport StringCell from \"../common/formatters/StringCell\";\r\nconst actionUrl = \"chargingcode\";\r\n\r\nconst ChargingCode = ({ t, navigateTo }) => {\r\n let table;\r\n\r\n const onNew = () => {\r\n navigateTo(\"/chargingcode/create\");\r\n };\r\n\r\n const onEdit = () => {\r\n table.getWrappedInstance().editSelected();\r\n };\r\n\r\n const onRemove = () => {\r\n table.getWrappedInstance().removeSelected();\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n table = el;\r\n }}\r\n name=\"ChargingCodeTable\"\r\n >\r\n \r\n (\r\n \r\n )}\r\n title={t(\"Code\")}\r\n />\r\n (\r\n \r\n )}\r\n title={t(\"Name\")}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nChargingCode.propTypes = {\r\n t: PropTypes.func.isRequired,\r\n navigateTo: PropTypes.func.isRequired\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n navigateTo: path => {\r\n dispatch(navigateTo(path));\r\n }\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n null,\r\n mapDispatchToProps\r\n ),\r\n translate(\"common\")\r\n)(ChargingCode);\r\n","import React, {Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport {translate} from \"react-i18next\";\r\nimport {compose} from \"redux\";\r\nimport {Form, Field} from 'react-final-form';\r\n\r\nimport SubmitButton from '../common/SubmitButton';\r\nimport Alerts from \"../common/Alerts\";\r\nimport Translation from \"../common/Translation\";\r\nimport CancelButton from \"../common/CancelButton\";\r\nimport Input from \"../common/Input\";\r\nimport LoadingIndicator from \"../common/LoadingIndicator\";\r\n\r\nimport { chargingCodeDetailPropTypes } from \"../../common/propTypes\";\r\n\r\nclass ChargingCodeDetail extends Component {\r\n constructor(props) {\r\n super(props);\r\n \r\n this.state = { loading: false };\r\n this.translatedFormValidation = this.translatedFormValidation.bind(this);\r\n }\r\n\r\n translatedFormValidation(values) {\r\n const { t } = this.props;\r\n const errors = {};\r\n\r\n if (!values.code) {\r\n errors.code = t('CodeIsRequired'); \r\n }\r\n\r\n if(values.code.length > 5) {\r\n errors.code = t('CodeMaxLength') + 5; \r\n }\r\n\r\n if(values.name.length > 80) {\r\n errors.name = t('NameMaxLength') + 80; \r\n }\r\n\r\n return errors;\r\n }\r\n\r\n render() {\r\n const {initialValues, headerText, onCancel} = this.props;\r\n\r\n return (\r\n
    \r\n
    \r\n

    {headerText}

    \r\n
    \r\n
    \r\n \r\n
    \r\n (\r\n\r\n
    \r\n {this.state.loading && }\r\n\r\n \r\n \r\n\r\n
    \r\n \r\n \r\n
    \r\n \r\n )}/>\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nChargingCodeDetail.propTypes = {\r\n t: PropTypes.func.isRequired,\r\n headerText: PropTypes.string.isRequired,\r\n initialValues: chargingCodeDetailPropTypes.isRequired,\r\n onSubmit: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired, \r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n lang: state.app.lang, \r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n //fetchNewsPages: bindActionCreators(fetchNewsPages, dispatch),\r\n //fetchServices: bindActionCreators(fetchServices, dispatch),\r\n };\r\n};\r\n\r\nexport default compose(connect(mapStateToProps, mapDispatchToProps), translate('common'))(ChargingCodeDetail);\r\n","import axios from 'axios';\r\nimport * as types from './actionTypes';\r\nimport { beginAjaxCall, ajaxCallError } from './ajaxStatusActions';\r\nimport {navigateToChargingCode} from \"./navigationActions\";\r\nimport ResponseStatus from \"../utils/responseStatus\";\r\n\r\nexport const createChargingCode = (data) => (dispatch) => {\r\n dispatch(beginAjaxCall());\r\n\r\n axios.post(`chargingcode`, data)\r\n .then((response) => {\r\n if (ResponseStatus.IsCreated(response.status)) {\r\n dispatch({\r\n type: types.CHARGINGCODE_ADD\r\n });\r\n\r\n dispatch(navigateToChargingCode());\r\n } else {\r\n dispatch(ajaxCallError());\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n });\r\n};\r\n\r\nexport const updateChargingCode = (data) => (dispatch) => {\r\n dispatch(beginAjaxCall());\r\n\r\n axios.put(`chargingcode`, data)\r\n .then((response) => {\r\n if (ResponseStatus.IsOK(response.status)) {\r\n dispatch({\r\n type: types.CHARGINGCODE_UPDATE,\r\n data: response.data\r\n });\r\n\r\n dispatch(navigateToChargingCode());\r\n } else {\r\n dispatch(ajaxCallError());\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n });\r\n};\r\n","import React from 'react';\r\nimport PropTypes from \"prop-types\";\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators, compose} from \"redux\";\r\nimport {translate} from \"react-i18next\";\r\n\r\nimport { chargingCodeDetailPropTypes } from \"../../common/propTypes\";\r\nimport ChargingCodeDetail from './chargingCodeDetail';\r\nimport {getRowById} from \"../../reducers/tableReducer\";\r\nimport {updateChargingCode} from \"../../actions/chargingCodeActions\";\r\nimport {navigateToChargingCode} from \"../../actions/navigationActions\";\r\n\r\nconst ChargingCodeDetailUpdate = ({initialValues, saveAction, cancelAction, t}) => {\r\n return ;\r\n};\r\n\r\nChargingCodeDetailUpdate.propTypes = {\r\n initialValues: chargingCodeDetailPropTypes.isRequired,\r\n saveAction: PropTypes.func.isRequired,\r\n cancelAction: PropTypes.func.isRequired,\r\n t: PropTypes.func.isRequired,\r\n};\r\n\r\nconst mapStateToProps = (state, {match}) => {\r\n const id = match.params.id;\r\n\r\n return {\r\n lang: state.app.lang,\r\n initialValues: getRowById(state, id)\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n saveAction: bindActionCreators(updateChargingCode, dispatch),\r\n cancelAction: bindActionCreators(navigateToChargingCode, dispatch)\r\n };\r\n};\r\n\r\nexport default compose(connect(mapStateToProps, mapDispatchToProps), translate('common'))(ChargingCodeDetailUpdate);\r\n\r\n","import React from 'react';\r\nimport PropTypes from \"prop-types\";\r\nimport {connect} from \"react-redux\";\r\nimport {bindActionCreators, compose} from \"redux\";\r\nimport {translate} from \"react-i18next\";\r\n\r\nimport ChargingCodeDetail from './chargingCodeDetail';\r\nimport {createChargingCode} from \"../../actions/chargingCodeActions\";\r\nimport {navigateToChargingCode} from \"../../actions/navigationActions\";\r\n\r\n\r\nconst initialValues= {\r\n code: '',\r\n name: ''\r\n};\r\n\r\nconst ChargingCodeDetailCreate =({saveAction, cancelAction, t})=>{\r\n return ;\r\n};\r\n\r\nChargingCodeDetailCreate.propTypes = {\r\n saveAction: PropTypes.func.isRequired,\r\n cancelAction: PropTypes.func.isRequired,\r\n t: PropTypes.func.isRequired,\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n saveAction: bindActionCreators(createChargingCode, dispatch),\r\n cancelAction: bindActionCreators(navigateToChargingCode, dispatch)\r\n };\r\n};\r\n\r\nexport default compose(connect(undefined, mapDispatchToProps), translate('common'))(ChargingCodeDetailCreate);","import React from 'react';\r\n\r\nimport { TEXT_HORIZONTAL_ALIGN } from '../../../common/constants';\r\nimport { StringCellProps } from './stringCellEx';\r\n\r\ninterface RelationItem {\r\n id: number;\r\n}\r\n\r\ninterface RelationCellProps extends StringCellProps {\r\n textAlign?: any;\r\n relations: T[];\r\n relationUserReadableProperty: keyof T;\r\n onClick?: () => void;\r\n}\r\n\r\nclass RelationCell extends React.Component> {\r\n render() {\r\n const relationId = this.props.field ? this.props.dataItem[this.props.field] : 0;\r\n const relationItem = this.props.relations.find((item) => item.id === relationId);\r\n const value = relationItem ? relationItem[this.props.relationUserReadableProperty] : 'nenastaveno';\r\n\r\n let { textAlign, onClick, style } = this.props;\r\n\r\n if (textAlign === null) {\r\n textAlign = TEXT_HORIZONTAL_ALIGN.CENTER;\r\n }\r\n\r\n if (style) {\r\n style.textAlign = textAlign;\r\n }\r\n\r\n return (\r\n \r\n {value}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default RelationCell;\r\n","import * as types from '../actions/actionTypes';\r\nimport { CAMPRO_MODULE_ENUM } from '../common/enums';\r\n\r\nconst initialState = {\r\n isAuth: false,\r\n isAdmin: false,\r\n tokenExpireIn: null,\r\n agendas: null,\r\n loadingDependencies: false,\r\n permittedModules: CAMPRO_MODULE_ENUM.NONE,\r\n};\r\n\r\nconst user = (state = initialState, action: any) => {\r\n switch (action.type) {\r\n case types.USER_SIGN_OUT:\r\n return {\r\n ...initialState,\r\n };\r\n case types.USER_SIGN_IN:\r\n return {\r\n ...state,\r\n isAuth: true,\r\n tokenExpireIn: action.tokenExpireIn,\r\n isAdmin: action.isAdmin,\r\n permittedModules: action.permittedModules,\r\n };\r\n case types.USER_SING_UP:\r\n return {\r\n ...initialState,\r\n registration: {\r\n emailIsInUsed: action.emailIsInUsed,\r\n activateEmailWasSent: action.activateEmailWasSent,\r\n isCaptchaVerified: action.isCaptchaVerified,\r\n },\r\n };\r\n case types.USER_CLEAR:\r\n return {\r\n ...initialState,\r\n };\r\n case types.USER_PASSWORD_RESET:\r\n return {\r\n ...state,\r\n forgottenPasswordSent: action.sent,\r\n };\r\n case types.USER_FETCH_AGENDAS:\r\n return {\r\n ...state,\r\n agendas: action.data,\r\n };\r\n case types.USER_LOADING_DEPENDENCIES_BEGIN:\r\n return {\r\n ...state,\r\n loadingDependencies: true,\r\n };\r\n case types.USER_LOADING_DEPENDENCIES_END:\r\n return {\r\n ...state,\r\n loadingDependencies: false,\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default user;\r\n\r\nexport const isLoadingDependencies = (state: any): boolean => {\r\n return state.user.loadingDependencies === true;\r\n};\r\n","import React, { useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators, compose, Dispatch } from 'redux';\r\n\r\nimport Table from '../common/Table';\r\nimport { GridColumn as Column } from '@progress/kendo-react-grid';\r\nimport StringCell from '../common/formatters/StringCell';\r\nimport BoolCell from '../common/formatters/BoolCell';\r\n\r\nimport Translation from '../common/Translation';\r\nimport { translate } from 'react-i18next';\r\nimport Alerts from '../common/Alerts';\r\nimport ActionButton from '../common/ActionButton';\r\nimport { navigateTo } from '../../actions/navigationActions';\r\n// import * as enums from \"../../common/enums\";\r\nimport { TEXT_HORIZONTAL_ALIGN, NAVIGATION_PATHS } from '../../common/constants';\r\nimport Role from '../../entities/role';\r\nimport { fetchUserDependencies } from '../../actions/userActions';\r\nimport { nameofFactory } from '../../helpers/nameOfFactory';\r\nimport User from '../../entities/user';\r\nimport NavigableCell from '../common/formatters/navigableCell';\r\nimport { BaseListDispatchProps, BaseListProps } from '../common/types/baseDetail';\r\nimport RelationCell from '../common/formatters/RelationCell';\r\nimport { getData as getRoles, getUserReadableProperty as getRoleUserReadableProperty } from '../../reducers/roleReducer';\r\nimport { isLoadingDependencies } from '../../reducers/userReducer';\r\n\r\nconst nameof = nameofFactory();\r\n\r\nconst actionUrl = 'users';\r\n\r\nconst defaultRewardTabelSort = [\r\n {\r\n dir: 'desc',\r\n field: 'dateOfCreate',\r\n },\r\n];\r\n\r\ninterface UsersProp extends UsersStateProps, UsersDispatchProps, BaseListProps {}\r\n\r\ninterface UsersStateProps {\r\n roleUserReadableProperty: keyof Role;\r\n roles: Role[];\r\n\r\n loadingDependencies: boolean;\r\n}\r\n\r\ninterface UsersDispatchProps extends BaseListDispatchProps {\r\n fetchUserDependencies: typeof fetchUserDependencies;\r\n}\r\n\r\nconst Users = ({ t, navigateTo, roleUserReadableProperty, roles, fetchUserDependencies }: UsersProp) => {\r\n useEffect(() => {\r\n fetchUserDependencies();\r\n }, []);\r\n\r\n let table: any;\r\n\r\n const onNew = () => {\r\n navigateTo(NAVIGATION_PATHS.USERS_CREATE);\r\n };\r\n\r\n const onEdit = () => {\r\n table.getWrappedInstance().editSelected();\r\n };\r\n\r\n const onRemove = () => {\r\n table.getWrappedInstance().removeSelected();\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {/**/}\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n table = el;\r\n }}\r\n name=\"UsersTable\"\r\n >\r\n \r\n (\r\n \r\n )}\r\n title={t('Email')}\r\n />\r\n \r\n \r\n (\r\n {...props} relationUserReadableProperty={roleUserReadableProperty} relations={roles} />\r\n )}\r\n title={t('Role')}\r\n />\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state: any): UsersStateProps => {\r\n return {\r\n loadingDependencies: isLoadingDependencies(state),\r\n roleUserReadableProperty: getRoleUserReadableProperty(state),\r\n roles: getRoles(state),\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch: Dispatch): UsersDispatchProps => {\r\n return {\r\n navigateTo: bindActionCreators(navigateTo, dispatch),\r\n fetchUserDependencies: bindActionCreators(fetchUserDependencies, dispatch),\r\n };\r\n};\r\n\r\nexport default compose(connect(mapStateToProps, mapDispatchToProps), translate('common'))(Users);\r\n","export const nameofFactory = () => (name: keyof T) => name;","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { translate } from 'react-i18next';\r\nimport { bindActionCreators, compose, Dispatch } from 'redux';\r\nimport { Form, Field } from 'react-final-form';\r\n\r\nimport SubmitButton from '../common/SubmitButton';\r\nimport Alerts from '../common/Alerts';\r\nimport Translation from '../common/Translation';\r\nimport CancelButton from '../common/CancelButton';\r\nimport Input from '../common/Input';\r\nimport Switch from '../common/Switch';\r\nimport LoadingIndicator from '../common/LoadingIndicator';\r\nimport DropDownWithValueField from '../common/DropDownWithValueField';\r\nimport User from '../../entities/user';\r\nimport { fetchUserDependencies } from '../../actions/userActions';\r\nimport { nameofFactory } from '../../helpers/nameOfFactory';\r\nimport Role from '../../entities/role';\r\nimport { getData as getRoles, getUserReadableProperty as getRoleUserReadableProperty } from '../../reducers/roleReducer';\r\nimport { isLoadingDependencies } from '../../reducers/userReducer';\r\nimport { BaseDetailProps } from '../common/types/baseDetail';\r\n\r\nconst nameof = nameofFactory();\r\n\r\nexport interface BaseUserDetailProps extends BaseDetailProps {}\r\n\r\nexport interface UserDetailProps extends BaseUserDetailProps, UserDetailStateProps, UserDetailDispatchProps {\r\n headerText: string;\r\n emailIsReadOnly: boolean;\r\n submittButtonLabel: string;\r\n}\r\n\r\nexport interface UserDetailStateProps {\r\n lang: string;\r\n loadingDependencies: boolean;\r\n roleUserReadableProperty: string;\r\n roles: Role[];\r\n}\r\nexport interface UserDetailDispatchProps {\r\n fetchUserDependencies: typeof fetchUserDependencies;\r\n}\r\n\r\nclass UserDetail extends Component {\r\n componentDidMount() {\r\n this.props.fetchUserDependencies();\r\n }\r\n\r\n handleOnSubmit = (values: object) => {\r\n this.props.submitAction(values as User);\r\n };\r\n\r\n handleOnCancel = (event: React.MouseEvent) => {\r\n event.preventDefault();\r\n\r\n this.props.cancelAction();\r\n };\r\n translatedFormValidation = (values: object) => {\r\n const { t } = this.props;\r\n const typedValues = values as User;\r\n const errors: Partial> = {};\r\n\r\n if (!typedValues.email) {\r\n errors.email = t('EmailIsRequired');\r\n }\r\n\r\n if (!typedValues.firstname) {\r\n errors.firstname = t('FirstNameIsRequired');\r\n }\r\n\r\n if (!typedValues.lastname) {\r\n errors.lastname = t('LastNameIsRequired');\r\n }\r\n\r\n return errors;\r\n };\r\n\r\n render() {\r\n console.debug('UserDetail.render');\r\n\r\n const { initialValues, headerText, submittButtonLabel, emailIsReadOnly } = this.props;\r\n\r\n return (\r\n
    \r\n
    \r\n

    {headerText}

    \r\n
    \r\n
    \r\n \r\n
    \r\n (\r\n
    \r\n {this.props.loadingDependencies && }\r\n\r\n \r\n\r\n
    \r\n \r\n\r\n \r\n
    \r\n\r\n \r\n\r\n \r\n\r\n
    \r\n {submittButtonLabel}\r\n \r\n \r\n \r\n
    \r\n \r\n )}\r\n />\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\n/* UserDetail.propTypes = {\r\n t: PropTypes.func.isRequired,\r\n headerText: PropTypes.string.isRequired,\r\n initialValues: PropTypes.shape({\r\n email: PropTypes.string,\r\n firstname: PropTypes.string,\r\n lastname: PropTypes.string,\r\n isAdmin: PropTypes.bool,\r\n }).isRequired,\r\n onSubmit: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired,\r\n loading: PropTypes.bool.isRequired,\r\n emailIsReadOnly: PropTypes.bool.isRequired,\r\n submittButtonLabel: PropTypes.string.isRequired,\r\n}; */\r\n\r\nconst mapStateToProps = (state: any): UserDetailStateProps => {\r\n return {\r\n lang: state.app.lang,\r\n loadingDependencies: isLoadingDependencies(state),\r\n roleUserReadableProperty: getRoleUserReadableProperty(state),\r\n roles: getRoles(state),\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): UserDetailDispatchProps => {\r\n return {\r\n fetchUserDependencies: bindActionCreators(fetchUserDependencies, dispatch),\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(UserDetail);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators, compose, Dispatch } from 'redux';\r\nimport { translate } from 'react-i18next';\r\n\r\nimport UserDetail from './userDetail';\r\nimport { createUser } from '../../actions/userActions';\r\nimport { navigateToUsers } from '../../actions/navigationActions';\r\nimport User from '../../entities/user';\r\nimport { BaseDetailDispatchProps, BaseDetailProps } from '../common/types/baseDetail';\r\n\r\nconst initialValues = new User({});\r\n\r\ninterface UserDetailCreateProps extends BaseDetailProps {}\r\n\r\nconst UserDetailCreate = ({ submitAction, cancelAction, t }: UserDetailCreateProps) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): BaseDetailDispatchProps => {\r\n return {\r\n submitAction: bindActionCreators(createUser, dispatch),\r\n cancelAction: bindActionCreators(navigateToUsers, dispatch),\r\n };\r\n};\r\n\r\nexport default compose(connect(undefined, mapDispatchToProps), translate('common'))(UserDetailCreate);\r\n","import { CAMPRO_MODULES, getEnumItemsByFlaggedValue } from '../common/enums';\r\n\r\nexport default class User {\r\n id: number;\r\n firstname: string;\r\n lastname: string;\r\n email: string;\r\n isAdmin: boolean;\r\n roleId: number;\r\n\r\n constructor(properties: Partial) {\r\n this.id = 0;\r\n this.firstname = '';\r\n this.lastname = '';\r\n this.email = '';\r\n this.isAdmin = false;\r\n this.roleId = 0;\r\n\r\n Object.assign(this, properties);\r\n }\r\n}\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators, compose, Dispatch } from 'redux';\r\nimport { translate } from 'react-i18next';\r\n\r\n// import * as propTypes from '../../common/propTypes';\r\nimport UserDetail from './userDetail';\r\nimport { getRowById } from '../../reducers/tableReducer';\r\nimport { updateUser } from '../../actions/userActions';\r\nimport { navigateToUsers } from '../../actions/navigationActions';\r\nimport { BaseDetailDispatchProps, BaseDetailProps } from '../common/types/baseDetail';\r\nimport User from '../../entities/user';\r\n\r\ninterface UserDetailUpdateProps extends BaseDetailProps {}\r\n\r\nconst UserDetailUpdate = ({ initialValues, submitAction, cancelAction, t }: UserDetailUpdateProps) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state: any, { match }: any) => {\r\n const id = match.params.id;\r\n\r\n return {\r\n lang: state.app.lang,\r\n initialValues: getRowById(state, id),\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): BaseDetailDispatchProps => {\r\n return {\r\n submitAction: bindActionCreators(updateUser, dispatch),\r\n cancelAction: bindActionCreators(navigateToUsers, dispatch),\r\n };\r\n};\r\n\r\nexport default compose(connect(mapStateToProps, mapDispatchToProps), translate('common'))(UserDetailUpdate);\r\n","import React, { Dispatch } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators, compose } from 'redux';\r\nimport { translate } from 'react-i18next';\r\nimport { GridColumn as Column } from '@progress/kendo-react-grid';\r\n\r\nimport Table from '../common/Table';\r\nimport StringCell from '../common/formatters/StringCell';\r\nimport Translation from '../common/Translation';\r\nimport Alerts from '../common/Alerts';\r\nimport ActionButton from '../common/ActionButton';\r\nimport { navigateTo } from '../../actions/navigationActions';\r\nimport { TEXT_HORIZONTAL_ALIGN, NAVIGATION_PATHS } from '../../common/constants';\r\nimport { nameofFactory } from '../../helpers/nameOfFactory';\r\nimport Role from '../../entities/role';\r\nimport NavigableCell from '../common/formatters/navigableCell';\r\nimport { ROLE } from '../../data-transformations/dataTransformationTypes';\r\nimport { BaseListDispatchProps, BaseListProps } from '../common/types/baseDetail';\r\n\r\nconst nameof = nameofFactory();\r\n\r\nconst actionUrl = 'roles';\r\n\r\ninterface RolesProps extends BaseListProps {}\r\n\r\nconst Roles = ({ t, navigateTo }: RolesProps) => {\r\n let table: any;\r\n\r\n const onNew = () => {\r\n navigateTo(NAVIGATION_PATHS.ROLE_CREATE);\r\n };\r\n\r\n const onEdit = () => {\r\n table.getWrappedInstance().editSelected();\r\n };\r\n\r\n const onRemove = () => {\r\n table.getWrappedInstance().removeSelected();\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n table = el;\r\n }}\r\n name=\"RoleTable\"\r\n dataTransformation={ROLE}\r\n >\r\n \r\n (\r\n \r\n )}\r\n title={t('Name')}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): BaseListDispatchProps => {\r\n return {\r\n navigateTo: bindActionCreators(navigateTo, dispatch),\r\n };\r\n};\r\n\r\nexport default compose(connect(null, mapDispatchToProps), translate('common'))(Roles);\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { Form, Field } from 'react-final-form';\r\n\r\nimport SubmitButton from '../common/SubmitButton';\r\nimport Alerts from '../common/Alerts';\r\nimport Translation from '../common/Translation';\r\nimport CancelButton from '../common/CancelButton';\r\nimport Input from '../common/Input';\r\nimport Role from '../../entities/role';\r\nimport { nameofFactory } from '../../helpers/nameOfFactory';\r\nimport * as enums from '../../common/enums';\r\nimport DropDownMultiSelect from '../common/DropDownMultiSelect';\r\nimport { BaseDetailProps } from '../common/types/baseDetail';\r\n\r\nconst nameof = nameofFactory();\r\n\r\n\r\nexport interface RoleDetailProps extends BaseDetailProps, RoleDetailStateProps {\r\n headerText: string;\r\n}\r\n\r\nexport interface RoleDetailStateProps {\r\n lang: string;\r\n}\r\n\r\nclass RoleDetail extends Component {\r\n handleOnSubmit = (values: object) => {\r\n this.props.submitAction(values as Role);\r\n };\r\n\r\n handleOnCancel = (event: React.MouseEvent) => {\r\n event.preventDefault();\r\n\r\n this.props.cancelAction();\r\n };\r\n\r\n translatedFormValidation = (values: object) => {\r\n const { t } = this.props;\r\n\r\n const typedValues = values as Role;\r\n const errors: Partial> = {};\r\n\r\n if (!typedValues.name) {\r\n errors.name = t('NameIsRequired');\r\n }\r\n\r\n return errors;\r\n };\r\n\r\n render() {\r\n const { initialValues, headerText, cancelAction } = this.props;\r\n\r\n return (\r\n
    \r\n
    \r\n

    {headerText}

    \r\n
    \r\n
    \r\n \r\n
    \r\n (\r\n
    \r\n \r\n \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n />\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state: any): RoleDetailStateProps => {\r\n return {\r\n lang: state.app.lang,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(RoleDetail);\r\n","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators, compose, Dispatch } from 'redux';\r\nimport { translate } from 'react-i18next';\r\n\r\nimport RoleDetail from './roleDetail';\r\nimport { getRowById } from '../../reducers/tableReducer';\r\nimport { updateRole } from '../../actions/roleActions';\r\nimport { navigateToRoles } from '../../actions/navigationActions';\r\nimport { BaseDetailDispatchProps, BaseDetailProps } from '../common/types/baseDetail';\r\nimport Role from '../../entities/role';\r\n\r\ninterface RoleDetailUpdateProps extends BaseDetailProps {}\r\n\r\nconst ReportDetailUpdate = ({ initialValues, submitAction, cancelAction, t }: RoleDetailUpdateProps) => {\r\n return ;\r\n};\r\n\r\nconst mapStateToProps = (state: any, { match }: any) => {\r\n const id = match.params.id;\r\n\r\n return {\r\n lang: state.app.lang,\r\n initialValues: getRowById(state, id),\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): BaseDetailDispatchProps => {\r\n return {\r\n submitAction: bindActionCreators(updateRole, dispatch),\r\n cancelAction: bindActionCreators(navigateToRoles, dispatch),\r\n };\r\n};\r\n\r\nexport default compose(connect(mapStateToProps, mapDispatchToProps), translate('common'))(ReportDetailUpdate);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators, compose, Dispatch } from 'redux';\r\nimport { translate } from 'react-i18next';\r\n\r\nimport RoleDetail from './roleDetail';\r\nimport { createRole } from '../../actions/roleActions';\r\nimport { navigateToRoles } from '../../actions/navigationActions';\r\nimport Role from '../../entities/role';\r\nimport { BaseDetailDispatchProps, BaseDetailProps } from '../common/types/baseDetail';\r\n\r\nconst initialValues = new Role({});\r\n\r\ninterface RoleDetailCreateProps extends BaseDetailProps {}\r\n\r\nconst RoleDetailCreate = ({ submitAction, cancelAction, t }: RoleDetailCreateProps) => {\r\n return ;\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): BaseDetailDispatchProps => {\r\n return {\r\n submitAction: bindActionCreators(createRole, dispatch),\r\n cancelAction: bindActionCreators(navigateToRoles, dispatch),\r\n };\r\n};\r\n\r\nexport default compose(connect(undefined, mapDispatchToProps), translate('common'))(RoleDetailCreate);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { compose } from \"redux\";\r\n\r\nimport Table from \"../common/Table\";\r\nimport { GridColumn as Column } from \"@progress/kendo-react-grid\";\r\nimport DateCell from \"../common/formatters/DateCell\";\r\nimport EnumCell from \"../common/formatters/EnumCelll\";\r\nimport StringCell from \"../common/formatters/StringCell\";\r\nimport BoolCell from \"../common/formatters/BoolCell\";\r\nimport NavigableCell from \"../common/formatters/navigableCell\";\r\nimport Translation from \"../common/Translation\";\r\nimport { translate } from \"react-i18next\";\r\nimport Alerts from \"../common/Alerts\";\r\nimport ActionButton from \"../common/ActionButton\";\r\nimport { COMPETITION } from \"../../data-transformations/dataTransformationTypes\";\r\nimport { navigateTo } from \"../../actions/navigationActions\";\r\nimport * as enums from \"../../common/enums\";\r\nimport {\r\n TEXT_HORIZONTAL_ALIGN,\r\n NAVIGATION_PATHS\r\n} from \"../../common/constants\";\r\n\r\nconst defaultCompetitionTabelSort = [\r\n {\r\n dir: \"desc\",\r\n field: \"validFrom\"\r\n }\r\n];\r\n\r\nconst actionUrl = \"competition\";\r\n\r\nconst Competitions = ({ t, navigateTo }) => {\r\n let table;\r\n\r\n const onNew = () => {\r\n navigateTo(NAVIGATION_PATHS.COMPETITION_CREATE);\r\n };\r\n\r\n const onEdit = () => {\r\n table.getWrappedInstance().editSelected();\r\n };\r\n\r\n const onRemove = () => {\r\n table.getWrappedInstance().removeSelected();\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {/**/}\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n table = el;\r\n }}\r\n dataTransformation={COMPETITION}\r\n name=\"CompetitionTable\"\r\n defaultSort={defaultCompetitionTabelSort}\r\n >\r\n \r\n (\r\n \r\n )}\r\n title={t(\"Name\")}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nCompetitions.propTypes = {\r\n t: PropTypes.func.isRequired,\r\n navigateTo: PropTypes.func.isRequired\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n navigateTo: path => {\r\n dispatch(navigateTo(path));\r\n }\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n null,\r\n mapDispatchToProps\r\n ),\r\n translate(\"common\")\r\n)(Competitions);\r\n","import React, {Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport {translate} from \"react-i18next\";\r\nimport {bindActionCreators, compose} from \"redux\";\r\nimport {Form, Field} from 'react-final-form';\r\nimport createDecorator from 'final-form-calculate';\r\n\r\nimport SubmitButton from '../common/SubmitButton';\r\nimport * as enums from '../../common/enums';\r\nimport * as propTypes from '../../common/propTypes';\r\n\r\nimport Alerts from \"../common/Alerts\";\r\nimport Translation from \"../common/Translation\";\r\nimport CancelButton from \"../common/CancelButton\";\r\nimport {fetchNewsDependencies} from '../../actions/newsActions';\r\nimport Dropzone from \"../common/DropZone\";\r\nimport Input from \"../common/Input\";\r\nimport DatePicker from \"../common/DatePicker\";\r\nimport DropDown from \"../common/DropDown\";\r\nimport {isEmpty} from \"../../utils/isEmpty\";\r\nimport {MAX_IMAGE_SIZE_IN_BYTES, MAX_IMAGE_SIZE_IN_MEGA_BYTES} from \"../../common/configs\";\r\nimport Switch from './../common/Switch';\r\n\r\nclass CompetitionDetail extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {files: []};\r\n this.translatedFormValidation = this.translatedFormValidation.bind(this);\r\n this.formDecorator = createDecorator(\r\n {\r\n field: 'image',\r\n updates: {\r\n imageUrl: (imageValue, allValues) => {\r\n const oldImageUrl = allValues.imageUrl;\r\n \r\n if (oldImageUrl) {\r\n URL.revokeObjectURL(oldImageUrl);\r\n }\r\n \r\n let newImageUrl = null;\r\n if (!isEmpty(imageValue)) {\r\n newImageUrl = URL.createObjectURL(imageValue);\r\n }\r\n \r\n return newImageUrl;\r\n },\r\n }\r\n },\r\n );\r\n }\r\n \r\n componentDidMount() { \r\n \r\n }\r\n\r\n translatedFormValidation(values) {\r\n const { t } = this.props;\r\n const errors = {};\r\n\r\n if (!values.name) {\r\n errors.name = t('NameIsRequired');\r\n }\r\n\r\n if (!values.url) {\r\n errors.url = t('UrlIsRequired');\r\n }\r\n\r\n if (!values.validFrom) {\r\n errors.validFrom = 'Datum Platný od je povinné';\r\n }\r\n\r\n if (values.validTo && values.validFrom && values.validTo < values.validFrom) {\r\n errors.validTo = 'Datum Platný do, musí být větší než datum Platný od';\r\n }\r\n\r\n if (!values.targetCustomer) {\r\n errors.targetCustomer = 'Typ zákazníka je povinný';\r\n }\r\n\r\n if(values.image && values.image.size > MAX_IMAGE_SIZE_IN_BYTES){\r\n errors.image = `Obrázek je příliš velký. Maximální veliskot je ${MAX_IMAGE_SIZE_IN_MEGA_BYTES}MB`;\r\n }\r\n\r\n return errors;\r\n }\r\n\r\n render() {\r\n console.debug(\"CompetitionDetail.render\");\r\n\r\n const {initialValues, headerText, onCancel} = this.props;\r\n\r\n return (\r\n
    \r\n
    \r\n

    {headerText}

    \r\n
    \r\n
    \r\n \r\n
    \r\n (\r\n\r\n
    \r\n \r\n \r\n\r\n
    \r\n \r\n\r\n \r\n
    \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n )}/>\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nCompetitionDetail.propTypes = {\r\n t: PropTypes.func.isRequired,\r\n headerText: PropTypes.string.isRequired,\r\n initialValues: propTypes.competitionPropTypes.isRequired,\r\n onSubmit: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired,\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n lang: state.app.lang, \r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n fetchNewsDependencies: bindActionCreators(fetchNewsDependencies, dispatch), \r\n };\r\n};\r\n\r\nexport default compose(connect(mapStateToProps, mapDispatchToProps), translate('common'))(CompetitionDetail);\r\n","const competitionItemTransformationBeforeSave = (competitionItem) => {\r\n const validFromOnlyDate = new Date(\r\n competitionItem.validFrom.getFullYear(),\r\n competitionItem.validFrom.getMonth(),\r\n competitionItem.validFrom.getDate(),\r\n 0,0,0,0\r\n ); \r\n\r\n const validToOnlyDate = competitionItem.validTo\r\n ? new Date(\r\n competitionItem.validTo.getFullYear(),\r\n competitionItem.validTo.getMonth(),\r\n competitionItem.validTo.getDate(),\r\n 23,59,59,0\r\n )\r\n : undefined; \r\n\r\n const transformedData ={\r\n ...competitionItem,\r\n targetCustomer: competitionItem.targetCustomer.value,\r\n platform: competitionItem.platform.value,\r\n validFrom: validFromOnlyDate.toUTCString(),\r\n validTo: validToOnlyDate ? validToOnlyDate.toUTCString() : null,\r\n };\r\n\r\n const body = new FormData();\r\n\r\n Object.keys(transformedData).forEach((key) => {\r\n if (transformedData[key]) {\r\n body.append(key, transformedData[key]);\r\n }\r\n });\r\n\r\n return body;\r\n};\r\n\r\nexport default competitionItemTransformationBeforeSave;\r\n","import axios from 'axios';\r\nimport * as types from './actionTypes';\r\nimport { beginAjaxCall, ajaxCallError } from './ajaxStatusActions';\r\nimport {navigateToCompetitions} from \"./navigationActions\";\r\nimport ResponseStatus from \"../utils/responseStatus\";\r\nimport competitionItemTransformationBeforeSave from \"../data-transformations/competitionItemTransformationBeforeSave\";\r\n\r\nexport const createCompetition = (data) => (dispatch) => {\r\n dispatch(beginAjaxCall());\r\n\r\n const transformedData = competitionItemTransformationBeforeSave(data);\r\n\r\n axios.post(`competition`, transformedData)\r\n .then((response) => {\r\n if (ResponseStatus.IsCreated(response.status)) {\r\n dispatch({\r\n type: types.NEWS_ADD\r\n });\r\n\r\n dispatch(navigateToCompetitions());\r\n } else {\r\n dispatch(ajaxCallError());\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n });\r\n};\r\n\r\nexport const updateCompetition = (data) => (dispatch) => {\r\n dispatch(beginAjaxCall());\r\n\r\n const transformedData = competitionItemTransformationBeforeSave(data);\r\n\r\n axios.put(`competition`, transformedData)\r\n .then((response) => {\r\n if (ResponseStatus.IsOK(response.status)) {\r\n dispatch({\r\n type: types.NEWS_UPDATE,\r\n data: response.data\r\n });\r\n\r\n dispatch(navigateToCompetitions());\r\n } else {\r\n dispatch(ajaxCallError());\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n });\r\n};\r\n\r\n","import React from 'react';\r\nimport PropTypes from \"prop-types\";\r\nimport {connect} from \"react-redux\";\r\nimport {bindActionCreators, compose} from \"redux\";\r\nimport {translate} from \"react-i18next\";\r\n\r\nimport CompetitionDetail from './competitionDetail';\r\nimport {createCompetition} from \"../../actions/competitionActions\";\r\nimport * as enums from \"../../common/enums\";\r\nimport {navigateToNews} from \"../../actions/navigationActions\";\r\n\r\nconst initialValues= {\r\n name:'',\r\n validFrom: new Date(),\r\n validTo:null,\r\n description: '',\r\n noVipText: '',\r\n targetCustomer: enums.COMPETITION_TARGET_CUSTOMER_TYPES[0],\r\n published : false,\r\n platform: enums.PLATFORMA_TYPES[0],\r\n urlOpenExternal: false,\r\n};\r\n\r\nconst CompetitionDetailCreate =({createCompetition, cancelAction, t})=>{\r\n return ;\r\n};\r\n\r\nCompetitionDetailCreate.propTypes = {\r\n createCompetition: PropTypes.func.isRequired,\r\n cancelAction: PropTypes.func.isRequired,\r\n t: PropTypes.func.isRequired,\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n createCompetition: bindActionCreators(createCompetition, dispatch),\r\n cancelAction: bindActionCreators(navigateToNews, dispatch)\r\n };\r\n};\r\n\r\nexport default compose(connect(undefined, mapDispatchToProps), translate('common'))(CompetitionDetailCreate);\r\n\r\n","import React from 'react';\r\nimport PropTypes from \"prop-types\";\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators, compose} from \"redux\";\r\nimport {translate} from \"react-i18next\";\r\n\r\nimport * as propTypes from '../../common/propTypes';\r\nimport CompetitionDetail from './competitionDetail';\r\nimport {getRowById} from \"../../reducers/tableReducer\";\r\nimport {updateCompetition} from \"../../actions/competitionActions\";\r\nimport {navigateToCompetitions} from \"../../actions/navigationActions\";\r\n\r\nconst CompetitionDetailUpdate = ({initialValues, updateCompetition, cancelAction, t}) => {\r\n return ;\r\n};\r\n\r\nCompetitionDetailUpdate.propTypes = {\r\n initialValues: propTypes.newsPropTypes.isRequired,\r\n updateCompetition: PropTypes.func.isRequired,\r\n cancelAction: PropTypes.func.isRequired,\r\n t: PropTypes.func.isRequired,\r\n};\r\n\r\nconst mapStateToProps = (state, {match}) => {\r\n const id = match.params.id;\r\n\r\n return {\r\n lang: state.app.lang,\r\n initialValues: getRowById(state, id)\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n updateCompetition: bindActionCreators(updateCompetition, dispatch),\r\n cancelAction: bindActionCreators(navigateToCompetitions, dispatch)\r\n };\r\n};\r\n\r\nexport default compose(connect(mapStateToProps, mapDispatchToProps), translate('common'))(CompetitionDetailUpdate);\r\n\r\n","import axios from \"axios\";\r\n\r\nimport * as types from \"./actionTypes\";\r\nimport { navigateToReports } from \"./navigationActions\";\r\nimport { beginAjaxCall, ajaxCallError } from \"./ajaxStatusActions\";\r\nimport ResponseStatus from \"../utils/responseStatus\";\r\nimport { showLoadingSpinner, hideLoadingSpinner } from \"./loadingSpinnerActions\";\r\nimport { addHrefWithFileToDownload } from \"../utils/commonFunctions\";\r\n\r\nconst downloadReport = (reportId, dispatch, getState) => {\r\n dispatch(beginAjaxCall());\r\n\r\n if (reportId) {\r\n dispatch(showLoadingSpinner());\r\n const { table } = getState();\r\n const { actionUrl, data } = table;\r\n const { name } = data.find(i => i.id === reportId);\r\n\r\n axios\r\n .get(`${actionUrl}/xlsx/${reportId}`, {\r\n responseType: \"blob\"\r\n })\r\n .then(response => {\r\n if (ResponseStatus.IsOK(response.status)) { \r\n const dateString = new Date().toLocaleDateString(); \r\n addHrefWithFileToDownload(response.data, `${name}_${dateString}.xlsx`);\r\n\r\n dispatch(hideLoadingSpinner());\r\n } else {\r\n dispatch(hideLoadingSpinner());\r\n dispatch(ajaxCallError());\r\n }\r\n })\r\n .catch(error => {\r\n dispatch(hideLoadingSpinner());\r\n dispatch(ajaxCallError());\r\n throw error;\r\n });\r\n }\r\n};\r\n\r\nexport const downloadReportBySelectedRow = (dispatch, getState) => {\r\n const { table } = getState();\r\n const { data } = table;\r\n const { id } = data.find(i => i.selected);\r\n\r\n downloadReport(id, dispatch, getState);\r\n};\r\n\r\nexport const downloadReportById = id => (dispatch, getState) => {\r\n downloadReport(id, dispatch, getState);\r\n};\r\n\r\nexport const createReport = data => dispatch => {\r\n dispatch(beginAjaxCall());\r\n\r\n axios\r\n .post(`report`, data)\r\n .then(response => {\r\n if (ResponseStatus.IsCreated(response.status)) {\r\n dispatch({\r\n type: types.REPORT_ADD\r\n });\r\n\r\n dispatch(navigateToReports());\r\n } else {\r\n dispatch(ajaxCallError());\r\n }\r\n })\r\n .catch(error => {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n });\r\n};\r\n\r\nexport const updateReport = data => dispatch => {\r\n dispatch(beginAjaxCall());\r\n\r\n axios\r\n .put(`report`, data)\r\n .then(response => {\r\n if (ResponseStatus.IsOK(response.status)) {\r\n dispatch({\r\n type: types.REPORT_UPDATE,\r\n data: response.data\r\n });\r\n\r\n dispatch(navigateToReports());\r\n } else {\r\n dispatch(ajaxCallError());\r\n }\r\n })\r\n .catch(error => {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n });\r\n};\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { translate } from \"react-i18next\";\r\nimport { compose } from \"redux\";\r\n\r\nconst CellActionButton = ({\r\n onClick,\r\n icon,\r\n t,\r\n text\r\n}) => {\r\n const handleClick = e => {\r\n e.preventDefault();\r\n if(onClick) {\r\n onClick(e);\r\n }\r\n };\r\n\r\n let wrapperClass = \"d-action-button\";\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nCellActionButton.propTypes = {\r\n text: PropTypes.string,\r\n onClick: PropTypes.func,\r\n className: PropTypes.string,\r\n icon: PropTypes.string,\r\n t: PropTypes.func\r\n //oneRowSelected: PropTypes.bool,\r\n //multiRowSelected: PropTypes.bool,\r\n //selection: PropTypes.string,\r\n};\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n //oneRowSelected: state.table.selected == 1,\r\n //multiRowSelected: state.table.selected > 0\r\n };\r\n};\r\n\r\nexport default compose(\r\n translate(\"common\"),\r\n connect(\r\n mapStateToProps,\r\n null\r\n )\r\n)(CellActionButton);\r\n","import React from \"react\";\r\nimport { GridCell } from \"@progress/kendo-react-grid\";\r\n\r\nimport CellActionButton from \"./CellActionButton\";\r\n\r\nclass ButtonCell extends GridCell {\r\n onClick = event => {\r\n let { keyField, onClick } = this.props;\r\n const id = this.props.dataItem[keyField];\r\n\r\n onClick(id);\r\n };\r\n\r\n render() {\r\n let { text, icon } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst ButtonCellWrapper = (keyField, text, icon, onClick) => props => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nButtonCellWrapper.displayName = \"ButtonCellWrapper\";\r\n\r\nexport default ButtonCellWrapper;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { compose } from \"redux\";\r\n\r\nimport Table from \"../common/Table\";\r\nimport { GridColumn as Column } from \"@progress/kendo-react-grid\";\r\nimport StringCell from \"../common/formatters/StringCell\";\r\nimport Translation from \"../common/Translation\";\r\nimport { translate } from \"react-i18next\";\r\nimport Alerts from \"../common/Alerts\";\r\nimport ActionButton from \"../common/ActionButton\";\r\nimport { navigateTo } from \"../../actions/navigationActions\";\r\nimport {\r\n downloadReportBySelectedRow,\r\n downloadReportById\r\n} from \"../../actions/reportActions\";\r\nimport {\r\n TEXT_HORIZONTAL_ALIGN,\r\n NAVIGATION_PATHS\r\n} from \"../../common/constants\";\r\nimport ButtonCell from \"../common/ButtonCell\";\r\n\r\nconst actionUrl = \"report\";\r\n\r\nconst Reports = ({\r\n t,\r\n navigateTo,\r\n downloadReportById\r\n}) => {\r\n let table;\r\n\r\n const onNew = () => {\r\n navigateTo(NAVIGATION_PATHS.REPORT_CREATE);\r\n };\r\n\r\n const onEdit = () => {\r\n table.getWrappedInstance().editSelected();\r\n };\r\n\r\n const onRemove = () => {\r\n table.getWrappedInstance().removeSelected();\r\n };\r\n\r\n const onActionButtonDownloadReport = () => {\r\n downloadReportBySelectedRow();\r\n };\r\n\r\n const onDownloadReport = id => {\r\n downloadReportById(id);\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n table = el;\r\n }}\r\n name=\"ReportTable\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nReports.propTypes = {\r\n t: PropTypes.func.isRequired,\r\n navigateTo: PropTypes.func.isRequired,\r\n downloadReport: PropTypes.func.isRequired\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n navigateTo: path => {\r\n dispatch(navigateTo(path));\r\n },\r\n downloadReportBySelectedRow: () => dispatch(downloadReportBySelectedRow),\r\n downloadReportById: id => dispatch(downloadReportById(id))\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n null,\r\n mapDispatchToProps\r\n ),\r\n translate(\"common\")\r\n)(Reports);\r\n","import React, {Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport {translate} from \"react-i18next\";\r\nimport {compose} from \"redux\";\r\nimport {Form, Field} from 'react-final-form';\r\n\r\nimport SubmitButton from '../common/SubmitButton';\r\nimport Alerts from \"../common/Alerts\";\r\nimport Translation from \"../common/Translation\";\r\nimport CancelButton from \"../common/CancelButton\";\r\nimport Input from \"../common/Input\";\r\nimport LoadingIndicator from \"../common/LoadingIndicator\";\r\n\r\nimport { reportDetailPropTypes } from \"../../common/propTypes\";\r\n\r\nclass ReportDetail extends Component {\r\n constructor(props) {\r\n super(props);\r\n \r\n this.state = { loading: false };\r\n this.translatedFormValidation = this.translatedFormValidation.bind(this);\r\n }\r\n\r\n translatedFormValidation(values) {\r\n const { t } = this.props;\r\n const errors = {};\r\n\r\n if (!values.displayName) {\r\n errors.displayName = t('DisplayNameIsRequired'); \r\n } \r\n\r\n if (!values.name) {\r\n errors.name = t('NameIsRequired'); \r\n } \r\n\r\n if(!values.viewName ) {\r\n errors.viewName = t('ViewNameIsRequired'); \r\n }\r\n\r\n return errors;\r\n }\r\n\r\n render() {\r\n const {initialValues, headerText, onCancel} = this.props;\r\n\r\n return (\r\n
    \r\n
    \r\n

    {headerText}

    \r\n
    \r\n
    \r\n \r\n
    \r\n (\r\n\r\n
    \r\n {this.state.loading && } \r\n \r\n\r\n \r\n\r\n\r\n \r\n\r\n
    \r\n \r\n \r\n
    \r\n \r\n )}/>\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nReportDetail.propTypes = {\r\n t: PropTypes.func.isRequired,\r\n headerText: PropTypes.string.isRequired,\r\n initialValues: reportDetailPropTypes.isRequired,\r\n onSubmit: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired, \r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n lang: state.app.lang, \r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n //fetchNewsPages: bindActionCreators(fetchNewsPages, dispatch),\r\n //fetchServices: bindActionCreators(fetchServices, dispatch),\r\n };\r\n};\r\n\r\nexport default compose(connect(mapStateToProps, mapDispatchToProps), translate('common'))(ReportDetail);\r\n","import React from 'react';\r\nimport PropTypes from \"prop-types\";\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators, compose} from \"redux\";\r\nimport {translate} from \"react-i18next\";\r\n\r\nimport { reportDetailPropTypes } from \"../../common/propTypes\";\r\nimport ReportDetail from './reportDetail';\r\nimport {getRowById} from \"../../reducers/tableReducer\";\r\nimport {updateReport} from \"../../actions/reportActions\";\r\nimport {navigateToReports} from \"../../actions/navigationActions\";\r\n\r\nconst ReportDetailUpdate = ({initialValues, saveAction, cancelAction, t}) => {\r\n return ;\r\n};\r\n\r\nReportDetailUpdate.propTypes = {\r\n initialValues: reportDetailPropTypes.isRequired,\r\n saveAction: PropTypes.func.isRequired,\r\n cancelAction: PropTypes.func.isRequired,\r\n t: PropTypes.func.isRequired,\r\n};\r\n\r\nconst mapStateToProps = (state, {match}) => {\r\n const id = match.params.id;\r\n\r\n return {\r\n lang: state.app.lang,\r\n initialValues: getRowById(state, id)\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n saveAction: bindActionCreators(updateReport, dispatch),\r\n cancelAction: bindActionCreators(navigateToReports, dispatch)\r\n };\r\n};\r\n\r\nexport default compose(connect(mapStateToProps, mapDispatchToProps), translate('common'))(ReportDetailUpdate);\r\n\r\n","import React from 'react';\r\nimport PropTypes from \"prop-types\";\r\nimport {connect} from \"react-redux\";\r\nimport {bindActionCreators, compose} from \"redux\";\r\nimport {translate} from \"react-i18next\";\r\n\r\nimport ReportDetail from './reportDetail';\r\nimport {createReport} from \"../../actions/reportActions\";\r\nimport {navigateToReports} from \"../../actions/navigationActions\";\r\n\r\nconst initialValues= {\r\n code: '',\r\n name: ''\r\n};\r\n\r\nconst ReportDetailCreate =({saveAction, cancelAction, t})=>{\r\n return ;\r\n};\r\n\r\nReportDetailCreate.propTypes = {\r\n saveAction: PropTypes.func.isRequired,\r\n cancelAction: PropTypes.func.isRequired,\r\n t: PropTypes.func.isRequired,\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n saveAction: bindActionCreators(createReport, dispatch),\r\n cancelAction: bindActionCreators(navigateToReports, dispatch)\r\n };\r\n};\r\n\r\nexport default compose(connect(undefined, mapDispatchToProps), translate('common'))(ReportDetailCreate);","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { default as ReactRating } from \"react-rating\";\r\n\r\nimport { finalFormInput, finalFormMeta } from \"../../common/propTypes\";\r\n\r\nexport const Rating = ({ value, readonly }) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nRating.propTypes = {\r\n value: PropTypes.number,\r\n readonly: PropTypes.bool\r\n};\r\n\r\nconst RatingWrapper = ({\r\n input,\r\n placeholder,\r\n type,\r\n className,\r\n icon,\r\n ...rest\r\n}) => {\r\n return ;\r\n};\r\n\r\nRatingWrapper.propTypes = {\r\n value: PropTypes.number,\r\n type: PropTypes.string,\r\n placeholder: PropTypes.string,\r\n onChange: PropTypes.func,\r\n className: PropTypes.string,\r\n icon: PropTypes.string,\r\n error: PropTypes.string,\r\n input: finalFormInput.isRequired,\r\n meta: finalFormMeta.isRequired\r\n};\r\n\r\nexport default RatingWrapper;\r\n","import React from \"react\";\r\nimport { GridCell } from \"@progress/kendo-react-grid\";\r\nimport { Rating } from \"../Rating\";\r\n\r\n// TODO\r\nclass RatingCell extends GridCell {\r\n render() {\r\n const value = this.props.dataItem[this.props.field];\r\n const { onClick, style } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default RatingCell;\r\n","import React from \"react\";\r\n\r\nimport ToggableActionButton from \"../common/ToggableActionButton\";\r\nimport { Rating as RatingComponent } from \"../common/Rating\";\r\nimport ActionButton from \"../common/ActionButton\";\r\nimport {\r\n RATING_VARIANT_DEFAULT_ENUM_VALUE,\r\n RATING_VARIANT_WITHOUT_STARS_ENUM_VALUE,\r\n} from \"../../common/enums\";\r\n\r\nexport default class RatingActionsBar extends React.Component {\r\n constructor() {\r\n super();\r\n\r\n this.state = {\r\n filters: {},\r\n };\r\n }\r\n\r\n onShow3AndLess = () => {\r\n const filters = [];\r\n filters[0] = {\r\n field: \"value\",\r\n operator: \"lte\",\r\n value: 3,\r\n name: \"show3AndLess\",\r\n logicalOperator: 0,\r\n };\r\n\r\n this.props.filter(filters);\r\n this.setState((state, props) => ({\r\n filters: { ...state.filters, show3AndLess: true },\r\n }));\r\n };\r\n\r\n onRemove3AndLess = () => {\r\n const filters = [];\r\n filters[0] = {\r\n remove: true,\r\n name: \"show3AndLess\",\r\n };\r\n\r\n this.props.filter(filters);\r\n this.setState((state, props) => ({\r\n filters: { ...state.filters, show3AndLess: false },\r\n }));\r\n };\r\n\r\n onShow4AndMore = () => {\r\n const filters = [];\r\n filters[0] = {\r\n field: \"value\",\r\n operator: \"gte\",\r\n value: 4,\r\n logicalOperator: 0,\r\n name: \"show4AndMore\",\r\n };\r\n\r\n this.props.filter(filters);\r\n this.setState((state, props) => ({\r\n filters: { ...state.filters, show4AndMore: true },\r\n }));\r\n };\r\n\r\n onRemove4AndMore = () => {\r\n const filters = [];\r\n filters[0] = {\r\n remove: true,\r\n name: \"show4AndMore\",\r\n };\r\n\r\n this.props.filter(filters);\r\n this.setState((state, props) => ({\r\n filters: { ...state.filters, show4AndMore: false },\r\n }));\r\n };\r\n\r\n onShowWithDescription = () => {\r\n const filters = [];\r\n filters[0] = {\r\n field: \"description\",\r\n operator: \"neq\",\r\n value: null,\r\n logicalOperator: 0,\r\n name: \"showWithDescriptionWhenNotNull\",\r\n };\r\n filters[1] = {\r\n field: \"description\",\r\n operator: \"neq\",\r\n value: \"\",\r\n logicalOperator: 0,\r\n name: \"showWithDescriptionWhenNotStringEmpty\",\r\n };\r\n\r\n this.props.filter(filters);\r\n };\r\n\r\n onShowVariantWithoutStars = () => {\r\n const filters = [];\r\n filters[0] = {\r\n field: \"variant\",\r\n operator: \"eq\",\r\n value: RATING_VARIANT_WITHOUT_STARS_ENUM_VALUE,\r\n logicalOperator: 0,\r\n name: \"showVariantWithoutStars\",\r\n };\r\n\r\n this.props.filter(filters);\r\n this.setState((state, props) => ({\r\n filters: { ...state.filters, showVariantWithoutStars: true },\r\n }));\r\n };\r\n\r\n onRemoveVariantWithoutStars = () => {\r\n const filters = [];\r\n filters[0] = {\r\n remove: true,\r\n name: \"showVariantWithoutStars\",\r\n };\r\n\r\n this.props.filter(filters);\r\n this.setState((state, props) => ({\r\n filters: { ...state.filters, showVariantWithoutStars: false },\r\n }));\r\n };\r\n\r\n onShowDefaultVariant = () => {\r\n const filters = [];\r\n filters[0] = {\r\n field: \"variant\",\r\n operator: \"eq\",\r\n value: RATING_VARIANT_DEFAULT_ENUM_VALUE,\r\n logicalOperator: 0,\r\n name: \"showDefaultVariant\",\r\n };\r\n\r\n this.props.filter(filters);\r\n this.setState((state, props) => ({\r\n filters: { ...state.filters, showDefaultVariant: true },\r\n }));\r\n };\r\n\r\n onRemoveDefaultVariant = () => {\r\n const filters = [];\r\n filters[0] = {\r\n remove: true,\r\n name: \"showDefaultVariant\",\r\n };\r\n\r\n this.props.filter(filters);\r\n this.setState((state, props) => ({\r\n filters: { ...state.filters, showDefaultVariant: false },\r\n }));\r\n };\r\n\r\n onRemoveWithDescription = () => {\r\n const filters = [];\r\n filters[0] = {\r\n remove: true,\r\n name: \"showWithDescriptionWhenNotNull\",\r\n };\r\n filters[1] = {\r\n remove: true,\r\n name: \"showWithDescriptionWhenNotStringEmpty\",\r\n };\r\n\r\n this.props.filter(filters);\r\n };\r\n\r\n isFilterActive = (filterName) => {\r\n return !!this.state.filters[filterName];\r\n };\r\n\r\n render() {\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { compose, bindActionCreators } from \"redux\";\r\nimport { translate } from \"react-i18next\";\r\n\r\nimport { edit, filterChange, filterClear } from \"../../actions/tableActions\";\r\nimport Table from \"../common/Table\";\r\nimport { GridColumn as Column } from \"@progress/kendo-react-grid\";\r\nimport RatingCell from \"../common/formatters/ratingCell\";\r\nimport StringCell from \"../common/formatters/StringCell\";\r\nimport EnumCell from \"../common/formatters/EnumCelll\";\r\nimport DateCell from \"../common/formatters/DateCell\";\r\nimport NavigableCell from \"../common/formatters/navigableCell\";\r\nimport Translation from \"../common/Translation\";\r\nimport Alerts from \"../common/Alerts\";\r\nimport { RATING } from \"../../data-transformations/dataTransformationTypes\";\r\nimport { navigateTo } from \"../../actions/navigationActions\";\r\nimport * as enums from \"../../common/enums\";\r\nimport { TEXT_HORIZONTAL_ALIGN } from \"../../common/constants\";\r\nimport RatingActionsBar from \"./ratingActionsBar\";\r\n\r\nconst defaultRatingTabelSort = [\r\n {\r\n dir: \"desc\",\r\n field: \"dateOfCreate\",\r\n },\r\n];\r\n\r\nconst actionUrl = \"rating\";\r\n\r\nconst Rating = ({ t, navigateTo, edit, filter, clearFilter }) => {\r\n let table;\r\n\r\n const customRowRender = (trElement, rowProps, data) => {\r\n console.warn(\"Rating.rowRender\");\r\n\r\n /*const isRowWithSameOrder = data.some((item)=>{\r\n return item.order === rowProps.dataItem.order && item.id !== rowProps.dataItem.id;\r\n });\r\n const orange = { backgroundColor: \"rgba(255,190, 12,1)\" };\r\n const trProps = { style: isRowWithSameOrder ? orange : null };\r\n */\r\n //return React.cloneElement(trElement, { ...trProps }, trElement.props.children);\r\n\r\n return trElement;\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {/**/}\r\n \r\n
    \r\n
    \r\n
    \r\n {\r\n table = el;\r\n }}\r\n dataTransformation={RATING}\r\n name=\"RatingTable\"\r\n customRowRender={customRowRender}\r\n defaultSort={defaultRatingTabelSort}\r\n >\r\n \r\n (\r\n \r\n )}\r\n title={t(\"MSISDN\")}\r\n />\r\n (\r\n \r\n )}\r\n title={t(\"RatingValue\")}\r\n />\r\n (\r\n \r\n )}\r\n title={t(\"RatingText\")}\r\n />\r\n (\r\n \r\n )}\r\n title={t(\"Event\")}\r\n />\r\n (\r\n \r\n )}\r\n title={t(\"DateOfRating\")}\r\n />\r\n (\r\n \r\n )}\r\n title={t(\"Platform\")}\r\n />\r\n (\r\n \r\n )}\r\n title={t(\"Variant\")}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nRating.propTypes = {\r\n t: PropTypes.func.isRequired,\r\n navigateTo: PropTypes.func.isRequired,\r\n edit: PropTypes.func.isRequired,\r\n filter: PropTypes.func.isRequired,\r\n clearFilter: PropTypes.func.isRequired,\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n navigateTo: bindActionCreators(navigateTo, dispatch),\r\n clearFilter: bindActionCreators(filterClear, dispatch),\r\n filter: bindActionCreators(filterChange, dispatch),\r\n edit: bindActionCreators(edit, dispatch),\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(null, mapDispatchToProps),\r\n translate(\"common\")\r\n)(Rating);\r\n","import React, { Component } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { translate } from \"react-i18next\";\r\nimport { compose } from \"redux\";\r\nimport { Form, Field } from \"react-final-form\";\r\nimport createDecorator from \"final-form-calculate\";\r\n\r\nimport * as enums from \"../../common/enums\";\r\nimport * as propTypes from \"../../common/propTypes\";\r\n\r\nimport Alerts from \"../common/Alerts\";\r\nimport Translation from \"../common/Translation\";\r\nimport CancelButton from \"../common/CancelButton\";\r\nimport { isLoadingDependencies } from \"../../reducers/newsReducer\";\r\nimport Input from \"../common/Input\";\r\nimport DatePicker from \"../common/DatePicker\";\r\nimport DropDown from \"../common/DropDown\";\r\nimport Rating from \"../common/Rating\";\r\nimport { isEmpty } from \"../../utils/isEmpty\";\r\nimport LoadingIndicator from \"../common/LoadingIndicator\";\r\n\r\nconst getImageUrl = (imageValue, oldImageUrl) => {\r\n if (oldImageUrl) {\r\n URL.revokeObjectURL(oldImageUrl);\r\n }\r\n\r\n let newImageUrl = null;\r\n if (!isEmpty(imageValue)) {\r\n newImageUrl = URL.createObjectURL(imageValue);\r\n }\r\n\r\n return newImageUrl;\r\n};\r\n\r\nconst formDecorator = createDecorator(\r\n {\r\n field: \"image\",\r\n updates: {\r\n imageUrl: (imageValue, allValues) => {\r\n const oldImageUrl = allValues.imageUrl;\r\n\r\n return getImageUrl(imageValue, oldImageUrl);\r\n }\r\n }\r\n },\r\n {\r\n field: \"detailImage\",\r\n updates: {\r\n detailImageUrl: (imageValue, allValues) => {\r\n const oldImageUrl = allValues.detailImageUrl;\r\n\r\n return getImageUrl(imageValue, oldImageUrl);\r\n }\r\n }\r\n }\r\n);\r\n\r\nclass RatingDetail extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n //this.state = {newsPages: [], newsServices: [], files: []};\r\n this.translatedFormValidation = this.translatedFormValidation.bind(this);\r\n }\r\n\r\n componentDidMount() {}\r\n\r\n translatedFormValidation() {\r\n const errors = {};\r\n\r\n return errors;\r\n }\r\n\r\n render() {\r\n console.debug(\"RatingDetail.render\");\r\n\r\n const { initialValues, headerText, onCancel } = this.props;\r\n\r\n return (\r\n
    \r\n
    \r\n

    {headerText}

    \r\n
    \r\n
    \r\n \r\n
    \r\n (\r\n
    \r\n {this.props.loadingDependencies && }\r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n \r\n\r\n \r\n\r\n
    \r\n {/* \r\n \r\n */}\r\n \r\n \r\n \r\n
    \r\n \r\n )}\r\n />\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nRatingDetail.propTypes = {\r\n t: PropTypes.func.isRequired,\r\n headerText: PropTypes.string.isRequired,\r\n initialValues: propTypes.newsPropTypes.isRequired,\r\n onSubmit: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired,\r\n loadingDependencies: PropTypes.bool.isRequired\r\n};\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n lang: state.app.lang,\r\n loadingDependencies: isLoadingDependencies(state)\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = () => {\r\n return {};\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n ),\r\n translate(\"common\")\r\n)(RatingDetail);\r\n","import axios from \"axios\";\r\n\r\nimport * as types from \"./actionTypes\";\r\nimport { navigateToRatings } from \"./navigationActions\";\r\nimport { beginAjaxCall, ajaxCallError } from \"./ajaxStatusActions\";\r\nimport ResponseStatus from \"../utils/responseStatus\";\r\n\r\nexport const updateRating = data => dispatch => {\r\n dispatch(beginAjaxCall());\r\n\r\n axios\r\n .put(`rating`, data)\r\n .then(response => {\r\n if (ResponseStatus.IsOK(response.status)) {\r\n dispatch({\r\n type: types.RATING_UPDATE,\r\n data: response.data\r\n });\r\n\r\n dispatch(navigateToRatings());\r\n } else {\r\n dispatch(ajaxCallError());\r\n }\r\n })\r\n .catch(error => {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n });\r\n};\r\n","import React from 'react';\r\nimport PropTypes from \"prop-types\";\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators, compose} from \"redux\";\r\nimport {translate} from \"react-i18next\";\r\n\r\nimport * as propTypes from '../../common/propTypes';\r\nimport RatingDetail from './ratingDetail';\r\nimport {getRowById} from \"../../reducers/tableReducer\";\r\nimport {updateRating} from \"../../actions/ratingActions\";\r\nimport {navigateToRatings} from \"../../actions/navigationActions\";\r\n\r\nconst RatingDetailUpdate = ({initialValues, updateRating, cancelAction, t}) => {\r\n return ;\r\n};\r\n\r\nRatingDetailUpdate.propTypes = {\r\n initialValues: propTypes.ratingPropTypes.isRequired,\r\n updateRating: PropTypes.func.isRequired,\r\n cancelAction: PropTypes.func.isRequired,\r\n t: PropTypes.func.isRequired,\r\n};\r\n\r\nconst mapStateToProps = (state, {match}) => {\r\n const id = match.params.id;\r\n\r\n return {\r\n lang: state.app.lang,\r\n initialValues: getRowById(state, id)\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n updateRating: bindActionCreators(updateRating, dispatch),\r\n cancelAction: bindActionCreators(navigateToRatings, dispatch)\r\n };\r\n};\r\n\r\nexport default compose(connect(mapStateToProps, mapDispatchToProps), translate('common'))(RatingDetailUpdate);\r\n\r\n","const ratingSettingsTransformationBeforeSave = ratingSettings => {\r\n \r\n const transformedData = {\r\n ...ratingSettings,\r\n allowedVariantAfterOrder: ratingSettings.allowedVariantAfterOrder.value,\r\n allowedVariantAfterRecharge: ratingSettings.allowedVariantAfterRecharge.value,\r\n allowedVariantAfterCompetition: ratingSettings.allowedVariantAfterCompetition.value,\r\n allowedVariantAfterLeavingPageExtra: ratingSettings.allowedVariantAfterLeavingPageExtra.value, \r\n allowedVariantAfterLeavingPageSuriGame: ratingSettings.allowedVariantAfterLeavingPageSuriGame.value, \r\n }; \r\n\r\n return transformedData;\r\n};\r\n\r\nexport default ratingSettingsTransformationBeforeSave;\r\n","import axios from 'axios';\r\n\r\nimport * as types from './actionTypes';\r\nimport { beginAjaxCall, ajaxCallError } from './ajaxStatusActions';\r\nimport ResponseStatus from \"../utils/responseStatus\";\r\nimport {alertAdd} from \"./alertActions\";\r\nimport { ALERT_TYPE } from '../common/constants';\r\nimport ratingSettingsTransformationBeforeSave from \"../data-transformations/ratingSettingsTransformationBeforeSave\";\r\nimport ratingSettingsDataTransformationAfterFetch from \"../data-transformations/ratingSettingsDataTransformationAfterFetch\";\r\n\r\nexport const updateRatingSettings = (data) => (dispatch) => {\r\n dispatch(beginAjaxCall());\r\n \r\n const transformedData = ratingSettingsTransformationBeforeSave(data);\r\n\r\n axios.put(`ratingSettings`, transformedData)\r\n .then((response) => {\r\n if (ResponseStatus.IsOK(response.status)) {\r\n dispatch({\r\n type: types.RATING_SETTINGS_UPDATE,\r\n data: response.data\r\n });\r\n \r\n dispatch(alertAdd(\"RatingSettingsSaveOk\", ALERT_TYPE.SUCCESS));\r\n \r\n fetchRatingSettings()(dispatch);\r\n } else {\r\n dispatch(ajaxCallError());\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n });\r\n };\r\n\r\n export const fetchRatingSettings = () => (dispatch) => {\r\n dispatch(beginAjaxCall());\r\n dispatch(LOADING_BEGIN);\r\n\r\n axios.get(`ratingSettings`)\r\n .then((response) => {\r\n if (ResponseStatus.IsOK(response.status)) {\r\n const transformedData = ratingSettingsDataTransformationAfterFetch(response.data);\r\n\r\n dispatch({\r\n type: types.RATING_SETTINGS_FETCH,\r\n data: transformedData\r\n });\r\n \r\n } else {\r\n dispatch(ajaxCallError());\r\n }\r\n\r\n dispatch(LOADING_END);\r\n })\r\n .catch((error) => {\r\n dispatch(ajaxCallError());\r\n dispatch(LOADING_END);\r\n\r\n throw error;\r\n });\r\n };\r\n\r\n const LOADING_BEGIN = {\r\n type: types.RATING_SETTINGS_LOADING_BEGIN,\r\n };\r\n\r\n const LOADING_END = {\r\n type: types.RATING_SETTINGS_LOADING_END,\r\n }","import * as types from '../actions/actionTypes';\r\n\r\nconst extraInitialState= {\r\n loaded: false,\r\n data: null,\r\n};\r\n\r\nconst ratingSettings = (state = extraInitialState, action) => {\r\n switch (action.type) {\r\n case types.RATING_SETTINGS_FETCH:\r\n return {\r\n ...state,\r\n data: action.data,\r\n };\r\n case types.RATING_SETTINGS_LOADING_BEGIN:\r\n return {\r\n ...state,\r\n loading: true,\r\n };\r\n case types.RATING_SETTINGS_LOADING_END:\r\n return {\r\n ...state, \r\n loading: false,\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default ratingSettings;\r\n\r\nexport const isLoading = (state) => {\r\n return state.ratingSettings.loading === true;\r\n};\r\n\r\nexport const getData = (state) => {\r\n return state.ratingSettings.data;\r\n};\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators, compose } from \"redux\";\r\nimport { translate } from \"react-i18next\";\r\n\r\nimport Translation from \"../common/Translation\";\r\nimport Alerts from \"../common/Alerts\";\r\nimport { Form, Field } from \"react-final-form\";\r\nimport SubmitButton from \"../common/SubmitButton\";\r\nimport NumericTextBox from \"../common/NumericTextBox\";\r\nimport Switch from \"../common/Switch\";\r\nimport LoadingIndicator from \"../common/LoadingIndicator\";\r\nimport DropDown from \"../common/DropDown\";\r\n\r\nimport * as enums from \"../../common/enums\";\r\nimport {\r\n updateRatingSettings,\r\n fetchRatingSettings,\r\n} from \"../../actions/ratingSettingsActions\";\r\nimport { getData, isLoading } from \"../../reducers/ratingSettingsReducer\";\r\n\r\nclass RatingSettings extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {};\r\n this.translatedFormValidation = this.translatedFormValidation.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.props.fetchData();\r\n }\r\n\r\n translatedFormValidation(values) {\r\n //const { t } = this.props;\r\n const errors = {};\r\n\r\n // if (!values.name) {\r\n // errors.name = t('NameIsRequired');\r\n // }\r\n\r\n // if (!values.validFrom) {\r\n // errors.validFrom = 'Datum Platný od je povinné';\r\n // }\r\n\r\n // if (values.validTo && values.validFrom && values.validTo < values.validFrom) {\r\n // errors.validTo = 'Datum Platný do, musí být větší než datum Platný od';\r\n // }\r\n\r\n // if (!values.type) {\r\n // errors.type = 'Typ je povinný';\r\n // }\r\n\r\n return errors;\r\n }\r\n\r\n render() {\r\n const { initialValues } = this.props;\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n (\r\n
    \r\n {this.props.loading && }\r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n )}\r\n />\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nRatingSettings.defaultProps = {\r\n initialValues: {\r\n isAllowedTriggerAfterOrder: true,\r\n isAllowedTriggerAfterRecharge: true,\r\n isAllowedTriggerAfterCompetition: true,\r\n isAllowedTriggerAfterLeavingPageExtra: true,\r\n numberOfDaysToDeferRating: 14,\r\n allowedVariantAfterOrder: 0,\r\n allowedVariantAfterRecharge: 0,\r\n allowedVariantAfterCompetition: 0,\r\n allowedVariantAfterLeavingPageExtra: 0,\r\n },\r\n};\r\n\r\nRatingSettings.propTypes = {\r\n t: PropTypes.func.isRequired,\r\n initialValues: PropTypes.shape({\r\n isAllowedTriggerAfterOrder: PropTypes.bool,\r\n isAllowedTriggerAfterRecharge: PropTypes.bool,\r\n isAllowedTriggerAfterCompetition: PropTypes.bool,\r\n isAllowedTriggerAfterLeavingPageExtra: PropTypes.bool,\r\n numberOfDaysToDeferRating: PropTypes.number,\r\n allowedVariantAfterOrder: PropTypes.number,\r\n allowedVariantAfterRecharge: PropTypes.number,\r\n allowedVariantAfterCompetition: PropTypes.number,\r\n allowedVariantAfterLeavingPageExtra: PropTypes.number,\r\n }).isRequired,\r\n onSubmit: PropTypes.func.isRequired,\r\n fetchData: PropTypes.func.isRequired,\r\n loading: PropTypes.bool.isRequired,\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n initialValues: getData(state),\r\n loading: isLoading(state),\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n onSubmit: bindActionCreators(updateRatingSettings, dispatch),\r\n fetchData: bindActionCreators(fetchRatingSettings, dispatch),\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(mapStateToProps, mapDispatchToProps),\r\n translate(\"common\")\r\n)(RatingSettings);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { translate } from \"react-i18next\";\r\n\r\nconst Tile = ({ onClick, icon, t, text, title, loading }) => {\r\n const handleClick = e => {\r\n e.preventDefault();\r\n onClick(e);\r\n };\r\n\r\n let wrapperClass = \"tile\";\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nTile.propTypes = {\r\n text: PropTypes.string,\r\n onClick: PropTypes.func,\r\n icon: PropTypes.string,\r\n t: PropTypes.func,\r\n title: PropTypes.string,\r\n loading: PropTypes.bool\r\n};\r\n\r\nexport default translate(\"common\")(Tile);\r\n","import * as types from '../actions/actionTypes';\r\n\r\nconst ecomailInitialState= {\r\n loaded: false,\r\n data: null,\r\n};\r\n\r\nconst ecomail = (state = ecomailInitialState, action) => {\r\n switch (action.type) { \r\n case types.ECOMAIL_LOADING_BEGIN:\r\n return {\r\n ...state,\r\n loading: true,\r\n };\r\n case types.ECOMAIL_LOADING_END:\r\n return {\r\n ...state, \r\n loading: false,\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default ecomail;\r\n\r\nexport const isLoading = (state) => {\r\n return state.ecomail.loading === true;\r\n};\r\n","import axios from \"axios\";\r\n\r\nimport * as types from \"./actionTypes\";\r\nimport { beginAjaxCall, ajaxCallError } from \"./ajaxStatusActions\";\r\nimport * as alertActions from \"./alertActions\";\r\nimport ResponseStatus from \"../utils/responseStatus\";\r\n\r\nexport const exportSubscribersToEcomail = () => async (dispatch, getState) => {\r\n dispatch(beginAjaxCall());\r\n dispatch(LOADING_BEGIN);\r\n dispatch(alertActions.alertClear());\r\n\r\n axios\r\n .post(`ecomail`)\r\n .then(response => {\r\n const data = response.data;\r\n const resultCode = data.resultCode;\r\n const resultReason = data.resultReason;\r\n const failedResponses = data.failedResponses;\r\n // const successfulResponses = data.successfulResponses;\r\n const subscribersWithEmptyEmailCount =\r\n data.subscribersWithEmptyEmailCount;\r\n const subscribersWithInvalidEmailCount =\r\n data.subscribersWithInvalidEmailCount;\r\n const subscribersWithValidEmailCount =\r\n data.subscribersWithValidEmailCount;\r\n const subscribersWithDistinctEmailCount =\r\n data.subscribersWithDistinctEmailCount;\r\n\r\n const subscribersSummaryCountMessage = `Databáze obsahuje ${subscribersWithEmptyEmailCount + subscribersWithInvalidEmailCount + subscribersWithValidEmailCount} kontaktů.`;\r\n dispatch(\r\n alertActions.alertWarningMessageAdd(\r\n subscribersSummaryCountMessage,\r\n true\r\n )\r\n );\r\n\r\n const subscribersWithEmptyEmailMessage = `Počet kontaktů s nevyplněným emailem: ${subscribersWithEmptyEmailCount}.`;\r\n dispatch(\r\n alertActions.alertWarningMessageAdd(\r\n subscribersWithEmptyEmailMessage,\r\n true\r\n )\r\n );\r\n\r\n const subscribersWithInvalidEmailMessage = `Počet kontaktů s nevalidním emailem: ${subscribersWithInvalidEmailCount}.`;\r\n dispatch(\r\n alertActions.alertWarningMessageAdd(\r\n subscribersWithInvalidEmailMessage,\r\n true\r\n )\r\n );\r\n\r\n const subscribersWithDuplicateEmailMessage = `Počet kontaktů s jedním emailem pro dvě a více čísel: ${subscribersWithValidEmailCount - subscribersWithDistinctEmailCount}.`;\r\n dispatch(\r\n alertActions.alertWarningMessageAdd(\r\n subscribersWithDuplicateEmailMessage,\r\n true\r\n )\r\n );\r\n \r\n if (\r\n !ResponseStatus.IsOK(response.status) ||\r\n resultCode != 0 ||\r\n failedResponses.some(failedResponse => failedResponse)\r\n ) {\r\n const failedMessage = `Při exportu došlo k chybě: ${resultReason}`;\r\n dispatch(alertActions.alertErrorMessageAdd(failedMessage, true));\r\n\r\n const partialExportMessage = `Byla exportována jen část kontaktů!`;\r\n dispatch(alertActions.alertErrorMessageAdd(partialExportMessage, true));\r\n } else { \r\n const successfulMessage = `Úspšně exportováno ${subscribersWithDistinctEmailCount} kontaktů.`;\r\n dispatch(alertActions.alertSuccessMessageAdd(successfulMessage, true));\r\n }\r\n\r\n dispatch(LOADING_END);\r\n })\r\n .catch(error => {\r\n ajaxCallError();\r\n dispatch(LOADING_END);\r\n dispatch(\r\n alertActions.alertErrorAdd(\r\n \"Chyba, data se nepodařilo exportovat do Ecomailu.\"\r\n )\r\n );\r\n throw error;\r\n });\r\n};\r\n\r\nconst LOADING_BEGIN = {\r\n type: types.ECOMAIL_LOADING_BEGIN\r\n};\r\n\r\nconst LOADING_END = {\r\n type: types.ECOMAIL_LOADING_END\r\n};\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { connect } from \"react-redux\";\r\nimport { compose, bindActionCreators } from \"redux\";\r\nimport { translate } from \"react-i18next\";\r\n\r\nimport Translation from \"../common/Translation\";\r\nimport Alerts from \"../common/Alerts\";\r\nimport Tile from \"../common/Tile\";\r\n\r\nimport { isLoading } from \"../../reducers/ecomailReducer\";\r\nimport { exportSubscribersToEcomail } from \"../../actions/ecomailActions\";\r\n\r\nclass Ecomail extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {};\r\n this.translatedFormValidation = this.translatedFormValidation.bind(this);\r\n }\r\n\r\n translatedFormValidation() {\r\n const errors = {};\r\n\r\n return errors;\r\n }\r\n\r\n onExportSubscribersToEcomail = event => {\r\n event.preventDefault();\r\n\r\n this.props.exportSubscribersToEcomail();\r\n };\r\n\r\n render() {\r\n return (\r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nEcomail.defaultProps = {};\r\n\r\nEcomail.propTypes = {\r\n t: PropTypes.func.isRequired,\r\n loading: PropTypes.bool.isRequired,\r\n exportSubscribersToEcomail: PropTypes.func.isRequired\r\n};\r\n\r\nconst mapStateToProps = state => {\r\n return {\r\n loading: isLoading(state)\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = dispatch => {\r\n return {\r\n exportSubscribersToEcomail: bindActionCreators(\r\n exportSubscribersToEcomail,\r\n dispatch\r\n )\r\n };\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n ),\r\n translate(\"common\")\r\n)(Ecomail);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { GridCell } from '@progress/kendo-react-grid';\r\nimport { provideIntlService } from '@progress/kendo-react-intl';\r\nimport {translate} from \"react-i18next\";\r\n\r\nclass DateTimeCell extends GridCell {\r\n render() {\r\n const utcDate = this.props.dataItem[this.props.field];\r\n const {t, onClick, style} = this.props;\r\n\r\n if (utcDate) {\r\n const date = new Date(utcDate);\r\n\r\n return (\r\n \r\n {provideIntlService(this).formatDate(date, {\r\n datetime: \"short\"\r\n })}\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n {t('NotSet')}\r\n \r\n );\r\n }\r\n}\r\n\r\nDateTimeCell.propTypes = {\r\n t: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default translate('common')(DateTimeCell);\r\n","import React from \"react\";\r\n\r\nimport ToggableActionButton from \"../common/ToggableActionButton\";\r\nimport ActionButton from \"../common/ActionButton\";\r\n\r\nexport default class OutageNotificationActionsBar extends React.Component {\r\n constructor() {\r\n super();\r\n\r\n this.state = {\r\n filters: {},\r\n };\r\n }\r\n\r\n onShowActive = () => {\r\n const filters = [];\r\n filters[0] = {\r\n field: \"notificationTo\",\r\n operator: \"gte\",\r\n value: new Date().toISOString()\r\n }; \r\n \r\n this.props.filter(filters);\r\n };\r\n\r\n onShowAll = () => {\r\n this.props.clearFilter();\r\n this.setState({ filters: {} });\r\n };\r\n\r\n isFilterActive = (filterName) => {\r\n return !!this.state.filters[filterName];\r\n };\r\n\r\n render() {\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { compose, bindActionCreators } from 'redux';\r\nimport { translate } from 'react-i18next';\r\n\r\nimport { edit, filterChange, filterClear } from '../../actions/tableActions';\r\nimport Table from '../common/Table';\r\nimport { GridColumn as Column } from '@progress/kendo-react-grid';\r\nimport StringCell from '../common/formatters/StringCell';\r\nimport EnumCell from '../common/formatters/EnumCelll';\r\nimport DateTimeCell from '../common/formatters/DateTimeCell';\r\nimport NavigableCell from '../common/formatters/navigableCell';\r\nimport Translation from '../common/Translation';\r\nimport Alerts from '../common/Alerts';\r\nimport { OUTAGE_NOTIFICATION } from '../../data-transformations/dataTransformationTypes';\r\nimport { navigateTo } from '../../actions/navigationActions';\r\nimport * as enums from '../../common/enums';\r\nimport { TEXT_HORIZONTAL_ALIGN, NAVIGATION_PATHS } from '../../common/constants';\r\nimport OutageNotificationActionsBar from './outageNotificationActionsBar';\r\n\r\nconst defaultRatingTabelSort = [\r\n {\r\n dir: 'desc',\r\n field: 'dateOfCreate',\r\n },\r\n];\r\n\r\nconst actionUrl = 'outageNotification';\r\n\r\nconst OutageNotification = ({ t, navigateTo, edit, filter, clearFilter }) => {\r\n let table;\r\n\r\n const customRowRender = (trElement, rowProps, data) => {\r\n console.warn('OutageNotification.rowRender');\r\n\r\n /*const isRowWithSameOrder = data.some((item)=>{\r\n return item.order === rowProps.dataItem.order && item.id !== rowProps.dataItem.id;\r\n });\r\n const orange = { backgroundColor: \"rgba(255,190, 12,1)\" };\r\n const trProps = { style: isRowWithSameOrder ? orange : null };\r\n */\r\n //return React.cloneElement(trElement, { ...trProps }, trElement.props.children);\r\n\r\n return trElement;\r\n };\r\n\r\n const onNew = () => {\r\n navigateTo(NAVIGATION_PATHS.OUTAGE_NOTIFICATION_CREATE);\r\n };\r\n\r\n const onRemove = () => {\r\n table.getWrappedInstance().removeSelected();\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {\r\n table = el;\r\n }}\r\n dataTransformation={OUTAGE_NOTIFICATION}\r\n name=\"OutageNotificationTable\"\r\n customRowRender={customRowRender}\r\n defaultSort={defaultRatingTabelSort}\r\n >\r\n \r\n (\r\n \r\n )}\r\n title={t('Order')}\r\n width=\"75px\"\r\n />\r\n (\r\n \r\n )}\r\n title={t('Name')}\r\n />\r\n (\r\n \r\n )}\r\n title={t('Platform')}\r\n />\r\n }\r\n title={t('NotificationFrom')}\r\n />\r\n }\r\n title={t('OutageFrom')}\r\n />\r\n }\r\n title={t('OutageTo')}\r\n />\r\n }\r\n title={t('NotificationTo')}\r\n />\r\n (\r\n \r\n )}\r\n title={t('Text')}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nOutageNotification.propTypes = {\r\n t: PropTypes.func.isRequired,\r\n navigateTo: PropTypes.func.isRequired,\r\n edit: PropTypes.func.isRequired,\r\n filter: PropTypes.func.isRequired,\r\n clearFilter: PropTypes.func.isRequired,\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n navigateTo: bindActionCreators(navigateTo, dispatch),\r\n clearFilter: bindActionCreators(filterClear, dispatch),\r\n filter: bindActionCreators(filterChange, dispatch),\r\n edit: bindActionCreators(edit, dispatch),\r\n };\r\n};\r\n\r\nexport default compose(connect(null, mapDispatchToProps), translate('common'))(OutageNotification);\r\n","import {DateTimePicker as KendoDateTimePicker} from \"@progress/kendo-react-dateinputs\";\r\nimport KendoHOC from \"./utils/KendoHOC\";\r\n\r\nconst DateTimePicker = (options) => (KendoHOC(KendoDateTimePicker, options));\r\n\r\nexport default DateTimePicker;\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { translate } from 'react-i18next';\r\nimport { compose } from 'redux';\r\nimport { Form, Field } from 'react-final-form';\r\n\r\nimport SubmitButton from '../common/SubmitButton';\r\nimport Alerts from '../common/Alerts';\r\nimport Translation from '../common/Translation';\r\nimport CancelButton from '../common/CancelButton';\r\nimport Input from '../common/Input';\r\nimport LoadingIndicator from '../common/LoadingIndicator';\r\nimport DateTimePicker from '../common/DateTimePicker';\r\nimport DropDown from '../common/DropDown';\r\nimport Condition from '../common/utils/Condition';\r\nimport NumericTextBox from './../common/NumericTextBox';\r\n\r\nimport * as enums from '../../common/enums';\r\nimport { reportDetailPropTypes } from '../../common/propTypes';\r\n\r\nclass OutageNotificationDetail extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = { loading: false };\r\n this.translatedFormValidation = this.translatedFormValidation.bind(this);\r\n }\r\n\r\n translatedFormValidation(values) {\r\n const { t } = this.props;\r\n const errors = {};\r\n\r\n if (!values.name) {\r\n errors.name = t('NameIsRequired');\r\n }\r\n\r\n if (!values.text) {\r\n errors.text = t('TextIsRequired');\r\n }\r\n\r\n if (!values.platform) {\r\n errors.platform = t('PlatformIsRequired');\r\n }\r\n\r\n if (!values.notificationFrom) {\r\n errors.notificationFrom = t('NotificationFromIsRequired');\r\n }\r\n\r\n if (!values.notificationTo) {\r\n errors.notificationTo = t('NotificationToIsRequired');\r\n }\r\n\r\n const outageFrom = values.outageFrom;\r\n const outageTo = values.outageTo;\r\n const notificationFrom = values.notificationFrom;\r\n const notificationTo = values.notificationTo;\r\n\r\n if (notificationTo < notificationFrom) {\r\n errors.notificationTo = t('NotificationToIsOutOfRange');\r\n }\r\n\r\n if (outageFrom && (outageFrom < notificationFrom || outageFrom > notificationTo)) {\r\n errors.outageFrom = t('OutageFromIsOutOfRange');\r\n }\r\n\r\n if (outageFrom && !outageTo) {\r\n errors.outageTo = t('OutageToIsRequired');\r\n }\r\n\r\n if (outageTo && (outageTo < notificationFrom || outageTo > notificationTo || outageTo < outageFrom)) {\r\n errors.outageTo = t('OutageToIsOutOfRange');\r\n }\r\n\r\n if (outageTo && !outageFrom) {\r\n errors.outageFrom = t('OutageFromIsRequired');\r\n }\r\n\r\n return errors;\r\n }\r\n\r\n render() {\r\n const { initialValues, headerText, onCancel } = this.props;\r\n\r\n return (\r\n
    \r\n
    \r\n

    {headerText}

    \r\n
    \r\n
    \r\n \r\n
    \r\n (\r\n
    \r\n {this.state.loading && }\r\n \r\n\r\n \r\n\r\n
    \r\n \r\n\r\n \r\n
    \r\n\r\n
    \r\n \r\n\r\n \r\n
    \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n )}\r\n />\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nOutageNotificationDetail.propTypes = {\r\n t: PropTypes.func.isRequired,\r\n headerText: PropTypes.string.isRequired,\r\n initialValues: reportDetailPropTypes.isRequired,\r\n onSubmit: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired,\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n lang: state.app.lang,\r\n };\r\n};\r\n\r\nexport default compose(connect(mapStateToProps, undefined), translate('common'))(OutageNotificationDetail);\r\n","import { OUTAGE_NOTIFICATION_FILTER_TYPE } from '../common/enums';\r\n\r\nconst outageNotificationItemTransformationBeforeSave = (outageNotificationItem) => {\r\n const isVersionFilter = outageNotificationItem.filter == OUTAGE_NOTIFICATION_FILTER_TYPE[1];\r\n const isGroupNameFilter = outageNotificationItem.filter == OUTAGE_NOTIFICATION_FILTER_TYPE[2];\r\n\r\n const notificationFrom = outageNotificationItem.notificationFrom;\r\n const notificationTo = outageNotificationItem.notificationTo;\r\n const outageFrom = outageNotificationItem.outageFrom;\r\n const outageTo = outageNotificationItem.outageTo;\r\n\r\n const transformedData = {\r\n ...outageNotificationItem,\r\n platform: outageNotificationItem.platform.value,\r\n filter: outageNotificationItem.filter.value,\r\n condition: isVersionFilter ? outageNotificationItem.condition.value : null,\r\n version: isVersionFilter ? outageNotificationItem.version : null,\r\n groupName: isGroupNameFilter ? outageNotificationItem.groupName : null, \r\n \r\n notificationFrom: notificationFrom.toUTCString(),\r\n notificationTo: notificationTo.toUTCString(),\r\n outageFrom: outageFrom ? outageFrom.toUTCString() : null,\r\n outageTo: outageTo ? outageTo.toUTCString() : null,\r\n };\r\n\r\n return transformedData;\r\n};\r\n\r\nexport default outageNotificationItemTransformationBeforeSave;\r\n","import axios from \"axios\";\r\n\r\nimport * as types from \"./actionTypes\";\r\nimport { navigateToReports, navigateToOutageNotifications } from \"./navigationActions\";\r\nimport { beginAjaxCall, ajaxCallError } from \"./ajaxStatusActions\";\r\nimport ResponseStatus from \"../utils/responseStatus\";\r\nimport outageNotificationItemTransformationBeforeSave from \"../data-transformations/outageNotificationItemTransformationBeforeSave\";\r\n\r\nexport const createOutageNotification = data => dispatch => {\r\n dispatch(beginAjaxCall());\r\n\r\n const transformedData = outageNotificationItemTransformationBeforeSave(data);\r\n\r\n axios\r\n .post(`outagenotification`, transformedData)\r\n .then(response => {\r\n if (ResponseStatus.IsCreated(response.status)) {\r\n dispatch({\r\n type: types.OUTAGE_NOTIFICATION_ADD\r\n });\r\n\r\n dispatch(navigateToOutageNotifications());\r\n } else {\r\n dispatch(ajaxCallError());\r\n }\r\n })\r\n .catch(error => {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n });\r\n};\r\n\r\nexport const updateOutageNotification = data => dispatch => {\r\n dispatch(beginAjaxCall());\r\n\r\n const transformedData = outageNotificationItemTransformationBeforeSave(data);\r\n\r\n axios\r\n .put(`outagenotification`, transformedData)\r\n .then(response => {\r\n if (ResponseStatus.IsOK(response.status)) {\r\n dispatch({\r\n type: types.OUTAGE_NOTIFICATION_UPDATE,\r\n data: response.data\r\n });\r\n\r\n dispatch(navigateToOutageNotifications());\r\n } else {\r\n dispatch(ajaxCallError());\r\n }\r\n })\r\n .catch(error => {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n });\r\n};\r\n","import React from 'react';\r\nimport PropTypes from \"prop-types\";\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators, compose} from \"redux\";\r\nimport {translate} from \"react-i18next\";\r\n\r\nimport { reportDetailPropTypes } from \"../../common/propTypes\";\r\nimport OutageNotificationDetail from './outageNotificationDetail';\r\nimport {getRowById} from \"../../reducers/tableReducer\";\r\nimport {navigateToOutageNotifications} from \"../../actions/navigationActions\";\r\nimport { updateOutageNotification } from '../../actions/outageNotificationActions';\r\n\r\nconst OutageNotificationDetailUpdate = ({initialValues, saveAction, cancelAction, t}) => {\r\n return ;\r\n};\r\n\r\nOutageNotificationDetailUpdate.propTypes = {\r\n initialValues: reportDetailPropTypes.isRequired,\r\n saveAction: PropTypes.func.isRequired,\r\n cancelAction: PropTypes.func.isRequired,\r\n t: PropTypes.func.isRequired,\r\n};\r\n\r\nconst mapStateToProps = (state, {match}) => {\r\n const id = match.params.id;\r\n\r\n return {\r\n lang: state.app.lang,\r\n initialValues: getRowById(state, id)\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n saveAction: bindActionCreators(updateOutageNotification, dispatch),\r\n cancelAction: bindActionCreators(navigateToOutageNotifications, dispatch)\r\n };\r\n};\r\n\r\nexport default compose(connect(mapStateToProps, mapDispatchToProps), translate('common'))(OutageNotificationDetailUpdate);\r\n\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators, compose } from 'redux';\r\nimport { translate } from 'react-i18next';\r\n\r\nimport OutageNotificationDetail from './outageNotificationDetail';\r\nimport { createOutageNotification } from '../../actions/outageNotificationActions';\r\nimport { navigateToOutageNotifications } from '../../actions/navigationActions';\r\nimport * as enums from '../../common/enums';\r\n\r\nconst initialValues = {\r\n name: '',\r\n filter: enums.OUTAGE_NOTIFICATION_FILTER_TYPE[0],\r\n order: 0,\r\n};\r\n\r\nconst OutageNotificationDetailCreate = ({ saveAction, cancelAction, t }) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nOutageNotificationDetailCreate.propTypes = {\r\n saveAction: PropTypes.func.isRequired,\r\n cancelAction: PropTypes.func.isRequired,\r\n t: PropTypes.func.isRequired,\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n saveAction: bindActionCreators(createOutageNotification, dispatch),\r\n cancelAction: bindActionCreators(navigateToOutageNotifications, dispatch),\r\n };\r\n};\r\n\r\nexport default compose(connect(undefined, mapDispatchToProps), translate('common'))(OutageNotificationDetailCreate);\r\n","import React from 'react';\r\nimport { GridCellProps } from '@progress/kendo-react-grid';\r\nimport { TEXT_HORIZONTAL_ALIGN } from '../../../common/constants';\r\n\r\nexport interface StringCellProps extends Partial {\r\n textAlign?: any;\r\n onClick?: () => void;\r\n}\r\n\r\nclass StringCellEx extends React.Component {\r\n render() {\r\n const value = this.props.field ? this.props.dataItem[this.props.field] : '';\r\n let { textAlign, onClick, style } = this.props;\r\n\r\n if (textAlign === null) {\r\n textAlign = TEXT_HORIZONTAL_ALIGN.CENTER;\r\n }\r\n\r\n if (style) {\r\n style.textAlign = textAlign;\r\n }\r\n\r\n return (\r\n \r\n {value}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default StringCellEx;\r\n","import axios from \"axios\";\r\n\r\nimport { beginAjaxCall, ajaxCallError } from \"./ajaxStatusActions\";\r\nimport ResponseStatus from \"../utils/responseStatus\";\r\nimport { showLoadingSpinner, hideLoadingSpinner } from \"./loadingSpinnerActions\";\r\nimport { addHrefWithFileToDownload } from \"../utils/commonFunctions\";\r\n\r\nconst downloadReport = (reportId, dispatch, getState) => {\r\n dispatch(beginAjaxCall());\r\n \r\n if (reportId) {\r\n dispatch(showLoadingSpinner());\r\n \r\n const { table } = getState();\r\n const { actionUrl } = table;\r\n\r\n axios\r\n .get(`${actionUrl}/xlsx/${reportId}`, {\r\n responseType: \"blob\",\r\n })\r\n .then((response) => { \r\n if (ResponseStatus.IsOK(response.status)) {\r\n \r\n const dateString = new Date().toLocaleDateString(); \r\n addHrefWithFileToDownload(response.data, `${reportId}_${dateString}.xlsx`);\r\n\r\n dispatch(hideLoadingSpinner());\r\n } else {\r\n dispatch(hideLoadingSpinner());\r\n dispatch(ajaxCallError()); \r\n }\r\n })\r\n .catch((error) => {\r\n dispatch(hideLoadingSpinner());\r\n dispatch(ajaxCallError());\r\n throw error;\r\n });\r\n }\r\n};\r\n\r\nexport const downloadReportById = (id) => (dispatch, getState) => {\r\n downloadReport(id, dispatch, getState);\r\n};","import React from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { compose, bindActionCreators, Dispatch } from \"redux\";\r\nimport { translate } from \"react-i18next\";\r\n\r\nimport Table from \"../common/Table\";\r\nimport { GridColumn as Column } from \"@progress/kendo-react-grid\";\r\nimport StringCell from \"../common/formatters/stringCellEx\";\r\nimport DateCell from \"../common/formatters/DateCell\";\r\nimport ButtonCell from \"../common/ButtonCell\";\r\nimport Translation from \"../common/Translation\";\r\nimport Alerts from \"../common/Alerts\";\r\nimport { TARGET_CAMPAIGN } from \"../../data-transformations/dataTransformationTypes\";\r\nimport { navigateTo } from \"../../actions/navigationActions\";\r\nimport { downloadReportById } from \"../../actions/targetCampaignActions\";\r\nimport { TEXT_HORIZONTAL_ALIGN, } from \"../../common/constants\";\r\nimport TargetCampaignGroup from \"../../entities/targetCampaignGroup\";\r\nimport { nameofFactory } from '../../helpers/nameOfFactory';\r\n\r\nconst nameof = nameofFactory();\r\n\r\nconst defaultRatingTabelSort = [\r\n {\r\n dir: \"desc\",\r\n field: \"dateOfLastImport\",\r\n },\r\n];\r\n\r\nconst actionUrl = \"targetcampaign\";\r\n\r\ninterface TargetCampaignProp extends TargetCampaignDispatchProps {}\r\n\r\ninterface TargetCampaignDispatchProps {\r\n t: any;\r\n navigateTo: typeof navigateTo;\r\n downloadReportById: (id: string) => (dispatch: Dispatch, getState: any) => void;\r\n}\r\n\r\nconst TargetCampaign = (props: TargetCampaignProp) => {\r\n const { t, downloadReportById } = props;\r\n\r\n let table;\r\n\r\n const customRowRender = (trElement: any) => {\r\n return trElement;\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n {/*
    \r\n \r\n
    \r\n
    */}\r\n
    \r\n {\r\n table = el;\r\n }}\r\n dataTransformation={TARGET_CAMPAIGN}\r\n name=\"TargetCampaignTable\"\r\n customRowRender={customRowRender}\r\n defaultSort={defaultRatingTabelSort}\r\n >\r\n \r\n (\r\n \r\n )}\r\n title={t(\"CampaignCode\")}\r\n />\r\n (\r\n \r\n )}\r\n title={t(\"ItemCount\")}\r\n />\r\n (\r\n \r\n )}\r\n title={t(\"DateOfLastImport\")}\r\n />\r\n (\r\n \r\n )}\r\n title={t(\"DateOfLastNotificationSent\")}\r\n />\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch) => {\r\n return {\r\n navigateTo: bindActionCreators(navigateTo, dispatch),\r\n downloadReportById: (id: string) => dispatch(downloadReportById(id))\r\n };\r\n};\r\n\r\nexport default compose(connect(null, mapDispatchToProps), translate(\"common\"))(TargetCampaign);\r\n","import React from 'react';\r\n\r\nimport ActionButton from '../common/ActionButton';\r\nimport ToggableActionButton from '../common/ToggableActionButton';\r\n\r\ninterface RewardsActionsBarProps {\r\n onNew: () => void;\r\n onEdit: () => void;\r\n onRemove: () => void;\r\n onClone: () => void;\r\n onShowActive: () => void;\r\n onShowAll: () => void;\r\n}\r\n\r\nexport default class RewardsActionsBar extends React.Component {\r\n render() {\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { compose, bindActionCreators, Dispatch } from 'redux';\r\nimport { translate } from 'react-i18next';\r\n\r\nimport Table from '../common/Table';\r\nimport { GridColumn as Column } from '@progress/kendo-react-grid';\r\nimport StringCell from '../common/formatters/StringCell';\r\nimport EnumCell from '../common/formatters/EnumCelll';\r\nimport NavigableCell from '../common/formatters/navigableCell';\r\nimport Translation from '../common/Translation';\r\nimport Alerts from '../common/Alerts';\r\nimport { REWARD } from '../../data-transformations/dataTransformationTypes';\r\nimport { navigateTo } from '../../actions/navigationActions';\r\nimport * as enums from '../../common/enums';\r\nimport { NAVIGATION_PATHS, TEXT_HORIZONTAL_ALIGN } from '../../common/constants';\r\nimport RewardsActionsBar from './rewardsActionsBar';\r\nimport { nameofFactory } from '../../helpers/nameOfFactory';\r\nimport Reward from '../../entities/reward';\r\nimport DateTimeCell from '../common/formatters/DateTimeCell';\r\nimport { BaseListProps, BaseListDispatchProps } from '../common/types/baseDetail';\r\nimport * as types from '../../actions/actionTypes';\r\n\r\nconst nameof = nameofFactory();\r\n\r\nconst defaultRewardTabelSort = [\r\n {\r\n dir: 'desc',\r\n field: 'dateOfCreate',\r\n },\r\n];\r\n\r\nconst actionUrl = 'rewards';\r\n\r\ninterface RewardsProp extends BaseListProps {}\r\n\r\nconst Rewards = ({ t, navigateTo }: RewardsProp) => {\r\n let table: any;\r\n\r\n const onNew = () => {\r\n navigateTo(NAVIGATION_PATHS.REWARD_CREATE);\r\n };\r\n\r\n const onEdit = () => {\r\n table.getWrappedInstance().editSelected();\r\n };\r\n\r\n const onRemove = () => {\r\n table.getWrappedInstance().removeSelected();\r\n };\r\n\r\n const onClone = () => {\r\n table.getWrappedInstance().cloneSelected();\r\n };\r\n\r\n const customRowRender = (trElement: any) => {\r\n return trElement;\r\n };\r\n\r\n const onShowActive = () => {\r\n const filters = [];\r\n filters[0] = {\r\n field: nameof('availableTo'),\r\n operator: 'gte',\r\n value: new Date().toISOString(),\r\n };\r\n filters[1] = { field: nameof('availableTo'), operator: 'eq', logicalOperator: 1 };\r\n\r\n table.getWrappedInstance().customFilter(filters);\r\n };\r\n\r\n const onShowAll = () => {\r\n table.getWrappedInstance().onFilterClear();\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {\r\n table = el;\r\n }}\r\n dataTransformation={REWARD}\r\n name=\"RewardTable\"\r\n customRowRender={customRowRender}\r\n defaultSort={defaultRewardTabelSort}\r\n afterLoadDataActionType={types.REWARD_FETCH}\r\n >\r\n \r\n (\r\n \r\n )}\r\n title={t('Name')}\r\n />\r\n (\r\n \r\n )}\r\n title={t('Code')}\r\n />\r\n (\r\n \r\n )}\r\n title={t('ExternalId')}\r\n />\r\n (\r\n \r\n )}\r\n title={t('ProductCode')}\r\n />\r\n }\r\n title={t('DateOfCreate')}\r\n />\r\n }\r\n title={t('AvailableFrom')}\r\n />\r\n }\r\n title={t('AvailableTo')}\r\n />\r\n (\r\n \r\n )}\r\n title={t('SourceOfSubscribers')}\r\n />\r\n (\r\n \r\n )}\r\n title={t('CampaignCode')}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): BaseListDispatchProps => {\r\n return {\r\n navigateTo: bindActionCreators(navigateTo, dispatch),\r\n };\r\n};\r\n\r\nexport default compose(connect(null, mapDispatchToProps), translate('common'))(Rewards);\r\n","import React from 'react';\r\nimport { Field } from 'react-final-form';\r\n\r\nimport * as enums from '../../common/enums';\r\nimport Translation from '../common/Translation';\r\nimport Input from '../common/Input';\r\nimport DropDown from '../common/DropDown';\r\nimport Reward from '../../entities/reward';\r\nimport Textarea from '../common/Textarea';\r\nimport DateTimePicker from '../common/DateTimePicker';\r\nimport Dropzone from '../common/DropZone';\r\nimport Switch from '../common/Switch';\r\nimport Condition from '../common/utils/Condition';\r\nimport { RewardDetailPanelProps } from './type';\r\nimport DropDownWithValueField from '../common/DropDownWithValueField';\r\n\r\nexport default class RewardDetailStandardPanel extends React.Component {\r\n componentDidMount() {}\r\n\r\n render() {\r\n console.debug('RewardDetailStandardPanel.render');\r\n const nameof = this.props.nameof;\r\n\r\n return (\r\n \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n\r\n \r\n
    \r\n\r\n
    \r\n \r\n\r\n \r\n
    \r\n\r\n
    \r\n \r\n\r\n \r\n
    \r\n\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n \r\n\r\n
    \r\n \r\n\r\n \r\n
    \r\n\r\n
    \r\n \r\n\r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n\r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n \r\n\r\n \r\n
    \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport { Field } from 'react-final-form';\r\n\r\nimport * as enums from '../../common/enums';\r\n\r\nimport Translation from '../common/Translation';\r\nimport Input from '../common/Input';\r\nimport DropDown from '../common/DropDown';\r\nimport Reward from '../../entities/reward';\r\nimport Textarea from '../common/Textarea';\r\nimport DateTimePicker from '../common/DateTimePicker';\r\nimport Dropzone from '../common/DropZone';\r\nimport Switch from '../common/Switch';\r\nimport Condition from '../common/utils/Condition';\r\nimport { RewardDetailPanelProps } from './type';\r\nimport DropDownWithValueField from '../common/DropDownWithValueField';\r\n\r\nexport default class RewardDetailFollowingPanel extends React.Component {\r\n componentDidMount() {}\r\n\r\n render() {\r\n console.debug('RewardDetailFollowingPanel.render');\r\n const nameof = this.props.nameof;\r\n\r\n return (\r\n \r\n
    \r\n \r\n {/* */}\r\n
    \r\n\r\n
    \r\n \r\n\r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n\r\n \r\n
    \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { Form, Field } from 'react-final-form';\r\nimport createDecorator from 'final-form-calculate';\r\n\r\nimport * as enums from '../../common/enums';\r\n\r\nimport Alerts from '../common/Alerts';\r\nimport Translation from '../common/Translation';\r\nimport CancelButton from '../common/CancelButton';\r\nimport Input from '../common/Input';\r\nimport DropDown from '../common/DropDown';\r\nimport Reward from '../../entities/reward';\r\nimport SubmitButton from '../common/SubmitButton';\r\nimport { nameofFactory } from '../../helpers/nameOfFactory';\r\nimport Textarea from '../common/Textarea';\r\nimport DateTimePicker from '../common/DateTimePicker';\r\nimport Dropzone from '../common/DropZone';\r\nimport { isEmpty } from '../../utils/isEmpty';\r\nimport { MAX_IMAGE_SIZE_IN_BYTES, MAX_IMAGE_SIZE_IN_MEGA_BYTES } from '../../common/configs';\r\nimport Switch from '../common/Switch';\r\nimport Condition from '../common/utils/Condition';\r\nimport Hidden from '../common/utils/Hidden';\r\nimport { BaseDetailProps } from '../common/types/baseDetail';\r\nimport DropDownWithValueField from '../common/DropDownWithValueField';\r\nimport { getData as getRewards, getUserReadableProperty as getFollowingRewardUserReadableProperty } from '../../reducers/rewardReducer';\r\nimport RewardDetailStandardPanel from './rewardDetailStandardPanel';\r\nimport RewardDetailFollowingPanel from './rewardDetailFollowingPanel';\r\n\r\nconst nameof = nameofFactory();\r\n\r\nconst getImageUrl = (imageValue: any, oldImageUrl: any) => {\r\n if (oldImageUrl) {\r\n URL.revokeObjectURL(oldImageUrl);\r\n }\r\n\r\n let newImageUrl = null;\r\n if (!isEmpty(imageValue)) {\r\n newImageUrl = URL.createObjectURL(imageValue);\r\n }\r\n\r\n return newImageUrl;\r\n};\r\n\r\nconst formDecorator = createDecorator({\r\n field: 'detailImage',\r\n updates: {\r\n detailImageUrl: (imageValue: any, allValues: any) => {\r\n const oldImageUrl = allValues.detailImageUrl;\r\n\r\n return getImageUrl(imageValue, oldImageUrl);\r\n },\r\n },\r\n});\r\n\r\nexport interface RewardDetailProps extends BaseDetailProps, RewardDetailStateProps {\r\n headerText: string;\r\n}\r\n\r\nexport interface RewardDetailStateProps {\r\n lang: string;\r\n rewards: Reward[];\r\n followingRewardUserReadableProperty: keyof Reward;\r\n}\r\n\r\nclass RewardDetail extends React.Component {\r\n componentDidMount() {}\r\n\r\n handleOnSubmit = (values: object) => {\r\n this.props.submitAction(values as Reward);\r\n };\r\n\r\n handleOnCancel = (event: React.MouseEvent) => {\r\n event.preventDefault();\r\n\r\n this.props.cancelAction();\r\n };\r\n\r\n showIsDigiCondition = (value: any) => {\r\n return value !== enums.SOURCE_OF_SUBSCRIBERS_TYPES[1];\r\n };\r\n\r\n showIsO2VopeCondition = (value: any) => {\r\n return value === enums.SOURCE_OF_SUBSCRIBERS_TYPES[1];\r\n };\r\n\r\n variantFollowing = (value: any) => {\r\n return value === enums.REWARD_VARIANT[enums.REWARD_VARIANT_ENUM.FOLLOWING];\r\n };\r\n\r\n variantStandard = (value: any) => {\r\n return value === enums.REWARD_VARIANT[enums.REWARD_VARIANT_ENUM.STANDARD];\r\n };\r\n\r\n showIsGameOrAffiliateProgramCondition = (value: any) => {\r\n return value === enums.SOURCE_OF_SUBSCRIBERS_TYPES[3] || value === enums.SOURCE_OF_SUBSCRIBERS_TYPES[9];\r\n };\r\n\r\n translatedFormValidation = (values: object) => {\r\n const { t } = this.props;\r\n const typedValues = values as Reward;\r\n const errors: any = {};\r\n\r\n if (!typedValues.name) {\r\n errors[nameof('name')] = t('NameIsRequired');\r\n }\r\n\r\n if (!typedValues.productCode) {\r\n errors[nameof('productCode')] = 'Kód produktu je povinný';\r\n }\r\n\r\n if (!typedValues.type) {\r\n errors[nameof('type')] = 'Typ je povinný';\r\n }\r\n\r\n if (!typedValues.variant) {\r\n errors[nameof('variant')] = 'Varianta je povinná';\r\n }\r\n\r\n if (typedValues.isDigi && !typedValues.priceByCreditCard) {\r\n errors[nameof('priceByCreditCard')] = 'Cena pro DIGI je poninná';\r\n }\r\n\r\n if (typedValues.isDigi && typedValues.numberOfPeriods < 1) {\r\n errors[nameof('numberOfPeriods')] = 'Pro platbu kartou musí být nastaven počet opakování';\r\n }\r\n\r\n if (!typedValues.code) {\r\n errors[nameof('code')] = 'Kód je povinný';\r\n }\r\n\r\n if (\r\n typedValues.sourceOfSubscribers.value === enums.SOURCE_OF_SUBSCRIBERS_TYPES[1].value &&\r\n typedValues.usePriceWhenO2PriceIsNull &&\r\n typedValues.price <= 0\r\n ) {\r\n errors[nameof('price')] = 'Cena je povinná';\r\n }\r\n\r\n if (typedValues.variant.value === enums.REWARD_VARIANT_ENUM.STANDARD) {\r\n if (!typedValues.campaignCode && typedValues.sourceOfSubscribers.value === enums.SOURCE_OF_SUBSCRIBERS_TYPES[2].value) {\r\n errors[nameof('campaignCode')] = 'Kód kampaně je povinný pro zdroj uživatelů CMT';\r\n }\r\n\r\n if (!typedValues.isDigi && !typedValues.extId) {\r\n errors[nameof('extId')] = 'Externí id je povinné';\r\n }\r\n\r\n if (typedValues.extId && typedValues.extId <= 0) {\r\n errors[nameof('extId')] = 'Externí id musí být větší jak 0';\r\n }\r\n\r\n if (!typedValues.availableFrom) {\r\n errors[nameof('availableFrom')] = 'Datum Dostupný od je povinné';\r\n }\r\n\r\n if (!typedValues.availableTo) {\r\n errors[nameof('availableTo')] = 'Datum Dostupný do je povinné';\r\n }\r\n\r\n if (typedValues.availableTo && typedValues.availableFrom && typedValues.availableTo < typedValues.availableFrom) {\r\n errors[nameof('availableTo')] = 'Datum Dostupný do, musí být větší než datum Dostupný od';\r\n }\r\n\r\n if (!typedValues.platform) {\r\n errors[nameof('platform')] = 'Platforma je povinná';\r\n }\r\n\r\n if (!typedValues.description) {\r\n errors[nameof('description')] = 'Popis je povinný';\r\n }\r\n\r\n if (typedValues.detailImage && typedValues.detailImage.size > MAX_IMAGE_SIZE_IN_BYTES) {\r\n errors[nameof('detailImage')] = `Obrázek je příliš velký. Maximální veliskot je ${MAX_IMAGE_SIZE_IN_MEGA_BYTES} MB`;\r\n }\r\n\r\n if (!typedValues.detailName) {\r\n errors[nameof('detailName')] = t('DetailNameIsRequired');\r\n }\r\n\r\n if (!typedValues.sourceOfSubscribers) {\r\n errors[nameof('sourceOfSubscribers')] = 'Zdroj uživatelů je povinný';\r\n }\r\n\r\n if (typedValues.isDigi && typedValues.sourceOfSubscribers === enums.SOURCE_OF_SUBSCRIBERS_TYPES[1]) {\r\n errors[nameof('sourceOfSubscribers')] = 'Pro DIGI nemůže být zdroj uživatelu O2 - VOPE';\r\n }\r\n\r\n if (typedValues.useInServicePriceCalculator && !typedValues.isDigi) {\r\n errors[nameof('useInServicePriceCalculator')] = 'Použití ceny při výpočtu ceny služby lze pouze pro DIGI';\r\n }\r\n\r\n if (typedValues.useWhenProductIsActivated && !typedValues.isDigi) {\r\n errors[nameof('useWhenProductIsActivated')] = 'Použití ceny v případě že je služba aktivní lze pouze pro DIGI';\r\n }\r\n }\r\n\r\n if (typedValues.variant.value === enums.REWARD_VARIANT_ENUM.FOLLOWING) {\r\n if (!typedValues.isDigi) {\r\n errors[nameof('isDigi')] = 'Pro variantu Navazujicí je podporována pouze platba kartou';\r\n }\r\n }\r\n\r\n return errors;\r\n };\r\n\r\n render() {\r\n console.debug('RewardDetail.render');\r\n\r\n const { initialValues, headerText } = this.props;\r\n\r\n return (\r\n
    \r\n
    \r\n

    {headerText}

    \r\n
    \r\n
    \r\n \r\n
    \r\n (\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n reward.variant === enums.REWARD_VARIANT_ENUM.FOLLOWING)}\r\n followingRewardUserReadableProperty={this.props.followingRewardUserReadableProperty}\r\n />\r\n \r\n\r\n \r\n \r\n \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n />\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state: any): RewardDetailStateProps => {\r\n return {\r\n lang: state.app.lang,\r\n rewards: getRewards(state),\r\n followingRewardUserReadableProperty: getFollowingRewardUserReadableProperty(state),\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(RewardDetail);\r\n","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators, compose, Dispatch } from 'redux';\r\nimport { translate } from 'react-i18next';\r\n\r\nimport RewardDetail from './rewardDetail';\r\nimport { createReward } from '../../actions/rewardActions';\r\nimport { navigateToRewards } from '../../actions/navigationActions';\r\nimport Reward from '../../entities/reward';\r\nimport { PLATFORMA_TYPES, REWARD_TYPES, REWARD_VARIANT, SOURCE_OF_SUBSCRIBERS_TYPES } from '../../common/enums';\r\nimport { BaseDetailProps } from '../common/types/baseDetail';\r\n\r\nconst initialValues = new Reward({\r\n maxDraws: 1,\r\n availableFrom: new Date(),\r\n platform: PLATFORMA_TYPES[0].value,\r\n type: REWARD_TYPES[0].value,\r\n sourceOfSubscribers: SOURCE_OF_SUBSCRIBERS_TYPES[0].value,\r\n variant: REWARD_VARIANT[0].value,\r\n});\r\n\r\ninterface RewardDetailCreateProps extends BaseDetailProps {}\r\n\r\nconst RewardDetailCreate = ({ submitAction, cancelAction, t }: BaseDetailProps) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch) => {\r\n return {\r\n submitAction: bindActionCreators(createReward, dispatch),\r\n cancelAction: bindActionCreators(navigateToRewards, dispatch),\r\n };\r\n};\r\n\r\nexport default compose(connect(undefined, mapDispatchToProps), translate('common'))(RewardDetailCreate);\r\n","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators, compose, Dispatch } from 'redux';\r\nimport { translate } from 'react-i18next';\r\n\r\nimport RewardDetail from './rewardDetail';\r\nimport { getRowById } from '../../reducers/tableReducer';\r\nimport { navigateToRewards } from '../../actions/navigationActions';\r\nimport { updateReward } from '../../actions/rewardActions';\r\nimport { BaseDetailProps } from '../common/types/baseDetail';\r\nimport Reward from '../../entities/reward';\r\n\r\ninterface RewardDetailUpdateProps extends BaseDetailProps {}\r\n\r\nconst RewardDetailUpdate = ({ initialValues, submitAction, cancelAction, t }: BaseDetailProps) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state: any, { match }: any) => {\r\n const id = match.params.id;\r\n\r\n return {\r\n lang: state.app.lang,\r\n initialValues: getRowById(state, id),\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch) => {\r\n return {\r\n submitAction: bindActionCreators(updateReward, dispatch),\r\n cancelAction: bindActionCreators(navigateToRewards, dispatch),\r\n };\r\n};\r\n\r\nexport default compose(connect(mapStateToProps, mapDispatchToProps), translate('common'))(RewardDetailUpdate);\r\n//export default connect(mapStateToProps, mapDispatchToProps)(RewardDetailUpdate);\r\n","import React from \"react\";\r\n\r\nconst LoadingSpinner : React.FunctionComponent = () => {\r\n return (\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default LoadingSpinner;\r\n","import * as types from '../actions/actionTypes';\r\n\r\nconst loadingSpinnerInitialState= {\r\n isVisible: false,\r\n indicatorStack: 0,\r\n};\r\n\r\nconst loadingSpinner = (state = loadingSpinnerInitialState, action) => {\r\n switch (action.type) { \r\n case types.LOADING_SPINNER_SHOW:\r\n const newStackShow = state.indicatorStack + 1;\r\n return {\r\n ...state,\r\n isVisible: newStackShow > 0,\r\n indicatorStack: newStackShow\r\n };\r\n case types.LOADING_SPINNER_HIDE:\r\n const newStackHide = state.indicatorStack - 1;\r\n return {\r\n ...state, \r\n isVisible: newStackHide > 0,\r\n indicatorStack: newStackHide\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default loadingSpinner;\r\n\r\nexport const isLoadingSpinnerVisible = (state) => {\r\n return state.loadingSpinner.isVisible;\r\n};\r\n","import React from \"react\";\r\nimport { connect } from 'react-redux';\r\nimport LoadingSpinner from \"./loadingSpinner\";\r\nimport { isLoadingSpinnerVisible } from \"../../../reducers/loadingSpinnerReducer\";\r\n\r\ntype LoadingSpinnerContainerStateProps = {\r\n isVisible: boolean;\r\n};\r\n\r\ntype LoadingSpinnerContainerProps = {} & LoadingSpinnerContainerStateProps;\r\n\r\nclass LoadingSpinnerContainer extends React.Component {\r\n\r\n render(): React.ReactElement | null {\r\n const { isVisible } = this.props;\r\n if (isVisible) {\r\n return ();\r\n }\r\n\r\n return (null);\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state: any): LoadingSpinnerContainerStateProps => {\r\n return {\r\n isVisible: isLoadingSpinnerVisible(state),\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(LoadingSpinnerContainer);","import React from 'react';\r\n\r\nimport ActionButton from '../common/ActionButton';\r\n\r\ninterface SimCardTypeActionsBarProps {\r\n onNew: () => void;\r\n onEdit: () => void;\r\n onRemove: () => void;\r\n}\r\n\r\nexport default class SimCardTypeActionsBar extends React.Component {\r\n render() {\r\n return (\r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { compose, bindActionCreators, Dispatch } from 'redux';\r\nimport { translate } from 'react-i18next';\r\n\r\nimport { edit, filterChange, filterClear } from '../../actions/tableActions';\r\nimport Table from '../common/Table';\r\nimport { GridColumn as Column } from '@progress/kendo-react-grid';\r\nimport StringCell from '../common/formatters/StringCell';\r\nimport EnumCell from '../common/formatters/EnumCelll';\r\nimport DateCell from '../common/formatters/DateCell';\r\nimport NavigableCell from '../common/formatters/navigableCell';\r\nimport Translation from '../common/Translation';\r\nimport Alerts from '../common/Alerts';\r\nimport { SIM_CARD_TYPE } from '../../data-transformations/dataTransformationTypes';\r\nimport { navigateTo } from '../../actions/navigationActions';\r\nimport * as enums from '../../common/enums';\r\nimport { NAVIGATION_PATHS, TEXT_HORIZONTAL_ALIGN } from '../../common/constants';\r\nimport SimCardTypeActionsBar from './simCardTypeActionsBar';\r\nimport { nameofFactory } from '../../helpers/nameOfFactory';\r\nimport SimCardType from '../../entities/simCardType';\r\nimport BoolCell from '../common/formatters/BoolCell';\r\n\r\nconst nameof = nameofFactory();\r\n\r\nconst defaultSimCardTypeTabelSort = [\r\n {\r\n dir: 'asc',\r\n field: 'id',\r\n },\r\n];\r\n\r\nconst actionUrl = 'sim-card-types';\r\n\r\ninterface SimCardTypesProp extends SimCardTypesDispatchProps {}\r\n\r\ninterface SimCardTypesDispatchProps {\r\n t: any;\r\n navigateTo: typeof navigateTo;\r\n}\r\n\r\nconst SimCardTypes = ({ t, navigateTo }: SimCardTypesProp) => {\r\n let table: any;\r\n\r\n const onNew = () => {\r\n navigateTo(NAVIGATION_PATHS.SIM_CARD_TYPE_CREATE);\r\n };\r\n\r\n const onEdit = () => {\r\n table.getWrappedInstance().editSelected();\r\n };\r\n\r\n const onRemove = () => {\r\n table.getWrappedInstance().removeSelected();\r\n };\r\n\r\n const customRowRender = (trElement: any) => {\r\n return trElement;\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {\r\n table = el;\r\n }}\r\n dataTransformation={SIM_CARD_TYPE}\r\n name=\"SimCardTypesTable\"\r\n customRowRender={customRowRender}\r\n defaultSort={defaultSimCardTypeTabelSort}\r\n >\r\n \r\n (\r\n \r\n )}\r\n title={t('Name')}\r\n />\r\n (\r\n \r\n )}\r\n title={t('IsManagerType')}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch) => {\r\n return {\r\n navigateTo: bindActionCreators(navigateTo, dispatch),\r\n clearFilter: bindActionCreators(filterClear, dispatch),\r\n filter: bindActionCreators(filterChange, dispatch),\r\n edit: bindActionCreators(edit, dispatch),\r\n };\r\n};\r\n\r\nexport default compose(connect(null, mapDispatchToProps), translate('common'))(SimCardTypes);\r\n","import * as types from '../actions/actionTypes';\r\n\r\nconst simCardTypeInitialState = {\r\n loadingDependencies: false,\r\n};\r\n\r\nconst simCardTypeReducer = (state = simCardTypeInitialState, action) => {\r\n switch (action.type) {\r\n /* case types.REWARD_LOADING_DEPENDENCIES_BEGIN:\r\n return {\r\n ...state,\r\n loadingDependencies: true,\r\n };\r\n case types.REWARD_LOADING_DEPENDENCIES_END:\r\n return {\r\n ...state,\r\n loadingDependencies: false,\r\n }; */\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default simCardTypeReducer;\r\n\r\nexport const isLoadingDependencies = (state) => {\r\n return state.simCardType.loadingDependencies === true;\r\n};\r\n","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { Form, Field } from 'react-final-form';\r\n\r\nimport Alerts from '../common/Alerts';\r\nimport Translation from '../common/Translation';\r\nimport CancelButton from '../common/CancelButton';\r\nimport Input from '../common/Input';\r\nimport LoadingIndicator from '../common/LoadingIndicator';\r\nimport SimCardType from '../../entities/simCardType';\r\nimport SubmitButton from '../common/SubmitButton';\r\nimport { nameofFactory } from '../../helpers/nameOfFactory';\r\nimport Switch from '../common/Switch';\r\nimport { isLoadingDependencies } from '../../reducers/simCardTypeReducer';\r\n\r\nconst nameof = nameofFactory();\r\n\r\nexport interface SimCardTypeDetailProps extends BaseSimCardTypeDetailProps, SimCardTypeDetailStateProps {\r\n headerText: string;\r\n}\r\n\r\nexport interface SimCardTypeDetailStateProps {\r\n lang: string;\r\n loadingDependencies: boolean;\r\n}\r\n\r\nexport interface BaseSimCardTypeDetailProps {\r\n initialValues: SimCardType;\r\n\r\n t: (key: string) => string;\r\n submitAction: (simCardType: SimCardType) => void;\r\n cancelAction: () => void;\r\n}\r\n\r\nclass SimCardTypeDetail extends React.Component {\r\n componentDidMount() {}\r\n\r\n handleOnSubmit = (values: object) => {\r\n this.props.submitAction(values as SimCardType);\r\n };\r\n\r\n handleOnCancel = (event: React.MouseEvent) => {\r\n event.preventDefault();\r\n\r\n this.props.cancelAction();\r\n };\r\n\r\n translatedFormValidation = (values: object) => {\r\n const { t } = this.props;\r\n const typedValues = values as SimCardType;\r\n const errors: any = {};\r\n\r\n if (!typedValues.name) {\r\n errors[nameof('name')] = t('NameIsRequired');\r\n }\r\n\r\n return errors;\r\n };\r\n\r\n render() {\r\n console.debug('SimCardTypeDetail.render');\r\n\r\n const { initialValues, headerText } = this.props;\r\n\r\n return (\r\n
    \r\n
    \r\n

    {headerText}

    \r\n
    \r\n
    \r\n \r\n
    \r\n (\r\n
    \r\n {this.props.loadingDependencies && }\r\n\r\n
    \r\n \r\n\r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n )}\r\n />\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state: any): SimCardTypeDetailStateProps => {\r\n return {\r\n lang: state.app.lang,\r\n loadingDependencies: isLoadingDependencies(state)\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(SimCardTypeDetail);\r\n","import axios from 'axios';\r\nimport { Dispatch } from 'react-redux';\r\n\r\nimport * as types from './actionTypes';\r\nimport { beginAjaxCall, ajaxCallError } from './ajaxStatusActions';\r\nimport { navigateToSimCardTypes } from './navigationActions';\r\nimport ResponseStatus from '../utils/responseStatus';\r\nimport SimCardType from '../entities/simCardType';\r\n\r\nexport const createSimCardType = (data: SimCardType) => (dispatch: Dispatch) => {\r\n dispatch(beginAjaxCall());\r\n\r\n axios\r\n .post(`simcardtype`, data)\r\n .then((response) => {\r\n if (ResponseStatus.IsCreated(response.status)) {\r\n dispatch({\r\n type: types.SIM_CARD_TYPE_ADD,\r\n });\r\n\r\n dispatch(navigateToSimCardTypes());\r\n } else {\r\n dispatch(ajaxCallError());\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n });\r\n};\r\n\r\nexport const updateSimCardType = (data: SimCardType) => (dispatch: Dispatch) => {\r\n dispatch(beginAjaxCall());\r\n\r\n axios\r\n .put(`simcardtype`, data)\r\n .then((response) => {\r\n if (ResponseStatus.IsOK(response.status)) {\r\n dispatch({\r\n type: types.SIM_CARD_TYPE_UPDATE,\r\n data: response.data,\r\n });\r\n\r\n dispatch(navigateToSimCardTypes());\r\n } else {\r\n dispatch(ajaxCallError());\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n });\r\n};\r\n","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators, compose, Dispatch } from 'redux';\r\nimport { translate } from 'react-i18next';\r\n\r\nimport SimCardTypeDetail, { BaseSimCardTypeDetailProps } from './simCardTypeDetail';\r\nimport { createSimCardType } from '../../actions/simCardTypeActions';\r\nimport { navigateToSimCardTypes } from '../../actions/navigationActions';\r\nimport SimCardType from '../../entities/simCardType';\r\n\r\nconst initialValues = new SimCardType({\r\n name: '',\r\n isManagerType: false,\r\n});\r\n\r\ninterface SimCardTypeDetailCreateProps extends BaseSimCardTypeDetailProps {\r\n t: (key: string) => string;\r\n}\r\n\r\nconst SimCardTypeDetailCreate = ({ submitAction, cancelAction, t }: SimCardTypeDetailCreateProps) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch) => {\r\n return {\r\n submitAction: bindActionCreators(createSimCardType, dispatch),\r\n cancelAction: bindActionCreators(navigateToSimCardTypes, dispatch),\r\n };\r\n};\r\n\r\nexport default compose(connect(undefined, mapDispatchToProps), translate('common'))(SimCardTypeDetailCreate);\r\n","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators, compose, Dispatch } from 'redux';\r\nimport { translate } from 'react-i18next';\r\n\r\nimport SimCardTypeDetail, { BaseSimCardTypeDetailProps } from './simCardTypeDetail';\r\nimport { getRowById } from '../../reducers/tableReducer';\r\nimport { navigateToSimCardTypes } from '../../actions/navigationActions';\r\nimport { updateSimCardType } from '../../actions/simCardTypeActions';\r\n\r\ninterface SimCardTypeDetailUpdateProps extends BaseSimCardTypeDetailProps {\r\n t: (key: string) => string;\r\n}\r\n\r\nconst SimCardTypeDetailUpdate = ({ initialValues, submitAction, cancelAction, t }: SimCardTypeDetailUpdateProps) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state: any, { match }: any) => {\r\n const id = match.params.id;\r\n\r\n return {\r\n lang: state.app.lang,\r\n initialValues: getRowById(state, id),\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch) => {\r\n return {\r\n submitAction: bindActionCreators(updateSimCardType, dispatch),\r\n cancelAction: bindActionCreators(navigateToSimCardTypes, dispatch),\r\n };\r\n};\r\n\r\nexport default compose(connect(mapStateToProps, mapDispatchToProps), translate('common'))(SimCardTypeDetailUpdate);\r\n//export default connect(mapStateToProps, mapDispatchToProps)(RewardDetailUpdate);\r\n","import React from 'react';\r\n\r\nimport ActionButton from '../common/ActionButton';\r\n\r\ninterface AffiliateProgramPartnersActionsBarProps {\r\n onNew: () => void;\r\n onEdit: () => void;\r\n onRemove: () => void;\r\n onClone: () => void;\r\n}\r\n\r\nexport default class AffiliateProgramPartnersActionsBar extends React.Component {\r\n render() {\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { compose, bindActionCreators, Dispatch } from 'redux';\r\nimport { translate } from 'react-i18next';\r\n\r\nimport Table from '../common/Table';\r\nimport { GridColumn as Column } from '@progress/kendo-react-grid';\r\n\r\nimport StringCell from '../common/formatters/StringCell';\r\nimport NavigableCell from '../common/formatters/navigableCell';\r\nimport Translation from '../common/Translation';\r\nimport Alerts from '../common/Alerts';\r\nimport { AFFILIATE_PROGRAM_PARTNER } from '../../data-transformations/dataTransformationTypes';\r\nimport { navigateTo } from '../../actions/navigationActions';\r\nimport { NAVIGATION_PATHS, TEXT_HORIZONTAL_ALIGN } from '../../common/constants';\r\nimport AffiliateProgramPartnersActionsBar from './affiliateProgramPartnersActionsBar';\r\nimport { nameofFactory } from '../../helpers/nameOfFactory';\r\nimport AffiliateProgramPartner from '../../entities/affiliateProgramPartner';\r\nimport { BaseListDispatchProps, BaseListProps } from '../common/types/baseDetail';\r\n\r\nconst nameof = nameofFactory();\r\n\r\nconst defaultRewardTabelSort = [\r\n {\r\n dir: 'desc',\r\n field: 'dateOfCreate',\r\n },\r\n];\r\n\r\nconst actionUrl = 'affiliateProgramPartner';\r\n\r\ninterface AffiliateProgramPartnersProp extends BaseListProps {}\r\n\r\nconst AffiliateProgramPartners = ({ t, navigateTo }: AffiliateProgramPartnersProp) => {\r\n let table: any;\r\n\r\n const onNew = () => {\r\n navigateTo(NAVIGATION_PATHS.AFFILIATE_PROGRAM_PARTNERS_CREATE);\r\n };\r\n\r\n const onEdit = () => {\r\n table.getWrappedInstance().editSelected();\r\n };\r\n\r\n const onRemove = () => {\r\n table.getWrappedInstance().removeSelected();\r\n };\r\n\r\n const onClone = () => {\r\n table.getWrappedInstance().cloneSelected();\r\n };\r\n\r\n const customRowRender = (trElement: any) => {\r\n return trElement;\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {\r\n table = el;\r\n }}\r\n dataTransformation={AFFILIATE_PROGRAM_PARTNER}\r\n name=\"AffiliateProgramPartnersTable\"\r\n customRowRender={customRowRender}\r\n defaultSort={defaultRewardTabelSort}\r\n >\r\n \r\n (\r\n \r\n )}\r\n title={t('Name')}\r\n />\r\n (\r\n \r\n )}\r\n title={t('Code')}\r\n />\r\n (\r\n \r\n )}\r\n title={t('Code')}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): BaseListDispatchProps => {\r\n return {\r\n navigateTo: bindActionCreators(navigateTo, dispatch),\r\n };\r\n};\r\n\r\nexport default compose(connect(null, mapDispatchToProps), translate('common'))(AffiliateProgramPartners);\r\n","import AffiliateProgramPartner from '../entities/affiliateProgramPartner';\r\n\r\nconst affiliateProgramPartnerItemTransformationBeforeSave = (affiliateProgramPartnerItem: AffiliateProgramPartner) => {\r\n const transformedData: Record = {\r\n ...affiliateProgramPartnerItem,\r\n };\r\n\r\n const body = new FormData();\r\n\r\n Object.keys(transformedData).forEach((key) => {\r\n if (transformedData[key] !== null && transformedData[key] !== undefined) {\r\n body.append(key, transformedData[key] as string | Blob);\r\n }\r\n });\r\n\r\n return body;\r\n};\r\n\r\nexport default affiliateProgramPartnerItemTransformationBeforeSave;\r\n","import * as types from '../actions/actionTypes';\r\nimport AffiliateProgramPartner from '../entities/affiliateProgramPartner';\r\n\r\nconst affiliateProgramPartnersInitialState = {\r\n userReadableProperty: 'name',\r\n loadingDependencies: false,\r\n loaded: false,\r\n data: [],\r\n};\r\n\r\nconst affiliateProgramPartners = (state = affiliateProgramPartnersInitialState, action: any) => {\r\n switch (action.type) {\r\n case types.AFFILIATE_PROGRAM_PARTNERS_FETCH:\r\n return {\r\n ...state,\r\n data: action.data.map((affiliateProgramPartner: AffiliateProgramPartner) => {\r\n return { ...affiliateProgramPartner };\r\n }),\r\n loaded: true,\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default affiliateProgramPartners;\r\n\r\nexport const isLoaded = (state: any): boolean => {\r\n return state.affiliateProgramPartners.loaded === true;\r\n};\r\n\r\nexport const getData = (state: any): AffiliateProgramPartner[] => {\r\n return state.affiliateProgramPartners.data;\r\n};\r\n\r\nexport const getUserReadableProperty = (state: any): keyof AffiliateProgramPartner => {\r\n return state.affiliateProgramPartners.userReadableProperty;\r\n};\r\n","import axios from 'axios';\r\nimport { Dispatch } from 'react-redux';\r\n\r\nimport * as types from './actionTypes';\r\nimport { beginAjaxCall, ajaxCallError } from './ajaxStatusActions';\r\nimport * as alertActions from './alertActions';\r\nimport { navigateToAffiliateProgramPartners } from './navigationActions';\r\n\r\nimport ResponseStatus from '../utils/responseStatus';\r\nimport affiliateProgramPartnersItemTransformationBeforeSave from '../data-transformations/affiliateProgramPartnersItemTransformationBeforeSave';\r\nimport { isLoaded } from '../reducers/affiliateProgramPartnersReducer';\r\n\r\nexport const fetchAffiliateProgramPartners = () => async (dispatch: Dispatch, getState: any) => {\r\n if (isLoaded(getState())) {\r\n return;\r\n }\r\n\r\n try {\r\n dispatch(beginAjaxCall());\r\n\r\n const response = await axios.get(`affiliateProgramPartner/`);\r\n\r\n if (ResponseStatus.IsOK(response.status)) {\r\n dispatch({\r\n type: types.AFFILIATE_PROGRAM_PARTNERS_FETCH,\r\n data: response.data,\r\n });\r\n } else {\r\n dispatch(ajaxCallError());\r\n }\r\n } catch (error) {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n }\r\n};\r\n\r\nexport const createAffiliateProgramPartner = (data: any) => (dispatch: Dispatch) => {\r\n dispatch(beginAjaxCall());\r\n\r\n const transformedData = affiliateProgramPartnersItemTransformationBeforeSave(data);\r\n\r\n axios\r\n .post(`affiliateProgramPartner`, transformedData)\r\n .then((response) => {\r\n if (ResponseStatus.IsCreated(response.status)) {\r\n dispatch({\r\n type: types.NEWS_ADD,\r\n });\r\n\r\n dispatch(navigateToAffiliateProgramPartners());\r\n } else {\r\n dispatch(ajaxCallError());\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n });\r\n};\r\n\r\nexport const updateAffiliateProgramPartner = (data: any) => (dispatch: Dispatch) => {\r\n dispatch(beginAjaxCall());\r\n\r\n const transformedData = affiliateProgramPartnersItemTransformationBeforeSave(data);\r\n\r\n axios\r\n .put(`affiliateProgramPartner`, transformedData)\r\n .then((response) => {\r\n if (ResponseStatus.IsOK(response.status)) {\r\n dispatch({\r\n type: types.NEWS_UPDATE,\r\n data: response.data,\r\n });\r\n\r\n dispatch(navigateToAffiliateProgramPartners());\r\n } else {\r\n dispatch(ajaxCallError());\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n });\r\n};\r\n","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { Form, Field } from 'react-final-form';\r\n\r\nimport * as enums from '../../common/enums';\r\n\r\nimport Alerts from '../common/Alerts';\r\nimport Translation from '../common/Translation';\r\nimport CancelButton from '../common/CancelButton';\r\nimport Input from '../common/Input';\r\nimport AffiliateProgramPartner from '../../entities/affiliateProgramPartner';\r\nimport SubmitButton from '../common/SubmitButton';\r\nimport { nameofFactory } from '../../helpers/nameOfFactory';\r\nimport Textarea from '../common/Textarea';\r\nimport { BaseDetailProps } from '../common/types/baseDetail';\r\n\r\nconst nameof = nameofFactory();\r\n\r\ninterface AffiliateProgramPartnerDetailProps extends BaseDetailProps, AffiliateProgramPartnerDetailStateProps {\r\n headerText: string;\r\n}\r\n\r\ninterface AffiliateProgramPartnerDetailStateProps {\r\n lang: string;\r\n}\r\n\r\nclass AffiliateProgramPartnerDetail extends React.Component {\r\n componentDidMount() {}\r\n\r\n handleOnSubmit = (values: object) => {\r\n this.props.submitAction(values as AffiliateProgramPartner);\r\n };\r\n\r\n handleOnCancel = (event: React.MouseEvent) => {\r\n event.preventDefault();\r\n\r\n this.props.cancelAction();\r\n };\r\n\r\n translatedFormValidation = (values: object) => {\r\n const { t } = this.props;\r\n const typedValues = values as AffiliateProgramPartner;\r\n const errors: Partial> = {};\r\n\r\n if (!typedValues.name) {\r\n errors[nameof('name')] = t('NameIsRequired');\r\n }\r\n\r\n if (!typedValues.code) {\r\n errors[nameof('code')] = 'Kód je povinný';\r\n }\r\n\r\n return errors;\r\n };\r\n\r\n render() {\r\n console.debug('AffiliateProgramPartnerDetail.render');\r\n\r\n const { initialValues, headerText } = this.props;\r\n\r\n return (\r\n
    \r\n
    \r\n

    {headerText}

    \r\n
    \r\n
    \r\n \r\n
    \r\n (\r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n\r\n \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n />\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state: any): AffiliateProgramPartnerDetailStateProps => {\r\n return {\r\n lang: state.app.lang,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(AffiliateProgramPartnerDetail);\r\n","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators, compose, Dispatch } from 'redux';\r\nimport { translate } from 'react-i18next';\r\n\r\nimport { createAffiliateProgramPartner } from '../../actions/affiliateProgramPartnerActions';\r\nimport { navigateToAffiliateProgramPartners } from '../../actions/navigationActions';\r\nimport AffiliateProgramPartner from '../../entities/affiliateProgramPartner';\r\nimport AffiliateProgramPartnerDetail from './affiliateProgramPartnerDetail';\r\nimport { BaseDetailDispatchProps, BaseDetailProps } from '../common/types/baseDetail';\r\n\r\nconst initialValues = new AffiliateProgramPartner({});\r\n\r\ninterface RewardDetailCreateProps extends BaseDetailProps {}\r\n\r\nconst AffiliateProgramPartnerDetailCreate = ({ submitAction, cancelAction, t }: RewardDetailCreateProps) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): BaseDetailDispatchProps => {\r\n return {\r\n submitAction: bindActionCreators(createAffiliateProgramPartner, dispatch),\r\n cancelAction: bindActionCreators(navigateToAffiliateProgramPartners, dispatch),\r\n };\r\n};\r\n\r\nexport default compose(connect(undefined, mapDispatchToProps), translate('common'))(AffiliateProgramPartnerDetailCreate);\r\n","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators, compose, Dispatch } from 'redux';\r\nimport { translate } from 'react-i18next';\r\n\r\nimport AffiliateProgramPartnerDetail from './affiliateProgramPartnerDetail';\r\nimport { getRowById } from '../../reducers/tableReducer';\r\nimport { navigateToAffiliateProgramPartners } from '../../actions/navigationActions';\r\nimport { updateAffiliateProgramPartner } from '../../actions/affiliateProgramPartnerActions';\r\nimport { BaseDetailDispatchProps, BaseDetailProps } from '../common/types/baseDetail';\r\nimport AffiliateProgramPartner from '../../entities/affiliateProgramPartner';\r\n\r\ninterface RewardDetailUpdateProps extends BaseDetailProps {}\r\n\r\nconst RewardDetailUpdate = ({ initialValues, submitAction, cancelAction, t }: RewardDetailUpdateProps) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state: any, { match }: any) => {\r\n const id = match.params.id;\r\n\r\n return {\r\n lang: state.app.lang,\r\n initialValues: getRowById(state, id),\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): BaseDetailDispatchProps => {\r\n return {\r\n submitAction: bindActionCreators(updateAffiliateProgramPartner, dispatch),\r\n cancelAction: bindActionCreators(navigateToAffiliateProgramPartners, dispatch),\r\n };\r\n};\r\n\r\nexport default compose(connect(mapStateToProps, mapDispatchToProps), translate('common'))(RewardDetailUpdate);\r\n","import React from 'react';\r\n\r\nimport ActionButton from '../common/ActionButton';\r\n\r\ninterface AffiliateProgramRewardsActionsBarProps {\r\n onNew: () => void;\r\n onEdit: () => void;\r\n onRemove: () => void;\r\n /* onClone: () => void; */\r\n}\r\n\r\nexport default class AffiliateProgramRewardsActionsBar extends React.Component {\r\n render() {\r\n return (\r\n
    \r\n \r\n \r\n \r\n {/* */}\r\n
    \r\n );\r\n }\r\n}\r\n","import AffiliateProgramReward from '../entities/affiliateProgramReward';\r\n\r\nconst affiliateProgramRewardItemTransformationBeforeSave = (affiliateProgramRewardItem: AffiliateProgramReward) => {\r\n const validFrom = affiliateProgramRewardItem.validFrom;\r\n const validTo = affiliateProgramRewardItem.validTo;\r\n const claimValidTo = affiliateProgramRewardItem.claimValidTo;\r\n /* const validFromOnlyDate = new Date(\r\n affiliateProgramRewardItem.validFrom.getFullYear(),\r\n affiliateProgramRewardItem.validFrom.getMonth(),\r\n affiliateProgramRewardItem.validFrom.getDate(),\r\n 0,\r\n 0,\r\n 0,\r\n 0\r\n );\r\n\r\n const validToOnlyDate = affiliateProgramRewardItem.validTo\r\n ? new Date(\r\n affiliateProgramRewardItem.validTo.getFullYear(),\r\n affiliateProgramRewardItem.validTo.getMonth(),\r\n affiliateProgramRewardItem.validTo.getDate(),\r\n 23,\r\n 59,\r\n 59,\r\n 0\r\n )\r\n : undefined; */\r\n\r\n const transformedData: Record = {\r\n ...affiliateProgramRewardItem,\r\n validFromUtc: validFrom ? validFrom.toUTCString() : null,\r\n validToUtc: validTo ? validTo.toUTCString() : null,\r\n claimValidToUtc: claimValidTo ? claimValidTo.toUTCString() : null,\r\n };\r\n\r\n const body = new FormData();\r\n\r\n Object.keys(transformedData).forEach((key) => {\r\n if (transformedData[key] !== null && transformedData[key] !== undefined) {\r\n body.append(key, transformedData[key] as string | Blob);\r\n }\r\n });\r\n\r\n return body;\r\n};\r\n\r\nexport default affiliateProgramRewardItemTransformationBeforeSave;\r\n","import { type } from 'os';\r\nimport * as types from '../actions/actionTypes';\r\nimport AffiliateProgramReward from '../entities/affiliateProgramReward';\r\n\r\nconst affiliateProgramRewardsInitialState = {\r\n userReadableProperty: 'name',\r\n loadingDependencies: false,\r\n loaded: false,\r\n data: [],\r\n};\r\n\r\nconst affiliateProgramRewards = (state = affiliateProgramRewardsInitialState, action: any) => {\r\n switch (action.type) {\r\n case types.AFFILIATE_PROGRAM_REWARDS_LOADING_DEPENDENCIES_BEGIN:\r\n return {\r\n ...state,\r\n loadingDependencies: true,\r\n };\r\n case types.AFFILIATE_PROGRAM_REWARDS_LOADING_DEPENDENCIES_END:\r\n return {\r\n ...state,\r\n loadingDependencies: false,\r\n };\r\n case types.AFFILIATE_PROGRAM_REWARDS_FETCH:\r\n return {\r\n ...state,\r\n data: action.data.map((affiliateProgramReward: AffiliateProgramReward) => {\r\n return { ...affiliateProgramReward };\r\n }),\r\n loaded: true,\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default affiliateProgramRewards;\r\n\r\nexport const isLoaded = (state: any): boolean => {\r\n return state.affiliateProgramRewards.loaded === true;\r\n};\r\n\r\nexport const isLoadingDependencies = (state: any): boolean => {\r\n return state.affiliateProgramRewards.loadingDependencies === true;\r\n};\r\n\r\nexport const getData = (state: any): AffiliateProgramReward[] => {\r\n return state.affiliateProgramRewards.data;\r\n};\r\n\r\nexport const getUserReadableProperty = (state: any): keyof AffiliateProgramReward => {\r\n return state.affiliateProgramRewards.userReadableProperty;\r\n};\r\n","import axios from 'axios';\r\nimport { Dispatch } from 'react-redux';\r\n\r\nimport * as types from './actionTypes';\r\nimport { beginAjaxCall, ajaxCallError } from './ajaxStatusActions';\r\nimport { navigateToAffiliateProgramRewards } from './navigationActions';\r\nimport { fetchAffiliateProgramPartners } from './affiliateProgramPartnerActions';\r\n\r\nimport ResponseStatus from '../utils/responseStatus';\r\nimport affiliateProgramRewardItemTransformationBeforeSave from '../data-transformations/affiliateProgramRewardItemTransformationBeforeSave';\r\nimport { fetchRewards } from './rewardActions';\r\nimport { isLoaded } from '../reducers/affiliateProgramRewardsReducer';\r\n\r\nexport const fetchAffiliateProgramRewards = () => async (dispatch: Dispatch, getState: any) => {\r\n if (isLoaded(getState())) {\r\n return;\r\n }\r\n\r\n try {\r\n dispatch(beginAjaxCall());\r\n\r\n const response = await axios.get(`affiliateProgramReward/`);\r\n\r\n if (ResponseStatus.IsOK(response.status)) {\r\n dispatch({\r\n type: types.AFFILIATE_PROGRAM_REWARDS_FETCH,\r\n data: response.data,\r\n });\r\n } else {\r\n dispatch(ajaxCallError());\r\n }\r\n } catch (error) {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n }\r\n};\r\n\r\nexport const createAffiliateProgramReward = (data: any) => (dispatch: any) => {\r\n dispatch(beginAjaxCall());\r\n\r\n const transformedData = affiliateProgramRewardItemTransformationBeforeSave(data);\r\n\r\n axios\r\n .post(`affiliateProgramReward`, transformedData)\r\n .then((response) => {\r\n if (ResponseStatus.IsCreated(response.status)) {\r\n dispatch({\r\n type: types.AFFILIATE_PROGRAM_REWARDS_ADD,\r\n });\r\n\r\n dispatch(navigateToAffiliateProgramRewards());\r\n } else {\r\n dispatch(ajaxCallError());\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n });\r\n};\r\n\r\nexport const updateAffiliateProgramReward = (data: any) => (dispatch: any) => {\r\n dispatch(beginAjaxCall());\r\n\r\n const transformedData = affiliateProgramRewardItemTransformationBeforeSave(data);\r\n\r\n axios\r\n .put(`affiliateProgramReward`, transformedData)\r\n .then((response) => {\r\n if (ResponseStatus.IsOK(response.status)) {\r\n dispatch({\r\n type: types.AFFILIATE_PROGRAM_REWARDS_UPDATE,\r\n data: response.data,\r\n });\r\n\r\n dispatch(navigateToAffiliateProgramRewards());\r\n } else {\r\n dispatch(ajaxCallError());\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n });\r\n};\r\n\r\nexport const fetchAffiliateProgramRewardDependencies = () => async (dispatch: any, getState: any) => {\r\n try {\r\n dispatch(LOADING_DEPENDENCIES_BEGIN);\r\n\r\n await fetchAffiliateProgramPartners()(dispatch, getState);\r\n await fetchRewards()(dispatch, getState);\r\n } catch (exception) {\r\n throw exception; //FUJ\r\n } finally {\r\n dispatch(LOADING_DEPENDENCIES_END);\r\n }\r\n};\r\n\r\nconst LOADING_DEPENDENCIES_BEGIN = {\r\n type: types.AFFILIATE_PROGRAM_REWARDS_LOADING_DEPENDENCIES_BEGIN,\r\n};\r\n\r\nconst LOADING_DEPENDENCIES_END = {\r\n type: types.AFFILIATE_PROGRAM_REWARDS_LOADING_DEPENDENCIES_END,\r\n};\r\n","import React, { useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { compose, bindActionCreators, Dispatch } from 'redux';\r\nimport { translate } from 'react-i18next';\r\n\r\nimport Table from '../common/Table';\r\nimport { GridColumn as Column } from '@progress/kendo-react-grid';\r\nimport StringCell from '../common/formatters/StringCell';\r\nimport DateCell from '../common/formatters/DateCell';\r\nimport NavigableCell from '../common/formatters/navigableCell';\r\nimport Translation from '../common/Translation';\r\nimport Alerts from '../common/Alerts';\r\nimport { AFFILIATE_PROGRAM_REWARD } from '../../data-transformations/dataTransformationTypes';\r\nimport { navigateTo } from '../../actions/navigationActions';\r\nimport { NAVIGATION_PATHS, TEXT_HORIZONTAL_ALIGN } from '../../common/constants';\r\nimport AffiliateProgramRewardsActionsBar from './affiliateProgramRewardsActionsBar';\r\nimport { nameofFactory } from '../../helpers/nameOfFactory';\r\nimport AffiliateProgramReward from '../../entities/affiliateProgramReward';\r\nimport RelationCell from '../common/formatters/RelationCell';\r\nimport AffiliateProgramPartner from '../../entities/affiliateProgramPartner';\r\nimport { fetchAffiliateProgramRewardDependencies } from '../../actions/affiliateProgramRewardsActions';\r\nimport {\r\n getData as getAffiliateProgramPartners,\r\n getUserReadableProperty as getAffiliateProgramPartnerUserReadableProperty,\r\n} from '../../reducers/affiliateProgramPartnersReducer';\r\nimport { isLoadingDependencies } from '../../reducers/affiliateProgramRewardsReducer';\r\nimport { BaseListDispatchProps, BaseListProps } from '../common/types/baseDetail';\r\nimport LoadingIndicator from '../common/LoadingIndicator';\r\nimport StringCellEx from '../common/formatters/stringCellEx';\r\nconst nameof = nameofFactory();\r\n\r\nconst defaultRewardTabelSort = [\r\n {\r\n dir: 'desc',\r\n field: 'dateOfCreate',\r\n },\r\n];\r\n\r\nconst actionUrl = 'affiliateProgramRewards';\r\n\r\ninterface AffiliateProgramRewardsProp extends BaseListProps, AffiliateProgramRewardsDispatchProps, AffiliateProgramRewardsStateProps {}\r\n\r\ninterface AffiliateProgramRewardsStateProps {\r\n affiliateProgramPartnerUserReadableProperty: keyof AffiliateProgramPartner;\r\n affiliateProgramPartners: AffiliateProgramPartner[];\r\n loadingDependencies: boolean;\r\n}\r\n\r\ninterface AffiliateProgramRewardsDispatchProps extends BaseListDispatchProps {\r\n fetchAffiliateProgramRewardDependencies: typeof fetchAffiliateProgramRewardDependencies;\r\n}\r\n\r\nconst AffiliateProgramRewards = ({\r\n t,\r\n navigateTo,\r\n fetchAffiliateProgramRewardDependencies,\r\n loadingDependencies,\r\n affiliateProgramPartnerUserReadableProperty,\r\n affiliateProgramPartners,\r\n}: AffiliateProgramRewardsProp) => {\r\n let table: any;\r\n\r\n useEffect(() => {\r\n fetchAffiliateProgramRewardDependencies();\r\n }, []);\r\n\r\n const onNew = () => {\r\n navigateTo(NAVIGATION_PATHS.AFFILIATE_PROGRAM_REWARDS_CREATE);\r\n };\r\n\r\n const onEdit = () => {\r\n table.getWrappedInstance().editSelected();\r\n };\r\n\r\n const onRemove = () => {\r\n table.getWrappedInstance().removeSelected();\r\n };\r\n\r\n const onClone = () => {\r\n table.getWrappedInstance().cloneSelected();\r\n };\r\n\r\n const customRowRender = (trElement: any) => {\r\n return trElement;\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {loadingDependencies && }\r\n {\r\n table = el;\r\n }}\r\n dataTransformation={AFFILIATE_PROGRAM_REWARD}\r\n name=\"AffiliateProgramPartnersTable\"\r\n customRowRender={customRowRender}\r\n defaultSort={defaultRewardTabelSort}\r\n >\r\n \r\n (\r\n \r\n )}\r\n title={t('Name')}\r\n />\r\n (\r\n \r\n {...props}\r\n relationUserReadableProperty={affiliateProgramPartnerUserReadableProperty}\r\n relations={affiliateProgramPartners}\r\n />\r\n )}\r\n title={t('Partner')}\r\n />\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state: any): AffiliateProgramRewardsStateProps => {\r\n return {\r\n loadingDependencies: isLoadingDependencies(state),\r\n affiliateProgramPartners: getAffiliateProgramPartners(state),\r\n affiliateProgramPartnerUserReadableProperty: getAffiliateProgramPartnerUserReadableProperty(state),\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): AffiliateProgramRewardsDispatchProps => {\r\n return {\r\n navigateTo: bindActionCreators(navigateTo, dispatch),\r\n fetchAffiliateProgramRewardDependencies: bindActionCreators(fetchAffiliateProgramRewardDependencies, dispatch),\r\n };\r\n};\r\n\r\nexport default compose(connect(mapStateToProps, mapDispatchToProps), translate('common'))(AffiliateProgramRewards);\r\n","import React from 'react';\r\nimport { connect, Dispatch } from 'react-redux';\r\nimport { Form, Field } from 'react-final-form';\r\nimport { bindActionCreators } from 'redux';\r\n\r\nimport * as enums from '../../common/enums';\r\n\r\nimport Alerts from '../common/Alerts';\r\nimport Translation from '../common/Translation';\r\nimport CancelButton from '../common/CancelButton';\r\nimport Input from '../common/Input';\r\nimport SubmitButton from '../common/SubmitButton';\r\nimport { nameofFactory } from '../../helpers/nameOfFactory';\r\nimport DateTimePicker from '../common/DateTimePicker';\r\nimport AffiliateProgramReward from '../../entities/affiliateProgramReward';\r\nimport DropDownWithValueField from '../common/DropDownWithValueField';\r\nimport AffiliateProgramPartner from '../../entities/affiliateProgramPartner';\r\nimport {\r\n getData as getAffiliateProgramPartners,\r\n getUserReadableProperty as getAffiliateProgramPartnerUserReadableProperty,\r\n} from '../../reducers/affiliateProgramPartnersReducer';\r\nimport { getDataByDataSource as getRewards, getUserReadableProperty as getRewardUserReadableProperty } from '../../reducers/rewardReducer';\r\nimport LoadingIndicator from '../common/LoadingIndicator';\r\nimport { isLoadingDependencies } from '../../reducers/affiliateProgramRewardsReducer';\r\nimport { fetchAffiliateProgramRewardDependencies } from '../../actions/affiliateProgramRewardsActions';\r\nimport Reward from '../../entities/extra';\r\nimport { BaseDetailProps } from '../common/types/baseDetail';\r\n\r\nconst nameof = nameofFactory();\r\n\r\ninterface AffiliateProgramRewardDetailProps\r\n extends BaseDetailProps,\r\n AffiliateProgramRewardDetailStateProps,\r\n AffiliateProgramRewardDetailDispatchProps {\r\n headerText: string;\r\n}\r\n\r\ninterface AffiliateProgramRewardDetailStateProps {\r\n lang: string;\r\n affiliateProgramPartnerUserReadableProperty: string;\r\n affiliateProgramPartners: AffiliateProgramPartner[];\r\n rewardUserReadableProperty: string;\r\n rewards: Reward[];\r\n loadingDependencies: boolean;\r\n}\r\n\r\ninterface AffiliateProgramRewardDetailDispatchProps {\r\n fetchAffiliateProgramRewardDependencies: typeof fetchAffiliateProgramRewardDependencies;\r\n}\r\n\r\nclass AffiliateProgramRewardDetail extends React.Component {\r\n componentDidMount() {\r\n this.props.fetchAffiliateProgramRewardDependencies();\r\n }\r\n\r\n handleOnSubmit = (values: object) => {\r\n this.props.submitAction(values as AffiliateProgramReward);\r\n };\r\n\r\n handleOnCancel = (event: React.MouseEvent) => {\r\n event.preventDefault();\r\n\r\n this.props.cancelAction();\r\n };\r\n\r\n translatedFormValidation = (values: object) => {\r\n const { t } = this.props;\r\n const typedValues = values as AffiliateProgramReward;\r\n const errors: Partial> = {};\r\n\r\n /* if (!typedValues.name) {\r\n errors[nameof('name')] = t('NameIsRequired');\r\n } */\r\n\r\n if (!typedValues.partnerId || typedValues.partnerId <= 0) {\r\n errors[nameof('partnerId')] = 'Partner je povinný';\r\n }\r\n\r\n if (!typedValues.rewardId || typedValues.rewardId <= 0) {\r\n errors[nameof('rewardId')] = 'Reward je povinný';\r\n }\r\n\r\n if (!typedValues.validFrom) {\r\n errors[nameof('validFrom')] = 'Datum Platnný od je povinné';\r\n }\r\n\r\n if (!typedValues.validTo) {\r\n errors[nameof('validTo')] = 'Datum Platný do je povinné';\r\n }\r\n\r\n if (typedValues.validTo && typedValues.validFrom && typedValues.validTo < typedValues.validFrom) {\r\n errors[nameof('validTo')] = 'Datum Platný do, musí být větší než datum Platný od';\r\n }\r\n\r\n if (typedValues.claimValidTo && typedValues.validFrom && typedValues.claimValidTo < typedValues.validFrom) {\r\n errors[nameof('claimValidTo')] = 'Datum platnosti nároku musí být větší než datum Platný od';\r\n }\r\n\r\n if (!typedValues.claimValidTo && typedValues.claimValidForDays < 1) {\r\n errors[nameof('claimValidTo')] = 'Musí být nastaveno datum platnosti nároku nebo počet dnů po které nárok platí';\r\n errors[nameof('claimValidForDays')] = 'Musí být nastaveno datum platnosti nároku nebo počet dnů po které nárok platí';\r\n }\r\n\r\n if (typedValues.claimValidTo && typedValues.claimValidForDays > 0) {\r\n errors[nameof('claimValidTo')] = 'Musí být nastaveno jenom datum platnosti nároku nebo jenom počet dnů po které nárok platí';\r\n errors[nameof('claimValidForDays')] = 'Musí být nastaveno jenom datum platnosti nároku nebo jenom počet dnů po které nárok platí';\r\n }\r\n\r\n return errors;\r\n };\r\n\r\n render() {\r\n console.debug('AffiliateProgramRewardDetail.render');\r\n\r\n const { initialValues, headerText } = this.props;\r\n\r\n return (\r\n
    \r\n
    \r\n

    {headerText}

    \r\n
    \r\n
    \r\n \r\n
    \r\n (\r\n
    \r\n {this.props.loadingDependencies && }\r\n
    \r\n \r\n \r\n
    \r\n\r\n \r\n\r\n \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n )}\r\n />\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state: any): AffiliateProgramRewardDetailStateProps => {\r\n return {\r\n lang: state.app.lang,\r\n loadingDependencies: isLoadingDependencies(state),\r\n affiliateProgramPartners: getAffiliateProgramPartners(state),\r\n affiliateProgramPartnerUserReadableProperty: getAffiliateProgramPartnerUserReadableProperty(state),\r\n rewards: getRewards(state, enums.SOURCE_OF_SUBSCRIBERS_TYPES_ENUM.AFFILIATE_PROGRAM),\r\n rewardUserReadableProperty: getRewardUserReadableProperty(state),\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): AffiliateProgramRewardDetailDispatchProps => {\r\n return {\r\n fetchAffiliateProgramRewardDependencies: bindActionCreators(fetchAffiliateProgramRewardDependencies, dispatch),\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(AffiliateProgramRewardDetail);\r\n","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators, compose, Dispatch } from 'redux';\r\nimport { translate } from 'react-i18next';\r\n\r\nimport AffiliateProgramRewardDetail from './affiliateProgramRewardDetail';\r\nimport { createAffiliateProgramReward } from '../../actions/affiliateProgramRewardsActions';\r\nimport { navigateToAffiliateProgramRewards } from '../../actions/navigationActions';\r\nimport AffiliateProgramReward from '../../entities/affiliateProgramReward';\r\nimport { BaseDetailDispatchProps, BaseDetailProps } from '../common/types/baseDetail';\r\n\r\nconst initialValues = new AffiliateProgramReward({});\r\n\r\ninterface AffiliateProgramRewardDetailCreateProps extends BaseDetailProps {\r\n t: (key: string) => string;\r\n}\r\n\r\nconst RewardDetailCreate = ({ submitAction, cancelAction, t }: AffiliateProgramRewardDetailCreateProps) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): BaseDetailDispatchProps => {\r\n return {\r\n submitAction: bindActionCreators(createAffiliateProgramReward, dispatch),\r\n cancelAction: bindActionCreators(navigateToAffiliateProgramRewards, dispatch),\r\n };\r\n};\r\n\r\nexport default compose(connect(undefined, mapDispatchToProps), translate('common'))(RewardDetailCreate);\r\n","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators, compose, Dispatch } from 'redux';\r\nimport { translate } from 'react-i18next';\r\n\r\nimport AffiliateProgramRewardDetail from './affiliateProgramRewardDetail';\r\nimport { getRowById } from '../../reducers/tableReducer';\r\nimport { navigateToAffiliateProgramRewards } from '../../actions/navigationActions';\r\nimport { updateAffiliateProgramReward } from '../../actions/affiliateProgramRewardsActions';\r\nimport AffiliateProgramReward from '../../entities/affiliateProgramReward';\r\nimport { BaseDetailDispatchProps, BaseDetailProps } from '../common/types/baseDetail';\r\n\r\ninterface RewardDetailUpdateProps extends BaseDetailProps {}\r\n\r\nconst RewardDetailUpdate = ({ initialValues, submitAction, cancelAction, t }: RewardDetailUpdateProps) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state: any, { match }: any) => {\r\n const id = match.params.id;\r\n\r\n return {\r\n lang: state.app.lang,\r\n initialValues: getRowById(state, id),\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): BaseDetailDispatchProps => {\r\n return {\r\n submitAction: bindActionCreators(updateAffiliateProgramReward, dispatch),\r\n cancelAction: bindActionCreators(navigateToAffiliateProgramRewards, dispatch),\r\n };\r\n};\r\n\r\nexport default compose(connect(mapStateToProps, mapDispatchToProps), translate('common'))(RewardDetailUpdate);\r\n","import React from 'react';\r\n\r\nimport ActionButton from '../common/ActionButton';\r\n\r\ninterface AffiliateProgramSubscriberRewardClaimsActionsBarProps {\r\n onNew: () => void;\r\n /* onEdit: () => void; */\r\n onRemove: () => void;\r\n /* onClone: () => void; */\r\n}\r\n\r\nexport default class AffiliateProgramSubscriberRewardClaimsActionsBar extends React.Component {\r\n render() {\r\n return (\r\n
    \r\n \r\n {/* */}\r\n \r\n {/* */}\r\n
    \r\n );\r\n }\r\n}\r\n","import AffiliateProgramSubscriberRewardClaim from '../entities/affiliateProgramSubscriberRewardClaim';\r\n\r\nconst affiliateProgramSubscriberRewardClaimItemTransformationBeforeSave = (affiliateProgramPartnerItem: AffiliateProgramSubscriberRewardClaim) => {\r\n const transformedData: Record = {\r\n ...affiliateProgramPartnerItem,\r\n };\r\n\r\n const body = new FormData();\r\n\r\n Object.keys(transformedData).forEach((key) => {\r\n if (transformedData[key] !== null && transformedData[key] !== undefined) {\r\n body.append(key, transformedData[key] as string | Blob);\r\n }\r\n });\r\n\r\n return body;\r\n};\r\n\r\nexport default affiliateProgramSubscriberRewardClaimItemTransformationBeforeSave;\r\n","import axios from 'axios';\r\nimport * as types from './actionTypes';\r\nimport { beginAjaxCall, ajaxCallError } from './ajaxStatusActions';\r\nimport * as alertActions from './alertActions';\r\nimport { navigateToAffiliateProgramSubscriberRewardClaims } from './navigationActions';\r\nimport { fetchAffiliateProgramPartners } from './affiliateProgramPartnerActions';\r\n\r\nimport ResponseStatus from '../utils/responseStatus';\r\nimport affiliateProgramSubscriberRewardClaimItemTransformationBeforeSave from '../data-transformations/affiliateProgramSubscriberRewardClaimItemTransformationBeforeSave';\r\nimport { fetchAffiliateProgramRewards } from './affiliateProgramRewardsActions';\r\n\r\nexport const createAffiliateProgramSubscriberRewardClaim = (data: any) => (dispatch: any) => {\r\n dispatch(beginAjaxCall());\r\n\r\n const transformedData = affiliateProgramSubscriberRewardClaimItemTransformationBeforeSave(data);\r\n\r\n axios\r\n .post(`AffiliateProgramSubscriberRewardClaim`, transformedData)\r\n .then((response) => {\r\n if (ResponseStatus.IsCreated(response.status)) {\r\n dispatch({\r\n type: types.AFFILIATE_PROGRAM_SUBSCRIBER_REWARD_CLAIMS_ADD,\r\n });\r\n\r\n dispatch(navigateToAffiliateProgramSubscriberRewardClaims());\r\n } else {\r\n dispatch(ajaxCallError());\r\n }\r\n })\r\n .catch((error) => {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n });\r\n};\r\n\r\nexport const fetchAffiliateProgramSubscriberRewardClaimDependencies = () => async (dispatch: any, getState: any) => {\r\n try {\r\n dispatch(LOADING_DEPENDENCIES_BEGIN);\r\n\r\n await fetchAffiliateProgramPartners()(dispatch, getState);\r\n await fetchAffiliateProgramRewards()(dispatch, getState);\r\n } catch (exception) {\r\n throw exception; //FUJ\r\n } finally {\r\n dispatch(LOADING_DEPENDENCIES_END);\r\n }\r\n};\r\n\r\nconst LOADING_DEPENDENCIES_BEGIN = {\r\n type: types.AFFILIATE_PROGRAM_SUBSCRIBER_REWARD_CLAIMS_LOADING_DEPENDENCIES_BEGIN,\r\n};\r\n\r\nconst LOADING_DEPENDENCIES_END = {\r\n type: types.AFFILIATE_PROGRAM_SUBSCRIBER_REWARD_CLAIMS_LOADING_DEPENDENCIES_END,\r\n};\r\n","import * as types from '../actions/actionTypes';\r\n\r\nconst affiliateProgramSubscriberRewardClaimsInitialState = {\r\n loadingDependencies: false,\r\n};\r\n\r\nconst affiliateProgramSubscriberRewardClaimsReducer = (state = affiliateProgramSubscriberRewardClaimsInitialState, action: any) => {\r\n switch (action.type) {\r\n case types.AFFILIATE_PROGRAM_SUBSCRIBER_REWARD_CLAIMS_LOADING_DEPENDENCIES_BEGIN:\r\n return {\r\n ...state,\r\n loadingDependencies: true,\r\n };\r\n case types.AFFILIATE_PROGRAM_SUBSCRIBER_REWARD_CLAIMS_LOADING_DEPENDENCIES_END:\r\n return {\r\n ...state,\r\n loadingDependencies: false,\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default affiliateProgramSubscriberRewardClaimsReducer;\r\n\r\nexport const isLoadingDependencies = (state: any): boolean => {\r\n return state.affiliateProgramSubscriberRewardClaims.loadingDependencies === true;\r\n};\r\n","import React, { useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { compose, bindActionCreators, Dispatch } from 'redux';\r\nimport { translate } from 'react-i18next';\r\n\r\nimport { edit, filterChange, filterClear } from '../../actions/tableActions';\r\nimport Table from '../common/Table';\r\nimport { GridColumn as Column } from '@progress/kendo-react-grid';\r\nimport StringCellEx from '../common/formatters/stringCellEx';\r\nimport NavigableCell from '../common/formatters/navigableCell';\r\nimport Translation from '../common/Translation';\r\nimport Alerts from '../common/Alerts';\r\nimport { AFFILIATE_PROGRAM_SUBSCRIBER_REWARD_CLAIMS } from '../../data-transformations/dataTransformationTypes';\r\nimport { navigateTo } from '../../actions/navigationActions';\r\nimport { NAVIGATION_PATHS, TEXT_HORIZONTAL_ALIGN } from '../../common/constants';\r\nimport AffiliateProgramSubscriberRewardClaimsActionsBar from './affiliateProgramSubscriberRewardClaimsActionsBar';\r\nimport { nameofFactory } from '../../helpers/nameOfFactory';\r\nimport RelationCell from '../common/formatters/RelationCell';\r\nimport AffiliateProgramSubscriberRewardClaim from '../../entities/affiliateProgramSubscriberRewardClaim';\r\nimport AffiliateProgramPartner from '../../entities/affiliateProgramPartner';\r\nimport AffiliateProgramReward from '../../entities/affiliateProgramReward';\r\nimport { fetchAffiliateProgramSubscriberRewardClaimDependencies } from '../../actions/affiliateProgramSubscriberRewardClaimsActions';\r\nimport {\r\n getData as getAffiliateProgramPartners,\r\n getUserReadableProperty as getAffiliateProgramPartnerUserReadableProperty,\r\n} from '../../reducers/affiliateProgramPartnersReducer';\r\nimport {\r\n getData as getAffiliateProgramRewards,\r\n getUserReadableProperty as getAffiliateProgramRewardUserReadableProperty,\r\n} from '../../reducers/affiliateProgramRewardsReducer';\r\nimport LoadingIndicator from '../common/LoadingIndicator';\r\nimport { isLoadingDependencies } from '../../reducers/affiliateProgramSubscriberRewardClaimsReducer';\r\nimport DateCell from '../common/formatters/DateCell';\r\nimport { BaseListDispatchProps, BaseListProps } from '../common/types/baseDetail';\r\n\r\nconst nameof = nameofFactory();\r\n\r\nconst defaultAffiliateProgramSubscriberRewardClaimTabelSort = [\r\n {\r\n dir: 'desc',\r\n field: 'dateOfCreate',\r\n },\r\n];\r\n\r\nconst actionUrl = 'affiliateProgramSubscriberRewardClaim';\r\n\r\ninterface AffiliateProgramSubscriberRewardClaimsProp\r\n extends BaseListProps,\r\n AffiliateProgramSubscriberRewardClaimsStateProps,\r\n AffiliateProgramSubscriberRewardClaimsDispatchProps {}\r\n\r\ninterface AffiliateProgramSubscriberRewardClaimsStateProps {\r\n affiliateProgramPartnerUserReadableProperty: keyof AffiliateProgramPartner;\r\n affiliateProgramPartners: AffiliateProgramPartner[];\r\n affiliateProgramRewardUserReadableProperty: keyof AffiliateProgramReward;\r\n affiliateProgramRewards: AffiliateProgramReward[];\r\n loadingDependencies: boolean;\r\n}\r\n\r\ninterface AffiliateProgramSubscriberRewardClaimsDispatchProps extends BaseListDispatchProps {\r\n fetchAffiliateProgramSubscriberRewardClaimDependencies: typeof fetchAffiliateProgramSubscriberRewardClaimDependencies;\r\n}\r\n\r\nconst AffiliateProgramSubscriberRewardClaims = (props: AffiliateProgramSubscriberRewardClaimsProp) => {\r\n // Similar to componentDidMount and componentDidUpdate:\r\n useEffect(() => {\r\n fetchAffiliateProgramSubscriberRewardClaimDependencies();\r\n }, []);\r\n\r\n const {\r\n t,\r\n navigateTo,\r\n fetchAffiliateProgramSubscriberRewardClaimDependencies,\r\n affiliateProgramRewards,\r\n affiliateProgramRewardUserReadableProperty,\r\n affiliateProgramPartners,\r\n affiliateProgramPartnerUserReadableProperty,\r\n } = props;\r\n\r\n let table: any;\r\n\r\n const onNew = () => {\r\n navigateTo(NAVIGATION_PATHS.AFFILIATE_PROGRAM_SUBSCRIBER_REWARD_CLAIMS_CREATE);\r\n };\r\n\r\n const onEdit = () => {\r\n table.getWrappedInstance().editSelected();\r\n };\r\n\r\n const onRemove = () => {\r\n table.getWrappedInstance().removeSelected();\r\n };\r\n\r\n const onClone = () => {\r\n table.getWrappedInstance().cloneSelected();\r\n };\r\n\r\n const customRowRender = (trElement: any) => {\r\n return trElement;\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {props.loadingDependencies && }\r\n {\r\n table = el;\r\n }}\r\n dataTransformation={AFFILIATE_PROGRAM_SUBSCRIBER_REWARD_CLAIMS}\r\n name=\"AffiliateProgramSubscriberRewardClaimsTable\"\r\n customRowRender={customRowRender}\r\n defaultSort={defaultAffiliateProgramSubscriberRewardClaimTabelSort}\r\n >\r\n \r\n }\r\n title={t('Msisdn')}\r\n />\r\n (\r\n \r\n {...props}\r\n relationUserReadableProperty={affiliateProgramPartnerUserReadableProperty}\r\n relations={affiliateProgramPartners}\r\n />\r\n )}\r\n title={t('Partner')}\r\n />\r\n (\r\n \r\n {...props}\r\n relationUserReadableProperty={affiliateProgramRewardUserReadableProperty}\r\n relations={affiliateProgramRewards}\r\n />\r\n )}\r\n title={t('Reward')}\r\n />\r\n } title={t('DateOfCreate')} />\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state: any): AffiliateProgramSubscriberRewardClaimsStateProps => {\r\n return {\r\n loadingDependencies: isLoadingDependencies(state),\r\n affiliateProgramPartners: getAffiliateProgramPartners(state),\r\n affiliateProgramPartnerUserReadableProperty: getAffiliateProgramPartnerUserReadableProperty(state),\r\n affiliateProgramRewards: getAffiliateProgramRewards(state),\r\n affiliateProgramRewardUserReadableProperty: getAffiliateProgramRewardUserReadableProperty(state),\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (\r\n dispatch: Dispatch\r\n): AffiliateProgramSubscriberRewardClaimsDispatchProps => {\r\n return {\r\n navigateTo: bindActionCreators(navigateTo, dispatch),\r\n fetchAffiliateProgramSubscriberRewardClaimDependencies: bindActionCreators(fetchAffiliateProgramSubscriberRewardClaimDependencies, dispatch),\r\n };\r\n};\r\n\r\nexport default compose(connect(mapStateToProps, mapDispatchToProps), translate('common'))(AffiliateProgramSubscriberRewardClaims);\r\n","import React from 'react';\r\nimport { connect, Dispatch } from 'react-redux';\r\nimport { Form, Field } from 'react-final-form';\r\nimport { bindActionCreators } from 'redux';\r\n\r\nimport * as enums from '../../common/enums';\r\n\r\nimport Alerts from '../common/Alerts';\r\nimport Translation from '../common/Translation';\r\nimport CancelButton from '../common/CancelButton';\r\nimport Input from '../common/Input';\r\nimport SubmitButton from '../common/SubmitButton';\r\nimport { nameofFactory } from '../../helpers/nameOfFactory';\r\nimport AffiliateProgramReward from '../../entities/affiliateProgramReward';\r\nimport DropDownWithValueField from '../common/DropDownWithValueField';\r\nimport AffiliateProgramPartner from '../../entities/affiliateProgramPartner';\r\nimport {\r\n getData as getAffiliateProgramPartners,\r\n getUserReadableProperty as getAffiliateProgramPartnerUserReadableProperty,\r\n} from '../../reducers/affiliateProgramPartnersReducer';\r\nimport {\r\n getData as getAffiliateProgramRewards,\r\n getUserReadableProperty as getAffiliateProgramRewardUserReadableProperty,\r\n} from '../../reducers/affiliateProgramRewardsReducer';\r\nimport LoadingIndicator from '../common/LoadingIndicator';\r\nimport { isLoadingDependencies } from '../../reducers/affiliateProgramRewardsReducer';\r\nimport { fetchAffiliateProgramSubscriberRewardClaimDependencies } from '../../actions/affiliateProgramSubscriberRewardClaimsActions';\r\nimport AffiliateProgramSubscriberRewardClaim from '../../entities/affiliateProgramSubscriberRewardClaim';\r\nimport { BaseDetailProps } from '../common/types/baseDetail';\r\n\r\nconst nameof = nameofFactory();\r\n\r\ninterface AffiliateProgramSubscriberRewardClaimDetailProps\r\n extends BaseDetailProps,\r\n AffiliateProgramSubscriberRewardClaimDetailStateProps,\r\n AffiliateProgramSubscriberRewardClaimDetailDispatchProps {\r\n headerText: string;\r\n}\r\n\r\ninterface AffiliateProgramSubscriberRewardClaimDetailStateProps {\r\n lang: string;\r\n affiliateProgramPartnerUserReadableProperty: string;\r\n affiliateProgramPartners: AffiliateProgramPartner[];\r\n affiliateProgramRewardUserReadableProperty: string;\r\n affiliateProgramRewards: AffiliateProgramReward[];\r\n loadingDependencies: boolean;\r\n}\r\n\r\ninterface AffiliateProgramSubscriberRewardClaimDetailDispatchProps {\r\n fetchAffiliateProgramSubscriberRewardClaimDependencies: typeof fetchAffiliateProgramSubscriberRewardClaimDependencies;\r\n}\r\n\r\nclass AffiliateProgramSubscriberRewardClaimDetail extends React.Component {\r\n componentDidMount() {\r\n this.props.fetchAffiliateProgramSubscriberRewardClaimDependencies();\r\n }\r\n\r\n handleOnSubmit = (values: object) => {\r\n this.props.submitAction(values as AffiliateProgramSubscriberRewardClaim);\r\n };\r\n\r\n handleOnCancel = (event: React.MouseEvent) => {\r\n event.preventDefault();\r\n\r\n this.props.cancelAction();\r\n };\r\n\r\n translatedFormValidation = (values: object) => {\r\n const { t } = this.props;\r\n const typedValues = values as AffiliateProgramSubscriberRewardClaim;\r\n const errors: Partial> = {};\r\n\r\n if (!typedValues.msisdn) {\r\n errors[nameof('msisdn')] = t('MsisdnIsRequired');\r\n }\r\n\r\n if (typedValues.msisdn && typedValues.msisdn.length != 12) {\r\n errors[nameof('msisdn')] = t('MsisdnInvalidLength');\r\n }\r\n\r\n if (typedValues.msisdn && !typedValues.msisdn.startsWith('420')) {\r\n errors[nameof('msisdn')] = t('MsisdnInvalidFormat');\r\n }\r\n\r\n if (!typedValues.affiliateProgramPartnerId || typedValues.affiliateProgramPartnerId <= 0) {\r\n errors[nameof('affiliateProgramPartnerId')] = 'Partner je povinný';\r\n }\r\n\r\n if (!typedValues.affiliateProgramRewardId || typedValues.affiliateProgramRewardId <= 0) {\r\n errors[nameof('affiliateProgramRewardId')] = 'Reward je povinný';\r\n }\r\n\r\n return errors;\r\n };\r\n\r\n render() {\r\n console.debug('AffiliateProgramSubscriberRewardClaimDetail.render');\r\n\r\n const { initialValues, headerText } = this.props;\r\n\r\n return (\r\n
    \r\n
    \r\n

    {headerText}

    \r\n
    \r\n
    \r\n \r\n
    \r\n (\r\n
    \r\n {this.props.loadingDependencies && }\r\n \r\n\r\n \r\n\r\n \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n )}\r\n />\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state: any): AffiliateProgramSubscriberRewardClaimDetailStateProps => {\r\n return {\r\n lang: state.app.lang,\r\n loadingDependencies: isLoadingDependencies(state),\r\n affiliateProgramPartners: getAffiliateProgramPartners(state),\r\n affiliateProgramPartnerUserReadableProperty: getAffiliateProgramPartnerUserReadableProperty(state),\r\n affiliateProgramRewards: getAffiliateProgramRewards(state),\r\n affiliateProgramRewardUserReadableProperty: getAffiliateProgramRewardUserReadableProperty(state),\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch): AffiliateProgramSubscriberRewardClaimDetailDispatchProps => {\r\n return {\r\n fetchAffiliateProgramSubscriberRewardClaimDependencies: bindActionCreators(fetchAffiliateProgramSubscriberRewardClaimDependencies, dispatch),\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(AffiliateProgramSubscriberRewardClaimDetail);\r\n","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators, compose, Dispatch } from 'redux';\r\nimport { translate } from 'react-i18next';\r\n\r\nimport AffiliateProgramSubscriberRewardClaimDetail from './affiliateProgramSubscriberRewardClaimDetail';\r\nimport { createAffiliateProgramSubscriberRewardClaim } from '../../actions/affiliateProgramSubscriberRewardClaimsActions';\r\nimport { navigateToAffiliateProgramSubscriberRewardClaims } from '../../actions/navigationActions';\r\nimport AffiliateProgramSubscriberRewardClaim from '../../entities/affiliateProgramSubscriberRewardClaim';\r\nimport { BaseDetailDispatchProps, BaseDetailProps } from '../common/types/baseDetail';\r\n\r\nconst initialValues = new AffiliateProgramSubscriberRewardClaim({});\r\n\r\ninterface AffiliateProgramSubscriberRewardClaimDetailCreateProps extends BaseDetailProps {}\r\n\r\nconst RewardDetailCreate = ({ submitAction, cancelAction, t }: AffiliateProgramSubscriberRewardClaimDetailCreateProps) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nconst mapDispatchToProps = (\r\n dispatch: Dispatch\r\n): BaseDetailDispatchProps => {\r\n return {\r\n submitAction: bindActionCreators(createAffiliateProgramSubscriberRewardClaim, dispatch),\r\n cancelAction: bindActionCreators(navigateToAffiliateProgramSubscriberRewardClaims, dispatch),\r\n };\r\n};\r\n\r\nexport default compose(connect(undefined, mapDispatchToProps), translate('common'))(RewardDetailCreate);\r\n","import axios from \"axios\";\r\n\r\nimport * as types from \"./actionTypes\";\r\nimport { navigateToGameClans } from \"./navigationActions\";\r\nimport { loadData } from \"./tableActions\";\r\n\r\nimport { beginAjaxCall, ajaxCallError } from \"./ajaxStatusActions\";\r\nimport ResponseStatus from \"../utils/responseStatus\";\r\n\r\nexport const changeBlockedState = data => dispatch => {\r\n dispatch(beginAjaxCall());\r\n\r\n axios\r\n .put(`gameClan/${data.id}/changeBlockedState`, data)\r\n .then(response => {\r\n if (ResponseStatus.IsOK(response.status)) {\r\n dispatch({\r\n type: types.GAME_CLAN_UPDATE,\r\n data: response.data\r\n });\r\n\r\n dispatch(loadData(true));\r\n\r\n /* dispatch(navigateToGameClans()); */\r\n } else {\r\n dispatch(ajaxCallError());\r\n }\r\n })\r\n .catch(error => {\r\n dispatch(ajaxCallError());\r\n throw error;\r\n });\r\n};\r\n","import React from 'react';\r\n\r\nimport ToggableActionButton from '../common/ToggableActionButton';\r\nimport ActionButton from '../common/ActionButton';\r\n\r\nexport default class GameClansActionsBar extends React.Component {\r\n constructor() {\r\n super();\r\n\r\n this.state = {\r\n filters: {},\r\n };\r\n }\r\n\r\n onShowOnlyBlocked = () => {\r\n const filters = [];\r\n filters[0] = {\r\n field: 'isBlocked',\r\n operator: 'eq',\r\n value: true,\r\n logicalOperator: 0,\r\n name: 'showOnlyBlocked',\r\n };\r\n\r\n this.props.filter(filters);\r\n };\r\n\r\n onRemoveShowOnlyBlocked = () => {\r\n const filters = [];\r\n filters[0] = {\r\n remove: true,\r\n name: \"showOnlyBlocked\",\r\n };\r\n \r\n this.props.filter(filters);\r\n };\r\n\r\n isFilterActive = (filterName) => {\r\n return !!this.state.filters[filterName];\r\n };\r\n\r\n renderActionButtonText = (selectedRow) => {\r\n return selectedRow.isBlocked ? 'GameClanUnblock' : 'GameClanBlock';\r\n };\r\n\r\n render() {\r\n return (\r\n
    \r\n {/* */}\r\n \r\n {/* \r\n \r\n \r\n \r\n \r\n \r\n \r\n */}\r\n
    \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { translate } from 'react-i18next';\r\n\r\nconst TranslatedTextBox = ({ placeholder, value, name, type, className, onChange, icon, error, t }) => {\r\n let wrapperClass = `k-textbox`;\r\n \r\n if (className) {\r\n wrapperClass += ` ${className}`;\r\n }\r\n\r\n if (error) {\r\n wrapperClass += ` notification-input-error`;\r\n }\r\n\r\n let wrapperType = `text`;\r\n if (type) {\r\n wrapperType = type;\r\n }\r\n\r\n return (\r\n
    \r\n {icon &&  }\r\n \r\n {error &&
    {error}
    }\r\n
    \r\n );\r\n};\r\n\r\nTranslatedTextBox.propTypes = {\r\n name: PropTypes.string.isRequired,\r\n value: PropTypes.string,\r\n type: PropTypes.string,\r\n placeholder: PropTypes.string,\r\n onChange: PropTypes.func,\r\n className: PropTypes.string,\r\n icon: PropTypes.string,\r\n error: PropTypes.string,\r\n t: PropTypes.func\r\n};\r\n\r\nexport default translate('common')(TranslatedTextBox);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { bindActionCreators } from 'redux';\r\nimport { connect } from 'react-redux';\r\nimport * as appActions from '../../actions/tableActions';\r\nimport SubmitButton from '../common/SubmitButton';\r\nimport TranslatedTextBox from '../common/TranslatedTextBox';\r\nimport Translation from '../common/Translation';\r\n\r\nclass GameClansSearchBox extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n value: '',\r\n };\r\n }\r\n setFilter = (value) => {\r\n this.props.actions.filterChange([\r\n {\r\n name: 'name',\r\n field: 'name',\r\n operator: 'contains',\r\n value: value,\r\n },\r\n ]);\r\n };\r\n\r\n clear = () => {\r\n this.setState({ value: '' });\r\n this.setFilter('');\r\n };\r\n\r\n handleSearch = (e) => {\r\n e.preventDefault();\r\n const { value } = this.state;\r\n\r\n this.setFilter(value);\r\n };\r\n\r\n handleChange = (e) => {\r\n this.setState({ value: e.target.value });\r\n };\r\n\r\n render() {\r\n return (\r\n
    \r\n \r\n  \r\n {this.state.value && }\r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nGameClansSearchBox.propTypes = {\r\n actions: PropTypes.object,\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n actions: bindActionCreators(appActions, dispatch),\r\n };\r\n};\r\n\r\nexport default connect(null, mapDispatchToProps, null, { withRef: true })(GameClansSearchBox);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { compose, bindActionCreators } from 'redux';\r\nimport { translate } from 'react-i18next';\r\n\r\nimport { edit, filterChange, filterClear } from '../../actions/tableActions';\r\nimport Table from '../common/Table';\r\nimport { GridColumn as Column } from '@progress/kendo-react-grid';\r\nimport RatingCell from '../common/formatters/ratingCell';\r\nimport StringCell from '../common/formatters/StringCell';\r\nimport EnumCell from '../common/formatters/EnumCelll';\r\nimport DateCell from '../common/formatters/DateCell';\r\nimport NavigableCell from '../common/formatters/navigableCell';\r\nimport Translation from '../common/Translation';\r\nimport Alerts from '../common/Alerts';\r\nimport { GAME_CLAN, RATING } from '../../data-transformations/dataTransformationTypes';\r\nimport { navigateTo } from '../../actions/navigationActions';\r\nimport { changeBlockedState } from '../../actions/gameClanActions';\r\n\r\nimport * as enums from '../../common/enums';\r\nimport { TEXT_HORIZONTAL_ALIGN } from '../../common/constants';\r\nimport GameClansActionsBar from './gameClansActionsBar';\r\nimport GameClansSearchBox from './gameClansSearchBox';\r\nimport BoolCell from '../common/formatters/BoolCell';\r\n\r\nconst defaultGameClansTabelSort = [\r\n {\r\n dir: 'desc',\r\n field: 'dateOfCreate',\r\n },\r\n];\r\n\r\nconst actionUrl = 'gameClan';\r\n\r\nconst GameClans = ({ t, navigateTo, edit, changeBlockedState, filter, clearFilter }) => {\r\n let table;\r\n\r\n const customRowRender = (trElement, rowProps, data) => {\r\n /* console.warn('GameClans.rowRender'); */\r\n\r\n /*const isRowWithSameOrder = data.some((item)=>{\r\n return item.order === rowProps.dataItem.order && item.id !== rowProps.dataItem.id;\r\n });\r\n const orange = { backgroundColor: \"rgba(255,190, 12,1)\" };\r\n const trProps = { style: isRowWithSameOrder ? orange : null };\r\n */\r\n //return React.cloneElement(trElement, { ...trProps }, trElement.props.children);\r\n\r\n return trElement;\r\n };\r\n\r\n const changeBlockedStateHanlder = (newValue, id) => {\r\n console.warn('changeBlockedStateHanlder');\r\n console.warn(newValue);\r\n\r\n changeBlockedState({ id: id, isBlocked: newValue });\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n table = el;\r\n }}\r\n dataTransformation={GAME_CLAN}\r\n name=\"GameClanTable\"\r\n customRowRender={customRowRender}\r\n defaultSort={defaultGameClansTabelSort}\r\n >\r\n {/* */}\r\n \r\n \r\n \r\n {/* (\r\n \r\n )}\r\n title={t(\"RatingText\")}\r\n />\r\n (\r\n \r\n )}\r\n title={t(\"Event\")}\r\n />\r\n (\r\n \r\n )}\r\n title={t(\"DateOfRating\")}\r\n />\r\n (\r\n \r\n )}\r\n title={t(\"Platform\")}\r\n />\r\n (\r\n \r\n )}\r\n title={t(\"Variant\")}\r\n /> */}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nGameClans.propTypes = {\r\n t: PropTypes.func.isRequired,\r\n navigateTo: PropTypes.func.isRequired,\r\n edit: PropTypes.func.isRequired,\r\n filter: PropTypes.func.isRequired,\r\n clearFilter: PropTypes.func.isRequired,\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n navigateTo: bindActionCreators(navigateTo, dispatch),\r\n clearFilter: bindActionCreators(filterClear, dispatch),\r\n filter: bindActionCreators(filterChange, dispatch),\r\n changeBlockedState: bindActionCreators(changeBlockedState, dispatch),\r\n };\r\n};\r\n\r\nexport default compose(connect(null, mapDispatchToProps), translate('common'))(GameClans);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Route, Switch } from 'react-router-dom';\r\nimport { bindActionCreators } from 'redux';\r\nimport { connect } from 'react-redux';\r\n\r\nimport SideBar from '../common/SideBar';\r\nimport Header from '../common/Header';\r\nimport * as userActions from '../../actions/userActions';\r\n\r\nimport News from '../news/News';\r\nimport NewsDetailCreate from '../news/NewsDetailCreate';\r\nimport NewsDetailUpdate from '../news/NewsDetailUpdate';\r\n\r\nimport Dashboard from '../dashboard/dashboard';\r\n\r\nimport Extra from '../extra/Extra';\r\n\r\nimport BetaTester from '../betatester/betatester';\r\nimport BetaTesterDetailUpdate from '../betatester/betatesterDetailUpdate';\r\nimport BetaTesterDetailCreate from '../betatester/betatesterDetailCreate';\r\n\r\nimport ChargingCode from '../chargingCode/chargingCode';\r\nimport ChargingCodeDetailUpdate from '../chargingCode/chargingCodeDetailUpdate';\r\nimport ChargingCodeDetailCreate from '../chargingCode/chargingCodeDetailCreate';\r\n\r\nimport Users from '../users/users';\r\nimport UserDetailCreate from '../users/userDetailCreate';\r\nimport UserDetailUpdate from '../users/userDetailUpdate';\r\n\r\nimport Roles from '../role/roles';\r\nimport RoleDetailUpdate from '../role/roleDetailUpdate';\r\nimport RoleDetailCreate from '../role/roleDetailCreate';\r\n\r\nimport Competition from '../competition/competitions';\r\nimport CompetitionDetailCreate from '../competition/competitionDetailCreate';\r\nimport CompetitionDetailUpdate from '../competition/competitionDetailUpdate';\r\n\r\nimport Reports from '../reports/reports';\r\nimport ReportDetailUpdate from '../reports/reportDetailUpdate';\r\nimport ReportDetailCreate from '../reports/reportDetailCreate';\r\n\r\nimport Ratings from '../rating/rating';\r\nimport RatingDetailUpdate from '../rating/ratingDetailUpdate';\r\n\r\nimport RatingSettings from '../ratingSettings/ratingSettings';\r\n\r\nimport Ecomail from '../ecomail/ecomail';\r\n\r\nimport OutageNotifications from '../outageNotification/outageNotification';\r\nimport OutageNotificationDetailUpdate from '../outageNotification/outageNotificationDetailUpdate';\r\nimport OutageNotificationDetailCreate from '../outageNotification/outageNotificationDetailCreate';\r\n\r\nimport TargetCampaign from '../targetCampaign/targetCampaign';\r\n\r\nimport Rewards from '../reward/rewards';\r\nimport RewardDetailCreate from '../reward/rewardDetailCreate';\r\nimport RewardDetailUpdate from '../reward/rewardDetailUpdate';\r\n\r\nimport LoadingSpinnerContainer from '../common/loadingSpinner/loadingSpinnerContainer';\r\nimport { NAVIGATION_PATHS } from '../../common/constants';\r\nimport SimCardTypes from '../simCardType/simCardTypes';\r\nimport SimCardTypeDetailCreate from '../simCardType/simCardTypeDetailCreate';\r\nimport SimCardTypeDetailUpdate from '../simCardType/simCardTypeDetailUpdate';\r\n\r\nimport AffiliateProgramPartners from '../affiliateProgram/affiliateProgramPartners';\r\nimport AffiliateProgramPartnerDetailCreate from '../affiliateProgram/affiliateProgramPartnerDetailCreate';\r\nimport AffiliateProgramPartnerDetailUpdate from '../affiliateProgram/affiliateProgramPartnerDetailUpdate';\r\n\r\nimport AffiliateProgramRewards from '../affiliateProgram/affiliateProgramRewards';\r\nimport AffiliateProgramRewardDetailCreate from '../affiliateProgram/affiliateProgramRewardDetailCreate';\r\nimport AffiliateProgramRewardDetailUpdate from '../affiliateProgram/affiliateProgramRewardDetailUpdate';\r\n\r\nimport AffiliateProgramSubscriberRewardClaims from '../affiliateProgram/affiliateProgramSubscriberRewardClaims';\r\nimport AffiliateProgramSubscriberRewardClaimDetailCreate from '../affiliateProgram/affiliateProgramSubscriberRewardClaimDetailCreate';\r\n\r\nimport GameClans from '../gameClans/gameClans';\r\n\r\nclass App extends React.Component {\r\n componentDidMount() {\r\n console.warn('App.componentWillMount');\r\n\r\n let { search, actions } = this.props;\r\n\r\n if (search.token !== undefined) {\r\n console.warn('App.componentWillMount - verifyAccess');\r\n actions.verifyAccess(search.token);\r\n } else {\r\n // Fire immidietly\r\n console.warn('App.componentWillMount - hasAccess');\r\n actions.hasAccess();\r\n }\r\n\r\n let self = this;\r\n this.lastModified = new Date();\r\n\r\n // Cycling fire\r\n this.interval = setInterval(() => {\r\n actions.isAuth(self.lastModified);\r\n }, 15000);\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n // Update last change date\r\n if (this.props.user && this.props.user.tokenExpireIn && nextProps.user && nextProps.user.tokenExpireIn) {\r\n // If token is renwed don't change time\r\n if (this.props.user.tokenExpireIn === nextProps.user.tokenExpireIn) this.lastModified = new Date();\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n clearInterval(this.interval);\r\n }\r\n\r\n renderContent = () => {\r\n if (this.props.user.isAuth) {\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n\r\n return '';\r\n };\r\n\r\n render() {\r\n return (\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n {this.renderContent()}\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nApp.propTypes = {\r\n children: PropTypes.object.isRequired,\r\n open: PropTypes.bool,\r\n path: PropTypes.string,\r\n search: PropTypes.object,\r\n user: PropTypes.shape({\r\n tokenExpireIn: PropTypes.string,\r\n isAuth: PropTypes.bool,\r\n }),\r\n actions: PropTypes.shape({\r\n isAuth: PropTypes.func.isRequired,\r\n verifyAccess: PropTypes.func.isRequired,\r\n hasAccess: PropTypes.func.isRequired,\r\n }),\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => {\r\n return {\r\n open: state.sideBar.open,\r\n user: state.user,\r\n path: ownProps.location.pathname,\r\n search: ownProps.location.search,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n actions: bindActionCreators(userActions, dispatch),\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(App);\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport { finalFormInput, finalFormMeta } from \"../../common/propTypes\";\r\n\r\nconst TextBox = ({\r\n input,\r\n placeholder,\r\n type,\r\n className,\r\n icon,\r\n meta: { touched, error, warning },\r\n autoComplete,\r\n ...rest\r\n}) => {\r\n const isInvalid = touched && error;\r\n let wrapperClass = `k-textbox`;\r\n\r\n if (className) {\r\n wrapperClass += ` ${className}`;\r\n }\r\n if (isInvalid) {\r\n wrapperClass += ` notification-input-error`;\r\n }\r\n\r\n let wrapperType = type;\r\n if (!type) {\r\n wrapperType = \"text\";\r\n }\r\n return (\r\n
    \r\n {icon &&  }\r\n \r\n {isInvalid &&
    {error}
    }\r\n
    \r\n );\r\n};\r\n\r\nTextBox.propTypes = {\r\n value: PropTypes.string,\r\n type: PropTypes.string,\r\n placeholder: PropTypes.string,\r\n onChange: PropTypes.func,\r\n className: PropTypes.string,\r\n icon: PropTypes.string,\r\n error: PropTypes.string,\r\n input: finalFormInput.isRequired,\r\n meta: finalFormMeta.isRequired,\r\n autoComplete: PropTypes.string,\r\n};\r\n\r\nexport default TextBox;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { bindActionCreators, compose } from \"redux\";\r\nimport { connect } from \"react-redux\";\r\nimport { Field, reduxForm } from \"redux-form\";\r\nimport { translate } from \"react-i18next\";\r\n\r\nimport * as userActions from \"../../actions/userActions\";\r\nimport TextBox from \"../common/TextBox\";\r\nimport SubmitButton from \"../common/SubmitButton\";\r\nimport { Link } from \"react-router-dom\";\r\nimport Alerts from \"../common/Alerts\";\r\nimport Translation from \"../common/Translation\";\r\n\r\nclass SignIn extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n email: \"\",\r\n password: \"\",\r\n };\r\n }\r\n\r\n signIn = (values) => {\r\n this.props.actions.signIn(values.email, values.password);\r\n };\r\n\r\n render() {\r\n let { t, handleSubmit } = this.props;\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
     
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
     
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nSignIn.propTypes = {\r\n actions: PropTypes.shape({\r\n signIn: PropTypes.func.isRequired,\r\n }).isRequired,\r\n loading: PropTypes.bool,\r\n t: PropTypes.func.isRequired,\r\n handleSubmit: PropTypes.func.isRequired,\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loading: state.ajaxStatus > 0,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n actions: bindActionCreators(userActions, dispatch),\r\n };\r\n};\r\n\r\nexport default compose(\r\n translate(\"common\", { wait: true }),\r\n connect(mapStateToProps, mapDispatchToProps),\r\n reduxForm({ form: \"news\" })\r\n)(SignIn);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { bindActionCreators, compose } from 'redux';\r\nimport { Link } from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\nimport { translate } from 'react-i18next';\r\nimport queryString from 'query-string';\r\nimport {Form, Field} from 'react-final-form';\r\n\r\nimport * as userActions from '../../actions/userActions';\r\nimport SubmitButton from '../common/SubmitButton';\r\nimport Alerts from '../common/Alerts';\r\nimport Translation from '../common/Translation';\r\nimport Input from '../common/Input';\r\nimport * as propTypes from '../../common/propTypes';\r\nimport LoadingIndicator from '../common/LoadingIndicator';\r\n\r\nclass UserInvite extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n email: '',\r\n password: ''\r\n };\r\n }\r\n\r\n componentDidMount(){\r\n this.props.actions.clear();\r\n \r\n const search = this.props.location.search;\r\n const parsed = queryString.parse(search);\r\n \r\n if(!parsed.code){\r\n // TODO - neco je spatne, meni code\r\n }\r\n }\r\n\r\n translatedFormValidation = (values) =>{\r\n const { t } = this.props;\r\n const errors = {};\r\n \r\n if (!values.password) {\r\n errors.password = t('PasswordIsRequired');\r\n } \r\n \r\n if (values.password && (values.password !== values.confirmPassword)) {\r\n errors.confirmPassword = t('PasswordsDontMatchRetype');\r\n }\r\n \r\n return errors;\r\n }\r\n \r\n onSubmit = (values) => {\r\n const search = this.props.location.search;\r\n const parsed = queryString.parse(search);\r\n \r\n this.props.actions.setPassword(values.password, parsed.code);\r\n };\r\n \r\n render() {\r\n let { loading } = this.props;\r\n \r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
     
    \r\n
    \r\n (\r\n
    \r\n {this.props.loading && } \r\n \r\n\r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n )}/> \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n \r\n UserInvite.propTypes = {\r\n actions: PropTypes.shape({\r\n setPassword: PropTypes.func.isRequired,\r\n clear: PropTypes.func.isRequired,\r\n }).isRequired,\r\n loading: PropTypes.bool,\r\n location: propTypes.location.isRequired,\r\n t: PropTypes.func.isRequired,\r\n handleSubmit: PropTypes.func.isRequired,\r\n };\r\n \r\n const mapStateToProps = (state, ownProps, a) => {\r\n return {\r\n loading: state.ajaxStatus > 0\r\n };\r\n };\r\n \r\n const mapDispatchToProps = (dispatch) => {\r\n return {\r\n actions: bindActionCreators(userActions, dispatch)\r\n };\r\n };\r\n \r\n export default compose(translate('common', { wait: true }), connect(mapStateToProps, mapDispatchToProps))(UserInvite);","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport * as userActions from '../../actions/userActions';\r\nimport { bindActionCreators } from 'redux';\r\nimport { Link } from 'react-router-dom';\r\nimport Translation from '../common/Translation';\r\n\r\nclass ActivateAccount extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n };\r\n }\r\n\r\n componentWillMount() {\r\n let { query } = this.props;\r\n\r\n if (query.code !== undefined) {\r\n this.props.actions.verifyAccount(query.code);\r\n }\r\n }\r\n\r\n renderLoading = () => {\r\n return (

      

    );\r\n }\r\n\r\n renderSignIn = () => {\r\n return (\r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n
    );\r\n }\r\n\r\n render() {\r\n let { loading } = this.props;\r\n return (\r\n
    \r\n
    \r\n
    \r\n
     
    \r\n
    \r\n {loading && this.renderLoading()}\r\n {!loading && this.renderSignIn()}\r\n
    \r\n
     
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nActivateAccount.propTypes = {\r\n path: PropTypes.string,\r\n query: PropTypes.object,\r\n actions: PropTypes.object,\r\n loading: PropTypes.bool\r\n};\r\n\r\nconst mapStateToProps = (state, ownProps) => {\r\n return {\r\n path: ownProps.location.pathname,\r\n query: ownProps.location.query,\r\n loading: state.ajaxStatus > 0,\r\n isVerified: state.user.isVerified || null\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n actions: bindActionCreators(userActions, dispatch)\r\n };\r\n};\r\n\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ActivateAccount);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from \"react-redux\";\r\nimport { Route, Switch } from 'react-router-dom';\r\nimport { IntlProvider, LocalizationProvider } from '@progress/kendo-react-intl';\r\n\r\nimport ForgottenPassword from \"../security/ForgottenPassword\";\r\nimport ResetPassword from \"../security/ResetPassword\";\r\nimport App from \"../app/App\";\r\nimport SignIn from \"../security/SignIn\";\r\nimport UserInvite from \"../security/userInvite\";\r\nimport ActivateAccount from \"../security/ActivateAccount\";\r\n\r\nclass Layout extends React.Component {\r\n componentWillMount() {\r\n console.warn(\"Layout.componentWillMount\");\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nLayout.contextTypes = {\r\n //router: PropTypes.object\r\n};\r\n\r\nLayout.propTypes = {\r\n lang: PropTypes.string.isRequired,\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n lang: state.app.lang,\r\n };\r\n};\r\n\r\n\r\nexport default connect(mapStateToProps, undefined)(Layout);\r\n\r\n","import axios from \"axios\";\r\nimport {imageBaseUrl} from \"../common/configs\";\r\n\r\n\r\nconst convertStringToDate = (response) => {\r\n // Identify data fields returning from server as ISO_8601 formatted dates\r\n const ISO_8601 = /(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2})Z/;\r\n\r\n // TODO: podpora pro pole (grid)\r\n let data = response.data;\r\n Object.keys(data).forEach(function (k) {\r\n if (ISO_8601.test(data[k])) {\r\n data[k] = new Date(Date.parse(data[k]));\r\n }\r\n });\r\n\r\n return response;\r\n};\r\n\r\nconst fixImageUrl = (response) => {\r\n const data = response.data;\r\n\r\n if (data.data && Array.isArray(data.data)) {\r\n data.data.forEach((item) => {\r\n fixImageUrlOnItem(item);\r\n });\r\n }\r\n else {\r\n fixImageUrlOnItem(data);\r\n }\r\n\r\n return response;\r\n};\r\n\r\nconst propertyNames = ['imageUrl', 'imageUrlV2', 'detailImageUrl'];\r\nconst fixImageUrlOnItem = (item) => {\r\n Object.keys(item).forEach((property) => {\r\n if (propertyNames.includes(property) && item[property]) {\r\n item[property] = imageBaseUrl + item[property];\r\n }\r\n });\r\n};\r\n\r\n//TODO - updelat pipeline\r\nexport const registerInterceptors = () => {\r\n axios.interceptors.response.use((response) =>\r\n fixImageUrl(convertStringToDate(response)),\r\n function (error) {\r\n // Do something with response error\r\n return Promise.reject(error);\r\n }\r\n );\r\n\r\n // Default config for AXIOS HTTP client\r\n axios.interceptors.request.use(function (config) {\r\n config.withCredentials = true;\r\n return config;\r\n }, function (error) {\r\n return Promise.reject(error);\r\n });\r\n};\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Provider } from 'react-redux';\r\nimport { Router, Route } from 'react-router-dom';\r\nimport axios from 'axios';\r\nimport { I18nextProvider } from 'react-i18next';\r\n\r\nimport i18n from '../i18n';\r\nimport Layout from \"./common/Layout\";\r\nimport { AuthProvider } from './security/authContext';\r\nimport {apiBaseUrl} from \"../common/configs\";\r\nimport {registerInterceptors} from \"../utils/axiosInterceptors\";\r\n\r\n\r\n// Set default AXIOS url by type of enviroment\r\naxios.defaults.baseURL = apiBaseUrl;\r\n\r\n// init axios interceptors\r\nregisterInterceptors();\r\n\r\nexport default class Root extends Component {\r\n render() {\r\n const { store, history } = this.props;\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nRoot.propTypes = {\r\n store: PropTypes.object.isRequired,\r\n history: PropTypes.object.isRequired\r\n};\r\n","import { loadMessages } from '@progress/kendo-react-intl';\r\nconst language = 'cs';\r\n\r\nconst messagesObj = {\r\n calendar: {\r\n today: \"Dnes\",\r\n },\r\n \"datetimepicker\": {\r\n \"date\": \"Datum\",\r\n \"time\": \"Čas\",\r\n \"cancel\": \"Zrušit\",\r\n \"set\": \"Nastavit\"\r\n},\r\n\"timepicker\": {\r\n \"set\": \"Nastavit\",\r\n \"cancel\": \"Zrušit\",\r\n \"now\": \"Nyní\",\r\n \"selectNow\": \"Nastav aktuální čas\",\r\n \"toggleTimeSelector\": \"toggleTimeSelector\",\r\n \"toggleClock\": \"toggleClock\"\r\n},\r\n grid: {\r\n groupPanelEmpty: \"Drag a column header and drop it here to group by that column\",\r\n pagerItemsPerPage: \"záznamů na stránku\",\r\n pagerInfo: \"{0} - {1} z {2} záznamů\",\r\n pagerFirstPage: \"Go to the first page\",\r\n pagerPreviousPage: \"Go to the previous page\",\r\n pagerNextPage: \"Go to the next page\",\r\n pagerLastPage: \"Go to the last page\",\r\n pagerPage: \"Page\",\r\n pagerOf: \"of\",\r\n filterClearButton: \"Clear\",\r\n filterEqOperator: \"Is equal to\",\r\n filterNotEqOperator: \"Is not equal to\",\r\n filterIsNullOperator: \"Is null\",\r\n filterIsNotNullOperator: \"Is not null\",\r\n filterIsEmptyOperator: \"Is empty\",\r\n filterIsNotEmptyOperator: \"Is not empty\",\r\n filterStartsWithOperator: \"Starts with\",\r\n filterContainsOperator: \"Contains\",\r\n filterNotContainsOperator: \"Does not contain\",\r\n filterEndsWithOperator: \"Ends with\",\r\n filterGteOperator: \"Is greater than or equal to\",\r\n filterGtOperator: \"Is greater than\",\r\n filterLteOperator: \"Is less than or equal to\",\r\n filterLtOperator: \"Is less than\",\r\n filterIsTrue: \"Is true\",\r\n filterIsFalse: \"Is false\",\r\n filterBooleanAll: \"(All)\",\r\n filterAfterOrEqualOperator: \"Is after or equal to\",\r\n filterAfterOperator: \"Is after\",\r\n filterBeforeOperator: \"Is before\",\r\n filterBeforeOrEqualOperator: \"Is before or equal to\",\r\n noRecords: \"Není dostupný žádný záznam.\",\r\n }\r\n};\r\n\r\nexport default ()=>{\r\n loadMessages(messagesObj, language);\r\n};\r\n","import * as types from '../actions/actionTypes';\r\n\r\nconst initialState = {\r\n open: true\r\n};\r\n\r\nconst sideBar = (state = initialState, action) => {\r\n switch (action.type) {\r\n case types.TOGGLE_SIDEBAR:\r\n return {\r\n ...state,\r\n open: !state.open\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default sideBar;\r\n","import * as types from '../actions/actionTypes';\r\n\r\nconst initialState = {\r\n lang: 'cs',\r\n};\r\n\r\n\r\nconst app = (state = initialState, action) => {\r\n switch (action.type) {\r\n case types.APP_CHANGE_LANG:\r\n return {\r\n ...state,\r\n lang: action.lang\r\n };\r\n }\r\n\r\n return state;\r\n};\r\n\r\nexport default app;\r\n","import * as types from '../actions/actionTypes';\r\n\r\nfunction actionTypeEndsInSuccess(type) {\r\n return type.substring(type.length - 8) == '_SUCCESS';\r\n}\r\n\r\nexport default function ajaxStatusReducer(state = 0, action) {\r\n if (action.type == types.BEGIN_AJAX_CALL) {\r\n return state + 1;\r\n } else if (action.type == types.AJAX_CALL_ERROR || actionTypeEndsInSuccess(action.type)) { \r\n return state - 1;\r\n }\r\n\r\n return state;\r\n}\r\n","import * as types from '../actions/actionTypes';\r\n\r\nconst alert = (state, action) => {\r\n switch (action.type) {\r\n case types.ALERTS_ADD:\r\n return {...action.message};\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nconst alerts = (state = [], action) => {\r\n switch (action.type) {\r\n case types.ALERTS_ADD:\r\n return [\r\n ...state,\r\n alert(state, action)\r\n ];\r\n case types.ALERTS_REMOVE: {\r\n let i = state.map(a => { return a.id; }).indexOf(action.id);\r\n return [\r\n ...state.slice(0, i),\r\n ...state.slice(i + 1)\r\n ]; }\r\n case types.ALERTS_CLEAR:\r\n return [];\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default alerts;\r\n","import * as types from '../actions/actionTypes';\r\n\r\nconst initialState = {\r\n open: false\r\n};\r\n\r\nconst accountMenu = (state = initialState, action) => {\r\n switch (action.type) {\r\n case types.TOGGLE_ACCOUNT_MENU:\r\n return {\r\n ...state,\r\n open: !state.open\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default accountMenu;\r\n","import { combineReducers } from 'redux';\r\nimport { reducer as formReducer } from 'redux-form';\r\n\r\nimport sideBar from './sideBarReducer';\r\nimport app from './appReducer';\r\nimport user from './userReducer';\r\nimport ajaxStatus from './ajaxStatusReducer';\r\nimport alerts from './alertReducer';\r\nimport accountMenu from './accountMenuReducer';\r\nimport table from './tableReducer';\r\nimport news from './newsReducer';\r\nimport newsPages from './newsPagesReducer';\r\nimport services from './servicesReducer';\r\nimport extra from './extraReducer';\r\nimport ratingSettings from './ratingSettingsReducer';\r\nimport ecomail from './ecomailReducer';\r\nimport loadingSpinner from './loadingSpinnerReducer';\r\nimport rewards from './rewardReducer';\r\nimport simCardType from './simCardTypeReducer';\r\nimport marketingActions from './marketingActionReducer';\r\nimport affiliateProgramPartners from './affiliateProgramPartnersReducer';\r\nimport affiliateProgramRewards from './affiliateProgramRewardsReducer';\r\nimport affiliateProgramSubscriberRewardClaims from './affiliateProgramSubscriberRewardClaimsReducer';\r\nimport roles from './roleReducer';\r\n\r\nimport * as types from '../actions/actionTypes';\r\n\r\nconst crossReducer = (state = {}, action) => {\r\n switch (action.type) {\r\n case types.APP_RESET:\r\n state = undefined;\r\n }\r\n\r\n return state;\r\n};\r\n\r\nconst cmbReducer = combineReducers({\r\n app,\r\n user,\r\n sideBar,\r\n ajaxStatus,\r\n alerts,\r\n accountMenu,\r\n table,\r\n form: formReducer,\r\n news,\r\n newsPages,\r\n services,\r\n extra,\r\n ratingSettings,\r\n ecomail,\r\n loadingSpinner,\r\n rewards,\r\n simCardType,\r\n marketingActions,\r\n affiliateProgramPartners,\r\n affiliateProgramRewards,\r\n affiliateProgramSubscriberRewardClaims,\r\n roles,\r\n});\r\n\r\nconst rootReducer = (state, action) => {\r\n state = crossReducer(state, action);\r\n return cmbReducer(state, action);\r\n};\r\n\r\nexport default rootReducer;\r\n","import * as types from '../actions/actionTypes';\r\n\r\nconst navigationMiddleware = history => store => next => (action) => {\r\n if (action.type !== types.NAVIGATE_TO) {\r\n return next(action);\r\n }\r\n\r\n history.push(action.path);\r\n};\r\n\r\nexport default navigationMiddleware;\r\n","import { createStore, compose, applyMiddleware } from 'redux';\r\nimport reduxImmutableStateInvariant from 'redux-immutable-state-invariant';\r\nimport thunk from 'redux-thunk';\r\nimport rootReducer from '../reducers';\r\nimport navigationMiddleware from '../middlewares/navigationMiddleware';\r\n\r\nconst globalStore = store => next => action => {\r\n if (!window.store)\r\n window.store = store;\r\n\r\n next(action);\r\n};\r\n\r\nfunction configureStoreProd(initialState, history) {\r\n const middlewares = [\r\n // Add other middleware on this line...\r\n\r\n // thunk middleware can also accept an extra argument to be passed to each thunk action\r\n // https://github.com/gaearon/redux-thunk#injecting-a-custom-argument\r\n globalStore,\r\n thunk,\r\n navigationMiddleware(history),\r\n ];\r\n\r\n return createStore(rootReducer, initialState, compose(\r\n applyMiddleware(...middlewares)\r\n )\r\n );\r\n}\r\n\r\nfunction configureStoreDev(initialState, history) {\r\n const middlewares = [\r\n // Add other middleware on this line...\r\n\r\n // Redux middleware that spits an error on you when you try to mutate your state either inside a dispatch or between dispatches.\r\n reduxImmutableStateInvariant(),\r\n\r\n // thunk middleware can also accept an extra argument to be passed to each thunk action\r\n // https://github.com/gaearon/redux-thunk#injecting-a-custom-argument\r\n thunk,\r\n navigationMiddleware(history),\r\n ];\r\n\r\n const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; // add support for Redux dev tools\r\n const store = createStore(rootReducer, initialState, composeEnhancers(\r\n applyMiddleware(...middlewares)\r\n )\r\n );\r\n\r\n if (module.hot) {\r\n // Enable Webpack hot module replacement for reducers\r\n module.hot.accept('../reducers', () => {\r\n const nextReducer = require('../reducers').default; // eslint-disable-line global-require\r\n store.replaceReducer(nextReducer);\r\n });\r\n }\r\n\r\n return store;\r\n}\r\n\r\nconst configureStore = process.env.NODE_ENV === 'production' ? configureStoreProd : configureStoreDev;\r\n\r\nexport default configureStore;\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport Root from './components/Root';\r\nimport '@progress/kendo-ui';\r\nimport { load } from '@progress/kendo-react-intl';\r\n\r\nimport createBrowserHistory from 'history/createBrowserHistory';\r\nimport likelySubtags from 'cldr-data/supplemental/likelySubtags';\r\nimport currencyData from 'cldr-data/supplemental/currencyData';\r\nimport weekData from 'cldr-data/supplemental/weekData';\r\nimport numbers from 'cldr-data/main/cs/numbers';\r\nimport currencies from 'cldr-data/main/cs/currencies';\r\nimport caGregorian from 'cldr-data/main/cs/ca-gregorian';\r\nimport dateFields from 'cldr-data/main/cs/dateFields';\r\nimport timeZoneNames from 'cldr-data/main/cs/timeZoneNames';\r\n\r\nimport loadKendoMessagesCS from './locales/cs/kendo';\r\nimport configureStore from './store/configureStore'; // Tell webpack to load favicon.ico\r\nimport './styles/styles.scss';\r\n\r\nconst history = createBrowserHistory();\r\nconst store = configureStore(undefined, history);\r\n\r\nload(likelySubtags, currencyData, weekData, numbers, currencies, caGregorian, dateFields, timeZoneNames);\r\n\r\nloadKendoMessagesCS();\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n document.getElementById('root')\r\n);\r\n"],"sourceRoot":""}