{"version":3,"sources":["locales/languages.js","locales/index.js","_constants/emparkConstants.js","services/auxService.js","services/channelsService.js","services/commentsService.js","services/contextsService.js","services/disallowedPeriodsService.js","services/freeDaysService.js","services/municipalitiesService.js","History/History.js","actions/municipalitiesActions.js","services/ratesService.js","actions/generalActions.js","actions/commentsActions.js","actions/ratesActions.js","actions/disallowedPeriodsActions.js","actions/freeDaysActions.js","actions/contextsActions.js","services/historyService.js","services/paidPeriodsService.js","services/periodsService.js","services/positionsService.js","services/rolesService.js","services/schedulesService.js","services/specialDaysService.js","services/usersService.js","services/index.js","services/auditsService.js","actions/auditsActions.js","reducers/auditsReducer.js","actions/auxActions.js","reducers/auxReducer.js","actions/channelsActions.js","reducers/channelsReducer.js","reducers/commentsReducer.js","reducers/contextsReducer.js","reducers/disallowedPeriodsReducer.js","actions/parkingZoneActions.js","actions/parkingsListActions.js","actions/faresActions.js","reducers/fares.js","actions/filtersActions.js","reducers/filtersReducer.js","reducers/freeDaysReducer.js","reducers/generalReducer.js","actions/rolesActions.js","actions/localeActions.js","reducers/locales.js","reducers/municipalitiesReducer.js","actions/schedulesActions.js","actions/paidPeriodsActions.js","reducers/paidPeriodsReducer.js","reducers/parkingsReducer.js","reducers/parkingZone.js","actions/periodsActions.js","reducers/periodsReducer.js","actions/positionsActions.js","reducers/positionsReducer.js","reducers/ratesReducer.js","reducers/rolesReducer.js","reducers/schedulesReducer.js","actions/specialDaysActions.js","reducers/specialDaysReducer.js","actions/usersActions.js","reducers/usersReducer.js","reducers/historyReducer.js","reducers/index.js","reducers/store.js","components/Sections/Comments/CommentDocument.jsx","components/Dialogs/LoadingDialog.jsx","components/ErrorMessage.jsx","components/Dialogs/CommentDialog.jsx","components/Logo.jsx","App/auth.js","components/HeaderBar.jsx","components/Forms/TitleToolbar.jsx","components/OutlinedTextField.jsx","components/Forms/ChannelForm.jsx","components/Pages/Audits/AuditDetailPage.jsx","_helpers/dateConvert.js","components/Dialogs/ErrorDialog.jsx","components/Dialogs/ConfirmDialog.jsx","components/SelectionField.jsx","components/EnhancedTableToolbar.jsx","components/Tables/EMTable.jsx","components/Pages/Audits/AuditsTablePage.jsx","components/Pages/Audits/AuditsRouterPage.jsx","components/Tables/MaterialTableActions.jsx","components/Pages/Channels/ChannelsTablePage.jsx","components/Pages/Channels/ChannelDetailPage.jsx","components/Pages/Channels/ChannelsRouterPage.jsx","components/LoadingPaper.jsx","components/Services/ContextSyncDaemon.jsx","components/ContextHeader.jsx","components/Fetchers/FetchFromContext.jsx","components/Dialogs/HistoryDialog.jsx","components/Forms/ContextForm.jsx","_helpers/utility.js","components/Tables/DisallowedPeriodsFormTable.jsx","components/Redux/DisallowedPeriods/RdxDisallowedPeriodAddPage.jsx","components/Forms/PeriodForm.jsx","components/Sections/DisallowedPeriodsContext/DisallowedPeriodContextDetailPage.jsx","components/Sections/DisallowedPeriodsContext/DisallowedPeriodsContextTablePage.jsx","components/Sections/DisallowedPeriodsContext/DisallowedPeriodsContextRouter.jsx","components/Sections/FreeDaysContext/FreeDayContextAddPage.jsx","components/Forms/FreeDayForm.jsx","components/Sections/FreeDaysContext/FreeDayContextDetailPage.jsx","components/Sections/FreeDaysContext/FreeDaysContextTablePage.jsx","components/Sections/FreeDaysContext/FreeDaysContextRouter.jsx","components/Sections/Positions/PositionsTablePage.jsx","components/Forms/PositionForm.jsx","components/Sections/Positions/PositionDetailPage.jsx","components/Sections/Positions/PositionRouter.jsx","components/StatusIcon.jsx","components/Sections/DisallowedPeriods/DisallowedPeriodAddMassivePage.jsx","components/Sections/Prebooks/PrebooksAddPage.jsx","components/Dialogs/ChannelsTableDialog.jsx","components/Dialogs/DisallowedPeriodsTableDialog.jsx","components/Dialogs/TranslationDialog.jsx","components/Fetchers/FetchGlobals.jsx","components/Sections/Prebooks/PrebooksCreatePage.jsx","components/Dialogs/ErrorRateValidate.jsx","components/Forms/RateForm.jsx","components/Sections/Comments/Comment.jsx","components/Sections/Comments/CommentsBoard.jsx","components/Sections/DisallowedPeriods/DisallowedPeriodsTablePage.jsx","components/Sections/DisallowedPeriods/DisallowedPeriodDetailPage.jsx","components/Sections/DisallowedPeriods/DisallowedPeriodsRouter.jsx","components/Tables/CellTable.jsx","components/Sections/FareSelection/FareSelectionPointsPage.jsx","components/Sections/FreeDays/FreeDayAddPage.jsx","components/Sections/FreeDays/FreeDayDetailPage.jsx","components/Sections/FreeDays/FreeDaysTablePage.jsx","components/Sections/FreeDays/FreeDaysRouter.jsx","components/Sections/Periods/PeriodsTablePage.jsx","components/Dialogs/ErrorPeriodPositionOverlap.jsx","components/Sections/PeriodPositions/PeriodPositionsTablePage.jsx","components/Sections/PeriodPositions/PeriodPositionsRouter.jsx","components/Sections/Periods/PeriodDetailPage.jsx","components/Sections/Periods/PeriodsRouter.jsx","components/Sections/RateChannels/RateChannelsTablePage.jsx","components/Forms/RateChannelForm.jsx","components/Sections/RateChannels/RateChannelDetailPage.jsx","components/Sections/RateChannels/RateChannelsRouter.jsx","components/Dialogs/ErrorSchedule.jsx","components/Forms/ScheduleForm.jsx","components/Dialogs/ErrorPaidPeriod.jsx","components/Dialogs/GeneratePriceDialog.jsx","components/Tables/FractionTable.jsx","components/Tables/PriceDetailTable.jsx","components/Tables/PriceTable.jsx","components/Forms/PaidPeriodForm.jsx","components/Sections/PaidPeriods/PaidPeriodDetailPage.jsx","components/Sections/PaidPeriods/PaidPeriodsTablePage.jsx","components/Sections/PaidPeriods/PaidPeriodsRouter.jsx","components/Sections/Schedules/ScheduleDetailPage.jsx","components/Sections/Schedules/SchedulesTablePage.jsx","components/Sections/Schedules/SchedulesRouter.jsx","components/Forms/SpecialDayForm.jsx","components/Sections/SpecialDays/SpecialDayDetailPage.jsx","components/Sections/SpecialDays/SpecialDaysTablePage.jsx","components/Sections/SpecialDays/SpecialDaysRouter.jsx","components/TabPanels/RateTabPanel.jsx","components/Sections/Rates/RateDetailPage.jsx","components/Dialogs/PrebooksExportDialog.jsx","components/Sections/Rates/RatesTablePage.jsx","components/Sections/Rates/RatesRouter.jsx","components/Pages/Contexts/ContextDetailPage.jsx","components/Tables/ChannelRatesTable.jsx","components/Tables/DisallowedPeriodsTable.jsx","components/Tables/FareSelectionPointsTable.jsx","components/Tables/FreeDaysTable.jsx","components/Tables/PaidPeriodsTable.jsx","components/Tables/PositionsTable.jsx","components/Tables/RatesTable.jsx","components/Tables/SchedulesTable.jsx","components/Tables/SpecialDaysTable.jsx","components/RateTabs.jsx","components/Tables/PeriodsTable.jsx","components/Redux/Periods/RdxPeriodHistPage.jsx","components/Redux/PaidPeriods/RdxPaidPeriodsHistPage.jsx","components/Redux/RdxSchSpHistPage.jsx","components/CommentsBoard.jsx","components/Redux/Rates/RdxRateHistPage.jsx","components/Redux/Contexts/RdxContextHistPage.jsx","components/Pages/Contexts/ContextsDetailController.jsx","components/StatusCircle.jsx","components/Pages/Contexts/ContextsTablePage.jsx","components/Pages/Contexts/ContextCreatePage.jsx","components/Pages/Contexts/ContextsRouterPage.jsx","components/Unauthorized.jsx","components/Pages/DaysPage.jsx","components/Pages/HoursPage.jsx","components/Pages/Municipalities/MunicipalitiesTablePage.jsx","components/Forms/MunicipalityForm.jsx","components/Sections/MunicipalityContexts/MunicipalityContextsTablePage.jsx","components/Sections/MunicipalityContexts/MunicipalityContextsRouter.jsx","components/Pages/Municipalities/MunicipalityDetailPage.jsx","components/Pages/Municipalities/MunicipalitiesRouterPage.jsx","components/Pages/Roles/RolesTablePage.jsx","components/Forms/RoleForm.jsx","components/Sections/RoleClaims/RoleClaimsTablePage.jsx","components/Sections/RoleClaims/RoleClaimsRouter.jsx","components/Fetchers/RoleContexts/QueryRoleContexts.jsx","components/Fetchers/Contexts/QueryContexts.jsx","components/Fetchers/RoleContexts/SubmitRoleContexts.jsx","components/Tables/ContextAssociationTable.jsx","components/Fetchers/Contexts/QueryAllContexts.jsx","components/Controllers/RoleContextController.jsx","components/Pages/Roles/RoleDetailPage.jsx","components/Pages/Roles/RolesRouterPage.jsx","components/Sections/Prebooks/ExportPage.jsx","components/Sections/Prebooks/PrebooksUpdatePage.jsx","components/Pages/TestPage.jsx","components/Pages/TlcmPage.jsx","components/Pages/Users/UsersTablePage.jsx","components/Forms/UserForm.jsx","components/Sections/UserContexts/UserContextsTablePage.jsx","components/Sections/UserContexts/UserContextsRouter.jsx","components/Pages/Users/UserDetailPage.jsx","components/Pages/Users/UsersRouterPage.jsx","components/Pages/UsesPage.jsx","App/App.jsx","index.js","static/images/catalan.png","static/images/basque.png","locales/translations sync /^/.//.*/.json$","../node_modules/react-flagkit/img/SVG sync /^/.//.*/.svg$"],"names":["MappedLanguage","Castellano","English","Português","MappedFlags","en","es","pt","_","each","langKey","langName","counterpart","registerTranslations","require","concat","setFallbackLocale","setMissingEntryGenerator","key","substring","indexOf","length","config","__t","translate","baseApiUrl","process","routes","base","selectionFrom","board","municipalities","context","contexts","channels","channels_add","channels_edit","channels_view","days","hours","uses","tlcm","roles","users","audits","test","pageModes","list","add","edit","view","duplicate","create_massive","add_massive","edit_massive","disallowed_periods_massive","contextTypes","onStreet","offStreet","productTypes","rotation","prebooks","passPerUse","passPerHour","multidays","multipass","scheduleTypes","freeDayReference","municipality","rate","paidPeriodReference","specialDay","schedule","subProductTypes","getProductTypeTitle","isOnStreet","productTypeCode","rateTypes","tabDisplays","index","main","secondary","materialTableStyles","headerStyle","fontSize","color","actionsContainer","display","alignItems","justifyContent","styleWithCommonClasses","classes","theme","Object","objectSpread","borderContainer","border","root","flexGrow","paddingTop","paddingBottom","paper","maxWidth","margin","spacing","unit","marginLeft","marginRight","padding","paperPadding","paperNoMargins","marginTop","marginBottom","errorText","loadingFixedCenter","position","top","left","outline","alignCenter","textAlign","alignRight","pageContainer","tab","nTab","borderLeft","tabPanel","width","borderBottom","hidden","invisible","visibility","centerText","spacingTop1","spacingTop2","headerSylte","headers","locale","arguments","undefined","Content-type","Authorization","localStorage","getItem","Accept-Language","requestOptionsGet","method","requestOptionsPost","requestOptionsPut","requestOptionsDelete","limitNumber","val","minVal","maxVal","n","Number","countDecimalPlaces","num","Math","floor","toString","includes","separated","replace","split","APP_CLAIMS","hasPermission","userRole","targetClaim","roleId","claims","find","c","accentFold","inStr","str","a","e","i","o","s","u","y","ae","roundToDecimalAsString","value","decimals","bigDecimal","round","getValue","roundToStep","step","bigDecimalNumber","twenty","RoundingModes","DOWN","r","multiply","divide","validateSections","fractions","values","map","v","costErr","minuteUntilErr","errors","prevMinuteUntil","errorEmpty","errorStep","errorSmallMinuteUntil","errorIncrement","forEach","cost","minuteUntil","push","auxService","getDays","saveDays","getHours","saveHours","getUses","saveUses","getTlcm","saveTlcm","getClaims","_callee","apiUrl","regenerator_default","wrap","_context","prev","next","doRequestWithResponse","abrupt","sent","stop","_callee2","lstDays","_context2","body","JSON","stringify","_callee3","_context3","_callee4","lstHours","_context4","_callee5","_context5","_callee6","lstUses","_context6","_callee7","_context7","_callee8","lstTlcm","_context8","_callee9","_context9","channelsService","getChannels","saveChannel","editChannel","deleteChannel","channel","id","channelId","doRequestSimple","commentsService","fetchComments","saveComment","editComment","deleteComment","fetchDocument","rateId","comment","commentId","form","docId","doRequestReturnStandard","contextsService","getContexts","getAllContexts","saveContext","editContext","editSapCode","deleteContext","getContextPositions","saveContextPosition","editContextPosition","deleteContextPosition","syncMflContexts","syncMflContext","syncMflContextVersion","submitMfl","fetchDetail","checkSyncMflContexts","resetSyncMflContexts","resetSyncMflContext","exportPrebooks","createPrebooks","addPrebooks","updatePrebooks","addDisallowedPeriodsMassive","contextId","sapCode","_args5","_callee10","_context10","_callee11","positionId","_context11","_callee12","_context12","_callee13","_context13","_callee14","_context14","_callee15","_context15","_callee16","_context16","_callee17","_context17","_callee18","_context18","_callee19","request","_args19","_context19","_callee20","_context20","_callee21","_context21","_callee22","rates","disallowedPeriods","_context22","_callee23","_context23","disallowedPeriodsService","getByMunicipality","getByContext","getByRate","saveDisallowedPeriod","editDisallowedPeriod","deleteDisallowedPeriod","getAll","parkZoneID","requestOptions","Promise","resolve","fetch","then","response","ok","error","statusText","reject","json","data","items","getDisallowedPeriod","disallowedPeriodObj","createDisallowedPeriod","saveDisallowedPeriodsMunicipality","saveDisallowedPeriodsContext","saveDisallowedPeriodsRate","municipalityId","disallowedPeriod","disallowedPeriodId","freeDaysService","saveFreeDay","saveFreeDaysMunicipality","saveFreeDaysContext","saveFreeDaysRate","editFreeDay","deleteFreeDay","getFreeDay","freeDayObj","createFreeDay","freeDay","freeDays","freeDayId","municipalitiesService","getMunicipalities","saveMunicipality","editMunicipality","deleteMunicipality","saveMunicipalityContexts","lstContextIds","history","createBrowserHistory","MUNICIPALITIES_CHANGE_MODE","MUNICIPALITY_CONTEXTS_CHANGE_MODE","MUNICIPALITIES_BEGIN","MUNICIPALITY_CONTEXTS_BEGIN","MUNICIPALITY_CONTEXTS_FAILURE","FETCH_MUNICIPALITIES_SUCCESS","FETCH_MUNICIPALITIES_FAILURE","CREATE_MUNICIPALITY_SUCCESS","EDIT_MUNICIPALITY_SUCCESS","SEND_MUNICIPALITY_FAILURE","DELETE_MUNICIPALITY_SUCCESS","MUNICIPALITIES_SET_TAB_DISPLAY","MUNICIPALITIES_SET_ERROR","MUNICIPALITY_CONTEXT_SET_ERROR","SAVE_MUNICIPALITY_CONTEXTS_SUCCESS","municipalitiesActions","changeMode","mode","dispatch","type","payload","fetchMunicipalities","sendMunicipality","_ref2","asyncToGenerator","mark","t0","_x3","apply","this","_ref3","_x4","setTabDisplay","tabDisplay","setError","changeModeMunicipalityContexts","sendMunicipalityContexts","lstContextsIds","_ref4","contextsActions","fetchContexts","_x5","setErrorMunicipalityContexts","forceFetch","_ref","getState","hasFetched","municipalitiesReducer","_x","_x2","ratesService","getRates","saveRate","editRate","deleteRate","getRateChannels","saveRateChannel","editRateChannel","deleteRateChannel","getSelectionPoints","saveSelectionPoints","getRateComments","saveRateComment","editRateComment","deleteRateComment","duplicateRate","exportRate","publishRate","getTranslations","saveTranslations","updateOverwrite","hasTelparkChannel","rateChannel","rateChannelId","lstSelectionPoints","newRate","_args16","_args17","translations","isFreeDays","isOverwrite","generalActions","showToastSuccess","message","SHOW_TOAST_SUCCESS","showToastError","SHOW_TOAST_ERROR","showToastWarning","SHOW_TOAST_WARNING","HIDE_TOAST_SUCCESS","HIDE_TOAST_ERROR","HIDE_TOAST_WARNING","COMMENTS_CHANGE_MODE","COMMENTS_SET_ERROR","COMMENTS_SET_MODAL_ERROR","COMMENTS_SET_MODAL_OPEN","FETCH_COMMENTS_BEGIN","FETCH_COMMENTS_SUCCESS","FETCH_COMMENTS_FAILURE","SEND_COMMENT_BEGIN","CREATE_COMMENT_SUCCESS","EDIT_COMMENT_SUCCESS","DELETE_COMMENT_SUCCESS","SEND_COMMENT_FAILURE","RESET_COMMENTS","commentsActions","sendComment","FormData","append","text","trim","filesUpload","f","src","file","documents","setErrorModal","resetComments","comments","commentsReducer","RATES_CHANGE_MODE","RATES_SET_ERROR","RATE_CHANNELS_SET_ERROR","RATE_SEL_POINTS_ERROR","FETCH_RATES_BEGIN","FETCH_RATES_SUCCESS","FETCH_RATES_FAILURE","SEND_RATE_BEGIN","CREATE_RATE_SUCCESS","EDIT_RATE_SUCCESS","DELETE_RATE_SUCCESS","SEND_RATE_FAILURE","SET_SELECTED_TAB","RATE_CHANNELS_CHANGE_MODE","RATE_CHANNELS_BEGIN","FETCH_RATE_CHANNELS_SUCCESS","CREATE_RATE_CHANNEL_SUCCESS","EDIT_RATE_CHANNEL_SUCCESS","DELETE_RATE_CHANNEL_SUCCESS","FETCH_RATE_CHANNELS_FAILURE","RATE_SELECTION_POINTS_CHANGE_MODE","RATE_SELECTION_POINTS_BEGIN","RATE_SELECTION_POINTS_FAILURE","FETCH_SELECTION_POINTS_SUCCESS","SEND_SELECTION_POINTS_SUCCESS","RATES_SET_TAB_DISPLAY","RATE_EXPORT_DONE","VALIDATE_RATE_BEGIN","SET_VALIDATE_ERROR","RATE_VALIDATE_SUCCESS","RATE_TRANSLATION_MODAL_SHOW","RATE_TRANSLATION_MODAL_HIDE","RATE_TRANSLATION_BEGIN","RATE_TRANSLATION_ERROR","RATE_TRANSLATION_FETCH_SUCCESS","RATE_TRANSLATION_SEND_SUCCESS","RESET_RATE_TRANSLATIONS","RATE_SET_AS_DRAFT","RATES_SET_ERROR_EXPORT","RATE_UPDATE_OVERWRITE","RESET_RATES","ratesActions","changeModeRateChannels","fetchRates","sendRate","setAsDraft","_x6","setErrorRateChannels","fetchRateChannels","sendRateChannel","_ref6","_x9","channelRateId","_ref7","_x10","setErrorFareSelectionPoint","changeModeFareSelectionPoints","_ref8","_x11","fetchFareSelectionPoints","sendFareSelectionPoints","lstFareSelectionPoints","_ref10","_x13","_ref11","fetchRatesAndChangeRouter","CONTEXT_SET_AS_DRAFT","_x14","_ref12","flagReady","buffer","rdr","stream","newResponse","blob","contentDisposition","fileName","fileNameMatch","locales","current","getReader","readReader","res","parse","String","fromCharCode","errorCode","done","ReadableStream","start","controller","b","enqueue","close","Response","get","match","setDownloadLink","_x15","_x16","validateRate","_ref13","result","daysUncovered","specialDaysUncovered","periodPositionErrors","setErrorValidate","t1","t2","t3","t4","_x17","_x18","_ref15","_x21","_x22","_ref16","contextsReducer","_x23","_x24","_getState$ratesReduce","ratesReducer","_getState$ratesReduce2","lastContextId","_ref5","rateChannels","_x7","_x8","_ref9","fareSelectionPoints","_x12","_ref14","_x19","_x20","disallowedPeriodsActions","fetchDisallowedPeriods","reference","referenceId","actions","DISALLOWED_PERIODS_BEGIN","DELETE_DISALLOWED_PERIODS_SUCCESS","DISALLOWED_PERIODS_FAILURE","_result","EDIT_DISALLOWED_PERIODS_SUCCESS","CREATE_DISALLOWED_PERIODS_SUCCESS","DISALLOWED_PERIODS_SET_ERROR","saveDisallowedPeriods","DISALLOWED_PERIODS_CHANGE_MODE","FETCH_DISALLOWED_PERIODS_SUCCESS","disallowedPeriodsReducer","freeDaysActions","fetchFreeDays","FREE_DAYS_BEGIN","DELETE_FREE_DAYS_SUCCESS","FREE_DAYS_FAILURE","EDIT_FREE_DAYS_SUCCESS","CREATE_FREE_DAYS_SUCCESS","saveFreeDays","FREE_DAYS_SET_ERROR","FREE_DAYS_CHANGE_MODE","FETCH_FREE_DAYS_SUCCESS","reducer","freeDaysReducer","CONTEXTS_CHANGE_MODE","CONTEXTS_SET_ERROR","CONTEXTS_SET_ERROR_MFL","FETCH_CONTEXTS_BEGIN","FETCH_CONTEXTS_SUCCESS","FETCH_CONTEXTS_FAILURE","SEND_CONTEXT_BEGIN","CREATE_CONTEXT_SUCCESS","EDIT_CONTEXT_SUCCESS","DELETE_CONTEXT_SUCCESS","SEND_CONTEXT_FAILURE","CONTEXTS_SET_TAB_DISPLAY","CONTEXT_SET_CHECKED_VERSION","CONTEXT_SET_NOT_CHECKED_VERSION","CONTEXT_DETAIL_BEGIN","FETCH_CONTEXT_DETAIL_SUCCESS","CONTEXT_DETAIL_FAILURE","UPDATE_CENTERS_STATUS","SET_CONTEXT_DETAIL","SET_CONTEXT_DETAIL_UNSYNC","CONTEXT_SAP_CODE_STATE","CONTEXT_SAP_CODE_EDIT_CONTEXT","CONTEXT_EXPORT_PREBOOK","CONTEXT_PREBOOKS_STATE","SET_CONTEXTS_ALL","SET_CONTEXT_TABLE","sendContext","setErrorMfl","status","msg","code","console","log","historyActions","fetchHistoryVersions","checkCentersSync","oldStatus","window","location","reload","resetCentersSync","resetCenterSync","open","loading","checkCenterVersionSync","unsyncWithMfl","isDraft","_x25","_x26","updateExportPrebook","exportPrebook","_x27","_x28","setErrorExportPrebook","_x29","_x30","histVersion","year","month","monthDuration","_ref21","rateTypeCode","_x39","_x40","sendPrebooksUpdate","_ref17","_x31","_x32","sendPrebooksAdd","fromDate","toDate","_ref18","_x33","_x34","sendPrebooksCreate","prebooksWrapper","_ref20","_x37","_x38","sendDisallowedPeriodsMassive","_ref19","_x35","_x36","updateTableState","tableState","_ref22","_x41","_x42","historyService","getContextVersions","getContextHist","paidPeriodsService","getPaidPeriodsBySchedule","getPaidPeriodsBySpecialDay","getPaidPeriod","savePaidPeriod","editPaidPeriod","deletePaidPeriod","scheduleId","specialDayId","paidPeriodId","paidPeriod","periodsService","getPeriods","savePeriod","editPeriod","deletePeriod","getPeriodPositions","savePeriodPositions","period","periodId","lstPeriodIds","positionsService","getPositions","savePosition","editPosition","deletePosition","rolesService","getRoles","saveRole","editRole","deleteRole","getRoleClaims","saveRoleClaims","getRoleContexts","saveRoleContexts","role","getLocale","lstClaimIds","_args7","schedulesService","getSchedules","getSchedule","saveSchedule","editSchedule","deleteSchedule","duplicateSchedule","originalId","specialDaysService","getSpecialDays","getSpecialDay","saveSpecialDay","editSpecialDay","deleteSpecialDay","specialDays","usersService","getUsers","saveUser","editUser","deleteUser","getUserContexts","saveUserContexts","getUserRole","user","userId","_doRequestWithResponse","doRequest","_doRequestReturnStandard","_doRequestSimple","err","TypeError","Array","isArray","join","hasOwnProperty","_readReader","callbackResult","read","url","URL","createObjectURL","link","document","createElement","href","setAttribute","appendChild","click","remove","revokeObjectURL","auditsService","getAudits","getContextAudits","getRateAudits","getAuditDetail","filter","AUDITS_CHANGE_MODE","AUDITS_SET_ERROR","AUDITS_BEGIN","FETCH_AUDITS_SUCCESS","FETCH_DETAIL_SUCCESS","auditsActions","fetchAudits","fetchContextAudits","fetchRateAudits","auditId","audit","initialState","hasFetchedAudits","hasFetchedDetail","router","CHANGE_MODE","AUX_SET_ERROR","FETCH_DAYS_BEGIN","FETCH_DAYS_SUCCESS","FETCH_DAYS_FAILURE","SEND_DAYS_BEGIN","SEND_DAYS_SUCCESS","SEND_DAYS_FAILURE","FETCH_HOURS_BEGIN","FETCH_HOURS_SUCCESS","FETCH_HOURS_FAILURE","SEND_HOURS_BEGIN","SEND_HOURS_SUCCESS","SEND_HOURS_FAILURE","FETCH_USES_BEGIN","FETCH_USES_SUCCESS","FETCH_USES_FAILURE","SEND_USES_BEGIN","SEND_USES_SUCCESS","SEND_USES_FAILURE","FETCH_TLCM_BEGIN","FETCH_TLCM_SUCCESS","FETCH_TLCM_FAILURE","SEND_TLCM_BEGIN","SEND_TLCM_SUCCESS","SEND_TLCM_FAILURE","FETCH_CLAIMS_BEGIN","FETCH_CLAIMS_SUCCESS","FETCH_CLAIMS_FAILURE","auxActions","fetchDays","sendDays","fetchHours","sendHours","fetchUses","sendUses","fetchTlcm","sendTlcm","fetchClaims","lstClaims","saved","CHANNELS_CHANGE_MODE","CHANNELS_SET_ERROR","FETCH_CHANNELS_BEGIN","FETCH_CHANNELS_SUCCESS","FETCH_CHANNELS_FAILURE","SEND_CHANNEL_BEGIN","CREATE_CHANNEL_SUCCESS","EDIT_CHANNEL_SUCCESS","DELETE_CHANNEL_SUCCESS","SEND_CHANNEL_FAILURE","channelsActions","fetchChannels","sendChannel","channelsReducer","modalOpen","modalLoading","modalError","hasCheckedVersion","errorMfl","sapCodeState","prebooksState","contextsAll","table","order","orderBy","page","rowsPerPage","PARKING_ZONE_SELECTED","FETCH_CITIES_BEGIN","FETCH_CITIES_SUCCESS","FETCH_CITIES_FAILURE","FETCH_PARKINGS_BEGIN","FETCH_PARKINGS_SUCCESS","FETCH_PARKINGS_FAILURE","FILTER_PARKINGS_SUCCESS","SWITCH_ACTUALITY_TYPE_BEGIN","SWITCH_ACTUALITY_TYPE_SUCCESS","SWITCH_ACTUALITY_TYPE_FAILURE","ADD_EMPTY_FARE","FETCH_FARES_BEGIN","FETCH_FARES_SUCCESS","FETCH_FARES_FAILURE","FILTER_FARES_SUCCESS","GET_FARE_BEGIN","GET_FARE_SUCCESS","GET_FARE_FAILURE","CREATE_FARE_BEGIN","CREATE_FARE_SUCCESS","CREATE_FARE_FAILURE","SAVE_FARE_BEGIN","SAVE_FARE_SUCCESS","SAVE_FARE_FAILURE","RESET_SAVED_FARE_FLAG","SELECT_FARE_TYPE","SELECT_FARE","SET_OPEN_MODE_FARE","ADD_PERIOD_BOX","DOWNLOAD_FARE_INSTANCE_BEGIN","DOWNLOAD_FARE_INSTANCE_SUCCESS","DOWNLOAD_FARE_INSTANCE_FAILURE","selectedFare","name","description","from","to","normal24Max","special24Max","normal24MaxEmpty","special24MaxEmpty","periods","daysOfWeek","startTime","endTime","periodMaxCost","farePeriods","duration","costForFraction","fraction","createdFare","selectedFareType","editDialog","FILTERS_CONTEXTS_SEARCH","FILTERS_MUNICIPALITIES_SEARCH","FILTERS_AUDITS","Date","contextsSearch","municipalitiesSearch","auditsFilter","dateFrom","moment","subtract","dateTo","toastSuccess","toastError","toastWarning","ROLES_CHANGE_MODE","ROLES_BEGIN","FETCH_ROLES_SUCCESS","FETCH_ROLES_FAILURE","CREATE_ROLE_SUCCESS","EDIT_ROLE_SUCCESS","SEND_ROLE_FAILURE","DELETE_ROLE_SUCCESS","ROLE_CLAIMS_CHANGE_MODE","FETCH_ROLE_CLAIMS_SUCCESS","FETCH_ROLE_CLAIMS_FAILURE","SAVE_ROLE_CLAIMS_SUCCESS","ROLES_SET_TAB_DISPLAY","ROLES_SET_ERROR","ROLES_ROLE_CONTEXT_STATE","rolesActions","fetchRoles","sendRole","changeModeRoleClaims","fetchRoleClaims","sendRoleClaims","fetchRoleContexts","rolesReducer","roleClaims","ActionTypes","CHANGE_LOCALE","changeLocale","oldLocale","languageKey","auxReducer","availableLanguages","municipalityContextsRouter","loadingMunicipalityContexts","errorMunicipalityContexts","SCHEDULES_CHANGE_MODE","SCHEDULES_SET_ERROR","SCHEDULES_BEGIN","SCHEDULES_FAILURE","FETCH_SCHEDULES_SUCCESS","FETCH_ONE_SCHEDULE_SUCCESS","CREATE_SCHEDULE_SUCCESS","EDIT_SCHEDULE_SUCCESS","DELETE_SCHEDULE_SUCCESS","SCHEDULES_SET_SCHEDULES_OVERLAP_ERROR","SCHEDULES_SET_TAB_DISPLAY","schedulesActions","fetchSchedules","sendSchedule","_c","fetchOneSchedule","setErrorSchedulesOverlap","schedulesOverlapError","schedules","schedulesReducer","PAID_PERIODS_CHANGE_MODE","PAID_PERIODS_SET_ERROR","PAID_PERIODS_BEGIN","PAID_PERIODS_FAILURE","FETCH_PAID_PERIODS_SCHEDULE_SUCCESS","FETCH_PAID_PERIODS_SPECIAL_DAY_SUCCESS","FETCH_ONE_PAID_PERIOD_SUCCESS","CREATE_PAID_PERIOD_SUCCESS","EDIT_PAID_PERIOD_SUCCESS","DELETE_PAID_PERIOD_SUCCESS","PAID_PERIODS_SET_PAID_PERIODS_OVERLAP_ERROR","paidPeriodsActions","fetchPaidPeriods","sendPaidPeriod","fetchOnPaidPeriod","setErrorPaidPeriodsOverlap","paidPeriodsOverlapError","_getState$paidPeriods","paidPeriods","_paidPeriods","paidPeriodsReducer","parkings","cities","parkingID","parkingZone","parkingSapCode","parkingCity","some","PERIODS_CHANGE_MODE","PERIODS_SET_ERROR","PERIODS_SET_ERROR_PERIOD_POSITION_OVERLAP","PERIODS_BEGIN","PERIODS_FAILURE","FETCH_PERIODS_SUCCESS","CREATE_PERIOD_SUCCESS","EDIT_PERIOD_SUCCESS","DELETE_PERIOD_SUCCESS","PERIOD_POSITIONS_CHANGE_MODE","PERIOD_POSITIONS_BEGIN","PERIOD_POSITIONS_FAILURE","FETCH_PERIOD_POSITIONS_SUCCESS","SEND_PERIOD_POSITIONS_SUCCESS","PERIODS_SET_TAB_DISPLAY","periodsActions","fetchPeriods","sendPeriod","changeModePeriodPositions","fetchPeriodPositions","sendPeriodPositions","lstPositionIds","setErrorPeriodPositionsOverlap","periodPositions","positions","periodPositionsLoading","periodPositionsError","periodPositionsRouter","periodPositionsOverlapError","positionsActions","POSITIONS_CHANGE_MODE","fetchPositions","POSITIONS_BEGIN","DELETE_POSITION_SUCCESS","POSITIONS_FAILURE","sendPosition","EDIT_POSITION_SUCCESS","CREATE_POSITION_SUCCESS","setTimeout","element","querySelector","scrollIntoView","POSITIONS_SET_ERROR","FETCH_POSITIONS_SUCCESS","selectedTab","loadingRateChannels","errorRateChannels","rateChannelsRouter","fareSelectionPointsLoading","fareSelectionPointsError","fareSelectionPointsRouter","validateError","loadingTranslation","translationModalOpen","errorTranslation","errorExport","roleClaimsRouter","errorRoleClaims","roleContexts","SPECIAL_DAYS_CHANGE_MODE","SPECIAL_DAYS_SET_ERROR","SPECIAL_DAYS_BEGIN","SPECIAL_DAYS_FAILURE","FETCH_SPECIAL_DAYS_SUCCESS","FETCH_ONE_SPECIAL_DAY_SUCCESS","CREATE_SPECIAL_DAY_SUCCESS","EDIT_SPECIAL_DAY_SUCCESS","DELETE_SPECIAL_DAY_SUCCESS","SPECIAL_DAYS_SET_SPECIAL_DAYS_OVERLAP_ERROR","specialDaysActions","fetchSpecialDays","sendSpecialDay","fetchOneSpecialDay","setErrorSpecialDaysOverlap","specialDaysOverlapError","specialDaysReducer","el","hist","USERS_CHANGE_MODE","USER_CONTEXTS_CHANGE_MODE","USERS_BEGIN","USERS_FAILURE","FETCH_USERS_SUCCESS","CREATE_USER_SUCCESS","EDIT_USER_SUCCESS","DELETE_USER_SUCCESS","USERS_SET_ERROR","USER_CONTEXTS_BEGIN","USER_CONTEXTS_FAILURE","FETCH_USER_CONTEXTS_SUCCESS","SEND_USER_CONTEXTS_SUCCESS","SEND_USER_CONTEXTS_ERROR","USERS_SET_TAB_DISPLAY","SET_USER_ROLE","usersActions","fetchUsers","sendUser","changeModeUserContexts","fetchUserContexts","sendUserContexts","setUserRole","usersReducer","userContexts","routerUserContexts","loadingUserContexts","errorUserContexts","setActive","versions","historyReducer","HIST_FETCH","HIST_VERSIONS","fetchContext","HIST_CONTEXT","setState","obj","HIST_STATE","HIST_ACTIVE","isActive","active","contextPage","rateTypeTabIndex","rateTabIndex","rootReducer","combineReducers","parkingsReducer","state","action","parkingZoneObj","city","fares","fareObject","cloneDeep","newState","fareTypesList","actualityType","fare","errorDetails","details","formMode","fareType","filteredByType","loadingMessage","setLocale","errror","toConsumableArray","overwriteFreeDays","overwriteDisallowedPeriods","sort","localeCompare","periodsReducer","positionsReducer","_objectSpread2","defineProperty","auditsReducer","generalReducer","filtersReducer","store","createStore","applyMiddleware","thunkMiddleware","connect","setToastError","withStyles","documentText","textDecoration","&:hover","cursor","textOverflow","whiteSpace","overflow","tooltip","props","_useState","useState","_useState2","slicedToArray","setLoading","react_default","className","index_es","style","height","downloadFile","_fileName","cd","Description_default","Tooltip_default","title","onClick","onDelete","Close_default","button","modal","ErrorMessage","classCallCheck","possibleConstructorReturn","getPrototypeOf","call","css","container","errs","React","Component","CommentDialog","_this","handleClose","onClose","commentLength","prevProps","_this2","_this$props","content","Dialogs_LoadingDialog","Dialog_default","fullWidth","aria-labelledby","aria-describedby","DialogTitle_default","DialogContent_default","dist_default","multiple","maxSize","multipleMaxSize","multipleMaxCount","accept","onSuccess","files","onError","browseFiles","getDropZoneProps","getLabelProps","item","xs","rows","multiline","variant","onChange","target","inputProps","maxLength","paddingLeft","d","Comments_CommentDocument","doc","containerFilesUpload","disabled","chip","label","fu","components_ErrorMessage","DialogActions_default","Button_default","buttonCancel","onSubmit","autoFocus","& span","containerFlag","flag","rowMargin","textArea","img","maxHeight","alt","AWS_URI","REDIRECT_URI","CLIENT_ID","LOGIN_URI","TOKEN_URI","JWKS_URL","CLIENT_SECRET_ID","LOGOUT_URI","getAuthCode","codeMatches","search","getToken","_getToken","tokenStorage","token","verifyToken","refreshToken","grant_type","client_id","redirect_uri","scope","axios","post","qs","btoa","Content-Type","saveToken","id_token","access_token","refresh_token","clearTokens","_refreshToken","_refreshToken2","setItem","removeItem","getKey","unverifiedDecodedAuthorizationCodeIdToken","kid","jwk","pem","kidId","jwks","keys","k","jwt","decode","complete","header","jwkToPem","verify","algorithms","HeaderBar","_const","aux","security","userIcon","handleLangClick","event","anchorEl","currentTarget","menu","handleLangClose","handleMenuClick","handleUserClick","handleMenuItemClick","changeMenu","bind","assertThisInitialized","_this$props$locales","acitveLocale","_this$state","countryFlag","localeCode","AppBar_default","backgroundColor","Toolbar_default","logo","components_Logo","grow","component","Link","aria-owns","aria-haspopup","ArrowDropDown_default","Menu_default","keepMounted","MenuItem_default","selected","react_flagkit_default","country","size","flagIcon","Boolean","localeName","localeKey","Person_default","userEmail","_logout","logout","connectedHeaderBar","fontFamily","paddingRight","TitleToolbar","titleContainer","extraComponent","buttonContainer","onAdd","onEdit","onSave","onCancel","onBack","onExport","onDuplicate","buttonMargin","onValidate","childContainer","children","flexDirection","OutlinedTextField","handleChange","elementName","elementId","labelPlacement","_this$props$inputLabe","inputLabelAdornmentPosition","_this$props$hideLabel","hideLabel","outlinedStyle","other","inputPropsExtra","objectWithoutProperties","_elementId","uniqueId","adornmentPropName","Grid_default","InputLabel_default","required","classnames","shrink","htmlFor","TextField_default","assign","classNames","textField","onPaste","InputProps","input","inputField","InputAdornment_default","inputClasses","readOnly","cssOutlinedInput","focused","cssFocused","notchedOutline","lineHeight","fontWeight","controlBeforeLabel","textFieldLabel","readOnlyFieldset","cssUnderline","&:after","borderBottomColor","borderColor","ChannelForm","nameError","isTelpark","telpark","returnData","refReturnData","direction","justify","components_OutlinedTextField","upperCase","readonly","containerIsTelpark","checked","formData","formError","containerButtons","textTransform","styles","boardHeader","selectField","buttonMarginRight","longField","minWidth","contextField","typeField","containerOptions","AuditDetailPage","elevation","Forms_TitleToolbar","refTable","startAdornment","insUser","contextName","rateName","JSONPretty_default","submitForm","isValidDate","isNaN","toDateObject","dateString","format","toDateObjectFromJson","toDateString","dateObject","toDateTimeString","toDateJsonString","validateDate","date","isValid","onOkClick","ConfirmDialog","DialogContentText_default","SelectField","handleClickShowPassword","showPassword","_this$props$options","options","labelPosition","FormControl_default","Select_default","native","field","OutlinedInput_default","outlinedInput","option","flexWrap","filtersContainer","spacer","flex","palette","filterComponentContainer","selectedRow","tableTitle","addHandler","onConfirmClick","filters","editHandler","deleteHadler","_props$onTableEdit","onTableEdit","_props$onTableCancel","onTableCancel","filterComponent","filterObj","components_SelectionField","customTableButton","aria-label","Add_default","desc","sA","sB","EnhancedTableHead","createSortHandler","property","onRequestSort","onSelectAllClick","rowCount","TableHead_default","TableRow_default","row","TableCell_default","align","sortDirection","placement","numeric","enterDelay","TableSortLabel_default","CustomTableCell","_props$data","_props$row","_props$align","formatter","EnhancedTable","_this3","handleRequestSort","handleTableOrder","handleSelectAllClick","handleClick","rowObject","onConfirm","handleChangePage","handleTableState","handleChangeRowsPerPage","isSelected","confirmButtonHandler","addButtonHandler","viewButtonHandler","stopPropagation","onView","editButtonHandler","deleteButtonHandler","extend","confirmDeleteDialogOpen","toDelete","confirmDeleteCallback","clone","_this4","_this$props2","_this$props2$onConfir","_this$props2$onAdd","_this$props2$onView","_this$props2$onEdit","_this$props2$onDelete","_this$props2$filters","_this$props2$onEditCo","onEditCondition","_this$props2$onDelete2","onDeleteCondition","_this$props2$onTableE","_this$props2$onTableC","dataSource","emptyRows","min","Paper_default","square","components_EnhancedTableToolbar","tableWrapper","Table_default","EMTable_EnhancedTableHead","TableBody_default","array","cmp","stabilizedThis","stableSort","getSorting","slice","editCondition","deleteCondition","hover","aria-checked","tabIndex","EMTable_CustomTableCell","IconButton_default","Visibility_default","Edit_default","Delete_default","red","colSpan","TablePagination_default","rowsPerPageOptions","labelRowsPerPage","count","backIconButtonProps","nextIconButtonProps","onChangePage","onChangeRowsPerPage","Dialogs_ConfirmDialog","connectedEnhancedTable","overflowX","labelPadding","updateFilter","setDateFrom","_useState3","_useState4","setDateTo","_useState5","_useState6","setUser","_useState7","_useState8","setTable","_useState9","_useState10","setContext","_useState11","_useState12","setRate","_useState13","_useState14","rowsAuditsTable","disablePadding","Dialogs_ErrorDialog","react_datepicker_min_default","dateFormat","todayButton","disabledKeyboardNavigation","customInput","maxDate","minDate","EMTable","useEffect","Audits_AuditsTablePage","Audits_AuditDetailPage","MaterialTableActions","setChannel","handleDeleteChannel","material_table_dist_default","columns","filtering","disableClick","render","rowData","MaterialTableActions_MaterialTableActions","deletable","toolbar","ChannelDetailPage","handleSubmit","_this$props3","Forms_ChannelForm","Channels_ChannelsTablePage","Channels_ChannelDetailPage","fetchContextMflVersion","interval","setInterval","clearInterval","setDialogOpen","updateSapCode","sapCodeField","cancelButton","setSapCode","Services_ContextSyncDaemon","fontStyle","components_LoadingPaper","toUpperCase","municipalityName","endAdornment","disableEditSapCode","showOptions","onPositionsClick","onFreeDaysClick","onDisallowedPeriodsClick","disabledDisallowedPeriod","onBackClick","onHistoryClick","FetchGlobals","fetchHistory","Fragment","propTypes","PropTypes","string","bool","select","marginFields","paddingLabel","fetchVersions","version","FetchFromContext","closeModal","histDate","customFilterAndSearch","term","histType","onRowClick","ContextForm","typeError","sapCodeError","containerSelect","errorBorder","gridRow","borderRadius","isTextFromExcel","parsePasteFromExcel","results","DisallowedPeriodsFormTable","getValues","addRow","deleteRow","setValue","tableRef","pointerEvents","zIndex","datePicker","tableData","pasteOnCell","clipboardData","getData","fromDateError","toDateError","paging","actionsColumnIndex","icon","localization","emptyDataSourceMessage","iRow","lst","cellType","parsedText","newData","t","onCopyError","preventDefault","containerTable","sendDisallowedPeriod","changeTabDisplay","useRef","setValues","errorOrder","isAfter","v1","i1","v2","i2","isSameOrAfter","isBefore","isSameOrBefore","md","Tables_DisallowedPeriodsFormTable","PeriodForm","price","priceError","paddingOnTop","containerLabel","showPrice","containerIsStartStop","DisallowedPeriodContextDetailPage","sp","Forms_PeriodForm","onEditAndDeleteCondition","rowsDisallowedPeriodsTable","isPrebooks","dp","DisallowedPeriodsContext_DisallowedPeriodsContextTablePage","DisallowedPeriods_RdxDisallowedPeriodAddPage","DisallowedPeriodsContext_DisallowedPeriodContextDetailPage","sendFreeDays","dayDate","setData","Set","freeDayForm","dayDateError","InputLabel","containerRight","FreeDayContextDetailPage","FreeDayForm","sendFreeDay","getFullYear","setYear","rowsFreeDaysTable","lstYears","ys","FreeDaysContextTablePage","FreeDaysContext_FreeDayContextAddPage","FreeDaysContext_FreeDayContextDetailPage","rowsPositionsTable","editable","PositionForm","codeError","bottomRow","PositionDetailPage","Forms_PositionForm","Positions_PositionsTablePage","Positions_PositionDetailPage","StatusIcon","Warning_default","fill","AssignmentTurnedIn_default","backPress","sendDisallowedPeriods","ratesTableRef","disallowedTableRef","dataManager","selection","showFirstLastPageButtons","showSelectAllCheckbox","showTextRowsSelected","sendPrebooks","setFromDate","setToDate","errorFromDate","setErrorFromDate","errorToDate","setErrorToDate","setRates","errorPrice","newPrice","tableId","getRenderState","setRateChannels","rc","commissionMinimum","commissionPercentage","ChannelsTableDialog_this","DisallowedPeriodsTableDialog","func","TranslationDialog","eu","ca","fr","esError","ptError","enError","euError","caError","frError","langCode","resetToPropValues","allowSubmit","disableBackdropClick","basqueFlag","catalanFlag","marginButtons","labelRight","tableLabel","quantity","setDays","setName","setRateTypeCode","setTranslations","_useState15","_useState16","setDisallowedPeriods","_useState17","_useState18","_useState19","errorT","errorC","errorD","errorP","_useState20","modalState","setModalState","Fetchers_FetchGlobals","Dialogs_TranslationDialog","errorRequired","errorHash","Dialogs_ChannelsTableDialog","Dialogs_DisallowedPeriodsTableDialog","foreach","schedulesContainer","overflowY","day","times","reduce","acc","curr","ppe","p","rateName1","periodName1","rateName2","periodName2","positionName","containerstartStop","containerName","buttonTranslation","NameAndTypeFields","onTranslateClick","Translate_default","rateTypeCodeError","UsesAndPriceFields","quantityError","TimeToBuyField","timeToBuy","includesDays","minutes","minutesToPt","timeToBuyError","PassPerHourForm","PassPerUseForm","durationPerUse","durationPerUseError","MultidayForm","MultipassForm","RateForm","subProductTypeCode","subProductTypeCodeError","startStop","maxCost","maxCostError","stepError","graceMinutesEntry","graceMinutesExit","changeState","graceMinutesEntryError","graceMinutesExitError","quantityLabel","isMaxCostEmpty","-webkit-box-shadow","-moz-box-shadow","Orange","font","documentsContainer","insDate","lastUpdDate","wordWrap","getComments","setModalOpen","setOrder","modalConfirm","setModalConfirm","commentEdit","setCommentEdit","Dialogs_CommentDialog","Comments_Comment","confirmModal","setConfirmModal","isEditable","control","DisallowedPeriodDetailPage","DisallowedPeriods_DisallowedPeriodsTablePage","DisallowedPeriods_DisallowedPeriodDetailPage","CellTable","handleOnClose","handleAddRow","handleOnChange","oneElementLeft","grid","FareSelectionPointsPage","handleSaveFareSelectionPoints","rowsDaysTable","Tables_CellTable","tableSubmit","minute","FreeDayDetailPage","FreeDays_FreeDaysTablePage","FreeDays_FreeDayAddPage","FreeDays_FreeDayDetailPage","rowsPeriodsTable","isOffStreetPrebook","switchCell","treeCell","toggleButton","verticalAlign","withoutChildren","withChildren","PeriodPositionsTablePage","treeValue","TreeState","createEmpty","handleSubmitPeriods","handleSwitchChange","handleTreeChange","renderName","renderCode","renderSwitch","rowsPeriodPositionsTable","create","setUpPositionTree","Dialogs_ErrorPeriodPositionOverlap","errorOverlap","setErrorOverlap","dist_index_es","Column","renderCell","renderHeaderCell","pp","hasData","sendPeriodPosition","treeState","metadata","lstPeriodPositions","loadingPositions","loadingPeriodPositions","PeriodPositions_PeriodPositionsTablePage","positionsContainer","PeriodDetailPage","productType","PeriodPositions_PeriodPositionsRouter","Periods_PeriodsTablePage","Periods_PeriodDetailPage","RateChannelForm","channelIdError","commissionMinimumError","commissionPercentageError","RateChannelDetailPage","Forms_RateChannelForm","RateChannels_RateChannelsTablePage","RateChannels_RateChannelDetailPage","ScheduleForm","daysBitMask","daysBitMaskError","FormGroup_default","daysError","weekday","checkbox","sIndex","toLowerCase","formControlFieldset","GeneratePriceDialog","jump","initialCost","initialDuration","amountPerStep","lastPoint","isByCost","rowMarginTop","cellsContainer","FractionTable","genNewRowObj","handleAddPreviousRow","onBlur","newValues","splice","headerCell","PriceDetailTable","generateDetail","refGenerateDetail","rounded","newStep","prevMax","sum","maxDailyCost","stepRound","j","limit","PriceTable","loadingGenerate","handleOnClean","handleOnPaste","handleModalSubmit","costError","durationError","Dialogs_GeneratePriceDialog","durationErr","isInteger","minutesInDay","remainder","compareTo","DataForm","startTimeError","endTimeError","handleTimeChange","time","prevTime","correctFormat","PaidPeriodDataForm","PaidPeriodForm","viewDetail","formSubmit","paidPeriodDataSubmit","Tables_PriceTable","schedulePrices","submitPriceTable","Tables_FractionTable","scheduleFractions","fractionTable","refFractionTable","Tables_PriceDetailTable","genTable","detailTable","validation","updateValues","priceTableValues","fractionTableValues","PaidPeriodDetailPage","ErrorPaidPeriod","errorSchedules","Forms_PaidPeriodForm","prevCost","prevDuration","errorMultipleStep","errCostIncrement","errDurationIncrement","errCostMultipleStep","errDurationMultipleStep","errCostMultiple","errDurationMultiple","scheduleTypeCode","fetchPaidPeriod","rowsPaidPeriodsTable","PaidPeriods_PaidPeriodsTablePage","PaidPeriods_PaidPeriodDetailPage","paidPeriodsContainer","ScheduleDetailPage","Dialogs_ErrorSchedule","Forms_ScheduleForm","PaidPeriods_PaidPeriodsRouter","newSchedule","fetchSchedule","sDays","Schedules_SchedulesTablePage","Schedules_ScheduleDetailPage","SpecialDayForm","SpecialDayDetailPage","handleSubmitDuplicate","errorSpecialDays","Forms_SpecialDayForm","fetchSpecialDay","rowsSpecialDaysTable","SpecialDays_SpecialDaysTablePage","SpecialDays_SpecialDayDetailPage","tabContent","RotationOnTabPanels","setTab","indicatorColor","textColor","Periods_PeriodsRouter","Schedules_SchedulesRouter","FareSelection_FareSelectionPointsPage","SpecialDays_SpecialDaysRouter","FreeDays_FreeDaysRouter","RateChannels_RateChannelsRouter","Comments_CommentsBoard","RotationOffTabPanels","PassesOnTabPanels","onChangedTab","PreAndMultipassOffTabPanels","DisallowedPeriods_DisallowedPeriodsRouter","OtherOffTabPanels","RateDetailPage","modalValidateOpen","warning","submitTranslations","handleValidateClick","checkIfTelparkChannel","productTypeTitle","Forms_RateForm","setErrorExport","Dialogs_ErrorRateValidate","showTranslationModal","TabPanels_RateTabPanel","setTranslationsError","dto","sendTranslations","today","hasTelpark","replaceAll","exportData","currentYear","setType","setMonth","setMonthDuration","getMonthText","openExportModal","rowsRatesTable","Dialogs_PrebooksExportDialog","allowedCreatePrebooks","setSelectedTab","newTab","filterRates","Rates_RatesTablePage","Prebooks_PrebooksCreatePage","Prebooks_PrebooksAddPage","DisallowedPeriods_DisallowedPeriodAddMassivePage","Rates_RateDetailPage","buttonBack","ContextDetailPage","freeDayUniqueKey","confirmDialogOpen","confirmAction","historyDialogOpen","handleOptions","handleSyncMfl","Dialogs_HistoryDialog","components_ContextHeader","PositionRouter","FreeDaysContext_FreeDaysContextRouter","DisallowedPeriodsContext_DisallowedPeriodsContextRouter","Forms_ContextForm","statusDes","resetStatus","background","syncOkEndDate","lastSyncStartDate","Rates_RatesRouter","clicked","syncMfl","params","withRouter","ChannelRatesTable","DisallowedPeriodsTable","FareSelectionPointsTable","FreeDaysTable","PaidPeriodsTable","PositionsTable","RatesTable","showDraft","SchedulesTable","SpecialDaysTable","selectedIndex","tabs","PeriodsTable","setHistState","PositionsTable_PositionsTable","isSchedules","PaidPeriods_RdxPaidPeriodsHistPage","PaidPeriodsTable_PaidPeriodsTable","showCommentOptions","setTranslationModalOpen","Periods_RdxPeriodHistPage","Redux_RdxSchSpHistPage","getTypeFromRateTabIndex","PeriodsTable_PeriodsTable","SchedulesTable_SchedulesTable","FareSelectionPointsTable_FareSelectionPointsTable","SpecialDaysTable_SpecialDaysTable","FreeDaysTable_FreeDaysTable","DisallowedPeriodsTable_DisallowedPeriodsTable","ChannelRatesTable_ChannelRatesTable","channelRates","components_CommentsBoard","components_RateTabs","historyLabel","contextHist","returnToCurrent","getProductTypeCodeFromTabIndex","RatesTable_RatesTable","histUser","Rates_RdxRateHistPage","historyActive","resetHasCheckedVersion","Contexts_RdxContextHistPage","Contexts_ContextDetailPage","StatusCircle","statusContainer","searchbar","checkStatus","setSearch","setTableState","confirmOpen","setConfirmOpen","setConfirmAction","rowsContextsTable","components_StatusCircle","placeholder","Search_default","ContextCreatePage","Contexts_ContextsTablePage","Contexts_ContextCreatePage","Unauthorized","claim","DaysPage","handleSaveDays","components_Unauthorized","HoursPage","handleSaveHours","rowsHoursTable","rowsMunicipalitiesTable","m","MunicipalityForm","MunicipalityContextsTablePage","handleSubmitContexts","rowsMunicipalityContextsTable","municipalityContexts","setUpContextTree","sendContexts","MunicipalityContexts_MunicipalityContextsTablePage","MunicipalityDetailPage","Forms_MunicipalityForm","MunicipalityContexts_MunicipalityContextsRouter","Municipalities_MunicipalitiesTablePage","Municipalities_MunicipalityDetailPage","setRole","handleDeleteRole","RoleForm","RoleClaimsTablePage","selectedAll","handleSubmitClaims","handleAllSwitch","renderClaim","setUpClaimTree","notSelectedAll","rowsRoleClaimsTable","headerHeight","sendClaims","loadingClaims","loadingRoleClaims","RoleClaims_RoleClaimsTablePage","withRoleContexts","compose","setContexts","WrappedComponent","_Component","WrapperComponent","_isMounted","isLoading","inherits","createClass","catch","query","queryRoleContexts","withContexts","queryContexts","withSubmitRoleContexts","submit","_submit","completedSubmit","submitRoleContexts","ContextAssociationTable","createRef","getSelectedValues","emptyMessage","newValue","sorting","cellStyle","defaultChecked","components","FilterRow","material_table_dist","onFilterChanged","columnId","Body","withAllContexts","queryAllContexts","RoleContextComponent","pageSizeOptions","ContextAssociationTable_ContextAssociationTable","ref","Controllers_RoleContextController","RoleContexts1","RoleContexts2","RoleContexts3","RoleContexts4","TabPanels","borderRight","RoleClaims_RoleClaimsRouter","RoleDetailPage","Forms_RoleForm","RoleDetailPage_TabPanels","Roles_RolesTablePage","Roles_RoleDetailPage","TestPage","TlcmPage","handleSaveTlcm","rowsTlcmTable","email","handleDeleteUser","UserForm","emailError","roleIdError","labelRole","UserContextsTablePage","renderContext","selectedAllMessage","loadingContexts","errorContexts","UserDetailPage","openModalRole","Forms_UserForm","UserContexts_UserContextsRouter","loadingUsers","loadingRoles","Users_UsersTablePage","Users_UserDetailPage","UsesPage","handleSaveUses","rowsUsesTable","PrivateRoute","isLoggedIn","rest","Route_default","App","REFRESH_TOKEN_MINUTES","submitted","fetchedUserRoles","modalComment","listen","refreshTokenTimer","handleCloseToast","handleCloseToastError","handleCloseToastWarning","registerLocale","isAuthenticated","alert","navLanguage","navigator","language","THEME","createMuiTheme","typography","fontWeightLight","fontWeightRegular","fontWeightMedium","useNextVariants","primary","overrides","MuiInputBase","MuiSelect","MuiOutlinedInput","inputAdornedStart","MuiButtonBase","MuiButton","MuiTab","fontStretch","letterSpacing","MuiPrivateTabIndicator","colorSecondary","MuiInputAdornment","positionStart","MuiTypography","colorTextSecondary","core_styles","CircularProgress_default","progress","rel","Router","exact","path","ContextsRouterPage","ContextsDetailController","MunicipalitiesRouterPage","ChannelsRouterPage","RolesRouterPage","UsersRouterPage","AuditsRouterPage","autoHideDuration","green","orange","app","hideToast","hideToastError","hideToastWarning","connectedApp","parkinngZone","username","doLogin","ReactDOM","lib","getElementById","module","exports","./en.json","./en_ori.json","./es.json","./pt.json","webpackContext","req","webpackContextResolve","__webpack_require__","Error","./AD.svg","./AE.svg","./AF.svg","./AG.svg","./AI.svg","./AL.svg","./AM.svg","./AN.svg","./AO.svg","./AQ.svg","./AR.svg","./AS.svg","./AT.svg","./AU.svg","./AW.svg","./AX.svg","./AZ.svg","./BA.svg","./BB.svg","./BD.svg","./BE.svg","./BF.svg","./BG.svg","./BH.svg","./BI.svg","./BJ.svg","./BL.svg","./BM.svg","./BN.svg","./BO.svg","./BR.svg","./BS.svg","./BT.svg","./BV.svg","./BW.svg","./BY.svg","./BZ.svg","./CA.svg","./CC.svg","./CD.svg","./CF.svg","./CG.svg","./CH.svg","./CI.svg","./CK.svg","./CL.svg","./CM.svg","./CN.svg","./CO.svg","./CR.svg","./CU.svg","./CV.svg","./CW.svg","./CX.svg","./CY.svg","./CZ.svg","./DE.svg","./DJ.svg","./DK.svg","./DM.svg","./DO.svg","./DZ.svg","./EC.svg","./EE.svg","./EG.svg","./ER.svg","./ES.svg","./ET.svg","./EU.svg","./FI.svg","./FJ.svg","./FK.svg","./FM.svg","./FO.svg","./FR.svg","./GA.svg","./GB-ENG.svg","./GB-NIR.svg","./GB-SCT.svg","./GB-WLS.svg","./GB-ZET.svg","./GB.svg","./GD.svg","./GE.svg","./GF.svg","./GG.svg","./GH.svg","./GI.svg","./GL.svg","./GM.svg","./GN.svg","./GP.svg","./GQ.svg","./GR.svg","./GS.svg","./GT.svg","./GU.svg","./GW.svg","./GY.svg","./HK.svg","./HM.svg","./HN.svg","./HR.svg","./HT.svg","./HU.svg","./ID.svg","./IE.svg","./IL.svg","./IM.svg","./IN.svg","./IO.svg","./IQ.svg","./IR.svg","./IS.svg","./IT.svg","./JE.svg","./JM.svg","./JO.svg","./JP.svg","./KE.svg","./KG.svg","./KH.svg","./KI.svg","./KM.svg","./KN.svg","./KP.svg","./KR.svg","./KW.svg","./KY.svg","./KZ.svg","./LA.svg","./LB.svg","./LC.svg","./LGBT.svg","./LI.svg","./LK.svg","./LR.svg","./LS.svg","./LT.svg","./LU.svg","./LV.svg","./LY.svg","./MA.svg","./MC.svg","./MD.svg","./ME.svg","./MF.svg","./MG.svg","./MH.svg","./MK.svg","./ML.svg","./MM.svg","./MN.svg","./MO.svg","./MP.svg","./MQ.svg","./MR.svg","./MS.svg","./MT.svg","./MU.svg","./MV.svg","./MW.svg","./MX.svg","./MY.svg","./MZ.svg","./NA.svg","./NC.svg","./NE.svg","./NF.svg","./NG.svg","./NI.svg","./NL.svg","./NO.svg","./NP.svg","./NR.svg","./NU.svg","./NZ.svg","./OM.svg","./PA.svg","./PE.svg","./PF.svg","./PG.svg","./PH.svg","./PK.svg","./PL.svg","./PM.svg","./PN.svg","./PR.svg","./PS.svg","./PT.svg","./PW.svg","./PY.svg","./QA.svg","./RE.svg","./RO.svg","./RS.svg","./RU.svg","./RW.svg","./SA.svg","./SB.svg","./SC.svg","./SD.svg","./SE.svg","./SG.svg","./SH.svg","./SI.svg","./SJ.svg","./SK.svg","./SL.svg","./SM.svg","./SN.svg","./SO.svg","./SR.svg","./SS.svg","./ST.svg","./SV.svg","./SX.svg","./SY.svg","./SZ.svg","./TC.svg","./TD.svg","./TF.svg","./TG.svg","./TH.svg","./TJ.svg","./TK.svg","./TL.svg","./TM.svg","./TN.svg","./TO.svg","./TR.svg","./TT.svg","./TV.svg","./TW.svg","./TZ.svg","./UA.svg","./UG.svg","./UM.svg","./US-CA.svg","./US.svg","./UY.svg","./UZ.svg","./VA.svg","./VC.svg","./VE.svg","./VG.svg","./VI.svg","./VN.svg","./VU.svg","./WF.svg","./WS.svg","./XK.svg","./YE.svg","./YT.svg","./ZA.svg","./ZM.svg","./ZW.svg"],"mappings":"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ACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,eAAA,IACAC,eAAA,IACAC,eAAA,IACAC,eAAA,IACAC,eAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,aAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,IACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,cAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,KACAC,WAAA,MAIA,SAAArQ,EAAAC,GACA,IAAA/vE,EAAAgwE,EAAAD,GACA,OAAAE,EAAAjwE,GAEA,SAAAgwE,EAAAD,GACA,IAAA/vE,EAAAhE,EAAA+zE,GACA,KAAA/vE,EAAA,IACA,IAAAzF,EAAA,IAAA21E,MAAA,uBAAAH,EAAA,KAEA,MADAx1E,EAAAkhB,KAAA,mBACAlhB,EAEA,OAAAyF,EAEA8vE,EAAA/oC,KAAA,WACA,OAAA5xC,OAAA4xC,KAAA/qC,IAEA8zE,EAAAxqE,QAAA0qE,EACAR,EAAAC,QAAAK,EACAA,EAAA9vE,GAAA","file":"static/js/main.294cff93.chunk.js","sourcesContent":["export const defaultLanguageKey = 'en';\n\nexport const languages = ['en', 'es', 'pt'];\n\nexport const MappedLanguage = {'Castellano': 'es', 'English': 'en', 'Português': 'pt'};\n\nexport const MappedFlags = {'en': 'GB', 'es': 'ES', 'pt': 'PT'};","import counterpart from 'counterpart'\n// import * as R from 'ramda'\nimport _ from 'lodash';\n\nimport { defaultLanguageKey, languages, MappedLanguage } from './languages'\n\n_.each(MappedLanguage, (langKey, langName) => {\n counterpart.registerTranslations(\n langKey, require(`./translations/${langKey}.json`)\n )\n});\n\ncounterpart.setFallbackLocale(defaultLanguageKey)\ncounterpart.setMissingEntryGenerator((key) => (key.substring(key.indexOf('.') + 1, key.length)))\n\nexport default counterpart","import bigDecimal from 'js-big-decimal';\nimport { values } from 'lodash';\nimport translate from '../locales';\n\nrequire('dotenv').config()\n\nconst __t = translate;\n\nexport const baseApiUrl = process.env.REACT_APP_API_ENDPOINT + \"/api/\";// \"http://localhost:8080/api/\";//\"https://dicl0c5ixywv0.cloudfront.net/api/\";\n\nexport const periodTemplate = {\n 'daysOfWeek': [\n ''\n ],\n 'startTime': '00:00',\n 'endTime': '00:00',\n 'description': '',\n 'type': 'NORMAL',\n 'periodMaxCost': '',\n 'farePeriods': [{\n 'duration': '',\n 'costForFraction': '',\n 'fraction': ''\n }, {\n 'duration': '',\n 'costForFraction': '',\n 'fraction': ''\n }, {\n 'duration': '',\n 'costForFraction': '',\n 'fraction': ''\n }, {\n 'duration': '',\n 'costForFraction': '',\n 'fraction': ''\n }, {\n 'duration': '',\n 'costForFraction': '',\n 'fraction': ''\n }],\n}\n\nexport const fractionTemplate = {\n 'duration': '',\n 'costForFraction': '',\n 'fraction': ''\n}\n\nexport const routes = {\n base: '/',\n selectionFrom: '/selectionform',\n board: '/board',\n municipalities: '/municipalities',\n context: '/context/:id',\n contexts: '/contexts',\n channels: '/channels',\n channels_add: '/channels/add',\n channels_edit: '/channels/edit',\n channels_view: '/channels/view',\n days: '/days',\n hours: '/hours',\n uses: '/uses',\n tlcm: '/tlcm',\n roles: '/roles',\n users: '/users',\n audits: '/audits',\n test: '/test'\n}\n\nexport const pageModes = {\n list: '',\n add: 'add',\n edit: 'edit',\n view: 'view',\n duplicate: 'duplicate',\n create_massive: 'create_massive',\n add_massive: 'add_massive',\n edit_massive: 'edit_massive',\n disallowed_periods_massive: 'disallowed_periods_massive'\n}\n\nexport const pages = {\n contexts: 'contexts',\n rates: 'rates',\n periods: 'periods',\n schedules: 'schedules',\n positions: 'positions',\n channels: 'channels'\n}\n\nexport const contextTypes = {\n onStreet: \"ON\",\n offStreet: \"OFF\"\n}\n\nexport const productTypes = {\n rotation: \"ROT\",\n prebooks: \"PRE\",\n passPerUse: \"PPU\",\n passPerHour: \"PPH\",\n multidays: \"MUL\",\n multipass: \"MPS\"\n}\n\nexport const scheduleTypes = {\n cost: \"COST\",\n duration: \"DUR\"\n}\n\nexport const freeDayReference = {\n municipality: 'municipality',\n context: 'context',\n rate: 'rate'\n}\n\nexport const paidPeriodReference = {\n specialDay: 'specialDay',\n schedule: 'schedule'\n}\n\nexport const subProductTypes = {\n passByDuration: 'PASS_BY_DURATION',\n passDailyTimeSlot: 'PASS_DAILY_TIMESLOT'\n}\n\nexport const getProductTypeTitle = (isOnStreet, productTypeCode) => {\n const text = productTypeCode === productTypes.rotation ? __t('rotation') :\n productTypeCode === productTypes.multidays ? __t('multidays') :\n productTypeCode === productTypes.passPerHour ? __t('pass_per_hour') :\n productTypeCode === productTypes.passPerUse ? __t('pass_per_use') :\n productTypeCode === productTypes.multipass ? __t('multipass') :\n isOnStreet ? __t('passes') : __t('prebooks');\n\n return text;\n}\n\nexport const rateTypes = {\n actual: \"ACT\",\n competition: \"COM\",\n simulation: \"SIM\"\n}\n\nexport const tabDisplays = {\n index: 'index',\n main: 'main',\n secondary: 'secondary'\n}\n\nexport const materialTableStyles = {\n headerStyle: {\n fontSize: '1.05em',\n color: 'black'\n },\n actionsContainer: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center'\n }\n}\n\nexport function styleWithCommonClasses(classes) {\n if (classes == null)\n classes = {};\n\n return theme => ({\n borderContainer: {\n border: '1px solid lightgray'\n },\n root: {\n flexGrow: 1,\n paddingTop: 90,\n paddingBottom: 40\n },\n paper: {\n maxWidth: \"100%\",\n margin: theme.spacing.unit + \"px auto\",\n marginLeft: '5%',\n marginRight: '5%',\n padding: theme.spacing.unit * 2,\n },\n paperPadding: {\n padding: theme.spacing.unit * 2,\n },\n paperNoMargins: {\n maxWidth: \"100%\",\n marginTop: theme.spacing.unit + \"px auto\",\n marginBottom: theme.spacing.unit + \"px auto\",\n padding: theme.spacing.unit * 2,\n },\n errorText: {\n marginTop: '20px'\n },\n loadingFixedCenter: {\n position: 'fixed',\n top: '45%',\n left: '48%',\n outline: \"none\"\n },\n alignCenter: {\n textAlign: 'center'\n },\n alignRight: {\n textAlign: 'right'\n },\n pageContainer: {\n marginLeft: '5%',\n marginRight: '5%',\n },\n tab: {\n fontSize: '1.03em'\n },\n nTab: {\n borderLeft: '1px solid lightgrey'\n },\n tabPanel: {\n width: '100%',\n borderBottom: '1px solid lightgrey',\n },\n hidden: {\n display: 'none'\n },\n invisible: {\n visibility: 'hidden'\n },\n centerText: {\n textAlign: 'center'\n },\n spacingTop1: {\n marginTop: '15px'\n },\n spacingTop2: {\n marginTop: '20px'\n },\n headerSylte: {\n fontSize: '1.05em',\n color: 'black'\n },\n ...classes\n })\n}\n\nconst headers = (locale = 'en') => ({\n 'Content-type': 'application/json',\n 'Authorization': `Bearer ${localStorage.getItem('access_token')}`,\n 'Accept-Language': locale\n})\n\nexport const requestOptionsGet = (locale = 'en') => ({\n method: 'GET',\n headers: headers(locale),\n});\n\nexport const requestOptionsPost = (locale = 'en') => ({\n method: 'POST',\n headers: headers(locale),\n});\n\nexport const requestOptionsPut = (locale = 'en') => ({\n method: 'PUT',\n headers: headers(locale),\n});\n\nexport const requestOptionsDelete = (locale = 'en') => ({\n method: 'DELETE',\n headers: headers(locale),\n});\n\nexport function limitNumber(val, minVal, maxVal) {\n if (!val)\n return true;\n\n const n = Number(val);\n\n return n >= minVal && n <= maxVal;\n}\n\nexport function countDecimalPlaces(num) {\n if (!num || Math.floor(num) === num)\n return 0;\n\n if (!num.toString().includes(\".\"))\n return 0;\n\n const separated = num.toString().replace(\",\", \".\").split(\".\");\n if (typeof separated[1] === 'undefined')\n return 0;\n\n return separated[1].length || 0;\n}\n\nexport const APP_CLAIMS = {\n MENU_SEC_V: \"MENU_SEC_V\",\n MENU_AUX_V: \"MENU_AUX_V\",\n ROL_C: \"ROL_C\",\n ROL_E: \"ROL_E\",\n ROL_D: \"ROL_D\",\n ROL_CLAIM_E: \"ROL_CLAIM_E\",\n USER_C: \"USER_C\",\n USER_E: \"USER_E\",\n USER_D: \"USER_D\",\n USER_CON_E: \"USER_CON_E\",\n CHAN_C: \"CHAN_C\",\n CHAN_E: \"CHAN_E\",\n CHAN_D: \"CHAN_D\",\n MUN_C: \"MUN_C\",\n MUN_E: \"MUN_E\",\n MUN_D: \"MUN_D\",\n MUN_CON_E: \"MUN_CON_E\",\n FREE_C: \"FREE_C\",\n FREE_E: \"FREE_E\",\n FREE_D: \"FREE_D\",\n DIS_C: \"DIS_C\",\n DIS_E: \"DIS_E\",\n DIS_D: \"DIS_D\",\n SPE_C: \"SPE_C\",\n SPE_E: \"SPE_E\",\n SPE_D: \"SPE_D\",\n CTX_C: \"CTX_C\",\n CTX_E: \"CTX_E\",\n CTX_D: \"CTX_D\",\n POS_C: \"POS_C\",\n POS_E: \"POS_E\",\n POS_D: \"POS_D\",\n RATE_C: \"RATE_C\",\n RATE_E: \"RATE_E\",\n RATE_D: \"RATE_D\",\n PRD_C: \"PRD_C\",\n PRD_E: \"PRD_E\",\n PRD_D: \"PRD_D\",\n RATE_CHAN_C: \"RATE_CHAN_C\",\n RATE_CHAN_E: \"RATE_CHAN_E\",\n RATE_CHAN_D: \"RATE_CHAN_D\",\n SEL_POINT_E: \"SEL_POINT_E\",\n COM_C: \"COM_C\",\n COM_E: \"COM_E\",\n COM_D: \"COM_D\",\n SCH_C: \"SCH_C\",\n SCH_E: \"SCH_E\",\n SCH_D: \"SCH_D\",\n PRD_POS_E: \"PRD_POS_E\",\n MFL_SEND: \"MFL_SEND\",\n MFL_SYNC: \"MFL_SYNC\",\n RATE_TRANS_C: \"RATE_TRANS_C\"\n};\n\nexport function hasPermission(userRole, targetClaim) {\n if (userRole.roleId === \"admin\")\n return true;\n\n return userRole.claims && userRole.claims.find(c => c === targetClaim);\n}\n\nexport function accentFold(inStr) {\n return inStr.replace(\n /([àáâãäå])|([çčć])|([èéêë])|([ìíîï])|([ñ])|([òóôõöø])|([ß])|([ùúûü])|([ÿ])|([æ])/g,\n function (str, a, c, e, i, n, o, s, u, y, ae) {\n if (a) return 'a';\n if (c) return 'c';\n if (e) return 'e';\n if (i) return 'i';\n if (n) return 'n';\n if (o) return 'o';\n if (s) return 's';\n if (u) return 'u';\n if (y) return 'y';\n if (ae) return 'ae';\n }\n );\n}\n\nexport function roundToDecimalAsString(value, decimals) {\n return new bigDecimal(value).round(decimals).getValue().replace(\".\", \",\");\n}\n\nexport function roundToStep(step, bigDecimalNumber) {\n const twenty = new bigDecimal(20);\n\n switch (step) {\n case 0.01:\n return bigDecimalNumber.round(2, bigDecimal.RoundingModes.DOWN);\n case 0.05:\n const r = bigDecimalNumber.multiply(twenty).round(0, bigDecimal.RoundingModes.DOWN).divide(twenty).getValue();\n\n return new bigDecimal(r).round(2);\n case 0.1: {\n const r = bigDecimalNumber.round(1, bigDecimal.RoundingModes.DOWN).getValue();\n\n return new bigDecimal(r).round(2).getValue();\n }\n }\n}\n\nexport function validateSections(step, fractions) {\n let values = fractions.map(v => {\n v.costErr = false;\n v.minuteUntilErr = false;\n\n return v;\n })\n\n if (!step)\n return ({ values: values, errors: [__t('error_missing_step')] });\n\n if (1440 % step != 0)\n return ({ values: values, errors: [__t('error_step_minutes_day')] });\n\n let prevMinuteUntil = 0;\n\n let errorEmpty = false, errorStep = false, errorSmallMinuteUntil = false, errorIncrement = false;\n\n values.forEach(v => {\n if (!v.cost) {\n v.costErr = true;\n errorEmpty = true;\n }\n\n if (!v.minuteUntil) {\n v.minuteUntilErr = true;\n errorEmpty = true;\n }\n else {\n if (v.minuteUntil < step) {\n v.minuteUntilErr = true;\n errorSmallMinuteUntil = true;\n }\n if (v.minuteUntil <= prevMinuteUntil) {\n v.minuteUntilErr = true;\n errorIncrement = true;\n }\n if (v.minuteUntil % step != 0) {\n v.minuteUntilErr = true;\n errorStep = true;\n }\n }\n\n prevMinuteUntil = v.minuteUntil;\n });\n\n let errors = [];\n if (errorEmpty)\n errors.push(__t('error_empty_values_fraction_table'));\n\n if (errorStep)\n errors.push(__t('eror_minute_until_multiple_step'));\n\n if (errorSmallMinuteUntil)\n errors.push(__t('error_minute_until_smaller_step'));\n\n if (errorIncrement)\n errors.push(__t('error_minut_until_increment'));\n\n return ({ fractions: values, errors: errors });\n}\n\nexport function minutesToPt(includesDays, minutes) {\n if(!minutes)\n return [0, 0, 0];\n\n let days = 0;\n let hours = 0;\n if (includesDays) {\n days = Math.floor(minutes / (24 * 60));\n minutes = minutes - (days * 24 * 60);\n }\n\n hours = Math.floor(minutes / 60);\n minutes = minutes - (hours * 60);\n\n return ([days, hours ? hours : 0, minutes ? minutes : 0]);\n}","import { doRequestWithResponse } from '.';\nimport { baseApiUrl, requestOptionsGet, requestOptionsPost } from '../_constants/emparkConstants';\n\nexport const auxService = {\n getDays,\n saveDays,\n getHours,\n saveHours,\n getUses,\n saveUses,\n getTlcm,\n saveTlcm,\n getClaims\n};\n\nasync function getDays() {\n const apiUrl = `${baseApiUrl}days`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function saveDays(lstDays) {\n const apiUrl = `${baseApiUrl}days`;\n\n return await doRequestWithResponse(apiUrl, {...requestOptionsPost(), body: JSON.stringify(lstDays)});\n}\n\nasync function getHours() {\n const apiUrl = `${baseApiUrl}hours`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function saveHours(lstHours) {\n const apiUrl = `${baseApiUrl}hours`;\n\n return await doRequestWithResponse(apiUrl, {...requestOptionsPost(), body: JSON.stringify(lstHours)});\n}\n\nasync function getUses() {\n const apiUrl = `${baseApiUrl}uses`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function saveUses(lstUses) {\n const apiUrl = `${baseApiUrl}uses`;\n\n return await doRequestWithResponse(apiUrl, {...requestOptionsPost(), body: JSON.stringify(lstUses)});\n}\n\nasync function getTlcm() {\n const apiUrl = `${baseApiUrl}tlcm`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function saveTlcm(lstTlcm) {\n const apiUrl = `${baseApiUrl}tlcm`;\n\n return await doRequestWithResponse(apiUrl, {...requestOptionsPost(), body: JSON.stringify(lstTlcm)});\n}\n\n\nasync function getClaims(locale) {\n const apiUrl = `${baseApiUrl}claims`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet(locale));\n}","import { doRequestSimple, doRequestWithResponse } from '.';\nimport { baseApiUrl, requestOptionsDelete, requestOptionsGet, requestOptionsPost, requestOptionsPut } from '../_constants/emparkConstants';\n\nexport const channelsService = {\n getChannels,\n saveChannel,\n editChannel,\n deleteChannel\n};\n\nasync function getChannels() {\n const apiUrl = `${baseApiUrl}channels`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function saveChannel(channel) {\n const apiUrl = `${baseApiUrl}channels`;\n\n return await doRequestWithResponse(apiUrl, {...requestOptionsPost(), body:JSON.stringify(channel)});\n}\n\nasync function editChannel(channel) {\n const apiUrl = `${baseApiUrl}channels/${channel.id}`;\n\n return await doRequestWithResponse(apiUrl, {...requestOptionsPut(), body:JSON.stringify(channel)});\n}\n\nasync function deleteChannel(channelId) {\n const apiUrl = `${baseApiUrl}channels/${channelId}`;\n\n return await doRequestSimple(apiUrl, {...requestOptionsDelete()});\n}\n\n","import { doRequestReturnStandard, doRequestSimple, doRequestWithResponse } from '.';\nimport { baseApiUrl, requestOptionsDelete, requestOptionsGet, requestOptionsPost, requestOptionsPut } from '../_constants/emparkConstants';\n\nexport const commentsService = {\n fetchComments,\n saveComment,\n editComment,\n deleteComment,\n fetchDocument\n};\n\nasync function saveComment(rateId, comment) {\n const apiUrl = `${baseApiUrl}rates/${rateId}/comments`;\n\n return await doRequestWithResponse(apiUrl, {\n method:'post',\n headers: {\n // \"Content-Type\":\"application/x-www-form-urlencoded\",\n // \"Content-type\": \"multipart/form-data\",\n // 'Content-Type': 'multipart/form-data; boundary=AaB03x',\n 'Authorization': `Bearer ${localStorage.getItem('access_token')}`,\n },\n body: comment\n });\n}\n\nasync function fetchComments(rateId) {\n const apiUrl = `${baseApiUrl}rates/${rateId}/comments`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function editComment(rateId, commentId, form) {\n const apiUrl = `${baseApiUrl}rates/${rateId}/comments/${commentId}`;\n\n return await doRequestWithResponse(apiUrl, {\n method:'put',\n headers: {\n 'Authorization': `Bearer ${localStorage.getItem('access_token')}`,\n },\n body: form\n });\n}\n\nasync function deleteComment(rateId, commentId) {\n const apiUrl = `${baseApiUrl}rates/${rateId}/comments/${commentId}`;\n\n return await doRequestSimple(apiUrl, requestOptionsDelete());\n}\n\nasync function fetchDocument(rateId, commentId, docId) {\n const apiUrl = `${baseApiUrl}rates/${rateId}/comments/${commentId}/documents/${docId}`;\n\n return await doRequestReturnStandard(apiUrl, requestOptionsGet());\n}","import { doRequestReturnStandard, doRequestSimple, doRequestWithResponse } from '.';\nimport { baseApiUrl, requestOptionsDelete, requestOptionsGet, requestOptionsPost, requestOptionsPut } from '../_constants/emparkConstants';\n\nexport const contextsService = {\n getContexts,\n getAllContexts,\n saveContext,\n editContext,\n editSapCode,\n deleteContext,\n getContextPositions,\n saveContextPosition,\n editContextPosition,\n deleteContextPosition,\n syncMflContexts,\n syncMflContext,\n syncMflContextVersion,\n submitMfl,\n fetchDetail,\n checkSyncMflContexts,\n resetSyncMflContexts,\n resetSyncMflContext,\n exportPrebooks,\n createPrebooks,\n addPrebooks,\n updatePrebooks,\n addDisallowedPeriodsMassive\n};\n\n/* Contexts */\nasync function getContexts() {\n const apiUrl = `${baseApiUrl}contexts`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function getAllContexts() {\n const apiUrl = `${baseApiUrl}contexts/all`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function saveContext(context) {\n const apiUrl = `${baseApiUrl}contexts`;\n\n return await doRequestWithResponse(apiUrl, { ...requestOptionsPost(), body: JSON.stringify(context) });\n}\n\nasync function editContext(context) {\n const apiUrl = `${baseApiUrl}contexts/${context.id}`;\n\n return await doRequestWithResponse(apiUrl, { ...requestOptionsPut(), body: JSON.stringify(context) });\n}\n\nasync function editSapCode(contextId, sapCode, locale = \"en\") {\n const apiUrl = `${baseApiUrl}contexts/${contextId}/sap_code`;\n\n // return await doRequestSimple(apiUrl, { ...requestOptionsPut(), body: sapCode});\n return await doRequestSimple(apiUrl, {\n method: 'PUT',\n headers: {\n 'Authorization': `Bearer ${localStorage.getItem('access_token')}`,\n 'Accept-Language': locale\n },\n body: sapCode\n });\n}\n\nasync function deleteContext(contextId) {\n const apiUrl = `${baseApiUrl}contexts/${contextId}`;\n\n return await doRequestSimple(apiUrl, { ...requestOptionsDelete() });\n}\n\nasync function fetchDetail(contextId) {\n const apiUrl = `${baseApiUrl}contexts/${contextId}`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\n/* Context Positions */\nasync function getContextPositions(contextId) {\n const apiUrl = `${baseApiUrl}contexts/${contextId}/positions`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function saveContextPosition(contextId, position) {\n const apiUrl = `${baseApiUrl}contexts/${contextId}/positions`;\n\n return await doRequestWithResponse(apiUrl, { ...requestOptionsPost(), body: JSON.stringify(position) });\n}\n\nasync function editContextPosition(contextId, position) {\n const apiUrl = `${baseApiUrl}contexts/${contextId}/positions/${position.id}`;\n\n return await doRequestWithResponse(apiUrl, { ...requestOptionsPut(), body: JSON.stringify(position) });\n}\n\nasync function deleteContextPosition(contextId, positionId) {\n const apiUrl = `${baseApiUrl}contexts/${contextId}/positions/${positionId}`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsDelete());\n}\n\nasync function syncMflContexts() {\n const apiUrl = `${baseApiUrl}SyncContexts/Full`; // const apiUrl = `${baseApiUrl}SyncContexts`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function checkSyncMflContexts() {\n const apiUrl = `${baseApiUrl}SyncContexts/check`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function resetSyncMflContexts() {\n const apiUrl = `${baseApiUrl}SyncContexts/reset`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function resetSyncMflContext(id) {\n const apiUrl = `${baseApiUrl}SyncContexts/reset/${id}`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function syncMflContext(contextId) {\n const apiUrl = `${baseApiUrl}SyncContexts/${contextId}`;\n\n return await doRequestReturnStandard(apiUrl, requestOptionsGet());\n}\n\nasync function syncMflContextVersion(contextId) {\n const apiUrl = `${baseApiUrl}SyncContexts/${contextId}/versions`;\n\n return await doRequestSimple(apiUrl, requestOptionsGet());\n}\n\nasync function submitMfl(contextId, locale) {\n const apiUrl = `${baseApiUrl}contexts/${contextId}/mfl_submission`;\n\n return await doRequestReturnStandard(apiUrl, requestOptionsPost(locale));\n}\n\n// async function submitMfl(contextId, locale) {\n// const apiUrl = `${baseApiUrl}contexts/${contextId}/mfl_submission`;\n\n// return await doRequestSimple(apiUrl, requestOptionsPost(locale));\n// }\n\nasync function exportPrebooks(contextId, request, locale = 'en') {\n const apiUrl = `${baseApiUrl}contexts/${contextId}/export-prebooks`;\n\n return await doRequestReturnStandard(\n apiUrl,\n {\n ...requestOptionsPost(locale),\n body: JSON.stringify(request)\n }\n );\n}\n\nasync function createPrebooks(contextId, prebooks) {\n const apiUrl = `${baseApiUrl}contexts/${contextId}/prebooks-create`;\n\n return await doRequestSimple(\n apiUrl,\n {\n ...requestOptionsPost(),\n body: JSON.stringify(prebooks)\n }\n );\n}\n\nasync function addPrebooks(contextId, prebooks) {\n const apiUrl = `${baseApiUrl}contexts/${contextId}/prebooks-add`;\n\n return await doRequestSimple(\n apiUrl,\n {\n ...requestOptionsPost(),\n body: JSON.stringify(prebooks)\n }\n );\n}\n\nasync function addDisallowedPeriodsMassive(contextId, rates, disallowedPeriods) {\n const apiUrl = `${baseApiUrl}disallowed_periods/contexts/massive/${contextId}`;\n\n return await doRequestSimple(\n apiUrl,\n {\n ...requestOptionsPost(),\n body: JSON.stringify({\n rates: rates,\n disallowedPeriods: disallowedPeriods\n })\n }\n );\n}\n\nasync function updatePrebooks(contextId, prebooks) {\n const apiUrl = `${baseApiUrl}contexts/${contextId}/prebooks-update`;\n\n return await doRequestSimple(\n apiUrl,\n {\n ...requestOptionsPost(),\n body: JSON.stringify(prebooks)\n }\n );\n}","import { doRequestSimple, doRequestWithResponse } from '.';\nimport { baseApiUrl, requestOptionsDelete, requestOptionsGet, requestOptionsPost, requestOptionsPut } from '../_constants/emparkConstants';\n\nexport const disallowedPeriodsService = {\n getByMunicipality,\n getByContext,\n getByRate,\n saveDisallowedPeriod,\n editDisallowedPeriod,\n deleteDisallowedPeriod,\n getAll,\n getDisallowedPeriod,\n createDisallowedPeriod,\n saveDisallowedPeriodsMunicipality,\n saveDisallowedPeriodsContext,\n saveDisallowedPeriodsRate\n};\n\nasync function getByMunicipality(municipalityId) {\n const apiUrl = `${baseApiUrl}disallowed_periods/municipalities/${municipalityId}`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function getByContext(contextId) {\n const apiUrl = `${baseApiUrl}disallowed_periods/contexts/${contextId}`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function getByRate(rateId) {\n const apiUrl = `${baseApiUrl}disallowed_periods/rates/${rateId}`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function saveDisallowedPeriod(disallowedPeriod) {\n const apiUrl = `${baseApiUrl}disallowed_periods`;\n\n return await doRequestWithResponse(apiUrl, { ...requestOptionsPost(), body: JSON.stringify(disallowedPeriod) });\n}\n\nasync function saveDisallowedPeriodsMunicipality(municipalityId, disallowedPeriods) {\n const apiUrl = `${baseApiUrl}disallowed_periods/municipalities/${municipalityId}`;\n\n return await doRequestSimple(apiUrl, { ...requestOptionsPost(), body: JSON.stringify(disallowedPeriods) });\n}\n\nasync function saveDisallowedPeriodsContext(contextId, disallowedPeriods) {\n const apiUrl = `${baseApiUrl}disallowed_periods/contexts/${contextId}`;\n\n return await doRequestSimple(apiUrl, { ...requestOptionsPost(), body: JSON.stringify(disallowedPeriods) });\n}\n\nasync function saveDisallowedPeriodsRate(rateId, disallowedPeriods) {\n const apiUrl = `${baseApiUrl}disallowed_periods/rates/${rateId}`;\n\n return await doRequestSimple(apiUrl, { ...requestOptionsPost(), body: JSON.stringify(disallowedPeriods) });\n}\n\nasync function editDisallowedPeriod(disallowedPeriod) {\n const apiUrl = `${baseApiUrl}disallowed_periods/${disallowedPeriod.id}`;\n\n return await doRequestWithResponse(apiUrl, { ...requestOptionsPut(), body: JSON.stringify(disallowedPeriod) });\n}\n\nasync function deleteDisallowedPeriod(disallowedPeriodId) {\n const apiUrl = `${baseApiUrl}disallowed_periods/${disallowedPeriodId}`;\n\n return await doRequestSimple(apiUrl, requestOptionsDelete());\n}\n\nfunction getAll(parkZoneID) {\n const requestOptions = {\n method: 'GET',\n headers: {\n 'Content-type': 'application/json',\n // 'Authorization': `Bearer ${localStorage.getItem('access_token')}`,\n },\n };\n return new Promise(resolve => {\n const apiUrl = `${baseApiUrl}carparks/${parkZoneID}/specialdays`;\n // const apiUrl = 'https://my.api.mockaroo.com/specialdays.json?key=09b5fe00';\n fetch(apiUrl, requestOptions).then(\n (response) => {\n if (!response.ok) {\n const error = response.statusText;\n return Promise.reject(error);\n }\n return response.json()\n }).then((data) => {\n resolve({\n items: data\n });\n });\n });\n}\n\nfunction getDisallowedPeriod(parkZoneID, disallowedPeriodObj) {\n const requestOptions = {\n method: 'GET',\n headers: {\n 'Content-type': 'application/json',\n // 'Authorization': `Bearer ${localStorage.getItem('access_token')}`,\n },\n };\n return new Promise(resolve => {\n const apiUrl = `${baseApiUrl}carparks/${parkZoneID}/specialdays/{disallowedPeriodId}`;\n // const apiUrl = 'https://my.api.mockaroo.com/specialdays.json?key=09b5fe00';\n fetch(apiUrl, requestOptions).then(\n (response) => {\n if (!response.ok) {\n const error = response.statusText;\n return Promise.reject(error);\n }\n return response.json()\n }).then((data) => {\n resolve({\n items: data\n });\n });\n });\n}\n\nfunction createDisallowedPeriod(parkZoneID, disallowedPeriodObj) {\n const requestOptions = {\n method: 'POST',\n headers: {\n 'Content-type': 'application/json',\n // 'Authorization': `Bearer ${localStorage.getItem('access_token')}`,\n },\n body: JSON.stringify(disallowedPeriodObj),\n };\n const apiUrl = `${baseApiUrl}carparks/${parkZoneID}/specialdays`;\n // const apiUrl = `${baseApiUrl}carparks/${parkZoneID}/fares`;\n return new Promise(resolve => {\n fetch(apiUrl, requestOptions).then((response) => {\n if (!response.ok) {\n const error = response.statusText;\n return Promise.reject(error);\n }\n resolve(true);\n })\n })\n}\n\nfunction saveDisallowedPeriod2(parkZoneID, disallowedPeriodObj) {\n const requestOptions = {\n method: 'PUT',\n headers: {\n 'Content-type': 'application/json',\n // 'Authorization': `Bearer ${localStorage.getItem('access_token')}`,\n },\n body: JSON.stringify(disallowedPeriodObj),\n };\n const apiUrl = `${baseApiUrl}carparks/${parkZoneID}/specialdays/${disallowedPeriodObj.id}`;\n // const apiUrl = `${baseApiUrl}carparks/${parkZoneID}/fares`;\n return new Promise(resolve => {\n fetch(apiUrl, requestOptions).then((response) => {\n if (!response.ok) {\n const error = response.statusText;\n return Promise.reject(error);\n }\n resolve(true);\n })\n })\n}\n\nfunction deleteDisallowedPeriod2(parkZoneID, disallowedPeriodObjID) {\n const requestOptions = {\n method: 'DELETE',\n headers: {\n 'Content-type': 'application/json',\n // 'Authorization': `Bearer ${localStorage.getItem('access_token')}`\n }\n // body: JSON.stringify(disallowedPeriodObj),\n };\n const apiUrl = `${baseApiUrl}/carparks/${parkZoneID}/specialdays/${disallowedPeriodObjID}`;\n // const apiUrl = `${baseApiUrl}carparks/${parkZoneID}/fares`;\n return new Promise(resolve => {\n fetch(apiUrl, requestOptions).then((response) => {\n if (!response.ok) {\n const error = response.statusText;\n return Promise.reject(error);\n }\n resolve(true);\n })\n })\n}\n","import { doRequestSimple, doRequestWithResponse } from '.';\nimport { baseApiUrl, requestOptionsDelete, requestOptionsGet, requestOptionsPost, requestOptionsPut} from '../_constants/emparkConstants';\n\nexport const freeDaysService = {\n getByMunicipality,\n getByContext,\n getByRate,\n saveFreeDay,\n saveFreeDaysMunicipality,\n saveFreeDaysContext,\n saveFreeDaysRate,\n editFreeDay,\n deleteFreeDay,\n getAll,\n getFreeDay,\n createFreeDay\n};\n\nasync function getByMunicipality(municipalityId) {\n const apiUrl = `${baseApiUrl}free_days/municipalities/${municipalityId}`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function getByContext(contextId) {\n const apiUrl = `${baseApiUrl}free_days/contexts/${contextId}`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function getByRate(rateId) {\n const apiUrl = `${baseApiUrl}free_days/rates/${rateId}`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function saveFreeDay(freeDay) {\n const apiUrl = `${baseApiUrl}free_days`;\n\n return await doRequestWithResponse(apiUrl, {...requestOptionsPost(), body:JSON.stringify(freeDay)});\n}\n\nasync function saveFreeDaysMunicipality(municipalityId, freeDays) {\n const apiUrl = `${baseApiUrl}free_days/municipalities/${municipalityId}`;\n\n return await doRequestSimple(apiUrl, {...requestOptionsPost(), body:JSON.stringify(freeDays)});\n}\n\nasync function saveFreeDaysContext(contextId, freeDays) {\n const apiUrl = `${baseApiUrl}free_days/contexts/${contextId}`;\n\n return await doRequestSimple(apiUrl, {...requestOptionsPost(), body:JSON.stringify(freeDays)});\n}\n\nasync function saveFreeDaysRate(rateId, freeDays) {\n const apiUrl = `${baseApiUrl}free_days/rates/${rateId}`;\n\n return await doRequestSimple(apiUrl, {...requestOptionsPost(), body:JSON.stringify(freeDays)});\n}\n\nasync function editFreeDay(freeDay) {\n const apiUrl = `${baseApiUrl}free_days/${freeDay.id}`;\n\n return await doRequestWithResponse(apiUrl, {...requestOptionsPut(), body:JSON.stringify(freeDay)});\n}\n\nasync function deleteFreeDay(freeDayId) {\n const apiUrl = `${baseApiUrl}free_days/${freeDayId}`;\n\n return await doRequestSimple(apiUrl, requestOptionsDelete());\n}\n\nfunction getAll(parkZoneID) {\n const requestOptions = {\n method: 'GET',\n headers: {\n 'Content-type': 'application/json',\n // 'Authorization': `Bearer ${localStorage.getItem('access_token')}`,\n },\n };\n return new Promise(resolve => {\n const apiUrl = `${baseApiUrl}carparks/${parkZoneID}/specialdays`;\n // const apiUrl = 'https://my.api.mockaroo.com/specialdays.json?key=09b5fe00';\n fetch(apiUrl, requestOptions).then(\n (response) => {\n if (!response.ok) {\n const error = response.statusText;\n return Promise.reject(error);\n }\n return response.json()\n }).then((data) => {\n resolve({\n items: data\n });\n });\n });\n}\n\nfunction getFreeDay(parkZoneID, freeDayObj) {\n const requestOptions = {\n method: 'GET',\n headers: {\n 'Content-type': 'application/json',\n // 'Authorization': `Bearer ${localStorage.getItem('access_token')}`,\n },\n };\n return new Promise(resolve => {\n const apiUrl = `${baseApiUrl}carparks/${parkZoneID}/specialdays/{freeDayId}`;\n // const apiUrl = 'https://my.api.mockaroo.com/specialdays.json?key=09b5fe00';\n fetch(apiUrl, requestOptions).then(\n (response) => {\n if (!response.ok) {\n const error = response.statusText;\n return Promise.reject(error);\n }\n return response.json()\n }).then((data) => {\n resolve({\n items: data\n });\n });\n });\n}\n\nfunction createFreeDay(parkZoneID, freeDayObj) {\n const requestOptions = {\n method: 'POST',\n headers: {\n 'Content-type': 'application/json',\n // 'Authorization': `Bearer ${localStorage.getItem('access_token')}`,\n },\n body: JSON.stringify(freeDayObj),\n };\n const apiUrl = `${baseApiUrl}carparks/${parkZoneID}/specialdays`;\n // const apiUrl = `${baseApiUrl}carparks/${parkZoneID}/fares`;\n return new Promise(resolve => {\n fetch(apiUrl, requestOptions).then((response) => {\n if (!response.ok) {\n const error = response.statusText;\n return Promise.reject(error);\n }\n resolve(true);\n })\n })\n}\n\nfunction saveFreeDay2(parkZoneID, freeDayObj) {\n const requestOptions = {\n method: 'PUT',\n headers: {\n 'Content-type': 'application/json',\n // 'Authorization': `Bearer ${localStorage.getItem('access_token')}`,\n },\n body: JSON.stringify(freeDayObj),\n };\n const apiUrl = `${baseApiUrl}carparks/${parkZoneID}/specialdays/${freeDayObj.id}`;\n // const apiUrl = `${baseApiUrl}carparks/${parkZoneID}/fares`;\n return new Promise(resolve => {\n fetch(apiUrl, requestOptions).then((response) => {\n if (!response.ok) {\n const error = response.statusText;\n return Promise.reject(error);\n }\n resolve(true);\n })\n })\n}\n\nfunction deleteFreeDay2(parkZoneID, freeDayObjID) {\n const requestOptions = {\n method: 'DELETE',\n headers: {\n 'Content-type': 'application/json',\n // 'Authorization': `Bearer ${localStorage.getItem('access_token')}`\n }\n // body: JSON.stringify(freeDayObj),\n };\n const apiUrl = `${baseApiUrl}/carparks/${parkZoneID}/specialdays/${freeDayObjID}`;\n // const apiUrl = `${baseApiUrl}carparks/${parkZoneID}/fares`;\n return new Promise(resolve => {\n fetch(apiUrl, requestOptions).then((response) => {\n if (!response.ok) {\n const error = response.statusText;\n return Promise.reject(error);\n }\n resolve(true);\n })\n })\n}\n","import { doRequestSimple, doRequestWithResponse } from '.';\nimport { baseApiUrl, requestOptionsDelete, requestOptionsGet, requestOptionsPost, requestOptionsPut } from '../_constants/emparkConstants';\n\nexport const municipalitiesService = {\n getMunicipalities,\n saveMunicipality,\n editMunicipality,\n deleteMunicipality,\n saveMunicipalityContexts\n};\n\nasync function getMunicipalities() {\n const apiUrl = `${baseApiUrl}municipalities`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function saveMunicipality(municipality) {\n const apiUrl = `${baseApiUrl}municipalities`;\n\n return await doRequestWithResponse(apiUrl, {...requestOptionsPost(), body:JSON.stringify(municipality)});\n}\n\nasync function editMunicipality(municipality) {\n const apiUrl = `${baseApiUrl}municipalities/${municipality.id}`;\n\n return await doRequestWithResponse(apiUrl, {...requestOptionsPut(), body:JSON.stringify(municipality)});\n}\n\nasync function deleteMunicipality(municipalityId) {\n const apiUrl = `${baseApiUrl}municipalities/${municipalityId}`;\n\n return await doRequestSimple(apiUrl, {...requestOptionsDelete()});\n}\n\nasync function saveMunicipalityContexts(municipalityId, lstContextIds) {\n const apiUrl = `${baseApiUrl}municipalities/${municipalityId}/contexts`;\n\n return await doRequestSimple(apiUrl, {...requestOptionsPost(), body:JSON.stringify(lstContextIds)});\n}\n","import { createBrowserHistory } from 'history';\n\nexport const history = createBrowserHistory();\n","\nimport { municipalitiesService } from '../services/municipalitiesService';\nimport translate from '../locales';\nimport {contextsActions} from './contextsActions';\nimport {history} from '../History'\nimport { routes } from '../_constants/emparkConstants';\n\nconst __t = translate;\n\nexport const MUNICIPALITIES_CHANGE_MODE = \"MUNICIPALITIES_CHANGE_MODE\";\nexport const MUNICIPALITY_CONTEXTS_CHANGE_MODE = \"MUNICIPALITY_CONTEXTS_CHANGE_MODE\";\nexport const MUNICIPALITIES_BEGIN = \"MUNICIPALITIES_BEGIN\";\nexport const MUNICIPALITY_CONTEXTS_BEGIN = \"MUNICIPALITY_CONTEXTS_BEGIN\";\nexport const MUNICIPALITY_CONTEXTS_FAILURE = \"MUNICIPALITY_CONTEXTS_FAILURE\";\nexport const FETCH_MUNICIPALITIES_SUCCESS = \"FETCH_MUNICIPALITIES_SUCCESS\";\nexport const FETCH_MUNICIPALITIES_FAILURE = \"FETCH_MUNICIPALITIES_FAILURE\";\nexport const CREATE_MUNICIPALITY_SUCCESS = \"CREATE_MUNICIPALITY_SUCCESS\";\nexport const EDIT_MUNICIPALITY_SUCCESS = \"EDIT_MUNICIPALITY_SUCCESS\";\nexport const SEND_MUNICIPALITY_FAILURE = \"SEND_MUNICIPALITY_FAILURE\";\nexport const DELETE_MUNICIPALITY_SUCCESS = \"DELETE_MUNICIPALITY_SUCCESS\";\nexport const MUNICIPALITIES_SET_TAB_DISPLAY = \"MUNICIPALITIES_SET_TAB_DISPLAY\";\nexport const MUNICIPALITIES_SET_ERROR = \"MUNICIPALITIES_SET_ERROR\";\nexport const MUNICIPALITY_CONTEXT_SET_ERROR = \"MUNICIPALITY_CONTEXT_SET_ERROR\";\nexport const SAVE_MUNICIPALITY_CONTEXTS_SUCCESS = \"SAVE_MUNICIPALITY_CONTEXTS_SUCCESS\";\n\nexport const municipalitiesActions = {\n changeMode,\n fetchMunicipalities,\n sendMunicipality,\n deleteMunicipality,\n setTabDisplay,\n setError,\n changeModeMunicipalityContexts,\n sendMunicipalityContexts,\n setErrorMunicipalityContexts\n}\n\nfunction changeMode(mode, id) {\n return function(dispatch) {\n // history.push({\n // pathname:routes.municipalities,\n // state: {\n // mode:mode\n // }\n // })\n\n dispatch({\n type:MUNICIPALITIES_CHANGE_MODE,\n payload: {\n mode:mode,\n id:id\n }\n });\n }\n}\n\nfunction setTabDisplay(tabDisplay) {\n return function(dispatch) {\n dispatch({\n type:MUNICIPALITIES_SET_TAB_DISPLAY,\n payload: {\n tabDisplay:tabDisplay,\n }\n });\n }\n}\n\nfunction setError(error) {\n return function(dispatch) {\n dispatch({\n type:MUNICIPALITIES_SET_ERROR,\n payload: {\n error: error\n }\n });\n }\n}\n\nfunction setErrorMunicipalityContexts(error) {\n return function(dispatch) {\n dispatch({\n type:MUNICIPALITIES_SET_ERROR,\n payload: {\n error: error\n }\n });\n }\n}\n\n\nfunction fetchMunicipalities(forceFetch = false) {\n return async function(dispatch, getState) {\n try {\n const { hasFetched } = getState().municipalitiesReducer;\n if(!forceFetch && hasFetched)\n return;\n\n dispatch({\n type:MUNICIPALITIES_BEGIN\n });\n\n var municipalities = await municipalitiesService.getMunicipalities();\n dispatch({\n type:FETCH_MUNICIPALITIES_SUCCESS,\n payload: {\n municipalities:municipalities\n }\n });\n }\n catch(error) {\n dispatch({\n type:FETCH_MUNICIPALITIES_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction sendMunicipality(municipality) {\n return async function(dispatch) {\n try {\n dispatch({\n type:MUNICIPALITIES_BEGIN\n });\n\n if(municipality.id) {\n await municipalitiesService.editMunicipality(municipality);\n\n dispatch({\n type:EDIT_MUNICIPALITY_SUCCESS,\n payload: {\n municipality:municipality\n }\n });\n\n }\n else{\n const c = await municipalitiesService.saveMunicipality(municipality);\n\n dispatch({\n type:CREATE_MUNICIPALITY_SUCCESS,\n payload: {\n municipality:c\n }\n });\n }\n\n dispatch(fetchMunicipalities(true));\n }\n catch(error) {\n dispatch({\n type:SEND_MUNICIPALITY_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction deleteMunicipality(municipalityId) {\n return async function(dispatch) {\n try {\n dispatch({\n type:MUNICIPALITIES_BEGIN\n });\n\n await municipalitiesService.deleteMunicipality(municipalityId);\n\n dispatch({\n type:DELETE_MUNICIPALITY_SUCCESS\n });\n\n dispatch(fetchMunicipalities(true));\n }\n catch(error) {\n dispatch({\n type:SEND_MUNICIPALITY_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction changeModeMunicipalityContexts(mode, id) {\n return function(dispatch) {\n dispatch({\n type:MUNICIPALITY_CONTEXTS_CHANGE_MODE,\n payload: {\n mode:mode,\n id:id\n }\n });\n }\n}\n\nfunction sendMunicipalityContexts(municipalityId, lstContextsIds) {\n return async function(dispatch) {\n try {\n dispatch({\n type:MUNICIPALITY_CONTEXTS_BEGIN\n });\n\n await municipalitiesService.saveMunicipalityContexts(municipalityId, lstContextsIds);\n\n dispatch({\n type:SAVE_MUNICIPALITY_CONTEXTS_SUCCESS,\n });\n\n dispatch(contextsActions.fetchContexts(true));\n }\n catch(error) {\n dispatch({\n type:MUNICIPALITY_CONTEXTS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}","import { doRequestReturnStandard, doRequestSimple, doRequestWithResponse } from '.';\nimport { baseApiUrl, requestOptionsDelete, requestOptionsGet, requestOptionsPost, requestOptionsPut } from '../_constants/emparkConstants';\n\nexport const ratesService = {\n getRates,\n saveRate,\n editRate,\n deleteRate,\n getRateChannels,\n saveRateChannel,\n editRateChannel,\n deleteRateChannel,\n getSelectionPoints,\n saveSelectionPoints,\n getRateComments,\n saveRateComment,\n editRateComment,\n deleteRateComment,\n duplicateRate,\n exportRate,\n publishRate,\n getTranslations,\n saveTranslations,\n updateOverwrite,\n hasTelparkChannel\n};\n\n/* Rates */\nasync function getRates(contextId) {\n const apiUrl = `${baseApiUrl}contexts/${contextId}/rates`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function saveRate(contextId, rate) {\n const apiUrl = `${baseApiUrl}contexts/${contextId}/rates`;\n\n return await doRequestWithResponse(apiUrl, { ...requestOptionsPost(), body: JSON.stringify(rate) });\n}\n\nasync function editRate(contextId, rate) {\n const apiUrl = `${baseApiUrl}contexts/${contextId}/rates/${rate.id}`;\n\n return await doRequestWithResponse(apiUrl, { ...requestOptionsPut(), body: JSON.stringify(rate) });\n}\n\nasync function deleteRate(contextId, rateId) {\n const apiUrl = `${baseApiUrl}contexts/${contextId}/rates/${rateId}`;\n\n return await doRequestSimple(apiUrl, { ...requestOptionsDelete() });\n}\n\nasync function getRateChannels(contextId, rateId) {\n const apiUrl = `${baseApiUrl}contexts/${contextId}/rates/${rateId}/channels`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function saveRateChannel(contextId, rateId, rateChannel) {\n const apiUrl = `${baseApiUrl}contexts/${contextId}/rates/${rateId}/channels`;\n\n return await doRequestWithResponse(apiUrl, { ...requestOptionsPost(), body: JSON.stringify(rateChannel) });\n}\n\nasync function editRateChannel(contextId, rateId, rateChannel) {\n const apiUrl = `${baseApiUrl}contexts/${contextId}/rates/${rateId}/channels/${rateChannel.id}`;\n\n return await doRequestWithResponse(apiUrl, { ...requestOptionsPut(), body: JSON.stringify(rateChannel) });\n}\n\nasync function deleteRateChannel(contextId, rateId, rateChannelId) {\n const apiUrl = `${baseApiUrl}contexts/${contextId}/rates/${rateId}/channels/${rateChannelId}`;\n\n return await doRequestSimple(apiUrl, requestOptionsDelete());\n}\n\nasync function getSelectionPoints(contextId, rateId) {\n const apiUrl = `${baseApiUrl}contexts/${contextId}/rates/${rateId}/selection_points`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function saveSelectionPoints(contextId, rateId, lstSelectionPoints) {\n const apiUrl = `${baseApiUrl}contexts/${contextId}/rates/${rateId}/selection_points`;\n\n return await doRequestSimple(apiUrl, { ...requestOptionsPost(), body: JSON.stringify(lstSelectionPoints) });\n}\n\nasync function getRateComments(contextId, rateId) {\n const apiUrl = `${baseApiUrl}contexts/${contextId}/rates/${rateId}/comments`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function saveRateComment(contextId, rateId, comment) {\n const apiUrl = `${baseApiUrl}contexts/${contextId}/rates/${rateId}/comments`;\n\n return await doRequestWithResponse(apiUrl, { ...requestOptionsPost(), body: JSON.stringify(comment) });\n}\n\nasync function editRateComment(contextId, rateId, comment) {\n const apiUrl = `${baseApiUrl}contexts/${contextId}/rates/${rateId}/comments/${comment.channelId}`;\n\n return await doRequestWithResponse(apiUrl, { ...requestOptionsPost(), body: JSON.stringify(comment) });\n}\n\nasync function deleteRateComment(contextId, rateId, rateChannelId) {\n const apiUrl = `${baseApiUrl}contexts/${contextId}/rates/${rateId}/comments/${rateChannelId}`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsDelete());\n}\n\nasync function duplicateRate(contextId, rateId, newRate) {\n const apiUrl = `${baseApiUrl}contexts/${contextId}/rates/${rateId}/duplicate`;\n\n return await doRequestWithResponse(apiUrl, { ...requestOptionsPost(), body: JSON.stringify(newRate) });\n}\n\nasync function exportRate(contextId, rateId, locale = \"en\") {\n const apiUrl = `${baseApiUrl}contexts/${contextId}/rates/${rateId}/export`;\n\n return await doRequestReturnStandard(apiUrl, {\n method: 'GET',\n headers: {\n 'Authorization': `Bearer ${localStorage.getItem('access_token')}`,\n 'Accept-Language': locale\n }\n });\n}\n\nasync function publishRate(contextId, rateId, locale = \"en\") {\n const apiUrl = `${baseApiUrl}contexts/${contextId}/rates/${rateId}/validate`;\n\n return await doRequestReturnStandard(apiUrl, {\n method: 'POST',\n headers: {\n 'Authorization': `Bearer ${localStorage.getItem('access_token')}`,\n 'Accept-Language': locale\n }\n });\n}\n\nasync function getTranslations(contextId, rateId) {\n const apiUrl = `${baseApiUrl}contexts/${contextId}/rates/${rateId}/translations`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function saveTranslations(contextId, rateId, translations) {\n const apiUrl = `${baseApiUrl}contexts/${contextId}/rates/${rateId}/translations`;\n\n return await doRequestWithResponse(apiUrl, { ...requestOptionsPost(), body: JSON.stringify(translations) });\n}\n\n\nasync function updateOverwrite(contextId, rateId, isFreeDays, isOverwrite) {\n const apiUrl = isFreeDays ?\n `${baseApiUrl}contexts/${contextId}/rates/${rateId}/overwrite_freedays`\n :\n `${baseApiUrl}contexts/${contextId}/rates/${rateId}/overwrite_disallowed_periods`;\n\n return await doRequestWithResponse(apiUrl, { ...requestOptionsPut(), body: isOverwrite });\n}\n\nasync function hasTelparkChannel(contextId, rateId) {\n const apiUrl = `${baseApiUrl}contexts/${contextId}/rates/${rateId}/is_telpark`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n","\nexport const generalActions = {\n showToastSuccess,\n showToastError,\n showToastWarning\n};\n\nexport const SHOW_TOAST_SUCCESS = \"SHOW_TOAST_SUCCESS\";\nexport const HIDE_TOAST_SUCCESS = \"HIDE_TOAST_SUCCESS\";\nexport const SHOW_TOAST_ERROR = \"SHOW_TOAST_ERROR\";\nexport const HIDE_TOAST_ERROR = \"HIDE_TOAST_ERROR\";\nexport const SHOW_TOAST_WARNING = \"SHOW_TOAST_WARNING\";\nexport const HIDE_TOAST_WARNING = \"HIDE_TOAST_WARNING\";\n\nfunction showToastSuccess(message) {\n return function (dispatch) {\n dispatch({\n type: SHOW_TOAST_SUCCESS,\n payload: {\n message: message\n }\n });\n }\n}\n\nfunction showToastError(message) {\n return function (dispatch) {\n dispatch({\n type: SHOW_TOAST_ERROR,\n payload: {\n message: message\n }\n });\n }\n}\n\nfunction showToastWarning(message) {\n return function (dispatch) {\n dispatch({\n type: SHOW_TOAST_WARNING,\n payload: {\n message: message\n }\n });\n }\n}","\nimport translate from '../locales';\nimport { commentsService } from '../services/commentsService';\nimport { generalActions } from './generalActions';\n\nconst __t = translate;\n\nexport const COMMENTS_CHANGE_MODE = \"COMMENTS_CHANGE_MODE\";\nexport const COMMENTS_SET_ERROR = \"COMMENTS_SET_ERROR\";\nexport const COMMENTS_SET_MODAL_ERROR = \"COMMENTS_SET_MODAL_ERROR\";\nexport const COMMENTS_SET_MODAL_OPEN = \"COMMENTS_SET_MODAL_OPEN\";\n\nexport const FETCH_COMMENTS_BEGIN = \"FETCH_COMMENTS_BEGIN\";\nexport const FETCH_COMMENTS_SUCCESS = \"FETCH_COMMENTS_SUCCESS\";\nexport const FETCH_COMMENTS_FAILURE = \"FETCH_COMMENTS_FAILURE\";\nexport const SEND_COMMENT_BEGIN = \"SEND_COMMENT_BEGIN\";\nexport const CREATE_COMMENT_SUCCESS = \"CREATE_COMMENT_SUCCESS\";\nexport const EDIT_COMMENT_SUCCESS = \"EDIT_COMMENT_SUCCESS\";\nexport const DELETE_COMMENT_SUCCESS = \"DELETE_COMMENT_SUCCESS\";\nexport const SEND_COMMENT_FAILURE = \"SEND_COMMENT_FAILURE\";\n\nexport const RESET_COMMENTS = \"RESET_COMMENTS\";\n\nexport const commentsActions = {\n changeMode,\n fetchComments,\n sendComment,\n setError,\n setErrorModal,\n deleteComment,\n resetComments\n}\n\nfunction resetComments() {\n return function (dispatch) {\n dispatch({\n type: RESET_COMMENTS,\n });\n }\n}\n\nfunction changeMode(mode, id) {\n return function (dispatch) {\n dispatch({\n type: COMMENTS_CHANGE_MODE,\n payload: {\n mode: mode,\n id: id\n }\n });\n }\n}\n\nfunction setError(error) {\n return function (dispatch) {\n dispatch({\n type: COMMENTS_SET_ERROR,\n payload: {\n error: error\n }\n });\n }\n}\n\nfunction setErrorModal(error) {\n return function (dispatch) {\n dispatch({\n type: COMMENTS_SET_MODAL_ERROR,\n payload: {\n error: error\n }\n });\n }\n}\n\n\nfunction fetchComments(rateId, forceFetch = false) {\n return async function (dispatch, getState) {\n try {\n const { hasFetched } = getState().commentsReducer;\n // if ( !forceFetch && hasFetched)\n // return;\n\n dispatch({\n type: FETCH_COMMENTS_BEGIN\n });\n\n var comments = await commentsService.fetchComments(rateId);\n\n dispatch({\n type: FETCH_COMMENTS_SUCCESS,\n payload: {\n comments: comments\n }\n });\n }\n catch (error) {\n dispatch({\n type: FETCH_COMMENTS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction sendComment(rateId, comment) {\n return async function (dispatch) {\n try {\n dispatch({\n type: SEND_COMMENT_BEGIN\n });\n\n let form = new FormData();\n form.append(\"text\", comment.text ? comment.text.trim() : '');\n form.append(\"rateId\", rateId);\n\n comment.filesUpload.forEach(f => {\n form.append(\"filesUpload\", f.src.file);\n });\n\n form.append(\"documentsJson\", JSON.stringify(comment.documents));\n\n if (comment.id) {\n form.append(\"id\", comment.id);\n\n await commentsService.editComment(rateId, comment.id, form);\n\n dispatch({\n type: EDIT_COMMENT_SUCCESS,\n payload: {\n comment: comment\n }\n });\n\n dispatch(generalActions.showToastSuccess(__t('msg_success_create_comment')));\n }\n else {\n const c = await commentsService.saveComment(rateId, form);\n\n dispatch({\n type: CREATE_COMMENT_SUCCESS,\n payload: {\n comment: c\n }\n });\n\n dispatch(generalActions.showToastSuccess(__t('msg_success_edit_comment')));\n }\n\n dispatch(fetchComments(rateId, true));\n }\n catch (error) {\n dispatch({\n type: SEND_COMMENT_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction deleteComment(rateId, commentId) {\n return async function (dispatch) {\n try {\n dispatch({\n type: FETCH_COMMENTS_BEGIN\n });\n\n await commentsService.deleteComment(rateId, commentId);\n\n dispatch({\n type: DELETE_COMMENT_SUCCESS\n });\n\n dispatch(fetchComments(rateId, true));\n dispatch(generalActions.showToastSuccess(__t('msg_success_delete_comment')));\n }\n catch (error) {\n dispatch({\n type: FETCH_COMMENTS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}","\nimport translate from '../locales';\nimport { ratesService } from '../services/ratesService';\nimport { pageModes, tabDisplays } from '../_constants/emparkConstants';\nimport { commentsActions } from './commentsActions';\nimport { contextsActions, CONTEXT_SET_AS_DRAFT } from './contextsActions';\nimport { generalActions } from './generalActions';\nimport { readReader, setDownloadLink } from '../services/index'\n\nconst __t = translate;\n\nexport const RATES_CHANGE_MODE = \"RATES_CHANGE_MODE\";\nexport const RATES_SET_ERROR = \"RATES_SET_ERROR\";\nexport const RATE_CHANNELS_SET_ERROR = \"RATE_CHANNELS_SET_ERROR\";\nexport const RATE_SEL_POINTS_ERROR = \"RATE_SEL_POINTS_ERROR\";\n\nexport const FETCH_RATES_BEGIN = \"FETCH_RATES_BEGIN\";\nexport const FETCH_RATES_SUCCESS = \"FETCH_RATES_SUCCESS\";\nexport const FETCH_RATES_FAILURE = \"FETCH_RATES_FAILURE\";\nexport const SEND_RATE_BEGIN = \"SEND_RATE_BEGIN\";\nexport const CREATE_RATE_SUCCESS = \"CREATE_RATE_SUCCESS\";\nexport const EDIT_RATE_SUCCESS = \"CREATE_RATE_SUCCESS\";\nexport const DELETE_RATE_SUCCESS = \"DELETE_RATE_SUCCESS\";\nexport const SEND_RATE_FAILURE = \"SEND_RATE_FAILURE\";\nexport const SET_SELECTED_TAB = \"SET_SELECTED_TAB\";\n\nexport const RATE_CHANNELS_CHANGE_MODE = \"RATE_CHANNELS_CHANGE_MODE\";\nexport const RATE_CHANNELS_BEGIN = \"RATE_CHANNELS_BEGIN\";\nexport const FETCH_RATE_CHANNELS_SUCCESS = \"FETCH_RATE_CHANNELS_SUCCESS\";\nexport const CREATE_RATE_CHANNEL_SUCCESS = \"CREATE_RATE_CHANNELS_SUCCESS\";\nexport const EDIT_RATE_CHANNEL_SUCCESS = \"EDIT_RATE_CHANNELS_SUCCESS\";\nexport const DELETE_RATE_CHANNEL_SUCCESS = \"DELETE_RATE_CHANNELS_SUCCESS\";\nexport const FETCH_RATE_CHANNELS_FAILURE = \"FETCH_RATE_CHANNELS_FAILURE\";\n\nexport const RATE_SELECTION_POINTS_CHANGE_MODE = \"RATE_SELECTION_POINTS_CHANGE_MODE\";\nexport const RATE_SELECTION_POINTS_BEGIN = \"RATE_SELECTION_POINTS_BEGIN\";\nexport const RATE_SELECTION_POINTS_FAILURE = \"RATE_SELECTION_POINTS_FAILURE\";\nexport const FETCH_SELECTION_POINTS_SUCCESS = \"FETCH_SELECTION_POINTS_SUCCESS\";\nexport const SEND_SELECTION_POINTS_SUCCESS = \"SEND_SELECTION_POINTS_SUCCESS\";\n\nexport const RATES_SET_TAB_DISPLAY = \"RATES_SET_TAB_DISPLAY\";\nexport const RATE_EXPORT_DONE = \"RATE_EXPORT_DONE\";\n\nexport const VALIDATE_RATE_BEGIN = \"VALIDATE_RATE_BEGIN\";\nexport const SET_VALIDATE_ERROR = \"SET_VALIDATE_ERROR\";\nexport const RATE_VALIDATE_SUCCESS = \"RATE_VALIDATE_SUCCESS\";\n\nexport const RATE_TRANSLATION_MODAL_SHOW = \"RATE_TRANSLATION_MODAL_SHOW\";\nexport const RATE_TRANSLATION_MODAL_HIDE = \"RATE_TRANSLATION_MODAL_HIDE\";\nexport const RATE_TRANSLATION_BEGIN = \"RATE_TRANSLATION_BEGIN\";\nexport const RATE_TRANSLATION_ERROR = \"RATE_TRANSLATION_ERROR\";\nexport const RATE_TRANSLATION_FETCH_SUCCESS = \"RATE_TRANSLATION_FETCH_SUCCESS\";\nexport const RATE_TRANSLATION_SEND_SUCCESS = \"RATE_TRANSLATION_SEND_SUCCESS\";\n\nexport const RESET_RATE_TRANSLATIONS = \"RESET_RATE_TRANSLATIONS\";\n\nexport const RATE_SET_AS_DRAFT = \"RATE_SET_AS_DRAFT\";\nexport const RATES_SET_ERROR_EXPORT = \"RATES_SET_ERROR_EXPORT\";\nexport const RATE_UPDATE_OVERWRITE = \"RATE_UPDATE_OVERWRITE\";\n\nexport const RESET_RATES = \"\";\n\nexport const ratesActions = {\n changeMode,\n changeModeRateChannels,\n fetchRates,\n sendRate,\n setError,\n deleteRate,\n setErrorRateChannels,\n fetchRateChannels,\n sendRateChannel,\n deleteRateChannel,\n setErrorFareSelectionPoint,\n changeModeFareSelectionPoints,\n fetchFareSelectionPoints,\n sendFareSelectionPoints,\n setTabDisplay,\n duplicateRate,\n exportRate,\n validateRate,\n setErrorValidate,\n getTranslations,\n saveTranslations,\n setAsDraft,\n updateOverwrite\n}\n\nfunction changeMode(mode, id) {\n return function (dispatch) {\n dispatch({\n type: RATES_CHANGE_MODE,\n payload: {\n mode: mode,\n id: id\n }\n });\n }\n}\n\nfunction setTabDisplay(tabDisplay) {\n return function (dispatch) {\n dispatch({\n type: RATES_SET_TAB_DISPLAY,\n payload: {\n tabDisplay: tabDisplay,\n }\n });\n }\n}\n\nfunction setError(error) {\n return function (dispatch) {\n dispatch({\n type: RATES_SET_ERROR,\n payload: {\n error: error\n }\n });\n }\n}\n\nfunction setErrorRateChannels(error) {\n return function (dispatch) {\n dispatch({\n type: RATE_CHANNELS_SET_ERROR,\n payload: {\n error: error\n }\n });\n }\n}\n\nfunction setErrorFareSelectionPoint(error) {\n return function (dispatch) {\n dispatch({\n type: RATE_SEL_POINTS_ERROR,\n payload: {\n error: error\n }\n });\n }\n}\n\nfunction setErrorValidate(error) {\n return function (dispatch) {\n dispatch({\n type: SET_VALIDATE_ERROR,\n payload: {\n error: error\n }\n });\n }\n}\n\nfunction changeModeRateChannels(mode, id) {\n return function (dispatch) {\n dispatch({\n type: RATE_CHANNELS_CHANGE_MODE,\n payload: {\n mode: mode,\n id: id\n }\n });\n }\n}\n\nfunction setAsDraft() {\n return function (dispatch) {\n dispatch({\n type: RATE_SET_AS_DRAFT,\n });\n\n dispatch(contextsActions.setAsDraft());\n }\n}\n\nfunction fetchRatesAndChangeRouter(contextId, rateId) {\n return async function (dispatch, getState) {\n try {\n const { contextId: lastContextId, hasFetched } = getState().ratesReducer;\n\n dispatch({\n type: FETCH_RATES_BEGIN\n });\n\n var rates = await ratesService.getRates(contextId);\n\n dispatch(changeMode(pageModes.view, rateId));\n dispatch({\n type: FETCH_RATES_SUCCESS,\n payload: {\n contextId: contextId,\n rates: rates\n }\n });\n dispatch(commentsActions.resetComments());\n dispatch(getTranslations(contextId, rateId));\n }\n catch (error) {\n dispatch({\n type: FETCH_RATES_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction fetchRates(contextId, forceFetch = false) {\n return async function (dispatch, getState) {\n try {\n const { contextId: lastContextId, hasFetched } = getState().ratesReducer;\n\n if (!forceFetch && contextId === lastContextId)\n return;\n\n dispatch({\n type: FETCH_RATES_BEGIN\n });\n\n var rates = await ratesService.getRates(contextId);\n\n dispatch({\n type: FETCH_RATES_SUCCESS,\n payload: {\n contextId: contextId,\n rates: rates\n }\n });\n }\n catch (error) {\n dispatch({\n type: FETCH_RATES_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction sendRate(contextId, rate) {\n return async function (dispatch) {\n try {\n dispatch({\n type: SEND_RATE_BEGIN\n });\n\n if (rate.id) {\n await ratesService.editRate(contextId, rate);\n\n dispatch({\n type: EDIT_RATE_SUCCESS,\n payload: {\n rate: rate\n }\n });\n }\n else {\n const r = await ratesService.saveRate(contextId, rate);\n\n dispatch({\n type: CREATE_RATE_SUCCESS,\n payload: {\n rate: r\n }\n });\n\n dispatch(getTranslations(contextId, r.id))\n }\n\n dispatch(contextsActions.setAsDraft());\n dispatch(fetchRates(contextId, true));\n }\n catch (error) {\n dispatch({\n type: SEND_RATE_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction deleteRate(contextId, rateId) {\n return async function (dispatch) {\n try {\n dispatch({\n type: SEND_RATE_BEGIN\n });\n\n await ratesService.deleteRate(contextId, rateId);\n\n dispatch({\n type: DELETE_RATE_SUCCESS\n });\n\n dispatch(contextsActions.setAsDraft());\n dispatch(fetchRates(contextId, true));\n }\n catch (error) {\n dispatch({\n type: SEND_RATE_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction fetchRateChannels(contextId, rateId) {\n return async function (dispatch, getState) {\n try {\n const { hasFetched } = getState().ratesReducer;\n\n dispatch({\n type: RATE_CHANNELS_BEGIN\n });\n\n var channels = await ratesService.getRateChannels(contextId, rateId);\n\n dispatch({\n type: FETCH_RATE_CHANNELS_SUCCESS,\n payload: {\n rateChannels: {\n rateId: rateId,\n channels: channels\n }\n }\n });\n\n }\n catch (error) {\n dispatch({\n type: FETCH_RATE_CHANNELS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction sendRateChannel(contextId, rateId, rateChannel) {\n return async function (dispatch) {\n try {\n dispatch({\n type: RATE_CHANNELS_BEGIN\n });\n\n if (rateChannel.id) {\n await ratesService.editRateChannel(contextId, rateId, rateChannel);\n\n dispatch({\n type: EDIT_RATE_CHANNEL_SUCCESS,\n });\n }\n else {\n await ratesService.saveRateChannel(contextId, rateId, rateChannel);\n\n dispatch({\n type: CREATE_RATE_CHANNEL_SUCCESS,\n });\n }\n\n dispatch(setAsDraft());\n dispatch(fetchRateChannels(contextId, rateId));\n dispatch(setTabDisplay(tabDisplays.index));\n }\n catch (error) {\n dispatch({\n type: FETCH_RATE_CHANNELS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction deleteRateChannel(contextId, rateId, channelRateId) {\n return async function (dispatch) {\n try {\n dispatch({\n type: RATE_CHANNELS_BEGIN\n });\n\n await ratesService.deleteRateChannel(contextId, rateId, channelRateId);\n\n dispatch({\n type: DELETE_RATE_CHANNEL_SUCCESS\n });\n\n dispatch(ratesActions.setAsDraft());\n dispatch(fetchRateChannels(contextId, rateId));\n }\n catch (error) {\n dispatch({\n type: FETCH_RATE_CHANNELS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\n/* Fare Selection Points */\nfunction changeModeFareSelectionPoints(mode, id) {\n return async function (dispatch) {\n dispatch({\n type: RATE_SELECTION_POINTS_CHANGE_MODE,\n payload: {\n mode: mode,\n id: id\n }\n });\n }\n}\n\nfunction fetchFareSelectionPoints(contextId, rateId) {\n return async function (dispatch) {\n try {\n dispatch({ type: RATE_SELECTION_POINTS_BEGIN });\n\n const fareSelectionPoints = await ratesService.getSelectionPoints(contextId, rateId);\n\n dispatch({\n type: FETCH_SELECTION_POINTS_SUCCESS,\n payload: {\n fareSelectionPoints: fareSelectionPoints\n }\n });\n }\n catch (error) {\n dispatch({\n type: RATE_SELECTION_POINTS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction sendFareSelectionPoints(contextId, rateId, lstFareSelectionPoints) {\n return async function (dispatch) {\n try {\n dispatch({\n type: RATE_SELECTION_POINTS_BEGIN\n });\n\n await ratesService.saveSelectionPoints(contextId, rateId, lstFareSelectionPoints);\n\n dispatch({\n type: SEND_SELECTION_POINTS_SUCCESS,\n });\n\n dispatch(setAsDraft());\n dispatch(fetchFareSelectionPoints(contextId, rateId));\n }\n catch (error) {\n dispatch({\n type: RATE_SELECTION_POINTS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction duplicateRate(contextId, rateId, newRate) {\n return async function (dispatch) {\n try {\n dispatch({\n type: FETCH_RATES_BEGIN,\n });\n\n const rate = await ratesService.duplicateRate(contextId, rateId, newRate);\n\n dispatch(fetchRatesAndChangeRouter(contextId, rate.id));\n dispatch({\n type: CONTEXT_SET_AS_DRAFT\n });\n }\n catch (error) {\n dispatch({\n type: FETCH_RATES_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction exportRate(contextId, rateId) {\n return async function (dispatch, getState) {\n try {\n dispatch({\n type: FETCH_RATES_BEGIN,\n });\n\n const locale = getState().locales.current;\n\n const response = await ratesService.exportRate(contextId, rateId, locale);\n\n if (!response.ok) {\n dispatch({\n type: RATES_SET_ERROR_EXPORT,\n payload: {\n error: __t('error_export')\n }\n });\n\n return\n }\n\n var flagReady = false;\n var buffer = [];\n\n const rdr = response.body.getReader();\n await readReader(rdr, (v) => {\n if (!flagReady) {\n var res = JSON.parse(String.fromCharCode.apply(null, v));\n\n if (res.errorCode) {\n dispatch({\n type: RATES_SET_ERROR_EXPORT,\n payload: {\n error: __t('error_export')\n }\n });\n }\n\n if (res.done)\n flagReady = true;\n }\n else {\n buffer.push(v);\n }\n });\n\n if (!flagReady)\n return;\n\n const stream = new ReadableStream({\n start(controller) {\n buffer.forEach(b => controller.enqueue(b));\n controller.close();\n }\n });\n\n const newResponse = new Response(stream);\n const blob = await newResponse.blob();\n\n const contentDisposition = response.headers.get('Content-Disposition');\n\n let fileName = 'unknown.xls';\n if (contentDisposition) {\n const fileNameMatch = contentDisposition.match(/filename=(\\S*)/);\n if (fileNameMatch.length === 2)\n fileName = fileNameMatch[1];\n }\n\n setDownloadLink(fileName, blob);\n\n dispatch({\n type: RATE_EXPORT_DONE,\n });\n }\n catch (error) {\n dispatch({\n type: RATES_SET_ERROR_EXPORT,\n payload: {\n error: __t('error_export')\n }\n });\n }\n }\n}\n\n// function exportRate(contextId, rateId) {\n// return async function (dispatch, getState) {\n// try {\n// dispatch({\n// type: FETCH_RATES_BEGIN,\n// });\n\n// const locale = getState().locales.current;\n\n\n// const response = await ratesService.exportRate(contextId, rateId, locale);\n\n// if (!response.ok) {\n// dispatch({\n// type: RATES_SET_ERROR_EXPORT,\n// payload: {\n// error: __t('error_export')\n// }\n// });\n\n// return\n// }\n\n// const contentDisposition = response.headers.get('Content-Disposition');\n// let fileName = 'unknown.xls';\n// if (contentDisposition) {\n// const fileNameMatch = contentDisposition.match(/filename=(\\S*)/);\n// if (fileNameMatch.length === 2)\n// fileName = fileNameMatch[1];\n// }\n\n// const blob = await response.blob();\n\n// const url = window.URL.createObjectURL(blob);\n// const link = document.createElement('a');\n// link.href = url;\n// link.setAttribute('download', fileName);\n// document.body.appendChild(link);\n// link.click();\n// link.href = '';\n// link.remove();\n// window.URL.revokeObjectURL(url);\n\n// dispatch({\n// type: RATE_EXPORT_DONE,\n// });\n// }\n// catch (error) {\n// dispatch({\n// type: RATES_SET_ERROR_EXPORT,\n// payload: {\n// error: __t('error_export')\n// }\n// });\n// }\n// }\n// }\n\nfunction validateRate(contextId, rateId) {\n return async function (dispatch, getState) {\n try {\n dispatch({\n type: VALIDATE_RATE_BEGIN,\n });\n\n const locale = getState().locales.current;\n const response = await ratesService.publishRate(contextId, rateId, locale);\n\n if (response.ok) {\n const result = await response.json();\n\n if (result.errors || result.daysUncovered || result.specialDaysUncovered || result.periodPositionErrors) {\n dispatch(setErrorValidate(result));\n return;\n }\n\n dispatch({\n type: RATE_VALIDATE_SUCCESS,\n });\n\n dispatch(generalActions.showToastSuccess(__t('message_rate_validation')));\n\n return;\n }\n\n dispatch(setError(await response.text()))\n }\n catch (error) {\n dispatch(setErrorValidate(error))\n }\n }\n}\n\nfunction getTranslations(contextId, rateId) {\n return async function (dispatch, getState) {\n try {\n const ratesReducer = getState().ratesReducer;\n\n // if (ratesReducer.router.id === rateId && ratesReducer.translations != []) {\n // return;\n // }\n\n dispatch({\n type: RATE_TRANSLATION_BEGIN,\n });\n\n const translations = await ratesService.getTranslations(contextId, rateId);\n\n dispatch({\n type: RATE_TRANSLATION_FETCH_SUCCESS,\n payload: {\n translations: translations\n }\n })\n }\n catch (error) {\n dispatch({\n type: RATE_TRANSLATION_BEGIN,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction saveTranslations(contextId, rateId, translations) {\n return async function (dispatch, getState) {\n try {\n dispatch({\n type: RATE_TRANSLATION_BEGIN,\n });\n\n await ratesService.saveTranslations(contextId, rateId, translations);\n\n dispatch({\n type: RATE_TRANSLATION_SEND_SUCCESS,\n payload: {\n translations: translations\n }\n })\n\n dispatch(setAsDraft());\n dispatch(generalActions.showToastSuccess(__t('message_translation_success')));\n }\n catch (error) {\n dispatch({\n type: RATE_TRANSLATION_ERROR,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction updateOverwrite(rateId, isFreeDays, isOverwrite) {\n return async function (dispatch, getState) {\n try {\n const context = getState().contextsReducer.context;\n await ratesService.updateOverwrite(context.id, rateId, isFreeDays, isOverwrite);\n\n dispatch({\n type: RATE_UPDATE_OVERWRITE,\n payload: {\n rateId: rateId,\n isFreeDays: isFreeDays,\n isOverwrite: isOverwrite\n }\n });\n dispatch(contextsActions.setAsDraft());\n }\n catch (error) {\n dispatch(generalActions.showToastError(__t('err_overwrite')))\n }\n }\n}","import { disallowedPeriodsService } from '../services/disallowedPeriodsService';\nimport { freeDayReference, pageModes, tabDisplays } from '../_constants/emparkConstants';\nimport { municipalitiesActions } from './municipalitiesActions'\nimport { contextsActions } from './contextsActions'\nimport { ratesActions } from './ratesActions'\n\nexport const disallowedPeriodsActions = {\n changeMode,\n fetchDisallowedPeriods,\n deleteDisallowedPeriod,\n saveDisallowedPeriod,\n setError,\n saveDisallowedPeriods\n // selectDisallowedPeriod,\n}\n\nexport const DISALLOWED_PERIODS_CHANGE_MODE = \"DISALLOWED_PERIODS_CHANGE_MODE\";\nexport const DISALLOWED_PERIODS_SET_ERROR = \"DISALLOWED_PERIODS_SET_ERROR\";\nexport const DISALLOWED_PERIODS_BEGIN = \"DISALLOWED_PERIODS_BEGIN\";\nexport const FETCH_DISALLOWED_PERIODS_SUCCESS = \"FETCH_DISALLOWED_PERIODS_SUCCESS\";\nexport const CREATE_DISALLOWED_PERIODS_SUCCESS = \"CREATE_DISALLOWED_PERIODS_SUCCESS\";\nexport const EDIT_DISALLOWED_PERIODS_SUCCESS = \"EDIT_DISALLOWED_PERIODS_SUCCESS\";\nexport const DELETE_DISALLOWED_PERIODS_SUCCESS = \"DELETE_DISALLOWED_PERIODS_SUCCESS\";\nexport const DISALLOWED_PERIODS_FAILURE = \"DISALLOWED_PERIODS_FAILURE\";\n\nfunction changeMode(mode, id) {\n return function (dispatch) {\n dispatch({\n type: DISALLOWED_PERIODS_CHANGE_MODE,\n payload: {\n mode: mode,\n id: id\n }\n });\n }\n}\n\nfunction setError(error) {\n return function (dispatch) {\n dispatch({\n type: DISALLOWED_PERIODS_SET_ERROR,\n payload: {\n error: error\n }\n });\n }\n}\n\n\nfunction fetchDisallowedPeriods(reference, id) {\n return async function (dispatch, getState) {\n try {\n dispatch({ type: DISALLOWED_PERIODS_BEGIN });\n\n let disallowedPeriods = getState().disallowedPeriodsReducer.disallowedPeriods;\n if (reference === freeDayReference.municipality)\n disallowedPeriods.municipality = await disallowedPeriodsService.getByMunicipality(id);\n else if (reference === freeDayReference.context)\n disallowedPeriods.context = await disallowedPeriodsService.getByContext(id);\n else\n disallowedPeriods.rate = await disallowedPeriodsService.getByRate(id);\n\n dispatch({\n type: FETCH_DISALLOWED_PERIODS_SUCCESS,\n payload: {\n disallowedPeriods: disallowedPeriods,\n reference: reference,\n referenceId: id\n }\n });\n }\n catch (error) {\n dispatch({\n type: DISALLOWED_PERIODS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction saveDisallowedPeriod(reference, referenceId, disallowedPeriod) {\n return async function (dispatch, getState) {\n try {\n dispatch({ type: DISALLOWED_PERIODS_BEGIN });\n\n if (disallowedPeriod.id) {\n const result = await disallowedPeriodsService.editDisallowedPeriod(disallowedPeriod);\n\n dispatch({\n type: EDIT_DISALLOWED_PERIODS_SUCCESS,\n payload: {\n disallowedPeriod: result\n }\n })\n }\n else {\n const result = await disallowedPeriodsService.saveDisallowedPeriod(disallowedPeriod);\n\n dispatch({\n type: CREATE_DISALLOWED_PERIODS_SUCCESS,\n payload: {\n disallowedPeriod: result\n }\n })\n }\n\n dispatch(fetchDisallowedPeriods(reference, referenceId));\n\n const actions = reference === freeDayReference.municipality ? municipalitiesActions :\n reference === freeDayReference.context ? contextsActions : ratesActions;\n\n if (actions.setAsDraft)\n dispatch(actions.setAsDraft());\n\n dispatch(actions.setTabDisplay(tabDisplays.index));\n }\n catch (error) {\n dispatch({\n type: DISALLOWED_PERIODS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction saveDisallowedPeriods(reference, referenceId, disallowedPeriods) {\n return async function (dispatch, getState) {\n try {\n dispatch({ type: DISALLOWED_PERIODS_BEGIN });\n\n if (reference === freeDayReference.municipality) {\n await disallowedPeriodsService.saveDisallowedPeriodsMunicipality(referenceId, disallowedPeriods);\n } else if (reference === freeDayReference.context) {\n await disallowedPeriodsService.saveDisallowedPeriodsContext(referenceId, disallowedPeriods);\n } else {\n await disallowedPeriodsService.saveDisallowedPeriodsRate(referenceId, disallowedPeriods);\n }\n\n dispatch(fetchDisallowedPeriods(reference, referenceId, true));\n\n const actions = reference === freeDayReference.municipality ? municipalitiesActions :\n reference === freeDayReference.context ? contextsActions : ratesActions;\n\n if (actions.setAsDraft)\n dispatch(actions.setAsDraft());\n\n dispatch(actions.setTabDisplay(tabDisplays.index));\n dispatch(changeMode(pageModes.list));\n }\n catch (error) {\n dispatch({\n type: DISALLOWED_PERIODS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction deleteDisallowedPeriod(reference, referenceId, disallowedPeriodId) {\n return async function (dispatch, getState) {\n try {\n dispatch({ type: DISALLOWED_PERIODS_BEGIN });\n\n await disallowedPeriodsService.deleteDisallowedPeriod(disallowedPeriodId);\n\n dispatch({\n type: DELETE_DISALLOWED_PERIODS_SUCCESS,\n });\n\n const actions = reference === freeDayReference.municipality ? municipalitiesActions :\n reference === freeDayReference.context ? contextsActions : ratesActions;\n\n if (actions.setAsDraft)\n dispatch(actions.setAsDraft());\n\n dispatch(fetchDisallowedPeriods(reference, referenceId));\n }\n catch (error) {\n dispatch({\n type: DISALLOWED_PERIODS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}","import { freeDaysService } from '../services/freeDaysService';\nimport { freeDayReference, pageModes, tabDisplays } from '../_constants/emparkConstants';\nimport { municipalitiesActions } from './municipalitiesActions'\nimport { contextsActions } from './contextsActions'\nimport { ratesActions } from './ratesActions'\n\nexport const freeDaysActions = {\n changeMode,\n fetchFreeDays,\n deleteFreeDay,\n saveFreeDay,\n saveFreeDays,\n setError\n // selectFreeDay,\n}\n\nexport const FREE_DAYS_CHANGE_MODE = \"FREE_DAYS_CHANGE_MODE\";\nexport const FREE_DAYS_SET_ERROR = \"FREE_DAYS_SET_ERROR\";\nexport const FREE_DAYS_BEGIN = \"FREE_DAYS_BEGIN\";\nexport const FETCH_FREE_DAYS_SUCCESS = \"FETCH_FREE_DAYS_SUCCESS\";\nexport const CREATE_FREE_DAYS_SUCCESS = \"CREATE_FREE_DAYS_SUCCESS\";\nexport const EDIT_FREE_DAYS_SUCCESS = \"EDIT_FREE_DAYS_SUCCESS\";\nexport const DELETE_FREE_DAYS_SUCCESS = \"DELETE_FREE_DAYS_SUCCESS\";\nexport const FREE_DAYS_FAILURE = \"FREE_DAYS_FAILURE\";\n\nfunction changeMode(mode, id) {\n return function (dispatch) {\n dispatch({\n type: FREE_DAYS_CHANGE_MODE,\n payload: {\n mode: mode,\n id: id\n }\n });\n }\n}\n\nfunction setError(error) {\n return function (dispatch) {\n dispatch({\n type: FREE_DAYS_SET_ERROR,\n payload: {\n error: error\n }\n });\n }\n}\n\n\nfunction fetchFreeDays(reference, id, forceFetch = false) {\n return async function (dispatch, getState) {\n try {\n const reducer = getState().freeDaysReducer;\n if (!forceFetch && reducer.reference === reference && reducer.referenceId === id)\n return;\n\n dispatch({ type: FREE_DAYS_BEGIN });\n\n let freeDays = getState().freeDaysReducer.freeDays;\n if (reference === freeDayReference.municipality)\n freeDays.municipality = await freeDaysService.getByMunicipality(id);\n else if (reference === freeDayReference.context)\n freeDays.context = await freeDaysService.getByContext(id);\n else\n freeDays.rate = await freeDaysService.getByRate(id);\n\n dispatch({\n type: FETCH_FREE_DAYS_SUCCESS,\n payload: {\n freeDays: freeDays,\n reference: reference,\n referenceId: id\n }\n });\n }\n catch (error) {\n dispatch({\n type: FREE_DAYS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction saveFreeDay(reference, referenceId, freeDay) {\n return async function (dispatch, getState) {\n try {\n dispatch({ type: FREE_DAYS_BEGIN });\n\n if (freeDay.id) {\n const result = await freeDaysService.editFreeDay(freeDay);\n\n dispatch({\n type: EDIT_FREE_DAYS_SUCCESS,\n payload: {\n freeDay: result\n }\n })\n }\n else {\n const result = await freeDaysService.saveFreeDay(freeDay);\n\n dispatch({\n type: CREATE_FREE_DAYS_SUCCESS,\n payload: {\n freeDay: result\n }\n })\n }\n\n dispatch(fetchFreeDays(reference, referenceId, true));\n\n const actions = reference === freeDayReference.municipality ? municipalitiesActions :\n reference === freeDayReference.context ? contextsActions : ratesActions;\n\n if (actions.setAsDraft)\n dispatch(actions.setAsDraft());\n \n dispatch(actions.setTabDisplay(tabDisplays.index));\n }\n catch (error) {\n dispatch({\n type: FREE_DAYS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction saveFreeDays(reference, referenceId, freeDays) {\n return async function (dispatch, getState) {\n try {\n dispatch({ type: FREE_DAYS_BEGIN });\n\n if(reference === freeDayReference.municipality) {\n await freeDaysService.saveFreeDaysMunicipality(referenceId, freeDays);\n } else if(reference === freeDayReference.context) {\n await freeDaysService.saveFreeDaysContext(referenceId, freeDays);\n } else {\n await freeDaysService.saveFreeDaysRate(referenceId, freeDays);\n }\n\n dispatch(fetchFreeDays(reference, referenceId, true));\n\n const actions = reference === freeDayReference.municipality ? municipalitiesActions :\n reference === freeDayReference.context ? contextsActions : ratesActions;\n\n if (actions.setAsDraft)\n dispatch(actions.setAsDraft());\n \n dispatch(actions.setTabDisplay(tabDisplays.index));\n dispatch(changeMode(pageModes.list));\n }\n catch (error) {\n dispatch({\n type: FREE_DAYS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction deleteFreeDay(reference, referenceId, freeDayId) {\n return async function (dispatch, getState) {\n try {\n dispatch({ type: FREE_DAYS_BEGIN });\n\n await freeDaysService.deleteFreeDay(freeDayId);\n\n dispatch({\n type: DELETE_FREE_DAYS_SUCCESS,\n });\n\n const actions = reference === freeDayReference.municipality ? municipalitiesActions :\n reference === freeDayReference.context ? contextsActions : ratesActions;\n\n if (actions.setAsDraft)\n dispatch(actions.setAsDraft());\n\n dispatch(fetchFreeDays(reference, referenceId, true));\n }\n catch (error) {\n dispatch({\n type: FREE_DAYS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}","\nimport translate from '../locales';\nimport { historyActions } from '../reducers';\nimport { contextsService, readReader, setDownloadLink } from '../services';\nimport { freeDayReference, pageModes, tabDisplays } from '../_constants/emparkConstants';\nimport { disallowedPeriodsActions } from './disallowedPeriodsActions';\nimport { freeDaysActions } from './freeDaysActions';\nimport { generalActions } from './generalActions';\nimport { RESET_RATES, ratesActions } from './ratesActions';\n\nconst __t = translate;\n\nexport const CONTEXTS_CHANGE_MODE = \"CONTEXTS_CHANGE_MODE\";\nexport const CONTEXTS_SET_ERROR = \"CONTEXTS_SET_ERROR\";\nexport const CONTEXTS_SET_ERROR_MFL = \"CONTEXTS_SET_ERROR_MFL\";\n\nexport const FETCH_CONTEXTS_BEGIN = \"FETCH_CONTEXTS_BEGIN\";\nexport const FETCH_CONTEXTS_SUCCESS = \"FETCH_CONTEXTS_SUCCESS\";\nexport const FETCH_CONTEXTS_FAILURE = \"FETCH_CONTEXTS_FAILURE\";\nexport const SEND_CONTEXT_BEGIN = \"SEND_CONTEXT_BEGIN\";\nexport const CREATE_CONTEXT_SUCCESS = \"CREATE_CONTEXT_SUCCESS\";\nexport const EDIT_CONTEXT_SUCCESS = \"CREATE_CONTEXT_SUCCESS\";\nexport const DELETE_CONTEXT_SUCCESS = \"DELETE_CONTEXT_SUCCESS\";\nexport const SEND_CONTEXT_FAILURE = \"SEND_CONTEXT_FAILURE\";\nexport const CONTEXTS_SET_TAB_DISPLAY = \"CONTEXTS_SET_TAB_DISPLAY\";\nexport const CONTEXT_SET_CHECKED_VERSION = \"CONTEXT_SET_CHECKED_VERSION\";\nexport const CONTEXT_SET_NOT_CHECKED_VERSION = \"CONTEXT_SET_NOT_CHECKED_VERSION\";\n\nexport const CONTEXT_DETAIL_BEGIN = \"CONTEXT_DETAIL_BEGIN\";\nexport const FETCH_CONTEXT_DETAIL_SUCCESS = \"FETCH_CONTEXT_DETAIL_SUCCESS\";\nexport const CONTEXT_DETAIL_FAILURE = \"CONTEXT_DETAIL_FAILURE\";\nexport const CONTEXT_SET_AS_DRAFT = \"CONTEXT_SET_AS_DRAFT\";\n\nexport const UPDATE_CENTERS_STATUS = \"UPDATE_CENTERS_STATUS\";\n\nexport const SET_CONTEXT_DETAIL = \"SET_CONTEXT_DETAIL\";\nexport const SET_CONTEXT_DETAIL_UNSYNC = \"SET_CONTEXT_DETAIL_UNSYNC\";\nexport const CONTEXT_SAP_CODE_STATE = \"CONTEXT_SAP_CODE_STATE\";\nexport const CONTEXT_SAP_CODE_EDIT_CONTEXT = \"CONTEXT_SAP_CODE_EDIT_CONTEXT\";\nexport const CONTEXT_EXPORT_PREBOOK = \"CONTEXT_EXPORT_PREBOOK\";\nexport const CONTEXT_PREBOOKS_STATE = \"CONTEXT_PREBOOKS_STATE\";\n\nexport const SET_CONTEXTS_ALL = \"SET_CONTEXTS_ALL\";\n\nexport const SET_CONTEXT_TABLE = \"SET_CONTEXT_TABLE\";\n\nexport const contextsActions = {\n changeMode,\n fetchContexts,\n sendContext,\n setError,\n setErrorMfl,\n deleteContext,\n fetchRates,\n setTabDisplay,\n syncMflContexts,\n syncMflContext,\n syncMflContextVersion,\n submitMfl,\n fetchDetail,\n setAsDraft,\n checkCentersSync,\n resetCentersSync,\n resetCenterSync,\n editSapCode,\n checkCenterVersionSync,\n updateExportPrebook,\n setErrorExportPrebook,\n exportPrebooks,\n sendPrebooksUpdate,\n sendPrebooksAdd,\n sendPrebooksCreate,\n sendDisallowedPeriodsMassive,\n updateTableState\n}\n\nfunction changeMode(mode, id) {\n return function (dispatch) {\n dispatch({\n type: CONTEXTS_CHANGE_MODE,\n payload: {\n mode: mode,\n id: id\n }\n });\n }\n}\n\nfunction setTabDisplay(tabDisplay) {\n return function (dispatch) {\n dispatch({\n type: CONTEXTS_SET_TAB_DISPLAY,\n payload: {\n tabDisplay: tabDisplay,\n }\n });\n }\n}\n\nfunction setError(error) {\n return function (dispatch) {\n dispatch({\n type: CONTEXTS_SET_ERROR,\n payload: {\n error: error\n }\n });\n }\n}\n\nfunction setErrorMfl(error) {\n return function (dispatch) {\n dispatch({\n type: CONTEXTS_SET_ERROR_MFL,\n payload: {\n error: error\n }\n });\n }\n}\n\nfunction setAsDraft() {\n return function (dispatch) {\n dispatch({\n type: CONTEXT_SET_AS_DRAFT,\n });\n }\n}\n\nfunction fetchContexts(forceFetch = false) {\n return async function (dispatch, getState) {\n try {\n const { hasFetched } = getState().contextsReducer;\n if (!forceFetch && hasFetched)\n return;\n\n dispatch({\n type: FETCH_CONTEXTS_BEGIN\n });\n\n var contexts = await contextsService.getContexts();\n\n dispatch({\n type: FETCH_CONTEXTS_SUCCESS,\n payload: {\n contexts: contexts\n }\n });\n }\n catch (error) {\n dispatch({\n type: FETCH_CONTEXTS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction sendContext(context) {\n return async function (dispatch) {\n try {\n dispatch({\n type: SEND_CONTEXT_BEGIN\n });\n\n if (context.id) {\n await contextsService.editContext(context);\n\n dispatch({\n type: EDIT_CONTEXT_SUCCESS,\n payload: {\n context: context\n }\n });\n }\n else {\n const c = await contextsService.saveContext(context);\n\n dispatch({\n type: CREATE_CONTEXT_SUCCESS,\n payload: {\n context: c\n }\n });\n }\n\n dispatch(fetchContexts(true));\n }\n catch (error) {\n dispatch({\n type: SEND_CONTEXT_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction editSapCode(contextId, sapCode) {\n return async function (dispatch, getState) {\n try {\n dispatch({\n type: CONTEXT_SAP_CODE_STATE,\n payload: {\n open: true,\n loading: true,\n error: null\n }\n });\n\n const locale = getState().locales.current;\n\n await contextsService.editSapCode(contextId, sapCode, locale);\n\n dispatch({\n type: CONTEXT_SAP_CODE_EDIT_CONTEXT,\n payload: {\n id: contextId,\n sapCode: sapCode\n }\n });\n\n dispatch({\n type: CONTEXT_SAP_CODE_STATE,\n payload: {\n open: false,\n loading: false,\n error: null\n }\n });\n }\n catch (error) {\n dispatch({\n type: CONTEXT_SAP_CODE_STATE,\n payload: {\n open: true,\n loading: false,\n error: error\n }\n });\n }\n }\n}\n\nfunction deleteContext(contextId) {\n return async function (dispatch) {\n try {\n dispatch({\n type: SEND_CONTEXT_BEGIN\n });\n\n await contextsService.deleteContext(contextId);\n\n dispatch({\n type: DELETE_CONTEXT_SUCCESS\n });\n\n dispatch(fetchContexts(true));\n }\n catch (error) {\n dispatch({\n type: SEND_CONTEXT_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction fetchDetail(contextId, forceFetch = false) {\n return async function (dispatch, getState) {\n try {\n if (!forceFetch && context && context.id === contextId) {\n return;\n }\n\n dispatch({\n type: CONTEXT_DETAIL_BEGIN\n });\n\n const context = await contextsService.fetchDetail(contextId);\n\n dispatch({\n type: FETCH_CONTEXT_DETAIL_SUCCESS,\n payload: {\n context: context\n }\n });\n }\n catch (error) {\n dispatch({\n type: CONTEXT_DETAIL_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\n/* Rates */\nfunction fetchRates(contextId) {\n return async function (dispatch, getState) {\n try {\n const { hasFetched } = getState().contextsReducer;\n\n if (!hasFetched) {\n dispatch({\n type: FETCH_CONTEXTS_BEGIN\n });\n\n var contexts = await contextsService.getRates(contextId);\n\n dispatch({\n type: FETCH_CONTEXTS_SUCCESS,\n payload: {\n contexts: contexts\n }\n });\n }\n }\n catch (error) {\n dispatch({\n type: FETCH_CONTEXTS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\n// function syncMflContexts() {\n// return async function (dispatch, getState) {\n// try {\n// dispatch({\n// type: FETCH_CONTEXTS_BEGIN,\n// })\n\n// await contextsService.syncMflContexts();\n\n// dispatch(fetchContexts(true));\n// }\n// catch (error) {\n// dispatch({\n// type: FETCH_CONTEXTS_FAILURE,\n// payload: {\n// error: error\n// }\n// });\n// }\n// }\n// }\n\nfunction syncMflContexts() {\n return async function (dispatch, getState) {\n try {\n const status = await contextsService.syncMflContexts();\n\n dispatch({\n type: UPDATE_CENTERS_STATUS,\n payload: {\n status: status\n }\n })\n }\n catch (error) {\n dispatch({\n type: FETCH_CONTEXTS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction syncMflContext(contextId) {\n return async function (dispatch, getState) {\n try {\n dispatch({\n type: FETCH_CONTEXTS_BEGIN,\n })\n\n let response = await contextsService.syncMflContext(contextId);\n\n if (!response.ok) {\n let text = await response.text();\n\n dispatch({\n type: CONTEXTS_SET_ERROR_MFL,\n payload: {\n error: \"Error inesperado\"\n }\n });\n }\n\n var flagReady = false;\n\n const rdr = response.body.getReader();\n\n await readReader(rdr, (v) => {\n if (!flagReady) {\n let res = null;\n try {\n res = JSON.parse(String.fromCharCode.apply(null, v));\n } catch (e) {\n res = {\n errorCode: 500,\n message: \"Error inesperado\"\n }\n }\n\n if (res.errorCode || res.code) {\n let msg;\n if (res.message)\n msg = res.message;\n else if (res.type)\n msg = res.type;\n else\n msg = \"Error inesperado\";\n\n dispatch({\n type: CONTEXTS_SET_ERROR_MFL,\n payload: {\n error: msg\n }\n });\n }\n\n if (res.done)\n flagReady = true;\n }\n });\n\n if (!flagReady)\n return;\n\n dispatch(fetchDetail(contextId, true));\n dispatch(ratesActions.fetchRates(contextId, true));\n dispatch(freeDaysActions.fetchFreeDays(freeDayReference.context, contextId, true));\n dispatch(disallowedPeriodsActions.fetchDisallowedPeriods(freeDayReference.context, contextId, true));\n }\n catch (error) {\n dispatch({\n type: CONTEXTS_SET_ERROR_MFL,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction syncMflContextVersion(contextId) {\n return async function (dispatch, getState) {\n try {\n dispatch({\n type: FETCH_CONTEXTS_BEGIN,\n })\n\n await contextsService.syncMflContextVersion(contextId);\n\n dispatch({\n type: CONTEXT_SET_CHECKED_VERSION\n })\n\n dispatch(fetchDetail(contextId, true));\n }\n catch (error) {\n dispatch({\n type: CONTEXTS_SET_ERROR_MFL,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction submitMfl(contextId) {\n return async function (dispatch, getState) {\n try {\n dispatch({\n type: FETCH_CONTEXTS_BEGIN,\n });\n\n const locale = getState().locales.current;\n\n await contextsService.syncMflContextVersion(contextId);\n\n const response = await contextsService.submitMfl(contextId, locale);\n\n if (!response.ok) {\n let text = await response.text();\n\n console.log(text);\n dispatch({\n type: CONTEXTS_SET_ERROR_MFL,\n payload: {\n error: text\n }\n });\n }\n\n var flagReady = false;\n\n const rdr = response.body.getReader();\n\n await readReader(rdr, (v) => {\n if (!flagReady) {\n let res = null;\n try {\n res = JSON.parse(String.fromCharCode.apply(null, v));\n } catch (e) {\n res = {\n errorCode: 500,\n message: \"Error inesperado\"\n }\n }\n\n if (res.errorCode || res.code) {\n let msg;\n if (res.message)\n msg = res.message;\n else if (res.type)\n msg = res.type;\n else\n msg = \"Error inesperado\";\n\n dispatch({\n type: CONTEXTS_SET_ERROR_MFL,\n payload: {\n error: msg\n }\n });\n }\n\n if (res.done)\n flagReady = true;\n }\n });\n\n if (!flagReady)\n return;\n\n dispatch({\n type: RESET_RATES\n })\n dispatch(fetchDetail(contextId, true))\n dispatch(ratesActions.fetchRates(contextId, true))\n dispatch(historyActions.fetchHistoryVersions(contextId, true));\n dispatch(generalActions.showToastSuccess(__t('msg_success_send_eos')));\n }\n catch (error) {\n console.log(error);\n let message = error;\n\n if (typeof error === 'object') {\n message = error.message;\n\n if (error.errorCode === \"EOS001\") {\n dispatch({\n type: SET_CONTEXT_DETAIL_UNSYNC\n })\n }\n }\n\n dispatch({\n type: CONTEXTS_SET_ERROR_MFL,\n payload: {\n error: message\n }\n });\n }\n }\n}\n\nfunction checkCentersSync() {\n return async function (dispatch, getState) {\n try {\n const oldStatus = getState().ratesReducer.status;\n\n const status = await contextsService.checkSyncMflContexts();\n\n if (oldStatus && oldStatus.status === 1 && status.status !== 1) {\n window.location.reload();\n }\n else {\n dispatch({\n type: UPDATE_CENTERS_STATUS,\n payload: {\n status: status\n }\n })\n }\n }\n catch (error) {\n dispatch({\n type: CONTEXTS_SET_ERROR_MFL,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction resetCentersSync() {\n return async function (dispatch, getState) {\n try {\n const status = await contextsService.resetSyncMflContexts();\n\n dispatch({\n type: UPDATE_CENTERS_STATUS,\n payload: {\n status: status\n }\n })\n }\n catch (error) {\n dispatch({\n type: CONTEXTS_SET_ERROR_MFL,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction resetCenterSync(id) {\n return async function (dispatch, getState) {\n try {\n dispatch({\n type: FETCH_CONTEXTS_BEGIN\n });\n\n const context = await contextsService.resetSyncMflContext(id);\n\n window.location.reload();\n }\n catch (error) {\n dispatch({\n type: CONTEXTS_SET_ERROR_MFL,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction checkCenterVersionSync(id) {\n return async function (dispatch, getState) {\n try {\n await contextsService.syncMflContextVersion(id);\n const context = await contextsService.fetchDetail(id);\n\n const c = getState().contextsReducer.context;\n\n if (context.unsyncWithMfl != c.unsyncWithMfl || context.isDraft != c.isDraft) {\n dispatch(generalActions.showToastWarning(__t('resync_center_version')));\n }\n } catch (e) {\n\n }\n }\n}\n\nfunction updateExportPrebook(exportPrebook) {\n return async function (dispatch, getState) {\n dispatch({\n type: CONTEXT_EXPORT_PREBOOK,\n payload: exportPrebook\n });\n }\n}\n\nfunction setErrorExportPrebook(error) {\n return async function (dispatch, getState) {\n dispatch({\n type: CONTEXT_EXPORT_PREBOOK,\n payload: {\n error: error\n }\n });\n }\n}\n\nfunction sendPrebooksUpdate(id, prebooks) {\n return async function (dispatch, getState) {\n try {\n dispatch({\n type: CONTEXT_PREBOOKS_STATE,\n payload: {\n loading: true\n }\n });\n\n const res = await contextsService.updatePrebooks(id, prebooks);\n\n dispatch({\n type: CONTEXT_PREBOOKS_STATE,\n payload: {\n loading: false,\n error: null\n }\n });\n dispatch(contextsActions.setTabDisplay(tabDisplays.index));\n dispatch(ratesActions.changeMode(pageModes.list));\n dispatch(ratesActions.fetchRates(id, true));\n dispatch(contextsActions.setAsDraft());\n }\n catch (error) {\n dispatch({\n type: CONTEXT_PREBOOKS_STATE,\n payload: {\n loading: false,\n error: error\n }\n });\n }\n }\n}\n\nfunction sendPrebooksAdd(id, productTypeCode, fromDate, toDate, rates) {\n return async function (dispatch, getState) {\n try {\n dispatch({\n type: CONTEXT_PREBOOKS_STATE,\n payload: {\n loading: true,\n }\n });\n\n const res = await contextsService.addPrebooks(\n id,\n {\n productTypeCode: productTypeCode,\n fromDate: fromDate,\n toDate: toDate,\n rates: rates\n }\n );\n\n dispatch({\n type: CONTEXT_PREBOOKS_STATE,\n payload: {\n loading: false,\n error: null\n }\n });\n dispatch(contextsActions.setTabDisplay(tabDisplays.index));\n dispatch(ratesActions.changeMode(pageModes.list));\n dispatch(ratesActions.fetchRates(id, true));\n dispatch(contextsActions.setAsDraft());\n }\n catch (error) {\n dispatch({\n type: CONTEXT_PREBOOKS_STATE,\n payload: {\n loading: false,\n error: error\n }\n });\n }\n }\n}\n\nfunction sendDisallowedPeriodsMassive(id, rates, disallowedPeriods) {\n return async function (dispatch, getState) {\n try {\n dispatch({\n type: CONTEXT_PREBOOKS_STATE,\n payload: {\n loading: true,\n }\n });\n\n const res = await contextsService.addDisallowedPeriodsMassive(id, rates, disallowedPeriods);\n\n dispatch({\n type: CONTEXT_PREBOOKS_STATE,\n payload: {\n loading: false,\n error: null\n }\n });\n dispatch(contextsActions.setTabDisplay(tabDisplays.index));\n dispatch(ratesActions.changeMode(pageModes.list));\n dispatch(ratesActions.fetchRates(id, true));\n dispatch(contextsActions.setAsDraft());\n }\n catch (error) {\n dispatch({\n type: CONTEXT_PREBOOKS_STATE,\n payload: {\n loading: false,\n error: error\n }\n });\n }\n }\n}\n\nfunction sendPrebooksCreate(id, prebooksWrapper) {\n return async function (dispatch, getState) {\n try {\n dispatch({\n type: CONTEXT_PREBOOKS_STATE,\n payload: {\n loading: true,\n }\n });\n\n const res = await contextsService.createPrebooks(id, prebooksWrapper);\n\n dispatch({\n type: CONTEXT_PREBOOKS_STATE,\n payload: {\n loading: false,\n error: null\n }\n });\n }\n catch (error) {\n dispatch({\n type: CONTEXT_PREBOOKS_STATE,\n payload: {\n loading: false,\n error: error\n }\n });\n }\n }\n}\n\nfunction exportPrebooks(id, histVersion, type, year, month, monthDuration, rates) {\n return async function (dispatch, getState) {\n try {\n dispatch({\n type: CONTEXT_EXPORT_PREBOOK,\n payload: {\n loading: true\n }\n });\n\n const locale = getState().locales.current;\n\n const response = await contextsService.exportPrebooks(\n id,\n {\n histVersion: histVersion,\n rateTypeCode: type,\n year: year,\n month: month,\n monthDuration: monthDuration,\n rates: rates\n },\n locale\n );\n\n if (!response.ok) {\n dispatch({\n type: CONTEXT_EXPORT_PREBOOK,\n payload: {\n error: __t('error_export')\n }\n });\n\n return\n }\n\n const blob = await response.blob();\n\n const contentDisposition = response.headers.get('Content-Disposition');\n\n let fileName = 'unknown.xls';\n if (contentDisposition) {\n const fileNameMatch = contentDisposition.match(/filename=(\\S*)/);\n if (fileNameMatch.length === 2)\n fileName = fileNameMatch[1];\n }\n\n setDownloadLink(fileName, blob);\n\n\n dispatch({\n type: CONTEXT_EXPORT_PREBOOK,\n payload: {\n open: false,\n loading: false,\n error: null\n }\n });\n }\n catch (e) {\n dispatch({\n type: CONTEXT_EXPORT_PREBOOK,\n payload: {\n loading: false,\n error: e\n }\n });\n }\n }\n}\n\nfunction updateTableState(tableState) {\n console.log('pasa')\n return async function (dispatch, getState) {\n dispatch({\n type: SET_CONTEXT_TABLE,\n payload: tableState\n });\n }\n}\n\n// function exportPrebooks(id, type, year, month, monthDuration, days) {\n// return async function (dispatch, getState) {\n// try {\n// dispatch({\n// type: CONTEXT_EXPORT_PREBOOK,\n// payload: {\n// loading: true\n// }\n// });\n\n// const locale = getState().locales.current;\n\n// const response = contextsService.exportPrebooks(\n// id,\n// {\n// rateTypeCode: type,\n// year: year,\n// month: month,\n// monthDuration: monthDuration,\n// days: days\n// },\n// locale\n// );\n\n// if (!response.ok) {\n// dispatch({\n// type: CONTEXT_EXPORT_PREBOOK,\n// payload: {\n// error: __t('error_export')\n// }\n// });\n\n// return\n// }\n\n// var flagReady = false;\n// var buffer = [];\n\n// const rdr = response.body.getReader();\n// await readReader(rdr, (v) => {\n// if (!flagReady) {\n// var res = JSON.parse(String.fromCharCode.apply(null, v));\n\n// if (res.errorCode) {\n// dispatch({\n// type: CONTEXT_EXPORT_PREBOOK,\n// payload: {\n// error: __t('error_export')\n// }\n// });\n// }\n\n// if (res.done)\n// flagReady = true;\n// }\n// else {\n// buffer.push(v);\n// }\n// });\n\n// if (!flagReady)\n// return;\n\n// const stream = new ReadableStream({\n// start(controller) {\n// buffer.forEach(b => controller.enqueue(b));\n// controller.close();\n// }\n// });\n\n// const newResponse = new Response(stream);\n// const blob = await newResponse.blob();\n\n// const contentDisposition = response.headers.get('Content-Disposition');\n\n// let fileName = 'unknown.xls';\n// if (contentDisposition) {\n// const fileNameMatch = contentDisposition.match(/filename=(\\S*)/);\n// if (fileNameMatch.length === 2)\n// fileName = fileNameMatch[1];\n// }\n\n// setDownloadLink(fileName, blob);\n\n// dispatch({\n// type: CONTEXT_EXPORT_PREBOOK,\n// payload: {\n// open: false,\n// loading: false,\n// error: null\n// }\n// });\n// }\n// catch (e) {\n// dispatch({\n// type: CONTEXT_EXPORT_PREBOOK,\n// payload: {\n// loading: false,\n// error: e\n// }\n// });\n// }\n// }\n// }","import { doRequestReturnStandard, doRequestSimple, doRequestWithResponse, readReader } from '.';\nimport { CONTEXT_SAP_CODE_EDIT_CONTEXT } from '../actions/contextsActions';\nimport { baseApiUrl, requestOptionsDelete, requestOptionsGet, requestOptionsPost, requestOptionsPut } from '../_constants/emparkConstants';\n\nexport const historyService = {\n getContextVersions,\n getContextHist\n};\n\n/* Contexts */\nasync function getContextVersions(id) {\n const apiUrl = `${baseApiUrl}contexts_hist/versions/${id}`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function getContextHist(id) {\n const apiUrl = `${baseApiUrl}contexts_hist/${id}`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\n","import { doRequestSimple, doRequestWithResponse } from '.';\nimport { baseApiUrl, requestOptionsDelete, requestOptionsGet, requestOptionsPost, requestOptionsPut } from '../_constants/emparkConstants';\n\nexport const paidPeriodsService = {\n getPaidPeriodsBySchedule,\n getPaidPeriodsBySpecialDay,\n getPaidPeriod,\n savePaidPeriod,\n editPaidPeriod,\n deletePaidPeriod\n};\n\nasync function getPaidPeriodsBySchedule(scheduleId) {\n const apiUrl = `${baseApiUrl}paid_periods/schedules/${scheduleId}`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function getPaidPeriodsBySpecialDay(specialDayId) {\n const apiUrl = `${baseApiUrl}paid_periods/special_days/${specialDayId}`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function getPaidPeriod(paidPeriodId) {\n const apiUrl = `${baseApiUrl}paid_periods/${paidPeriodId}`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function savePaidPeriod(paidPeriod) {\n const apiUrl = `${baseApiUrl}paid_periods`;\n\n return await doRequestWithResponse(apiUrl, {...requestOptionsPost(), body:JSON.stringify(paidPeriod)});\n}\n\nasync function editPaidPeriod(paidPeriod) {\n const apiUrl = `${baseApiUrl}paid_periods/${paidPeriod.id}`;\n\n return await doRequestWithResponse(apiUrl, {...requestOptionsPut(), body:JSON.stringify(paidPeriod)});\n}\n\nasync function deletePaidPeriod(paidPeriodId) {\n const apiUrl = `${baseApiUrl}paid_periods/${paidPeriodId}`;\n\n return await doRequestSimple(apiUrl, requestOptionsDelete());\n}","import { doRequestSimple, doRequestWithResponse } from '.';\nimport { baseApiUrl, requestOptionsDelete, requestOptionsGet, requestOptionsPost, requestOptionsPut } from '../_constants/emparkConstants';\n\nexport const periodsService = {\n getPeriods,\n savePeriod,\n editPeriod,\n deletePeriod,\n getPeriodPositions,\n savePeriodPositions\n};\n\n/* Rates */\nasync function getPeriods(rateId) {\n const apiUrl = `${baseApiUrl}rates/${rateId}/periods`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function savePeriod(rateId, period) {\n const apiUrl = `${baseApiUrl}rates/${rateId}/periods`;\n\n return await doRequestWithResponse(apiUrl, {...requestOptionsPost(), body:JSON.stringify(period)});\n}\n\nasync function editPeriod(rateId, period, locale) {\n const apiUrl = `${baseApiUrl}rates/${rateId}/periods/${period.id}`;\n\n return await doRequestWithResponse(apiUrl, {...requestOptionsPut(locale), body:JSON.stringify(period)});\n}\n\nasync function deletePeriod(rateId, periodId) {\n const apiUrl = `${baseApiUrl}rates/${rateId}/periods/${periodId}`;\n\n return await doRequestSimple(apiUrl, {...requestOptionsDelete()});\n}\n\nasync function getPeriodPositions(rateId, periodId) {\n const apiUrl = `${baseApiUrl}rates/${rateId}/periods/${periodId}/positions`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function savePeriodPositions(rateId, periodId, lstPeriodIds, locale) {\n const apiUrl = `${baseApiUrl}rates/${rateId}/periods/${periodId}/positions`;\n\n return await doRequestWithResponse(apiUrl, {...requestOptionsPost(locale), body:JSON.stringify(lstPeriodIds)});\n}","import { doRequestSimple, doRequestWithResponse } from '.';\nimport { baseApiUrl, requestOptionsDelete, requestOptionsGet, requestOptionsPost, requestOptionsPut } from '../_constants/emparkConstants';\n\nexport const positionsService = {\n getPositions,\n savePosition,\n editPosition,\n deletePosition\n};\n\n/* Positions */\nasync function getPositions(contextId) {\n const apiUrl = `${baseApiUrl}contexts/${contextId}/positions`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function savePosition(contextId, position) {\n const apiUrl = `${baseApiUrl}contexts/${contextId}/positions`;\n\n return await doRequestWithResponse(apiUrl, {...requestOptionsPost(), body:JSON.stringify(position)});\n}\n\nasync function editPosition(contextId, position) {\n const apiUrl = `${baseApiUrl}contexts/${contextId}/positions/${position.id}`;\n\n return await doRequestWithResponse(apiUrl, {...requestOptionsPut(), body:JSON.stringify(position)});\n}\n\nasync function deletePosition(contextId, positionId) {\n const apiUrl = `${baseApiUrl}contexts/${contextId}/positions/${positionId}`;\n\n return await doRequestSimple(apiUrl, requestOptionsDelete());\n}","import counterpart from 'counterpart';\nimport { doRequestSimple, doRequestWithResponse } from '.';\nimport { baseApiUrl, requestOptionsDelete, requestOptionsGet, requestOptionsPost, requestOptionsPut } from '../_constants/emparkConstants';\n\nexport const rolesService = {\n getRoles,\n saveRole,\n editRole,\n deleteRole,\n getRoleClaims,\n saveRoleClaims,\n getRoleContexts,\n saveRoleContexts\n};\n\nasync function getRoles() {\n const apiUrl = `${baseApiUrl}roles`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function saveRole(role) {\n const apiUrl = `${baseApiUrl}roles`;\n\n return await doRequestWithResponse(apiUrl, {...requestOptionsPost(), body:JSON.stringify(role)});\n}\n\nasync function editRole(role) {\n const apiUrl = `${baseApiUrl}roles/${role.id}`;\n\n return await doRequestWithResponse(apiUrl, {...requestOptionsPut(), body:JSON.stringify(role)});\n}\n\nasync function deleteRole(roleId) {\n const apiUrl = `${baseApiUrl}roles/${roleId}`;\n\n return await doRequestSimple(apiUrl, {...requestOptionsDelete(counterpart.getLocale())});\n}\n\nasync function getRoleClaims(roleId, locale = 'en') {\n const apiUrl = `${baseApiUrl}roles/${roleId}/claims`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet(locale));\n}\n\nasync function saveRoleClaims(roleId, lstClaimIds) {\n const apiUrl = `${baseApiUrl}roles/${roleId}/claims`;\n\n return await doRequestSimple(apiUrl, {...requestOptionsPost(), body:JSON.stringify(lstClaimIds)});\n}\n\nasync function getRoleContexts(roleId, locale = 'en') {\n const apiUrl = `${baseApiUrl}roles/${roleId}/contexts`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet(locale));\n}\n\nasync function saveRoleContexts(roleId, lstContextIds) {\n const apiUrl = `${baseApiUrl}roles/${roleId}/contexts`;\n\n return await doRequestSimple(apiUrl, {...requestOptionsPost(), body:JSON.stringify(lstContextIds)});\n}","import { doRequestSimple, doRequestWithResponse } from '.';\nimport { baseApiUrl, requestOptionsDelete, requestOptionsGet, requestOptionsPost, requestOptionsPut } from '../_constants/emparkConstants';\n\nexport const schedulesService = {\n getSchedules,\n getSchedule,\n saveSchedule,\n editSchedule,\n deleteSchedule,\n duplicateSchedule\n};\n\n/* Schedules */\nasync function getSchedules(rateId) {\n const apiUrl = `${baseApiUrl}rates/${rateId}/schedules`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function getSchedule(rateId, scheduleId) {\n const apiUrl = `${baseApiUrl}rates/${rateId}/schedules/${scheduleId}`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function saveSchedule(rateId, schedule) {\n const apiUrl = `${baseApiUrl}rates/${rateId}/schedules`;\n\n return await doRequestWithResponse(apiUrl, { ...requestOptionsPost(), body: JSON.stringify(schedule) });\n}\n\nasync function editSchedule(rateId, schedule) {\n const apiUrl = `${baseApiUrl}rates/${rateId}/schedules/${schedule.id}`;\n\n return await doRequestWithResponse(apiUrl, { ...requestOptionsPut(), body: JSON.stringify(schedule) });\n}\n\nasync function deleteSchedule(rateId, scheduleId) {\n const apiUrl = `${baseApiUrl}rates/${rateId}/schedules/${scheduleId}`;\n\n return await doRequestSimple(apiUrl, requestOptionsDelete());\n}\n\nasync function duplicateSchedule(rateId, originalId, schedule) {\n const apiUrl = `${baseApiUrl}rates/${rateId}/schedules/${originalId}`;\n\n return await doRequestSimple(apiUrl, { ...requestOptionsPost(), body: JSON.stringify(schedule) });\n}","import { doRequestSimple, doRequestWithResponse } from '.';\nimport { baseApiUrl, requestOptionsDelete, requestOptionsGet, requestOptionsPost, requestOptionsPut } from '../_constants/emparkConstants';\n\nexport const specialDaysService = {\n getSpecialDays,\n getSpecialDay,\n saveSpecialDay,\n editSpecialDay,\n deleteSpecialDay,\n duplicate\n};\n\nasync function getSpecialDays(rateId) {\n const apiUrl = `${baseApiUrl}rates/${rateId}/special_days`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function getSpecialDay(rateId, specialDayId) {\n const apiUrl = `${baseApiUrl}rates/${rateId}/special_days/${specialDayId}`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function saveSpecialDay(rateId, specialDay) {\n const apiUrl = `${baseApiUrl}rates/${rateId}/special_days`;\n\n return await doRequestWithResponse(apiUrl, { ...requestOptionsPost(), body: JSON.stringify(specialDay) });\n}\n\nasync function editSpecialDay(rateId, specialDay) {\n const apiUrl = `${baseApiUrl}rates/${rateId}/special_days/${specialDay.id}`;\n\n return await doRequestWithResponse(apiUrl, { ...requestOptionsPut(), body: JSON.stringify(specialDay) });\n}\n\nasync function deleteSpecialDay(rateId, specialDayId) {\n const apiUrl = `${baseApiUrl}rates/${rateId}/special_days/${specialDayId}`;\n\n return await doRequestSimple(apiUrl, requestOptionsDelete());\n}\n\nasync function duplicate(rateId, specialDayId, specialDays) {\n const apiUrl = `${baseApiUrl}rates/${rateId}/special_days/${specialDayId}/duplicate`;\n\n return await doRequestSimple(apiUrl, { ...requestOptionsPost(), body: JSON.stringify(specialDays) });\n}\n\n","import { doRequestSimple, doRequestWithResponse } from '.';\nimport { baseApiUrl, requestOptionsDelete, requestOptionsGet, requestOptionsPost, requestOptionsPut } from '../_constants/emparkConstants';\nimport __t from '../locales'\n\nexport const usersService = {\n getUsers,\n saveUser,\n editUser,\n deleteUser,\n getUserContexts,\n saveUserContexts,\n getUserRole\n};\n\nasync function getUsers() {\n const apiUrl = `${baseApiUrl}users`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function saveUser(user) {\n const apiUrl = `${baseApiUrl}users`;\n\n return await doRequestWithResponse(apiUrl, {...requestOptionsPost(), body:JSON.stringify(user)});\n}\n\nasync function editUser(user) {\n const apiUrl = `${baseApiUrl}users/${user.id}`;\n\n return await doRequestWithResponse(apiUrl, {...requestOptionsPut(), body:JSON.stringify(user)});\n}\n\nasync function deleteUser(userId) {\n const apiUrl = `${baseApiUrl}users/${userId}`;\n\n return await doRequestSimple(apiUrl, requestOptionsDelete());\n}\n\nasync function getUserContexts(userId) {\n const apiUrl = `${baseApiUrl}users/${userId}/contexts`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function saveUserContexts(userId, lstContextIds) {\n const apiUrl = `${baseApiUrl}users/${userId}/contexts`;\n\n return await doRequestSimple(apiUrl, {...requestOptionsPost(), body:JSON.stringify(lstContextIds)});\n}\n\nasync function getUserRole() {\n const apiUrl = `${baseApiUrl}user-role`;\n\n const response = await fetch(apiUrl, requestOptionsGet());\n\n if(response.status === 401)\n throw __t('error_unauthorized_app'); \n\n return await response.json();\n}","import translate from '../locales';\nconst __t = translate;\n\nexport * from './parkingsListService';\nexport * from './parkingFaresService';\n\n\nexport * from './auditsService';\nexport * from './auxService';\nexport * from './channelsService';\nexport * from './commentsService';\nexport * from './contextsService';\nexport * from './disallowedPeriodsService';\nexport * from './freeDaysService';\nexport * from './historyService';\nexport * from './municipalitiesService';\nexport * from './paidPeriodsService';\nexport * from './parkingFaresService';\nexport * from './periodsService';\nexport * from './positionsService';\nexport * from './ratesService';\nexport * from './rolesService';\nexport * from './schedulesService';\nexport * from './specialDaysService';\nexport * from './usersService';\n\nexport async function doRequestWithResponse(apiUrl, requestOptions) {\n const response = await doRequest(apiUrl, requestOptions);\n\n return await response.json();\n}\n\nexport async function doRequestReturnStandard(apiUrl, requestOptions) {\n const response = await doRequest(apiUrl, requestOptions);\n\n return response;\n}\n\n\nexport async function doRequestSimple(apiUrl, requestOptions) {\n const response = await doRequest(apiUrl, requestOptions);\n\n return true;\n}\n\nasync function doRequest(apiUrl, requestOptions) {\n let response = null;\n try {\n response = await fetch(apiUrl, requestOptions);\n }\n catch (error) {\n if (error instanceof TypeError) {\n throw __t('error_connection');\n }\n\n throw __t('error_unexpected_contact_system_admin');\n }\n\n if (!response.ok) {\n /* Login expired */\n if (response.status === 401) {\n // window.localStorage.clear();\n\n // window.location.reload();\n }\n\n let err = await response.text();\n if (!err) {\n if (response.statusText)\n throw response.statusText;\n\n throw __t('error_unexpected_contact_system_admin')\n }\n\n try {\n err = JSON.parse(err);\n }\n catch (error) {\n console.log(error)\n }\n\n if (Array.isArray(err)) {\n throw err.map(e => __t(e)).join('\\n');\n }\n\n if (typeof err === 'object') {\n if (err.hasOwnProperty('errorCode'))\n throw err;\n\n if (err.hasOwnProperty('message'))\n throw __t(err.message);\n\n if (err.hasOwnProperty('type'))\n throw err.type;\n\n throw __t('error_unexpected_contact_system_admin');\n }\n\n throw __t(err);\n }\n\n return response;\n}\n\n/**\n * \n * @param {ReadableStreamDefaultReader} rdr \n * @param {*} callbackResult \n */\nexport async function readReader(rdr, callbackResult) {\n var r = await rdr.read();\n\n var done = r.done;\n \n if(!r.done) {\n const toStop = callbackResult(r.value);\n\n if(toStop)\n return;\n\n await readReader(rdr, callbackResult);\n }\n}\n\nexport function setDownloadLink(fileName, blob) {\n const url = window.URL.createObjectURL(blob);\n const link = document.createElement('a');\n link.href = url;\n link.setAttribute('download', fileName);\n document.body.appendChild(link);\n link.click();\n link.href = '';\n link.remove();\n window.URL.revokeObjectURL(url);\n}","import { doRequestWithResponse } from '.';\nimport { baseApiUrl, requestOptionsGet, requestOptionsPost } from '../_constants/emparkConstants';\n\nexport const auditsService = {\n getAudits,\n getContextAudits,\n getRateAudits,\n getAuditDetail\n};\n\nasync function getAudits(filter) {\n const apiUrl = `${baseApiUrl}audits`;\n\n return await doRequestWithResponse(apiUrl, {...requestOptionsPost(), body: JSON.stringify(filter)});\n}\n\nasync function getContextAudits(contextId) {\n const apiUrl = `${baseApiUrl}audits/contexts/${contextId}`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function getRateAudits(rateId) {\n const apiUrl = `${baseApiUrl}audits/rates/${rateId}`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}\n\nasync function getAuditDetail(id) {\n const apiUrl = `${baseApiUrl}audits/${id}`;\n\n return await doRequestWithResponse(apiUrl, requestOptionsGet());\n}","\nimport { auditsService } from '../services/auditsService';\nimport translate from '../locales';\n\nconst __t = translate;\n\nexport const AUDITS_CHANGE_MODE = \"AUDITS_CHANGE_MODE\";\nexport const AUDITS_SET_ERROR = \"AUDITS_SET_ERROR\";\n\nexport const AUDITS_BEGIN = \"AUDITS_BEGIN\";\nexport const AUDITS_FAILURE = \"AUDITS_FAILURE\";\nexport const FETCH_AUDITS_SUCCESS = \"FETCH_DAYS_SUCCESS\";\nexport const FETCH_DETAIL_SUCCESS = \"FETCH_DETAIL_SUCCESS\";\n\nexport const auditsActions = {\n changeMode,\n fetchAudits,\n fetchContextAudits,\n fetchRateAudits,\n fetchDetail,\n setError,\n}\n\nfunction changeMode(mode, id) {\n return function(dispatch) {\n dispatch({\n type:AUDITS_CHANGE_MODE,\n payload: {\n mode: mode,\n id: id\n }\n });\n }\n}\n\nfunction setError(error) {\n return function(dispatch) {\n dispatch({\n type:AUDITS_SET_ERROR,\n payload: {\n error: error\n }\n });\n }\n}\n\nfunction fetchAudits(filter) {\n return async function(dispatch) {\n try {\n dispatch({\n type:AUDITS_BEGIN\n })\n\n var audits = await auditsService.getAudits(filter);\n\n dispatch({\n type:FETCH_AUDITS_SUCCESS,\n payload: {\n audits:audits\n }\n })\n }\n catch(error) {\n dispatch(setError(error));\n }\n }\n}\n\nfunction fetchContextAudits(contextId) {\n return async function(dispatch) {\n try {\n dispatch({\n type:AUDITS_BEGIN\n })\n\n var audits = await auditsService.getContextAudits(contextId);\n\n dispatch({\n type:FETCH_AUDITS_SUCCESS,\n payload: {\n audits:audits\n }\n })\n }\n catch(error) {\n dispatch(setError(error));\n }\n }\n}\n\nfunction fetchRateAudits(rateId) {\n return async function(dispatch) {\n try {\n dispatch({\n type:AUDITS_BEGIN\n })\n\n var audits = await auditsService.getRateAudits(rateId);\n\n dispatch({\n type:FETCH_AUDITS_SUCCESS,\n payload: {\n audits:audits\n }\n })\n }\n catch(error) {\n dispatch(setError(error));\n }\n }\n}\n\nfunction fetchDetail(auditId) {\n return async function(dispatch) {\n try {\n dispatch({\n type:AUDITS_BEGIN\n })\n\n var audit = await auditsService.getAuditDetail(auditId);\n\n dispatch({\n type:FETCH_DETAIL_SUCCESS,\n payload: {\n audit:audit\n }\n })\n }\n catch(error) {\n dispatch(setError(error));\n }\n }\n}\n","import {\n AUDITS_CHANGE_MODE,\n AUDITS_SET_ERROR,\n AUDITS_BEGIN,\n AUDITS_FAILURE,\n FETCH_AUDITS_SUCCESS,\n FETCH_DETAIL_SUCCESS,\n} from '../actions/auditsActions';\nimport { pageModes } from '../_constants/emparkConstants';\n\nconst initialState = {\n audits: [],\n audit: null,\n hasFetchedAudits: false,\n hasFetchedDetail: false,\n loading:false,\n error:null,\n router: {\n mode:pageModes.list\n }\n}\n\nexport function auditsReducer(state = initialState, action) {\n switch (action.type) {\n case AUDITS_CHANGE_MODE:\n return {\n ...state,\n router: action.payload,\n error:null\n };\n case AUDITS_SET_ERROR:\n return {\n ...state,\n error: action.payload.error,\n loading:false,\n }\n case AUDITS_BEGIN:\n return {\n ...state,\n loading: true,\n error: null\n };\n case FETCH_AUDITS_SUCCESS:\n return {\n ...state,\n loading: false,\n audits: action.payload.audits,\n hasFetchedAudits:true,\n error: null,\n };\n case FETCH_DETAIL_SUCCESS:\n return {\n ...state,\n loading: false,\n audit: action.payload.audit,\n hasFetchedDetail:true,\n error:null,\n router: {\n mode:pageModes.view,\n id: action.payload.audit.id\n }\n };\n default:\n return state;\n }\n}\n\n","\nimport { auxService } from '../services/auxService';\nimport translate from '../locales';\n\nconst __t = translate;\n\nexport const CHANGE_MODE = \"CHANGE_MODE\";\nexport const AUX_SET_ERROR = \"AUX_SET_ERROR\";\n\nexport const FETCH_DAYS_BEGIN = \"FETCH_DAYS_BEGIN\";\nexport const FETCH_DAYS_SUCCESS = \"FETCH_DAYS_SUCCESS\";\nexport const FETCH_DAYS_FAILURE = \"FETCH_DAYS_FAILURE\";\n\nexport const SEND_DAYS_BEGIN = \"SEND_DAYS_BEGIN\";\nexport const SEND_DAYS_SUCCESS = \"SEND_DAYS_SUCCESS\";\nexport const SEND_DAYS_FAILURE = \"SEND_DAYS_FAILURE\";\n\nexport const FETCH_HOURS_BEGIN = \"FETCH_HOURS_BEGIN\";\nexport const FETCH_HOURS_SUCCESS = \"FETCH_HOURS_SUCCESS\";\nexport const FETCH_HOURS_FAILURE = \"FETCH_HOURS_FAILURE\";\n\nexport const SEND_HOURS_BEGIN = \"SEND_HOURS_BEGIN\";\nexport const SEND_HOURS_SUCCESS = \"SEND_HOURS_SUCCESS\";\nexport const SEND_HOURS_FAILURE = \"SEND_HOURS_FAILURE\";\n\nexport const FETCH_USES_BEGIN = \"FETCH_USES_BEGIN\";\nexport const FETCH_USES_SUCCESS = \"FETCH_USES_SUCCESS\";\nexport const FETCH_USES_FAILURE = \"FETCH_USES_FAILURE\";\n\nexport const SEND_USES_BEGIN = \"SEND_USES_BEGIN\";\nexport const SEND_USES_SUCCESS = \"SEND_USES_SUCCESS\";\nexport const SEND_USES_FAILURE = \"SEND_USES_FAILURE\";\n\nexport const FETCH_TLCM_BEGIN = \"FETCH_TLCM_BEGIN\";\nexport const FETCH_TLCM_SUCCESS = \"FETCH_TLCM_SUCCESS\";\nexport const FETCH_TLCM_FAILURE = \"FETCH_TLCM_FAILURE\";\n\nexport const SEND_TLCM_BEGIN = \"SEND_TLCM_BEGIN\";\nexport const SEND_TLCM_SUCCESS = \"SEND_TLCM_SUCCESS\";\nexport const SEND_TLCM_FAILURE = \"SEND_TLCM_FAILURE\";\n\nexport const FETCH_CLAIMS_BEGIN = \"FETCH_CLAIMS_BEGIN\";\nexport const FETCH_CLAIMS_SUCCESS = \"FETCH_CLAIMS_SUCCESS\";\nexport const FETCH_CLAIMS_FAILURE = \"FETCH_CLAIMS_FAILURE\";\n\nexport const auxActions = {\n changeMode,\n fetchDays,\n sendDays,\n fetchHours,\n sendHours,\n fetchUses,\n sendUses,\n fetchTlcm,\n sendTlcm,\n setError,\n fetchClaims\n}\n\nfunction changeMode(mode) {\n return function(dispatch) {\n dispatch({\n type:CHANGE_MODE,\n payload: {\n mode: mode\n }\n });\n }\n}\n\nfunction setError(error) {\n return function(dispatch) {\n dispatch({\n type:AUX_SET_ERROR,\n payload: {\n error: error\n }\n });\n }\n}\n\nfunction fetchDays() {\n return async function(dispatch) {\n try {\n dispatch({\n type:FETCH_DAYS_BEGIN\n })\n\n var days = await auxService.getDays();\n\n dispatch({\n type:FETCH_DAYS_SUCCESS,\n payload: {\n days:days\n }\n })\n }\n catch(error) {\n dispatch({\n type:FETCH_DAYS_FAILURE,\n payload: {\n error: error\n }\n })\n }\n }\n}\n\nfunction sendDays(days) {\n return async function(dispatch) {\n try {\n dispatch({\n type:SEND_DAYS_BEGIN\n });\n\n var lstDays = await auxService.saveDays(days);\n\n dispatch({\n type:SEND_DAYS_SUCCESS,\n payload: {\n days:lstDays\n }\n })\n }\n catch(error) {\n dispatch({\n type:SEND_DAYS_FAILURE,\n payload: {\n error: error\n }\n })\n }\n }\n}\n\nfunction fetchHours() {\n return async function(dispatch) {\n try {\n dispatch({\n type:FETCH_HOURS_BEGIN\n })\n\n var hours = await auxService.getHours();\n\n dispatch({\n type:FETCH_HOURS_SUCCESS,\n payload: {\n hours:hours\n }\n })\n }\n catch(error) {\n dispatch({\n type:FETCH_HOURS_FAILURE,\n payload: {\n error: error\n }\n })\n }\n }\n}\n\nfunction sendHours(hours) {\n return async function(dispatch) {\n try {\n dispatch({\n type:SEND_HOURS_BEGIN\n });\n\n var lstHours = await auxService.saveHours(hours);\n\n dispatch({\n type:SEND_HOURS_SUCCESS,\n payload: {\n hours:lstHours\n }\n })\n }\n catch(error) {\n dispatch({\n type:SEND_HOURS_FAILURE,\n payload: {\n error: error\n }\n })\n }\n }\n}\n\nfunction fetchUses() {\n return async function(dispatch) {\n try {\n dispatch({\n type:FETCH_USES_BEGIN\n })\n\n var uses = await auxService.getUses();\n\n dispatch({\n type:FETCH_USES_SUCCESS,\n payload: {\n uses:uses\n }\n })\n }\n catch(error) {\n dispatch({\n type:FETCH_USES_FAILURE,\n payload: {\n error: error\n }\n })\n }\n }\n}\n\nfunction sendUses(uses) {\n return async function(dispatch) {\n try {\n dispatch({\n type:SEND_USES_BEGIN\n })\n\n var lstUses = await auxService.saveUses(uses);\n\n dispatch({\n type:SEND_USES_SUCCESS,\n payload: {\n uses:lstUses\n }\n })\n }\n catch(error) {\n dispatch({\n type:SEND_USES_FAILURE,\n payload: {\n error: error\n }\n })\n }\n }\n}\n\nfunction fetchTlcm() {\n return async function(dispatch) {\n try {\n dispatch({\n type:FETCH_TLCM_BEGIN\n })\n\n var tlcm = await auxService.getTlcm();\n\n dispatch({\n type:FETCH_TLCM_SUCCESS,\n payload: {\n tlcm:tlcm\n }\n })\n }\n catch(error) {\n dispatch({\n type:FETCH_TLCM_FAILURE,\n payload: {\n error: error\n }\n })\n }\n }\n}\n\nfunction sendTlcm(tlcm) {\n return async function(dispatch) {\n try {\n dispatch({\n type:SEND_TLCM_BEGIN\n })\n\n var lstTlcm = await auxService.saveTlcm(tlcm);\n\n dispatch({\n type:SEND_TLCM_SUCCESS,\n payload: {\n tlcm:lstTlcm\n }\n })\n }\n catch(error) {\n dispatch({\n type:SEND_TLCM_FAILURE,\n payload: {\n error: error\n }\n })\n }\n }\n}\n\nfunction fetchClaims() {\n return async function(dispatch, getState) {\n try {\n dispatch({\n type:FETCH_CLAIMS_BEGIN\n });\n\n const locale = getState().locales.current;\n\n var lstClaims = await auxService.getClaims(locale);\n\n dispatch({\n type:FETCH_CLAIMS_SUCCESS,\n payload: {\n claims:lstClaims\n }\n })\n }\n catch(error) {\n dispatch({\n type:FETCH_CLAIMS_FAILURE,\n payload: {\n error: error\n }\n })\n }\n }\n}","import {\n FETCH_DAYS_BEGIN,\n FETCH_DAYS_SUCCESS,\n FETCH_DAYS_FAILURE,\n SEND_DAYS_BEGIN,\n SEND_DAYS_SUCCESS,\n SEND_DAYS_FAILURE,\n FETCH_HOURS_BEGIN,\n FETCH_HOURS_SUCCESS,\n FETCH_HOURS_FAILURE,\n SEND_HOURS_BEGIN,\n SEND_HOURS_SUCCESS,\n SEND_HOURS_FAILURE,\n FETCH_USES_BEGIN,\n FETCH_USES_SUCCESS,\n FETCH_USES_FAILURE,\n SEND_USES_BEGIN,\n SEND_USES_SUCCESS,\n SEND_USES_FAILURE,\n FETCH_TLCM_BEGIN,\n FETCH_TLCM_SUCCESS,\n FETCH_TLCM_FAILURE,\n SEND_TLCM_BEGIN,\n SEND_TLCM_SUCCESS,\n SEND_TLCM_FAILURE,\n CHANGE_MODE,\n AUX_SET_ERROR,\n FETCH_CLAIMS_BEGIN,\n FETCH_CLAIMS_FAILURE,\n FETCH_CLAIMS_SUCCESS\n} from '../actions/auxActions';\nimport { pageModes } from '../_constants/emparkConstants';\n\nconst initialState = {\n days: [],\n hours: [],\n tlcm: [],\n uses: [],\n claims: [],\n loading:false,\n saved:null,\n error:null,\n mode:pageModes.list\n}\n\nexport function auxReducer(state = initialState, action) {\n switch (action.type) {\n case CHANGE_MODE:\n return {\n ...state,\n mode: action.payload.mode,\n error:null\n };\n case AUX_SET_ERROR:\n return {\n ...state,\n error: action.payload.error\n }\n case FETCH_DAYS_BEGIN:\n case SEND_DAYS_BEGIN:\n case FETCH_HOURS_BEGIN:\n case SEND_HOURS_BEGIN:\n case FETCH_USES_BEGIN:\n case SEND_USES_BEGIN:\n case FETCH_TLCM_BEGIN:\n case SEND_TLCM_BEGIN:\n case FETCH_CLAIMS_BEGIN:\n return {\n ...state,\n loading: true,\n error: null\n };\n /* DAYS */\n case FETCH_DAYS_SUCCESS:\n return {\n ...state,\n loading: false,\n days: action.payload.days,\n errror: null\n };\n case FETCH_DAYS_FAILURE:\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n days: []\n };\n case SEND_DAYS_SUCCESS:\n return {\n ...state,\n loading: false,\n days: action.payload.days,\n mode:pageModes.list,\n errror: null\n };\n case SEND_DAYS_FAILURE:\n return {\n ...state,\n loading: false,\n error: action.payload.error\n };\n /* HOURS */\n case FETCH_HOURS_SUCCESS:\n return {\n ...state,\n loading: false,\n hours: action.payload.hours,\n errror: null\n };\n case FETCH_HOURS_FAILURE:\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n hours: []\n };\n case SEND_HOURS_SUCCESS:\n return {\n ...state,\n loading: false,\n hours: action.payload.hours,\n mode:pageModes.list,\n error:null\n };\n case SEND_HOURS_FAILURE:\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n };\n /* USES */\n case FETCH_USES_SUCCESS:\n return {\n ...state,\n loading: false,\n uses: action.payload.uses,\n errror: null\n };\n case FETCH_USES_FAILURE:\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n uses: []\n };\n case SEND_USES_SUCCESS:\n return {\n ...state,\n loading: false,\n uses: action.payload.uses,\n mode:pageModes.list,\n error:null\n };\n case SEND_USES_FAILURE:\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n };\n /* TLCM */\n case FETCH_TLCM_SUCCESS:\n return {\n ...state,\n loading: false,\n tlcm: action.payload.tlcm,\n errror: null\n };\n case FETCH_TLCM_FAILURE:\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n tlcm: []\n };\n case SEND_TLCM_SUCCESS:\n return {\n ...state,\n loading: false,\n tlcm: action.payload.tlcm,\n mode:pageModes.list,\n error:null\n };\n case SEND_TLCM_FAILURE:\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n };\n case FETCH_CLAIMS_SUCCESS:\n return {\n ...state,\n loading: false,\n claims: action.payload.claims,\n error:null\n };\n case FETCH_CLAIMS_FAILURE:\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n };\n default:\n return state;\n }\n}\n\n","\nimport { channelsService } from '../services/channelsService';\nimport translate from '../locales';\n\nconst __t = translate;\n\nexport const CHANNELS_CHANGE_MODE = \"CHANNELS_CHANGE_MODE\";\nexport const CHANNELS_SET_ERROR = \"CHANNELS_SET_ERROR\";\n\nexport const FETCH_CHANNELS_BEGIN = \"FETCH_CHANNELS_BEGIN\";\nexport const FETCH_CHANNELS_SUCCESS = \"FETCH_CHANNELS_SUCCESS\";\nexport const FETCH_CHANNELS_FAILURE = \"FETCH_CHANNELS_FAILURE\";\nexport const SEND_CHANNEL_BEGIN = \"SEND_CHANNEL_BEGIN\";\nexport const CREATE_CHANNEL_SUCCESS = \"CREATE_CHANNEL_SUCCESS\";\nexport const EDIT_CHANNEL_SUCCESS = \"EDIT_CHANNEL_SUCCESS\";\nexport const DELETE_CHANNEL_SUCCESS = \"DELETE_CHANNEL_SUCCESS\";\nexport const SEND_CHANNEL_FAILURE = \"SEND_CHANNEL_FAILURE\";\n\nexport const channelsActions = {\n changeMode,\n fetchChannels,\n sendChannel,\n setError,\n deleteChannel\n}\n\nfunction changeMode(mode, id) {\n return function(dispatch) {\n dispatch({\n type:CHANNELS_CHANGE_MODE,\n payload: {\n mode:mode,\n id:id\n }\n });\n }\n}\n\nfunction setError(error) {\n return function(dispatch) {\n dispatch({\n type:CHANNELS_SET_ERROR,\n payload: {\n error: error\n }\n });\n }\n}\n\nfunction fetchChannels(forceFetch = false) {\n return async function(dispatch, getState) {\n try {\n const { hasFetched } = getState().channelsReducer;\n if(!forceFetch && hasFetched)\n return;\n\n dispatch({\n type:FETCH_CHANNELS_BEGIN\n });\n\n var channels = await channelsService.getChannels();\n\n dispatch({\n type:FETCH_CHANNELS_SUCCESS,\n payload: {\n channels:channels\n }\n });\n }\n catch(error) {\n dispatch({\n type:FETCH_CHANNELS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction sendChannel(channel) {\n return async function(dispatch) {\n try {\n dispatch({\n type:SEND_CHANNEL_BEGIN\n });\n\n if(channel.id) {\n await channelsService.editChannel(channel);\n\n dispatch({\n type:EDIT_CHANNEL_SUCCESS,\n payload: {\n channel:channel\n }\n });\n }\n else{\n const c = await channelsService.saveChannel(channel);\n\n dispatch({\n type:CREATE_CHANNEL_SUCCESS,\n payload: {\n channel:c\n }\n });\n }\n\n dispatch(fetchChannels(true));\n }\n catch(error) {\n dispatch({\n type:SEND_CHANNEL_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction deleteChannel(channelId) {\n return async function(dispatch) {\n try {\n dispatch({\n type:SEND_CHANNEL_BEGIN\n });\n\n await channelsService.deleteChannel(channelId);\n\n dispatch({\n type:DELETE_CHANNEL_SUCCESS\n });\n\n dispatch(fetchChannels(true));\n }\n catch(error) {\n dispatch({\n type:SEND_CHANNEL_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}","import {\n FETCH_CHANNELS_BEGIN,\n FETCH_CHANNELS_SUCCESS,\n FETCH_CHANNELS_FAILURE,\n SEND_CHANNEL_BEGIN,\n CREATE_CHANNEL_SUCCESS,\n SEND_CHANNEL_FAILURE,\n EDIT_CHANNEL_SUCCESS,\n CHANNELS_CHANGE_MODE,\n CHANNELS_SET_ERROR,\n DELETE_CHANNEL_SUCCESS\n} from '../actions/channelsActions';\n\nimport {\n pageModes\n} from '../_constants/emparkConstants'\n\nconst initialState = {\n channels: [],\n loading:false,\n saved:null,\n error:null,\n hasFetched:false,\n router: {\n mode:pageModes.list,\n id:0\n }\n}\n\nexport function channelsReducer(state = initialState, action) {\n switch (action.type) {\n case CHANNELS_CHANGE_MODE:\n return {\n ...state,\n router: {\n mode:action.payload.mode,\n id:action.payload.id\n },\n error:null\n };\n case CHANNELS_SET_ERROR:\n return {\n ...state,\n error:action.payload.error\n };\n case FETCH_CHANNELS_BEGIN:\n return {\n ...state,\n loading: true,\n error: null,\n hasFetched:false\n };\n case FETCH_CHANNELS_SUCCESS:\n return {\n ...state,\n loading: false,\n channels: action.payload.channels,\n hasFetched:true\n };\n case FETCH_CHANNELS_FAILURE:\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n channels: [],\n hasFetched:false\n };\n case SEND_CHANNEL_BEGIN:\n return {\n ...state,\n loading: true,\n error: null\n };\n case CREATE_CHANNEL_SUCCESS: \n return {\n ...state,\n loading: false,\n channels: [...state.channels, action.payload.channel ],\n hasFetched:false,\n error:null,\n router: {\n mode:pageModes.list\n }\n };\n case EDIT_CHANNEL_SUCCESS:\n return {\n ...state,\n loading: false,\n hasFetched:false,\n error:null,\n router: {\n mode:pageModes.list\n }\n };\n case SEND_CHANNEL_FAILURE:\n return {\n ...state,\n loading: false,\n error: action.payload.error\n };\n case DELETE_CHANNEL_SUCCESS:\n return {\n ...state,\n loading: false,\n error: null,\n hasFetched:false,\n pageModes:pageModes.list\n };\n default:\n return state;\n }\n}\n\n","import {\n FETCH_COMMENTS_BEGIN,\n FETCH_COMMENTS_SUCCESS,\n FETCH_COMMENTS_FAILURE,\n SEND_COMMENT_BEGIN,\n CREATE_COMMENT_SUCCESS,\n SEND_COMMENT_FAILURE,\n EDIT_COMMENT_SUCCESS,\n COMMENTS_CHANGE_MODE,\n COMMENTS_SET_ERROR,\n DELETE_COMMENT_SUCCESS,\n COMMENTS_SET_MODAL_ERROR,\n COMMENTS_SET_MODAL_OPEN,\n RESET_COMMENTS\n} from '../actions/commentsActions';\n\nimport {\n pageModes\n} from '../_constants/emparkConstants'\n\nconst initialState = {\n comments: [],\n loading: false,\n saved: null,\n error: null,\n hasFetched: false,\n router: {\n mode: pageModes.list,\n id: 0\n },\n modalOpen: false,\n modalLoading: false,\n modalError: null\n}\n\nexport function commentsReducer(state = initialState, action) {\n switch (action.type) {\n case COMMENTS_CHANGE_MODE:\n return {\n ...state,\n router: {\n mode: action.payload.mode,\n id: action.payload.id\n },\n error: null\n };\n case COMMENTS_SET_ERROR:\n return {\n ...state,\n error: action.payload.error\n };\n case COMMENTS_SET_MODAL_ERROR:\n return {\n ...state,\n modalError: action.payload.error\n };\n case COMMENTS_SET_MODAL_OPEN:\n return {\n ...state,\n modalOpen: action.payload.modalOpen\n }\n case FETCH_COMMENTS_BEGIN:\n return {\n ...state,\n loading: true,\n error: null,\n hasFetched: false\n };\n case FETCH_COMMENTS_SUCCESS:\n return {\n ...state,\n loading: false,\n comments: action.payload.comments,\n hasFetched: true\n };\n case FETCH_COMMENTS_FAILURE:\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n hasFetched: false\n };\n case SEND_COMMENT_BEGIN:\n return {\n ...state,\n modalLoading: true,\n modalError: null\n };\n case CREATE_COMMENT_SUCCESS:\n return {\n ...state,\n modalOpen: false,\n modalLoading: false,\n comments: [...state.comments, action.payload.comment],\n hasFetched: false,\n modalError: null,\n router: {\n mode: pageModes.list\n }\n };\n case EDIT_COMMENT_SUCCESS:\n return {\n ...state,\n modalOpen: false,\n modalLoading: false,\n hasFetched: false,\n modalError: null,\n router: {\n mode: pageModes.list\n }\n };\n case SEND_COMMENT_FAILURE:\n return {\n ...state,\n modalLoading: false,\n modalError: action.payload.error\n };\n case DELETE_COMMENT_SUCCESS:\n return {\n ...state,\n loading: false,\n error: null,\n hasFetched: false,\n pageModes: pageModes.list\n };\n case RESET_COMMENTS:\n return {\n ...state,\n hasFetched: false,\n comments:[]\n }\n default:\n return state;\n }\n}\n\n","import {\n CONTEXTS_CHANGE_MODE,\n CONTEXTS_SET_ERROR, CONTEXTS_SET_ERROR_MFL, CONTEXTS_SET_TAB_DISPLAY, CONTEXT_DETAIL_BEGIN,\n CONTEXT_DETAIL_FAILURE, CONTEXT_SET_AS_DRAFT, CONTEXT_SET_CHECKED_VERSION,\n CONTEXT_SET_NOT_CHECKED_VERSION, CREATE_CONTEXT_SUCCESS, DELETE_CONTEXT_SUCCESS, EDIT_CONTEXT_SUCCESS, FETCH_CONTEXTS_BEGIN, FETCH_CONTEXTS_FAILURE, FETCH_CONTEXTS_SUCCESS, FETCH_CONTEXT_DETAIL_SUCCESS, SEND_CONTEXT_BEGIN, SEND_CONTEXT_FAILURE,\n UPDATE_CENTERS_STATUS, SET_CONTEXT_DETAIL, SET_CONTEXT_DETAIL_UNSYNC, CONTEXT_SAP_CODE_STATE, CONTEXT_SAP_CODE_EDIT_CONTEXT, CONTEXT_EXPORT_PREBOOK, CONTEXT_PREBOOKS_STATE, SET_CONTEXTS_ALL, SET_CONTEXT_TABLE\n} from '../actions/contextsActions';\nimport {\n pageModes, tabDisplays\n} from '../_constants/emparkConstants';\n\nconst initialState = {\n contexts: [],\n context: null,\n hasCheckedVersion: false,\n loading: false,\n error: null,\n errorMfl: null,\n hasFetched: false,\n hasFetchedDetail: false,\n tabDisplay: tabDisplays.index,\n router: {\n mode: pageModes.list,\n id: 0\n },\n status: null,\n sapCodeState: {\n loading: false,\n error: null\n },\n exportPrebook: {\n open: false,\n error: null,\n loading: false\n },\n prebooksState: {\n error: null,\n loading: false\n },\n contextsAll:[],\n table: {\n order: 'asc',\n orderBy: '',\n page: 0,\n rowsPerPage: 50\n }\n}\n\nexport function contextsReducer(state = initialState, action) {\n switch (action.type) {\n case CONTEXT_SAP_CODE_STATE:\n return {\n ...state,\n sapCodeState: action.payload,\n };\n case CONTEXT_SAP_CODE_EDIT_CONTEXT:\n {\n const contexts = state.contexts.map(c => {\n if (c.id == action.payload.id)\n c.sapCode = action.payload.sapCode;\n\n return c;\n })\n\n return {\n ...state,\n contexts: contexts,\n };\n }\n case CONTEXTS_CHANGE_MODE:\n return {\n ...state,\n router: {\n mode: action.payload.mode,\n id: action.payload.id\n },\n error: null\n };\n case CONTEXTS_SET_TAB_DISPLAY:\n return {\n ...state,\n tabDisplay: action.payload.tabDisplay,\n };\n case CONTEXTS_SET_ERROR:\n return {\n ...state,\n error: action.payload.error\n };\n case CONTEXTS_SET_ERROR_MFL:\n return {\n ...state,\n errorMfl: action.payload.error,\n loading: false,\n hasCheckedVersion: true\n };\n case SET_CONTEXT_DETAIL:\n return {\n ...state,\n context: action.payload.context\n };\n case SET_CONTEXT_DETAIL_UNSYNC:\n let context = state.context;\n context.unsyncWithMfl = true;\n\n return {\n ...state,\n context: context\n };\n case FETCH_CONTEXTS_BEGIN:\n return {\n ...state,\n loading: true,\n error: null,\n hasFetched: false\n };\n case FETCH_CONTEXTS_SUCCESS:\n return {\n ...state,\n loading: false,\n contexts: action.payload.contexts,\n hasFetched: true,\n };\n case FETCH_CONTEXTS_FAILURE:\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n hasFetched: false\n };\n case SEND_CONTEXT_BEGIN:\n return {\n ...state,\n loading: true,\n error: null\n };\n case CREATE_CONTEXT_SUCCESS:\n let contexts = [...state.contexts, action.payload.context];\n contexts.sort((a, b) => {\n return a.name.localeCompare(b.name);\n });\n\n return {\n ...state,\n loading: false,\n contexts: contexts,\n hasFetched: false,\n error: null,\n router: {\n mode: pageModes.list\n }\n };\n case EDIT_CONTEXT_SUCCESS:\n return {\n ...state,\n loading: false,\n hasFetched: false,\n error: null,\n router: {\n mode: pageModes.list\n }\n };\n case SEND_CONTEXT_FAILURE:\n return {\n ...state,\n loading: false,\n error: action.payload.error\n };\n case DELETE_CONTEXT_SUCCESS:\n return {\n ...state,\n loading: false,\n error: null,\n hasFetched: false,\n pageModes: pageModes.list\n };\n case CONTEXT_SET_CHECKED_VERSION:\n return {\n ...state,\n loading: false,\n hasCheckedVersion: true\n };\n case CONTEXT_SET_NOT_CHECKED_VERSION:\n return {\n ...state,\n hasCheckedVersion: false\n };\n case CONTEXT_DETAIL_BEGIN:\n return {\n ...state,\n loading: true,\n error: false,\n hasFetchedDetail: false\n };\n case CONTEXT_DETAIL_BEGIN:\n return {\n ...state,\n loading: true,\n error: false,\n hasFetchedDetail: false\n };\n case CONTEXT_DETAIL_FAILURE:\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n hasFetchedDetail: false\n };\n case FETCH_CONTEXT_DETAIL_SUCCESS:\n let c = [...state.contexts.filter(c => c.id != action.payload.context.id), action.payload.context];\n c.sort((a, b) => {\n return a.name.localeCompare(b.name);\n });\n\n return {\n ...state,\n loading: false,\n error: null,\n context: action.payload.context,\n contexts: c\n };\n case CONTEXT_SET_AS_DRAFT: {\n if (!state.context)\n return state;\n\n const context = {\n ...state.context,\n isDraft: true\n };\n\n return {\n ...state,\n context: context,\n contexts: state.contexts.map(c => c.id == state.context.id ? context : c)\n }\n }\n case UPDATE_CENTERS_STATUS: {\n return {\n ...state,\n status: action.payload.status\n }\n }\n case CONTEXT_EXPORT_PREBOOK: {\n return {\n ...state,\n exportPrebook: {...state.exportPrebook,...action.payload}\n }\n }\n case CONTEXT_PREBOOKS_STATE: {\n return {\n ...state,\n prebooksState: {...state.prebooksState,...action.payload}\n }\n }\n case SET_CONTEXTS_ALL: {\n return {\n ...state,\n contextsAll: action.payload\n }\n }\n case SET_CONTEXT_TABLE: {\n return {\n ...state,\n table: action.payload\n }\n }\n default:\n return state;\n }\n}\n\n","import { \n DISALLOWED_PERIODS_CHANGE_MODE,\n DISALLOWED_PERIODS_BEGIN,\n FETCH_DISALLOWED_PERIODS_SUCCESS,\n CREATE_DISALLOWED_PERIODS_SUCCESS,\n EDIT_DISALLOWED_PERIODS_SUCCESS,\n DELETE_DISALLOWED_PERIODS_SUCCESS,\n DISALLOWED_PERIODS_FAILURE,\n DISALLOWED_PERIODS_SET_ERROR\n} from '../actions/disallowedPeriodsActions'\nimport { pageModes } from '../_constants/emparkConstants'\n\nconst initialState = {\n disallowedPeriods: {\n rate: [],\n context: [],\n municipality: []\n },\n reference:null,\n referenceId:'',\n loading:false,\n error:null,\n hasFetched:false,\n router: {\n mode:pageModes.list,\n id:0\n }\n}\n\nexport function disallowedPeriodsReducer(state = initialState, action) {\n switch (action.type) {\n case DISALLOWED_PERIODS_CHANGE_MODE:\n return {\n ...state,\n router: action.payload,\n error:null\n }\n case DISALLOWED_PERIODS_BEGIN:\n return {\n ...state,\n loading:true,\n error:null\n }\n case DISALLOWED_PERIODS_SET_ERROR:\n return {\n ...state,\n error:action.payload.error\n };\n case FETCH_DISALLOWED_PERIODS_SUCCESS:\n return {\n ...state,\n disallowedPeriods:action.payload.disallowedPeriods,\n reference:action.payload.reference,\n referenceId:action.payload.referenceId,\n loading:false,\n error:null\n }\n case CREATE_DISALLOWED_PERIODS_SUCCESS:\n case EDIT_DISALLOWED_PERIODS_SUCCESS:\n return {\n ...state,\n loading:false,\n error:null,\n router: {\n mode:pageModes.list,\n id:0\n }\n }\n case DELETE_DISALLOWED_PERIODS_SUCCESS:\n return {\n ...state,\n loading:false,\n error:null,\n hasFetched:true,\n router: {\n mode:pageModes.list,\n id:0\n }\n }\n case DISALLOWED_PERIODS_FAILURE:\n return {\n ...state,\n loading:false,\n error:action.payload.error\n }\n default:\n return state;\n }\n}\n// import {\n// FETCH_SPECIALDAYS_BEGIN,\n// FETCH_SPECIALDAYS_SUCCESS,\n// FETCH_SPECIALDAYS_FAILURE,\n// CREATE_SPECIALDAY_BEGIN,\n// CREATE_SPECIALDAY_SUCCESS,\n// CREATE_SPECIALDAY_FAILURE,\n// SAVE_SPECIALDAY_BEGIN,\n// SAVE_SPECIALDAY_SUCCESS,\n// SAVE_SPECIALDAY_FAILURE,\n// DELETE_SPECIALDAY_BEGIN,\n// DELETE_SPECIALDAY_SUCCESS,\n// DELETE_SPECIALDAY_FAILURE,\n// GET_SPECIALDAY_BEGIN,\n// GET_SPECIALDAY_SUCCESS,\n// GET_SPECIALDAY_FAILURE,\n// } from '../actions/disallowedPeriodsActions';\n\n// const initialState = {\n// items: [],\n// editFareObject: {\n// id: '',\n// name: '',\n// description: '',\n// fromDate: '',\n// toDate: '',\n// },\n// editDialog: false,\n// editDialogLoading: false,\n// editDialogError: null,\n// loading: false,\n// error: null\n// }\n\n// export function disallowedPeriodsReducer(state = initialState, action) {\n// switch (action.type) {\n// case FETCH_SPECIALDAYS_BEGIN:\n// return {\n// ...state,\n// loading: true,\n// error: null\n// };\n// case FETCH_SPECIALDAYS_SUCCESS:\n// return {\n// ...state,\n// loading: false,\n// items: action.payload.items\n// };\n// case FETCH_SPECIALDAYS_FAILURE:\n// return {\n// ...state,\n// loading: false,\n// error: action.payload.error,\n// items: []\n// };\n\n// case GET_SPECIALDAY_BEGIN:\n// return {\n// ...state,\n// editDialogLoading: true,\n// error: null\n// };\n// case GET_SPECIALDAY_SUCCESS:\n// return {\n// ...state,\n// editDialogLoading: false,\n// items: action.payload.items\n// };\n// case GET_SPECIALDAY_FAILURE:\n// return {\n// ...state,\n// editDialogLoading: false,\n// error: action.payload.error,\n// items: []\n// };\n\n// case CREATE_SPECIALDAY_BEGIN:\n// return {\n// ...state,\n// loading: true,\n// editDialogLoading: true,\n// error: null\n// };\n// case CREATE_SPECIALDAY_SUCCESS:\n// return {\n// ...state,\n// loading: false,\n// editDialogLoading: false,\n// specailDay: action.payload.disallowedPeriodObject\n// };\n// case CREATE_SPECIALDAY_FAILURE:\n// return {\n// ...state,\n// loading: false,\n// editDialogLoading: false,\n// error: action.payload.error\n// }\n// case SAVE_SPECIALDAY_BEGIN:\n// return {\n// ...state,\n// loading: true,\n// editDialogLoading: true,\n// error: null\n// };\n// case SAVE_SPECIALDAY_SUCCESS:\n// return {\n// ...state,\n// loading: false,\n// editDialogLoading: false,\n// specailDay: action.payload.disallowedPeriodObject\n// };\n// case SAVE_SPECIALDAY_FAILURE:\n// return {\n// ...state,\n// loading: false,\n// editDialogLoading: false,\n// error: action.payload.error\n// }\n// case DELETE_SPECIALDAY_BEGIN:\n// return {\n// ...state,\n// loading: true,\n// editDialogLoading: true,\n// error: null\n// };\n// case DELETE_SPECIALDAY_SUCCESS:\n// return {\n// ...state,\n// loading: false,\n// editDialogLoading: false,\n// specailDay: action.payload.disallowedPeriodObject\n// };\n// case DELETE_SPECIALDAY_FAILURE:\n// return {\n// ...state,\n// loading: false,\n// editDialogLoading: false,\n// error: action.payload.error\n// }\n// default:\n// return state;\n// }\n// }\n\n","import { faresActions } from './faresActions';\nimport { history } from '../History';\n\nexport const parkingZoneActions = {\n setParkingZone,\n clearParkingZone,\n applyParkingZone,\n}\n\nfunction applyParkingZone(parkingZone) {\n return dispatch => {\n dispatch(changeParkingZone(parkingZone));\n dispatch(faresActions.fetchFares(parkingZone.id));\n // history.push(`/board?parking=${parkingZone.id}`);\n return {parkingZone: parkingZone};\n }\n}\n\nfunction setParkingZone(parkingZone) {\n return dispatch => {\n dispatch(applyParkingZone(parkingZone));\n history.push(`/board?parking=${parkingZone.id}`);\n return {parkingZone: parkingZone};\n }\n}\n\nfunction clearParkingZone() {\n return dispatch => {\n dispatch(changeParkingZone({}));\n return {parkingZone: {}};\n }\n}\n\n\nexport const PARKING_ZONE_SELECTED = \"PARKING_ZONE_SELECTED\";\n\nexport const changeParkingZone = parkingZone => ({\n type: PARKING_ZONE_SELECTED,\n payload: { parkingZone }\n});\n","import { parkingsListService } from '../services';\nimport { parkingZoneActions } from './parkingZoneActions';\nimport { history } from '../History';\n\nimport _ from 'lodash';\n\nexport const parkingsListActions = {\n fetchParkings,\n fetchCities,\n filterParkings,\n}\n\nfunction fetchParkings() {\n return dispatch => {\n dispatch(fetchParkingsBegin());\n return parkingsListService.getAll()\n .then(parkings => {\n dispatch(fetchParkingsSuccess(parkings.parkings));\n dispatch(fetchCities(parkings.parkings))\n return parkings.parkings;\n })\n .catch(error =>\n dispatch(fetchParkingsFailure(error))\n );\n };\n}\n\nfunction filterParkings(city) {\n return dispatch => {\n return parkingsListService.getAll()\n .then(parkings => {\n const result = city === \"\" ? parkings.parkings : parkings.parkings.filter(function(parking) {\n return parking.city === city;\n });\n dispatch(fetchParkingsSuccess(result));\n return {city: city, parkings: result};\n })\n .catch(error =>\n dispatch(fetchParkingsFailure(error))\n );\n };\n}\n\nfunction fetchCities(parkings) {\n return dispatch => {\n dispatch(fetchCitiesBegin(parkings));\n try {\n const cities = _.sortBy(_.uniqBy(parkings.map(parking => {\n return {\n 'sapCode': parking.sapCode,\n 'city': parking.city\n }\n }), 'city'), _ => _.city);\n \n dispatch(fetchCitiesSuccess(cities));\n return cities;\n } catch (error) {\n dispatch(fetchCitiesFailure(error));\n }\n };\n}\n\n\nexport const FETCH_CITIES_BEGIN = \"FETCH_CITIES_BEGIN\";\nexport const FETCH_CITIES_SUCCESS = \"FETCH_CITIES_SUCCESS\";\nexport const FETCH_CITIES_FAILURE = \"FETCH_CITIES_FAILURE\";\n\nexport const fetchCitiesBegin = () => ({\n type: FETCH_CITIES_BEGIN\n});\n\nexport const fetchCitiesSuccess = cities => ({\n type: FETCH_CITIES_SUCCESS,\n payload: { cities }\n});\n\nexport const fetchCitiesFailure = error => ({\n type: FETCH_CITIES_FAILURE,\n payload: { error }\n});\n\nexport const FETCH_PARKINGS_BEGIN = \"FETCH_PARKINGS_BEGIN\";\nexport const FETCH_PARKINGS_SUCCESS = \"FETCH_PARKINGS_SUCCESS\";\nexport const FETCH_PARKINGS_FAILURE = \"FETCH_PARKINGS_FAILURE\";\n\nexport const FILTER_PARKINGS_SUCCESS = \"FILTER_PARKINGS_SUCCESS\";\n\nexport const fetchParkingsBegin = (cityID) => ({\n type: FETCH_PARKINGS_BEGIN,\n payload: { cityID }\n});\n\nexport const fetchParkingsSuccess = parkings => ({\n type: FETCH_PARKINGS_SUCCESS,\n payload: { parkings }\n});\n\nexport const fetchParkingsFailure = error => ({\n type: FETCH_PARKINGS_FAILURE,\n payload: { error }\n});\n\nexport const filterParkingsSuccess = result => ({\n type: FILTER_PARKINGS_SUCCESS,\n payload: { result }\n});\n","import {\n parkingFaresService\n} from '../services';\nimport {\n parkingsListActions\n} from './parkingsListActions';\nimport {\n history\n} from '../History';\n\nimport _ from 'lodash';\n\nexport const faresActions = {\n fetchFares,\n switchActualityType,\n filterFares,\n changeFare,\n createFare,\n saveFare,\n deleteFare,\n selectFareType,\n openFareForm,\n closeFare,\n selectFare,\n setFormMode,\n addPeriodBox,\n openEmptyFareForm,\n downloadFare,\n}\n\nconst formModeFare = [\n 'edit',\n 'readonly',\n '',\n null\n]\n\nfunction fetchFares(parkingID, actualityType = \"CURRENT\") {\n return dispatch => {\n if (!parkingID) {\n history.push('/selectionform');\n return false;\n }\n dispatch(fetchFaresBegin());\n return new Promise((res, rej) => {\n parkingFaresService.getAll(parkingID, actualityType)\n .then(fares => {\n // dispatch(parkingsListActions.fetchParkings()).then(function(){\n const fareTypesList = _.sortBy(_.uniq(fares.fares.map(fare => fare.type)));\n dispatch(fetchFaresSuccess(fares.fares, fareTypesList));\n res(fares.fares);\n // return fares.fares;\n // });\n })\n .catch(error => {\n dispatch(fetchFaresFailure(error))\n // return Promise().reject(error);\n rej(error)\n }\n )\n })\n };\n}\nfunction getFare(parkingID, fareID) {\n return dispatch => {\n if (!parkingID || !fareID) {\n dispatch(fetchFaresFailure(new Error(`getFare method can NOT be executed. Not all arguments are passed: (${parkingID}, ${fareID})`)));\n history.push('/selectionform');\n return false;\n }\n dispatch(getFareBegin(parkingID, fareID));\n return parkingFaresService.getFare(parkingID, fareID)\n .then(fare => {\n dispatch(getFareSuccess(fare))\n return fare;\n })\n .catch(error =>\n dispatch(getFareFailure(error))\n );\n };\n}\n\nfunction switchActualityType(type, parkingID) {\n return dispatch => {\n dispatch(changeActualityTypeBegin(type));\n dispatch(fetchFares(parkingID, type)).then(function(response) {\n dispatch(changeActualityTypeSuccess(type));\n }).catch(function(error) {\n dispatch(changeActualityTypeFailure(error));\n })\n }\n}\n\nexport const SWITCH_ACTUALITY_TYPE_BEGIN = \"SWITCH_ACTUALITY_TYPE_BEGIN\";\nexport const SWITCH_ACTUALITY_TYPE_SUCCESS = \"SWITCH_ACTUALITY_TYPE_SUCCESS\";\nexport const SWITCH_ACTUALITY_TYPE_FAILURE = \"SWITCH_ACTUALITY_TYPE_FAILURE\";\n\nexport const changeActualityTypeBegin = (type) => ({\n type: SWITCH_ACTUALITY_TYPE_BEGIN,\n payload: {\n type\n }\n});\n\nexport const changeActualityTypeSuccess = type => ({\n type: SWITCH_ACTUALITY_TYPE_SUCCESS,\n payload: {\n type\n }\n});\n\nexport const changeActualityTypeFailure = error => ({\n type: SWITCH_ACTUALITY_TYPE_FAILURE,\n payload: {\n error\n }\n});\n\n\nfunction changeFare(id) {\n // return dispatch => {\n\n // }\n}\n\nfunction filterFares(parkingID, key, value) {\n return dispatch => {\n return parkingFaresService.getAll(parkingID)\n .then(fares => {\n const fareTypesList = _.sortBy(_.uniq(fares.fares.map(fare => fare.type)));\n const filteredFares = value == \"\" ? fares.fares : fares.fares.filter(fare => fare[key] === value);\n dispatch(filterFaresSuccess({\n fares: filteredFares,\n filteredByType: value,\n fareTypesList: fareTypesList,\n }));\n })\n .catch(error =>\n dispatch(fetchFaresFailure(error))\n );\n }\n}\n\nfunction createFare(parkingID, fareObject) {\n return dispatch => {\n dispatch(createFareBegin(parkingID, fareObject));\n return parkingFaresService.createFare(parkingID, fareObject).then(result => {\n dispatch(createFareSuccess(result));\n dispatch(fetchFares(parkingID));\n return result;\n })\n .catch(error =>\n dispatch(createFareFailure(error))\n );\n }\n}\n\nfunction saveFare(parkingID, fareID, fareObject) {\n return dispatch => {\n dispatch(saveFareBegin(parkingID, fareID, fareObject));\n return parkingFaresService.saveFare(parkingID, fareID, fareObject).then(fare => {\n const newFareID = fare.fareID;\n dispatch(saveFareSuccess(newFareID));\n dispatch(getFareBegin(parkingID, newFareID));\n return parkingFaresService.getFare(parkingID, newFareID)\n .then(fare => {\n dispatch(getFareSuccess(fare));\n dispatch(setFormMode('readonly'));\n dispatch(selectFare(parkingID, fare));\n setTimeout(() => { dispatch({type: RESET_SAVED_FARE_FLAG}) }, 6000);\n return fare;\n })\n .catch(error => {\n dispatch(getFareFailure(error))\n }\n );\n })\n .catch(error => {\n dispatch(saveFareFailure(error))\n });\n }\n}\n\nfunction deleteFare(parkingID, fareID) {\n return dispatch => {\n dispatch(deleteFareBegin(parkingID, fareID));\n return parkingFaresService.deleteFare(parkingID, fareID).then(result => {\n dispatch(deleteFareSuccess(result));\n dispatch(fetchFares(parkingID));\n return result;\n })\n .catch(error =>\n dispatch(deleteFareFailure(error))\n );\n }\n}\n\nfunction selectFareType(fareType) {\n return dispatch => {\n dispatch(selectSessionFareType(fareType))\n }\n}\n\nfunction selectFare(parkingID, fareObject) {\n return dispatch => {\n dispatch(setSelectedFare(fareObject));\n if (!_.isEmpty(parkingID) && !_.isEmpty(fareObject)) {\n history.push(`/board?parking=${parkingID}&fare=${fareObject && fareObject.id || ''}`);\n }\n }\n}\n\nfunction setFormMode(mode) {\n return dispatch => {\n if (formModeFare.indexOf(mode) < 0) {\n console.error(`Wrong fare open mode transferred. Should be one of ${formModeFare.join(\", \")}`, mode);\n return false;\n }\n dispatch(setOpenFareMode(mode));\n }\n}\n\nfunction openEmptyFareForm(parkingID, mode = 'edit') {\n return dispatch => {\n dispatch(addEmptyFareAction(parkingID));\n dispatch(setFormMode('edit'));\n }\n}\n\nexport const ADD_EMPTY_FARE = \"ADD_EMPTY_FARE\"\n\nexport const addEmptyFareAction = fareObject => ({\n type: ADD_EMPTY_FARE,\n payload: {\n fareObject\n }\n})\n\nfunction openFareForm(parkingID, fareID, mode = 'edit') {\n return dispatch => {\n parkingFaresService.getFare(parkingID, fareID)\n .then(fareObject => {\n dispatch(selectFare(parkingID, fareObject));\n dispatch(setFormMode(mode));\n })\n }\n}\n\nfunction closeFare(parkingID) {\n return dispatch => {\n dispatch(setSelectedFare({}));\n dispatch(setFormMode(''));\n dispatch(fetchFares(parkingID));\n history.push(`/board?parking=${parkingID}`);\n }\n}\n\nexport const FETCH_FARES_BEGIN = \"FETCH_FARES_BEGIN\";\nexport const FETCH_FARES_SUCCESS = \"FETCH_FARES_SUCCESS\";\nexport const FETCH_FARES_FAILURE = \"FETCH_FARES_FAILURE\";\n\nexport const fetchFaresBegin = (parkingID) => ({\n type: FETCH_FARES_BEGIN,\n payload: {\n parkingID\n }\n});\n\nexport const fetchFaresSuccess = (fares, fareTypesList) => ({\n type: FETCH_FARES_SUCCESS,\n payload: {\n fares: fares,\n fareTypesList: fareTypesList\n }\n});\n\nexport const fetchFaresFailure = error => ({\n type: FETCH_FARES_FAILURE,\n payload: {\n error\n }\n});\n\nexport const FILTER_FARES_SUCCESS = \"FILTER_FARES_SUCCESS\";\n\nexport const filterFaresSuccess = result => ({\n type: FILTER_FARES_SUCCESS,\n payload: {\n fares: result.fares,\n filteredByType: result.filteredByType,\n fareTypesList: result.fareTypesList\n }\n});\n\nexport const GET_FARE_BEGIN = \"GET_FARE_BEGIN\";\nexport const GET_FARE_SUCCESS = \"GET_FARE_SUCCESS\";\nexport const GET_FARE_FAILURE = \"GET_FARE_FAILURE\";\n\nexport const getFareBegin = (parkingID) => ({\n type: GET_FARE_BEGIN,\n payload: {\n parkingID\n }\n});\n\nexport const getFareSuccess = fare => ({\n type: GET_FARE_SUCCESS,\n payload: {\n fare\n }\n});\n\nexport const getFareFailure = (error) => ({\n type: GET_FARE_FAILURE,\n payload: {\n error\n // error: error.text && error.text || error,\n // errorDetails: error.errorDetails,\n }\n});\n\nexport const CREATE_FARE_BEGIN = \"CREATE_FARE_BEGIN\";\nexport const CREATE_FARE_SUCCESS = \"CREATE_FARE_SUCCESS\";\nexport const CREATE_FARE_FAILURE = \"CREATE_FARE_FAILURE\";\n\nexport const createFareBegin = (parkingCityID, fareObject) => ({\n type: CREATE_FARE_BEGIN,\n payload: {\n fareObject\n }\n});\n\nexport const createFareSuccess = result => ({\n type: CREATE_FARE_SUCCESS,\n payload: {\n result\n }\n});\n\nexport const createFareFailure = error => ({\n type: CREATE_FARE_FAILURE,\n payload: {\n error\n }\n});\n\nexport const SAVE_FARE_BEGIN = \"SAVE_FARE_BEGIN\";\nexport const SAVE_FARE_SUCCESS = \"SAVE_FARE_SUCCESS\";\nexport const SAVE_FARE_FAILURE = \"SAVE_FARE_FAILURE\";\nexport const RESET_SAVED_FARE_FLAG = \"RESET_SAVED_FARE_FLAG\";\n\nexport const saveFareBegin = (parkingID, fareID, fareObject) => ({\n type: SAVE_FARE_BEGIN,\n payload: {\n parkingID: parkingID,\n fareID: fareID,\n fare: fareObject,\n }\n});\n\nexport const saveFareSuccess = fareID => ({\n type: SAVE_FARE_SUCCESS,\n payload: {\n fareID\n }\n});\n\nexport const saveFareFailure = (error) => ({\n type: SAVE_FARE_FAILURE,\n payload: {\n error: error\n }\n});\n\nexport const SELECT_FARE_TYPE = \"SELECT_FARE_TYPE\";\n\nexport const selectSessionFareType = fareType => ({\n type: SELECT_FARE_TYPE,\n payload: {\n fareType\n }\n});\n\n\nexport const SELECT_FARE = \"SELECT_FARE\";\nexport const SET_OPEN_MODE_FARE = \"SET_OPEN_MODE_FARE\";\n\nexport const setSelectedFare = fareObject => ({\n type: SELECT_FARE,\n payload: {\n fareObject\n }\n});\n\nexport const setOpenFareMode = mode => ({\n type: SET_OPEN_MODE_FARE,\n payload: {\n mode\n }\n})\n\n\nexport const OPEN_FARE_INSTANCE_BEGIN = \"OPEN_FARE_INSTANCE_BEGIN\";\nexport const OPEN_FARE_INSTANCE_SUCCESS = \"OPEN_FARE_INSTANCE_SUCCESS\";\nexport const OPEN_FARE_INSTANCE_FAILURE = \"OPEN_FARE_INSTANCE_FAILURE\";\n\nexport const selectFareToOpen = fareObject => ({\n type: OPEN_FARE_INSTANCE_BEGIN,\n payload: {\n fareObject\n }\n});\n\nexport const fareObjectLoaded = fareObject => ({\n type: OPEN_FARE_INSTANCE_SUCCESS,\n payload: {\n fareObject\n }\n});\n\nexport const fareObjectLoadFailed = fareObject => ({\n type: OPEN_FARE_INSTANCE_FAILURE,\n payload: {\n fareObject\n }\n});\n\nexport const DELETE_FARE_INSTANCE_BEGIN = \"DELETE_FARE_INSTANCE_BEGIN\";\nexport const DELETE_FARE_INSTANCE_SUCCESS = \"DELETE_FARE_INSTANCE_SUCCESS\";\nexport const DELETE_FARE_INSTANCE_FAILURE = \"DELETE_FARE_INSTANCE_FAILURE\";\n\nexport const deleteFareBegin = fareObject => ({\n type: DELETE_FARE_INSTANCE_BEGIN,\n payload: {\n fareObject\n }\n});\n\nexport const deleteFareSuccess = fareObject => ({\n type: DELETE_FARE_INSTANCE_SUCCESS,\n payload: {\n fareObject\n }\n});\n\nexport const deleteFareFailure = fareObject => ({\n type: DELETE_FARE_INSTANCE_FAILURE,\n payload: {\n fareObject\n }\n});\n\nexport const MODIFY_FARE = \"MODIFY_FARE\";\n\nexport const change_fare_value = fareObject => ({\n type: MODIFY_FARE,\n payload: {\n\n }\n})\n\nexport const ADD_PERIOD_BOX = \"ADD_PERIOD_BOX\"\n\nexport const addPeriodBoxAction = periodID => ({\n type: ADD_PERIOD_BOX,\n payload: {\n periodID\n }\n})\n\nfunction addPeriodBox(parkingID, key, value) {\n return dispatch => {\n dispatch(addPeriodBoxAction())\n }\n}\n\nfunction downloadFare(parkingID, fareID) {\n return dispatch => {\n dispatch(downloadFareBegin({fareID: fareID, parkingID: parkingID}));\n return parkingFaresService.downloadFare(parkingID, fareID).then(result => {\n dispatch(downloadFareSuccess(result));\n return result;\n })\n .catch(error => {\n dispatch(downloadFareFailure(error));\n });\n }\n}\n\nexport const DOWNLOAD_FARE_INSTANCE_BEGIN = \"DOWNLOAD_FARE_INSTANCE_BEGIN\";\nexport const DOWNLOAD_FARE_INSTANCE_SUCCESS = \"DOWNLOAD_FARE_INSTANCE_SUCCESS\";\nexport const DOWNLOAD_FARE_INSTANCE_FAILURE = \"DOWNLOAD_FARE_INSTANCE_FAILURE\";\n\nexport const downloadFareBegin = fareObject => ({\n type: DOWNLOAD_FARE_INSTANCE_BEGIN,\n payload: {\n fareObject\n }\n});\n\nexport const downloadFareSuccess = fareObject => ({\n type: DOWNLOAD_FARE_INSTANCE_SUCCESS,\n payload: {\n fareObject\n }\n});\n\nexport const downloadFareFailure = error => ({\n type: DOWNLOAD_FARE_INSTANCE_FAILURE,\n payload: {\n error\n }\n});\n","import {\n FETCH_FARES_BEGIN,\n FETCH_FARES_SUCCESS,\n FETCH_FARES_FAILURE,\n SWITCH_ACTUALITY_TYPE_BEGIN,\n SWITCH_ACTUALITY_TYPE_SUCCESS,\n SWITCH_ACTUALITY_TYPE_FAILURE,\n GET_FARE_BEGIN,\n GET_FARE_SUCCESS,\n GET_FARE_FAILURE,\n SAVE_FARE_BEGIN,\n SAVE_FARE_SUCCESS,\n SAVE_FARE_FAILURE,\n FILTER_FARES_SUCCESS,\n CREATE_FARE_BEGIN,\n CREATE_FARE_SUCCESS,\n CREATE_FARE_FAILURE,\n SELECT_FARE,\n SET_OPEN_MODE_FARE,\n SELECT_FARE_TYPE,\n ADD_PERIOD_BOX,\n ADD_EMPTY_FARE,\n RESET_SAVED_FARE_FLAG,\n DOWNLOAD_FARE_INSTANCE_BEGIN,\n DOWNLOAD_FARE_INSTANCE_SUCCESS,\n DOWNLOAD_FARE_INSTANCE_FAILURE,\n} from '../actions/faresActions';\n\nimport _ from 'lodash';\n\nconst initialState = {\n items: [],\n selectedFare: {\n 'type': '',\n 'name': '',\n 'description': '',\n 'from': '',\n 'to': '',\n 'normal24Max': '',\n 'special24Max': '',\n 'normal24MaxEmpty': false,\n 'special24MaxEmpty': true,\n 'periods': [{\n 'daysOfWeek': [\n ],\n 'startTime': '00:00',\n 'endTime': '00:00',\n 'description': '',\n 'type': 'NORMAL',\n 'periodMaxCost': '',\n 'farePeriods': [{\n 'duration': '',\n 'costForFraction': '',\n 'fraction': ''\n }, {\n 'duration': '',\n 'costForFraction': '',\n 'fraction': ''\n }, {\n 'duration': '',\n 'costForFraction': '',\n 'fraction': ''\n }, {\n 'duration': '',\n 'costForFraction': '',\n 'fraction': ''\n }, {\n 'duration': '',\n 'costForFraction': '',\n 'fraction': ''\n }],\n }]\n },\n createdFare: {\n id: '',\n name: '',\n description: '',\n fromDate: '',\n toDate: '',\n },\n selectedFareType: '',\n editDialog: false,\n type: '',\n loading: false,\n saved: null,\n error: null\n}\n\nexport function faresReducer(state = initialState, action) {\n switch (action.type) {\n case ADD_EMPTY_FARE:\n let fareObject = _.cloneDeep(initialState.selectedFare);\n return {\n ...state,\n loading: false,\n selectedFare: fareObject\n }\n case ADD_PERIOD_BOX:\n let newState = _.cloneDeep(state);\n let periods = newState.selectedFare.periods;\n if (!newState.selectedFare.periods) {\n newState.selectedFare.periods = [];\n }\n const emptyPeriodRows = 5;\n // const initialState.selectedFare.periods[0];\n // const emptyPeriodsTemplate = Array.apply(null, {\n // length: emptyPeriodRows\n // }).map(_ => (periodObjKeys.reduce((accumulator, currentValue) => {\n // accumulator = {...accumulator,\n // [currentValue]: ''\n // };\n // return accumulator;\n // }, {})), []);\n newState.selectedFare.periods.push(initialState.selectedFare.periods[0]);\n return newState;\n case FETCH_FARES_BEGIN:\n return {\n ...state,\n loading: true,\n error: null\n };\n case FETCH_FARES_SUCCESS:\n return {\n ...state,\n loading: false,\n items: action.payload.fares,\n fareTypesList: action.payload.fareTypesList,\n };\n case FETCH_FARES_FAILURE:\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n items: []\n };\n case SWITCH_ACTUALITY_TYPE_BEGIN:\n return {\n ...state,\n actualityType: action.payload.type,\n loading: true,\n error: null\n }\n case SWITCH_ACTUALITY_TYPE_SUCCESS:\n return {\n ...state,\n loading: false,\n actualityType: action.payload.type,\n error: null\n }\n case SWITCH_ACTUALITY_TYPE_FAILURE:\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n }\n case SAVE_FARE_BEGIN:\n return {\n ...state,\n loading: true,\n error: null,\n selectedFare: action.payload.fare,\n };\n case SAVE_FARE_SUCCESS:\n return {\n ...state,\n loading: false,\n saved: true,\n error: null,\n errorDetails: null,\n // savedFareID: action.payload.fareID\n // selectedFare: action.payload.fare,\n };\n case SAVE_FARE_FAILURE:\n return {\n ...state,\n loading: false,\n saved: false,\n error: action.payload.error && action.payload.error.message || action.payload.error,\n errorDetails: action.payload.error.details,\n };\n case RESET_SAVED_FARE_FLAG:\n return {\n ...state,\n saved: null\n }\n case GET_FARE_BEGIN:\n return {\n ...state,\n loading: true,\n error: null,\n selectedFare: {}\n };\n case GET_FARE_SUCCESS:\n return {\n ...state,\n loading: false,\n error: null,\n saved: null,\n selectedFare: action.payload.fare,\n };\n case GET_FARE_FAILURE:\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n selectedFare: {},\n };\n case SELECT_FARE:\n return {\n ...state,\n selectedFare: action.payload.fareObject,\n saved: null,\n loading: false,\n error: null\n };\n case SET_OPEN_MODE_FARE:\n return {\n ...state,\n formMode: action.payload.mode,\n loading: false,\n error: null\n };\n case CREATE_FARE_BEGIN:\n return {\n ...state,\n loading: true,\n error: null\n };\n case CREATE_FARE_SUCCESS:\n return {\n ...state,\n loading: false,\n createdFare: action.payload.rate\n };\n case CREATE_FARE_FAILURE:\n return {\n ...state,\n loading: false,\n error: action.payload.error\n }\n case SELECT_FARE_TYPE:\n return {\n ...state,\n selectedFareType: action.payload.fareType,\n loading: false,\n }\n case FILTER_FARES_SUCCESS:\n return {\n ...state,\n loading: false,\n items: action.payload.fares,\n filteredByType: action.payload.filteredByType,\n fareTypesList: action.payload.fareTypesList,\n };\n case DOWNLOAD_FARE_INSTANCE_BEGIN:\n return {\n ...state,\n loading: true,\n loadingMessage: 'notification.exportInProcess',\n error: null,\n }\n case DOWNLOAD_FARE_INSTANCE_SUCCESS:\n return {\n ...state,\n loading: false,\n error: null,\n }\n case DOWNLOAD_FARE_INSTANCE_FAILURE:\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n }\n default:\n return state;\n }\n}","export const FILTERS_CONTEXTS_SEARCH = \"FILTERS_CONTEXTS_SEARCH\";\nexport const FILTERS_MUNICIPALITIES_SEARCH = \"FILTERS_MUNICIPALITIES_SEARCH\";\nexport const FILTERS_AUDITS = \"FILTERS_AUDITS\";","import moment from 'moment';\nimport { FILTERS_AUDITS, FILTERS_CONTEXTS_SEARCH, FILTERS_MUNICIPALITIES_SEARCH } from '../actions/filtersActions';\n\nconst to = new Date();\nconst from = moment(to).subtract(7, 'days').toDate();\n\nconst initialState = {\n contextsSearch: '',\n municipalitiesSearch: '',\n auditsFilter: {\n dateFrom: from,\n dateTo: to,\n user: '',\n table: '',\n context: '',\n rate: ''\n }\n}\n\nexport function filtersReducer(state = initialState, action) {\n switch (action.type) {\n case FILTERS_CONTEXTS_SEARCH:\n return {\n ...state,\n contextsSearch: action.payload\n }\n case FILTERS_MUNICIPALITIES_SEARCH:\n return {\n ...state,\n municipalitiesSearch: action.payload.municipalitiesSearch\n }\n case FILTERS_AUDITS:\n return {\n ...state,\n auditsFilter: action.payload.auditsFilter\n }\n\n default:\n return state;\n }\n}\n\n","import { \n FREE_DAYS_CHANGE_MODE,\n FREE_DAYS_BEGIN,\n FETCH_FREE_DAYS_SUCCESS,\n CREATE_FREE_DAYS_SUCCESS,\n EDIT_FREE_DAYS_SUCCESS,\n DELETE_FREE_DAYS_SUCCESS,\n FREE_DAYS_FAILURE,\n FREE_DAYS_SET_ERROR\n} from '../actions/freeDaysActions'\nimport { pageModes } from '../_constants/emparkConstants'\n\nconst initialState = {\n freeDays: {\n rate: [],\n context: [],\n municipality: []\n },\n reference:null,\n referenceId:'',\n loading:false,\n error:null,\n hasFetched:false,\n router: {\n mode:pageModes.list,\n id:0\n }\n}\n\nexport function freeDaysReducer(state = initialState, action) {\n switch (action.type) {\n case FREE_DAYS_CHANGE_MODE:\n return {\n ...state,\n router: action.payload,\n error:null\n }\n case FREE_DAYS_BEGIN:\n return {\n ...state,\n loading:true,\n error:null\n }\n case FREE_DAYS_SET_ERROR:\n return {\n ...state,\n error:action.payload.error\n };\n case FETCH_FREE_DAYS_SUCCESS:\n return {\n ...state,\n freeDays:action.payload.freeDays,\n reference:action.payload.reference,\n referenceId:action.payload.referenceId,\n loading:false,\n error:null\n }\n case CREATE_FREE_DAYS_SUCCESS:\n case EDIT_FREE_DAYS_SUCCESS:\n return {\n ...state,\n loading:false,\n error:null,\n router: {\n mode:pageModes.list\n }\n }\n case DELETE_FREE_DAYS_SUCCESS:\n return {\n ...state,\n loading:false,\n error:null,\n hasFetched:true,\n router: {\n mode:pageModes.list,\n id:0\n }\n }\n case FREE_DAYS_FAILURE:\n return {\n ...state,\n loading:false,\n error:action.payload.error\n }\n default:\n return state;\n }\n}\n// import {\n// FETCH_SPECIALDAYS_BEGIN,\n// FETCH_SPECIALDAYS_SUCCESS,\n// FETCH_SPECIALDAYS_FAILURE,\n// CREATE_SPECIALDAY_BEGIN,\n// CREATE_SPECIALDAY_SUCCESS,\n// CREATE_SPECIALDAY_FAILURE,\n// SAVE_SPECIALDAY_BEGIN,\n// SAVE_SPECIALDAY_SUCCESS,\n// SAVE_SPECIALDAY_FAILURE,\n// DELETE_SPECIALDAY_BEGIN,\n// DELETE_SPECIALDAY_SUCCESS,\n// DELETE_SPECIALDAY_FAILURE,\n// GET_SPECIALDAY_BEGIN,\n// GET_SPECIALDAY_SUCCESS,\n// GET_SPECIALDAY_FAILURE,\n// } from '../actions/freeDaysActions';\n\n// const initialState = {\n// items: [],\n// editFareObject: {\n// id: '',\n// name: '',\n// description: '',\n// fromDate: '',\n// toDate: '',\n// },\n// editDialog: false,\n// editDialogLoading: false,\n// editDialogError: null,\n// loading: false,\n// error: null\n// }\n\n// export function freeDaysReducer(state = initialState, action) {\n// switch (action.type) {\n// case FETCH_SPECIALDAYS_BEGIN:\n// return {\n// ...state,\n// loading: true,\n// error: null\n// };\n// case FETCH_SPECIALDAYS_SUCCESS:\n// return {\n// ...state,\n// loading: false,\n// items: action.payload.items\n// };\n// case FETCH_SPECIALDAYS_FAILURE:\n// return {\n// ...state,\n// loading: false,\n// error: action.payload.error,\n// items: []\n// };\n\n// case GET_SPECIALDAY_BEGIN:\n// return {\n// ...state,\n// editDialogLoading: true,\n// error: null\n// };\n// case GET_SPECIALDAY_SUCCESS:\n// return {\n// ...state,\n// editDialogLoading: false,\n// items: action.payload.items\n// };\n// case GET_SPECIALDAY_FAILURE:\n// return {\n// ...state,\n// editDialogLoading: false,\n// error: action.payload.error,\n// items: []\n// };\n\n// case CREATE_SPECIALDAY_BEGIN:\n// return {\n// ...state,\n// loading: true,\n// editDialogLoading: true,\n// error: null\n// };\n// case CREATE_SPECIALDAY_SUCCESS:\n// return {\n// ...state,\n// loading: false,\n// editDialogLoading: false,\n// specailDay: action.payload.freeDayObject\n// };\n// case CREATE_SPECIALDAY_FAILURE:\n// return {\n// ...state,\n// loading: false,\n// editDialogLoading: false,\n// error: action.payload.error\n// }\n// case SAVE_SPECIALDAY_BEGIN:\n// return {\n// ...state,\n// loading: true,\n// editDialogLoading: true,\n// error: null\n// };\n// case SAVE_SPECIALDAY_SUCCESS:\n// return {\n// ...state,\n// loading: false,\n// editDialogLoading: false,\n// specailDay: action.payload.freeDayObject\n// };\n// case SAVE_SPECIALDAY_FAILURE:\n// return {\n// ...state,\n// loading: false,\n// editDialogLoading: false,\n// error: action.payload.error\n// }\n// case DELETE_SPECIALDAY_BEGIN:\n// return {\n// ...state,\n// loading: true,\n// editDialogLoading: true,\n// error: null\n// };\n// case DELETE_SPECIALDAY_SUCCESS:\n// return {\n// ...state,\n// loading: false,\n// editDialogLoading: false,\n// specailDay: action.payload.freeDayObject\n// };\n// case DELETE_SPECIALDAY_FAILURE:\n// return {\n// ...state,\n// loading: false,\n// editDialogLoading: false,\n// error: action.payload.error\n// }\n// default:\n// return state;\n// }\n// }\n\n","import { HIDE_TOAST_ERROR, HIDE_TOAST_SUCCESS, HIDE_TOAST_WARNING, SHOW_TOAST_ERROR, SHOW_TOAST_SUCCESS, SHOW_TOAST_WARNING } from '../actions/generalActions';\n\nconst initialState = {\n toastSuccess: {\n open: false,\n message: null\n },\n toastError: {\n open: false,\n message: null\n },\n toastWarning: {\n open: false,\n message: null\n }\n}\n\nexport function generalReducer(state = initialState, action) {\n switch (action.type) {\n case HIDE_TOAST_SUCCESS:\n return {\n ...state,\n toastSuccess: {\n open: false,\n message: null\n }\n }\n case SHOW_TOAST_SUCCESS:\n return {\n ...state,\n toastSuccess: {\n open: true,\n message: action.payload.message\n }\n }\n case HIDE_TOAST_ERROR:\n return {\n ...state,\n toastError: {\n open: false,\n message: null\n }\n }\n case SHOW_TOAST_ERROR:\n return {\n ...state,\n toastError: {\n open: true,\n message: action.payload.message\n }\n }\n case HIDE_TOAST_WARNING:\n return {\n ...state,\n toastWarning: {\n open: false,\n message: null\n }\n }\n case SHOW_TOAST_WARNING:\n return {\n ...state,\n toastWarning: {\n open: true,\n message: action.payload.message\n }\n }\n default:\n return state;\n }\n}\n","\nimport { rolesService } from '../services/rolesService';\nimport translate from '../locales';\n\nconst __t = translate;\n\nexport const ROLES_CHANGE_MODE = \"ROLES_CHANGE_MODE\";\nexport const ROLES_BEGIN = \"ROLES_BEGIN\";\nexport const FETCH_ROLES_SUCCESS = \"FETCH_ROLES_SUCCESS\";\nexport const FETCH_ROLES_FAILURE = \"FETCH_ROLES_FAILURE\";\nexport const CREATE_ROLE_SUCCESS = \"CREATE_ROLE_SUCCESS\";\nexport const EDIT_ROLE_SUCCESS = \"EDIT_ROLE_SUCCESS\";\nexport const SEND_ROLE_FAILURE = \"SEND_ROLE_FAILURE\";\nexport const DELETE_ROLE_SUCCESS = \"DELETE_ROLE_SUCCESS\";\nexport const ROLE_CLAIMS_CHANGE_MODE = \"ROLE_CLAIMS_CHANGE_MODE\";\nexport const FETCH_ROLE_CLAIMS_SUCCESS = \"FETCH_ROLE_CLAIMS_SUCCESS\";\nexport const FETCH_ROLE_CLAIMS_FAILURE = \"FETCH_ROLE_CLAIMS_FAILURE\";\nexport const SAVE_ROLE_CLAIMS_SUCCESS = \"SAVE_ROLE_CLAIMS_SUCCESS\";\nexport const ROLES_SET_TAB_DISPLAY = \"ROLES_SET_TAB_DISPLAY\";\nexport const ROLES_SET_ERROR = \"ROLES_SET_ERROR\";\nexport const ROLES_ROLE_CONTEXT_STATE = \"ROLES_ROLE_CONTEXT_STATE\";\n\nexport const rolesActions = {\n changeMode,\n fetchRoles,\n sendRole,\n deleteRole,\n changeModeRoleClaims,\n fetchRoleClaims,\n sendRoleClaims,\n setTabDisplay,\n setError,\n fetchRoleContexts\n}\n\nfunction changeMode(mode, id) {\n return function (dispatch) {\n dispatch({\n type: ROLES_CHANGE_MODE,\n payload: {\n mode: mode,\n id: id\n }\n });\n }\n}\n\nfunction setTabDisplay(tabDisplay) {\n return function (dispatch) {\n dispatch({\n type: ROLES_SET_TAB_DISPLAY,\n payload: {\n tabDisplay: tabDisplay,\n }\n });\n }\n}\n\nfunction changeModeRoleClaims(mode, id) {\n return function (dispatch) {\n dispatch({\n type: ROLE_CLAIMS_CHANGE_MODE,\n payload: {\n mode: mode,\n id: id\n }\n });\n }\n}\n\nfunction fetchRoles(forceFetch = false) {\n return async function (dispatch, getState) {\n try {\n const { hasFetched } = getState().rolesReducer;\n if (!forceFetch && hasFetched)\n return;\n\n dispatch({\n type: ROLES_BEGIN\n });\n\n var roles = await rolesService.getRoles();\n\n dispatch({\n type: FETCH_ROLES_SUCCESS,\n payload: {\n roles: roles\n }\n });\n }\n catch (error) {\n dispatch({\n type: FETCH_ROLES_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction sendRole(role) {\n return async function (dispatch) {\n try {\n dispatch({\n type: ROLES_BEGIN\n });\n\n if (role.id) {\n await rolesService.editRole(role);\n\n dispatch({\n type: EDIT_ROLE_SUCCESS,\n payload: {\n role: role\n }\n });\n }\n else {\n const c = await rolesService.saveRole(role);\n\n dispatch({\n type: CREATE_ROLE_SUCCESS,\n payload: {\n role: c\n }\n });\n }\n\n dispatch(fetchRoles(true));\n }\n catch (error) {\n dispatch({\n type: SEND_ROLE_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction deleteRole(roleId) {\n return async function (dispatch) {\n try {\n dispatch({\n type: ROLES_BEGIN\n });\n\n await rolesService.deleteRole(roleId);\n\n dispatch({\n type: DELETE_ROLE_SUCCESS\n });\n\n dispatch(fetchRoles(true));\n }\n catch (error) {\n dispatch({\n type: SEND_ROLE_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction fetchRoleClaims(roleId, forceFetch = true) {\n return async function (dispatch, getState) {\n try {\n const { roleClaims } = getState().rolesReducer;\n\n if (!forceFetch && roleClaims.roleId === roleId)\n return;\n\n dispatch({\n type: ROLES_BEGIN\n });\n\n const locale = getState().locales.current;\n const claims = await rolesService.getRoleClaims(roleId, locale);\n\n dispatch({\n type: FETCH_ROLE_CLAIMS_SUCCESS,\n payload: {\n roleClaims: {\n roleId: roleId,\n claims: claims\n }\n }\n });\n }\n catch (error) {\n dispatch({\n type: FETCH_ROLE_CLAIMS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction sendRoleClaims(roleId, lstClaimIds) {\n return async function (dispatch) {\n try {\n dispatch({\n type: ROLES_BEGIN\n });\n\n await rolesService.saveRoleClaims(roleId, lstClaimIds);\n\n dispatch({\n type: SAVE_ROLE_CLAIMS_SUCCESS,\n });\n\n dispatch(fetchRoleClaims(roleId, true));\n }\n catch (error) {\n dispatch({\n type: FETCH_ROLE_CLAIMS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction setError(error) {\n return function (dispatch) {\n dispatch({\n type: ROLES_SET_ERROR,\n payload: {\n error: error\n }\n });\n }\n}\n\nfunction fetchRoleContexts(roleId) {\n return function (dispatch) {\n dispatch({\n type: ROLES_ROLE_CONTEXT_STATE,\n payload: {\n loading: true,\n error: null\n }\n });\n\n try {\n const contexts = rolesService.getRoleContexts(roleId);\n\n dispatch({\n type: ROLES_ROLE_CONTEXT_STATE,\n payload: {\n loading: false,\n id:roleId,\n contexts: contexts,\n error: null\n }\n });\n } catch (error) {\n dispatch({\n type: ROLES_ROLE_CONTEXT_STATE,\n payload: {\n loading: false,\n id:0,\n contexts: [],\n error: error\n }\n });\n }\n }\n}","import { pageModes, tabDisplays } from \"../_constants/emparkConstants\";\nimport { auxActions } from \"./auxActions\";\nimport { rolesActions } from \"./rolesActions\";\n\nconst ActionTypes = {\n CHANGE_LOCALE: \"CHANGE_LOCALE\",\n changeLocale: changeLocale\n}\nexport default ActionTypes;\n\nfunction changeLocale(locale) {\n return async function (dispatch, getState) {\n const oldLocale = getState().locales.current;\n\n if (locale != oldLocale) {\n dispatch({\n type: ActionTypes.CHANGE_LOCALE,\n payload: {\n languageKey: locale\n }\n });\n\n const claims = getState().auxReducer.claims;\n if (claims.length > 0) {\n dispatch(auxActions.fetchClaims());\n }\n\n const roleClaims = getState().rolesReducer.roleClaims;\n if (roleClaims && roleClaims.roleId && roleClaims.roleId != '') {\n dispatch(rolesActions.fetchRoleClaims(roleClaims.roleId, true));\n dispatch(rolesActions.changeModeRoleClaims(pageModes.view))\n dispatch(rolesActions.setTabDisplay(tabDisplays.index))\n }\n }\n }\n}\n\n// export const saveFareSuccess = fareID => ({\n// type: SAVE_FARE_SUCCESS,\n// payload: {\n// fareID\n// }\n// });","import counterpart from 'counterpart'\nimport { defaultLanguageKey, MappedLanguage } from '../locales/languages'\nimport ActionTypes from '../actions/localeActions';\n\nconst initialState = {\n current: defaultLanguageKey,\n availableLanguages: MappedLanguage\n}\n\nexport function localesReducer(state = initialState, action) {\n switch (action.type) {\n case ActionTypes.CHANGE_LOCALE:\n counterpart.setLocale(action.payload.languageKey);\n return {\n ...state,\n current: action.payload.languageKey\n }\n default:\n return state;\n }\n}\n","import {\n MUNICIPALITIES_CHANGE_MODE,\n MUNICIPALITIES_BEGIN,\n FETCH_MUNICIPALITIES_SUCCESS,\n FETCH_MUNICIPALITIES_FAILURE,\n CREATE_MUNICIPALITY_SUCCESS,\n EDIT_MUNICIPALITY_SUCCESS,\n SEND_MUNICIPALITY_FAILURE,\n DELETE_MUNICIPALITY_SUCCESS,\n MUNICIPALITIES_SET_TAB_DISPLAY,\n MUNICIPALITIES_SET_ERROR,\n MUNICIPALITY_CONTEXTS_CHANGE_MODE,\n MUNICIPALITY_CONTEXTS_BEGIN,\n MUNICIPALITY_CONTEXTS_FAILURE,\n SAVE_MUNICIPALITY_CONTEXTS_SUCCESS,\n MUNICIPALITY_CONTEXT_SET_ERROR\n} from '../actions/municipalitiesActions';\n\n import {\n pageModes, tabDisplays\n } from '../_constants/emparkConstants'\n\nconst initialState = {\n municipalities: [],\n loading:false,\n saved:null,\n error:null,\n hasFetched:false,\n router: {\n mode:pageModes.list,\n id:0\n },\n tabDisplay: tabDisplays.index,\n municipalityContextsRouter: {\n mode:pageModes.view\n },\n loadingMunicipalityContexts: false,\n errorMunicipalityContexts: null,\n}\n\nexport function municipalitiesReducer(state = initialState, action) {\n switch (action.type) {\n case MUNICIPALITIES_CHANGE_MODE:\n return {\n ...state,\n router: action.payload,\n error:null\n };\n case MUNICIPALITY_CONTEXTS_CHANGE_MODE:\n return {\n ...state,\n municipalityContextsRouter: action.payload,\n errorMunicipalityContexts:null\n };\n case MUNICIPALITIES_SET_TAB_DISPLAY:\n return {\n ...state,\n tabDisplay: action.payload.tabDisplay,\n };\n case MUNICIPALITIES_SET_ERROR:\n return {\n ...state,\n error:action.payload.error\n }\n case MUNICIPALITY_CONTEXT_SET_ERROR:\n return {\n ...state,\n errorMunicipalityContexts:action.payload.error\n }\n case MUNICIPALITIES_BEGIN:\n return {\n ...state,\n loading: true,\n error: null,\n hasFetched:false\n };\n case FETCH_MUNICIPALITIES_SUCCESS:\n return {\n ...state,\n loading: false,\n municipalities: action.payload.municipalities,\n hasFetched:true\n };\n case FETCH_MUNICIPALITIES_FAILURE:\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n municipalities: [],\n hasFetched:false\n };\n case CREATE_MUNICIPALITY_SUCCESS: \n // history.push(routes.channels);\n\n return {\n ...state,\n loading: false,\n municipalities: [...state.municipalities, action.payload.municipality],\n router: {\n mode:pageModes.view,\n id:action.payload.municipality.id\n }\n };\n case EDIT_MUNICIPALITY_SUCCESS:\n return {\n ...state,\n loading: false,\n router: {\n mode:pageModes.view,\n id: action.payload.municipality.id\n }\n };\n case SEND_MUNICIPALITY_FAILURE:\n return {\n ...state,\n loading: false,\n error: action.payload.error\n };\n case DELETE_MUNICIPALITY_SUCCESS:\n return {\n ...state,\n loading: false,\n error: null,\n hasFetched:false,\n router: {\n mode: pageModes.list\n }\n };\n case MUNICIPALITY_CONTEXTS_BEGIN: \n return {\n ...state,\n loadingMunicipalityContexts: true,\n errorMunicipalityContexts:null\n };\n case MUNICIPALITY_CONTEXTS_FAILURE:\n return {\n ...state,\n loadingMunicipalityContexts: false,\n errorMunicipalityContexts:action.payload.error\n };\n case SAVE_MUNICIPALITY_CONTEXTS_SUCCESS:\n return {\n ...state,\n loadingMunicipalityContexts: false,\n error: null,\n municipalityContextsRouter: {\n mode:pageModes.view\n },\n tabDisplay:tabDisplays.index\n };\n\n default:\n return state;\n }\n}\n\n","\nimport translate from '../locales';\nimport { schedulesService } from '../services/schedulesService';\nimport { tabDisplays } from '../_constants/emparkConstants';\nimport { ratesActions } from './ratesActions';\n\nconst __t = translate;\n\nexport const SCHEDULES_CHANGE_MODE = \"SCHEDULES_CHANGE_MODE\";\nexport const SCHEDULES_SET_ERROR = \"SCHEDULES_SET_ERROR\";\nexport const SCHEDULES_BEGIN = \"SCHEDULES_BEGIN\";\nexport const SCHEDULES_FAILURE = \"SCHEDULES_FAILURE\";\n\nexport const FETCH_SCHEDULES_SUCCESS = \"FETCH_SCHEDULES_SUCCESS\";\nexport const FETCH_ONE_SCHEDULE_SUCCESS = \"FETCH_ONE_SCHEDULE_SUCCESS\";\nexport const CREATE_SCHEDULE_SUCCESS = \"CREATE_SCHEDULE_SUCCESS\";\nexport const EDIT_SCHEDULE_SUCCESS = \"CREATE_SCHEDULE_SUCCESS\";\nexport const DELETE_SCHEDULE_SUCCESS = \"DELETE_SCHEDULE_SUCCESS\";\nexport const SCHEDULES_SET_SCHEDULES_OVERLAP_ERROR = \"SCHEDULES_SET_SCHEDULES_OVERLAP_ERROR\";\nexport const SCHEDULES_SET_TAB_DISPLAY = \"SCHEDULES_SET_TAB_DISPLAY\";\n\nexport const schedulesActions = {\n changeMode,\n fetchSchedules,\n sendSchedule,\n setError,\n deleteSchedule,\n fetchOneSchedule,\n setErrorSchedulesOverlap,\n setTabDisplay,\n duplicate\n}\n\nfunction changeMode(mode, id) {\n return function (dispatch) {\n dispatch({\n type: SCHEDULES_CHANGE_MODE,\n payload: {\n mode: mode,\n id: id\n }\n });\n }\n}\n\nfunction setTabDisplay(tabDisplay) {\n return function (dispatch) {\n dispatch({\n type: SCHEDULES_SET_TAB_DISPLAY,\n payload: {\n tabDisplay: tabDisplay,\n }\n });\n }\n}\n\n\nfunction setError(error) {\n return function (dispatch) {\n dispatch({\n type: SCHEDULES_SET_ERROR,\n payload: {\n error: error\n }\n });\n }\n}\n\nfunction setErrorSchedulesOverlap(error) {\n return function (dispatch) {\n dispatch({\n type: SCHEDULES_SET_SCHEDULES_OVERLAP_ERROR,\n payload: {\n schedulesOverlapError: error\n }\n });\n }\n}\n\nfunction fetchSchedules(rateId, forceFetch = false) {\n return async function (dispatch, getState) {\n try {\n const { hasFetched } = getState().schedulesReducer;\n\n if (!forceFetch && getState().schedulesReducer.rateId === rateId)\n return;\n\n dispatch({\n type: SCHEDULES_BEGIN\n });\n\n var schedules = await schedulesService.getSchedules(rateId);\n\n dispatch({\n type: FETCH_SCHEDULES_SUCCESS,\n payload: {\n rateId: rateId,\n schedules: schedules\n }\n });\n }\n catch (error) {\n dispatch({\n type: SCHEDULES_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction sendSchedule(rateId, schedule) {\n return async function (dispatch) {\n try {\n dispatch({\n type: SCHEDULES_BEGIN\n });\n\n if (schedule.id) {\n const c = await schedulesService.editSchedule(rateId, schedule);\n\n if (Array.isArray(c)) {\n dispatch({\n type: SCHEDULES_SET_SCHEDULES_OVERLAP_ERROR,\n payload: {\n error: c\n }\n })\n\n return\n }\n\n dispatch({\n type: EDIT_SCHEDULE_SUCCESS,\n payload: {\n schedule: schedule\n }\n });\n }\n else {\n const c = await schedulesService.saveSchedule(rateId, schedule);\n\n if (Array.isArray(c)) {\n dispatch({\n type: SCHEDULES_SET_SCHEDULES_OVERLAP_ERROR,\n payload: {\n error: c\n }\n })\n\n return\n }\n\n dispatch({\n type: CREATE_SCHEDULE_SUCCESS,\n payload: {\n schedule: c\n }\n });\n }\n\n dispatch(ratesActions.setAsDraft());\n dispatch(fetchSchedules(rateId, true));\n }\n catch (error) {\n dispatch({\n type: SCHEDULES_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction deleteSchedule(rateId, scheduleId) {\n return async function (dispatch) {\n try {\n dispatch({\n type: SCHEDULES_BEGIN\n });\n\n await schedulesService.deleteSchedule(rateId, scheduleId);\n\n dispatch({\n type: DELETE_SCHEDULE_SUCCESS\n });\n\n dispatch(ratesActions.setAsDraft());\n dispatch(fetchSchedules(rateId, true));\n }\n catch (error) {\n dispatch({\n type: SCHEDULES_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction fetchOneSchedule(rateId, scheduleId) {\n return async function (dispatch) {\n try {\n dispatch({\n type: SCHEDULES_BEGIN\n });\n\n const schedule = await schedulesService.getSchedule(rateId, scheduleId);\n\n dispatch({\n type: FETCH_ONE_SCHEDULE_SUCCESS,\n payload: {\n schedule: schedule\n }\n });\n\n dispatch(ratesActions.setTabDisplay(tabDisplays.secondary))\n }\n catch (error) {\n dispatch({\n type: SCHEDULES_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction duplicate(rateId, originalId, schedule) {\n return async function (dispatch) {\n try {\n dispatch({\n type: SCHEDULES_BEGIN\n });\n\n const c = await schedulesService.duplicateSchedule(rateId, originalId, schedule);\n\n dispatch(fetchSchedules());\n dispatch(fetchOneSchedule(rateId, c.id));\n }\n catch (error) {\n dispatch({\n type: SCHEDULES_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n","\nimport translate from '../locales';\nimport { paidPeriodsService } from '../services/paidPeriodsService';\nimport { paidPeriodReference, tabDisplays } from '../_constants/emparkConstants';\nimport { ratesActions } from './ratesActions';\nimport { schedulesActions } from './schedulesActions';\n\nconst __t = translate;\n\nexport const PAID_PERIODS_CHANGE_MODE = \"PAID_PERIODS_CHANGE_MODE\";\nexport const PAID_PERIODS_SET_ERROR = \"PAID_PERIODS_SET_ERROR\";\nexport const PAID_PERIODS_BEGIN = \"PAID_PERIODS_BEGIN\";\nexport const PAID_PERIODS_FAILURE = \"PAID_PERIODS_FAILURE\";\n\nexport const FETCH_PAID_PERIODS_SCHEDULE_SUCCESS = \"FETCH_PAID_PERIODS_SCHEDULE_SUCCESS\";\nexport const FETCH_PAID_PERIODS_SPECIAL_DAY_SUCCESS = \"FETCH_PAID_PERIODS_SPECIAL_DAY_SUCCESS\";\nexport const FETCH_ONE_PAID_PERIOD_SUCCESS = \"FETCH_ONE_PAID_PERIOD_SUCCESS\";\nexport const CREATE_PAID_PERIOD_SUCCESS = \"CREATE_PAID_PERIOD_SUCCESS\";\nexport const EDIT_PAID_PERIOD_SUCCESS = \"CREATE_PAID_PERIOD_SUCCESS\";\nexport const DELETE_PAID_PERIOD_SUCCESS = \"DELETE_PAID_PERIOD_SUCCESS\";\nexport const PAID_PERIODS_SET_PAID_PERIODS_OVERLAP_ERROR = \"PAID_PERIODS_SET_PAID_PERIODS_OVERLAP_ERROR\";\n\nexport const paidPeriodsActions = {\n changeMode,\n fetchPaidPeriods,\n sendPaidPeriod,\n setError,\n deletePaidPeriod,\n fetchOnPaidPeriod,\n setErrorPaidPeriodsOverlap\n}\n\nfunction changeMode(mode, id) {\n return function (dispatch) {\n dispatch({\n type: PAID_PERIODS_CHANGE_MODE,\n payload: {\n mode: mode,\n id: id\n }\n });\n }\n}\n\nfunction setError(error) {\n return function (dispatch) {\n dispatch({\n type: PAID_PERIODS_SET_ERROR,\n payload: {\n error: error\n }\n });\n }\n}\n\nfunction setErrorPaidPeriodsOverlap(error) {\n return function (dispatch) {\n dispatch({\n type: PAID_PERIODS_SET_PAID_PERIODS_OVERLAP_ERROR,\n payload: {\n paidPeriodsOverlapError: error\n }\n });\n }\n}\n\nfunction fetchPaidPeriods(reference, referenceId, forceFetch = false) {\n return async function (dispatch, getState) {\n try {\n const { hasFetched, scheduleId, specialDayId } = getState().paidPeriodsReducer;\n\n if (!forceFetch) {\n if (reference === paidPeriodReference.schedule && referenceId == scheduleId || reference === paidPeriodReference.specialDay && referenceId == specialDayId)\n return;\n }\n\n dispatch({\n type: PAID_PERIODS_BEGIN\n });\n\n if (reference === paidPeriodReference.schedule) {\n const paidPeriods = await paidPeriodsService.getPaidPeriodsBySchedule(referenceId);\n\n dispatch({\n type: FETCH_PAID_PERIODS_SCHEDULE_SUCCESS,\n payload: {\n scheduleId: referenceId,\n paidPeriods: paidPeriods\n }\n });\n }\n else {\n const paidPeriods = await paidPeriodsService.getPaidPeriodsBySpecialDay(referenceId);\n\n dispatch({\n type: FETCH_PAID_PERIODS_SPECIAL_DAY_SUCCESS,\n payload: {\n specialDayId: referenceId,\n paidPeriods: paidPeriods\n }\n });\n }\n }\n catch (error) {\n dispatch({\n type: PAID_PERIODS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction sendPaidPeriod(reference, referenceId, paidPeriod) {\n return async function (dispatch) {\n try {\n dispatch({\n type: PAID_PERIODS_BEGIN\n });\n\n if (paidPeriod.id) {\n const c = await paidPeriodsService.editPaidPeriod(paidPeriod);\n\n if (Array.isArray(c)) {\n dispatch({\n type: PAID_PERIODS_SET_PAID_PERIODS_OVERLAP_ERROR,\n payload: {\n error: c\n }\n })\n\n return\n }\n\n dispatch({\n type: EDIT_PAID_PERIOD_SUCCESS,\n payload: {\n paidPeriod: c\n }\n });\n }\n else {\n const c = await paidPeriodsService.savePaidPeriod(paidPeriod);\n\n if (Array.isArray(c)) {\n dispatch({\n type: PAID_PERIODS_SET_PAID_PERIODS_OVERLAP_ERROR,\n payload: {\n error: c\n }\n })\n\n return\n }\n\n dispatch({\n type: CREATE_PAID_PERIOD_SUCCESS,\n payload: {\n paidPeriod: c\n }\n });\n }\n\n dispatch(ratesActions.setAsDraft());\n dispatch(fetchPaidPeriods(reference, referenceId, true));\n }\n catch (error) {\n dispatch({\n type: PAID_PERIODS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction deletePaidPeriod(reference, referenceId, paidPeriodId) {\n return async function (dispatch) {\n try {\n dispatch({\n type: PAID_PERIODS_BEGIN\n });\n\n await paidPeriodsService.deletePaidPeriod(paidPeriodId);\n\n dispatch({\n type: DELETE_PAID_PERIOD_SUCCESS\n });\n\n dispatch(ratesActions.setAsDraft());\n dispatch(fetchPaidPeriods(reference, referenceId, true));\n }\n catch (error) {\n dispatch({\n type: PAID_PERIODS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction fetchOnPaidPeriod(paidPeriodId) {\n return async function (dispatch) {\n try {\n dispatch({\n type: PAID_PERIODS_BEGIN\n });\n\n const paidPeriod = await paidPeriodsService.getPaidPeriod(paidPeriodId);\n\n dispatch({\n type: FETCH_ONE_PAID_PERIOD_SUCCESS,\n payload: {\n paidPeriod: paidPeriod\n }\n });\n\n dispatch(schedulesActions.setTabDisplay(tabDisplays.secondary))\n }\n catch (error) {\n dispatch({\n type: PAID_PERIODS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n","import {\n CREATE_PAID_PERIOD_SUCCESS, DELETE_PAID_PERIOD_SUCCESS, EDIT_PAID_PERIOD_SUCCESS, FETCH_ONE_PAID_PERIOD_SUCCESS, FETCH_PAID_PERIODS_SPECIAL_DAY_SUCCESS, FETCH_PAID_PERIODS_SCHEDULE_SUCCESS, PAID_PERIODS_BEGIN, PAID_PERIODS_CHANGE_MODE, PAID_PERIODS_FAILURE, PAID_PERIODS_SET_ERROR, PAID_PERIODS_SET_PAID_PERIODS_OVERLAP_ERROR\n} from '../actions/paidPeriodsActions';\nimport {\n pageModes, tabDisplays\n} from '../_constants/emparkConstants';\n\n\nconst initialState = {\n scheduleId: 0,\n specialDayId: 0,\n paidPeriods: [],\n paidPeriod: null,\n loading: false,\n error: null,\n hasFetched: false,\n router: {\n mode: pageModes.list,\n id: 0\n },\n paidPeriodsOverlapError: null\n}\n\nexport function paidPeriodsReducer(state = initialState, action) {\n switch (action.type) {\n case PAID_PERIODS_CHANGE_MODE:\n return {\n ...state,\n router: {\n mode: action.payload.mode,\n id: action.payload.id\n },\n paidPeriod: action.payload.mode === pageModes.add ? null : state.paidPeriod,\n error: null\n };\n case PAID_PERIODS_SET_ERROR:\n return {\n ...state,\n error: action.payload.error\n };\n case PAID_PERIODS_SET_PAID_PERIODS_OVERLAP_ERROR:\n return {\n ...state,\n paidPeriodsOverlapError: action.payload.error,\n loading: false\n };\n case PAID_PERIODS_BEGIN:\n return {\n ...state,\n loading: true,\n error: null,\n hasFetched: false\n };\n case PAID_PERIODS_FAILURE:\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n hasFetched: false\n };\n case FETCH_PAID_PERIODS_SCHEDULE_SUCCESS:\n return {\n ...state,\n loading: false,\n paidPeriods: action.payload.paidPeriods,\n scheduleId: action.payload.scheduleId,\n specialDayId: 0,\n hasFetched: true,\n error: null\n };\n case FETCH_PAID_PERIODS_SPECIAL_DAY_SUCCESS:\n return {\n ...state,\n loading: false,\n paidPeriods: action.payload.paidPeriods,\n scheduleId: 0,\n specialDayId: action.payload.specialDayId,\n hasFetched: true,\n error: null\n };\n case CREATE_PAID_PERIOD_SUCCESS:\n return {\n ...state,\n loading: false,\n error: null,\n router: {\n mode: pageModes.view,\n id: action.payload.paidPeriod.id\n },\n paidPeriod: action.payload.paidPeriod\n };\n case EDIT_PAID_PERIOD_SUCCESS:\n return {\n ...state,\n loading: false,\n error: null,\n router: {\n mode: pageModes.view,\n id: action.payload.paidPeriod.id\n },\n paidPeriod: action.payload.paidPeriod\n };\n case DELETE_PAID_PERIOD_SUCCESS:\n return {\n ...state,\n loading: false,\n error: null,\n hasFetched: true,\n router: {\n mode: pageModes.list\n }\n };\n case FETCH_ONE_PAID_PERIOD_SUCCESS:\n return {\n ...state,\n loading: false,\n error: null,\n router: {\n mode: pageModes.view,\n id: action.payload.paidPeriod.id\n },\n paidPeriod: action.payload.paidPeriod,\n }\n default:\n return state;\n }\n}\n\n","import {\n FETCH_PARKINGS_BEGIN,\n FETCH_PARKINGS_SUCCESS,\n FETCH_PARKINGS_FAILURE,\n FETCH_CITIES_BEGIN,\n FETCH_CITIES_SUCCESS,\n FETCH_CITIES_FAILURE,\n FILTER_PARKINGS_SUCCESS,\n} from '../actions/parkingsListActions';\n\nconst initialState = {\n parkings: [],\n cities: [],\n loading: false,\n error: null\n};\n\nexport function parkingsReducer(state = initialState, action) {\n switch(action.type) {\n case FETCH_CITIES_BEGIN:\n return {\n ...state,\n loading: true,\n error: null\n };\n case FETCH_CITIES_SUCCESS:\n return {\n ...state,\n loading: false,\n cities: action.payload.cities\n };\n case FETCH_CITIES_FAILURE:\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n cities: []\n };\n case FETCH_PARKINGS_BEGIN:\n return {\n ...state,\n loading: true,\n error: null\n };\n\n case FETCH_PARKINGS_SUCCESS:\n return {\n ...state,\n loading: false,\n parkings: action.payload.parkings\n };\n\n case FETCH_PARKINGS_FAILURE:\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n parkings: []\n };\n\n case FILTER_PARKINGS_SUCCESS:\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n parkings: action.payload.parkings\n };\n\n default:\n return state;\n }\n}\n","import {\n PARKING_ZONE_SELECTED,\n} from '../actions/parkingZoneActions';\n\nconst [\n parkingID, parkingZone, parkingSapCode, parkingCity\n] = [\n // localStorage.getItem('selectedParkingZoneID'),\n // localStorage.getItem('selectedParkingZone'),\n // localStorage.getItem('selectedParkingSapCode'),\n // localStorage.getItem('selectedParkingCity')\n];\n\nconst initialState = (!([parkingZone, parkingSapCode, parkingCity, parkingID].some(_ => _ == null || _ === 'undefined')) && {\n name: parkingZone,\n sapCode: parkingSapCode,\n parkingCity: parkingCity,\n parkingID: parkingID\n}) || {\n name: '',\n parkingID: '',\n parkingCity: '',\n sapCode: ''\n};\n\nexport function parkingZoneReducer(state = initialState, action) {\n switch(action.type) {\n case PARKING_ZONE_SELECTED:\n const parkingZoneObj = action.payload.parkingZone;\n const [parkingID, name, sapCode, parkingCity] = [parkingZoneObj.id, parkingZoneObj.name, parkingZoneObj.sapCode, parkingZoneObj.city];\n // localStorage.setItem('selectedParkingZoneID', parkingID);\n // localStorage.setItem('selectedParkingZone', name);\n // localStorage.setItem('selectedParkingSapCode', sapCode);\n // localStorage.setItem('selectedParkingCity', parkingCity);\n return {\n ...state,\n name: name,\n sapCode: sapCode,\n parkingCity: parkingCity,\n parkingID: parkingID,\n loading: false,\n error: null\n };\n default:\n return state;\n }\n}","import { periodsService } from \"../services/periodsService\";\n\nimport translate from '../locales';\nimport { ratesActions } from \"./ratesActions\";\n\nconst __t = translate;\n\nexport const PERIODS_CHANGE_MODE = \"PERIODS_CHANGE_MODE\";\nexport const PERIODS_SET_ERROR = \"PERIODS_SET_ERROR\";\nexport const PERIODS_SET_ERROR_PERIOD_POSITION_OVERLAP = \"PERIODS_SET_ERROR_PERIOD_POSITION_OVERLAP\";\nexport const PERIODS_BEGIN = \"PERIODS_BEGIN\";\nexport const PERIODS_FAILURE = \"PERIODS_FAILURE\";\nexport const FETCH_PERIODS_SUCCESS = \"FETCH_PERIODS_SUCCESS\";\nexport const CREATE_PERIOD_SUCCESS = \"CREATE_PERIOD_SUCCESS\";\nexport const EDIT_PERIOD_SUCCESS = \"EDIT_PERIOD_SUCCESS\";\nexport const DELETE_PERIOD_SUCCESS = \"DELETE_PERIOD_SUCCESS\";\nexport const PERIOD_POSITIONS_CHANGE_MODE = \"PERIOD_POSITIONS_CHANGE_MODE\";\nexport const PERIOD_POSITIONS_BEGIN = \"PERIOD_POSITIONS_BEGIN\";\nexport const PERIOD_POSITIONS_FAILURE = \"PERIOD_POSITIONS_FAILURE\";\nexport const FETCH_PERIOD_POSITIONS_SUCCESS = \"FETCH_PERIOD_POSITIONS_SUCCESS\";\nexport const SEND_PERIOD_POSITIONS_SUCCESS = \"SEND_PERIOD_POSITIONS_SUCCESS\";\n\nexport const PERIODS_SET_TAB_DISPLAY = \"PERIODS_SET_TAB_DISPLAY\";\n\n\nexport const periodsActions = {\n changeMode,\n fetchPeriods,\n sendPeriod,\n deletePeriod,\n changeModePeriodPositions,\n fetchPeriodPositions,\n sendPeriodPositions,\n setTabDisplay,\n setError,\n setErrorPeriodPositionsOverlap\n}\n\nfunction changeMode(mode, id) {\n return async function (dispatch) {\n dispatch({\n type: PERIODS_CHANGE_MODE,\n payload: {\n mode: mode,\n id: id\n }\n });\n }\n}\n\nfunction setTabDisplay(tabDisplay) {\n return function (dispatch) {\n dispatch({\n type: PERIODS_SET_TAB_DISPLAY,\n payload: {\n tabDisplay: tabDisplay,\n }\n });\n }\n}\n\nfunction setError(error) {\n return function (dispatch) {\n dispatch({\n type: PERIODS_SET_ERROR,\n payload: {\n error: error\n }\n });\n }\n}\n\nfunction setErrorPeriodPositionsOverlap(error) {\n return function (dispatch) {\n dispatch({\n type: PERIODS_SET_ERROR_PERIOD_POSITION_OVERLAP,\n payload: {\n error: error\n }\n });\n }\n}\n\nfunction fetchPeriods(rateId, forceFetch = false) {\n return async function (dispatch) {\n try {\n // if(!forceFetch && )\n\n dispatch({ type: PERIODS_BEGIN });\n\n const periods = await periodsService.getPeriods(rateId);\n\n dispatch({\n type: FETCH_PERIODS_SUCCESS,\n payload: {\n periods: periods\n }\n });\n }\n catch (error) {\n dispatch({\n type: PERIODS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction sendPeriod(rateId, period) {\n return async function (dispatch, getState) {\n try {\n const locale = getState().locales.current;\n\n dispatch({ type: PERIODS_BEGIN });\n\n if (period.id) {\n const result = await periodsService.editPeriod(rateId, period, locale);\n\n if (result.error) {\n dispatch({\n type: PERIODS_SET_ERROR_PERIOD_POSITION_OVERLAP,\n payload: {\n error: result\n }\n });\n return;\n }\n\n dispatch({\n type: EDIT_PERIOD_SUCCESS,\n payload: {\n period: result\n }\n });\n }\n else {\n const result = await periodsService.savePeriod(rateId, period);\n\n dispatch({\n type: CREATE_PERIOD_SUCCESS,\n payload: {\n period: result\n }\n });\n }\n\n dispatch(ratesActions.setAsDraft());\n dispatch(fetchPeriods(rateId, true));\n }\n catch (error) {\n dispatch({\n type: PERIODS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction deletePeriod(rateId, periodId) {\n return async function (dispatch) {\n try {\n dispatch({ type: PERIODS_BEGIN });\n\n await periodsService.deletePeriod(rateId, periodId);\n\n dispatch({ type: DELETE_PERIOD_SUCCESS })\n\n dispatch(ratesActions.setAsDraft());\n dispatch(fetchPeriods(rateId, true));\n }\n catch (error) {\n dispatch({\n type: PERIODS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\n/* Period Positions */\nfunction changeModePeriodPositions(mode, id) {\n return async function (dispatch) {\n dispatch({\n type: PERIOD_POSITIONS_CHANGE_MODE,\n payload: {\n mode: mode,\n id: id\n }\n });\n }\n}\n\nfunction fetchPeriodPositions(rateId, periodId) {\n return async function (dispatch) {\n try {\n dispatch({ type: PERIOD_POSITIONS_BEGIN });\n\n const periodPositions = await periodsService.getPeriodPositions(rateId, periodId);\n\n dispatch({\n type: FETCH_PERIOD_POSITIONS_SUCCESS,\n payload: {\n periodPositions: {\n positions: periodPositions,\n periodId: periodId\n }\n }\n });\n }\n catch (error) {\n dispatch({\n type: PERIOD_POSITIONS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction sendPeriodPositions(rateId, periodId, lstPositionIds) {\n return async function (dispatch, getState) {\n try {\n const locale = getState().locales.current;\n\n dispatch({\n type: PERIOD_POSITIONS_BEGIN\n });\n\n const result = await periodsService.savePeriodPositions(rateId, periodId, lstPositionIds, locale);\n\n if (result.error) {\n dispatch({\n type: PERIODS_SET_ERROR_PERIOD_POSITION_OVERLAP,\n payload: {\n error: result\n }\n });\n return;\n }\n\n dispatch({\n type: SEND_PERIOD_POSITIONS_SUCCESS,\n });\n\n dispatch(ratesActions.setAsDraft());\n dispatch(fetchPeriodPositions(rateId, periodId));\n }\n catch (error) {\n dispatch({\n type: PERIOD_POSITIONS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\n","import {\n PERIODS_CHANGE_MODE,\n PERIODS_BEGIN,\n PERIODS_FAILURE,\n FETCH_PERIODS_SUCCESS,\n CREATE_PERIOD_SUCCESS,\n EDIT_PERIOD_SUCCESS,\n DELETE_PERIOD_SUCCESS,\n PERIOD_POSITIONS_CHANGE_MODE,\n PERIOD_POSITIONS_BEGIN,\n PERIOD_POSITIONS_FAILURE,\n FETCH_PERIOD_POSITIONS_SUCCESS,\n SEND_PERIOD_POSITIONS_SUCCESS,\n PERIOD_SELECTION_POINTS_CHANGE_MODE,\n PERIODS_SET_TAB_DISPLAY,\n PERIODS_SET_ERROR,\n PERIODS_SET_ERROR_PERIOD_POSITION_OVERLAP\n} from '../actions/periodsActions';\n\nimport {\n pageModes, tabDisplays\n} from '../_constants/emparkConstants'\n\nconst initialState = {\n periods: [],\n loading: false,\n error: null,\n hasFetched: false,\n tabDisplay: tabDisplays.index,\n router: {\n mode: pageModes.list,\n id: 0\n },\n periodPositions: {\n periodId: 0,\n positions: []\n },\n periodPositionsLoading: false,\n periodPositionsError: null,\n periodPositionsRouter: {\n mode: pageModes.view\n },\n periodPositionsOverlapError: null\n}\n\nexport function periodsReducer(state = initialState, action) {\n switch (action.type) {\n case PERIODS_CHANGE_MODE:\n return {\n ...state,\n router: { ...action.payload },\n error: null\n };\n case PERIODS_SET_ERROR:\n return {\n ...state,\n error: action.payload.error\n };\n case PERIODS_SET_TAB_DISPLAY:\n return {\n ...state,\n tabDisplay: action.payload.tabDisplay,\n };\n case PERIODS_BEGIN:\n return {\n ...state,\n loading: true,\n error: null,\n hasFetched: false\n };\n case FETCH_PERIODS_SUCCESS:\n return {\n ...state,\n loading: false,\n error: null,\n periods: action.payload.periods,\n hasFetched: true\n };\n case CREATE_PERIOD_SUCCESS:\n return {\n ...state,\n loading: false,\n error: null,\n periods: [...state.periods, action.payload.period],\n router: {\n mode: pageModes.view,\n id: action.payload.period.id\n }\n };\n case EDIT_PERIOD_SUCCESS:\n return {\n ...state,\n loading: false,\n error: null,\n router: {\n mode: pageModes.view,\n id: action.payload.period.id\n }\n };\n case DELETE_PERIOD_SUCCESS:\n return {\n ...state,\n loading: false,\n error: null\n };\n case PERIODS_FAILURE:\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n hasFetched: false\n };\n case PERIOD_POSITIONS_CHANGE_MODE:\n return {\n ...state,\n periodPositionsRouter: { ...action.payload },\n periodPositionsError: null\n };\n case PERIOD_POSITIONS_BEGIN:\n return {\n ...state,\n periodPositionsLoading: true,\n periodPositionsError: null,\n };\n case FETCH_PERIOD_POSITIONS_SUCCESS:\n return {\n ...state,\n periodPositionsLoading: false,\n periodPositionsError: null,\n periodPositions: action.payload.periodPositions,\n periodPositionsRouter: {\n mode: pageModes.view\n },\n tabDisplay: tabDisplays.index\n };\n case SEND_PERIOD_POSITIONS_SUCCESS:\n return {\n ...state,\n periodPositionsLoading: false,\n periodPositionsError: null\n };\n case PERIOD_POSITIONS_FAILURE:\n return {\n ...state,\n periodPositionsLoading: false,\n periodPositionsError: action.payload.error\n };\n case PERIODS_SET_ERROR_PERIOD_POSITION_OVERLAP:\n return {\n ...state,\n periodPositionsOverlapError: action.payload.error,\n periodPositionsLoading:false,\n loading:false,\n error:null\n };\n default:\n return state;\n }\n}\n\n","import translate from '../locales';\n\nimport { positionsService } from '../services/positionsService';\nimport { positionReference, tabDisplays } from '../_constants/emparkConstants';\nimport {contextsActions} from './contextsActions'\n\nconst __t = translate;\n\nexport const positionsActions = {\n changeMode,\n fetchPositions,\n deletePosition,\n sendPosition,\n setError\n}\n\nexport const POSITIONS_CHANGE_MODE = \"POSITIONS_CHANGE_MODE\";\nexport const POSITIONS_BEGIN = \"POSITIONS_BEGIN\";\nexport const FETCH_POSITIONS_SUCCESS = \"FETCH_POSITIONS_SUCCESS\";\nexport const CREATE_POSITION_SUCCESS = \"CREATE_POSITIONS_SUCCESS\";\nexport const EDIT_POSITION_SUCCESS = \"EDIT_POSITIONS_SUCCESS\";\nexport const DELETE_POSITION_SUCCESS = \"DELETE_POSITIONS_SUCCESS\";\nexport const POSITIONS_FAILURE = \"POSITIONS_FAILURE\";\nexport const POSITIONS_SET_ERROR = \"POSITIONS_SET_ERROR\";\n\nfunction changeMode(mode, id) {\n return function(dispatch) {\n dispatch({\n type:POSITIONS_CHANGE_MODE,\n payload: {\n mode:mode,\n id:id\n }\n });\n }\n}\n\nfunction setError(error) {\n return function(dispatch) {\n dispatch({\n type:POSITIONS_SET_ERROR,\n payload: {\n error: error\n }\n });\n }\n}\n\nfunction fetchPositions(contextId) {\n return async function(dispatch, getState) {\n try {\n dispatch({type:POSITIONS_BEGIN});\n\n const positions = await positionsService.getPositions(contextId);\n\n dispatch({\n type:FETCH_POSITIONS_SUCCESS,\n payload: {\n positions:positions\n }\n });\n }\n catch(error) {\n dispatch({\n type:POSITIONS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction sendPosition(contextId, position) {\n return async function(dispatch, getState) {\n try {\n dispatch({type:POSITIONS_BEGIN});\n\n if(position.id) {\n const result = await positionsService.editPosition(contextId, position);\n\n dispatch({\n type:EDIT_POSITION_SUCCESS,\n payload: {\n position: result\n }\n })\n }\n else {\n const result = await positionsService.savePosition(contextId, position);\n\n dispatch({\n type:CREATE_POSITION_SUCCESS,\n payload: {\n position: result\n }\n })\n }\n\n dispatch(fetchPositions(contextId));\n\n dispatch(contextsActions.setTabDisplay(tabDisplays.index));\n\n setTimeout(() => {\n var element = document.querySelector(\"#position-table-guide\");\n\n if(element)\n element.scrollIntoView();\n }, 500);\n }\n catch(error) {\n dispatch({\n type:POSITIONS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction deletePosition(contextId, positionId) {\n return async function(dispatch, getState) {\n try {\n dispatch({type:POSITIONS_BEGIN});\n\n await positionsService.deletePosition(contextId, positionId);\n\n dispatch({\n type:DELETE_POSITION_SUCCESS,\n });\n\n dispatch(fetchPositions(contextId));\n }\n catch(error) {\n dispatch({\n type:POSITIONS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}","import {\n POSITIONS_CHANGE_MODE,\n POSITIONS_BEGIN,\n POSITIONS_FAILURE,\n FETCH_POSITIONS_SUCCESS,\n CREATE_POSITION_SUCCESS,\n EDIT_POSITION_SUCCESS,\n DELETE_POSITION_SUCCESS,\n POSITIONS_SET_ERROR,\n} from '../actions/positionsActions';\n\nimport {\n pageModes\n} from '../_constants/emparkConstants'\n\nconst initialState = {\n contextId:0,\n positions: [],\n loading:false,\n error:null,\n hasFetched:false,\n router: {\n mode:pageModes.list,\n id:0\n }\n}\n\nexport function positionsReducer(state = initialState, action) {\n switch (action.type) {\n case POSITIONS_CHANGE_MODE:\n return {\n ...state,\n router: {\n mode:action.payload.mode,\n id:action.payload.id\n },\n error:null\n };\n case POSITIONS_SET_ERROR:\n return {\n ...state,\n error:action.payload.error\n };\n case POSITIONS_BEGIN:\n return {\n ...state,\n loading: true,\n error: null,\n hasFetched:false\n };\n case POSITIONS_FAILURE:\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n hasFetched:false\n };\n case FETCH_POSITIONS_SUCCESS:\n return {\n ...state,\n loading: false,\n positions: action.payload.positions,\n hasFetched:true,\n error:null\n };\n case CREATE_POSITION_SUCCESS: \n return {\n ...state,\n loading:false,\n error:null,\n router: {\n mode:pageModes.list,\n }\n };\n case EDIT_POSITION_SUCCESS:\n return {\n ...state,\n loading: false,\n error:null,\n router: {\n mode:pageModes.list,\n }\n };\n case DELETE_POSITION_SUCCESS:\n return {\n ...state,\n loading: false,\n error: null,\n hasFetched:true,\n pageModes:pageModes.list\n };\n default:\n return state;\n }\n}\n\n","import {\n FETCH_RATES_BEGIN,\n FETCH_RATES_SUCCESS,\n FETCH_RATES_FAILURE,\n SEND_RATE_BEGIN,\n CREATE_RATE_SUCCESS,\n SEND_RATE_FAILURE,\n EDIT_RATE_SUCCESS,\n RATES_CHANGE_MODE,\n RATES_SET_ERROR,\n DELETE_RATE_SUCCESS,\n FETCH_RATE_CHANNELS_FAILURE,\n FETCH_RATE_CHANNELS_SUCCESS,\n CREATE_RATE_CHANNEL_SUCCESS,\n EDIT_RATE_CHANNEL_SUCCESS,\n DELETE_RATE_CHANNEL_SUCCESS,\n RATE_CHANNELS_CHANGE_MODE,\n RATE_CHANNELS_BEGIN,\n RATES_SET_TAB_DISPLAY,\n RATE_SELECTION_POINTS_CHANGE_MODE,\n RATE_SELECTION_POINTS_BEGIN,\n RATE_SELECTION_POINTS_FAILURE,\n FETCH_SELECTION_POINTS_SUCCESS,\n SEND_SELECTION_POINTS_SUCCESS,\n RATE_CHANNELS_SET_ERROR,\n RATE_EXPORT_DONE,\n RATE_SEL_POINTS_ERROR,\n VALIDATE_RATE_BEGIN,\n SET_VALIDATE_ERROR,\n RATE_VALIDATE_SUCCESS,\n RATE_TRANSLATION_MODAL_SHOW,\n RATE_TRANSLATION_MODAL_HIDE,\n RATE_TRANSLATION_SEND_SUCCESS,\n RATE_TRANSLATION_ERROR,\n RATE_TRANSLATION_BEGIN,\n RATE_TRANSLATION_FETCH_SUCCESS,\n SET_SELECTED_TAB,\n RATE_SET_AS_DRAFT,\n RATES_SET_ERROR_EXPORT,\n RESET_RATE_TRANSLATIONS,\n RATE_UPDATE_OVERWRITE,\n RESET_RATES\n} from '../actions/ratesActions';\n\nimport {\n pageModes, tabDisplays\n} from '../_constants/emparkConstants'\n\nconst initialState = {\n contextId: 0,\n rates: [],\n loading: false,\n saved: null,\n error: null,\n hasFetched: false,\n tabDisplay: tabDisplays.index,\n router: {\n mode: pageModes.list,\n id: 0\n },\n selectedTab: '',\n loadingRateChannels: false,\n errorRateChannels: null,\n rateChannels: {\n rateId: 0,\n channels: []\n },\n rateChannelsRouter: {\n mode: pageModes.list,\n id: 0,\n },\n fareSelectionPoints: [],\n fareSelectionPointsLoading: false,\n fareSelectionPointsError: null,\n fareSelectionPointsRouter: {\n mode: pageModes.view\n },\n validateError: null,\n translations: [],\n loadingTranslation: false,\n translationModalOpen: false,\n errorTranslation: null,\n errorExport: null\n}\n\nexport function ratesReducer(state = initialState, action) {\n switch (action.type) {\n case RESET_RATES:\n return {\n ...state,\n rates: [],\n router: {\n mode: pageModes.list,\n id: 0\n },\n selectedTab: '',\n }\n case RESET_RATE_TRANSLATIONS:\n return {\n ...state,\n translations: []\n }\n case RATES_CHANGE_MODE:\n return {\n ...state,\n router: {\n mode: action.payload.mode,\n id: action.payload.id\n },\n error: null\n };\n case RATES_SET_TAB_DISPLAY:\n return {\n ...state,\n tabDisplay: action.payload.tabDisplay,\n };\n case RATES_SET_ERROR:\n return {\n ...state,\n error: action.payload.error,\n loading: false\n };\n case RATES_SET_ERROR_EXPORT:\n return {\n ...state,\n errorExport: action.payload.error,\n loading: false\n };\n case RATE_CHANNELS_SET_ERROR:\n return {\n ...state,\n errorRateChannels: action.payload.error\n };\n case RATE_SEL_POINTS_ERROR:\n return {\n ...state,\n fareSelectionPointsError: action.payload.error\n };\n case SET_SELECTED_TAB:\n return {\n ...state,\n selectedTab: action.payload.tab\n };\n case FETCH_RATES_BEGIN:\n return {\n ...state,\n loading: true,\n error: null,\n hasFetched: false\n };\n case FETCH_RATES_SUCCESS:\n return {\n ...state,\n loading: false,\n contextId: action.payload.contextId,\n rates: action.payload.rates,\n hasFetched: true,\n };\n case FETCH_RATES_FAILURE:\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n hasFetched: false,\n };\n case SEND_RATE_BEGIN:\n return {\n ...state,\n loading: true,\n error: null\n };\n case CREATE_RATE_SUCCESS:\n return {\n ...state,\n loading: false,\n rates: [...state.rates, action.payload.rate],\n hasFetched: false,\n error: null,\n router: {\n mode: pageModes.view,\n id: action.payload.rate.id\n }\n };\n case EDIT_RATE_SUCCESS: {\n const rates = state.rates.filter(c => c.id !== action.payload.rate.id);\n\n return {\n ...state,\n loading: false,\n rates: [...rates, action.payload.rate],\n hasFetched: false,\n error: null,\n router: {\n mode: pageModes.view,\n id: action.payload.rate.id\n }\n };\n }\n case SEND_RATE_FAILURE:\n return {\n ...state,\n loading: false,\n error: action.payload.error\n };\n case DELETE_RATE_SUCCESS:\n return {\n ...state,\n loading: false,\n error: null,\n hasFetched: false,\n router: {\n mode: pageModes.list\n }\n };\n case RATE_CHANNELS_BEGIN:\n return {\n ...state,\n loadingRateChannels: true,\n error: null\n }\n case RATE_CHANNELS_CHANGE_MODE:\n return {\n ...state,\n rateChannelsRouter: {\n mode: action.payload.mode,\n id: action.payload.id\n },\n errorRateChannels: null\n };\n case FETCH_RATE_CHANNELS_SUCCESS:\n return {\n ...state,\n loadingRateChannels: false,\n rateChannels: action.payload.rateChannels,\n errorRateChannels: null,\n };\n case FETCH_RATE_CHANNELS_FAILURE:\n return {\n ...state,\n loadingRateChannels: false,\n errorRateChannels: action.payload.error,\n };\n case CREATE_RATE_CHANNEL_SUCCESS:\n return {\n ...state,\n loadingRateChannels: false,\n errorRateChannels: null,\n rateChannelsRouter: {\n mode: pageModes.list\n },\n tabDisplay: tabDisplays.index,\n rates: state.rates.map(r => r.id != state.router.id ? r : { ...r, isDraft: true })\n };\n case EDIT_RATE_CHANNEL_SUCCESS:\n return {\n ...state,\n loadingRateChannels: false,\n errorRateChannels: null,\n rateChannelsRouter: {\n mode: pageModes.list\n },\n rates: state.rates.map(r => r.id != state.router.id ? r : { ...r, isDraft: true })\n };\n case DELETE_RATE_CHANNEL_SUCCESS:\n return {\n ...state,\n loadingRateChannels: false,\n error: null,\n rateChannelsRouter: {\n mode: pageModes.list\n },\n rates: state.rates.map(r => r.id != state.router.id ? r : { ...r, isDraft: true })\n };\n case RATE_SELECTION_POINTS_CHANGE_MODE:\n return {\n ...state,\n fareSelectionPointsRouter: action.payload,\n fareSelectionPointsError: null\n };\n case RATE_SELECTION_POINTS_BEGIN:\n return {\n ...state,\n fareSelectionPointsLoading: true,\n fareSelectionPointsError: null,\n };\n case FETCH_SELECTION_POINTS_SUCCESS:\n return {\n ...state,\n fareSelectionPointsLoading: false,\n fareSelectionPointsError: null,\n fareSelectionPoints: action.payload.fareSelectionPoints,\n }\n\n case SEND_SELECTION_POINTS_SUCCESS:\n return {\n ...state,\n fareSelectionPointsLoading: false,\n fareSelectionPointsError: null,\n fareSelectionPointsRouter: {\n mode: pageModes.view\n },\n tabDisplay: tabDisplays.index,\n rates: state.rates.map(r => r.id != state.router.id ? r : { ...r, isDraft: true })\n };\n case RATE_SELECTION_POINTS_FAILURE:\n return {\n ...state,\n fareSelectionPointsLoading: false,\n fareSelectionPointsError: action.payload.error\n }\n case RATE_EXPORT_DONE:\n return {\n ...state,\n loading: false\n }\n // case CREATE_SCHEDULE_SUCCESS:\n // case EDIT_SCHEDULE_SUCCESS:\n // case DELETE_SCHEDULE_SUCCESS:\n // case CREATE_PAID_PERIOD_SUCCESS:\n // case DELETE_PAID_PERIOD_SUCCESS:\n // case EDIT_PAID_PERIOD_SUCCESS:\n // case CREATE_PERIOD_SUCCESS:\n // case EDIT_PERIOD_SUCCESS:\n // case DELETE_PERIOD_SUCCESS:\n // case CREATE_PERIOD_SUCCESS:\n // case SEND_PERIOD_POSITIONS_SUCCESS:\n // return {\n // ...state,\n // rates: state.rates.map(r => r.id != state.router.id ? r : { ...r, isDraft: true })\n // }\n case RATE_SET_AS_DRAFT:\n if (!state.router.id)\n return state;\n\n return {\n ...state,\n rates: state.rates.map(r => r.id != state.router.id ? r : { ...r, isDraft: true })\n }\n case VALIDATE_RATE_BEGIN:\n return {\n ...state,\n loading: true,\n validateError: null\n }\n case SET_VALIDATE_ERROR:\n\n return {\n ...state,\n loading: false,\n validateError: action.payload.error\n }\n case RATE_VALIDATE_SUCCESS:\n return {\n ...state,\n rates: state.rates.map(r => r.id != state.router.id ? r : { ...r, isDraft: false }),\n loading: false,\n validateError: null\n }\n case RATE_TRANSLATION_MODAL_SHOW:\n return {\n ...state,\n translationModalOpen: true\n }\n case RATE_TRANSLATION_MODAL_HIDE:\n return {\n ...state,\n translationModalOpen: false\n }\n case RATE_TRANSLATION_BEGIN:\n return {\n ...state,\n loadingTranslation: true,\n errorTranslation: null\n }\n case RATE_TRANSLATION_ERROR:\n return {\n ...state,\n loadingTranslation: false,\n errorTranslation: action.payload.error\n }\n case RATE_TRANSLATION_FETCH_SUCCESS:\n return {\n ...state,\n loadingTranslation: false,\n errorTranslation: null,\n translations: action.payload.translations\n }\n case RATE_TRANSLATION_SEND_SUCCESS:\n return {\n ...state,\n loadingTranslation: false,\n errorTranslation: null,\n translations: action.payload.translations,\n translationModalOpen: false\n }\n case RATE_UPDATE_OVERWRITE: {\n const rates = state.rates.map(r => {\n if (r.id != action.payload.rateId)\n return r;\n\n if (action.payload.isFreeDays) {\n r.overwriteFreeDays = action.payload.isOverwrite;\n r.isDraft = true;\n } else {\n r.overwriteDisallowedPeriods = action.payload.isOverwrite;\n r.isDraft = true;\n }\n\n return r;\n });\n\n return {\n ...state,\n loading: false,\n rates: rates\n }\n }\n default:\n return state;\n }\n}\n","import {\n ROLES_CHANGE_MODE,\n ROLES_BEGIN,\n FETCH_ROLES_SUCCESS,\n FETCH_ROLES_FAILURE,\n CREATE_ROLE_SUCCESS,\n EDIT_ROLE_SUCCESS,\n SEND_ROLE_FAILURE,\n DELETE_ROLE_SUCCESS,\n FETCH_ROLE_CLAIMS_SUCCESS,\n FETCH_ROLE_CLAIMS_FAILURE,\n SAVE_ROLE_CLAIMS_SUCCESS,\n ROLE_CLAIMS_CHANGE_MODE,\n ROLES_SET_TAB_DISPLAY,\n ROLES_SET_ERROR,\n ROLES_ROLE_CONTEXT_STATE\n} from '../actions/rolesActions';\n\n import {\n pageModes, tabDisplays\n } from '../_constants/emparkConstants'\n\nconst initialState = {\n roles: [],\n loading:false,\n saved:null,\n error:null,\n hasFetched:false,\n tabDisplay:tabDisplays.index,\n router: {\n mode:pageModes.list,\n id:0\n },\n roleClaims: {\n roleId:0,\n claims:[]\n },\n roleClaimsRouter: {\n mode:pageModes.view\n },\n errorRoleClaims: null,\n roleContexts: {\n id:0,\n contexts: [],\n }\n}\n\nexport function rolesReducer(state = initialState, action) {\n switch (action.type) {\n case ROLES_SET_ERROR:\n return {\n ...state,\n error: action.payload.error\n }\n case ROLES_CHANGE_MODE:\n return {\n ...state,\n router: action.payload,\n error:null\n };\n case ROLES_SET_TAB_DISPLAY:\n return {\n ...state,\n tabDisplay: action.payload.tabDisplay,\n };\n case ROLES_BEGIN:\n return {\n ...state,\n loading: true,\n error: null,\n hasFetched:false\n };\n case FETCH_ROLES_SUCCESS:\n return {\n ...state,\n loading: false,\n roles: action.payload.roles,\n hasFetched:true\n };\n case FETCH_ROLES_FAILURE:\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n roles: [],\n hasFetched:false\n };\n case CREATE_ROLE_SUCCESS: \n // history.push(routes.channels);\n\n return {\n ...state,\n loading: false,\n roles: [...state.roles, action.payload.role ],\n router: {\n mode:pageModes.view,\n id:action.payload.role.id\n },\n error:null\n };\n case EDIT_ROLE_SUCCESS:\n const roles = state.roles.filter(c => c.id !== action.payload.role.id);\n \n // history.push(routes.channels);\n\n return {\n ...state,\n loading: false,\n roles: [...roles, action.payload.role],\n router: {\n mode: pageModes.view,\n id:action.payload.role.id\n },\n error:null\n };\n case SEND_ROLE_FAILURE:\n return {\n ...state,\n loading: false,\n error: action.payload.error\n };\n case DELETE_ROLE_SUCCESS:\n return {\n ...state,\n loading: false,\n error: null,\n hasFetched:false,\n pageModes:pageModes.list\n };\n case ROLE_CLAIMS_CHANGE_MODE:\n return {\n ...state,\n roleClaimsRouter: {...action.payload},\n errorRoleClaims:null\n };\n case FETCH_ROLE_CLAIMS_SUCCESS:\n return {\n ...state,\n loading: false,\n roleClaims:action.payload.roleClaims\n };\n case FETCH_ROLE_CLAIMS_FAILURE:\n return {\n ...state,\n loading: false,\n error: action.payload.error\n };\n case SAVE_ROLE_CLAIMS_SUCCESS:\n return {\n ...state,\n loading: false,\n roleClaimsRouter: {\n mode:pageModes.view\n },\n tabDisplay:tabDisplays.index\n };\n case ROLES_ROLE_CONTEXT_STATE:\n return {\n ...state,\n roleContexts: {\n ...state.roleContexts,\n ...action.payload\n }\n };\n default:\n return state;\n }\n}\n\n","import {\n CREATE_SCHEDULE_SUCCESS, DELETE_SCHEDULE_SUCCESS, EDIT_SCHEDULE_SUCCESS, FETCH_ONE_SCHEDULE_SUCCESS, FETCH_SCHEDULES_SUCCESS, SCHEDULES_BEGIN, SCHEDULES_CHANGE_MODE, SCHEDULES_FAILURE, SCHEDULES_SET_ERROR, SCHEDULES_SET_SCHEDULES_OVERLAP_ERROR, SCHEDULES_SET_TAB_DISPLAY\n} from '../actions/schedulesActions';\nimport {\n pageModes, tabDisplays\n} from '../_constants/emparkConstants';\n\n\nconst initialState = {\n rateId: 0,\n schedules: [],\n schedule: null,\n tabDisplay: tabDisplays.index,\n loading: false,\n error: null,\n hasFetched: false,\n router: {\n mode: pageModes.list,\n id: 0\n },\n schedulesOverlapError: null\n}\n\nexport function schedulesReducer(state = initialState, action) {\n switch (action.type) {\n case SCHEDULES_CHANGE_MODE:\n return {\n ...state,\n router: {\n mode: action.payload.mode,\n id: action.payload.id\n },\n schedule: action.payload.mode === pageModes.add ? null : state.schedule,\n error: null\n };\n case SCHEDULES_SET_ERROR:\n return {\n ...state,\n error: action.payload.error\n };\n case SCHEDULES_SET_SCHEDULES_OVERLAP_ERROR:\n return {\n ...state,\n schedulesOverlapError: action.payload.error,\n loading: false\n };\n case SCHEDULES_SET_TAB_DISPLAY:\n return {\n ...state,\n tabDisplay: action.payload.tabDisplay,\n };\n case SCHEDULES_BEGIN:\n return {\n ...state,\n loading: true,\n error: null,\n hasFetched: false\n };\n case SCHEDULES_FAILURE:\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n hasFetched: false\n };\n case FETCH_SCHEDULES_SUCCESS:\n return {\n ...state,\n loading: false,\n schedules: action.payload.schedules,\n rateId: action.payload.rateId,\n hasFetched: true,\n error: null\n };\n case CREATE_SCHEDULE_SUCCESS:\n return {\n ...state,\n loading: false,\n error: null,\n router: {\n mode: pageModes.view,\n id: action.payload.schedule.id\n },\n schedule: action.payload.schedule\n };\n case EDIT_SCHEDULE_SUCCESS:\n return {\n ...state,\n loading: false,\n error: null,\n router: {\n mode: pageModes.view,\n id: action.payload.schedule.id\n },\n schedule: action.payload.schedule\n };\n case DELETE_SCHEDULE_SUCCESS:\n return {\n ...state,\n loading: false,\n error: null,\n hasFetched: true,\n router: {\n mode: pageModes.list\n }\n };\n case FETCH_ONE_SCHEDULE_SUCCESS:\n return {\n ...state,\n loading: false,\n error: null,\n router: {\n mode: pageModes.view,\n id: action.payload.schedule.id\n },\n schedule: action.payload.schedule\n }\n default:\n return state;\n }\n}\n\n","\nimport translate from '../locales';\nimport { specialDaysService } from '../services/specialDaysService';\nimport { pageModes, tabDisplays } from '../_constants/emparkConstants';\nimport { contextsActions } from './contextsActions';\nimport { ratesActions } from './ratesActions';\n\nconst __t = translate;\n\nexport const SPECIAL_DAYS_CHANGE_MODE = \"SPECIAL_DAYS_CHANGE_MODE\";\nexport const SPECIAL_DAYS_SET_ERROR = \"SPECIAL_DAYS_SET_ERROR\";\nexport const SPECIAL_DAYS_BEGIN = \"SPECIAL_DAYS_BEGIN\";\nexport const SPECIAL_DAYS_FAILURE = \"SPECIAL_DAYS_FAILURE\";\n\nexport const FETCH_SPECIAL_DAYS_SUCCESS = \"FETCH_SPECIAL_DAYS_SUCCESS\";\nexport const FETCH_ONE_SPECIAL_DAY_SUCCESS = \"FETCH_ONE_SPECIAL_DAY_SUCCESS\";\nexport const CREATE_SPECIAL_DAY_SUCCESS = \"CREATE_SPECIAL_DAY_SUCCESS\";\nexport const EDIT_SPECIAL_DAY_SUCCESS = \"CREATE_SPECIAL_DAY_SUCCESS\";\nexport const DELETE_SPECIAL_DAY_SUCCESS = \"DELETE_SPECIAL_DAY_SUCCESS\";\nexport const SPECIAL_DAYS_SET_SPECIAL_DAYS_OVERLAP_ERROR = \"SPECIAL_DAYS_SET_SPECIAL_DAYS_OVERLAP_ERROR\";\n\nexport const specialDaysActions = {\n changeMode,\n fetchSpecialDays,\n sendSpecialDay,\n setError,\n deleteSpecialDay,\n fetchOneSpecialDay,\n setErrorSpecialDaysOverlap,\n duplicate\n}\n\nfunction changeMode(mode, id) {\n return function (dispatch) {\n dispatch({\n type: SPECIAL_DAYS_CHANGE_MODE,\n payload: {\n mode: mode,\n id: id\n }\n });\n }\n}\n\nfunction setError(error) {\n return function (dispatch) {\n dispatch({\n type: SPECIAL_DAYS_SET_ERROR,\n payload: {\n error: error\n }\n });\n }\n}\n\nfunction setErrorSpecialDaysOverlap(error) {\n return function (dispatch) {\n dispatch({\n type: SPECIAL_DAYS_SET_SPECIAL_DAYS_OVERLAP_ERROR,\n payload: {\n specialDaysOverlapError: error\n }\n });\n }\n}\n\nfunction fetchSpecialDays(rateId, forceFetch = false) {\n return async function (dispatch, getState) {\n try {\n const { hasFetched } = getState().specialDaysReducer;\n\n if (!forceFetch && getState().specialDaysReducer.rateId === rateId)\n return;\n\n dispatch({\n type: SPECIAL_DAYS_BEGIN\n });\n\n var specialDays = await specialDaysService.getSpecialDays(rateId);\n\n dispatch({\n type: FETCH_SPECIAL_DAYS_SUCCESS,\n payload: {\n rateId: rateId,\n specialDays: specialDays\n }\n });\n }\n catch (error) {\n dispatch({\n type: SPECIAL_DAYS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction sendSpecialDay(rateId, specialDay) {\n return async function (dispatch) {\n try {\n dispatch({\n type: SPECIAL_DAYS_BEGIN\n });\n\n if (specialDay.id) {\n const c = await specialDaysService.editSpecialDay(rateId, specialDay);\n\n if (Array.isArray(c)) {\n dispatch({\n type: SPECIAL_DAYS_SET_SPECIAL_DAYS_OVERLAP_ERROR,\n payload: {\n error: c\n }\n })\n\n return\n }\n\n dispatch({\n type: EDIT_SPECIAL_DAY_SUCCESS,\n payload: {\n specialDay: specialDay\n }\n });\n }\n else {\n const c = await specialDaysService.saveSpecialDay(rateId, specialDay);\n\n if (Array.isArray(c)) {\n dispatch({\n type: SPECIAL_DAYS_SET_SPECIAL_DAYS_OVERLAP_ERROR,\n payload: {\n error: c\n }\n })\n\n return\n }\n\n dispatch({\n type: CREATE_SPECIAL_DAY_SUCCESS,\n payload: {\n specialDay: c\n }\n });\n }\n\n dispatch(fetchSpecialDays(rateId, true));\n dispatch(ratesActions.setAsDraft());\n }\n catch (error) {\n dispatch({\n type: SPECIAL_DAYS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction deleteSpecialDay(rateId, specialDayId) {\n return async function (dispatch) {\n try {\n dispatch({\n type: SPECIAL_DAYS_BEGIN\n });\n\n await specialDaysService.deleteSpecialDay(rateId, specialDayId);\n\n dispatch({\n type: DELETE_SPECIAL_DAY_SUCCESS\n });\n\n dispatch(ratesActions.setAsDraft());\n dispatch(fetchSpecialDays(rateId, true));\n }\n catch (error) {\n dispatch({\n type: SPECIAL_DAYS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction fetchOneSpecialDay(rateId, specialDayId) {\n return async function (dispatch) {\n try {\n dispatch({\n type: SPECIAL_DAYS_BEGIN\n });\n\n const specialDay = await specialDaysService.getSpecialDay(rateId, specialDayId);\n\n dispatch({\n type: FETCH_ONE_SPECIAL_DAY_SUCCESS,\n payload: {\n specialDay: specialDay\n }\n });\n\n dispatch(ratesActions.setTabDisplay(tabDisplays.secondary))\n }\n catch (error) {\n dispatch({\n type: SPECIAL_DAYS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction duplicate(rateId, specialDayId, specialDays) {\n return async function (dispatch) {\n try {\n dispatch({\n type: SPECIAL_DAYS_BEGIN\n });\n\n await specialDaysService.duplicate(rateId, specialDayId, specialDays);\n\n dispatch(fetchSpecialDays(rateId, true));\n dispatch(changeMode(pageModes.list));\n dispatch(ratesActions.setTabDisplay(tabDisplays.index));\n dispatch(ratesActions.setAsDraft());\n }\n catch (error) {\n dispatch({\n type: SPECIAL_DAYS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n","import {\n CREATE_SPECIAL_DAY_SUCCESS, DELETE_SPECIAL_DAY_SUCCESS, EDIT_SPECIAL_DAY_SUCCESS, FETCH_ONE_SPECIAL_DAY_SUCCESS, FETCH_SPECIAL_DAYS_SUCCESS, SPECIAL_DAYS_BEGIN, SPECIAL_DAYS_CHANGE_MODE, SPECIAL_DAYS_FAILURE, SPECIAL_DAYS_SET_ERROR, SPECIAL_DAYS_SET_SPECIAL_DAYS_OVERLAP_ERROR\n} from '../actions/specialDaysActions';\nimport {\n pageModes\n} from '../_constants/emparkConstants';\nimport { RESET_RATES } from '../actions/ratesActions';\n\n\nconst initialState = {\n rateId: '',\n specialDays: [],\n specialDay: null,\n loading: false,\n error: null,\n hasFetched: false,\n router: {\n mode: pageModes.list,\n id: ''\n },\n specialDaysOverlapError: null,\n list: [],\n mode: pageModes.list,\n el: null,\n hist: {\n\n }\n}\n\nexport function specialDaysReducer(state = initialState, action) {\n switch (action.type) {\n case RESET_RATES:\n return {\n ...state,\n rateId: '',\n specialDays: [],\n specialDay: null,\n specialDays: [],\n router: {\n mode: pageModes.list,\n id: 0\n },\n }\n case SPECIAL_DAYS_CHANGE_MODE:\n return {\n ...state,\n router: {\n mode: action.payload.mode,\n id: action.payload.id\n },\n specialDay: action.payload.mode === pageModes.add ? null : state.specialDay,\n error: null\n };\n case SPECIAL_DAYS_SET_ERROR:\n return {\n ...state,\n error: action.payload.error\n };\n case SPECIAL_DAYS_SET_SPECIAL_DAYS_OVERLAP_ERROR:\n return {\n ...state,\n specialDaysOverlapError: action.payload.error,\n loading: false\n };\n case SPECIAL_DAYS_BEGIN:\n return {\n ...state,\n loading: true,\n error: null,\n hasFetched: false\n };\n case SPECIAL_DAYS_FAILURE:\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n hasFetched: false\n };\n case FETCH_SPECIAL_DAYS_SUCCESS:\n return {\n ...state,\n loading: false,\n specialDays: action.payload.specialDays,\n rateId: action.payload.rateId,\n hasFetched: true,\n error: null\n };\n case CREATE_SPECIAL_DAY_SUCCESS:\n return {\n ...state,\n loading: false,\n error: null,\n router: {\n mode: pageModes.view,\n id: action.payload.specialDay.id\n },\n specialDay: action.payload.specialDay\n };\n case EDIT_SPECIAL_DAY_SUCCESS:\n return {\n ...state,\n loading: false,\n error: null,\n router: {\n mode: pageModes.view,\n id: action.payload.specialDay.id\n },\n specialDay: action.payload.specialDay\n };\n case DELETE_SPECIAL_DAY_SUCCESS:\n return {\n ...state,\n loading: false,\n error: null,\n hasFetched: true,\n router: {\n mode: pageModes.list\n }\n };\n case FETCH_ONE_SPECIAL_DAY_SUCCESS:\n return {\n ...state,\n loading: false,\n error: null,\n router: {\n mode: pageModes.view,\n id: action.payload.specialDay.id\n },\n specialDay: action.payload.specialDay\n }\n default:\n return state;\n }\n}\n\n","import translate from '../locales';\nimport { usersService } from '../services/usersService';\n\nconst __t = translate;\n\nexport const USERS_CHANGE_MODE = \"USERS_CHANGE_MODE\";\nexport const USER_CONTEXTS_CHANGE_MODE = \"USER_CONTEXTS_CHANGE_MODE\";\nexport const USERS_BEGIN = \"USERS_BEGIN\";\nexport const USERS_FAILURE = \"USERS_FAILURE\";\nexport const FETCH_USERS_SUCCESS = \"FETCH_USERS_SUCCESS\";\nexport const CREATE_USER_SUCCESS = \"CREATE_USER_SUCCESS\";\nexport const EDIT_USER_SUCCESS = \"EDIT_USER_SUCCESS\";\nexport const DELETE_USER_SUCCESS = \"DELETE_USER_SUCCESS\";\nexport const USERS_SET_ERROR = \"USERS_SET_ERROR\";\nexport const USER_CONTEXTS_BEGIN = \"USER_CONTEXTS_BEGIN\";\nexport const USER_CONTEXTS_FAILURE = \"USER_CONTEXTS_FAILURE\";\nexport const FETCH_USER_CONTEXTS_SUCCESS = \"FETCH_USER_CONTEXTS_SUCCESS\";\nexport const SEND_USER_CONTEXTS_SUCCESS = \"SEND_USER_CONTEXTS_SUCCESS\";\nexport const SEND_USER_CONTEXTS_ERROR = \"SEND_USER_CONTEXTS_ERROR\";\nexport const USERS_SET_TAB_DISPLAY = \"USERS_SET_TAB_DISPLAY\";\nexport const SET_USER_ROLE = \"SET_USER_ROLE\";\n\nexport const usersActions = {\n changeMode,\n fetchUsers,\n sendUser,\n deleteUser,\n setError,\n changeModeUserContexts,\n fetchUserContexts,\n sendUserContexts,\n setTabDisplay,\n setUserRole\n}\n\nfunction changeMode(mode, id) {\n return function(dispatch) {\n dispatch({\n type:USERS_CHANGE_MODE,\n payload: {\n mode:mode,\n id:id\n }\n });\n }\n}\n\nfunction changeModeUserContexts(mode, id) {\n return function(dispatch) {\n dispatch({\n type:USER_CONTEXTS_CHANGE_MODE,\n payload: {\n mode:mode,\n id:id\n }\n });\n }\n}\n\nfunction fetchUsers(forceFetch = false) {\n return async function(dispatch, getState) {\n try {\n const { hasFetched } = getState().usersReducer;\n \n if(!forceFetch && hasFetched)\n return;\n\n dispatch({\n type:USERS_BEGIN\n });\n\n var users = await usersService.getUsers();\n dispatch({\n type:FETCH_USERS_SUCCESS,\n payload: {\n users:users\n }\n });\n }\n catch(error) {\n dispatch({\n type:USERS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction sendUser(user) {\n return async function(dispatch) {\n try {\n dispatch({\n type:USERS_BEGIN\n });\n\n if(user.id) {\n const result = await usersService.editUser(user);\n\n dispatch({\n type:EDIT_USER_SUCCESS,\n payload: {\n user:result\n }\n });\n }\n else{\n const result = await usersService.saveUser(user);\n\n dispatch({\n type:CREATE_USER_SUCCESS,\n payload: {\n user:result\n }\n });\n }\n\n dispatch(fetchUsers(true));\n }\n catch(error) {\n dispatch({\n type:USERS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction deleteUser(userId) {\n return async function(dispatch) {\n try {\n dispatch({\n type:USERS_BEGIN\n });\n\n await usersService.deleteUser(userId);\n\n dispatch({\n type:DELETE_USER_SUCCESS\n });\n\n dispatch(fetchUsers(true));\n }\n catch(error) {\n dispatch({\n type:USERS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction fetchUserContexts(userId) {\n return async function(dispatch) {\n try {\n dispatch({\n type:USER_CONTEXTS_BEGIN\n });\n\n const contexts = await usersService.getUserContexts(userId);\n\n dispatch({\n type:FETCH_USER_CONTEXTS_SUCCESS,\n payload: {\n userContexts:{\n userId:userId,\n contexts:contexts\n }\n }\n });\n }\n catch(error) {\n dispatch({\n type:USER_CONTEXTS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction sendUserContexts(userId, lstContextIds) {\n return async function(dispatch) {\n try {\n dispatch({\n type:USER_CONTEXTS_BEGIN\n });\n\n await usersService.saveUserContexts(userId, lstContextIds);\n\n dispatch({\n type:SEND_USER_CONTEXTS_SUCCESS,\n });\n\n dispatch(fetchUserContexts(userId));\n }\n catch(error) {\n dispatch({\n type:USER_CONTEXTS_FAILURE,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nfunction setError(error) {\n return function(dispatch) {\n dispatch({\n type:USERS_SET_ERROR,\n payload: {\n error: error\n }\n });\n }\n}\n\nfunction setTabDisplay(tabDisplay) {\n return function(dispatch) {\n dispatch({\n type:USERS_SET_TAB_DISPLAY,\n payload: {\n tabDisplay:tabDisplay,\n }\n });\n }\n}\n\nfunction setUserRole(userRole) {\n return function(dispatch) {\n dispatch({\n type:SET_USER_ROLE,\n payload: {\n userRole: userRole\n }\n });\n }\n} ","import {\n USERS_CHANGE_MODE,\n USERS_BEGIN,\n FETCH_USERS_SUCCESS,\n USERS_FAILURE,\n CREATE_USER_SUCCESS,\n EDIT_USER_SUCCESS,\n DELETE_USER_SUCCESS,\n USER_CONTEXTS_CHANGE_MODE,\n FETCH_USER_CONTEXTS_SUCCESS,\n SEND_USER_CONTEXTS_SUCCESS,\n USER_CONTEXTS_FAILURE,\n USER_CONTEXTS_BEGIN,\n USERS_SET_TAB_DISPLAY,\n USERS_SET_ERROR,\n SEND_USER_CONTEXTS_ERROR,\n SET_USER_ROLE\n} from '../actions/usersActions';\n\n\nimport {\n pageModes, tabDisplays\n} from '../_constants/emparkConstants'\n\nconst initialState = {\n users: [],\n loading:false,\n saved:null,\n error:null,\n hasFetched:false,\n router: {\n mode:pageModes.list,\n id:0\n },\n tabDisplay:tabDisplays.index,\n userContexts: {\n userId:0,\n contexts: []\n },\n routerUserContexts: {\n mode:pageModes.view\n },\n loadingUserContexts: false,\n errorUserContexts:false,\n userRole: null\n}\n\nexport function usersReducer(state = initialState, action) {\n switch (action.type) {\n case USERS_SET_ERROR:\n return {\n ...state,\n error:action.payload.error\n }\n case USERS_CHANGE_MODE:\n return {\n ...state,\n router: action.payload,\n error:null\n };\n case USERS_SET_TAB_DISPLAY:\n return {\n ...state,\n tabDisplay: action.payload.tabDisplay,\n };\n case USER_CONTEXTS_CHANGE_MODE:\n return {\n ...state,\n routerUserContexts: action.payload,\n errorUserContexts:null\n };\n case USERS_BEGIN:\n return {\n ...state,\n loading: true,\n error: null,\n };\n case FETCH_USERS_SUCCESS:\n return {\n ...state,\n loading: false,\n users: action.payload.users,\n hasFetched:true\n };\n case USERS_FAILURE:\n return {\n ...state,\n loading: false,\n error: action.payload.error,\n hasFetched:false\n };\n case CREATE_USER_SUCCESS: \n return {\n ...state,\n loading: false,\n error:null,\n users: [...state.users, action.payload.user ] ,\n router: {\n mode:pageModes.view,\n id:action.payload.user.id\n }\n };\n case SEND_USER_CONTEXTS_ERROR:\n return {\n ...state,\n error: action.payload,\n errorUserContexts: action.payload\n }\n case EDIT_USER_SUCCESS:\n return {\n ...state,\n loading: false,\n error:null,\n router: {\n mode:pageModes.view,\n id:action.payload.user.id\n }\n };\n case DELETE_USER_SUCCESS:\n return {\n ...state,\n loading: false,\n error:null\n };\n case USER_CONTEXTS_BEGIN:\n return {\n ...state,\n loadingUserContexts:true,\n errorUserContexts:false\n }\n case FETCH_USER_CONTEXTS_SUCCESS:\n return {\n ...state,\n userContexts: action.payload.userContexts,\n loadingUserContexts:false,\n errorUserContexts:false\n }\n case SEND_USER_CONTEXTS_SUCCESS:\n return {\n ...state,\n loadingUserContexts:false,\n errorUserContexts:false,\n routerUserContexts: {\n mode: pageModes.view\n },\n tabDisplay:tabDisplays.index\n }\n case USER_CONTEXTS_FAILURE:\n return {\n ...state,\n loadingUserContexts:true,\n errorUserContexts:false\n }\n case SET_USER_ROLE: \n return {\n ...state,\n userRole:action.payload.userRole\n }\n default:\n return state;\n }\n}\n\n","import {\n historyService\n} from '../services';\n\nexport const historyActions = {\n setActive,\n fetchHistoryVersions: fetchHistioryVersions,\n fetchContext,\n setState\n};\n\nconst HIST_FETCH = \"HIST_FETCH\";\nconst HIST_CONTEXT = \"HIST_CONTEXT\";\nconst HIST_VERSIONS = \"HIST_VERSIONS\";\nconst HIST_ACTIVE = \"HIST_ACTIVE\";\nconst HIST_STATE = \"HIST_STATE\";\n\nfunction setActive(isActive) {\n return function (dispatch) {\n dispatch({ type: HIST_ACTIVE, payload: isActive });\n }\n}\n\nfunction fetchHistioryVersions(id, forceFetch = false) {\n return async function (dispatch, getState) {\n try {\n const { versions } = getState().historyReducer;\n if (!forceFetch && id != null && versions.id == id)\n return;\n\n dispatch({\n type: HIST_FETCH,\n payload: {\n loading: true,\n error: null\n }\n });\n\n const v = await historyService.getContextVersions(id);\n\n dispatch({\n type: HIST_VERSIONS,\n payload: {\n id: id,\n list: v\n }\n });\n\n dispatch({\n type: HIST_FETCH,\n payload: {\n loading: false,\n error: null\n }\n });\n } catch (e) {\n dispatch({\n type: HIST_FETCH,\n payload: {\n loading: false,\n error: e\n }\n });\n }\n }\n}\n\nfunction fetchContext(id, forceFetch = false) {\n return async function (dispatch, getState) {\n try {\n dispatch({\n type: HIST_FETCH,\n payload: {\n loading: true,\n error: null\n }\n });\n\n dispatch(setActive(true));\n\n const {context} = getState().historyReducer;\n\n if (!forceFetch && context != null && id == context.id) {\n dispatch({\n type: HIST_FETCH,\n payload: {\n loading: false,\n error: null\n }\n });\n\n return;\n }\n\n const c = await historyService.getContextHist(id);\n\n dispatch({\n type: HIST_CONTEXT,\n payload: c\n });\n\n dispatch({\n type: HIST_FETCH,\n payload: {\n loading: false,\n error: null\n }\n });\n } catch (e) {\n dispatch({\n type: HIST_FETCH,\n payload: {\n loading: false,\n error: e\n }\n });\n }\n }\n}\n\nfunction setState(obj) {\n return function (dispatch) {\n dispatch({\n type: HIST_STATE,\n payload: obj\n });\n }\n}\n\n\nconst initialState = {\n fetch: {\n loading: false,\n error: null,\n },\n context: null,\n versions: {\n id: null,\n list: []\n },\n active: false,\n contextPage: '',\n rateTypeTabIndex: 0,\n rateTabIndex: 0,\n rate: null,\n period: null,\n specialDay: null,\n comment: null,\n schedule: null,\n paidPeriod: null\n}\n\nexport function historyReducer(state = initialState, action) {\n switch (action.type) {\n case HIST_FETCH:\n return {\n ...state,\n fetch: { ...action.payload }\n };\n case HIST_CONTEXT:\n return {\n ...state,\n context: action.payload,\n }\n case HIST_VERSIONS:\n return {\n ...state,\n versions: action.payload,\n }\n case HIST_ACTIVE:\n return {\n ...state,\n active: action.payload,\n }\n case HIST_STATE:\n return {\n ...state,\n ...action.payload,\n }\n default:\n return state;\n }\n}\n\n","import { combineReducers } from 'redux';\nimport { auditsReducer } from './auditsReducer';\nimport { auxReducer } from './auxReducer';\nimport { channelsReducer } from './channelsReducer';\nimport { commentsReducer } from './commentsReducer';\nimport { contextsReducer } from './contextsReducer';\nimport { disallowedPeriodsReducer } from './disallowedPeriodsReducer';\nimport { faresReducer as fares } from './fares';\nimport { filtersReducer } from './filtersReducer';\nimport { freeDaysReducer } from './freeDaysReducer';\nimport { generalReducer } from './generalReducer';\nimport { localesReducer as locales } from './locales';\nimport { municipalitiesReducer } from './municipalitiesReducer';\nimport { paidPeriodsReducer } from './paidPeriodsReducer';\nimport { parkingsReducer } from './parkingsReducer';\nimport { parkingZoneReducer as parkingZone } from './parkingZone';\nimport { periodsReducer } from './periodsReducer';\nimport { positionsReducer } from './positionsReducer';\nimport { ratesReducer } from './ratesReducer';\nimport { rolesReducer } from './rolesReducer';\nimport { schedulesReducer } from './schedulesReducer';\nimport { specialDaysReducer } from './specialDaysReducer';\nimport { usersReducer } from './usersReducer';\nimport { historyReducer } from './historyReducer'\n\nconst rootReducer = combineReducers({\n parkingsReducer,\n parkingZone,\n fares,\n freeDaysReducer,\n locales,\n auxReducer,\n channelsReducer,\n rolesReducer,\n municipalitiesReducer,\n ratesReducer,\n contextsReducer,\n periodsReducer,\n positionsReducer,\n schedulesReducer,\n specialDaysReducer,\n usersReducer,\n disallowedPeriodsReducer,\n auditsReducer,\n paidPeriodsReducer,\n generalReducer,\n filtersReducer,\n commentsReducer,\n historyReducer\n});\n\nexport default rootReducer;\n\nexport { historyActions } from './historyReducer'","import { createStore, applyMiddleware } from 'redux';\nimport thunkMiddleware from 'redux-thunk';\nimport rootReducer from '../reducers';\n\nexport const store = createStore(\n rootReducer,\n applyMiddleware(\n thunkMiddleware,\n )\n);\n","import { CircularProgress, withStyles } from '@material-ui/core';\nimport { styled } from '@material-ui/core/styles';\nimport Tooltip, { tooltipClasses } from '@material-ui/core/Tooltip';\nimport DescriptionIcon from '@material-ui/icons/Description';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport CloseIcon from '@material-ui/icons/Close';\nimport { commentsService } from '../../../services/commentsService';\nimport { connect } from 'react-redux';\nimport { generalActions } from '../../../actions/generalActions';\n\nimport translate from '../../../locales';\nconst __t = translate;\n\nconst styles = () => ({\n documentText: {\n marginLeft: '5px',\n textDecoration: 'underline',\n '&:hover': {\n cursor: 'pointer'\n },\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n overflow: 'hidden'\n },\n document: {\n display: 'flex',\n alignItems: 'center',\n marginRight: '20px',\n border: '1px solid black',\n padding: '5px 10px',\n fontSize: '12px'\n },\n close: {\n marginLeft: '5px'\n },\n tooltip: {\n maxWidth:'90vw',\n }\n});\n\nconst CommentDocument = (props) => {\n const [loading, setLoading] = useState(false);\n\n const { id, rateId, commentId, fileName, classes } = props;\n\n if (loading) {\n return (\n
\n \n
\n )\n }\n\n const downloadFile = async () => {\n setLoading(true);\n try {\n const response = await commentsService.fetchDocument(rateId, commentId, id);\n\n const contentDisposition = response.headers.get('Content-Disposition');\n let fileName = 'unknown.xls';\n if (contentDisposition) {\n const cd = contentDisposition.split(\"=\");\n\n fileName = cd[1];\n }\n\n if (response.ok) {\n const blob = await response.blob();\n const url = window.URL.createObjectURL(blob);\n const link = window.document.createElement('a');\n link.href = url;\n link.setAttribute('download', fileName);\n document.body.appendChild(link);\n link.click();\n link.href = '';\n link.remove();\n window.URL.revokeObjectURL(url);\n }\n else {\n props.setToastError(__t('error_downloading_file'));\n }\n }\n catch (e) {\n console.log(e);\n props.setToastError(__t('error_downloading_file'));\n }\n\n setLoading(false);\n }\n\n return (\n
\n \n \n
\n {fileName}\n
\n
\n {props.onDelete &&\n [\n
,\n \n\n ]\n }\n
\n )\n}\n\nCommentDocument.propTypes = {\n id: PropTypes.string,\n fileName: PropTypes.string,\n onDelete: PropTypes.func,\n rateId: PropTypes.string,\n commentId: PropTypes.string\n}\n\n\nfunction mapDispatchToProps(dispatch) {\n return {\n setToastError: (error) => {\n dispatch(generalActions.showToastError(error))\n }\n }\n}\n\nexport default connect(null, mapDispatchToProps)(withStyles(styles)(CommentDocument));","import { CircularProgress, Modal, Paper, withStyles } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nconst styles = () => ({\n button: {\n marginTop:'30px'\n },\n modal: {\n display:\"flex\", \n alignItems:\"center\", \n justifyContent:\"center\"\n },\n paper: {\n width:'80px', \n textAlign:\"center\", \n padding:'20px 10px',\n outline:\"none\"\n }\n})\n\nconst LoadingDialog = props => {\n\n if(!props.loading)\n return(\n null\n )\n\n const {classes} = props;\n\n return(\n \n \n \n \n \n )\n}\n\nLoadingDialog.propTypes = {\n loading:PropTypes.bool\n}\n\n\nexport default withStyles(styles)(LoadingDialog);\n\n","import { withStyles } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nconst styles = () => ({\n container: {\n width: \"100%\",\n textAlign: \"center\",\n color: \"red\"\n }\n})\n\nclass ErrorMessage extends React.Component {\n constructor(props) {\n super(props);\n }\n\n render() {\n if (!this.props.error || this.props.error == null) {\n return (\n null\n );\n }\n\n const css = this.props.className ?\n [this.props.classes.container, this.props.className].join(' ')\n :\n this.props.classes.container;\n\n if (Array.isArray(this.props.error)) {\n const errs = this.props.error;\n\n return (\n
\n {\n errs.map((e, i) =>
{e}
)\n }\n
\n )\n }\n\n if (typeof this.props.error === 'object') {\n return (\n
{this.props.error.toString()}
\n )\n }\n\n if (this.props.error.includes('\\n')) {\n const errs = this.props.error.split('\\n');\n\n return (\n
\n {\n errs.map((e, i) =>
{e}
)\n }\n
\n )\n }\n\n return (\n
\n {this.props.error}\n
\n )\n }\n}\n\nErrorMessage.propTypes = {\n className: PropTypes.string,\n error: PropTypes.any\n}\n\nexport default withStyles(styles)(ErrorMessage);","import { Chip, Grid, TextField, Tooltip, withStyles } from '@material-ui/core';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport translate from '../../locales';\nimport Files from 'react-butterfiles';\nimport CommentDocument from '../Sections/Comments/CommentDocument';\nimport { connect } from 'react-redux';\nimport LoadingDialog from './LoadingDialog'\nimport ErrorMessage from '../ErrorMessage';\nimport { commentsActions } from '../../actions/commentsActions';\n\n\nconst __t = translate;\n\nconst styles = () => ({\n buttonCancel: {\n marginRight: '10px',\n '& span': {\n color: '#7b7c7d'\n }\n },\n chip: {\n fontSize: '11px',\n marginLeft: '10px',\n marginBottom: '5px',\n },\n containerFilesUpload: {\n marginTop: '10px'\n },\n containerFlag: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center'\n },\n flag: {\n height: '32px',\n width: '32px',\n },\n rowMargin: {\n marginTop: '10px'\n },\n textArea: {\n height: '300px'\n },\n tooltip: {\n maxWidth: '90vw'\n }\n})\n\n\nclass CommentDialog extends React.Component {\n constructor(props) {\n super(props);\n\n let s = {\n text: '',\n documents: [],\n filesUpload: []\n }\n\n if (props.comment) {\n s = {\n ...s,\n ...props.comment\n }\n }\n\n this.state = s;\n this.commentLength = 300;\n };\n\n handleClose = (action) => () => {\n if (typeof this.props.onClose === 'function') {\n this.props.setError(null);\n this.props.onClose(action);\n }\n };\n\n componentDidUpdate(prevProps) {\n if (this.props.comment != prevProps.comment) {\n if (this.props.comment === null) {\n this.setState({\n text: '',\n documents: [],\n filesUpload: []\n })\n }\n else {\n this.setState({\n ...this.props.comment,\n filesUpload: []\n })\n }\n }\n }\n\n render() {\n const { title, loading, content, open, classes } = this.props;\n\n if (loading) {\n return (\n \n )\n }\n\n return (\n
\n \n {title}\n \n {\n if (this.state.documents.length + this.state.filesUpload.length + files.length > 5) {\n this.props.setError(__t('error_files_limits'));\n return;\n }\n\n this.setState({ filesUpload: [...this.state.filesUpload, ...files] })\n }}\n onError={errors => {\n console.log(errors);\n this.props.setError(__t('error_files_limits'));\n }}\n >\n {({ browseFiles, getDropZoneProps, getLabelProps }) => {\n return (\n
\n \n \n \n this.setState({ text: e.target.value })}\n inputProps={{ maxLength: this.commentLength }}\n />\n
\n {this.state.text ? this.state.text.length : \"0\"} / {this.commentLength}\n
\n
\n \n

{__t('files')}

\n
\n {this.state.documents && this.state.documents.map(d =>\n
\n {\n this.setState({\n documents: this.state.documents.filter(doc => doc.id !== d.id)\n })\n }}\n rateId={this.state.rateId}\n commentId={this.state.id}\n />\n
\n )}\n
\n
\n
\n
\n \n {this.state.filesUpload.map((f, i) =>\n \n {f.name}
}\n onDelete={() => {\n this.setState({ filesUpload: this.state.filesUpload.filter(fu => fu.id != f.id) })\n }}\n />\n \n )}\n
\n
\n \n )\n }}\n \n \n \n \n \n \n \n \n \n );\n }\n}\n\nfunction mapStateToProps(state) {\n return {\n loading: state.commentsReducer.modalLoading,\n error: state.commentsReducer.modalError\n }\n}\n\n\nfunction mapDispatchToProps(dispatch) {\n return {\n setError: (error) => {\n dispatch(commentsActions.setError(error));\n },\n }\n}\n\nCommentDialog.propTypes = {\n open: PropTypes.bool,\n title: PropTypes.string,\n comment: PropTypes.object,\n onClose: PropTypes.func,\n onSubmit: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(CommentDialog));","import { withStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nconst styles = theme => ({\n img: {\n display: 'block',\n maxWidth: '100%',\n maxHeight: '100%',\n },\n});\n\nfunction Logo(props) {\n const { classes } = props;\n return (\n \"empark\"\n )\n}\n\nLogo.propTypes = {\n classes: PropTypes.object.isRequired,\n};\n\nexport default withStyles(styles)(Logo);","import axios from 'axios';\nimport qs from 'qs';\nimport jwt from 'jsonwebtoken';\nimport jwkToPem from 'jwk-to-pem';\nimport { updateHeaders } from '../_constants/emparkConstants';\n\nconst AWS_URI = process.env.REACT_APP_COGNITO_ENDPOINT; //\"https://empark.auth.eu-west-1.amazoncognito.com\";\n// const REDIRECT_URI = 'http://localhost:3000/selectionform';\nconst REDIRECT_URI = process.env.REACT_APP_ENDPOINT;// \"http://localhost:3000/\";\nconst CLIENT_ID = process.env.REACT_APP_COGNITO_CLIENT_ID_FRONT;//'7s57e3gbmq1sf2ss0gt5e8q2hl';\nconst POOL_ID = process.env.REACT_APP_COGNITO_POOL_ID; //'eu-west-1_soFxOLcbd';\nexport const LOGIN_URI = `${AWS_URI}/login?response_type=code&client_id=${CLIENT_ID}&redirect_uri=${REDIRECT_URI}&state=STATE&scope=openid+email`;\nconst TOKEN_URI = `${AWS_URI}/oauth2/token`;\nconst JWKS_URL = `https://cognito-idp.eu-west-1.amazonaws.com/${POOL_ID}/.well-known/jwks.json`;\nconst CLIENT_SECRET_ID = process.env.REACT_APP_COGNITO_CLIENT_SECRET_BACK; //\"1gsqkan14fcokvefd3lrd1a6gjf2qfj38op65ur08dvfogvkoeqj\";\nconst LOGOUT_URI = `${AWS_URI}/logout?response_type=code&client_id=${CLIENT_ID}&redirect_uri=${REDIRECT_URI}&state=STATE&scope=openid+email`; //\"https://empark.auth.eu-west-1.amazoncognito.com\";\n\nexport function getAuthCode() {\n const codeMatches = window.location\n && window.location.search\n && window.location.search.match(/\\?code=([0-9a-z-]+)/);\n const code = codeMatches && Array.isArray(codeMatches) && codeMatches[1];\n return code;\n}\n\nexport async function getToken(code) {\n try {\n const tokenStorage = localStorage.getItem('id_token'); \n const tokenStorageIsValid = await verifyToken(tokenStorage);\n\n if (tokenStorageIsValid) {\n refreshToken();\n\n return Promise.resolve(tokenStorage);\n } else {\n const data = {\n grant_type: 'authorization_code',\n client_id: CLIENT_ID,\n code,\n redirect_uri: REDIRECT_URI,\n scope: 'profile',\n };\n\n const token = await axios.post(TOKEN_URI, qs.stringify(data), {\n headers: {\n 'Authorization':`Basic ${btoa(`${CLIENT_ID}:${CLIENT_SECRET_ID}`)}`,\n 'Content-Type':'application/x-www-form-urlencoded'\n },\n }); \n\n saveToken(\n token.data.id_token,\n token.data.access_token,\n token.data.refresh_token,\n );\n\n // const response = await fetch(TOKEN_URI, {\n // method:'POST',\n // headers: {\n // 'Authorization':`Basic ${btoa(`${CLIENT_ID}:${CLIENT_SECRET_ID}`)}`,\n // 'Content-Type':'application/x-www-form-urlencoded'\n // },\n // body: qs.stringify(data),\n \n // }); \n // const token = await response.json()\n\n // saveToken(\n // token.id_token,\n // token.access_token,\n // token.refresh_token,\n // );\n\n return Promise.resolve(token.data.id_token);\n }\n } catch(err) {\n clearTokens();\n return Promise.resolve(null);\n }\n}\n\nexport async function refreshToken() {\n try {\n const refreshToken = localStorage.getItem('refresh_token'); \n\n if(!refreshToken) \n return false;\n\n const data = {\n grant_type: 'refresh_token',\n client_id: CLIENT_ID,\n refresh_token:refreshToken\n };\n\n const token = await axios.post(TOKEN_URI, qs.stringify(data), {\n headers: {\n 'Authorization':`Basic ${btoa(`${CLIENT_ID}:${CLIENT_SECRET_ID}`)}`,\n 'Content-Type':'application/x-www-form-urlencoded'\n },\n }); \n\n saveToken(\n token.data.id_token,\n token.data.access_token\n );\n\n return true;\n }\n catch(err) { \n // clearTokens();\n return false;\n }\n}\n\nexport async function logout() {\n window.location.href = LOGOUT_URI;\n}\n\nfunction saveToken(id_token, access_token, refresh_token) {\n localStorage.setItem('id_token', id_token);\n localStorage.setItem('access_token', access_token);\n\n if(refresh_token)\n localStorage.setItem('refresh_token', refresh_token);\n}\n\nfunction clearTokens() {\n localStorage.removeItem(\"id_token\");\n localStorage.removeItem(\"access_token\");\n localStorage.removeItem(\"refresh_token\");\n}\n\nasync function verifyToken() {\n const id_token = localStorage.getItem('id_token');\n const access_token = localStorage.getItem('access_token');\n const refresh_token = localStorage.getItem('refresh_token');\n\n if (id_token && access_token && refresh_token) {\n const unverifiedDecodedAuthorizationCodeIdToken = jwt.decode(\n id_token,\n { complete: true }\n );\n const unverifiedDecodedAuthorizationCodeAccessToken = jwt.decode(\n access_token,\n { complete: true }\n );\n const unverifiedDecodedAuthorizationCodeRefreshToken = jwt.decode(\n refresh_token,\n { complete: true }\n );\n \n const { kid } = unverifiedDecodedAuthorizationCodeIdToken.header;\n\n async function getKey(kidId) {\n const jwks = await axios.get(JWKS_URL);\n return (jwks || {data: {keys: []}}).data.keys.find(k => k.kid === kidId);\n }\n\n const jwk = await getKey(kid);\n const pem = jwkToPem(jwk);\n const decoded = await jwt.verify(id_token, pem, { algorithms: ['RS256'] });\n\n return true;\n } else {\n return false;\n }\n}\n","import AppBar from '@material-ui/core/AppBar';\nimport Button from '@material-ui/core/Button';\nimport Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport { withStyles } from '@material-ui/core/styles';\nimport Toolbar from '@material-ui/core/Toolbar';\nimport ArrowDropDownIcon from '@material-ui/icons/ArrowDropDown';\nimport _ from 'lodash';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport Flag from 'react-flagkit';\nimport { connect } from 'react-redux';\nimport { Link } from 'react-router-dom';\nimport { contextsActions } from '../actions/contextsActions';\nimport ActionTypes from '../actions/localeActions';\nimport { municipalitiesActions } from '../actions/municipalitiesActions';\nimport { usersActions } from '../actions/usersActions';\nimport { rolesActions } from '../actions/rolesActions';\nimport { auditsActions } from '../actions/auditsActions';\nimport { channelsActions } from '../actions/channelsActions';\nimport { auxActions } from '../actions/auxActions';\nimport {\n history\n} from '../History';\nimport translate from '../locales';\nimport { MappedFlags } from '../locales/languages';\nimport { APP_CLAIMS, hasPermission, pageModes, routes } from '../_constants/emparkConstants';\nimport './HeaderBar.css';\nimport Logo from './Logo';\nimport { IconButton } from '@material-ui/core';\nimport PersonIcon from '@material-ui/icons/Person';\nimport { logout } from '../App/auth';\n\nconst styles = theme => ({\n root: {\n fontFamily: 'FiraSans-SemiBold',\n fontSize: 16,\n flexGrow: 1,\n },\n grow: {\n flexGrow: 1,\n },\n content: {\n paddingLeft: '10%',\n paddingRight: '10%',\n },\n logo: {\n marginRight: 100,\n width: 120,\n },\n flagIcon: {\n marginRight: theme.spacing.unit\n }\n});\n\nconst __t = translate\n\n// function ButtonAppBar(props) {\nclass HeaderBar extends React.Component {\n constructor(props) {\n super(props);\n this.state = { anchorEl: null, menu: null };\n\n this.handleUserClick = this.handleUserClick.bind(this);\n this.handleLangClick = this.handleLangClick.bind(this);\n this.handleLangClose = this.handleLangClose.bind(this);\n this.handleMenuClick = this.handleMenuClick.bind(this);\n this.handleMenuItemClick = this.handleMenuItemClick.bind(this);\n }\n\n _const = {\n days: 'days',\n hours: 'hours',\n uses: 'uses',\n tlcm: 'tlcm',\n roles: 'roles',\n users: 'users',\n audits: 'audits',\n aux: 'aux',\n security: 'security',\n userIcon: 'userIcon'\n }\n\n handleLangClick = event => {\n this.setState({ anchorEl: event.currentTarget, menu: null });\n };\n\n handleLangClose = (value) => () => {\n this.setState({ anchorEl: null, menu: null });\n if (value) {\n this.props.changeLocale(value);\n }\n };\n\n handleMenuClick = (menu, event) => {\n this.setState({ anchorEl: event.currentTarget, menu: menu });\n }\n\n handleUserClick = (menu, event) => {\n this.setState({ anchorEl: event.currentTarget, menu: menu });\n }\n\n handleMenuItemClick = (item) => {\n this.setState({ anchorEl: null, menu: null });\n\n switch (item) {\n case this._const.days:\n this.props.changeMenu('aux');\n history.push(routes.days);\n break;\n case this._const.hours:\n this.props.changeMenu('aux');\n history.push(routes.hours);\n break;\n case this._const.uses:\n this.props.changeMenu('aux');\n history.push(routes.uses);\n break;\n case this._const.tlcm:\n this.props.changeMenu('aux');\n history.push(routes.tlcm);\n break;\n case this._const.roles:\n this.props.changeMenu('role');\n history.push(routes.roles);\n break;\n case this._const.users:\n this.props.changeMenu('user');\n history.push(routes.users);\n break;\n case this._const.audits:\n this.props.changeMenu('audit');\n history.push(routes.audits);\n break;\n }\n }\n\n render() {\n const { classes, locales = {}, acitveLocale } = this.props;\n const { anchorEl, menu } = this.state;\n const countryFlag = (localeCode) => MappedFlags[localeCode];\n\n return (\n
\n \n \n
\n \n
\n
\n \n \n \n {hasPermission(this.props.userRole, APP_CLAIMS.MENU_AUX_V) &&\n [\n { this.handleMenuClick(this._const.aux, event) }}\n >\n {__t('aux_title')} \n ,\n this.handleMenuItemClick()}\n >\n {/* First element invisible just so it does not autoselect first element... */}\n \n this.handleMenuItemClick(this._const.days)} key=\"days\">\n {__t('days')}\n \n this.handleMenuItemClick(this._const.hours)} key=\"hours\">\n {__t('hours')}\n \n this.handleMenuItemClick(this._const.uses)} key=\"uses\">\n {__t('uses')}\n \n this.handleMenuItemClick(this._const.tlcm)} key=\"tlcm\">\n {__t('tlcm')}\n \n \n ]\n }\n {hasPermission(this.props.userRole, APP_CLAIMS.MENU_SEC_V) &&\n [\n this.handleMenuClick(this._const.security, event)}\n >\n {__t('security')} \n ,\n \n {/* First element invisible just so it does not autoselect first element... */}\n \n this.handleMenuItemClick(this._const.users)} key=\"users\">\n {__t('users')}\n \n this.handleMenuItemClick(this._const.roles)} key=\"roles\">\n {__t('roles')}\n \n this.handleMenuItemClick(this._const.audits)} key=\"audits\">\n {__t('audit')}\n \n \n ]\n }\n
\n
\n \n {countryFlag(acitveLocale) ? : ''} {_.keys(locales)[_.indexOf(_.values(locales), acitveLocale)]}\n \n \n {Object.keys(locales).map((localeName, i) => {\n const localeKey = locales[localeName];\n return (\n \n {countryFlag(localeKey) ? : ''}{localeName}\n \n )\n })}\n \n this.handleUserClick(this._const.userIcon, event)}>\n \n \n this.setState({anchorEl:null, menu:null})}\n >\n {/* First element invisible just so it does not autoselect first element... */}\n \n {this.props.userRole.userEmail}\n {\n localStorage.removeItem('id_token');\n logout();\n }} \n key=\"users\"\n >\n {__t('logout')}\n \n \n
\n
\n
\n
\n );\n }\n}\n\nHeaderBar.propTypes = {\n classes: PropTypes.object.isRequired,\n};\n\nconst mapStateToProps = state => ({\n loading: state.parkingsReducer.loading,\n error: state.parkingsReducer.error,\n selected: state.selected,\n acitveLocale: state.locales.current,\n locales: state.locales.availableLanguages,\n userRole: state.usersReducer.userRole\n});\n\nfunction mapDispatchToProps(dispatch) {\n return {\n changeLocale: (locale) => {\n dispatch(ActionTypes.changeLocale(locale));\n },\n changeMenu: (type) => {\n switch (type) {\n case 'municipality':\n dispatch(municipalitiesActions.changeMode(pageModes.list))\n break;\n case 'center':\n dispatch(contextsActions.changeMode(pageModes.list));\n break;\n case 'channel':\n dispatch(channelsActions.changeMode(pageModes.list))\n break;\n case 'role':\n dispatch(rolesActions.changeMode(pageModes.list));\n break;\n case 'user':\n dispatch(usersActions.changeMode(pageModes.list));\n break;\n case 'audit':\n dispatch(auditsActions.changeMode(pageModes.list));\n break;\n case 'aux':\n dispatch(auxActions.changeMode(pageModes.list));\n break;\n }\n }\n }\n}\n\nconst connectedHeaderBar = connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(HeaderBar));\nexport { connectedHeaderBar as HeaderBar };\n\n","import { Button, Grid, Typography, withStyles } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport translate from '../../locales';\n\n\nconst __t = translate;\n\nconst style = theme => ({\n buttonCancel: {\n marginRight: '10px',\n '& span': {\n color: '#7b7c7d'\n }\n },\n buttonContainer: {\n display: \"flex\",\n flexDirection: \"row-reverse\",\n alignItems: \"center\"\n },\n titleContainer: {\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\"\n },\n childContainer: {\n marginTop: '15px',\n },\n container: {\n paddingTop: '20px',\n paddingBottom: '20px'\n },\n buttonMargin: {\n marginRight: '10px'\n }\n})\n\nclass TitleToolbar extends React.Component {\n constructor(props) {\n super(props);\n\n }\n\n render() {\n return (\n
\n \n \n \n {this.props.title}\n \n {this.props.extraComponent ?\n this.props.extraComponent\n :\n null\n }\n \n \n {this.props.onAdd && }\n {this.props.onEdit && }\n {this.props.onSave && }\n {this.props.onCancel && }\n {this.props.onBack && }\n
\n {this.props.onExport && }\n {this.props.onDuplicate && }\n {this.props.onValidate && }\n
\n
\n
\n {this.props.children}\n
\n
\n )\n }\n}\n\nTitleToolbar.propTypes = {\n title: PropTypes.string.isRequired,\n onAdd: PropTypes.func,\n onEdit: PropTypes.oneOfType(PropTypes.func, PropTypes.bool),\n onSave: PropTypes.func,\n onCancel: PropTypes.func,\n onBack: PropTypes.func,\n onExport: PropTypes.any,\n onDuplicate: PropTypes.any,\n onValidate: PropTypes.any,\n extraComponent: PropTypes.object,\n}\n\nexport default withStyles(style)(TitleToolbar);\n","import React from 'react';\n\nimport _ from 'lodash';\n\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport Grid from '@material-ui/core/Grid';\n\nimport InputLabel from '@material-ui/core/InputLabel';\nimport InputAdornment from '@material-ui/core/InputAdornment';\nimport TextField from '@material-ui/core/TextField';\nimport classNames from 'classnames';\n\nconst styles = theme => ({\n root: {\n\n },\n label: {\n fontSize: 14,\n lineHeight: 40,\n paddingRight: theme.spacing.unit * 2,\n },\n textField: {\n // marginLeft: theme.spacing.unit,\n // marginRight: theme.spacing.unit,\n width:\"100%\",\n fontWeight: 600,\n controlBeforeLabel: {\n }\n },\n textFieldLabel: {\n fontSize: 14,\n position: 'relative',\n top: theme.spacing.unit,\n padding: '10px',\n },\n inputField: {\n fontWeight: 600,\n },\n readOnlyFieldset: {\n border: 0,\n },\n cssFocused: {},\n cssUnderline: {\n \"&:after\": {\n borderBottomColor: \"red\",\n padding: \"0!important\"\n }\n },\n // cssOutlinedInput: {\n // \"&$cssFocused $notchedOutline\": {\n // borderColor: \"green\"\n // }\n // },\n disabled: {},\n focused: {},\n error: {},\n cssOutlinedInput: {\n input: {\n fontWeight: 600,\n },\n // \"& $notchedOutline\": {\n // //add this nested selector\n // borderColor: \"#ffffff\",\n // },\n // '&:hover:not($disabled):not($cssFocused):not($error) $notchedOutline': {\n // borderColor: \"#ffffff\",\n // },\n // \"&$cssFocused $notchedOutline\": {\n // borderColor: \"#ffffff\",\n // }\n },\n\n notchedOutline: {\n borderColor: \"red\",\n },\n})\n\nclass OutlinedTextField extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n value: '',\n };\n this.handleChange = this.handleChange.bind(this);\n };\n\n handleChange(event) {\n };\n\n render() {\n const { elementName, elementId, classes, label, labelPlacement, inputLabelAdornmentPosition = \"start\", value, hideLabel = true, outlinedStyle, inputPropsExtra, ...other } = this.props;\n const _elementId = elementId || _.uniqueId((elementName || this.props.name) + '_');\n const adornmentPropName = inputLabelAdornmentPosition + 'Adornment';\n\n\n if (hideLabel === false) {\n return (\n \n \n {hideLabel ? '' :\n {label}:\n }\n \n \n {\n label\n } < /InputAdornment>})}\n }\n {...other}\n />\n \n \n )\n }\n let inputClasses = {}\n if (this.props.readOnly) {\n inputClasses = {\n root: classes.cssOutlinedInput,\n focused: classes.cssFocused,\n notchedOutline: classes.notchedOutline\n }\n }\n\n const v = value ? value : '';\n\n return(\n {\n label\n } < /InputAdornment>})}\n }\n {...other}\n />\n )\n }\n}\n\nOutlinedTextField.propTypes = {\n classes: PropTypes.object.isRequired,\n};\n\nexport default withStyles(styles)(OutlinedTextField);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport {\n withStyles,\n Checkbox,\n Grid,\n InputLabel\n} from '@material-ui/core';\n\nimport OutlinedTextField from '../OutlinedTextField'\n\nimport translate from '../../locales';\n\nconst __t = translate;\n\nconst styles = () => ({\n containerButtons: {\n textAlign: 'right'\n },\n containerIsTelpark: {\n textAlign:'right'\n },\n upperCase: {\n textTransform:'uppercase'\n }\n});\n\nclass ChannelForm extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n name: this.props.channel ? this.props.channel.name : \"\",\n nameError:false,\n isTelpark: this.props.channel && this.props.channel.telpark,\n }\n\n this.returnData = this.returnData.bind(this);\n }\n\n componentDidMount() {\n this.props.refReturnData(this.returnData);\n }\n\n componentDidUpdate(prevProps) {\n if(this.props != prevProps)\n this.setState({\n name: this.props.channel ? this.props.channel.name : \"\",\n isTelpark: this.props.channel && this.props.channel.telpark\n })\n }\n\n render() {\n return(\n
\n \n \n {__t('name')}:\n \n \n this.setState({name:e.target.value})}\n inputProps={{ maxLength: 25, className:this.props.classes.upperCase }}\n disabled={this.props.readonly}\n />\n \n \n {__t('is_telpark')}:\n \n \n {this.state.isTelpark && || } \n \n \n
\n )\n }\n\n returnData() {\n this.setState({nameError:false});\n \n let error = false;\n if(this.state.name == \"\") {\n error = true;\n this.setState({nameError:true})\n }\n\n return {\n formData:{\n name:this.state.name,\n isTelpark:this.state.isTelpark\n },\n formError: error\n }\n }\n}\n\nChannelForm.propTypes = {\n channel:PropTypes.object,\n readonly:PropTypes.bool,\n refReturnData:PropTypes.func.isRequired\n}\n\nexport default withStyles(styles)(ChannelForm);","import React from 'react';\nimport classNames from 'classnames';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport { channelsActions } from '../../../actions/channelsActions';\n\nimport {\n Paper,\n Modal,\n CircularProgress,\n withStyles,\n Grid,\n TextField,\n InputAdornment,\n} from '@material-ui/core';\n\nimport {\n pageModes,\n styleWithCommonClasses\n} from '../../../_constants/emparkConstants'\n\nimport TitleToolbar from '../../Forms/TitleToolbar';\n\nimport translate from '../../../locales';\nimport ChannelForm from '../../Forms/ChannelForm';\nimport ErrorMessage from '../../ErrorMessage';\nimport { auditsActions } from '../../../actions/auditsActions';\n\nimport JSONPretty from 'react-json-pretty';\nimport 'react-json-pretty/themes/1337.css';\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n boardHeader: {\n maxWidth: \"100%\",\n paddingTop: 10,\n margin: `10px auto`,\n marginLeft: '5%',\n marginRight: '5%',\n selectField: {\n marginRight: 20,\n },\n },\n button: {\n backgroundColor: '#faa636',\n '& span': {\n color: '#7b7c7d'\n },\n '&:hover': {\n backgroundColor: '#fabc66'\n }\n },\n buttonCancel: {\n marginRight: '10px',\n '& span': {\n color: '#7b7c7d'\n }\n },\n buttonMarginRight: {\n marginRight: '10px'\n },\n textField: {\n // marginRight: theme.spacing.unit,\n fontWeight: 600,\n },\n longField: {\n minWidth: '450px'\n },\n contextField: {\n minWidth: '500px'\n },\n typeField: {\n width: '160px'\n },\n containerOptions: {\n display: 'flex',\n flexDirection: 'row-reverse',\n alignItems: 'center',\n marginTop: '15px',\n marginBottom: '10px'\n }\n});\n\nclass AuditDetailPage extends React.Component {\n constructor(props) {\n super(props);\n\n // const { channels, router } = this.props;\n\n // this.state = {\n // channel: channels.find(c => c.id === router.id)\n // }\n\n // this.handleSubmit = this.handleSubmit.bind(this);\n }\n\n componentDidMount() {\n // const { channels, router } = this.props;\n\n // if (router.mode !== pageModes.add) {\n // this.setState({\n // channel: channels.find(c => c.id === router.id)\n // })\n // }\n }\n\n render() {\n const { audit, loading, classes } = this.props;\n\n return (\n
\n \n \n \n \n this.props.changeMode(pageModes.list)}\n >\n
\n {__t('table') + ':'},\n readOnly: true,\n }}\n />\n {__t('user') + ':'},\n readOnly: true,\n }}\n />\n
\n
\n {__t('center') + ':'},\n readOnly: true,\n }}\n />\n {__t('rate') + ':'},\n readOnly: true,\n }}\n />\n {__t('action') + ':'},\n readOnly: true,\n }}\n />\n
\n
{__t('json')}:
\n \n\n \n \n \n
\n )\n }\n\n\n /* events */\n handleSubmit() {\n var data = this.submitForm();\n\n const channel = {\n ...this.state.channel,\n ...data.formData\n }\n\n this.setState({ channel: channel });\n\n if (data.formError) {\n this.props.setError(__t('error_required_fields'));\n\n return;\n }\n\n this.props.sendChannel(channel);\n };\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.auditsReducer.router,\n audit: state.auditsReducer.audit,\n loading: state.auditsReducer.loading,\n error: state.auditsReducer.error\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n changeMode: (mode, id) => {\n dispatch(auditsActions.changeMode(mode, id))\n },\n // sendChannel: (channel) => {\n // dispatch(channelsActions.sendChannel(channel))\n // },\n setError: (error) => {\n dispatch(auditsActions.setError(error))\n }\n }\n}\n\nAuditDetailPage.propTypes = {\n router: PropTypes.object,\n users: PropTypes.array,\n loading: PropTypes.bool,\n error: PropTypes.string,\n router: PropTypes.object\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(AuditDetailPage));","import * as moment from 'moment';\n\nexport const dateFormat = 'DD/MM/YYYY';\nexport const dateTimeFormat = 'DD/MM/YYYY HH:mm:ss';\nexport const jsonDateTimeFormat = 'YYYY-MM-DD HH:mm:ss';\nexport const jsonDateFormat = 'YYYY-MM-DD';\nexport const timeFormat = 'HH:mm';\n\nconst isValidDate = (d) => {\n return d instanceof Date && !isNaN(d);\n}\nexport const toDateObject = (dateString, format = 'date') => {\n const res = moment(dateString, (format === 'datetime' ? dateTimeFormat : format === 'date' ? dateFormat : timeFormat)).toDate();\n return isValidDate(res) ? res : '';\n}\n\nexport const toDateObjectFromJson = (dateString, format = 'date') => {\n const res = moment(dateString, (format === 'datetime' ? jsonDateTimeFormat : format === 'date' ? jsonDateFormat : timeFormat)).toDate();\n return isValidDate(res) ? res : '';\n}\n\nexport const toDateString = (dateObject) => {\n if (!isValidDate(dateObject)) {\n return '';\n }\n return moment(dateObject).format(dateFormat)\n}\n\nexport const toDateTimeString = (dateObject) => {\n if (!isValidDate(dateObject)) {\n return '';\n }\n return moment(dateObject).format(dateTimeFormat)\n}\n\nexport const toDateJsonString = (dateObject) => {\n if (!isValidDate(dateObject)) {\n return '';\n }\n return moment(dateObject).format(jsonDateFormat)\n}\n\nexport const toTimeString = (dateObject) => {\n if (!isValidDate(dateObject)) {\n return '';\n }\n return moment(dateObject).format(timeFormat)\n}\n\nexport const isValidTimeString = (val) => {\n /*\n we use extra verification by regular expression due to the fact that Moment JS allows AM / PM in time format\n */\n var reg = /([0,1,2]){0,1}\\d:([0-5])\\d/g;\n return typeof val === 'string' && val.length === 5 && !!val.match(reg) && moment(val,'HH:mm')._isValid;\n}\n\nexport const isValidDateString = (val) => {\n var reg = /([0-3]){0,1}\\d\\/((([1]){1}([0-2]){1})|(([0]){0,1}([1-9]){1}))\\/\\d\\d\\d\\d/g;\n /* min length for date string in format 1/2/2021 is 8\n */\n return typeof val === 'string' && val.length >= 8 && !!val.match(reg) && moment(val, dateFormat)._isValid;\n}\n\nexport const formatDate = (dateString) => {\n return moment(dateString, dateFormat).format(dateFormat);\n}\n\nexport const formatTime = (timeString) => {\n return moment(timeString, timeFormat).format(timeFormat);\n}\n\nexport function validateDate(date, format) {\n return moment(date, format, true).isValid();\n}\n","import React from 'react'\nimport PropTypes from 'prop-types';\n\nimport translate from '../../locales';\nimport { Button, Modal, Paper, withStyles } from '@material-ui/core';\nimport ErrorMessage from '../ErrorMessage';\nconst __t = translate;\n\nconst styles = () => ({\n button: {\n marginTop:'30px'\n },\n modal: {\n display:\"flex\", \n alignItems:\"center\", \n justifyContent:\"center\"\n },\n paper: {\n width:'500px', \n textAlign:\"center\", \n padding:'20px 10px',\n outline:\"none\"\n }\n})\n\nconst ErrorDialog = props => {\n\n if(!props.error)\n return(\n null\n )\n\n const {classes} = props;\n\n return(\n \n \n \n\n \n \n \n )\n}\n\nErrorDialog.propTypes = {\n open:PropTypes.bool,\n error:PropTypes.any,\n onOkClick:PropTypes.func\n}\n\n\nexport default withStyles(styles)(ErrorDialog);\n\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport DialogTitle from '@material-ui/core/DialogTitle';\n\nimport translate from '../../locales';\n\nconst __t = translate;\n\nclass ConfirmDialog extends React.Component {\n constructor(props) {\n super(props);\n };\n\n handleClose = (action) => () => {\n if (typeof this.props.onClose === 'function') {\n this.props.onClose(action);\n }\n };\n\n render() {\n const { title, content, open } = this.props;\n return (\n
\n \n {title}\n \n \n {content}\n \n \n \n \n \n \n \n
\n );\n }\n}\n\nConfirmDialog.propTypes = {\n open: PropTypes.bool,\n title: PropTypes.string,\n content: PropTypes.string,\n onClose: PropTypes.func\n}\n\nexport default ConfirmDialog;","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport InputAdornment from '@material-ui/core/InputAdornment';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport FormControl from '@material-ui/core/FormControl';\nimport Select from '@material-ui/core/Select';\nimport NativeSelect from '@material-ui/core/NativeSelect';\nimport InputBase from '@material-ui/core/InputBase';\nimport OutlinedInput from '@material-ui/core/OutlinedInput';\n\nimport './SelectionField.css';\n\nimport _ from 'lodash';\n\nimport translate from '../locales';\n\nconst __t = translate;\n\nconst styles = theme => ({\n root: {\n display: 'flex',\n flexWrap: 'wrap',\n },\n margin: {\n margin: theme.spacing.unit,\n },\n field: {\n minWidth: 200,\n marginRight: 20\n },\n});\n\nclass SelectField extends React.Component {\n constructor(props) {\n super(props);\n this.state = {};\n this.handleChange = this.handleChange.bind(this);\n };\n\n componentDidMount() {\n // this.handleChange = this.handleChange.bind(this);\n };\n\n // handleChange(event) {\n // this.setState({ [prop]: event.target.value });\n // };\n\n handleChange = event => {\n this.setState({\n [event.target.name]: event.target.value\n });\n this.props.onChange(event.target.value);\n };\n\n handleClickShowPassword = () => {\n this.setState(state => ({ showPassword: !state.showPassword }));\n };\n\n render() {\n const { elementName, classes, label, value, options=[], onChange, labelPosition, outlinedStyle } = this.props;\n const elementId = _.uniqueId(elementName);\n return (\n \n \n }\n startAdornment={{label}:}\n >\n \n {options.map(option => (\n \n ))}\n \n \n );\n }\n}\n\nSelectField.propTypes = {\n classes: PropTypes.object.isRequired,\n};\n\nexport default withStyles(styles)(SelectField);\n","import { Button, IconButton, Toolbar, Tooltip, Typography, withStyles } from '@material-ui/core';\nimport AddIcon from '@material-ui/icons/Add';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport translate from '../locales';\nimport SelectionField from './SelectionField';\n\n\n\n\nconst __t = translate;\n\nconst toolbarStyles = theme => ({\n root: {\n paddingLeft:0,\n paddingRight: theme.spacing.unit,\n },\n filtersContainer: {\n paddingLeft: '5%',\n },\n spacer: {\n flex: '1 1',\n },\n actions: {\n color: theme.palette.text.secondary,\n },\n title: {\n flex: '0 0 auto',\n },\n buttonCancel: {\n '& span': {\n color:'#7b7c7d'\n }\n },\n filterComponentContainer: {\n paddingLeft:'10px'\n }\n });\n\nlet EnhancedTableToolbar = props => {\n const [search, setSearch] = useState(\"\");\n \n const { selectedRow, tableTitle, classes, onConfirmClick, addHandler, editHandler, deleteHadler, filters, onTableEdit=null, onTableCancel=null, filterComponent} = props;\n const selected = selectedRow != null && Object.keys(selectedRow);\n \n return (\n \n
\n \n {tableTitle}\n \n
\n
\n {filters.map(filterObj => (\n \n ))}\n
\n {filterComponent}\n
\n {props.customTableButton ? props.customTableButton : null}\n
\n {onTableCancel && }\n {onTableEdit && }\n {typeof addHandler === 'function' &&\n \n \n \n \n \n }\n
\n \n );\n };\n \n EnhancedTableToolbar.propTypes = {\n classes: PropTypes.object.isRequired,\n // selected: PropTypes.bool.isRequired,\n tableTitle: PropTypes.string,\n onTableEdit: PropTypes.func,\n onTableCancel: PropTypes.func,\n filterComponent: PropTypes.object,\n customTableButton: PropTypes.object\n };\n \nexport default withStyles(toolbarStyles)(EnhancedTableToolbar);","import { red } from '@material-ui/core/colors';\nimport IconButton from '@material-ui/core/IconButton';\nimport Paper from '@material-ui/core/Paper';\nimport { withStyles } from '@material-ui/core/styles';\nimport Table from '@material-ui/core/Table';\nimport TableBody from '@material-ui/core/TableBody';\nimport TableCell from '@material-ui/core/TableCell';\nimport TableHead from '@material-ui/core/TableHead';\nimport TablePagination from '@material-ui/core/TablePagination';\nimport TableRow from '@material-ui/core/TableRow';\nimport TableSortLabel from '@material-ui/core/TableSortLabel';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport DeleteIcon from '@material-ui/icons/Delete';\nimport EditIcon from '@material-ui/icons/Edit';\nimport VisibilityIcon from '@material-ui/icons/Visibility';\nimport _ from 'lodash';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport translate from '../../locales';\nimport { accentFold } from '../../_constants/emparkConstants';\nimport ConfirmDialog from '../Dialogs/ConfirmDialog';\nimport EnhancedTableToolbar from '../EnhancedTableToolbar';\n\n\n\n\n\nconst __t = translate;\n\nfunction desc(a, b, orderBy) {\n if (typeof a[orderBy] == 'string') {\n let sA = accentFold(a[orderBy]), sB = accentFold(b[orderBy]);\n return sA.localeCompare(sB);\n }\n\n if (b[orderBy] < a[orderBy]) {\n return -1;\n }\n if (b[orderBy] > a[orderBy]) {\n return 1;\n }\n return 0;\n}\n\nfunction stableSort(array, cmp) {\n const stabilizedThis = array.map((el, index) => [el, index]);\n stabilizedThis.sort((a, b) => {\n const order = cmp(a[0], b[0]);\n if (order !== 0) return order;\n return a[1] - b[1];\n });\n return stabilizedThis.map(el => el[0]);\n}\n\nfunction getSorting(order, orderBy) {\n return order === 'desc' ? (a, b) => desc(a, b, orderBy) : (a, b) => -desc(a, b, orderBy);\n}\n\n\nclass EnhancedTableHead extends React.Component {\n createSortHandler = property => event => {\n this.props.onRequestSort(event, property);\n };\n\n render() {\n const { onSelectAllClick, order, orderBy, rowCount } = this.props;\n const rows = this.props.rows;\n\n return (\n \n \n {rows.filter(_ => _.type !== 'bool').map(\n (row, i) => (\n \n \n \n {row.label}\n \n \n \n ),\n this,\n )}\n {rows.filter(_ => _.type === 'bool').map(\n (row, i) => (\n \n \n ))}\n \n \n \n \n );\n }\n}\n\nEnhancedTableHead.propTypes = {\n onRequestSort: PropTypes.func.isRequired,\n order: PropTypes.string.isRequired,\n orderBy: PropTypes.string.isRequired,\n rowCount: PropTypes.number.isRequired,\n rows: PropTypes.array.isRequired,\n};\n\n// const toolbarStyles = theme => ({\n// root: {\n// paddingRight: theme.spacing.unit,\n// },\n// filtersContainer: {\n// paddingLeft: '5%',\n// },\n// spacer: {\n// flex: '1 1 80%',\n// },\n// actions: {\n// color: theme.palette.text.secondary,\n// },\n// title: {\n// flex: '0 0 auto',\n// },\n// buttonCancel: {\n// '& span': {\n// color:'#7b7c7d'\n// }\n// },\n// });\n\n// let EnhancedTableToolbar = props => {\n// const { selectedRow, tableTitle, classes, onConfirmClick, addHandler, editHandler, deleteHadler, filters, onTableEdit=null, onTableCancel=null } = props;\n// const selected = selectedRow != null && Object.keys(selectedRow);\n// return (\n// \n//
\n// \n// {tableTitle}\n// \n//
\n//
\n// {filters.map(filterObj => (\n// \n// ))}\n//
\n//
\n//
\n// {onTableCancel && }\n// {onTableEdit && }\n// {typeof addHandler === 'function' &&\n// \n// \n// \n// \n// \n// }\n//
\n// \n// );\n// };\n\n// EnhancedTableToolbar.propTypes = {\n// classes: PropTypes.object.isRequired,\n// // selected: PropTypes.bool.isRequired,\n// tableTitle: PropTypes.string,\n// onTableEdit: PropTypes.func,\n// onTableCancel: PropTypes.func\n// };\n\n// EnhancedTableToolbar = withStyles(toolbarStyles)(EnhancedTableToolbar);\n\nconst styles = theme => ({\n root: {\n width: '100%',\n // marginTop: theme.spacing.unit * 3,\n },\n table: {\n },\n tableWrapper: {\n overflowX: 'auto',\n },\n});\n\nlet CustomTableCell = props => {\n const { data = {}, row = \"\", align = \"center\", formatter } = props;\n const value = typeof formatter === 'function' && formatter(data[row], data) || data[row];\n\n return (\n
{value}
\n );\n};\n\nCustomTableCell.propTypes = {\n data: PropTypes.object,\n row: PropTypes.string,\n};\n\nlet ActionTableCell = props => {\n const { data, row, } = props;\n const value = data[row];\n return (\n \n \n \n \n \n \n \n \n );\n};\n\nActionTableCell.propTypes = {\n data: PropTypes.object,\n row: PropTypes.object,\n};\n\nclass EnhancedTable extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n order: props.order ? props.order : 'asc',\n orderBy: props.orderBy ? props.orderBy : '',\n selected: null,\n page: props.page ? props.page : 0,\n rowsPerPage: props.rowsPerPage ? props.rowsPerPage : 50,\n confirmDeleteCallback: false,\n };\n }\n\n componentDidMount() {\n // this.editButtonHandler = this.editButtonHandler.bind(this);\n }\n\n componentDidUpdate(prevProps) {\n if (\n this.props.order != prevProps.order ||\n this.props.orderBy != prevProps.orderBy ||\n this.props.page != prevProps.page ||\n this.props.rowsPerPage != prevProps.rowsPerPage\n ) {\n this.setState({\n order: this.props.order,\n orderBy: this.props.orderBy,\n page: this.props.page,\n rowsPerPage: this.props.rowsPerPage\n })\n }\n }\n\n handleRequestSort = (event, property) => {\n const orderBy = property;\n let order = 'desc';\n\n if (this.state.orderBy === property && this.state.order === 'desc') {\n order = 'asc';\n }\n\n if (this.props.handleTableOrder)\n this.props.handleTableOrder(order, orderBy);\n else\n this.setState({ order, orderBy });\n };\n\n handleSelectAllClick = event => {\n };\n\n handleClick = (event, rowObject) => {\n const { selected } = this.state;\n typeof this.props.onConfirm === 'function' && this.props.onConfirm(rowObject);\n };\n\n handleChangePage = (event, page) => {\n if (this.props.handleTableState)\n this.props.handleTableState('page', page);\n else\n this.setState({ page });\n };\n\n\n handleChangeRowsPerPage = event => {\n if (this.props.handleTableState)\n this.props.handleTableState('rowsPerPage', event.target.value);\n else\n this.setState({ rowsPerPage: event.target.value });\n };\n\n isSelected = id => this.state.selected && this.state.selected.id === id;\n\n confirmButtonHandler = (event, rowObject) => {\n };\n\n addButtonHandler = (event, rowObject) => {\n this.props.onAdd();\n };\n\n viewButtonHandler = (event, rowObject) => {\n event.stopPropagation();\n this.props.onView(rowObject);\n };\n\n editButtonHandler = (event, rowObject) => {\n event.stopPropagation();\n this.props.onEdit(rowObject);\n };\n\n deleteButtonHandler = (event, rowObject) => {\n event.stopPropagation();\n this.setState(_.extend(_.cloneDeep(this.state), { confirmDeleteDialogOpen: true, toDelete: rowObject }));\n };\n\n confirmDeleteCallback = (result) => {\n /* result might be either \"ok\", or \"cancel\"\n */\n this.setState(_.extend(_.cloneDeep(this.state), { confirmDeleteDialogOpen: false, toDelete: {} }));\n if (result == 'ok') {\n this.props.onDelete(_.clone(this.state.toDelete));\n }\n };\n\n render() {\n const { classes, tableTitle, rows, onConfirm = null, onAdd = null, onView = null, onEdit = null, onDelete = null, filters = [], onEditCondition = null, onDeleteCondition = null, onTableEdit = null, onTableCancel = null, filterComponent } = this.props;\n const { order, orderBy, selected, rowsPerPage, page } = this.state;\n const data = this.props.dataSource || [];\n const emptyRows = rowsPerPage - Math.min(rowsPerPage, data.length - page * rowsPerPage);\n\n return (\n \n \n
\n \n \n \n {stableSort(data || [], getSorting(order, orderBy))\n .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)\n .map(n => {\n const isSelected = this.isSelected(n.id);\n\n const editCondition = onEditCondition === null || onEditCondition(n);\n const deleteCondition = onDeleteCondition === null || onDeleteCondition(n);\n\n return (\n this.props.onView != null && this.viewButtonHandler(event, n)}\n role=\"checkbox\"\n aria-checked={isSelected}\n tabIndex={-1}\n key={n.id.toString()}\n selected={isSelected}\n >\n {rows.map((row, i) => (\n \n ))}\n {(onView || onEdit || onDelete) &&\n \n {onView &&\n \n this.viewButtonHandler(event, n)}>\n \n \n \n }\n {onEdit && editCondition &&\n \n this.editButtonHandler(event, n)}>\n \n \n \n }\n {onDelete && deleteCondition &&\n \n this.deleteButtonHandler(event, n)}>\n \n \n \n }\n \n }\n \n\n\n );\n })}\n {emptyRows > 0 && (\n \n \n \n )}\n\n \n
\n\n
\n \n \n
\n );\n }\n}\n\n\nconst mapStateToProps = state => ({\n loading: state.parkingsReducer.loading,\n error: state.parkingsReducer.error,\n selected: state.selected,\n});\n\nEnhancedTable.propTypes = {\n classes: PropTypes.object.isRequired,\n selected: PropTypes.object,\n dataSource: PropTypes.array,\n onConfirm: PropTypes.func,\n onAdd: PropTypes.func,\n onView: PropTypes.func,\n onEdit: PropTypes.func,\n onDelete: PropTypes.func,\n onEditCondition: PropTypes.func,\n onDeleteCondition: PropTypes.func,\n onTableEdit: PropTypes.func,\n onTableCancel: PropTypes.func,\n filterComponent: PropTypes.object,\n customTableButton: PropTypes.object\n};\n\n// export default withStyles(styles)(EnhancedTable);\n// export default { withStyles(styles)(EnhancedTable) as EMTable };\n\nconst connectedEnhancedTable = connect(mapStateToProps)(withStyles(styles)(EnhancedTable));\nexport default connectedEnhancedTable;\n\n","import {\n Button, CircularProgress, Grid, InputLabel, Modal, Paper, withStyles\n} from '@material-ui/core';\nimport moment from 'moment';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport classNames from 'classnames';\nimport { connect } from 'react-redux';\nimport { auditsActions } from '../../../actions/auditsActions';\nimport translate from '../../../locales';\nimport {\n styleWithCommonClasses\n} from '../../../_constants/emparkConstants';\nimport { toDateObjectFromJson, toDateTimeString } from '../../../_helpers/dateConvert';\nimport ErrorDialog from '../../Dialogs/ErrorDialog';\nimport OutlinedTextField from '../../OutlinedTextField';\nimport EMTable from '../../Tables/EMTable';\nimport DatePicker from \"react-datepicker\";\nimport { FILTERS_AUDITS } from '../../../actions/filtersActions';\n\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n rowMargin: {\n marginTop: '15px'\n },\n labelPadding: {\n paddingLeft: '10px'\n },\n upperCase: {\n textTransform:'uppercase'\n }\n});\n\nconst AuditsTablePage = props => {\n const { auditsFilter, locale } = props;\n\n const [dateFrom, setDateFrom] = useState(auditsFilter.dateFrom);\n const [dateTo, setDateTo] = useState(auditsFilter.dateTo);\n const [user, setUser] = useState(auditsFilter.user);\n const [table, setTable] = useState(auditsFilter.table);\n const [context, setContext] = useState(auditsFilter.context);\n const [rate, setRate] = useState(auditsFilter.rate);\n const [error, setError] = useState(null);\n\n /* Render */\n const { audits, loading, classes } = props;\n\n const rowsAuditsTable = [\n { id: 'refTable', align: 'center', disablePadding: false, label: __t('table') },\n { id: 'action', align: 'center', disablePadding: false, label: __t('action') },\n { id: 'contextName', align: 'center', disablePadding: false, label: __t('center') },\n { id: 'rateName', align: 'center', disablePadding: false, label: __t('rate') },\n { id: 'insUser', align: 'center', disablePadding: false, label: __t('user') },\n {\n id: 'insDate', align: 'center', disablePadding: false, label: __t('date'), formatter: function (value) {\n return toDateTimeString(toDateObjectFromJson(value, 'datetime'))\n }\n },\n ];\n\n return (\n
\n \n \n \n props.setError(null)}\n />\n \n

{__t('filter')}

\n \n \n {__t('from')} {__t('inclusive_helper')}:\n \n \n {\n setDateFrom(date);\n }}\n customInput={\n \n }\n maxDate={moment(dateTo).isValid ? dateTo : null}\n />\n \n \n {__t('to')} {__t('inclusive_helper')}:\n \n \n {\n setDateTo(date);\n }}\n customInput={\n \n }\n minDate={moment(dateFrom).isValid ? dateFrom : null}\n />\n \n \n {__t('user')}:\n \n \n {\n setUser(e.target.value);\n }}\n inputProps={{ maxLength: 50, className: classes.upperCase }}\n />\n \n \n {__t('table')}:\n \n \n {\n setTable(e.target.value);\n }}\n inputProps={{ maxLength: 70, className: classes.upperCase }}\n />\n \n \n {__t('center')}:\n \n \n {\n setContext(e.target.value);\n }}\n inputProps={{ maxLength: 70, className: classes.upperCase }}\n />\n \n \n {__t('rate')}:\n \n \n {\n setRate(e.target.value);\n }}\n inputProps={{ maxLength: 70, className: classes.upperCase }}\n />\n \n \n {error &&\n
{error}
\n }\n {\n setError(null);\n \n const from = moment(dateFrom);\n const to = moment(dateTo);\n\n if (!from.isValid() || !to.isValid()) {\n setError(__t('error_required_fields'));\n return;\n }\n\n const filter = {\n dateFrom: from.toDate(),\n dateTo: to.toDate(),\n user: user,\n table: table,\n context: context,\n rate: rate\n }\n\n props.fetchAudits(filter);\n props.updateFilter(filter);\n }}\n >\n {__t('search')}\n \n
\n
\n
\n \n props.fetchDetail(audit.id)}\n />\n \n
\n )\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.auditsReducer.router,\n audits: state.auditsReducer.audits,\n loading: state.auditsReducer.loading,\n error: state.auditsReducer.error,\n userRole: state.usersReducer.userRole,\n auditsFilter: state.filtersReducer.auditsFilter,\n locale: state.locales.current\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n changeMode: (mode, id) => {\n dispatch(auditsActions.changeMode(mode, id))\n },\n fetchDetail: (id) => {\n dispatch(auditsActions.fetchDetail(id))\n },\n setError: (error) => {\n dispatch(auditsActions.setError(error))\n },\n fetchAudits: (filter) => {\n dispatch(auditsActions.fetchAudits(filter));\n },\n updateFilter: (filter) => {\n dispatch({\n type: FILTERS_AUDITS,\n payload: {\n auditsFilter: filter\n }\n })\n }\n }\n}\n\nAuditsTablePage.propTypes = {\n router: PropTypes.object,\n channels: PropTypes.array,\n loading: PropTypes.bool,\n error: PropTypes.string,\n fetchRoles: PropTypes.func,\n changeMode: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(AuditsTablePage));","import PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\nimport { connect } from 'react-redux';\nimport { auditsActions } from '../../../actions/auditsActions';\nimport {\n pageModes\n} from '../../../_constants/emparkConstants';\nimport AuditDetailPage from './AuditDetailPage';\nimport AuditsTablePage from './AuditsTablePage';\n\n\n\nconst AuditsRouterPage = props => {\n useEffect(() => {\n props.changeMode(pageModes.list);\n props.fetchAudits(props.auditsFilter);\n\n return () => {\n\n }\n }, [])\n\n if (props.router.mode === pageModes.list)\n return (\n \n )\n\n return (\n \n )\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.auditsReducer.router,\n auditsFilter: state.filtersReducer.auditsFilter\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n fetchAudits: (filter) => {\n dispatch(auditsActions.fetchAudits(filter));\n },\n fetchContextAudits: (contextId) => {\n dispatch(auditsActions.fetchContextAudits(contextId));\n },\n fetchRateAudits: (rateId) => {\n dispatch(auditsActions.fetchRateAudits(rateId));\n },\n changeMode: (mode) => {\n dispatch(auditsActions.changeMode(mode))\n }\n }\n}\n\nAuditsRouterPage.propTypes = {\n router: PropTypes.object,\n changeMode: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(AuditsRouterPage);","import React from 'react'\nimport DeleteIcon from '@material-ui/icons/Delete';\nimport EditIcon from '@material-ui/icons/Edit';\nimport VisibilityIcon from '@material-ui/icons/Visibility';\nimport { red } from '@material-ui/core/colors';\nimport __t from '../../locales';\nimport { IconButton, Tooltip } from '@material-ui/core';\n\nexport const MaterialTableActions = (props) => {\n const { onView, onEdit, onDelete } = props;\n return (\n
\n {onView ?\n \n \n \n \n :\n null\n }\n\n {onEdit ?\n \n \n \n \n :\n null\n }\n\n {onDelete ?\n \n \n \n \n :\n null\n }\n
\n )\n}","import React, { useEffect, useState } from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport { channelsActions } from '../../../actions/channelsActions';\n\nimport {\n Paper,\n Modal,\n CircularProgress,\n withStyles\n} from '@material-ui/core';\n\nimport {\n APP_CLAIMS,\n hasPermission,\n materialTableStyles,\n pageModes,\n productTypes,\n styleWithCommonClasses\n} from '../../../_constants/emparkConstants'\n\nimport translate from '../../../locales';\nimport ErrorDialog from '../../Dialogs/ErrorDialog';\nimport ConfirmDialog from '../../Dialogs/ConfirmDialog';\nimport TitleToolbar from '../../Forms/TitleToolbar';\nimport MaterialTable from 'material-table';\nimport { MaterialTableActions } from '../../Tables/MaterialTableActions';\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses();\n\nconst ChannelsTablePage = props => {\n const [channel, setChannel] = useState(null);\n\n /* Events */\n const handleDeleteChannel = (channel) => {\n props.deleteChannel(channel.id);\n }\n\n /* Render */\n const { channels, loading, classes, onStreet, productTypeCode } = props;\n\n const rowsChannelsTable = [\n { id: 'name', align: 'center', disablePadding: false, label: __t('channel') },\n ];\n\n return (\n
\n \n \n \n props.setError(null)}\n />\n {\n if (action == 'ok') {\n handleDeleteChannel(channel);\n }\n\n setChannel(null);\n }}\n />\n \n props.changeMode(pageModes.add))}\n >\n \n props.changeMode(pageModes.edit, rowData.id) : null}\n onDelete={hasPermission(props.userRole, APP_CLAIMS.CHAN_D) && rowData.deletable ? () => setChannel(rowData) : null}\n />\n }\n ]}\n data={channels}\n options={{\n filtering: true,\n search: false,\n toolbar: false\n }}\n />\n \n \n
\n )\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.channelsReducer.router,\n channels: state.channelsReducer.channels,\n loading: state.channelsReducer.loading,\n error: state.channelsReducer.error,\n userRole: state.usersReducer.userRole\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n deleteChannel: (channelId) => {\n dispatch(channelsActions.deleteChannel(channelId));\n },\n changeMode: (mode, id) => {\n dispatch(channelsActions.changeMode(mode, id))\n },\n setError: (error) => {\n dispatch(channelsActions.setError(error))\n }\n }\n}\n\nChannelsTablePage.propTypes = {\n router: PropTypes.object,\n channels: PropTypes.array,\n loading: PropTypes.bool,\n error: PropTypes.string,\n fetchRoles: PropTypes.func,\n changeMode: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(ChannelsTablePage));","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport { channelsActions } from '../../../actions/channelsActions';\n\nimport {\n Paper,\n Modal,\n CircularProgress,\n withStyles,\n} from '@material-ui/core';\n\nimport {\n pageModes,\n styleWithCommonClasses\n} from '../../../_constants/emparkConstants'\n\nimport TitleToolbar from '../../Forms/TitleToolbar';\n\nimport translate from '../../../locales';\nimport ChannelForm from '../../Forms/ChannelForm';\nimport ErrorMessage from '../../ErrorMessage';\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses();\n\nclass ChannelDetailPage extends React.Component {\n constructor(props) {\n super(props);\n \n const { channels, router } = this.props;\n\n this.state = {\n channel: channels.find(c => c.id === router.id)\n }\n\n this.handleSubmit = this.handleSubmit.bind(this);\n }\n\n componentDidMount() {\n const { channels, router } = this.props;\n\n if (router.mode !== pageModes.add) {\n this.setState({\n channel: channels.find(c => c.id === router.id)\n })\n }\n }\n\n render() {\n const { loading, classes } = this.props;\n\n return (\n
\n \n \n \n \n this.props.changeMode(pageModes.list)}\n onSave={this.handleSubmit}\n >\n this.submitForm = returnData}\n />\n \n \n \n
\n )\n }\n\n\n /* events */\n handleSubmit() {\n var data = this.submitForm();\n\n const channel = {\n ...this.state.channel,\n ...data.formData\n }\n\n this.setState({channel:channel});\n\n if (data.formError) {\n this.props.setError(__t('error_required_fields'));\n\n return;\n }\n\n this.props.sendChannel(channel);\n };\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.channelsReducer.router,\n channels: state.channelsReducer.channels,\n loading: state.channelsReducer.loading,\n error: state.channelsReducer.error\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n changeMode: (mode, id) => {\n dispatch(channelsActions.changeMode(mode, id))\n },\n sendChannel: (channel) => {\n dispatch(channelsActions.sendChannel(channel))\n },\n setError: (error) => {\n dispatch(channelsActions.setError(error))\n }\n }\n}\n\nChannelDetailPage.propTypes = {\n router: PropTypes.object,\n users: PropTypes.array,\n loading: PropTypes.bool,\n error: PropTypes.string,\n router: PropTypes.object\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(ChannelDetailPage));","import React, { useEffect } from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\n\nimport {\n pageModes\n} from '../../../_constants/emparkConstants'\n\nimport ChannelsTablePage from './ChannelsTablePage';\nimport ChannelDetailPage from './ChannelDetailPage';\nimport { channelsActions } from '../../../actions/channelsActions';\n\nconst ChannelsRouterPage = props => {\n useEffect(() => {\n props.changeMode(pageModes.list);\n props.fetchChannels();\n\n return () => {\n\n }\n }, [])\n\n if (props.router.mode === pageModes.list)\n return (\n \n )\n\n return (\n \n )\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.channelsReducer.router\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n fetchChannels: () => {\n dispatch(channelsActions.fetchChannels());\n },\n changeMode: (mode) => {\n dispatch(channelsActions.changeMode(mode))\n }\n }\n}\n\nChannelsRouterPage.propTypes = {\n router: PropTypes.object,\n changeMode: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ChannelsRouterPage);","import React from 'react'\nimport classNames from 'classnames';\nimport { CircularProgress, Paper, withStyles } from '@material-ui/core';\nimport { styleWithCommonClasses } from '../_constants/emparkConstants';\n\nconst styles = styleWithCommonClasses();\n\nconst LoadingPaper = props => {\n return(\n \n \n {props.children}\n \n )\n}\n\nexport default withStyles(styles)(LoadingPaper);","import PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\nimport { connect } from 'react-redux';\nimport { contextsActions } from '../../actions/contextsActions';\n\nconst ContextSyncDaemon = props => {\n useEffect(() => {\n const interval = window.setInterval(async () => {\n props.fetchContextMflVersion(props.context.id);\n }, 60 * 1000);\n\n return () => {\n window.clearInterval(interval);\n }\n }, [])\n\n return (\n
\n )\n}\n\nfunction mapStateToProps(state) {\n return {\n\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n fetchContextMflVersion: (id) => {\n dispatch(contextsActions.checkCenterVersionSync(id));\n },\n }\n}\n\nContextSyncDaemon.propTypes = {\n context: PropTypes.object,\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ContextSyncDaemon);","import { Button, Dialog, DialogActions, DialogContent, DialogTitle, InputAdornment, TextField, withStyles } from '@material-ui/core';\nimport EditIcon from '@material-ui/icons/Edit';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport { connect } from 'react-redux';\nimport { contextsActions, CONTEXT_SAP_CODE_STATE } from '../actions/contextsActions';\nimport translate from '../locales';\nimport { APP_CLAIMS, hasPermission, productTypes } from '../_constants/emparkConstants';\nimport ErrorMessage from './ErrorMessage';\nimport LoadingPaper from './LoadingPaper';\nimport ContextSyncDaemon from './Services/ContextSyncDaemon';\n\n\nconst __t = translate;\n\nconst styles = theme => ({\n boardHeader: {\n maxWidth: \"100%\",\n paddingTop: 10,\n margin: `${theme.spacing.unit}px auto`,\n marginLeft: '0%',\n marginRight: '0%',\n selectField: {\n marginRight: 20,\n },\n },\n button: {\n backgroundColor: '#faa636',\n '& span': {\n color: '#7b7c7d'\n },\n '&:hover': {\n backgroundColor: '#fabc66'\n }\n },\n buttonCancel: {\n marginRight: '10px',\n '& span': {\n color: '#7b7c7d'\n }\n },\n buttonMarginRight: {\n marginRight: '10px'\n },\n textField: {\n marginRight: theme.spacing.unit,\n fontWeight: 600,\n },\n longField: {\n minWidth: '450px'\n },\n contextField: {\n minWidth: '500px'\n },\n typeField: {\n width: '160px'\n },\n sapCodeField: {\n width: '250px'\n },\n containerOptions: {\n display: 'flex',\n flexDirection: 'row-reverse',\n alignItems: 'center',\n marginTop: '15px',\n marginBottom: '10px'\n },\n cancelButton: {\n '& span': {\n color: '#7b7c7d'\n }\n },\n});\n\nconst ContextHeader = props => {\n const [sapCode, setSapCode] = useState(props.context.sapCode);\n\n const { context, classes, sapCodeState } = props;\n\n const closeDialog = () => {\n props.setDialogOpen(false);\n setSapCode(props.context.sapCode);\n }\n\n const updateSapCode = () => {\n if (!sapCode.match(/^[a-zA-Z0-9]{9}$/i)) {\n props.setError(__t('err_sap_code'));\n return;\n }\n\n props.updateSapCode(context.id, sapCode.toUpperCase());\n }\n\n return (\n
\n \n \n \n
{`${__t('edit')} ${__t('sap_code')}`}
\n
\n {sapCodeState.loading ?\n \n \n \n :\n [\n \n\n setSapCode(e.target.value)}\n inputProps={{\n style: { textTransform: 'uppercase' },\n maxLength: 9\n }}\n />\n
\n < ErrorMessage\n error={sapCodeState.error}\n />\n
,\n \n \n \n \n ]\n }\n
\n
\n
\n {__t('center') + ':'},\n readOnly: true,\n }}\n />\n\n {__t('type') + ':'},\n readOnly: true,\n }}\n />\n
\n\n
\n {__t('municipality') + ':'},\n readOnly: true,\n }}\n />\n\n\n {__t('sap_code') + ':'},\n readOnly: true,\n endAdornment: !props.disableEditSapCode && hasPermission(props.userRole, APP_CLAIMS.CTX_E) ?\n props.setDialogOpen(true)} style={{ height: '20px', width: '20px', cursor: 'pointer' }} color=\"secondary\" />\n :\n null\n }}\n />\n
\n
\n
\n {props.showOptions &&\n
\n \n {context.onStreet ?\n \n :\n \n }\n {props.onBackClick &&\n \n }\n
\n {props.onHistoryClick &&\n \n }\n
\n }\n\n
\n
\n )\n}\n\nfunction mapStateToProps(state) {\n return {\n sapCodeState: state.contextsReducer.sapCodeState,\n userRole: state.usersReducer.userRole\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n setDialogOpen: (open) => {\n dispatch({\n type: CONTEXT_SAP_CODE_STATE,\n payload: {\n open: open,\n loading: false,\n error: null\n }\n });\n },\n setError: (error) => {\n dispatch({\n type: CONTEXT_SAP_CODE_STATE,\n payload: {\n open: true,\n loading: false,\n error: error\n }\n });\n },\n updateSapCode: (contextId, sapCode) => {\n dispatch(contextsActions.editSapCode(contextId, sapCode));\n }\n }\n}\n\nContextHeader.propTypes = {\n context: PropTypes.object,\n onPositionsClick: PropTypes.func,\n onFreeDaysClick: PropTypes.func,\n onDisallowedPeriodsClick: PropTypes.func,\n onHistoryClick: PropTypes.func,\n onBackClick: PropTypes.func,\n showOptions: PropTypes.bool,\n disabledDisallowedPeriod: PropTypes.bool,\n disableEditSapCode: PropTypes.bool\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(ContextHeader));","import React from 'react';\nimport { useEffect } from 'react';\nimport { auxActions } from '../../actions/auxActions';\nimport PropTypes from 'prop-types';\nimport { connect } from 'react-redux';\nimport { channelsActions } from '../../actions/channelsActions';\nimport { positionsActions } from '../../actions/positionsActions';\nimport { ratesActions } from '../../actions/ratesActions';\nimport { historyActions } from '../../reducers';\n\nconst FetchGlobals = (props) => {\n useEffect(() => {\n if (props.positions)\n props.fetchPositions(props.contextId);\n\n if (props.rates)\n props.fetchRates(props.contextId);\n\n if (props.history)\n props.fetchHistory(props.contextId);\n\n return () => {\n\n };\n }, []);\n\n return (\n <>\n {props.children}\n \n );\n};\n\nfunction mapStateToProps(state) {\n return {\n\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n fetchPositions: (id) => {\n dispatch(positionsActions.fetchPositions(id));\n },\n fetchRates: (id) => {\n dispatch(ratesActions.fetchRates(id));\n },\n fetchHistory: (id) => {\n dispatch(historyActions.fetchHistoryVersions(id));\n }\n }\n}\n\nFetchGlobals.propTypes = {\n contextId: PropTypes.string,\n positions: PropTypes.bool,\n rates: PropTypes.bool,\n history: PropTypes.bool,\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(FetchGlobals);\n","import { withStyles } from '@material-ui/core';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport MaterialTable from 'material-table';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport translate from '../../locales';\nimport { historyActions } from '../../reducers';\nimport { materialTableStyles, styleWithCommonClasses } from '../../_constants/emparkConstants';\nimport { toDateObjectFromJson, toDateTimeString } from '../../_helpers/dateConvert';\nimport ErrorMessage from '../ErrorMessage';\nimport FetchFromContext from '../Fetchers/FetchFromContext';\nimport LoadingDialog from './LoadingDialog';\n\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n select: {\n width: '100%'\n },\n marginFields: {\n marginTop: '15px'\n },\n paddingLabel: {\n paddingRight: '20px'\n },\n header: {\n fontSize: '1.1em',\n color: 'black'\n }\n})\n\nconst HistoryDialog = props => {\n const { context, versions, classes, loading, error } = props;\n\n if (loading)\n return (\n <>\n \n \n \n )\n return (\n <>\n \n \n {context.name} - {__t('msg_choose_hist')}\n \n \n {versions == null || versions.list == null || versions.list.length == 0 ?\n

{__t('no_history')}

\n :\n \n
{toDateTimeString(toDateObjectFromJson(rowData.histDate, 'datetime'))}
,\n customFilterAndSearch: (term, rowData) => toDateTimeString(toDateObjectFromJson(rowData.histDate, 'datetime')).includes(term)\n },\n {\n title: __t('type'), field: 'histType', headerStyle: materialTableStyles.headerStyle, render: rowData =>\n
{rowData.histType === \"SUBMISSION\" ? __t(\"upload\") : __t(\"sync\")}
\n },\n ]}\n data={versions.list}\n options={{\n filtering: true,\n search: false,\n toolbar: false\n }}\n onRowClick={(e, rowData) => {\n props.fetchContext(rowData)\n }}\n />\n }\n
\n \n \n \n \n \n )\n}\n\nfunction mapStateToProps(state) {\n return {\n loading: state.historyReducer.fetch.loading,\n error: state.historyReducer.fetch.error,\n versions: state.historyReducer.versions\n }\n}\n\n\nfunction mapDispatchToProps(dispatch) {\n return {\n fetchVersions: (id) => {\n dispatch(historyActions.fetchHistoryVersions(id));\n },\n fetchContext: (version) => {\n dispatch(historyActions.fetchContext(version.id));\n }\n }\n}\n\nHistoryDialog.propTypes = {\n context: PropTypes.object,\n onClose: PropTypes.func,\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(HistoryDialog));\n\n// import { List, ListItem, withStyles } from '@material-ui/core';\n// import Button from '@material-ui/core/Button';\n// import Dialog from '@material-ui/core/Dialog';\n// import DialogActions from '@material-ui/core/DialogActions';\n// import DialogContent from '@material-ui/core/DialogContent';\n// import DialogTitle from '@material-ui/core/DialogTitle';\n// import PropTypes from 'prop-types';\n// import React from 'react';\n// import { connect } from 'react-redux';\n// import translate from '../../locales';\n// import { historyActions } from '../../reducers';\n// import { styleWithCommonClasses } from '../../_constants/emparkConstants';\n// import { toDateObjectFromJson, toDateTimeString } from '../../_helpers/dateConvert';\n// import ErrorMessage from '../ErrorMessage';\n// import FetchFromContext from '../Fetchers/FetchFromContext';\n// import LoadingDialog from './LoadingDialog';\n\n\n// const __t = translate;\n\n// const styles = styleWithCommonClasses({\n// select: {\n// width: '100%'\n// },\n// marginFields: {\n// marginTop: '15px'\n// },\n// paddingLabel: {\n// paddingRight: '20px'\n// }\n// })\n\n// const HistoryDialog = props => {\n// const { context, versions, classes, loading, error } = props;\n\n// if (loading)\n// return (\n// <>\n// \n// \n// \n// )\n// return (\n// <>\n// \n// \n// {context.name} - {__t('msg_choose_hist')}\n// \n// \n// {versions == null || versions.list == null || versions.list.length == 0 ?\n//

{__t('no_history')}

\n// :\n// \n// {versions.list.map((v, i) =>\n// props.fetchContext(v)}>\n//
\n//
\n// {__t('version')}: {v.histVersion} {toDateTimeString(toDateObjectFromJson(v.histDate, 'datetime'))}\n//
\n//
\n// {__t('user')}: {v.histUser}\n//
\n//
\n//
\n// )}\n//
\n// }\n//
\n// \n// \n// \n// \n// \n// )\n// }\n\n// function mapStateToProps(state) {\n// return {\n// loading: state.historyReducer.fetch.loading,\n// error: state.historyReducer.fetch.error,\n// versions: state.historyReducer.versions\n// }\n// }\n\n\n// function mapDispatchToProps(dispatch) {\n// return {\n// fetchVersions: (id) => {\n// dispatch(historyActions.fetchHistoryVersions(id));\n// },\n// fetchContext: (version) => {\n// dispatch(historyActions.fetchContext(version.id));\n// }\n// }\n// }\n\n// HistoryDialog.propTypes = {\n// context: PropTypes.object,\n// onClose: PropTypes.func,\n// }\n\n// export default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(HistoryDialog));","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport {\n withStyles,\n Grid,\n InputLabel,\n Select,\n MenuItem\n} from '@material-ui/core';\n\nimport OutlinedTextField from '../OutlinedTextField'\n\nimport translate from '../../locales';\nimport { contextTypes } from '../../_constants/emparkConstants';\nimport { contextType } from 'react-json-pretty';\n\nconst __t = translate;\n\nconst styles = () => ({\n containerButtons: {\n textAlign: 'right'\n },\n containerIsTelpark: {\n textAlign: 'right'\n },\n upperCase: {\n textTransform: 'uppercase'\n },\n gridRow: {\n marginTop: '20px'\n },\n containerSelect: {\n width: '90%',\n padding: '4px'\n },\n errorBorder: {\n border: '1px solid red',\n borderRadius: '5px'\n },\n select: {\n width: '100%',\n },\n});\n\nclass ContextForm extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n name: this.props.context ? this.props.context.name : \"\",\n nameError: false,\n type: this.props.context ? (this.props.context.onStreet ? contextTypes.onStreet : contextTypes.offStreet) : null,\n typeError: false,\n sapCode: this.props.context ? this.props.context.sapCode : \"\",\n sapCodeError: false,\n }\n\n this.returnData = this.returnData.bind(this);\n }\n\n componentDidMount() {\n this.props.refReturnData(this.returnData);\n }\n\n componentDidUpdate(prevProps) {\n if (this.props != prevProps)\n this.setState({\n name: this.props.context ? this.props.context.name : \"\",\n type: this.props.context && this.props.context.hasOwnProperty('onStreet') ? (this.props.context.onStreet ? contextTypes.onStreet : contextTypes.offStreet) : null,\n sapCode: this.props.context ? this.props.context.sapCode : \"\",\n })\n }\n\n render() {\n return (\n
\n \n \n {__t('name')}:\n \n \n this.setState({ name: e.target.value })}\n inputProps={{ maxLength: 50, className: this.props.classes.upperCase }}\n />\n \n \n {__t('type')}:\n \n \n
\n this.setState({ type: e.target.value })}\n >\n \n {__t(\"on_street\")}\n {__t(\"off_street\")}\n \n
\n
\n \n {__t('sap_code')}:\n \n \n this.setState({ sapCode: e.target.value })}\n inputProps={{ maxLength: 9, className: this.props.classes.upperCase }}\n />\n \n \n\n \n
\n
\n )\n }\n\n returnData() {\n this.setState({\n nameError: false,\n typeError: false,\n sapCodeError: false\n });\n\n let nameError = false, typeError = false, sapCodeError = false;\n if (this.state.name == \"\") {\n nameError = true;\n }\n\n if (this.state.type == null || this.state.type == \"\") {\n typeError = true;\n }\n\n if (this.state.sapCode && !this.state.sapCode.match(/^[a-zA-Z0-9]{9}$/i)) {\n sapCodeError = true;\n }\n\n if (nameError || typeError || sapCodeError) {\n this.setState({\n nameError: nameError,\n typeError: typeError,\n sapCodeError: sapCodeError,\n });\n }\n\n let formData = {\n name: this.state.name,\n sapCode: this.state.sapCode\n }\n\n if(this.state.type != null)\n formData.onStreet = this.state.type === contextTypes.onStreet;\n\n return {\n formData: formData,\n formError: nameError || typeError,\n sapCodeError: sapCodeError\n }\n }\n}\n\nContextForm.propTypes = {\n context: PropTypes.object,\n readonly: PropTypes.bool,\n refReturnData: PropTypes.func.isRequired\n}\n\nexport default withStyles(styles)(ContextForm);","import translate from '../locales';\nimport { productTypes } from '../_constants/emparkConstants';\n\nconst __t = translate;\n\nexport function isTextFromExcel(text) {\n return text.includes('\\r\\n') || text.includes('\\n') || text.includes('\\t');\n}\n\nexport function parsePasteFromExcel(text) {\n const results = [];\n\n const rows = text.includes('\\r\\n') ? text.split('\\r\\n') : text.split('\\n');\n\n rows.forEach(r => {\n if (r && r.length > 0) {\n const columns = r.split('\\t');\n\n columns.forEach((c, i) => {\n if (i >= results.length) {\n results.push([]);\n }\n\n results[i].push(c);\n })\n }\n });\n\n return results;\n}\n\nexport function getMonthText(month) {\n switch (month) {\n case 0: return __t('jan');\n case 1: return __t('feb');\n case 2: return __t('mar');\n case 3: return __t('apr');\n case 4: return __t('may');\n case 5: return __t('jun');\n case 6: return __t('jul');\n case 7: return __t('aug');\n case 8: return __t('sep');\n case 9: return __t('oct');\n case 10: return __t('nov');\n case 11: return __t('dec');\n default: return '';\n }\n}\n\nexport function getProductTypeCodeFromTabIndex(index) {\n switch (index) {\n case 0: return productTypes.rotation;\n case 1: return productTypes.prebooks;\n case 2: return productTypes.passPerHour;\n case 3: return productTypes.passPerUse;\n case 4: return productTypes.multidays;\n case 5: return productTypes.multipass;\n default: return '';\n }\n}\n\nexport function getTableFromRateTabIndex(index, onStreet, productTypeCode) {\n if (productTypeCode == productTypes.rotation) {\n if (onStreet) {\n switch (index) {\n case 0: return 'pe';\n case 1: return 'sc';\n case 2: return 'se';\n case 3: return 'sp';\n case 4: return 'fr';\n case 5: return 'ch';\n case 6: return 'co';\n\n }\n } else {\n switch (index) {\n case 0: return 'pe';\n case 1: return 'sc';\n case 2: return 'sp';\n case 3: return 'ch';\n case 4: return 'co';\n\n }\n }\n } else if (productTypeCode == productTypes.prebooks) {\n if (onStreet) {\n switch (index) {\n case 0: return 'pe';\n case 1: return 'sc';\n case 2: return 'sp';\n case 3: return 'fr';\n case 4: return 'ch';\n case 5: return 'co';\n }\n } else {\n switch (index) {\n case 0: return 'pe';\n case 1: return 'di';\n case 2: return 'ch';\n case 3: return 'co';\n }\n }\n } else if (productTypeCode == productTypes.multipass) {\n switch (index) {\n case 0: return 'pe';\n case 1: return 'di';\n case 2: return 'ch';\n case 3: return 'co';\n }\n } else {\n switch (index) {\n case 0: return 'pe';\n case 1: return 'ch';\n case 2: return 'co';\n }\n }\n\n return '';\n}","import {\n Button, withStyles\n} from '@material-ui/core';\nimport CloseIcon from '@material-ui/icons/Close';\nimport MaterialTable from 'material-table';\nimport moment from 'moment';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport DatePicker from \"react-datepicker\";\nimport translate from '../../locales';\nimport {\n styleWithCommonClasses\n} from '../../_constants/emparkConstants';\nimport { validateDate } from '../../_helpers/dateConvert';\nimport { isTextFromExcel, parsePasteFromExcel } from '../../_helpers/utility';\nimport OutlinedTextField from '../OutlinedTextField';\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses();\n\nclass DisallowedPeriodsFormTable extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n values: props.values ? props.values : [{ fromDate: '', toDate: '' }]\n }\n\n this.getValues = this.getValues.bind(this);\n this.addRow = this.addRow.bind(this);\n this.deleteRow = this.deleteRow.bind(this);\n this.setValue = this.setValue.bind(this);\n\n this.props.tableRef.current = this;\n }\n\n componentDidUpdate(prevProps) {\n if (this.props != prevProps) {\n this.setState({ values: this.props.values });\n }\n }\n\n render() {\n return (\n
\n \n
\n {\n this.setValue('from', rowData.tableData.id, date);\n }}\n customInput={\n this.pasteOnCell(e, 'from', rowData.tableData.id, e.clipboardData.getData('Text'))}\n error={rowData.fromDateError}\n />\n }\n readOnly={this.props.readonly}\n maxDate={rowData.toDate ? moment(rowData.toDate).add(-1, 'days').toDate() : null}\n />\n
\n },\n {\n title: `${__t('to')} (DD/MM/YYYY)`,\n field: 'toDate',\n headerStyle: { pointerEvents: \"none\", color: \"black\", fontSize: \"0.94em\", zIndex: 0 },\n render: rowData =>\n
\n {\n this.setValue('to', rowData.tableData.id, date);\n }}\n customInput={\n this.pasteOnCell(e, 'to', rowData.tableData.id, e.clipboardData.getData('Text'))}\n error={rowData.toDateError}\n />\n }\n readOnly={this.props.readonly}\n minDate={rowData.fromDate ? moment(rowData.fromDate).add(1, 'days').toDate() : moment(new Date()).add(1, 'days').toDate()}\n />\n
\n }\n ]}\n options={{\n search: false,\n paging: false,\n toolbar: false,\n actionsColumnIndex: -1\n }}\n actions={[\n {\n icon: () => ,\n tooltip: __t('delete'),\n onClick: (event, rowData) => this.deleteRow(rowData.tableData.id)\n },\n ]}\n data={this.state.values}\n localization={{\n header: {\n actions: ''\n },\n body: {\n emptyDataSourceMessage: '',\n }\n }}\n />\n \n
\n )\n }\n\n getValues() {\n return this.state.values;\n }\n\n addRow() {\n this.setState({ values: [...this.state.values, { fromDate: '', toDate: '', productTypeCode: this.props.productTypeCode }] });\n }\n\n deleteRow(iRow) {\n this.setState({ values: this.state.values.filter((v, i) => i != iRow) })\n }\n\n setValue(type, iRow, value) {\n const lst = this.state.values.map((v, i) => {\n if (iRow != i) return v;\n\n if (type == 'from')\n return ({ ...v, fromDate: value });\n\n return ({ ...v, toDate: value });\n })\n\n this.setState({ values: lst });\n }\n\n pasteOnCell(event, cellType, iRow, text) {\n if (!text)\n return;\n\n if (!isTextFromExcel(text)) {\n return;\n }\n\n const parsedText = parsePasteFromExcel(text);\n if (parsedText.length > 2 || (cellType == 'to' && parsedText.length > 1))\n return;\n\n let newData = [...this.state.values];\n if (cellType == 'to') {\n if (parsedText[0].length == 1)\n return;\n\n /* validate dates */\n if (parsedText[0].some(t => !validateDate(t, 'DD/MM/YYYY'))) {\n if (this.props.onCopyError)\n this.props.onCopyError('err_invalid_dates')\n\n event.preventDefault();\n return;\n }\n\n parsedText[0].forEach((t, i) => {\n if (iRow + i < this.state.values.length) {\n newData[iRow + i].toDate = moment(t, 'DD/MM/YYYY', true).toDate();\n }\n else {\n newData.push({ fromDate: '', toDate: moment(t, 'DD/MM/YYYY', true).toDate(), productTypeCode: this.props.productTypeCode })\n }\n });\n\n this.setState({ values: newData });\n\n event.preventDefault();\n } else {\n if (parsedText.length == 2) {\n /* validate dates */\n if (parsedText[0].some(t => !validateDate(t, 'DD/MM/YYYY')) || parsedText[1].some(t => !validateDate(t, 'DD/MM/YYYY'))) {\n if (this.props.onCopyError)\n this.props.onCopyError('err_invalid_dates')\n\n event.preventDefault();\n return;\n }\n\n const rows = parsedText[0].length;\n for (let i = 0; i < rows; i++) {\n if (iRow + i < this.state.values.length) {\n newData[iRow + i].fromDate = moment(parsedText[0][i], 'DD/MM/YYYY', true).toDate();\n newData[iRow + i].toDate = moment(parsedText[1][i], 'DD/MM/YYYY', true).toDate();\n }\n else {\n newData.push({ fromDate: moment(parsedText[0][i], 'DD/MM/YYYY', true).toDate(), toDate: moment(parsedText[1][i], 'DD/MM/YYYY', true).toDate(), productTypeCode: this.props.productTypeCode })\n }\n }\n\n this.setState({ values: newData });\n\n event.preventDefault();\n }\n else {\n if (parsedText[0].length == 1)\n return;\n\n if (parsedText[0].some(t => !validateDate(t, 'DD/MM/YYYY'))) {\n if (this.props.onCopyError)\n this.props.onCopyError('err_invalid_dates')\n\n event.preventDefault();\n return;\n }\n\n parsedText[0].forEach((t, i) => {\n if (iRow + i < this.state.values.length) {\n newData[iRow + i].fromDate = moment(t, 'DD/MM/YYYY', true).toDate();\n }\n else {\n newData.push({ fromDate: moment(t, 'DD/MM/YYYY', true).toDate(), toDate: '', productTypeCode: this.props.productTypeCode })\n }\n });\n\n this.setState({ values: newData });\n\n event.preventDefault();\n }\n }\n }\n}\n\nDisallowedPeriodsFormTable.propTypes = {\n tableRef: PropTypes.object,\n values: PropTypes.array.isRequired,\n locale: PropTypes.string.isRequired,\n readonly: PropTypes.bool,\n onCopyError: PropTypes.func\n}\n\nexport default withStyles(styles)(DisallowedPeriodsFormTable);","import { Grid, Paper, withStyles } from '@material-ui/core';\nimport moment from 'moment';\nimport PropTypes from 'prop-types';\nimport React, { useRef, useState } from 'react';\nimport { connect } from 'react-redux';\nimport { contextsActions } from '../../../actions/contextsActions';\nimport { disallowedPeriodsActions } from '../../../actions/disallowedPeriodsActions';\nimport { generalActions } from '../../../actions/generalActions';\nimport { municipalitiesActions } from '../../../actions/municipalitiesActions';\nimport { ratesActions } from '../../../actions/ratesActions';\nimport __t from '../../../locales';\nimport { freeDayReference, pageModes, productTypes, styleWithCommonClasses, tabDisplays } from '../../../_constants/emparkConstants';\nimport { toDateJsonString } from '../../../_helpers/dateConvert';\nimport ErrorMessage from '../../ErrorMessage';\nimport TitleToolbar from '../../Forms/TitleToolbar';\nimport DisallowedPeriodsFormTable from '../../Tables/DisallowedPeriodsFormTable';\nimport LoadingPaper from '../../LoadingPaper'\n\nconst styles = styleWithCommonClasses({\n containerTable: {\n padding: '15px',\n marginTop: '10px'\n }\n});\n\nconst RdxDisallowedPeriodAddPage = (props) => {\n const { locale, classes } = props;\n\n let tableRef = useRef(null);\n\n const [values, setValues] = useState([{ fromDate: '', toDate: '', productTypeCode: props.productTypeCode }]);\n\n const onSubmit = () => {\n let values = tableRef.current.getValues();\n\n if (!values) {\n setValues(values);\n return;\n }\n\n\n let errors = [];\n let errorEmpty = false;\n let errorOrder = false;\n\n for (let i = 0; i < values.length; i++) {\n if (!values[i].fromDate) {\n values[i].fromDateError = true;\n errorEmpty = true;\n }\n\n if (!values[i].toDate) {\n values[i].toDateError = true;\n errorEmpty = true;\n }\n\n if (errorEmpty)\n continue;\n\n if (moment(values[i].fromDate).isAfter(moment(values[i].toDate))) {\n values[i].fromDateError = true;\n values[i].toDateError = true;\n errorOrder = true;\n }\n }\n\n if (errorEmpty) {\n errors.push(__t('error_required_fields'))\n }\n\n if (errorOrder) {\n errors.push(__t('error_date_order'))\n }\n\n if (errors.length > 0) {\n props.setError(errors);\n\n setValues(values);\n return;\n }\n\n /* Validar solapes... */\n if (values.some((v1, i1) => {\n return values.some((v2, i2) => {\n if (i1 == i2) return false;\n\n return moment(v2.fromDate).isSameOrAfter(moment(v1.fromDate)) && moment(v2.fromDate).isBefore(moment(v1.toDate))\n || moment(v2.toDate).isAfter(moment(v1.toDate)) && moment(v2.toDate).isSameOrBefore(moment(v1.toDate));\n })\n })) {\n errors.push(__t('error_overlap_disallowed'));\n props.setError(errors);\n\n setValues(values);\n return;\n }\n\n setValues(values);\n\n props.sendDisallowedPeriod(props.reference, props.referenceId, values.map(v => ({ ...v, fromDate: toDateJsonString(v.fromDate), toDate: toDateJsonString(v.toDate), productTypeCode: props.productTypeCode })));\n }\n\n if (props.loading)\n return (\n \n )\n\n return (\n \n {\n props.changeTabDisplay(props.reference, tabDisplays.index);\n props.changeMode(pageModes.list);\n }}\n >\n \n \n \n\n \n \n {\n props.showToastError(__t(err));\n }}\n productTypeCode={props.productTypeCode}\n />\n \n \n\n \n \n \n \n );\n};\n\nfunction mapStateToProps(state) {\n return {\n disallowedPeriods: state.disallowedPeriodsReducer.disallowedPeriods,\n error: state.disallowedPeriodsReducer.error,\n locale: state.locales.current,\n loading: state.disallowedPeriodsReducer.loading,\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n sendDisallowedPeriod: (reference, referenceId, disallowedPeriod) => {\n dispatch(disallowedPeriodsActions.saveDisallowedPeriods(reference, referenceId, disallowedPeriod))\n },\n changeMode: (mode, id) => {\n dispatch(disallowedPeriodsActions.changeMode(mode, id))\n },\n changeTabDisplay: (reference, tabDisplay) => {\n if (reference === freeDayReference.municipality)\n dispatch(municipalitiesActions.setTabDisplay(tabDisplay))\n else if (reference === freeDayReference.context)\n dispatch(contextsActions.setTabDisplay(tabDisplay))\n else\n dispatch(ratesActions.setTabDisplay(tabDisplay))\n },\n setError: (error) => {\n dispatch(disallowedPeriodsActions.setError(error))\n },\n showToastError: (msg) => {\n dispatch(generalActions.showToastError(msg))\n }\n }\n}\n\nRdxDisallowedPeriodAddPage.propTypes = {\n reference: PropTypes.string,\n referenceId: PropTypes.string\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(RdxDisallowedPeriodAddPage));\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport {\n withStyles,\n Grid,\n InputLabel\n} from '@material-ui/core';\n\nimport OutlinedTextField from '../OutlinedTextField'\n\nimport translate from '../../locales';\nimport DatePicker from \"react-datepicker\";\nimport moment from 'moment';\nimport { toDateObject, toDateObjectFromJson } from '../../_helpers/dateConvert';\nimport { countDecimalPlaces, limitNumber } from '../../_constants/emparkConstants';\n\nconst __t = translate;\n\n\nconst styles = () => ({\n containerButtons: {\n textAlign: 'right'\n },\n containerLabel: {\n textAlign: 'right',\n paddingRight: '10px'\n },\n containerIsStartStop: {\n textAlign: 'right'\n },\n upperCase: {\n textTransform: 'uppercase'\n },\n paddingOnTop: {\n paddingTop: '20px'\n }\n});\n\nclass PeriodForm extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n price: this.props.period && this.props.period.price,\n priceError: false,\n fromDate: this.props.period && toDateObjectFromJson(this.props.period.fromDate),\n fromDateError: false,\n toDate: this.props.period && toDateObjectFromJson(this.props.period.toDate),\n toDateError: false\n }\n\n this.returnData = this.returnData.bind(this);\n }\n\n componentDidMount() {\n this.props.refReturnData(this.returnData);\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.period != prevProps.period)\n this.setState({\n price: this.props.period && this.props.period.price,\n fromDate: this.props.period && toDateObjectFromJson(this.props.period.fromDate),\n toDate: this.props.period && toDateObjectFromJson(this.props.period.toDate),\n })\n }\n\n render() {\n return (\n
\n \n \n {__t('valid_from')} ({__t('inclusive')}):\n \n \n {\n this.setState({ fromDate: date })\n }}\n customInput={\n \n }\n maxDate={this.state.toDate && moment(this.state.toDate).isValid ? moment(this.state.toDate).add(-1, 'days').toDate() : toDateObject('31/12/2999')}\n readOnly={this.props.readonly}\n />\n \n \n \n {__t('valid_to')} ({__t('exclusive')}):\n \n \n {\n this.setState({ toDate: date })\n }}\n customInput={\n \n }\n minDate={moment(this.state.fromDate).isValid ? moment(this.state.fromDate).add(1, 'days').toDate() : moment(new Date()).add(1, 'days').toDate()}\n maxDate={toDateObject('01/01/3000')}\n readOnly={this.props.readonly}\n />\n \n {this.props.showPrice ?\n [\n \n {__t('price')} {__t('money_helper')}:\n ,\n \n {\n const n = Number(e.target.value);\n\n if (!limitNumber(e.target.value, 0, 9999) || countDecimalPlaces(e.target.value) > 2) {\n return;\n }\n\n this.setState({ price: e.target.value })\n }}\n disabled={this.props.readonly}\n />\n ,\n ,\n ]\n :\n \n }\n \n
\n )\n }\n\n returnData() {\n this.setState({\n priceError: false,\n fromDateError: false,\n toDateError: false\n })\n\n let priceError = false, fromDateError = false, toDateError = false;\n if (this.props.showPrice && (this.state.price == null || this.state.price == \"\")) {\n priceError = true;\n }\n\n if (this.state.fromDate == null || this.state.fromDate == \"\") {\n fromDateError = true;\n }\n\n if (this.state.toDate == null || this.state.toDate == \"\") {\n toDateError = true;\n }\n\n if (fromDateError || toDateError || priceError) {\n this.setState({\n priceError: priceError,\n fromDateError: fromDateError,\n toDateError: toDateError\n })\n }\n\n return {\n formData: {\n price: this.state.price,\n fromDate: this.state.fromDate,\n toDate: this.state.toDate\n },\n formError: fromDateError || toDateError || priceError\n }\n }\n}\n\nPeriodForm.propTypes = {\n period: PropTypes.object,\n showPrice: PropTypes.bool,\n readonly: PropTypes.bool,\n refReturnData: PropTypes.func.isRequired,\n locale: PropTypes.string\n}\n\nexport default withStyles(styles)(PeriodForm);","import {\n CircularProgress, Paper, withStyles\n} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { contextsActions } from '../../../actions/contextsActions';\nimport { disallowedPeriodsActions } from '../../../actions/disallowedPeriodsActions';\nimport translate from '../../../locales';\nimport {\n freeDayReference, pageModes, productTypes, styleWithCommonClasses,\n tabDisplays\n} from '../../../_constants/emparkConstants';\nimport { toDateJsonString } from '../../../_helpers/dateConvert';\nimport ErrorMessage from '../../ErrorMessage';\nimport PeriodForm from '../../Forms/PeriodForm';\nimport TitleToolbar from '../../Forms/TitleToolbar';\nimport LoadingPaper from '../../LoadingPaper';\n\n\n\n\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses();\n\nclass DisallowedPeriodContextDetailPage extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n disallowedPeriod: null\n }\n\n this.handleSubmit = this.handleSubmit.bind(this);\n }\n\n componentDidMount() {\n const { disallowedPeriods, router } = this.props;\n\n if (router.mode !== pageModes.add) {\n this.setState({\n disallowedPeriod: disallowedPeriods.find(sp => sp.id === router.id)\n })\n }\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.router.mode !== pageModes.add && this.props != prevProps || this.props.router.mode != prevProps.router.mode) {\n this.setState({\n disallowedPeriod: this.props.disallowedPeriods.find(sp => sp.id === this.props.router.id)\n })\n }\n }\n\n render() {\n const { classes, router, loading } = this.props;\n\n const title = router.mode === pageModes.add ? __t('create') : router.mode === pageModes.edit ? __t('edit') : __t('view');\n\n const productLabel = this.props.productTypeCode == productTypes.prebooks ?\n __t('prebooks') : __t('multipass')\n\n if (loading)\n return (\n \n )\n\n if (router.mode === pageModes.add || router.mode === pageModes.edit)\n return (\n \n {\n this.props.changeTabDisplay(tabDisplays.index);\n this.props.changeMode(pageModes.list);\n }}\n onSave={this.handleSubmit}\n >\n this.submitForm = returnData}\n />\n \n \n \n )\n\n if (this.state.disallowedPeriod == null)\n return (\n \n \n \n )\n\n return (\n \n this.props.changeMode(pageModes.edit, this.state.disallowedPeriod.id)}\n onBack={() => {\n this.props.changeTabDisplay(tabDisplays.index);\n this.props.changeMode(pageModes.list);\n }}\n >\n this.submitForm = returnData}\n readonly\n />\n \n \n )\n }\n\n handleSubmit() {\n var data = this.submitForm();\n\n let disallowedPeriod = {\n ...this.state.disallowedPeriod,\n fromDate: toDateJsonString(data.formData.fromDate),\n toDate: toDateJsonString(data.formData.toDate),\n productTypeCode: this.props.productTypeCode,\n contextId: this.props.referenceId\n }\n\n this.setState({ disallowedPeriod: disallowedPeriod });\n\n if (data.formError) {\n this.props.setError(__t('error_required_fields'));\n\n return;\n }\n\n this.props.sendDisallowedPeriod(this.props.referenceId, disallowedPeriod);\n };\n\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.disallowedPeriodsReducer.router,\n disallowedPeriods: state.disallowedPeriodsReducer.disallowedPeriods.context,\n error: state.disallowedPeriodsReducer.error,\n locale: state.locales.current,\n loading: state.disallowedPeriodsReducer.loading,\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n sendDisallowedPeriod: (referenceId, disallowedPeriod) => {\n dispatch(disallowedPeriodsActions.saveDisallowedPeriod(freeDayReference.context, referenceId, disallowedPeriod))\n },\n changeMode: (mode, id) => {\n dispatch(disallowedPeriodsActions.changeMode(mode, id))\n },\n changeTabDisplay: (tabDisplay) => {\n dispatch(contextsActions.setTabDisplay(tabDisplay))\n },\n setError: (error) => {\n dispatch(disallowedPeriodsActions.setError(error))\n }\n }\n}\n\nDisallowedPeriodContextDetailPage.propTypes = {\n disallowedPeriods: PropTypes.object.isRequired,\n router: PropTypes.object,\n referenceId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n error: PropTypes.string,\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(DisallowedPeriodContextDetailPage));","import {\n Paper, withStyles\n} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { contextsActions } from '../../../actions/contextsActions';\nimport { disallowedPeriodsActions } from '../../../actions/disallowedPeriodsActions';\nimport translate from '../../../locales';\nimport {\n APP_CLAIMS, hasPermission, pageModes, productTypes, styleWithCommonClasses,\n tabDisplays\n} from '../../../_constants/emparkConstants';\nimport { toDateObjectFromJson, toDateString } from '../../../_helpers/dateConvert';\nimport ErrorDialog from '../../Dialogs/ErrorDialog';\nimport LoadingPaper from '../../LoadingPaper';\nimport EMTable from '../../Tables/EMTable';\n\n\n\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses();\n\nconst DisallowedPeriodsContextTablePage = props => {\n /* Events */\n const handleDelete = (disallowedPeriod) => {\n props.deleteDisallowedPeriod(props.reference, props.referenceId, disallowedPeriod.id);\n }\n\n const onEditAndDeleteCondition = disallowedPeriod => {\n return disallowedPeriod.contextId && disallowedPeriod.contextId != null;\n }\n\n /* Render */\n const { disallowedPeriods, classes, reference } = props;\n\n if (props.loading)\n return (\n \n )\n\n const rowsDisallowedPeriodsTable = [\n {\n id: 'fromDate', align: 'center', disablePadding: false, label: `${__t('valid_from')} ${__t('inclusive_helper')}`, formatter: function (value) {\n return toDateString(toDateObjectFromJson(value))\n }\n },\n {\n id: 'toDate', align: 'center', disablePadding: false, label: `${__t('valid_to')} ${__t('exclusive_helper')}`, formatter: function (value) {\n return toDateString(toDateObjectFromJson(value))\n }\n },\n ];\n\n const isPrebooks = props.productTypeCode == productTypes.prebooks;\n const productLabel = isPrebooks ?\n __t('prebooks') : __t('multipass')\n\n return (\n \n props.setError(null)}\n />\n dp.productTypeCode == props.productTypeCode)}\n rows={rowsDisallowedPeriodsTable}\n onAdd={hasPermission(props.userRole, APP_CLAIMS.DIS_C) && !isPrebooks && (() => {\n props.changeTabDisplay(tabDisplays.secondary);\n props.changeMode(pageModes.add);\n })}\n onEdit={(freeDay) => {\n props.changeTabDisplay(tabDisplays.secondary);\n props.changeMode(pageModes.edit, freeDay.id);\n }}\n onEditCondition={(disallowedPeriod) => hasPermission(props.userRole, APP_CLAIMS.DIS_E) && !isPrebooks && onEditAndDeleteCondition(disallowedPeriod)}\n onDelete={handleDelete}\n onDeleteCondition={(disallowedPeriod) => hasPermission(props.userRole, APP_CLAIMS.DIS_D) && !isPrebooks && onEditAndDeleteCondition(disallowedPeriod)}\n />\n \n )\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.disallowedPeriodsReducer.router,\n disallowedPeriods: state.disallowedPeriodsReducer.disallowedPeriods.context,\n reference: state.disallowedPeriodsReducer.reference,\n referenceId: state.disallowedPeriodsReducer.referenceId,\n error: state.disallowedPeriodsReducer.error,\n userRole: state.usersReducer.userRole,\n loading: state.disallowedPeriodsReducer.loading,\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n deleteDisallowedPeriod: (reference, referenceId, freeDayId) => {\n dispatch(disallowedPeriodsActions.deleteDisallowedPeriod(reference, referenceId, freeDayId))\n },\n changeMode: (mode, id) => {\n dispatch(disallowedPeriodsActions.changeMode(mode, id))\n },\n changeTabDisplay: (tabDisplay) => {\n dispatch(contextsActions.setTabDisplay(tabDisplay))\n },\n setError: (error) => {\n dispatch(disallowedPeriodsActions.setError(error))\n }\n }\n}\n\nDisallowedPeriodsContextTablePage.propTypes = {\n reference: PropTypes.string,\n referenceId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n router: PropTypes.object,\n specialdays: PropTypes.array,\n error: PropTypes.string,\n fetchDisallowedPeriods: PropTypes.func,\n changeMode: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(DisallowedPeriodsContextTablePage));","import { withStyles } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\nimport { connect } from 'react-redux';\nimport { disallowedPeriodsActions } from '../../../actions/disallowedPeriodsActions';\nimport {\n freeDayReference,\n pageModes, styleWithCommonClasses\n} from '../../../_constants/emparkConstants';\nimport RdxDisallowedPeriodAddPage from '../../Redux/DisallowedPeriods/RdxDisallowedPeriodAddPage';\nimport DisallowedPeriodContextDetailPage from './DisallowedPeriodContextDetailPage';\nimport DisallowedPeriodsContextTablePage from './DisallowedPeriodsContextTablePage';\n\nconst styles = styleWithCommonClasses({\n tabPanel: {\n backgroundColor: 'white'\n }\n});\n\nconst DisallowedPeriodsContextRouter = props => {\n useEffect(() => {\n props.fetchDisallowedPeriods(freeDayReference.context, props.referenceId);\n props.changeMode(pageModes.list);\n\n return () => {\n\n }\n }, []);\n\n if (props.router.mode === pageModes.list)\n return (\n \n )\n\n if (props.router.mode === pageModes.add)\n return (\n \n )\n\n return (\n \n )\n}\n\nfunction mapStateToProps(state) {\n return {\n disallowedPeriods: state.disallowedPeriodsReducer.disallowedPeriods,\n router: state.disallowedPeriodsReducer.router,\n loading: state.disallowedPeriodsReducer.loading,\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n changeMode: (mode, id) => {\n dispatch(disallowedPeriodsActions.changeMode(mode, id))\n },\n fetchDisallowedPeriods: (reference, referenceId) => {\n dispatch(disallowedPeriodsActions.fetchDisallowedPeriods(reference, referenceId));\n }\n }\n}\n\nDisallowedPeriodsContextRouter.propTypes = {\n reference: PropTypes.string,\n referenceId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n router: PropTypes.object,\n changeMode: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(DisallowedPeriodsContextRouter));","import {\n Button, Paper, withStyles\n} from '@material-ui/core';\nimport CloseIcon from '@material-ui/icons/Close';\nimport MaterialTable from 'material-table';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport DatePicker from \"react-datepicker\";\nimport { connect } from 'react-redux';\nimport { contextsActions } from '../../../actions/contextsActions';\nimport { freeDaysActions } from '../../../actions/freeDaysActions';\nimport translate from '../../../locales';\nimport {\n freeDayReference,\n pageModes,\n styleWithCommonClasses,\n tabDisplays\n} from '../../../_constants/emparkConstants';\nimport { isTextFromExcel, parsePasteFromExcel } from '../../../_helpers/utility';\nimport OutlinedTextField from '../../OutlinedTextField';\nimport moment from 'moment';\nimport TitleToolbar from '../../Forms/TitleToolbar';\nimport { toDateJsonString, validateDate } from '../../../_helpers/dateConvert';\nimport { generalActions } from '../../../actions/generalActions';\nimport LoadingPaper from '../../LoadingPaper';\nimport ErrorMessage from '../../ErrorMessage';\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses();\n\nconst FreeDayContextAddPage = (props) => {\n const [data, setData] = useState([{ dayDate: '', name: '' }]);\n\n const setValue = (cellType, iRow, value) => {\n setData(data.map((d, i) => {\n if (i != iRow) return d;\n\n if (cellType == 'name')\n return { ...d, name: value }\n\n return { ...d, dayDate: value }\n }));\n }\n\n const addRow = () => {\n setData([...data, { dayDate: '', name: '' }])\n }\n\n const deleteRow = (iRow) => {\n setData(data.filter((d, i) => iRow != i));\n }\n\n const pasteOnCell = (event, cellType, iRow, text) => {\n if (!text)\n return;\n\n if (!isTextFromExcel(text)) {\n return;\n }\n\n const parsedText = parsePasteFromExcel(text);\n if (parsedText.length > 2 || (cellType == 'name' && parsedText.length > 1))\n return;\n\n let newData = [...data];\n if (cellType == 'name') {\n if (parsedText[0].length == 1)\n return;\n\n parsedText[0].forEach((t, i) => {\n if (iRow + i < data.length) {\n newData[iRow + i].name = t;\n }\n else {\n newData.push({ dayDate: '', name: t })\n }\n });\n\n setData(newData);\n\n event.preventDefault();\n } else {\n /* validate dates */\n if (parsedText[0].some(t => !validateDate(t, 'DD/MM/YYYY'))) {\n props.showToastError(__t('err_invalid_dates'));\n\n event.preventDefault();\n return;\n }\n\n if (parsedText.length == 2) {\n const rows = parsedText[0].length;\n for (let i = 0; i < rows; i++) {\n if (iRow + i < data.length) {\n newData[iRow + i].dayDate = moment(parsedText[0][i], 'DD/MM/YYYY', true).toDate();\n newData[iRow + i].name = parsedText[1][i];\n }\n else {\n newData.push({ dayDate: moment(parsedText[0][i], 'DD/MM/YYYY', true).toDate(), name: parsedText[1][i] })\n }\n }\n\n setData(newData);\n\n event.preventDefault();\n }\n else {\n if (parsedText[0].length == 1)\n return;\n\n parsedText[0].forEach((t, i) => {\n if (iRow + i < data.length) {\n newData[iRow + i].dayDate = moment(t, 'DD/MM/YYYY', true).toDate();\n }\n else {\n newData.push({ dayDate: moment(t, 'DD/MM/YYYY', true).toDate(), name: '' })\n }\n });\n\n setData(newData);\n\n event.preventDefault();\n }\n }\n }\n\n const onSubmit = () => {\n /* validate if empty fields */\n if (data.length == 0 || data.some(d => d.dayDate == '' || d.name == '')) {\n props.showToastError(__t('error_no_values'));\n return;\n }\n\n /* validate dates */\n if (data.some(d => !validateDate(d.dayDate, 'DD/MM/YYYY'))) {\n props.showToastError(__t('err_invalid_dates'));\n return;\n }\n\n /* validate duplicates */\n let setDayDate = new Set(data.map(d => toDateJsonString(d.dayDate)));\n if (setDayDate.size != data.length) {\n props.showToastError(__t('error_duplicate_values'))\n return;\n }\n\n /* send free days */\n props.sendFreeDays(props.referenceId, data.map(d => ({ dayDate: toDateJsonString(d.dayDate), name: d.name })));\n }\n\n const onCancel = () => {\n props.changeTabDisplay(tabDisplays.index);\n props.changeMode(pageModes.list);\n }\n\n if (props.loading)\n return (\n \n )\n\n return (\n \n \n \n
\n \n
\n {\n setValue('date', rowData.tableData.id, date);\n }}\n customInput={\n pasteOnCell(e, 'date', rowData.tableData.id, e.clipboardData.getData('Text'))}\n // error={this.state.dayDateError}\n />\n }\n readOnly={props.readonly}\n />\n
\n },\n {\n title: __t('name'),\n field: 'name',\n headerStyle: { pointerEvents: \"none\", color: \"black\", fontSize: \"0.94em\", zIndex: 0 },\n render: rowData =>\n
\n setValue('name', rowData.tableData.id, e.target.value)}\n inputProps={{ maxLength: 25, className: props.classes.upperCase }}\n disabled={props.readonly}\n onPaste={(e) => pasteOnCell(e, 'name', rowData.tableData.id, e.clipboardData.getData('Text'))}\n />\n
\n }\n ]}\n options={{\n search: false,\n paging: false,\n toolbar: false,\n actionsColumnIndex: -1\n }}\n actions={[\n {\n icon: () => ,\n tooltip: __t('delete'),\n onClick: (event, rowData) => deleteRow(rowData.tableData.id)\n },\n ]}\n data={data}\n localization={{\n header: {\n actions: ''\n },\n body: {\n emptyDataSourceMessage: '',\n }\n }}\n />\n
\n\n \n \n \n )\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.freeDaysReducer.router,\n freeDays: state.freeDaysReducer.freeDays.context,\n error: state.freeDaysReducer.error,\n locale: state.locales.current,\n loading: state.freeDaysReducer.loading,\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n sendFreeDays: (referenceId, freeDays) => {\n dispatch(freeDaysActions.saveFreeDays(freeDayReference.context, referenceId, freeDays))\n },\n changeMode: (mode, id) => {\n dispatch(freeDaysActions.changeMode(mode, id))\n },\n changeTabDisplay: (tabDisplay) => {\n dispatch(contextsActions.setTabDisplay(tabDisplay))\n },\n showToastError: (msg) => {\n dispatch(generalActions.showToastError(msg))\n }\n }\n}\n\nFreeDayContextAddPage.propTypes = {\n freeDays: PropTypes.array.isRequired,\n router: PropTypes.object,\n referenceId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n error: PropTypes.string,\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(FreeDayContextAddPage));","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport {\n withStyles,\n Grid,\n InputLabel\n} from '@material-ui/core';\n\nimport DatePicker from \"react-datepicker\";\n\nimport OutlinedTextField from '../OutlinedTextField'\n\nimport translate from '../../locales';\nimport { toDateObject, toDateObjectFromJson } from '../../_helpers/dateConvert';\n\nconst __t = translate;\n\nconst styles = () => ({\n containerButtons: {\n textAlign: 'right'\n },\n containerRight: {\n textAlign: 'right',\n paddingRight: '10px'\n },\n datePicker: {\n width: '100%'\n },\n upperCase: {\n textTransform: 'uppercase'\n }\n});\n\nclass freeDayForm extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n name: this.props.freeDay ? this.props.freeDay.name : \"\",\n nameError: false,\n dayDate: this.props.freeDay ? toDateObjectFromJson(this.props.freeDay.dayDate) : \"\",\n dayDateError: false\n }\n\n this.returnData = this.returnData.bind(this);\n }\n\n componentDidMount() {\n this.props.refReturnData(this.returnData);\n }\n\n componentDidUpdate(prevProps) {\n if (this.props != prevProps)\n this.setState({\n name: this.props.freeDay ? this.props.freeDay.name : \"\",\n dayDate: this.props.freeDay ? toDateObjectFromJson(this.props.freeDay.dayDate) : \"\",\n })\n }\n\n render() {\n return (\n
\n \n \n {__t('date')}:\n \n \n {\n this.setState({ dayDate: date })\n }}\n customInput={\n \n }\n readOnly={this.props.readonly}\n maxDate={toDateObject('01/01/3000')}\n />\n \n \n {__t('name')}:\n \n \n this.setState({ name: e.target.value })}\n inputProps={{ maxLength: 25 }}\n disabled={this.props.readonly}\n />\n \n \n
\n )\n }\n\n returnData() {\n this.setState({\n nameError: false,\n dayDateError: false\n });\n\n let nameError = false, dayDateError = false;\n if (this.state.name == \"\") {\n nameError = true;\n }\n\n if (this.state.dayDate == null || this.state.dayDate == \"\") {\n dayDateError = true;\n }\n\n if (nameError || dayDateError) {\n this.setState({\n nameError: nameError,\n dayDateError: dayDateError\n });\n }\n\n return {\n formData: {\n name: this.state.name,\n dayDate: this.state.dayDate\n },\n formError: nameError || dayDateError\n }\n }\n}\n\nfreeDayForm.propTypes = {\n freeDay: PropTypes.object,\n readonly: PropTypes.bool,\n refReturnData: PropTypes.func.isRequired,\n locale: PropTypes.string\n}\n\nexport default withStyles(styles)(freeDayForm);","import React from 'react';\nimport { connect } from 'react-redux';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { freeDaysActions } from '../../../actions/freeDaysActions';\n\nimport {\n Paper,\n Modal,\n CircularProgress,\n withStyles\n} from '@material-ui/core';\n\nimport {\n pageModes,\n freeDayReference,\n styleWithCommonClasses,\n tabDisplays\n} from '../../../_constants/emparkConstants'\n\nimport TitleToolbar from '../../Forms/TitleToolbar';\n\nimport translate from '../../../locales';\nimport FreeDayForm from '../../Forms/FreeDayForm';\nimport { toDateJsonString, toDateString } from '../../../_helpers/dateConvert';\nimport { contextsActions } from '../../../actions/contextsActions';\nimport LoadingPaper from '../../LoadingPaper';\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses();\n\nclass FreeDayContextDetailPage extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n freeDay: null\n }\n\n this.handleSubmit = this.handleSubmit.bind(this);\n }\n\n componentDidMount() {\n const { freeDays, router } = this.props;\n\n if (router.mode !== pageModes.add) {\n this.setState({\n freeDay: freeDays.find(sp => sp.id === router.id)\n })\n }\n }\n\n componentDidUpdate(prevProps) {\n if (this.props != prevProps || this.props.router.mode != prevProps.router.mode) {\n this.setState({\n freeDay: this.props.freeDays.find(sp => sp.id === this.props.router.id)\n })\n }\n }\n\n render() {\n const { classes, router, loading } = this.props;\n\n const title = router.mode === pageModes.add ? __t('create') : router.mode === pageModes.edit ? __t('edit') : __t('view');\n\n if (loading)\n return (\n \n )\n\n if (router.mode === pageModes.add || router.mode === pageModes.edit)\n return (\n \n {\n this.props.changeTabDisplay(tabDisplays.index);\n this.props.changeMode(pageModes.list);\n }}\n onSave={this.handleSubmit}\n >\n this.submitForm = returnData}\n />\n \n \n )\n\n if (this.state.freeDay == null)\n return (\n \n \n \n )\n\n return (\n \n this.props.changeMode(pageModes.edit, this.state.freeDay.id)}\n onBack={() => {\n this.props.changeTabDisplay(tabDisplays.index);\n this.props.changeMode(pageModes.list);\n }}\n >\n this.submitForm = returnData}\n readonly\n />\n \n \n )\n }\n\n handleSubmit() {\n var data = this.submitForm();\n\n let freeDay = {\n ...this.state.freeDay,\n name: data.formData.name,\n dayDate: toDateJsonString(data.formData.dayDate),\n contextId: this.props.referenceId\n }\n\n this.setState({ freeDay: freeDay });\n\n if (data.formError) {\n this.props.setError(__t('error_required_fields'));\n\n return;\n }\n\n this.props.sendFreeDay(this.props.referenceId, freeDay);\n };\n\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.freeDaysReducer.router,\n freeDays: state.freeDaysReducer.freeDays.context,\n error: state.freeDaysReducer.error,\n locale: state.locales.current,\n loading: state.freeDaysReducer.loading,\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n sendFreeDay: (referenceId, freeDay) => {\n dispatch(freeDaysActions.saveFreeDay(freeDayReference.context, referenceId, freeDay))\n },\n changeMode: (mode, id) => {\n dispatch(freeDaysActions.changeMode(mode, id))\n },\n changeTabDisplay: (tabDisplay) => {\n dispatch(contextsActions.setTabDisplay(tabDisplay))\n }\n }\n}\n\nFreeDayContextDetailPage.propTypes = {\n freeDays: PropTypes.array.isRequired,\n router: PropTypes.object,\n referenceId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n error: PropTypes.string,\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(FreeDayContextDetailPage));","import {\n CircularProgress, MenuItem, Modal, Paper, Select, withStyles\n} from '@material-ui/core';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport { connect } from 'react-redux';\nimport { contextsActions } from '../../../actions/contextsActions';\nimport { freeDaysActions } from '../../../actions/freeDaysActions';\nimport translate from '../../../locales';\nimport {\n APP_CLAIMS,\n freeDayReference, hasPermission, pageModes, styleWithCommonClasses,\n tabDisplays\n} from '../../../_constants/emparkConstants';\nimport { toDateObjectFromJson, toDateString } from '../../../_helpers/dateConvert';\nimport ErrorDialog from '../../Dialogs/ErrorDialog';\nimport LoadingPaper from '../../LoadingPaper';\nimport EMTable from '../../Tables/EMTable';\n\n\n\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n select: {\n width: '200px',\n }\n});\n\nconst FreeDaysTablePage = props => {\n const [year, setYear] = useState(new Date().getFullYear())\n\n /* Events */\n const handleDelete = (freeDay) => {\n props.deleteFreeDay(props.referenceId, freeDay.id);\n }\n\n const onEditAndDeleteCondition = freeDay => {\n return freeDay.contextId && freeDay.contextId != null;\n }\n\n /* Render */\n let { freeDays } = props;\n const { classes } = props;\n\n if (props.loading)\n return (\n \n )\n\n const rowsFreeDaysTable = [\n {\n id: 'dayDate', align: 'left', disablePadding: false, label: __t('date'), formatter: function (value) {\n return toDateString(toDateObjectFromJson(value))\n }\n },\n { id: 'name', align: 'left', disablePadding: false, label: __t('name') },\n ];\n\n let lstYears = [year];\n freeDays.forEach(f => {\n let y = toDateObjectFromJson(f.dayDate).getFullYear();\n\n if (!lstYears.find(ys => y === ys))\n lstYears.push(y);\n });\n\n lstYears = lstYears.sort((a, b) => b - a);\n\n freeDays = freeDays.filter(f => toDateObjectFromJson(f.dayDate).getFullYear() === year)\n\n return (\n \n props.setError(null)}\n />\n {\n\n props.changeTabDisplay(tabDisplays.secondary);\n props.changeMode(pageModes.add);\n })}\n onEdit={(freeDay) => {\n props.changeTabDisplay(tabDisplays.secondary);\n props.changeMode(pageModes.edit, freeDay.id);\n }}\n onEditCondition={(freeDay) => hasPermission(props.userRole, APP_CLAIMS.FREE_E) && onEditAndDeleteCondition(freeDay)}\n onDelete={handleDelete}\n onDeleteCondition={(freeDay) => hasPermission(props.userRole, APP_CLAIMS.FREE_D) && onEditAndDeleteCondition(freeDay)}\n filterComponent={\n {\n setYear(Number(e.target.value))\n }}\n inputProps={{ style: { paddingLeft: '15px' } }}>\n {lstYears.map((y, i) =>\n {y}\n )}\n \n }\n />\n \n )\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.freeDaysReducer.router,\n freeDays: state.freeDaysReducer.freeDays.context,\n referenceId: state.freeDaysReducer.referenceId,\n loading: state.freeDaysReducer.loading,\n error: state.freeDaysReducer.error,\n userRole: state.usersReducer.userRole\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n deleteFreeDay: (referenceId, freeDayId) => {\n dispatch(freeDaysActions.deleteFreeDay(freeDayReference.context, referenceId, freeDayId))\n },\n changeMode: (mode, id) => {\n dispatch(freeDaysActions.changeMode(mode, id))\n },\n changeTabDisplay: (tabDisplay) => {\n dispatch(contextsActions.setTabDisplay(tabDisplay))\n },\n setError: (error) => {\n dispatch(freeDaysActions.setError(error))\n }\n }\n}\n\nFreeDaysTablePage.propTypes = {\n referenceId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n router: PropTypes.object,\n specialdays: PropTypes.array,\n loading: PropTypes.bool,\n error: PropTypes.string,\n fetchFreeDays: PropTypes.func,\n changeMode: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(FreeDaysTablePage));","import { withStyles } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\nimport { connect } from 'react-redux';\nimport { freeDaysActions } from '../../../actions/freeDaysActions';\nimport { freeDayReference, pageModes, styleWithCommonClasses } from '../../../_constants/emparkConstants';\nimport FreeDayContextAddPage from './FreeDayContextAddPage';\nimport FreeDayContextDetailPage from './FreeDayContextDetailPage';\nimport FreeDaysContextTablePage from './FreeDaysContextTablePage';\n\n\n\n\nconst styles = styleWithCommonClasses({\n tabPanel: {\n backgroundColor: 'white'\n }\n});\n\nconst FreeDaysContextRouter = props => {\n useEffect(() => {\n props.fetchFreeDays(props.referenceId);\n props.changeMode(pageModes.list);\n \n return () => {\n\n }\n }, []);\n\n if(props.router.mode === pageModes.list)\n return (\n \n )\n\n if(props.router.mode === pageModes.add)\n return ()\n \n return(\n \n )\n}\n\nfunction mapStateToProps(state) {\n return {\n freeDays: state.freeDaysReducer.freeDays.context,\n router: state.freeDaysReducer.router,\n loading: state.freeDaysReducer.loading,\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n changeMode: (mode, id) => {\n dispatch(freeDaysActions.changeMode(mode, id))\n },\n fetchFreeDays: (referenceId) => {\n dispatch(freeDaysActions.fetchFreeDays(freeDayReference.context, referenceId));\n }\n }\n}\n\nFreeDaysContextRouter.propTypes = {\n referenceId: PropTypes.string,\n router: PropTypes.object,\n changeMode: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(FreeDaysContextRouter));","import {\n Paper, withStyles\n} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { contextsActions } from '../../../actions/contextsActions';\nimport { positionsActions } from '../../../actions/positionsActions';\nimport translate from '../../../locales';\nimport {\n APP_CLAIMS,\n hasPermission,\n pageModes,\n styleWithCommonClasses,\n tabDisplays\n} from '../../../_constants/emparkConstants';\nimport ErrorDialog from '../../Dialogs/ErrorDialog';\nimport LoadingPaper from '../../LoadingPaper';\nimport EMTable from '../../Tables/EMTable';\n\n\n\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses();\n\nconst PositionsTablePage = props => {\n /* Events */\n const handleDelete = (position) => {\n props.deletePosition(props.contextId, position.id);\n }\n\n /* Render */\n const { loading, classes } = props;\n\n const positions = props.positions.filter(r => r.productTypeCode === props.productTypeCode);\n\n const rowsPositionsTable = [\n { id: 'name', align: 'center', disablePadding: false, label: __t('name') },\n { id: 'code', align: 'center', disablePadding: false, label: __t('code') },\n {\n id: 'editable', align: 'center', disablePadding: false, label: __t('eos'), formatter: function (value) {\n return value ? '' : 'Y'\n }\n },\n ];\n\n if (loading)\n return (\n \n )\n\n return (\n \n props.setError(null)}\n />\n
\n {\n props.changeTabDisplay(tabDisplays.secondary)\n props.changeMode(pageModes.add)\n })}\n onEdit={(position) => {\n props.changeTabDisplay(tabDisplays.secondary)\n props.changeMode(pageModes.edit, position.id)\n }}\n onEditCondition={(position) => hasPermission(props.userRole, APP_CLAIMS.POS_E) && position.editable}\n onDelete={handleDelete}\n onDeleteCondition={(position) => hasPermission(props.userRole, APP_CLAIMS.POS_D) && position.deletable}\n />\n \n )\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.positionsReducer.router,\n positions: state.positionsReducer.positions,\n loading: state.positionsReducer.loading,\n error: state.positionsReducer.error,\n tabDisplay: state.contextsReducer.tabDisplay,\n userRole: state.usersReducer.userRole\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n deletePosition: (contextId, positionId) => {\n dispatch(positionsActions.deletePosition(contextId, positionId))\n },\n changeMode: (mode, id) => {\n dispatch(positionsActions.changeMode(mode, id))\n },\n changeTabDisplay: (tabDisplay) => {\n dispatch(contextsActions.setTabDisplay(tabDisplay))\n },\n setError: (error) => {\n dispatch(positionsActions.setError(error))\n }\n }\n}\n\nPositionsTablePage.propTypes = {\n contextId: PropTypes.string.isRequired,\n router: PropTypes.object,\n positions: PropTypes.array,\n loading: PropTypes.bool,\n error: PropTypes.string,\n changeMode: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(PositionsTablePage));","import {\n Grid, InputLabel, withStyles\n} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport translate from '../../locales';\nimport OutlinedTextField from '../OutlinedTextField';\n\n\n\n\nconst __t = translate;\n\nconst styles = () => ({\n containerButtons: {\n textAlign: 'right'\n },\n containerIsTelpark: {\n textAlign:'right'\n },\n bottomRow: {\n marginTop:'15px'\n },\n upperCase: {\n textTransform:'uppercase'\n }\n});\n\nclass PositionForm extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n name: this.props.position ? this.props.position.name : \"\",\n nameError:false,\n code: this.props.position ? this.props.position.code : \"\",\n codeError:false\n }\n\n this.returnData = this.returnData.bind(this);\n }\n\n componentDidMount() {\n this.props.refReturnData(this.returnData);\n }\n\n componentDidUpdate(prevProps) {\n if(this.props != prevProps)\n this.setState({\n name: this.props.position ? this.props.position.name : \"\",\n code: this.props.position ? this.props.position.code : \"\",\n })\n }\n\n render() {\n const {classes} = this.props;\n return(\n
\n \n \n {__t('name')}:\n \n \n this.setState({name:e.target.value})}\n inputProps={{ maxLength: 70, className:this.props.classes.upperCase }}\n disabled={this.props.readonly}\n />\n \n \n \n \n {__t('code')}:\n \n \n this.setState({code:e.target.value})}\n inputProps={{ maxLength: 50, className:this.props.classes.upperCase }}\n disabled={this.props.readonly}\n />\n \n \n \n \n
\n )\n }\n\n returnData() {\n this.setState({\n nameError:false,\n codeError:false\n });\n\n let nameError = false, codeError = false;\n if(this.state.name == \"\") {\n nameError = true;\n this.setState({nameError:true})\n }\n\n if(this.state.code == \"\") {\n codeError = true;\n this.setState({codeError:true})\n }\n\n if(nameError || codeError) {\n this.setState({\n nameError:nameError,\n codeError:codeError\n });\n }\n\n return {\n formData: {\n name:this.state.name,\n code:this.state.code\n },\n formError: nameError || codeError\n }\n }\n}\n\nPositionForm.propTypes = {\n position:PropTypes.object,\n readonly:PropTypes.bool,\n refReturnData:PropTypes.func.isRequired\n}\n\nexport default withStyles(styles)(PositionForm);","import React from 'react';\nimport { connect } from 'react-redux';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { positionsActions } from '../../../actions/positionsActions';\n\nimport {\n Paper,\n Modal,\n CircularProgress,\n withStyles,\n} from '@material-ui/core';\n\nimport {\n getProductTypeTitle,\n pageModes,\n styleWithCommonClasses,\n tabDisplays\n} from '../../../_constants/emparkConstants'\n\nimport TitleToolbar from '../../Forms/TitleToolbar';\nimport PositionForm from '../../Forms/PositionForm';\n\nimport translate from '../../../locales';\nimport { contextsActions } from '../../../actions/contextsActions';\nimport ErrorMessage from '../../ErrorMessage';\nimport LoadingPaper from '../../LoadingPaper';\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses();\n\nclass PositionDetailPage extends React.Component {\n constructor(props) {\n super(props);\n\n const { positions, router } = this.props;\n\n this.state = {\n position: positions.find(c => c.id === router.id)\n }\n\n this.handleSubmit = this.handleSubmit.bind(this);\n }\n\n componentDidMount() {\n const { positions, router } = this.props;\n\n if (router.mode !== pageModes.add) {\n this.setState({\n position: positions.find(c => c.id === router.id)\n })\n }\n }\n\n componentDidUpdate(prevProps) {\n if (this.props != prevProps ||this.props.router.mode != prevProps.router.mode) {\n this.setState({\n position: this.props.positions.find(c => c.id === this.props.router.id)\n })\n }\n }\n\n render() {\n const { loading, classes, router, productTypeCode } = this.props;\n\n const title = router.mode === pageModes.add ? __t('create') : router.mode === pageModes.edit ? __t('edit') : __t('view');\n\n if(loading)\n return(\n \n )\n\n if(router.mode === pageModes.add || router.mode === pageModes.edit)\n return(\n \n {\n this.props.changeTabDisplay(tabDisplays.index)\n this.props.changeMode(pageModes.list)\n }}\n onSave={this.handleSubmit}\n >\n this.submitForm = returnData}\n productTypeCode={productTypeCode}\n />\n \n \n \n )\n\n if(this.state.position == null)\n return(\n \n \n \n )\n\n return (\n \n this.props.changeMode(pageModes.edit, this.state.position.id) : null}\n onBack={() => {\n this.props.changeTabDisplay(tabDisplays.index)\n this.props.changeMode(pageModes.list)\n }}\n >\n this.submitForm = returnData}\n productTypeCode={productTypeCode}\n readonly\n />\n \n \n )\n }\n\n handleSubmit() {\n var data = this.submitForm();\n\n const position = {\n ...this.state.position,\n ...data.formData,\n contextId:this.props.contextId\n }\n\n this.setState({position: position});\n\n if (data.formError) {\n this.props.setError(__t('error_required_fields'));\n\n return;\n }\n\n this.props.sendPosition(this.props.contextId, position);\n };\n\n}\n\nfunction mapStateToProps(state) {\n return {\n positions: state.positionsReducer.positions,\n router: state.positionsReducer.router,\n loading: state.positionsReducer.loading,\n error: state.positionsReducer.error,\n tabDisplay: state.positionsReducer.tabDisplay,\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n sendPosition: (contextId, position) => {\n dispatch(positionsActions.sendPosition(contextId, position))\n },\n changeMode: (mode, id) => {\n dispatch(positionsActions.changeMode(mode, id))\n },\n changeTabDisplay:(tabDisplay) => {\n dispatch(contextsActions.setTabDisplay(tabDisplay))\n },\n setError: (error) => {\n dispatch(positionsActions.setError(error))\n }\n }\n}\n\nPositionDetailPage.propTypes = {\n contextId:PropTypes.string.isRequired,\n positions: PropTypes.array,\n router: PropTypes.object,\n loading: PropTypes.bool,\n error: PropTypes.string,\n fetchPositions: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(PositionDetailPage));","import React, { useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\n\nimport {\n pageModes, styleWithCommonClasses\n} from '../../../_constants/emparkConstants'\n\nimport { positionsActions } from '../../../actions/positionsActions';\nimport { CircularProgress, Paper, withStyles } from '@material-ui/core';\n\nimport translate from '../../../locales';\nimport PositionsTablePage from './PositionsTablePage';\nimport PositionDetailPage from './PositionDetailPage';\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n tabPanel: {\n backgroundColor: 'white'\n }\n});\n\nconst PositionsRouter = props => {\n useEffect(() => {\n props.fetchPositions(props.context.id);\n props.changeMode(pageModes.list);\n \n return () => {\n\n }\n }, []);\n\n if(props.router.mode === pageModes.list)\n return (\n \n )\n \n return(\n \n )\n}\n\nfunction mapStateToProps(state) {\n return {\n positions: state.positionsReducer.rates,\n router: state.positionsReducer.router\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n changeMode: (mode, id) => {\n dispatch(positionsActions.changeMode(mode, id))\n },\n fetchPositions: (contextId) => {\n dispatch(positionsActions.fetchPositions(contextId));\n }\n }\n}\n\nPositionsRouter.propTypes = {\n context: PropTypes.object.isRequired,\n positions: PropTypes.object,\n router: PropTypes.object,\n changeMode: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(PositionsRouter));","import React from 'react'\n\nimport WarningIcon from '@material-ui/icons/Warning';\nimport AssignmentTurnedInIcon from '@material-ui/icons/AssignmentTurnedIn';\nimport { Tooltip } from '@material-ui/core';\n\nimport translate from '../locales';\n\nconst __t = translate;\n\n\nconst StatusIcon = isDraft => {\n if (isDraft)\n return \n \n \n\n return \n \n \n}\n\nexport default StatusIcon;","import { Grid, Paper, withStyles } from '@material-ui/core';\nimport MaterialTable from 'material-table';\nimport moment from 'moment';\nimport PropTypes from 'prop-types';\nimport React, { useRef, useState } from 'react';\nimport { connect } from 'react-redux';\nimport { contextsActions, CONTEXT_PREBOOKS_STATE } from '../../../actions/contextsActions';\nimport { ratesActions } from '../../../actions/ratesActions';\nimport translate from '../../../locales';\nimport { pageModes, productTypes, styleWithCommonClasses, tabDisplays } from '../../../_constants/emparkConstants';\nimport { toDateJsonString } from '../../../_helpers/dateConvert';\nimport ErrorMessage from '../../ErrorMessage';\nimport TitleToolbar from '../../Forms/TitleToolbar';\nimport LoadingPaper from '../../LoadingPaper';\nimport DisallowedPeriodsFormTable from '../../Tables/DisallowedPeriodsFormTable';\nimport _ from 'lodash';\n\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses();\n\nconst DisallowedPeriodAddMassivePage = props => {\n const { locale } = props;\n\n let ratesTableRef = useRef(null);\n let disallowedTableRef = useRef(null);\n\n const [values, setValues] = useState([{ fromDate: '', toDate: '' }]);\n\n const rates = _.orderBy(props.rates\n .filter(r => r.productTypeCode === props.productTypeCode),\n ['quantity', 'name'], \n ['asc', 'asc']\n )\n .map(r => ({ ...r, tableData: { checked: true } }));\n\n const submit = () => {\n let r = [];\n\n ratesTableRef.current.dataManager.data.forEach(d => {\n if (d.tableData.checked) {\n r.push(d);\n }\n });\n\n let values = disallowedTableRef.current.getValues();\n\n if (!values) {\n setValues(values);\n return;\n }\n\n let errors = [];\n let errorEmpty = false;\n let errorOrder = false;\n\n for (let i = 0; i < values.length; i++) {\n if (!values[i].fromDate) {\n values[i].fromDateError = true;\n errorEmpty = true;\n }\n\n if (!values[i].toDate) {\n values[i].toDateError = true;\n errorEmpty = true;\n }\n\n if (errorEmpty)\n continue;\n\n if (moment(values[i].fromDate).isAfter(moment(values[i].toDate))) {\n values[i].fromDateError = true;\n values[i].toDateError = true;\n errorOrder = true;\n }\n }\n\n if (errorEmpty) {\n errors.push(__t('error_required_fields'))\n }\n\n if (errorOrder) {\n errors.push(__t('error_date_order'))\n }\n\n if (r.length == 0)\n errors.push(__t('error_check_rate'));\n\n if (errors.length > 0) {\n props.setError(errors);\n\n setValues(values);\n return;\n }\n\n /* Validar solapes... */\n if (values.some((v1, i1) => {\n return values.some((v2, i2) => {\n if (i1 == i2) return false;\n\n return moment(v2.fromDate).isSameOrAfter(moment(v1.fromDate)) && moment(v2.fromDate).isBefore(moment(v1.toDate))\n || moment(v2.toDate).isAfter(moment(v1.toDate)) && moment(v2.toDate).isSameOrBefore(moment(v1.toDate));\n })\n })) {\n errors.push(__t('error_overlap_disallowed'));\n props.setError(errors);\n\n setValues(values);\n return;\n }\n\n setValues(values);\n\n props.sendDisallowedPeriods(props.context.id, r.map(e => e.id), values.map(v => ({ fromDate: toDateJsonString(v.fromDate), toDate: toDateJsonString(v.toDate), productTypeCode: props.productTypeCode })))\n }\n\n if (props.loading) {\n return ()\n }\n\n return (\n \n \n
\n \n \n \n \n \n {\n props.showToastError(__t(err));\n }}\n />\n \n \n\n \n \n
\n \n
\n \n {/*
*/}\n \n )\n}\n\nfunction mapStateToProps(state) {\n return {\n rates: state.ratesReducer.rates,\n locale: state.locales.current,\n loading: state.contextsReducer.prebooksState.loading,\n error: state.contextsReducer.prebooksState.error,\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n backPress: () => {\n dispatch({\n type: CONTEXT_PREBOOKS_STATE,\n payload: {\n error: null,\n loading: false\n }\n })\n\n dispatch(contextsActions.setTabDisplay(tabDisplays.index));\n dispatch(ratesActions.changeMode(pageModes.list));\n },\n setError: (error) => {\n dispatch({\n type: CONTEXT_PREBOOKS_STATE,\n payload: {\n error: error,\n loading: false\n }\n })\n },\n sendDisallowedPeriods: (id, rates, values) => {\n dispatch(contextsActions.sendDisallowedPeriodsMassive(id, rates, values));\n }\n }\n}\n\nDisallowedPeriodAddMassivePage.propTypes = {\n context: PropTypes.object\n\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(DisallowedPeriodAddMassivePage));","import { Grid, InputLabel, Paper, withStyles } from '@material-ui/core';\nimport MaterialTable from 'material-table';\nimport moment from 'moment';\nimport PropTypes from 'prop-types';\nimport React, { useRef, useState } from 'react';\nimport DatePicker from \"react-datepicker\";\nimport { connect } from 'react-redux';\nimport { contextsActions, CONTEXT_PREBOOKS_STATE } from '../../../actions/contextsActions';\nimport { ratesActions } from '../../../actions/ratesActions';\nimport translate from '../../../locales';\nimport { countDecimalPlaces, limitNumber, pageModes, productTypes, styleWithCommonClasses, tabDisplays } from '../../../_constants/emparkConstants';\nimport { toDateJsonString, toDateObject } from '../../../_helpers/dateConvert';\nimport ErrorMessage from '../../ErrorMessage';\nimport TitleToolbar from '../../Forms/TitleToolbar';\nimport LoadingPaper from '../../LoadingPaper';\nimport OutlinedTextField from '../../OutlinedTextField';\nimport _ from 'lodash'\n\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses();\n\nconst PrebooksAddPage = props => {\n let tableRef = useRef(null);\n\n const [fromDate, setFromDate] = useState('');\n const [toDate, setToDate] = useState('');\n\n const [errorFromDate, setErrorFromDate] = useState(false);\n const [errorToDate, setErrorToDate] = useState(false);\n\n const [rates, setRates] = useState(_.orderBy(props.rates\n .filter(r => r.productTypeCode === props.productTypeCode),\n ['quantity', 'name'],\n ['asc', 'asc']\n )\n .map(r => ({ ...r, tableData: { checked: true } }))\n );\n\n const setPrice = (value, tableId) => {\n setRates(rates.map(r => {\n if (r.tableData.id != tableId) return r;\n\n return { ...r, newPrice: value };\n }));\n\n tableRef.current.setState(tableRef.current.dataManager.getRenderState());\n }\n\n const submit = () => {\n let r = [];\n\n let errors = [];\n let errorPrice = false;\n\n setErrorFromDate(!fromDate);\n setErrorToDate(!toDate);\n\n tableRef.current.dataManager.data.forEach(d => {\n if (d.tableData.checked) {\n r.push(d);\n\n if (!d.newPrice) {\n d.error = true;\n\n if (!errorPrice) {\n errorPrice = true;\n }\n } else {\n d.error = false;\n }\n } else {\n d.error = false;\n }\n });\n\n setRates(tableRef.current.dataManager.data);\n\n if (r.length == 0)\n errors.push(__t('error_check_rate'));\n\n if (errorPrice || !fromDate || !toDate)\n errors.push(__t('error_required_fields'));\n\n if (errors.length > 0) {\n props.setError(errors);\n return;\n }\n\n props.sendPrebooks(props.context.id, props.productTypeCode, toDateJsonString(fromDate), toDateJsonString(toDate), r.map(d => ({ rateId: d.id, price: d.newPrice })))\n }\n\n if (props.loading) {\n return ()\n }\n\n const label = props.productTypeCode == productTypes.prebooks ? __t('prebooks') :\n props.productTypeCode == productTypes.multidays ? __t('multidays') :\n props.productTypeCode == productTypes.passPerHour ? __t('pass_per_hour') :\n props.productTypeCode == productTypes.passPerUse ? __t('pass_per_use') :\n __t('multipass');\n\n return (\n \n \n
\n \n \n \n {__t('from')}:\n \n \n setFromDate(date)}\n customInput={\n \n }\n maxDate={moment(toDate).isValid ? moment(toDate).add(-1, 'days').toDate() : moment(toDateObject('01/01/3000')).add(-1, 'days').toDate()}\n />\n \n \n {__t('to')}:\n \n \n setToDate(date)}\n customInput={\n \n }\n minDate={moment(fromDate).isValid ? moment(fromDate).add(1, 'days').toDate() : moment(new Date()).add(1, 'days').toDate()}\n maxDate={toDateObject('01/01/3000')}\n />\n \n \n
\n {\n if (!limitNumber(e.target.value, 0, 9999) || countDecimalPlaces(e.target.value) > 2)\n return;\n\n setPrice(e.target.value, data.tableData.id)\n }}\n error={data.error}\n />\n },\n ]}\n data={rates}\n options={{\n selection: true,\n showFirstLastPageButtons: false,\n showSelectAllCheckbox: false,\n showTextRowsSelected: false,\n search: false,\n paging: false,\n toolbar: false,\n }}\n />\n
\n \n {/*
*/}\n \n )\n}\n\nfunction mapStateToProps(state) {\n return {\n rates: state.ratesReducer.rates,\n locale: state.locales.current,\n loading: state.contextsReducer.prebooksState.loading,\n error: state.contextsReducer.prebooksState.error,\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n backPress: () => {\n dispatch({\n type: CONTEXT_PREBOOKS_STATE,\n payload: {\n error: null,\n loading: false\n }\n })\n\n dispatch(contextsActions.setTabDisplay(tabDisplays.index));\n dispatch(ratesActions.changeMode(pageModes.list));\n },\n setError: (error) => {\n dispatch({\n type: CONTEXT_PREBOOKS_STATE,\n payload: {\n error: error,\n loading: false\n }\n })\n },\n sendPrebooks: (id, productTypeCode, fromDate, toDate, rates) => {\n dispatch(contextsActions.sendPrebooksAdd(id, productTypeCode, fromDate, toDate, rates));\n }\n }\n}\n\nPrebooksAddPage.propTypes = {\n context: PropTypes.object\n\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(PrebooksAddPage));","import { Chip, Grid, MenuItem, Select, TextField, Tooltip, withStyles } from '@material-ui/core';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport translate from '../../locales';\nimport Files from 'react-butterfiles';\nimport CommentDocument from '../Sections/Comments/CommentDocument';\nimport { connect } from 'react-redux';\nimport LoadingDialog from './LoadingDialog'\nimport ErrorMessage from '../ErrorMessage';\nimport { commentsActions } from '../../actions/commentsActions';\nimport { rateTypes, styleWithCommonClasses } from '../../_constants/emparkConstants';\nimport MaterialTable from 'material-table';\nimport { useState } from 'react';\nimport OutlinedTextField from '../OutlinedTextField';\n\n\nconst __t = translate;\n\nconst styles = () => styleWithCommonClasses({\n\n})\n\nconst ChannelsTableDialog = props => {\n const { title, channels, classes } = props;\n\n const [rateChannels, setRateChannels] = useState(props.rateChannels);\n\n const editRateChannel = (type, value, id) => {\n\n setRateChannels(\n rateChannels.map((rc, i) => {\n if (rc.tableData.id != id)\n return rc;\n\n switch (type) {\n case 'channel':\n rc.channelId = value;\n break;\n case 'minimum':\n rc.commissionMinimum = value;\n break;\n case 'percentage':\n rc.commissionPercentage = value;\n break;\n }\n\n return rc;\n })\n )\n }\n\n return (\n \n {title}\n \n \n editRateChannel('channel', e.target.value, data.tableData.id)}\n >\n \n {channels.map(c =>\n {c.name}\n )}\n \n },\n {\n title: __t('commission_minimum'), field: 'commissionMinimum', render: data => editRateChannel('minimum', e.target.value, data.tableData.id)}\n />\n },\n {\n title: __t('commission_percent'), field: 'commissionPercentage', render: data => editRateChannel('percentage', e.target.value, data.tableData.id)}\n />\n }\n ]}\n data={rateChannels}\n options={{\n showFirstLastPageButtons: false,\n showSelectAllCheckbox: false,\n showTextRowsSelected: false,\n search: false,\n paging: false,\n toolbar: false,\n }}\n />\n \n \n \n \n \n \n )\n}\n\nfunction mapStateToProps(state) {\n return {\n \n }\n}\n\n\nfunction mapDispatchToProps(dispatch) {\n return {\n\n }\n}\n\nChannelsTableDialog.propTypes = {\n open: PropTypes.bool,\n title: PropTypes.string,\n channels: PropTypes.array,\n rateChannels: PropTypes.array,\n onClose: PropTypes.func,\n onSubmit: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(ChannelsTableDialog));","import { Chip, Grid, TextField, Tooltip, withStyles } from '@material-ui/core';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport translate from '../../locales';\nimport Files from 'react-butterfiles';\nimport CommentDocument from '../Sections/Comments/CommentDocument';\nimport { connect } from 'react-redux';\nimport LoadingDialog from './LoadingDialog'\nimport ErrorMessage from '../ErrorMessage';\nimport { commentsActions } from '../../actions/commentsActions';\nimport { rateTypes, styleWithCommonClasses } from '../../_constants/emparkConstants';\nimport MaterialTable from 'material-table';\nimport DatePicker from \"react-datepicker\";\nimport { useState } from 'react';\nimport { toDateObjectFromJson } from '../../_helpers/dateConvert';\n\n\nconst __t = translate;\n\nconst styles = () => styleWithCommonClasses({\n\n})\n\nconst DisallowedPeriodsTableDialog = props => {\n const { title, open, classes } = props;\n\n const [disallowedPeriods, setDisallowedPeriods] = useState(props.disallowedPeriods.map(dp => ({...dp, fromDate: toDateObjectFromJson(dp.fromDate), toDate: toDateObjectFromJson(dp.toDate)})));\n\n const editDisallowedPeriods = (type, value, id) => {\n\n setDisallowedPeriods(\n disallowedPeriods.map((dp, i) => {\n if (dp.tableData.id != id)\n return dp;\n\n switch (type) {\n case 'from':\n dp.fromDate = value;\n break;\n case 'to':\n dp.toDate = value;\n break;\n }\n\n return dp;\n })\n )\n }\n return (null);\n\n // return (\n // \n // {title}\n // \n // \n // {\n // editDisallowedPeriods('from', date, data.tableData.id)\n // }}\n // customInput={\n // \n // }\n // maxDate={moment(this.state.toDate).isValid ? this.state.toDate : null}\n // readOnly={props.readonly}\n // />\n // },\n // {\n // title: __t('to'), field: 'toDate', render: data =>\n // {\n // editDisallowedPeriods('to', date, data.tableData.id)\n // }}\n // customInput={\n // \n // }\n // maxDate={moment(this.state.toDate).isValid ? this.state.toDate : null}\n // readOnly={props.readonly}\n // />\n // }\n // ]}\n // data={null}\n // options={{\n // showFirstLastPageButtons: false,\n // showSelectAllCheckbox: false,\n // showTextRowsSelected: false,\n // search: false,\n // paging: false,\n // toolbar: false,\n // }}\n // />\n // \n // \n // \n // \n // \n // \n // )\n}\n\nfunction mapStateToProps(state) {\n return {\n\n }\n}\n\n\nfunction mapDispatchToProps(dispatch) {\n return {\n\n }\n}\n\nDisallowedPeriodsTableDialog.propTypes = {\n open: PropTypes.bool,\n title: PropTypes.string,\n channels: PropTypes.array,\n rateChannels: PropTypes.array,\n onClose: PropTypes.func,\n onSubmit: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(DisallowedPeriodsTableDialog));","import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport Flag from 'react-flagkit';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport OutlinedTextField from '../OutlinedTextField'\n\nimport translate from '../../locales';\nimport ErrorMessage from '../ErrorMessage';\nimport { CircularProgress, Grid, withStyles } from '@material-ui/core';\nimport catalanFlag from '../../static/images/catalan.png'\nimport basqueFlag from '../../static/images/basque.png'\n\nconst __t = translate;\n\nconst styles = () => ({\n buttonCancel: {\n marginRight: '10px',\n '& span': {\n color: '#7b7c7d'\n }\n },\n containerFlag: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center'\n },\n flag: {\n height: '32px',\n width: '32px',\n },\n rowMargin: {\n marginTop: '10px'\n }\n})\n\nclass TranslationDialog extends React.Component {\n constructor(props) {\n super(props);\n\n let s = {\n es: '',\n pt: '',\n en: '',\n eu: '',\n ca: '',\n fr: '',\n esError: false,\n ptError: false,\n enError: false,\n euError: false,\n caError: false,\n frError: false\n }\n\n if (props.values) {\n props.values.forEach(v => {\n s[v.langCode] = v.value;\n })\n }\n\n this.state = s;\n\n this.resetToPropValues = this.resetToPropValues.bind(this);\n this.handleClose = this.handleClose.bind(this);\n };\n\n componentDidUpdate(prevProps) {\n if (this.props.values != prevProps.values) {\n this.resetToPropValues();\n }\n }\n\n render() {\n const { title, open, allowSubmit, classes } = this.props;\n\n if (this.props.loading) {\n return (\n \n \n \n \n \n )\n }\n\n return (\n
\n \n {title}\n \n {this.props.message &&
{this.props.message}
}\n \n \n \n \n \n this.setState({ es: e.target.value })}\n inputProps={{ maxLength: 60 }}\n disabled={!allowSubmit}\n />\n \n \n \n \n \n this.setState({ pt: e.target.value })}\n inputProps={{ maxLength: 60 }}\n disabled={!allowSubmit}\n />\n \n \n \n \n \n this.setState({ en: e.target.value })}\n inputProps={{ maxLength: 60 }}\n disabled={!allowSubmit}\n />\n \n \n \n \n \n this.setState({ eu: e.target.value })}\n inputProps={{ maxLength: 60 }}\n disabled={!allowSubmit}\n />\n \n \n \n \n \n this.setState({ ca: e.target.value })}\n inputProps={{ maxLength: 60 }}\n disabled={!allowSubmit}\n />\n \n \n \n \n \n this.setState({ fr: e.target.value })}\n inputProps={{ maxLength: 60 }}\n disabled={!allowSubmit}\n />\n \n \n\n \n
\n \n \n {this.props.allowSubmit &&\n \n }\n \n \n
\n );\n }\n\n resetToPropValues() {\n let s = {\n es: '',\n pt: '',\n en: '',\n eu: '',\n ca: '',\n fr: '',\n esError: false,\n ptError: false,\n enError: false,\n euError: false,\n caError: false,\n frError: false\n }\n\n if (this.props.values) {\n this.props.values.forEach(v => {\n s[v.langCode] = v.value;\n });\n }\n\n this.setState(s);\n }\n\n handleClose() {\n this.resetToPropValues();\n\n this.props.onClose();\n }\n}\n\nTranslationDialog.propTypes = {\n title: PropTypes.string,\n message: PropTypes.string,\n values: PropTypes.array,\n open: PropTypes.bool,\n onSubmit: PropTypes.func,\n onClose: PropTypes.func,\n error: PropTypes.string,\n loading: PropTypes.bool,\n allowSubmit: PropTypes.bool\n}\n\nexport default withStyles(styles)(TranslationDialog);","import React from 'react';\nimport { useEffect } from 'react';\nimport { auxActions } from '../../actions/auxActions';\nimport PropTypes from 'prop-types';\nimport { connect } from 'react-redux';\nimport { channelsActions } from '../../actions/channelsActions';\n\nconst FetchGlobals = (props) => {\n useEffect(() => {\n if (props.days)\n props.fetchDays();\n\n if (props.hours)\n props.fetchHours();\n\n if (props.uses)\n props.fetchUses();\n\n if (props.tlcm)\n props.fetchTlcm();\n\n if (props.channels)\n props.fetchChannels();\n\n return () => {\n\n };\n }, []);\n\n return (\n <>\n {props.children}\n \n );\n};\n\nfunction mapStateToProps(state) {\n return {\n\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n fetchDays: () => {\n dispatch(auxActions.fetchDays());\n },\n fetchHours: () => {\n dispatch(auxActions.fetchHours());\n },\n fetchUses: () => {\n dispatch(auxActions.fetchUses());\n },\n fetchTlcm: () => {\n dispatch(auxActions.fetchTlcm());\n },\n fetchChannels: () => {\n dispatch(channelsActions.fetchChannels());\n }\n }\n}\n\nFetchGlobals.propTypes = {\n days: PropTypes.bool,\n hours: PropTypes.bool,\n uses: PropTypes.bool,\n tlcm: PropTypes.bool,\n channels: PropTypes.bool\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(FetchGlobals);\n","import {\n Button, Grid, InputLabel, MenuItem, Paper, Select, withStyles\n} from '@material-ui/core';\nimport classNames from 'classnames';\nimport MaterialTable from 'material-table';\nimport moment from 'moment';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport DatePicker from \"react-datepicker\";\nimport { connect } from 'react-redux';\nimport { contextsActions } from '../../../actions/contextsActions';\nimport { ratesActions } from '../../../actions/ratesActions';\nimport translate from '../../../locales';\nimport { countDecimalPlaces, limitNumber, pageModes, rateTypes, styleWithCommonClasses, tabDisplays } from '../../../_constants/emparkConstants';\nimport { toDateObject } from '../../../_helpers/dateConvert';\nimport ChannelsTableDialog from '../../Dialogs/ChannelsTableDialog';\nimport DisallowedPeriodsTableDialog from '../../Dialogs/DisallowedPeriodsTableDialog';\nimport TranslationDialog from '../../Dialogs/TranslationDialog';\nimport FetchGlobals from '../../Fetchers/FetchGlobals';\nimport TitleToolbar from '../../Forms/TitleToolbar';\nimport LoadingPaper from '../../LoadingPaper';\nimport OutlinedTextField from '../../OutlinedTextField';\n\n\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n button: {\n width: '100%',\n },\n marginButtons: {\n marginTop: '20px'\n },\n marginFields: {\n marginTop: '10px'\n },\n labelRight: {\n textAlign: 'right',\n paddingRight: '10px'\n },\n tableLabel: {\n textAlign: 'center',\n padding: '10px',\n fontSize: '1.05em'\n },\n select: {\n width: '100%'\n },\n paddingLabel: {\n paddingRight: '20px'\n }\n});\n\nconst PrebooksCreatePage = props => {\n const [days, setDays] = useState(props.days.values ? props.days.values.map(v => ({ quantity: v.val, price: null })) : null);\n const [name, setName] = useState('');\n const [rateTypeCode, setRateTypeCode] = useState('');\n const [fromDate, setFromDate] = useState('');\n const [toDate, setToDate] = useState('');\n const [translations, setTranslations] = useState([]);\n const [rateChannels, setRateChannels] = useState([]);\n const [disallowedPeriods, setDisallowedPeriods] = useState([]);\n const [positions, setPositions] = useState([]);\n\n const [modalState, setModalState] = useState({\n modal: null,\n errorT: null,\n errorC: null,\n errorD: null,\n errorP: null,\n });\n\n useEffect(() => {\n setDays(props.days.values ? props.days.values.map(v => ({ quantity: v.val, price: null })) : null);\n\n return () => {\n\n };\n }, [props.days.values]);\n\n const submit = () => {\n let errors = [];\n if (!name || !rateTypeCode || !fromDate || !toDate || days.some(d => !d.quantity || !d.price)) {\n errors.push(__t('error_required_fields'));\n }\n\n if (!name.includes(\"#\")) {\n errors.push();\n }\n\n // if(translations.length == 0) {\n // errors.push();\n // }\n\n // if(channels.length == 0) {\n // errors.push();\n // }\n\n // if(positions.length == 0) {\n // errors.push();\n // }\n\n let prebooksWrapper =\n {\n name: name,\n rateTypeCode: rateTypeCode,\n fromDate: fromDate,\n toDate: toDate,\n translations: translations,\n channels: rateChannels,\n disallowedPeriods: disallowedPeriods,\n days: days,\n positions: positions\n };\n\n props.sendPrebooks(\n props.context.id,\n prebooksWrapper\n )\n }\n\n const { classes } = props;\n\n if (days.loading)\n return (\n \n \n \n )\n\n const setValues = (type, value, id) => {\n setDays(days.map(d => {\n if (d.tableData.id != id) return d;\n\n if (type == 'quantity')\n return { ...d, quantity: value }\n\n return { ...d, price: value }\n }))\n }\n\n return (\n \n \n {\n t.esError = false; t.ptError = false; t.enError = false;\n t.caError = false; t.euError = false; t.frError = false;\n\n let errorRequired = false;\n let errorHash = false;\n\n if (!t.es) {\n errorRequired = true;\n t.esError = true;\n } else if (!t.es.includes(\"#\")) {\n errorHash = true;\n t.esError = true;\n }\n\n if (!t.pt) {\n errorRequired = true;\n t.ptError = true;\n } else if (!t.pt.includes(\"#\")) {\n errorHash = true;\n t.ptError = true;\n }\n\n if (!t.en) {\n errorRequired = true;\n t.enError = true;\n } else if (!t.en.includes(\"#\")) {\n errorHash = true;\n t.enError = true;\n }\n\n if (!t.ca) {\n errorRequired = true;\n t.caError = true;\n } else if (!t.ca.includes(\"#\")) {\n errorHash = true;\n t.caError = true;\n }\n\n if (!t.eu) {\n errorRequired = true;\n t.euError = true;\n } else if (!t.eu.includes(\"#\")) {\n errorHash = true;\n t.euError = true;\n }\n\n if (!t.fr) {\n errorRequired = true;\n t.frError = true;\n } else if (!t.fr.includes(\"#\")) {\n errorHash = true;\n t.frError = true;\n }\n\n let errors = [];\n\n if (errorRequired) errors.push(__t('error_required_fields'));\n if (errorHash) errors.push(__t('error_substitute_name'));\n\n if (errors.length > 0) {\n setModalState({ ...modalState, modal: 't', errorT: errors });\n return;\n }\n\n setTranslations([\n { langCode: 'es', value: t.es },\n { langCode: 'pt', value: t.pt },\n { langCode: 'en', value: t.en },\n { langCode: 'ca', value: t.ca },\n { langCode: 'eu', value: t.eu },\n { langCode: 'fr', value: t.fr },\n ])\n\n setModalState({ ...modalState, modal: null, errorT: null });\n }}\n onClose={() => setModalState({ ...modalState, modal: null})}\n values={translations}\n error={modalState.errorT}\n />\n {\n if (values.length == 0) {\n setRateChannels([]);\n setModalState({ ...modalState, modal: null, errorC: null });\n\n return;\n }\n\n let errors = [];\n if (values.some(c => !c.channelId)) {\n errors.push(__t('error_required_fields'));\n }\n\n let set = new Set(values.map(c => c.channelId));\n if (set.size != values.length) {\n errors.push(__t('repeated_channel'));\n }\n\n if (errors.length > 0) {\n setModalState({ ...modalState, errorC: errors });\n return;\n }\n\n setRateChannels(values);\n setModalState({ ...modalState, modal: null, errorC: null });\n }}\n onCancel={() => setModalState({ ...modalState, modal: null })}\n channels={props.channels.values}\n rateChannels={rateChannels}\n />\n\n {\n if (values.length == 0) {\n setDisallowedPeriods([]);\n return;\n }\n\n if (values.some(d => !d.fromDate || !d.toDate)) {\n setModalState({ ...modalState, errorC: __t('error_required_fields') })\n return;\n }\n\n /* Validacion de solapes */\n let error = false;\n values.foreach((v1, i1) => {\n if (values.some((v2, i2) => {\n if (i1 == i2) return false;\n\n return !(v2.toDate < v1.fromDate || v2.fromDate >= v1.toDate)\n })) {\n error = true;\n }\n });\n\n if (error) {\n setModalState({ ...modalState, errorD: __t('error_overlap_disallowed') })\n return;\n }\n\n setDisallowedPeriods(values);\n setModalState({...modalState, modal: null, errorD: null})\n }}\n onCancel={() => setModalState({ ...modalState, modal: 'd' })}\n disallowedPeriods={disallowedPeriods}\n />\n\n \n
{__t('msg_substitute_name')}
\n \n \n {__t('name')}:\n \n \n setName(e.target.value)}\n />\n \n \n {__t('type')}:\n \n \n setRateTypeCode(e.target.value)}\n >\n \n {__t('actual')}\n {__t('competition')}\n {__t('simulation')}\n \n \n \n {__t('from')}:\n \n \n setFromDate(date)}\n customInput={\n \n }\n maxDate={moment(toDate).isValid ? moment(toDate).add(-1, 'days').toDate() : moment(toDateObject('01/01/3000')).add(-1, 'days').toDate()}\n />\n \n \n {__t('to')}:\n \n \n setToDate(date)}\n customInput={\n \n }\n minDate={moment(fromDate).isValid ? moment(fromDate).add(1, 'days').toDate() : null}\n maxDate={toDateObject('01/01/3000')}\n />\n \n \n {\n if (e.target.value.includes(\".\") || !limitNumber(e.target.value, 0, 99)) return;\n\n setValues('quantity', e.target.value, data.tableData.id);\n }}\n />\n },\n {\n title: __t('price'), field: 'price', headerStyle: { zIndex: 0 }, render: data => {\n if (!limitNumber(e.target.value, 0, 9999) || countDecimalPlaces(e.target.value) > 2) return;\n\n setValues('price', e.target.value, data.tableData.id);\n }}\n />\n }\n ]}\n data={days}\n options={{\n showFirstLastPageButtons: false,\n showSelectAllCheckbox: false,\n showTextRowsSelected: false,\n search: false,\n paging: false,\n toolbar: false,\n actionsColumnIndex: -1\n }}\n actions={[\n {\n icon: 'delete',\n tooltip: __t('delete'),\n onClick: (e, rowData) => { setDays(days.filter(d => d.tableData.id != rowData.tableData.id)) }\n }\n ]}\n localization={{\n header: {\n actions: ''\n }\n }}\n />\n\n setDays([...days, { quantity: null, price: null }])}\n >\n {__t('add_row')}\n \n \n \n \n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n \n
\n )\n}\n\nfunction mapStateToProps(state) {\n return {\n locale: state.locales.current,\n days: {\n values: state.auxReducer.days,\n loading: state.auxReducer.loading,\n error: state.auxReducer.error,\n },\n channels: {\n values: state.channelsReducer.channels,\n loading: state.channelsReducer.loading,\n error: state.channelsReducer.error\n }\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n backPress: () => {\n dispatch(ratesActions.setTabDisplay(tabDisplays.index));\n dispatch(ratesActions.changeMode(pageModes.list));\n },\n setError: (error) => {\n\n },\n sendPrebooks: (id, prebooksWrapper) => {\n dispatch(contextsActions.sendPrebooksCreate(id, prebooksWrapper));\n }\n }\n}\n\nPrebooksCreatePage.propTypes = {\n context: PropTypes.object.isRequired,\n productTypeCode: PropTypes.string.isRequired,\n router: PropTypes.object,\n rates: PropTypes.array,\n loading: PropTypes.bool,\n error: PropTypes.string,\n changeMode: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(PrebooksCreatePage));","import { Button, Modal, Paper, withStyles } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport translate from '../../locales';\nimport ErrorMessage from '../ErrorMessage';\n\nconst __t = translate;\n\nconst styles = () => ({\n button: {\n marginTop: '30px'\n },\n modal: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\"\n },\n paper: {\n width: '500px',\n textAlign: \"center\",\n padding: '20px 10px',\n outline: \"none\",\n },\n schedulesContainer: {\n width: '100%',\n textAlign: 'left',\n marginTop: '5px'\n }\n})\n\nconst ErrorRateValidate = props => {\n\n if (!props.error)\n return (\n null\n )\n\n const { classes } = props;\n\n return (\n \n \n \n\n
\n {props.error.errors && props.error.errors.length > 0 &&\n (props.error.errors.map((e, i) => (\n
{e}
\n )))\n }\n\n\n {props.error.daysUncovered && props.error.daysUncovered.length > 0 &&\n
\n
{__t('error_schedules_unconvered')}
\n {props.error.daysUncovered.map((e, i) =>\n
\n {__t(e.day)}: \n {e.times.reduce((acc, curr) => {\n return `${acc} ${curr.startTime} - ${curr.endTime},`;\n }, \"\").slice(0, -1)}\n
\n )}\n
\n }\n\n {props.error.specialDaysUncovered && props.error.specialDaysUncovered.length > 0 &&\n
\n
{__t('error_special_days_unconvered')}
\n {props.error.specialDaysUncovered.map((e, i) =>\n
\n {__t(e.day)}: \n {e.times.reduce((acc, curr) => {\n return `${acc} ${curr.startTime} - ${curr.endTime},`;\n }, \"\").slice(0, -1)}\n
\n )}\n
\n }\n\n {props.error.periodPositionErrors && props.error.periodPositionErrors.length > 0 &&\n
\n
{__t('error_rate_periods_overlap')}
\n {props.error.periodPositionErrors.map(ppe =>\n ppe.positions.map(p =>\n
\n
\n {__t('rate')} 1 {p.rateName1}   \n {__t('period')} 1 {p.periodName1}\n
\n
\n {__t('rate')} 2 {p.rateName2}   \n {__t('period')} 2 {p.periodName2}\n
\n\n
\n {__t('position')} {p.positionName}\n
\n
\n )\n )}\n
\n }\n
\n\n \n
\n
\n )\n}\n\nErrorRateValidate.propTypes = {\n title: PropTypes.string.isRequired,\n error: PropTypes.any,\n onOkClick: PropTypes.func\n}\n\n\nexport default withStyles(styles)(ErrorRateValidate);\n\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport {\n withStyles,\n Checkbox,\n Grid,\n InputLabel,\n Select,\n MenuItem,\n IconButton,\n Tooltip\n} from '@material-ui/core';\n\nimport OutlinedTextField from '../OutlinedTextField'\n\nimport translate from '../../locales';\nimport { countDecimalPlaces, limitNumber, minutesToPt, productTypes, rateTypes, subProductTypes } from '../../_constants/emparkConstants';\n\nimport TranslateIcon from '@material-ui/icons/Translate';\n\nconst __t = translate;\n\nconst styles = () => ({\n containerButtons: {\n textAlign: 'right'\n },\n containerLabel: {\n textAlign: 'right',\n paddingRight: '10px'\n },\n containerstartStop: {\n textAlign: 'right'\n },\n containerSelect: {\n width: '100%',\n padding: '4px'\n },\n errorBorder: {\n border: '1px solid red',\n borderRadius: '5px'\n },\n select: {\n width: '100%',\n },\n upperCase: {\n textTransform: 'uppercase'\n },\n containerName: {\n display: 'flex',\n alignItems: 'center'\n },\n buttonTranslation: {\n backgroundColor: '#faa636',\n borderRadius: '5px',\n marginLeft: '5px',\n '&:hover': {\n backgroundColor: '#fabc66'\n }\n }\n});\n\n/**\n * Props: props.readonly, props.state, props.setState, props.onTranslateClick\n */\nconst NameAndTypeFields = withStyles(styles)((props) => {\n return (\n <>\n \n {__t('name')}: \n \n \n props.setState({ name: e.target.value })}\n inputProps={{ maxLength: 40 }}\n disabled={props.readonly}\n />\n {props.onTranslateClick &&\n \n \n \n \n \n }\n \n \n {__t('type')}: \n \n \n
\n props.setState({ rateTypeCode: e.target.value })}\n disabled={props.readonly}\n >\n \n {__t('actual')}\n {__t('competition')}\n {__t('simulation')}\n \n
\n
\n \n )\n});\n\nconst UsesAndPriceFields = withStyles(styles)((props) => {\n return (\n <>\n \n {props.label}: \n \n \n {\n if (!limitNumber(e.target.value, 0, 9999))\n return;\n\n props.setState({ quantity: e.target.value != '' ? Math.floor(e.target.value) : '' });\n }}\n error={props.state.quantityError}\n disabled={props.readonly}\n />\n \n \n {/* {__t('price')} {__t('money_helper')}: */}\n \n \n {/* {\n const n = Number(e.target.value);\n\n if (!limitNumber(e.target.value, 0, 9999) || countDecimalPlaces(e.target.value) > 2)\n return;\n\n props.setState({ price: e.target.value })\n }}\n error={props.state.priceError}\n disabled={props.readonly}\n /> */}\n \n \n )\n});\n\nconst TimeToBuyField = withStyles(styles)((props) => {\n let timeToBuy = minutesToPt(false, props.state.timeToBuy);\n\n return (\n <>\n \n {__t('tlcm')}\n \n \n {__t('hour')}\n \n \n {\n if (!limitNumber(e.target.value, 0, 999) || countDecimalPlaces(e.target.value) > 0)\n return;\n\n let minutes = (60 * Number(e.target.value)) + timeToBuy[2];\n\n props.setState({ timeToBuy: minutes })\n }}\n disabled={props.readonly}\n />\n \n \n {__t('minutes_helper')}\n \n \n {\n if (!limitNumber(e.target.value, 0, 59) || countDecimalPlaces(e.target.value) > 0)\n return;\n\n let minutes = (60 * timeToBuy[1]) + Number(e.target.value);\n\n props.setState({ timeToBuy: minutes })\n }}\n disabled={props.readonly}\n />\n \n \n )\n});\n\nconst PassPerHourForm = withStyles(styles)((props) => {\n return (\n \n \n \n \n )\n});\n\nconst PassPerUseForm = withStyles(styles)((props) => {\n return (\n \n \n \n \n \n {__t('duration')} ({__t('hours')})\n \n \n {\n const n = Number(e.target.value);\n\n if (!limitNumber(e.target.value, 0, 9999) || countDecimalPlaces(e.target.value) > 0)\n return;\n\n props.setState({ durationPerUse: e.target.value })\n }}\n disabled={props.readonly}\n />\n \n \n )\n});\n\nconst MultidayForm = withStyles(styles)((props) => {\n return (\n \n \n \n \n \n )\n});\n\nconst MultipassForm = withStyles(styles)((props) => {\n return (\n \n \n \n {/* \n {__t('lifespan')} ({__t('months')})\n \n \n {\n const n = Number(e.target.value);\n\n if (!limitNumber(e.target.value, 0, 99) || countDecimalPlaces(e.target.value) > 0)\n return;\n\n props.setState({ lifespan: e.target.value })\n }}\n disabled={props.readonly}\n />\n */}\n \n {__t('duration')} ({__t('hours')})\n \n \n {\n const n = Number(e.target.value);\n\n if (!limitNumber(e.target.value, 0, 9999) || countDecimalPlaces(e.target.value) > 0)\n return;\n\n props.setState({ durationPerUse: e.target.value })\n }}\n disabled={props.readonly}\n />\n \n \n )\n});\n\nclass RateForm extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n name: this.props.rate ? this.props.rate.name : \"\",\n nameError: false,\n rateTypeCode: this.props.rate && this.props.rate.rateTypeCode,\n rateTypeCodeError: false,\n subProductTypeCode: this.props.rate && this.props.rate.subProductTypeCode,\n subProductTypeCodeError: false,\n quantity: this.props.rate && this.props.rate.quantity,\n quantityError: false,\n startStop: this.props.rate && this.props.rate.startStop,\n price: this.props.rate && this.props.rate.price,\n priceError: false,\n maxCost: this.props.rate && this.props.rate.maxCost,\n maxCostError: false,\n step: this.props.rate && this.props.rate.step,\n stepError: false,\n graceMinutesEntry: this.props.rate && this.props.rate.graceMinutesEntry,\n graceMinutesExit: this.props.rate && this.props.rate.graceMinutesExit,\n timeToBuy: this.props.rate && this.props.rate.timeToBuy,\n timeToBuyError: false,\n durationPerUse: this.props.rate && this.props.rate.durationPerUse,\n durationPerUseError: false,\n // lifespan: this.props.rate && this.props.lifespan,\n // lifespanError: false,\n }\n\n this.returnData = this.returnData.bind(this);\n this.changeState = this.changeState.bind(this);\n }\n\n componentDidMount() {\n this.props.refReturnData(this.returnData);\n }\n\n componentDidUpdate(prevProps) {\n if (this.props != prevProps) {\n this.setState({\n name: this.props.rate ? this.props.rate.name : \"\",\n quantity: this.props.rate ? this.props.rate.quantity : \"\",\n rateTypeCode: this.props.rate && this.props.rate.rateTypeCode ? this.props.rate.rateTypeCode : \"\",\n timeToBuy: this.props.rate ? this.props.rate.timeToBuy : \"\",\n durationPerUse: this.props.rate ? this.props.rate.durationPerUse : \"\",\n // lifespan: this.props.rate ? this.props.rate.lifespan : \"\",\n // startStop: this.props.rate && this.props.rate.startStop\n })\n }\n }\n\n changeState(newState) {\n this.setState(newState);\n }\n\n render() {\n const { context, productTypeCode, classes } = this.props;\n\n if (productTypeCode === productTypes.rotation) {\n if (context.onStreet) {\n return (\n
\n \n \n \n {__t('rounding')} {__t('money_helper')} ({__t('down_round')}):\n \n \n
\n this.setState({ step: e.target.value })}\n disabled={this.props.readonly}\n >\n \n 0,01\n 0,05\n 0,10\n \n
\n
\n \n {__t('is_start_stop')}:\n \n \n this.setState({ startStop: !this.state.startStop })} />\n \n
\n
\n )\n }\n\n return (\n
\n \n \n \n {__t('max_cost')}:\n \n \n {\n if (!limitNumber(e.target.value, 0, 999) || countDecimalPlaces(e.target.value) > 2)\n return;\n\n this.setState({ maxCost: e.target.value })\n }}\n disabled={this.props.readonly}\n />\n \n \n {__t('grace_minutes_entry')}:\n \n \n {\n if (!limitNumber(e.target.value, 0, 999))\n return;\n\n this.setState({ graceMinutesEntry: Math.floor(e.target.value) })\n }}\n disabled={this.props.readonly}\n />\n \n \n {__t('rounding')} {__t('money_helper')} ({__t('down_round')}):\n \n \n
\n this.setState({ step: e.target.value })}\n disabled={this.props.readonly}\n >\n \n 0,01\n 0,05\n 0,10\n \n
\n
\n \n {__t('grace_minutes_exit')}:\n \n \n {\n if (!limitNumber(e.target.value, 0, 999))\n return;\n\n this.setState({ graceMinutesExit: Math.floor(e.target.value) })\n }}\n disabled={this.props.readonly}\n />\n \n
\n
\n )\n }\n\n if (productTypeCode === productTypes.passPerHour) {\n return (\n \n )\n }\n\n if (productTypeCode === productTypes.passPerUse) {\n return (\n \n )\n }\n\n if (productTypeCode === productTypes.multidays) {\n return (\n \n )\n }\n\n if (productTypeCode === productTypes.multipass) {\n return (\n \n )\n }\n\n const quantityLabel = productTypeCode === productTypes.prebooks ? (context.onStreet ? __t('quantity') : __t('days')) :\n productTypeCode === productTypes.passPerHour ? __t('hours') :\n productTypeCode === productTypes.passPerUse ? __t('uses') :\n productTypeCode === productTypes.multipass ? __t('passes') :\n __t('days');\n\n return (\n
\n \n \n \n {quantityLabel}: \n \n \n {\n if (!limitNumber(e.target.value, 0, 9999))\n return;\n\n this.setState({ quantity: e.target.value != '' ? Math.floor(e.target.value) : '' });\n }}\n error={this.state.quantityError}\n disabled={this.props.readonly}\n />\n \n {!(!context.onStreet && productTypeCode == productTypes.prebooks) ?\n [\n \n {__t('price')} {__t('money_helper')}:\n ,\n \n {\n const n = Number(e.target.value);\n\n if (!limitNumber(e.target.value, 0, 9999) || countDecimalPlaces(e.target.value) > 2)\n return;\n\n this.setState({ price: e.target.value })\n }}\n error={this.state.priceError}\n disabled={this.props.readonly}\n />\n \n ]\n :\n \n }\n {productTypeCode !== productTypes.prebooks && productTypeCode !== productTypes.multipass ?\n [\n \n {__t('timeToBuy')}: \n ,\n \n {\n if (!limitNumber(e.target.value, 0, 999))\n return;\n\n this.setState({ timeToBuy: e.target.value != '' ? Math.floor(e.target.value) : '' })\n }}\n disabled={this.props.readonly}\n />\n \n ]\n :\n productTypeCode === productTypes.prebooks && context.onStreet ?\n [\n \n {__t('pass_type')}: \n ,\n \n
\n this.setState({ subProductTypeCode: e.target.value })}\n disabled={this.props.readonly}\n >\n \n {__t('daily')} {__t('days_helper')}\n {__t('by_duration')} {__t('minutes_helper')}\n \n
\n
\n ]\n :\n \n }\n \n
\n
\n )\n }\n\n returnData() {\n this.setState({\n nameError: false,\n rateTypeCodeError: false,\n quantityError: false,\n priceError: false,\n maxCostError: false,\n graceMinutesEntryError: false,\n graceMinutesExitError: false,\n timeToBuyError: false,\n durationPerUseError: false,\n // lifespanError: false\n });\n\n let nameError = false, typeError = false, quantityError = false, priceError = false,\n maxCostError = false, stepError = false, graceMinutesEntryError = false, graceMinutesExitError = false, subProductTypeCodeError = false,\n timeToBuyError = false, durationPerUseError = false; // lifespanError = false;\n\n if (this.state.name == \"\") {\n nameError = true;\n }\n\n if (this.state.rateTypeCode == null || this.state.rateTypeCode == \"\") {\n typeError = true;\n }\n\n if (this.props.productTypeCode !== productTypes.rotation && (!this.state.quantity || this.state.quantity == null || this.state.quantity == \"\")) {\n quantityError = true;\n }\n\n if (this.props.productTypeCode === productTypes.prebooks && this.props.context.onStreet && (!this.state.price || this.state.price == \"\")) {\n priceError = true;\n }\n\n if (this.props.productTypeCode === productTypes.rotation && !this.props.context.onStreet && (!this.state.maxCost || this.state.maxCost == \"\")) {\n maxCostError = true;\n }\n\n if (this.props.productTypeCode === productTypes.rotation && (!this.state.step || this.state.step == \"\")) {\n stepError = true;\n }\n\n if (this.props.productTypeCode === productTypes.prebooks && this.props.context.onStreet && (!this.state.subProductTypeCode || this.state.subProductTypeCode == \"\")) {\n subProductTypeCodeError = true;\n }\n\n if ((this.props.productTypeCode == productTypes.multidays || this.props.productTypeCode == productTypes.passPerUse) &&\n (!this.state.timeToBuy || this.state.timeToBuy <= 0)\n ) {\n timeToBuyError = true;\n }\n\n if ((this.props.productTypeCode == productTypes.passPerUse || this.props.productTypeCode == productTypes.multipass) &&\n (!this.state.durationPerUse || this.state.durationPerUse <= 0)\n ) {\n durationPerUseError = true;\n }\n\n // if (this.props.productTypeCode == productTypes.multipass && this.state.lifespan < 0\n // ) {\n // lifespanError = true;\n // }\n\n if (nameError || typeError || quantityError || priceError || maxCostError || stepError ||\n subProductTypeCodeError || timeToBuyError || durationPerUseError // || lifespanError\n ) {\n this.setState({\n nameError: nameError,\n rateTypeCodeError: typeError,\n quantityError: quantityError,\n priceError: priceError,\n maxCostError: maxCostError,\n graceMinutesEntryError: graceMinutesEntryError,\n graceMinutesExitError: graceMinutesExitError,\n subProductTypeCodeError: subProductTypeCodeError,\n stepError: stepError,\n timeToBuyError: timeToBuyError,\n durationPerUseError: durationPerUseError,\n // lifespanError: lifespanError\n })\n }\n\n return {\n formData: {\n name: this.state.name,\n productTypeCode: this.props.productTypeCode,\n rateTypeCode: this.state.rateTypeCode,\n subProductTypeCode: this.state.subProductTypeCode,\n startStop: this.state.startStop,\n quantity: this.state.quantity,\n price: this.state.price,\n maxCost: this.state.maxCost,\n step: this.state.step,\n isMaxCostEmpty: this.state.maxCost == '',\n graceMinutesEntry: this.state.graceMinutesEntry,\n graceMinutesExit: this.state.graceMinutesExit,\n timeToBuy: this.state.timeToBuy,\n durationPerUse: this.state.durationPerUse,\n // lifespan: this.state.lifespan\n },\n formError: nameError || typeError || quantityError || priceError ||\n maxCostError || stepError || subProductTypeCodeError || timeToBuyError ||\n durationPerUseError // || lifespanError\n }\n }\n}\n\nRateForm.propTypes = {\n context: PropTypes.object.isRequired,\n rate: PropTypes.object,\n productTypeCode: PropTypes.string,\n showPrice: PropTypes.bool,\n readonly: PropTypes.bool,\n refReturnData: PropTypes.func.isRequired,\n onTranslateClick: PropTypes.func\n}\n\nexport default withStyles(styles)(RateForm);","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { Divider, IconButton, withStyles } from '@material-ui/core';\nimport Orange from '@material-ui/core/colors/orange';\nimport EditIcon from '@material-ui/icons/Edit';\nimport DeleteIcon from '@material-ui/icons/Delete';\nimport CommentDocument from './CommentDocument';\nimport { toDateObjectFromJson, toDateTimeString } from '../../../_helpers/dateConvert';\nimport translate from '../../../locales';\n\nconst __t = translate;\n\nconst styles = () => ({\n container: {\n borderRadius: '5px',\n \"-webkit-box-shadow\": \"5px 5px 15px rgba(0,0,0,0.4)\",\n \"-moz-box-shadow\": \"5px 5px 15px rgba(0,0,0,0.4)\",\n margin: '10px 10px 15px',\n paddingBottom: '5px',\n border: '1px solid orange'\n },\n header: {\n display: 'flex',\n alignItems: 'center',\n padding: '0px 20px',\n backgroundColor: Orange[100]\n },\n body: {\n padding: '10px 30px'\n },\n font: {\n fontSize: '0.9em'\n },\n date: {\n marginLeft: '15px'\n },\n documentsContainer: {\n display: 'flex',\n alignItems: 'center',\n margin: '0px 30px 10px',\n flexWrap: 'wrap'\n },\n documentText: {\n marginLeft: '5px',\n textDecoration: 'underline'\n },\n document: {\n display: 'flex',\n alignItems: 'center',\n marginRight: '20px',\n border: '1px solid black',\n padding: '5px 10px',\n '&:hover': {\n cursor: 'pointer'\n },\n fontSize: '12px'\n },\n invisible: {\n visibility: 'hidden'\n }\n})\n\nconst Comment = (props) => {\n const { comment, onEdit, onDelete, classes } = props;\n\n return (\n
\n
\n

{comment.userEmail}

\n
{toDateTimeString(toDateObjectFromJson(comment.insDate, 'datetime'))}
\n {comment.lastUpdDate !== comment.insDate &&\n
\n {__t('last_update')}: {toDateTimeString(toDateObjectFromJson(comment.lastUpdDate, 'datetime'))}\n
\n }\n
\n onEdit(comment)}>\n \n \n onDelete(comment)}>\n \n \n
\n \n
\n {comment.text && comment.text.split('\\n').map((t, i) =>\n
\n {t}\n
\n )}\n
\n {comment.documents && comment.documents.length > 0 &&\n
\n {comment.documents.map((d, i) =>\n
\n \n
\n )}\n
\n }\n
\n );\n}\n\nComment.propTypes = {\n comment: PropTypes.object.isRequired,\n onEdit: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n onDelete: PropTypes.oneOfType([PropTypes.bool, PropTypes.func])\n}\n\nexport default withStyles(styles)(Comment);","import { MenuItem, Select, withStyles } from '@material-ui/core';\nimport _ from 'lodash';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport { connect } from 'react-redux';\nimport { commentsActions, COMMENTS_SET_MODAL_OPEN } from '../../../actions/commentsActions';\nimport { ratesActions } from '../../../actions/ratesActions';\nimport translate from '../../../locales';\nimport { styleWithCommonClasses } from '../../../_constants/emparkConstants';\nimport CommentDialog from '../../Dialogs/CommentDialog';\nimport ErrorDialog from '../../Dialogs/ErrorDialog';\nimport TitleToolbar from '../../Forms/TitleToolbar';\nimport LoadingPaper from '../../LoadingPaper';\nimport ConfirmDialog from './../../Dialogs/ConfirmDialog';\nimport Comment from './Comment';\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n containerButtons: {\n display: 'flex',\n padding: '5px 15px',\n alignItems: 'center'\n },\n select: {\n marginLeft: '20px'\n }\n});\n\nconst CommentsBoard = (props) => {\n const [order, setOrder] = useState('n');\n const [modalConfirm, setModalConfirm] = useState({\n open: false,\n id: null\n });\n const [commentEdit, setCommentEdit] = useState(null);\n\n useEffect(() => {\n props.getComments(props.rate.id);\n\n return () => {\n\n }\n }, [])\n\n const { loading, error, userRole, classes } = props;\n\n if (loading) {\n return ()\n }\n\n\n const comments = _.orderBy(props.comments, ['insDate'], [(order === 'o' ? 'asc' : 'desc')]);\n\n /* Events */\n const submitComment = (data) => {\n let comment = commentEdit;\n if (!commentEdit) {\n comment = data;\n comment.id = null;\n }\n else {\n comment = {\n ...comment,\n ...data\n }\n }\n\n props.sendComment(props.rate.id, comment);\n }\n\n return (\n
\n props.setError(null)}\n />\n props.setModalOpen(false)}\n />\n {\n if (action === 'ok') {\n props.deleteComment(props.rate.id, modalConfirm.id);\n }\n\n setModalConfirm({\n open: false,\n id: null\n })\n }}\n />\n setOrder(e.target.value)}\n >\n {__t('oldest_first')}\n {__t('newest_first')}\n \n }\n onAdd={() => {\n setCommentEdit(null);\n props.setModalOpen(true);\n }}\n >\n {comments.length > 0 ?\n comments.map((c, i) =>\n {\n setCommentEdit(comment);\n props.setModalOpen(true);\n })}\n onDelete={userRole.userId === c.userId && ((comment) => {\n setModalConfirm({\n open: true,\n id: comment.id\n })\n })}\n />\n )\n :\n

{__t('no_comments')}

\n }\n \n\n
\n )\n}\n\nfunction mapStateToProps(state) {\n return {\n comments: state.commentsReducer.comments,\n loading: state.commentsReducer.loading,\n error: state.commentsReducer.error,\n userRole: state.usersReducer.userRole,\n modalOpen: state.commentsReducer.modalOpen\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n getComments: (rateId) => {\n dispatch(commentsActions.fetchComments(rateId))\n },\n sendComment: (rateId, comment) => {\n dispatch(commentsActions.sendComment(rateId, comment))\n },\n changeTabDisplay: (tabDisplay) => {\n dispatch(ratesActions.setTabDisplay(tabDisplay))\n },\n setError: (error) => {\n dispatch(commentsActions.setError(error))\n },\n setModalOpen: (open) => {\n dispatch({\n type: COMMENTS_SET_MODAL_OPEN,\n payload: {\n modalOpen: open\n }\n })\n },\n deleteComment: (rateId, commentId) => {\n dispatch(commentsActions.deleteComment(rateId, commentId));\n }\n }\n}\n\nCommentsBoard.propTypes = {\n rate: PropTypes.object.isRequired\n}\n\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(CommentsBoard));","import {\n FormControlLabel,\n Paper, Select, Switch, withStyles\n} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport { connect } from 'react-redux';\nimport { contextsActions } from '../../../actions/contextsActions';\nimport { disallowedPeriodsActions } from '../../../actions/disallowedPeriodsActions';\nimport { municipalitiesActions } from '../../../actions/municipalitiesActions';\nimport { ratesActions } from '../../../actions/ratesActions';\nimport translate from '../../../locales';\nimport {\n APP_CLAIMS, freeDayReference, hasPermission, pageModes, productTypes, styleWithCommonClasses,\n tabDisplays\n} from '../../../_constants/emparkConstants';\nimport { toDateObjectFromJson, toDateString } from '../../../_helpers/dateConvert';\nimport ConfirmDialog from '../../Dialogs/ConfirmDialog';\nimport ErrorDialog from '../../Dialogs/ErrorDialog';\nimport LoadingPaper from '../../LoadingPaper';\nimport EMTable from '../../Tables/EMTable';\n\n\n\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses();\n\nconst DisallowedPeriodsTablePage = props => {\n const [confirmModal, setConfirmModal] = useState(false);\n\n /* Events */\n const handleDelete = (disallowedPeriod) => {\n props.deleteDisallowedPeriod(props.reference, props.referenceId, disallowedPeriod.id);\n }\n\n const onEditAndDeleteCondition = disallowedPeriod => {\n let isEditable = true;\n\n if (props.reference === freeDayReference.context) {\n isEditable = disallowedPeriod.contextId != null;\n }\n else if (props.reference === freeDayReference.rate) {\n isEditable = disallowedPeriod.rateId != null;\n }\n\n return isEditable;\n }\n\n /* Render */\n const { classes, reference, isOverwrite } = props;\n\n if (props.loading)\n return (\n \n )\n\n let disallowedPeriods = [];\n if (reference === freeDayReference.municipality)\n disallowedPeriods = props.disallowedPeriods.municipality;\n else if (reference === freeDayReference.context)\n disallowedPeriods = props.disallowedPeriods.context;\n else\n disallowedPeriods = props.disallowedPeriods.rate;\n\n const rowsDisallowedPeriodsTable = [\n {\n id: 'fromDate', align: 'center', disablePadding: false, label: `${__t('valid_from')} ${__t('inclusive_helper')}`, formatter: function (value) {\n return toDateString(toDateObjectFromJson(value))\n }\n },\n {\n id: 'toDate', align: 'center', disablePadding: false, label: `${__t('valid_to')} ${__t('exclusive_helper')}`, formatter: function (value) {\n return toDateString(toDateObjectFromJson(value))\n }\n },\n ];\n\n const isPrebooks = props.productTypeCode == productTypes.prebooks;\n\n return (\n \n\n props.setError(null)}\n />\n {\n setConfirmModal(false);\n\n if (action == 'ok') {\n props.updateOverwrite(props.referenceId, !isOverwrite);\n }\n }}\n />\n {\n props.changeTabDisplay(props.reference, tabDisplays.secondary);\n props.changeMode(pageModes.add);\n })}\n onEdit={(disallowedPeriod) => {\n props.changeTabDisplay(props.reference, tabDisplays.secondary);\n props.changeMode(pageModes.edit, disallowedPeriod.id);\n }}\n onEditCondition={(disallowedPeriod) => !isPrebooks && hasPermission(props.userRole, APP_CLAIMS.DIS_E) && (reference === freeDayReference.municipality || isOverwrite) && onEditAndDeleteCondition(disallowedPeriod)}\n onDelete={handleDelete}\n onDeleteCondition={(disallowedPeriod) => !isPrebooks && hasPermission(props.userRole, APP_CLAIMS.DIS_D) && (reference === freeDayReference.municipality || isOverwrite) && onEditAndDeleteCondition(disallowedPeriod)}\n filterComponent={typeof isOverwrite === 'undefined' || isPrebooks ?\n null\n :\n setConfirmModal(true)}\n disabled={!hasPermission(props.userRole, APP_CLAIMS.DIS_C)}\n />\n }\n label={__t('apply_exception')}\n />\n }\n />\n \n )\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.disallowedPeriodsReducer.router,\n disallowedPeriods: state.disallowedPeriodsReducer.disallowedPeriods,\n reference: state.disallowedPeriodsReducer.reference,\n referenceId: state.disallowedPeriodsReducer.referenceId,\n error: state.disallowedPeriodsReducer.error,\n userRole: state.usersReducer.userRole,\n loading: state.disallowedPeriodsReducer.loading,\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n deleteDisallowedPeriod: (reference, referenceId, freeDayId) => {\n dispatch(disallowedPeriodsActions.deleteDisallowedPeriod(reference, referenceId, freeDayId))\n },\n changeMode: (mode, id) => {\n dispatch(disallowedPeriodsActions.changeMode(mode, id))\n },\n changeTabDisplay: (reference, tabDisplay) => {\n if (reference === freeDayReference.municipality)\n dispatch(municipalitiesActions.setTabDisplay(tabDisplay))\n else if (reference === freeDayReference.context)\n dispatch(contextsActions.setTabDisplay(tabDisplay))\n else\n dispatch(ratesActions.setTabDisplay(tabDisplay))\n },\n setError: (error) => {\n dispatch(disallowedPeriodsActions.setError(error))\n },\n updateOverwrite: (rateId, isOverwrite) => {\n dispatch(ratesActions.updateOverwrite(rateId, false, isOverwrite));\n }\n }\n}\n\nDisallowedPeriodsTablePage.propTypes = {\n reference: PropTypes.string,\n referenceId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n router: PropTypes.object,\n specialdays: PropTypes.array,\n error: PropTypes.string,\n fetchDisallowedPeriods: PropTypes.func,\n changeMode: PropTypes.func,\n isOverwrite: PropTypes.bool\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(DisallowedPeriodsTablePage));","import React from 'react';\nimport { connect } from 'react-redux';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { disallowedPeriodsActions } from '../../../actions/disallowedPeriodsActions';\n\nimport {\n Paper,\n Modal,\n CircularProgress,\n withStyles\n} from '@material-ui/core';\n\nimport {\n pageModes,\n freeDayReference,\n styleWithCommonClasses,\n tabDisplays,\n productTypes\n} from '../../../_constants/emparkConstants'\n\nimport TitleToolbar from '../../Forms/TitleToolbar';\n\nimport translate from '../../../locales';\nimport PeriodForm from '../../Forms/PeriodForm';\nimport { toDateJsonString } from '../../../_helpers/dateConvert';\nimport { municipalitiesActions } from '../../../actions/municipalitiesActions';\nimport { contextsActions } from '../../../actions/contextsActions';\nimport { ratesActions } from '../../../actions/ratesActions';\nimport ErrorMessage from '../../ErrorMessage';\nimport LoadingPaper from '../../LoadingPaper';\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses();\n\nclass DisallowedPeriodDetailPage extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n disallowedPeriod: null\n }\n\n this.handleSubmit = this.handleSubmit.bind(this);\n }\n\n componentDidMount() {\n const { reference, router } = this.props;\n\n let disallowedPeriods = [];\n\n if (reference === freeDayReference.municipality)\n disallowedPeriods = this.props.disallowedPeriods.municipality;\n else if (reference === freeDayReference.context)\n disallowedPeriods = this.props.disallowedPeriods.context;\n else\n disallowedPeriods = this.props.disallowedPeriods.rate;\n\n if (router.mode !== pageModes.add) {\n this.setState({\n disallowedPeriod: disallowedPeriods.find(sp => sp.id === router.id)\n })\n }\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.router.mode !== pageModes.add && this.props != prevProps || this.props.router.mode != prevProps.router.mode) {\n const { reference } = this.props;\n let disallowedPeriods = [];\n\n if (reference === freeDayReference.municipality)\n disallowedPeriods = this.props.disallowedPeriods.municipality;\n else if (reference === freeDayReference.context)\n disallowedPeriods = this.props.disallowedPeriods.context;\n else\n disallowedPeriods = this.props.disallowedPeriods.rate;\n\n this.setState({\n disallowedPeriod: disallowedPeriods.find(sp => sp.id === this.props.router.id)\n })\n }\n }\n\n render() {\n const { classes, router, loading } = this.props;\n\n const title = router.mode === pageModes.add ? __t('create') : router.mode === pageModes.edit ? __t('edit') : __t('view');\n\n if (loading)\n return (\n \n )\n\n if (router.mode === pageModes.add || router.mode === pageModes.edit)\n return (\n \n {\n this.props.changeTabDisplay(this.props.reference, tabDisplays.index);\n this.props.changeMode(pageModes.list);\n }}\n onSave={this.handleSubmit}\n >\n this.submitForm = returnData}\n />\n \n \n \n )\n\n if (this.state.disallowedPeriod == null)\n return (\n \n \n \n )\n\n return (\n \n this.props.changeMode(pageModes.edit, this.state.disallowedPeriod.id)}\n onBack={() => {\n this.props.changeTabDisplay(this.props.reference, tabDisplays.index);\n this.props.changeMode(pageModes.list);\n }}\n >\n this.submitForm = returnData}\n readonly\n />\n \n \n )\n }\n\n handleSubmit() {\n var data = this.submitForm();\n\n let disallowedPeriod = {\n ...this.state.disallowedPeriod,\n fromDate: toDateJsonString(data.formData.fromDate),\n toDate: toDateJsonString(data.formData.toDate),\n }\n\n if (this.props.router.mode === pageModes.add) {\n if (this.props.reference === freeDayReference.municipality)\n disallowedPeriod.municipalityId = this.props.referenceId;\n else if (this.props.reference === freeDayReference.context)\n disallowedPeriod.contextId = this.props.referenceId;\n else\n disallowedPeriod.rateId = this.props.referenceId\n }\n\n this.setState({ disallowedPeriod: disallowedPeriod });\n\n if (data.formError) {\n this.props.setError(__t('error_required_fields'));\n\n return;\n }\n\n this.props.sendDisallowedPeriod(this.props.reference, this.props.referenceId, disallowedPeriod);\n };\n\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.disallowedPeriodsReducer.router,\n disallowedPeriods: state.disallowedPeriodsReducer.disallowedPeriods,\n error: state.disallowedPeriodsReducer.error,\n locale: state.locales.current,\n loading: state.disallowedPeriodsReducer.loading,\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n sendDisallowedPeriod: (reference, referenceId, disallowedPeriod) => {\n dispatch(disallowedPeriodsActions.saveDisallowedPeriod(reference, referenceId, disallowedPeriod))\n },\n changeMode: (mode, id) => {\n dispatch(disallowedPeriodsActions.changeMode(mode, id))\n },\n changeTabDisplay: (reference, tabDisplay) => {\n if (reference === freeDayReference.municipality)\n dispatch(municipalitiesActions.setTabDisplay(tabDisplay))\n else if (reference === freeDayReference.context)\n dispatch(contextsActions.setTabDisplay(tabDisplay))\n else\n dispatch(ratesActions.setTabDisplay(tabDisplay))\n },\n setError: (error) => {\n dispatch(disallowedPeriodsActions.setError(error))\n }\n }\n}\n\nDisallowedPeriodDetailPage.propTypes = {\n disallowedPeriods: PropTypes.object.isRequired,\n router: PropTypes.object,\n reference: PropTypes.string,\n referenceId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n error: PropTypes.string,\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(DisallowedPeriodDetailPage));","import React, { useEffect, useState } from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\n\nimport {\n pageModes, styleWithCommonClasses\n} from '../../../_constants/emparkConstants'\n\nimport { withStyles } from '@material-ui/core';\nimport { disallowedPeriodsActions } from '../../../actions/disallowedPeriodsActions';\n\nimport translate from '../../../locales';\nimport DisallowedPeriodsTablePage from './DisallowedPeriodsTablePage';\nimport DisallowedPeriodDetailPage from './DisallowedPeriodDetailPage';\nimport RdxDisallowedPeriodAddPage from '../../Redux/DisallowedPeriods/RdxDisallowedPeriodAddPage';\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n tabPanel: {\n backgroundColor: 'white'\n }\n});\n\nconst DisallowedPeriodsRouter = props => {\n useEffect(() => {\n props.fetchDisallowedPeriods(props.reference, props.referenceId);\n props.changeMode(pageModes.list);\n\n return () => {\n\n }\n }, []);\n\n if (props.router.mode === pageModes.list)\n return (\n \n )\n\n if (props.router.mode === pageModes.add)\n return (\n \n )\n\n return (\n \n )\n}\n\nfunction mapStateToProps(state) {\n return {\n disallowedPeriods: state.disallowedPeriodsReducer.disallowedPeriods,\n router: state.disallowedPeriodsReducer.router,\n loading: state.disallowedPeriodsReducer.loading,\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n changeMode: (mode, id) => {\n dispatch(disallowedPeriodsActions.changeMode(mode, id))\n },\n fetchDisallowedPeriods: (reference, referenceId) => {\n dispatch(disallowedPeriodsActions.fetchDisallowedPeriods(reference, referenceId));\n }\n }\n}\n\nDisallowedPeriodsRouter.propTypes = {\n reference: PropTypes.string,\n referenceId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n router: PropTypes.object,\n changeMode: PropTypes.func,\n isOverwrite: PropTypes.bool\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(DisallowedPeriodsRouter));","import React, { useState } from 'react';\nimport { Button, Grid, IconButton, withStyles } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport OutlinedTextField from '../OutlinedTextField';\nimport CloseIcon from '@material-ui/icons/Close';\n\nimport translate from '../../locales';\nconst __t = translate;\n\nconst styles = () => ({\n button: {\n marginTop:'10px'\n },\n buttonContainer: {\n textAlign:'center'\n },\n grid: {\n maxWidth:'300px'\n },\n root: {\n display:'flex',\n justifyContent:'center'\n },\n})\n\nclass CellTable extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n values: props.values && props.values.length > 0 ? props.values : ['']\n };\n\n this.handleOnClose = this.handleOnClose.bind(this);\n this.handleAddRow = this.handleAddRow.bind(this);\n this.handleChange = this.handleOnChange.bind(this);\n this.returnData = this.returnData.bind(this);\n }\n\n componentDidMount() {\n this.props.refReturnData(this.returnData);\n }\n\n render() {\n const oneElementLeft = this.state.values.length === 1;\n return(\n
\n \n {this.state.values.map((v, i) => \n [\n \n \n ,\n \n \n \n \n \n ]\n )}\n \n \n \n \n
\n )\n }\n\n /* events */\n handleOnClose(index) {\n let table = this;\n\n return function(e) {\n table.setState({values: table.state.values.filter((v, i) => i !== index)});\n }\n }\n\n\n handleAddRow() {\n this.setState({values: [...this.state.values, '']});\n }\n\n handleOnChange(index) {\n let table = this;\n\n return function(e) {\n let n = e.target.value;\n\n if(n === '' || n >= 0 && !n.includes(\".\") && !n.includes(\",\") && !n.includes(\"-\") && n.length < 6)\n table.setState({values: table.state.values.map((v, i) => i !== index ? v : e.target.value )})\n }\n }\n\n /* ref */\n returnData() {\n return this.state.values;\n }\n}\n\nCellTable.propTypes = {\n values:PropTypes.array,\n type:PropTypes.string,\n refReturnData:PropTypes.func.isRequired\n}\n\nexport default withStyles(styles)(CellTable);","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport EMTable from '../../Tables/EMTable';\nimport { ratesActions } from '../../../actions/ratesActions';\n\nimport {\n Paper,\n Modal,\n CircularProgress,\n withStyles,\n} from '@material-ui/core';\n\nimport translate from '../../../locales';\nimport { APP_CLAIMS, hasPermission, pageModes, styleWithCommonClasses, tabDisplays } from '../../../_constants/emparkConstants';\nimport TitleToolbar from '../../Forms/TitleToolbar';\nimport CellTable from '../../Tables/CellTable';\nimport ErrorMessage from '../../ErrorMessage';\nimport LoadingPaper from '../../LoadingPaper';\nimport ErrorDialog from '../../Dialogs/ErrorDialog';\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n errorText: {\n marginTop: '20px'\n }\n});\n\nclass FareSelectionPointsPage extends React.Component {\n constructor(props) {\n super(props);\n\n this.handleSaveFareSelectionPoints = this.handleSaveFareSelectionPoints.bind(this);\n }\n\n componentDidMount() {\n this.props.changeMode(pageModes.view);\n this.props.fetchFareSelectionPoints(this.props.context.id, this.props.rate.id);\n }\n\n render() {\n const { fareSelectionPoints, loading } = this.props;\n\n const rowsDaysTable = [\n { id: 'minute', align: 'center', disablePadding: false, label: __t('minute') },\n ];\n\n if (loading)\n return (\n \n )\n\n if (this.props.router.mode === pageModes.view)\n return (\n \n this.props.setError(null)}\n />\n {\n this.props.changeTabDisplay(tabDisplays.secondary)\n this.props.changeMode(pageModes.edit)\n })}\n />\n \n )\n\n return (\n \n {\n this.props.changeTabDisplay(tabDisplays.index)\n this.props.changeMode(pageModes.view)\n }}\n >\n \n { this.tableSubmit = returnData }}\n values={fareSelectionPoints.map(d => d.minute.toString())}\n type=\"number\"\n />\n \n \n )\n }\n\n /* events */\n handleSaveFareSelectionPoints() {\n const values = this.tableSubmit();\n\n let fareSelectionPoints = values\n .filter(v => v != '')\n .map((v, i) => Number(v));\n\n // if (fareSelectionPoints.length === 0) {\n // this.props.setError(__t(\"error_no_values\"))\n // return;\n // }\n\n fareSelectionPoints.sort((a, b) => a - b);\n\n this.props.sendFareSelectionPoints(this.props.context.id, this.props.rate.id, fareSelectionPoints);\n }\n}\n\nfunction mapStateToProps(state) {\n return {\n fareSelectionPoints: state.ratesReducer.fareSelectionPoints,\n loading: state.ratesReducer.fareSelectionPointsLoading,\n router: state.ratesReducer.fareSelectionPointsRouter,\n error: state.ratesReducer.fareSelectionPointsError,\n userRole: state.usersReducer.userRole\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n changeMode: (mode) => {\n dispatch(ratesActions.changeModeFareSelectionPoints(mode));\n },\n fetchFareSelectionPoints: (contextId, rateId) => {\n dispatch(ratesActions.fetchFareSelectionPoints(contextId, rateId));\n },\n sendFareSelectionPoints: (contextId, rateId, fareSelectionPoints) => {\n dispatch(ratesActions.sendFareSelectionPoints(contextId, rateId, fareSelectionPoints))\n },\n setError: (error) => {\n dispatch(ratesActions.setErrorFareSelectionPoint(error))\n },\n changeTabDisplay: (tabDisplay) => {\n dispatch(ratesActions.setTabDisplay(tabDisplay))\n }\n }\n}\n\nFareSelectionPointsPage.propTypes = {\n context: PropTypes.object.isRequired,\n rate: PropTypes.object.isRequired,\n fareSelectionPoints: PropTypes.array,\n loading: PropTypes.bool,\n mode: PropTypes.string,\n error: PropTypes.string,\n changeMode: PropTypes.func,\n fetchDays: PropTypes.func,\n sendFareSelectionPoints: PropTypes.func,\n setError: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(FareSelectionPointsPage));","import {\n Button, Paper, withStyles\n} from '@material-ui/core';\nimport CloseIcon from '@material-ui/icons/Close';\nimport MaterialTable from 'material-table';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport DatePicker from \"react-datepicker\";\nimport { connect } from 'react-redux';\nimport { contextsActions } from '../../../actions/contextsActions';\nimport { freeDaysActions } from '../../../actions/freeDaysActions';\nimport translate from '../../../locales';\nimport {\n freeDayReference,\n pageModes,\n styleWithCommonClasses,\n tabDisplays\n} from '../../../_constants/emparkConstants';\nimport { isTextFromExcel, parsePasteFromExcel } from '../../../_helpers/utility';\nimport OutlinedTextField from '../../OutlinedTextField';\nimport moment from 'moment';\nimport TitleToolbar from '../../Forms/TitleToolbar';\nimport { toDateJsonString, validateDate } from '../../../_helpers/dateConvert';\nimport { generalActions } from '../../../actions/generalActions';\nimport LoadingPaper from '../../LoadingPaper';\nimport ErrorMessage from '../../ErrorMessage';\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses();\n\nconst FreeDayAddPage = (props) => {\n const [data, setData] = useState([{ dayDate: '', name: '' }]);\n\n const setValue = (cellType, iRow, value) => {\n setData(data.map((d, i) => {\n if (i != iRow) return d;\n\n if (cellType == 'name')\n return { ...d, name: value }\n\n return { ...d, dayDate: value }\n }));\n }\n\n const addRow = () => {\n setData([...data, { dayDate: '', name: '' }])\n }\n\n const deleteRow = (iRow) => {\n setData(data.filter((d, i) => iRow != i));\n }\n\n const pasteOnCell = (event, cellType, iRow, text) => {\n if (!text)\n return;\n\n if (!isTextFromExcel(text)) {\n return;\n }\n\n const parsedText = parsePasteFromExcel(text);\n if (parsedText.length > 2 || (cellType == 'name' && parsedText.length > 1))\n return;\n\n let newData = [...data];\n if (cellType == 'name') {\n if (parsedText[0].length == 1)\n return;\n\n parsedText[0].forEach((t, i) => {\n if (iRow + i < data.length) {\n newData[iRow + i].name = t;\n }\n else {\n newData.push({ dayDate: '', name: t })\n }\n });\n\n setData(newData);\n\n event.preventDefault();\n } else {\n /* validate dates */\n if (parsedText[0].some(t => !validateDate(t, 'DD/MM/YYYY'))) {\n props.showToastError(__t('err_invalid_dates'));\n\n event.preventDefault();\n return;\n }\n\n if (parsedText.length == 2) {\n const rows = parsedText[0].length;\n for (let i = 0; i < rows; i++) {\n if (iRow + i < data.length) {\n newData[iRow + i].dayDate = moment(parsedText[0][i], 'DD/MM/YYYY', true).toDate();\n newData[iRow + i].name = parsedText[1][i];\n }\n else {\n newData.push({ dayDate: moment(parsedText[0][i], 'DD/MM/YYYY', true).toDate(), name: parsedText[1][i] })\n }\n }\n\n setData(newData);\n\n event.preventDefault();\n }\n else {\n if (parsedText[0].length == 1)\n return;\n\n parsedText[0].forEach((t, i) => {\n if (iRow + i < data.length) {\n newData[iRow + i].dayDate = moment(t, 'DD/MM/YYYY', true).toDate();\n }\n else {\n newData.push({ dayDate: moment(t, 'DD/MM/YYYY', true).toDate(), name: '' })\n }\n });\n\n setData(newData);\n\n event.preventDefault();\n }\n }\n }\n\n const onSubmit = () => {\n /* validate if empty fields */\n if (data.length == 0 || data.some(d => d.dayDate == '' || d.name == '')) {\n props.showToastError(__t('error_no_values'));\n return;\n }\n\n /* validate dates */\n if (data.some(d => !validateDate(d.dayDate, 'DD/MM/YYYY'))) {\n props.showToastError(__t('err_invalid_dates'));\n return;\n }\n\n /* validate duplicates */\n let setDayDate = new Set(data.map(d => toDateJsonString(d.dayDate)));\n if (setDayDate.size != data.length) {\n props.showToastError(__t('error_duplicate_values'))\n return;\n }\n\n /* send free days */\n props.sendFreeDays(props.reference, props.referenceId, data.map(d => ({ dayDate: toDateJsonString(d.dayDate), name: d.name })));\n }\n\n const onCancel = () => {\n props.changeTabDisplay(tabDisplays.index);\n props.changeMode(pageModes.list);\n }\n\n if (props.loading)\n return (\n \n )\n\n return (\n \n \n \n
\n \n
\n {\n setValue('date', rowData.tableData.id, date);\n }}\n customInput={\n pasteOnCell(e, 'date', rowData.tableData.id, e.clipboardData.getData('Text'))}\n // error={this.state.dayDateError}\n />\n }\n readOnly={props.readonly}\n />\n
\n },\n {\n title: __t('name'),\n field: 'name',\n headerStyle: { pointerEvents: \"none\", color: \"black\", fontSize: \"0.94em\", zIndex: 0 },\n render: rowData =>\n
\n setValue('name', rowData.tableData.id, e.target.value)}\n inputProps={{ maxLength: 25, className: props.classes.upperCase }}\n disabled={props.readonly}\n onPaste={(e) => pasteOnCell(e, 'name', rowData.tableData.id, e.clipboardData.getData('Text'))}\n />\n
\n }\n ]}\n options={{\n search: false,\n paging: false,\n toolbar: false,\n actionsColumnIndex: -1\n }}\n actions={[\n {\n icon: () => ,\n tooltip: __t('delete'),\n onClick: (event, rowData) => deleteRow(rowData.tableData.id)\n },\n ]}\n data={data}\n localization={{\n header: {\n actions: ''\n },\n body: {\n emptyDataSourceMessage: '',\n }\n }}\n />\n
\n\n \n \n \n )\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.freeDaysReducer.router,\n freeDays: state.freeDaysReducer.freeDays.context,\n error: state.freeDaysReducer.error,\n locale: state.locales.current,\n loading: state.freeDaysReducer.loading,\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n sendFreeDays: (reference, referenceId, freeDays) => {\n dispatch(freeDaysActions.saveFreeDays(reference, referenceId, freeDays))\n },\n changeMode: (mode, id) => {\n dispatch(freeDaysActions.changeMode(mode, id))\n },\n changeTabDisplay: (tabDisplay) => {\n dispatch(contextsActions.setTabDisplay(tabDisplay))\n },\n showToastError: (msg) => {\n dispatch(generalActions.showToastError(msg))\n }\n }\n}\n\nFreeDayAddPage.propTypes = {\n freeDays: PropTypes.array.isRequired,\n router: PropTypes.object,\n referenceId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n error: PropTypes.string,\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(FreeDayAddPage));","import React from 'react';\nimport { connect } from 'react-redux';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { freeDaysActions } from '../../../actions/freeDaysActions';\n\nimport {\n Paper,\n Modal,\n CircularProgress,\n withStyles\n} from '@material-ui/core';\n\nimport {\n pageModes,\n freeDayReference,\n styleWithCommonClasses,\n tabDisplays\n} from '../../../_constants/emparkConstants'\n\nimport TitleToolbar from '../../Forms/TitleToolbar';\n\nimport translate from '../../../locales';\nimport FreeDayForm from '../../Forms/FreeDayForm';\nimport { toDateJsonString, toDateString } from '../../../_helpers/dateConvert';\nimport { municipalitiesActions } from '../../../actions/municipalitiesActions';\nimport { contextsActions } from '../../../actions/contextsActions';\nimport { ratesActions } from '../../../actions/ratesActions';\nimport ErrorMessage from '../../ErrorMessage';\nimport LoadingPaper from '../../LoadingPaper';\n\n\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses();\n\nclass FreeDayDetailPage extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n freeDay: null\n }\n\n this.handleSubmit = this.handleSubmit.bind(this);\n }\n\n componentDidMount() {\n const { reference, router } = this.props;\n\n let freeDays = [];\n\n if (reference === freeDayReference.municipality)\n freeDays = this.props.freeDays.municipality;\n else if (reference === freeDayReference.context)\n freeDays = this.props.freeDays.context;\n else\n freeDays = this.props.freeDays.rate;\n\n if (router.mode !== pageModes.add) {\n this.setState({\n freeDay: freeDays.find(sp => sp.id === router.id)\n })\n }\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.router.mode !== pageModes.add && this.props != prevProps || this.props.router.mode != prevProps.router.mode) {\n const { reference } = this.props;\n let freeDays = [];\n\n if (reference === freeDayReference.municipality)\n freeDays = this.props.freeDays.municipality;\n else if (reference === freeDayReference.context)\n freeDays = this.props.freeDays.context;\n else\n freeDays = this.props.freeDays.rate;\n\n this.setState({\n freeDay: freeDays.find(sp => sp.id === this.props.router.id)\n })\n }\n }\n\n render() {\n const { classes, router, loading } = this.props;\n\n const title = router.mode === pageModes.add ? __t('create') : router.mode === pageModes.edit ? __t('edit') : __t('view');\n\n if (loading)\n return (\n \n )\n\n if (router.mode === pageModes.add || router.mode === pageModes.edit)\n return (\n \n {\n this.props.changeTabDisplay(this.props.reference, tabDisplays.index);\n this.props.changeMode(pageModes.list);\n }}\n onSave={this.handleSubmit}\n >\n this.submitForm = returnData}\n />\n \n \n \n )\n\n if (this.state.freeDay == null)\n return (\n \n \n \n )\n\n return (\n \n this.props.changeMode(pageModes.edit, this.state.freeDay.id)}\n onBack={() => {\n this.props.changeTabDisplay(this.props.reference, tabDisplays.index);\n this.props.changeMode(pageModes.list);\n }}\n >\n this.submitForm = returnData}\n readonly\n />\n \n \n )\n }\n\n handleSubmit() {\n var data = this.submitForm();\n\n let freeDay = {\n ...this.state.freeDay,\n name: data.formData.name,\n dayDate: toDateJsonString(data.formData.dayDate)\n }\n\n if (this.props.router.mode === pageModes.add) {\n if (this.props.reference === freeDayReference.municipality)\n freeDay.municipalityId = this.props.referenceId;\n else if (this.props.reference === freeDayReference.context)\n freeDay.contextId = this.props.referenceId;\n else\n freeDay.rateId = this.props.referenceId\n }\n\n this.setState({ freeDay: freeDay });\n\n if (data.formError) {\n this.props.setError(__t('error_required_fields'));\n\n return;\n }\n\n this.props.sendFreeDay(this.props.reference, this.props.referenceId, freeDay);\n };\n\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.freeDaysReducer.router,\n freeDays: state.freeDaysReducer.freeDays,\n error: state.freeDaysReducer.error,\n locale: state.locales.current,\n loading: state.freeDaysReducer.loading,\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n sendFreeDay: (reference, referenceId, freeDay) => {\n dispatch(freeDaysActions.saveFreeDay(reference, referenceId, freeDay))\n },\n changeMode: (mode, id) => {\n dispatch(freeDaysActions.changeMode(mode, id))\n },\n changeTabDisplay: (reference, tabDisplay) => {\n if (reference === freeDayReference.municipality)\n dispatch(municipalitiesActions.setTabDisplay(tabDisplay))\n else if (reference === freeDayReference.context)\n dispatch(contextsActions.setTabDisplay(tabDisplay))\n else\n dispatch(ratesActions.setTabDisplay(tabDisplay))\n },\n setError: (error) => {\n dispatch(freeDaysActions.setError(error))\n }\n }\n}\n\nFreeDayDetailPage.propTypes = {\n freeDays: PropTypes.object.isRequired,\n router: PropTypes.object,\n reference: PropTypes.string,\n referenceId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n error: PropTypes.string,\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(FreeDayDetailPage));","import {\n FormControlLabel, MenuItem, Paper, Select, Switch, withStyles\n} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport { connect } from 'react-redux';\nimport { contextsActions } from '../../../actions/contextsActions';\nimport { freeDaysActions } from '../../../actions/freeDaysActions';\nimport { municipalitiesActions } from '../../../actions/municipalitiesActions';\nimport { ratesActions } from '../../../actions/ratesActions';\nimport translate from '../../../locales';\nimport {\n APP_CLAIMS, freeDayReference, hasPermission, pageModes, styleWithCommonClasses,\n tabDisplays\n} from '../../../_constants/emparkConstants';\nimport { toDateObjectFromJson, toDateString } from '../../../_helpers/dateConvert';\nimport ConfirmDialog from '../../Dialogs/ConfirmDialog';\nimport ErrorDialog from '../../Dialogs/ErrorDialog';\nimport LoadingPaper from '../../LoadingPaper';\nimport EMTable from '../../Tables/EMTable';\n\n\n\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n select: {\n width: '200px',\n }\n});\n\nconst FreeDaysTablePage = props => {\n const [year, setYear] = useState(new Date().getFullYear())\n const [confirmModal, setConfirmModal] = useState(false);\n\n /* Events */\n const handleDelete = (freeDay) => {\n props.deleteFreeDay(props.reference, props.referenceId, freeDay.id);\n }\n\n const onEditAndDeleteCondition = freeDay => {\n let isEditable = true;\n if (props.reference === freeDayReference.context) {\n isEditable = freeDay.contextId != null;\n }\n else if (props.reference === freeDayReference.rate) {\n isEditable = freeDay.rateId != null;\n }\n\n return isEditable;\n }\n\n /* Render */\n const { loading, classes, reference, isOverwrite } = props;\n\n if (props.loading)\n return (\n \n )\n\n let freeDays = [];\n if (reference === freeDayReference.municipality)\n freeDays = props.freeDays.municipality;\n else if (reference === freeDayReference.context)\n freeDays = props.freeDays.context;\n else\n freeDays = props.freeDays.rate;\n\n const rowsFreeDaysTable = [\n {\n id: 'dayDate', align: 'center', disablePadding: false, label: __t('date'), formatter: function (value) {\n return toDateString(toDateObjectFromJson(value))\n }\n },\n { id: 'name', align: 'center', disablePadding: false, label: __t('name') },\n ];\n\n let lstYears = [year];\n freeDays.forEach(f => {\n let y = toDateObjectFromJson(f.dayDate).getFullYear();\n\n if (!lstYears.find(ys => y === ys))\n lstYears.push(y);\n });\n\n lstYears = lstYears.sort((a, b) => b - a);\n\n freeDays = freeDays.filter(f => toDateObjectFromJson(f.dayDate).getFullYear() === year)\n\n return (\n \n props.setError(null)}\n />\n {\n setConfirmModal(false);\n\n if (action == 'ok') {\n props.updateOverwrite(props.referenceId, !isOverwrite);\n }\n }}\n />\n {\n props.changeTabDisplay(props.reference, tabDisplays.secondary);\n props.changeMode(pageModes.add);\n })}\n onEdit={(freeDay) => {\n props.changeTabDisplay(props.reference, tabDisplays.secondary);\n props.changeMode(pageModes.edit, freeDay.id);\n }}\n onEditCondition={(freeDay) => hasPermission(props.userRole, APP_CLAIMS.FREE_E) && (reference === freeDayReference.municipality || isOverwrite) && onEditAndDeleteCondition(freeDay)}\n onDelete={handleDelete}\n onDeleteCondition={(freeDay) => hasPermission(props.userRole, APP_CLAIMS.FREE_D) && (reference === freeDayReference.municipality || isOverwrite) && onEditAndDeleteCondition(freeDay)}\n filterComponent={typeof isOverwrite !== 'undefined' ?\n
\n {\n setYear(Number(e.target.value))\n }}\n inputProps={{ style: { paddingLeft: '15px' } }}>\n {lstYears.map((y, i) =>\n {y}\n )}\n \n
\n setConfirmModal(true)}\n />\n }\n label={__t('apply_exception')}\n disabled={!hasPermission(props.userRole, APP_CLAIMS.FREE_C)}\n />\n
\n :\n {\n setYear(Number(e.target.value))\n }}\n inputProps={{ style: { paddingLeft: '15px' } }}>\n {lstYears.map((y, i) =>\n {y}\n )}\n \n }\n />\n \n )\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.freeDaysReducer.router,\n freeDays: state.freeDaysReducer.freeDays,\n reference: state.freeDaysReducer.reference,\n referenceId: state.freeDaysReducer.referenceId,\n loading: state.freeDaysReducer.loading,\n error: state.freeDaysReducer.error,\n userRole: state.usersReducer.userRole\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n deleteFreeDay: (reference, referenceId, freeDayId) => {\n dispatch(freeDaysActions.deleteFreeDay(reference, referenceId, freeDayId))\n },\n changeMode: (mode, id) => {\n dispatch(freeDaysActions.changeMode(mode, id))\n },\n changeTabDisplay: (reference, tabDisplay) => {\n if (reference === freeDayReference.municipality)\n dispatch(municipalitiesActions.setTabDisplay(tabDisplay))\n else if (reference === freeDayReference.context)\n dispatch(contextsActions.setTabDisplay(tabDisplay))\n else\n dispatch(ratesActions.setTabDisplay(tabDisplay))\n },\n setError: (error) => {\n dispatch(freeDaysActions.setError(error))\n },\n updateOverwrite: (rateId, isOverwrite) => {\n dispatch(ratesActions.updateOverwrite(rateId, true, isOverwrite));\n }\n }\n}\n\nFreeDaysTablePage.propTypes = {\n reference: PropTypes.string,\n referenceId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n router: PropTypes.object,\n specialdays: PropTypes.array,\n loading: PropTypes.bool,\n error: PropTypes.string,\n fetchFreeDays: PropTypes.func,\n changeMode: PropTypes.func,\n isOverwrite: PropTypes.bool\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(FreeDaysTablePage));","import { withStyles } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\nimport { connect } from 'react-redux';\nimport { freeDaysActions } from '../../../actions/freeDaysActions';\nimport translate from '../../../locales';\nimport {\n pageModes, styleWithCommonClasses\n} from '../../../_constants/emparkConstants';\nimport FreeDayAddPage from './FreeDayAddPage';\nimport FreeDayDetailPage from './FreeDayDetailPage';\nimport FreeDaysTablePage from './FreeDaysTablePage';\n\n\n\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n tabPanel: {\n backgroundColor: 'white'\n }\n});\n\nconst FreeDaysRouter = props => {\n useEffect(() => {\n props.fetchFreeDays(props.reference, props.referenceId);\n props.changeMode(pageModes.list);\n\n return () => {\n\n }\n }, []);\n\n if (props.router.mode === pageModes.list)\n return (\n \n )\n\n if (props.router.mode === pageModes.add)\n return (\n \n )\n\n return (\n \n )\n}\n\nfunction mapStateToProps(state) {\n return {\n freeDays: state.freeDaysReducer.freeDays,\n router: state.freeDaysReducer.router,\n loading: state.freeDaysReducer.loading,\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n changeMode: (mode, id) => {\n dispatch(freeDaysActions.changeMode(mode, id))\n },\n fetchFreeDays: (reference, referenceId) => {\n dispatch(freeDaysActions.fetchFreeDays(reference, referenceId));\n }\n }\n}\n\nFreeDaysRouter.propTypes = {\n reference: PropTypes.string,\n referenceId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n router: PropTypes.object,\n changeMode: PropTypes.func,\n isOverwrite: PropTypes.bool\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(FreeDaysRouter));","import {\n Paper, withStyles\n} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { periodsActions } from '../../../actions/periodsActions';\nimport { ratesActions } from '../../../actions/ratesActions';\nimport translate from '../../../locales';\nimport {\n APP_CLAIMS,\n hasPermission,\n pageModes,\n productTypes,\n roundToDecimalAsString,\n styleWithCommonClasses,\n tabDisplays\n} from '../../../_constants/emparkConstants';\nimport { toDateObjectFromJson, toDateString } from '../../../_helpers/dateConvert';\nimport ErrorDialog from '../../Dialogs/ErrorDialog';\nimport LoadingPaper from '../../LoadingPaper';\nimport EMTable from '../../Tables/EMTable';\n\n\n\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses();\n\nconst PeriodsTablePage = props => {\n /* Events */\n const handleDelete = (period) => {\n props.deletePeriod(props.rate.id, period.id);\n }\n\n /* Render */\n const { context, rate, periods, classes } = props;\n\n const rowsPeriodsTable = !context.onStreet && rate.productTypeCode !== productTypes.rotation ?\n [\n {\n id: 'fromDate', align: 'center', disablePadding: false, label: `${__t('valid_from')} ${__t('inclusive_helper')}`, formatter: function (value) {\n return toDateString(toDateObjectFromJson(value))\n }\n },\n {\n id: 'toDate', align: 'center', disablePadding: false, label: `${__t('valid_to')} ${__t('exclusive_helper')}`, formatter: function (value) {\n return toDateString(toDateObjectFromJson(value))\n }\n },\n {\n id: 'price', align: 'center', disablePadding: false, label: __t('price') + \" \" + __t('money_helper'), formatter: function (value) {\n return
{value ? roundToDecimalAsString(value, 2) : \"0,00\"}
\n }\n },\n ]\n :\n [\n {\n id: 'fromDate', align: 'center', disablePadding: false, label: `${__t('valid_from')} ${__t('inclusive_helper')}`, formatter: function (value) {\n return toDateString(toDateObjectFromJson(value))\n }\n },\n {\n id: 'toDate', align: 'center', disablePadding: false, label: `${__t('valid_to')} ${__t('exclusive_helper')}`, formatter: function (value) {\n return toDateString(toDateObjectFromJson(value))\n }\n },\n ];\n\n if (props.loading)\n return (\n \n )\n\n const isOffStreetPrebook = !context.onStreet && rate.productTypeCode == productTypes.prebooks;\n\n return (\n
\n \n props.setError(null)}\n />\n {\n props.changeTabDisplay(tabDisplays.secondary)\n props.changeMode(pageModes.add)\n })}\n onView={(period) => {\n props.changeTabDisplay(tabDisplays.secondary)\n props.changeMode(pageModes.view, period.id)\n }}\n onDelete={handleDelete}\n onDeleteCondition={() => hasPermission(props.userRole, APP_CLAIMS.PRD_D) && !isOffStreetPrebook}\n />\n \n
\n )\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.periodsReducer.router,\n periods: state.periodsReducer.periods,\n error: state.periodsReducer.error,\n userRole: state.usersReducer.userRole,\n loading: state.periodsReducer.loading\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n deletePeriod: (rateId, periodId) => {\n dispatch(periodsActions.deletePeriod(rateId, periodId))\n },\n changeMode: (mode, id) => {\n dispatch(periodsActions.changeMode(mode, id))\n },\n changeTabDisplay: (tabDisplay) => {\n dispatch(ratesActions.setTabDisplay(tabDisplay))\n },\n setError: (error) => {\n dispatch(periodsActions.setError(error))\n }\n }\n}\n\nPeriodsTablePage.propTypes = {\n context: PropTypes.object.isRequired,\n rate: PropTypes.object.isRequired,\n periods: PropTypes.array,\n router: PropTypes.object,\n error: PropTypes.string,\n changeMode: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(PeriodsTablePage));","import { Button, Modal, Paper, withStyles } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport translate from '../../locales';\nimport ErrorMessage from '../ErrorMessage';\n\nconst __t = translate;\n\nconst styles = () => ({\n button: {\n marginTop: '30px'\n },\n modal: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\"\n },\n paper: {\n width: '500px',\n textAlign: \"center\",\n padding: '20px 10px',\n outline: \"none\"\n }\n})\n\nconst ErrorPeriodPositionOverlap = props => {\n\n if (!props.error)\n return (\n null\n )\n\n const { classes } = props;\n\n return (\n \n \n \n {props.error.positions.map((p, i) =>\n
\n {__t('rate')} 1 {p.rateName1}   \n {__t('period')} 1 {p.periodName1}   \n {__t('rate')} 2 {p.rateName2}   \n {__t('period')} 2 {p.periodName2}   \n {__t('position')} {p.positionName}\n
\n )}\n\n \n
\n
\n )\n}\n\nErrorPeriodPositionOverlap.propTypes = {\n error: PropTypes.object,\n onOkClick: PropTypes.func\n}\n\n\nexport default withStyles(styles)(ErrorPeriodPositionOverlap);\n\n","import {\n CircularProgress,\n Paper, Switch, withStyles\n} from '@material-ui/core';\nimport { TreeState, TreeTable } from 'cp-react-tree-table';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { periodsActions } from '../../../actions/periodsActions';\nimport translate from '../../../locales';\nimport '../../../styles/TreeTable.css';\nimport {\n APP_CLAIMS,\n hasPermission,\n pageModes,\n productTypes,\n styleWithCommonClasses,\n tabDisplays\n} from '../../../_constants/emparkConstants';\nimport ErrorMessage from '../../ErrorMessage';\nimport TitleToolbar from '../../Forms/TitleToolbar';\nimport EMTable from '../../Tables/EMTable';\nimport LoadingPaper from '../../LoadingPaper';\nimport ErrorPeriodPositionOverlap from '../../Dialogs/ErrorPeriodPositionOverlap';\n\n\n\n\n\n\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n switchCell: {\n height: \"100%\",\n display: \"flex\",\n flexDirection: \"row-reverse\",\n alignItems: \"center\"\n },\n treeCell: {\n height: \"100%\",\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\"\n },\n toggleButton: {\n position: \"relative\",\n display: \"inline-block\",\n border: \"none\",\n height: \"14px\",\n verticalAlign: \"middle\",\n padding: \"0 5px 0 0\",\n margin: \"0\",\n cursor: \"pointer\",\n backgroundColor: \"transparent\",\n outline: \"none\",\n },\n withoutChildren: {\n paddingLeft: \"15px\"\n },\n withChildren: {\n fontWeight: 600\n }\n});\n\nclass PeriodPositionsTablePage extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n treeValue: TreeState.createEmpty()\n }\n\n this.handleSubmitPeriods = this.handleSubmitPeriods.bind(this);\n this.handleSwitchChange = this.handleSwitchChange.bind(this);\n this.handleTreeChange = this.handleTreeChange.bind(this);\n\n this.renderName = this.renderName.bind(this);\n this.renderCode = this.renderCode.bind(this);\n this.renderSwitch = this.renderSwitch.bind(this);\n }\n\n render() {\n const { periodPositions, loading, classes, router } = this.props;\n\n if(loading)\n return(\n \n )\n\n if(router.mode === pageModes.view) {\n const rowsPeriodPositionsTable = [\n { id: 'name', align: 'center', disablePadding: false, label: __t('name') },\n { id: 'code', align: 'center', disablePadding: false, label: __t('code') },\n ];\n\n const isOffStreetPrebook = !this.props.context.onStreet && this.props.rate.productTypeCode == productTypes.prebooks;\n\n return(\n \n {\n this.props.changeTabDisplay(tabDisplays.secondary)\n\n this.setState({\n treeValue:TreeState.create(this.setUpPositionTree(this.props.positions, periodPositions))\n });\n\n this.props.changeMode(pageModes.edit);\n })}\n />\n \n )\n }\n\n return(\n \n {\n this.props.changeTabDisplay(tabDisplays.index)\n this.props.changeMode(pageModes.view)\n }}\n onSave={this.handleSubmitPeriods}\n >\n \n this.props.setErrorOverlap(null)}\n />\n \n {__t('name')}}\n />\n {__t('code')}}\n />\n }\n />\n \n \n \n )\n }\n\n /* Utils */\n setUpPositionTree(positions, periodPositions) {\n const treeData = positions.map(p => {\n return {\n data: {\n id:p.id,\n code:p.code,\n name:p.name,\n checked:Boolean(periodPositions.positions.find(pp => pp.id === p.id))\n }\n };\n });\n\n return treeData;\n }\n\n /* Events */\n handleSubmitPeriods() {\n if(this.state.treeValue.hasData) {\n const lstPositionIds = this.state.treeValue.data.filter(p => p.data.checked).map(c => c.data.id);\n \n this.props.sendPeriodPosition(this.props.rate.id, this.props.period.id, lstPositionIds);\n }\n }\n\n handleSwitchChange(row) {\n const element = this;\n\n return function () {\n let treeState = element.state.treeValue;\n\n treeState.data = treeState.data.map((d, i) => {\n if (row.metadata.index !== i)\n return d;\n\n d.data.checked = !d.data.checked;\n return d;\n });\n\n element.setState({\n treeValue: treeState\n })\n }\n }\n\n handleTreeChange(newState) {\n this.setState({ treeValue: newState })\n }\n\n /* Tree render */\n renderName(row) {\n return (\n
\n {row.data.name}\n
\n )\n }\n\n renderCode(row) {\n return (\n
\n {row.data.code}\n
\n )\n }\n\n renderSwitch(row) {\n return (\n
\n \n
\n )\n }\n}\n\nfunction mapStateToProps(state) {\n return {\n positions: state.positionsReducer.positions, //state.auxReducer.claims,\n periodPositions: state.periodsReducer.periodPositions, //state.rolesReducer.roleClaims,\n router: state.periodsReducer.periodPositionsRouter,//state.rolesReducer.roleClaimsRouter,\n loading: state.periodsReducer.periodPositionsLoading,\n error: state.periodsReducer.periodPositionsError,\n errorOverlap: state.periodsReducer.periodPositionsOverlapError,\n userRole:state.usersReducer.userRole\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n changeMode:(mode) => {\n dispatch(periodsActions.changeModePeriodPositions(mode))\n },\n sendPeriodPosition:(rateId, periodId, lstPeriodPositions) => {\n dispatch(periodsActions.sendPeriodPositions(rateId, periodId, lstPeriodPositions))\n },\n changeTabDisplay:(tabDisplay) => {\n dispatch(periodsActions.setTabDisplay(tabDisplay))\n },\n setErrorOverlap:(error) => {\n dispatch(periodsActions.setErrorPeriodPositionsOverlap(error))\n }\n }\n}\n\nPeriodPositionsTablePage.propTypes = {\n rate: PropTypes.object.isRequired,\n period: PropTypes.object.isRequired,\n router: PropTypes.object,\n loading: PropTypes.bool,\n error: PropTypes.string,\n changeMode: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(PeriodPositionsTablePage));","import React, { useEffect } from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport { periodsActions } from '../../../actions/periodsActions'\nimport { positionsActions } from '../../../actions/positionsActions'\nimport PeriodPositionsTablePage from './PeriodPositionsTablePage';\nimport { productTypes } from '../../../_constants/emparkConstants';\n\nconst PeriodPositionsRouter = props => {\n useEffect(() => {\n props.fetchPositions(props.context.id);\n props.fetchPeriodPositions(props.rate.id, props.period.id);\n\n return () => {\n\n }\n }, [])\n\n return (\n \n )\n}\n\nfunction mapStateToProps(state) {\n return {\n positions: state.positionsReducer.positions,\n periodPositions: state.periodsReducer.periodPositions,\n loadingPositions: state.positionsReducer.loading,\n loadingPeriodPositions: state.periodsReducer.periodsReducer,\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n fetchPositions: (contextId) => {\n dispatch(positionsActions.fetchPositions(contextId));\n },\n fetchPeriodPositions: (rateId, periodId) => {\n dispatch(periodsActions.fetchPeriodPositions(rateId, periodId));\n }\n }\n}\n\nPeriodPositionsRouter.propTypes = {\n context: PropTypes.object.isRequired,\n rate: PropTypes.object.isRequired,\n period: PropTypes.object.isRequired\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PeriodPositionsRouter);","import {\n CircularProgress, Paper, withStyles\n} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { periodsActions } from '../../../actions/periodsActions';\nimport { ratesActions } from '../../../actions/ratesActions';\nimport __t from '../../../locales';\nimport {\n APP_CLAIMS,\n hasPermission,\n pageModes, productTypes, styleWithCommonClasses,\n tabDisplays\n} from '../../../_constants/emparkConstants';\nimport { toDateJsonString } from '../../../_helpers/dateConvert';\nimport ErrorPeriodPositionOverlap from '../../Dialogs/ErrorPeriodPositionOverlap';\nimport ErrorMessage from '../../ErrorMessage';\nimport PeriodForm from '../../Forms/PeriodForm';\nimport TitleToolbar from '../../Forms/TitleToolbar';\nimport LoadingPaper from '../../LoadingPaper';\nimport PeriodPositionsRouter from '../PeriodPositions/PeriodPositionsRouter';\n\nconst styles = styleWithCommonClasses({\n positionsContainer: {\n border: '1px solid lightgray',\n marginTop: '30px'\n }\n});\n\nclass PeriodDetailPage extends React.Component {\n constructor(props) {\n super(props);\n const { periods, router } = this.props;\n\n this.state = {\n period: periods.find(c => c.id === router.id)\n }\n\n this.handleSubmit = this.handleSubmit.bind(this);\n }\n\n componentDidMount() {\n const { periods, router } = this.props;\n\n if (router.mode !== pageModes.add) {\n this.setState({\n period: periods.find(c => c.id === router.id)\n })\n }\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.periods !== prevProps.periods) {\n\n this.setState({\n period: this.props.periods.find(p => p.id === this.props.router.id)\n })\n }\n }\n\n render() {\n const { context, rate, periods, classes, router, tabDisplay, loading } = this.props;\n\n const title = router.mode === pageModes.add ? __t('create') : router.mode === pageModes.edit ? __t('edit') : __t('view');\n\n if (loading)\n return (\n \n )\n\n let period = periods.find(p => p.id === router.id)\n\n if (router.mode === pageModes.add || router.mode === pageModes.edit)\n return (\n
\n \n {\n this.props.changeTabDisplay(tabDisplays.index)\n this.props.changeMode(pageModes.list)\n }\n :\n () => {\n this.setState({ period: period })\n this.props.changeMode(pageModes.view, this.state.period.id)\n }\n }\n onSave={this.handleSubmit}\n >\n this.submitForm = returnData}\n />\n this.props.setErrorOverlap(null)}\n />\n \n \n \n
\n )\n\n if (this.state.period == null)\n return (\n \n \n \n )\n\n const isOffStreetPrebook = !context.onStreet && rate.productTypeCode == productTypes.prebooks;\n\n return (\n
\n \n this.props.changeMode(pageModes.edit, this.state.period.id) : null}\n onBack={tabDisplay === tabDisplays.index ?\n () => {\n this.props.changeTabDisplay(tabDisplays.index)\n this.props.changeMode(pageModes.list)\n }\n :\n null\n }\n >\n this.submitForm = returnData}\n showPrice={!context.onStreet && rate.productTypeCode !== productTypes.rotation}\n readonly\n />\n \n {this.props.rate.productTypeCode == productTypes.rotation || this.props.rate.productTypeCode == productTypes.prebooks ?\n
\n \n
:\n null\n\n }\n\n \n \n
\n )\n }\n\n handleSubmit() {\n var data = this.submitForm();\n\n const period = {\n ...this.state.period,\n fromDate: toDateJsonString(data.formData.fromDate),\n toDate: toDateJsonString(data.formData.toDate),\n price: data.formData.price,\n rateId: this.props.rate.id\n };\n\n this.setState({ period: period });\n\n if (data.formError) {\n this.props.setError(__t('error_required_fields'));\n\n return;\n }\n\n this.props.sendPeriod(this.props.rate.id, period);\n };\n\n}\n\nfunction mapStateToProps(state) {\n return {\n periods: state.periodsReducer.periods,\n router: state.periodsReducer.router,\n error: state.periodsReducer.error,\n tabDisplay: state.periodsReducer.tabDisplay,\n userRole: state.usersReducer.userRole,\n errorOverlap: state.periodsReducer.periodPositionsOverlapError,\n locale: state.locales.current,\n loading: state.periodsReducer.loading\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n sendPeriod: (rateId, period) => {\n dispatch(periodsActions.sendPeriod(rateId, period))\n },\n changeMode: (mode, id) => {\n dispatch(periodsActions.changeMode(mode, id))\n },\n changeTabDisplay: (tabDisplay) => {\n dispatch(ratesActions.setTabDisplay(tabDisplay))\n },\n setError: (error) => {\n dispatch(periodsActions.setError(error))\n },\n setErrorOverlap: (error) => {\n dispatch(periodsActions.setErrorPeriodPositionsOverlap(error))\n }\n }\n}\n\nPeriodDetailPage.propTypes = {\n context: PropTypes.object.isRequired,\n rate: PropTypes.object.isRequired,\n periods: PropTypes.array,\n router: PropTypes.object,\n loading: PropTypes.bool,\n error: PropTypes.string\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(PeriodDetailPage));","import React, { useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\n\nimport {\n pageModes, styleWithCommonClasses\n} from '../../../_constants/emparkConstants'\n\nimport { periodsActions } from '../../../actions/periodsActions';\nimport { CircularProgress, Paper, withStyles } from '@material-ui/core';\n\nimport translate from '../../../locales';\nimport PeriodsTablePage from './PeriodsTablePage';\nimport PeriodDetailPage from './PeriodDetailPage';\nimport LoadingPaper from '../../LoadingPaper';\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n tabPanel: {\n backgroundColor: 'white'\n }\n});\n\nconst PeriodsRouter = props => {\n useEffect(() => {\n props.fetchPeriods(props.rate.id);\n props.changeMode(pageModes.list);\n \n return () => {\n\n }\n }, []);\n\n if(props.router.mode === pageModes.list)\n return (\n \n )\n \n return(\n \n )\n}\n\nfunction mapStateToProps(state) {\n return {\n periods: state.periodsReducer.periods,\n router: state.periodsReducer.router,\n loading: state.periodsReducer.loading\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n changeMode: (mode, id) => {\n dispatch(periodsActions.changeMode(mode, id))\n },\n fetchPeriods: (rateId) => {\n dispatch(periodsActions.fetchPeriods(rateId))\n }\n }\n}\n\nPeriodsRouter.propTypes = {\n context:PropTypes.object.isRequired,\n rate:PropTypes.object.isRequired,\n periods: PropTypes.array,\n router: PropTypes.object,\n changeMode: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(PeriodsRouter));","import {\n Paper, withStyles\n} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { ratesActions } from '../../../actions/ratesActions';\nimport translate from '../../../locales';\nimport {\n APP_CLAIMS,\n hasPermission,\n pageModes,\n productTypes,\n styleWithCommonClasses,\n tabDisplays\n} from '../../../_constants/emparkConstants';\nimport ErrorDialog from '../../Dialogs/ErrorDialog';\nimport LoadingPaper from '../../LoadingPaper';\nimport EMTable from '../../Tables/EMTable';\n\n\n\n\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses();\n\nconst RateChannelsTablePage = props => {\n /* Events */\n const handleDelete = (rateChannel) => {\n props.deleteRateChannel(props.contextId, props.rateId, rateChannel.id);\n }\n\n /* Render */\n const { rateChannels, classes } = props;\n\n const rowsPositionsTable = [\n { id: 'channelName', align: 'center', disablePadding: false, label: __t('name') },\n { id: 'commissionMinimum', align: 'center', disablePadding: false, label: __t('commission_minimum') },\n { id: 'commissionPercentage', align: 'center', disablePadding: false, label: __t('commission_percent') },\n ];\n\n if (props.loading)\n return (\n \n )\n\n console.log(props)\n\n const isOffStreetPrebook = !props.onStreet && props.productTypeCode == productTypes.prebooks;\n\n return (\n \n props.setError(null)}\n />\n {\n props.changeTabDisplay(tabDisplays.secondary)\n props.changeMode(pageModes.add)\n })}\n onEdit={(rateChannel) => {\n props.changeTabDisplay(tabDisplays.secondary)\n props.changeMode(pageModes.edit, rateChannel.id)\n }}\n onEditCondition={() => hasPermission(props.userRole, APP_CLAIMS.RATE_CHAN_E) && !isOffStreetPrebook}\n onDelete={handleDelete}\n onDeleteCondition={() => hasPermission(props.userRole, APP_CLAIMS.RATE_CHAN_D) && !isOffStreetPrebook}\n />\n \n )\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.ratesReducer.rateChannelsRouter,\n channels: state.channelsReducer.channels,\n rateChannels: state.ratesReducer.rateChannels,\n loading: state.ratesReducer.loadingRateChannels,\n error: state.ratesReducer.errorRateChannels,\n userRole: state.usersReducer.userRole,\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n deleteRateChannel: (contextId, rateId, rateChannelId) => {\n dispatch(ratesActions.deleteRateChannel(contextId, rateId, rateChannelId))\n },\n changeMode: (mode, id) => {\n dispatch(ratesActions.changeModeRateChannels(mode, id))\n },\n changeTabDisplay: (tabDisplay) => {\n dispatch(ratesActions.setTabDisplay(tabDisplay))\n },\n setError: (error) => {\n dispatch(ratesActions.setErrorRateChannels(error))\n }\n }\n}\n\nRateChannelsTablePage.propTypes = {\n contextId: PropTypes.string.isRequired,\n rateId: PropTypes.string.isRequired,\n router: PropTypes.object,\n positions: PropTypes.array,\n loading: PropTypes.bool,\n error: PropTypes.string,\n changeMode: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(RateChannelsTablePage));","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport {\n withStyles,\n Grid,\n InputLabel,\n Select,\n MenuItem\n} from '@material-ui/core';\n\nimport OutlinedTextField from '../OutlinedTextField'\n\nimport translate from '../../locales';\nimport { countDecimalPlaces, limitNumber } from '../../_constants/emparkConstants';\n\nconst __t = translate;\n\nconst styles = () => ({\n containerButtons: {\n textAlign: 'right'\n },\n containerIsTelpark: {\n textAlign:'right'\n },\n upperCase: {\n textTransform:'uppercase'\n },\n containerSelect: {\n width:'100%',\n padding:'4px'\n },\n errorBorder: {\n border:'1px solid red',\n borderRadius:'5px'\n },\n select: {\n width:'100%',\n },\n bottomRow: {\n marginTop:'15px'\n },\n});\n\nclass RateChannelForm extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n channelId: this.props.rateChannel ? this.props.rateChannel.channelId : \"\",\n channelIdError:false,\n commissionMinimum: this.props.rateChannel ? this.props.rateChannel.commissionMinimum : \"\",\n commissionMinimumError:false,\n commissionPercentage: this.props.rateChannel ? this.props.rateChannel.commissionPercentage : \"\",\n commissionPercentageError:false\n }\n\n this.returnData = this.returnData.bind(this);\n }\n\n componentDidMount() {\n this.props.refReturnData(this.returnData);\n }\n\n componentDidUpdate(prevProps) {\n if(this.props != prevProps)\n this.setState({\n channelId: this.props.rateChannel ? this.props.rateChannel.channelId : \"\",\n commissionMinimum: this.props.rateChannel ? this.props.rateChannel.commissionMinimum : \"\",\n commissionPercentage: this.props.rateChannel ? this.props.rateChannel.commissionPercentage : \"\",\n })\n }\n\n render() {\n const {classes} = this.props;\n\n return(\n
\n \n \n {__t('channel')}:\n \n \n
\n this.setState({channelId:e.target.value})}\n disabled={this.props.readonly}\n >\n \n {this.props.channels.map((c, i) => \n {c.name}\n )}\n \n
\n
\n \n {__t('commission_minimum')}:\n \n \n {\n if(!limitNumber(e.target.value, 0, 999) || countDecimalPlaces(e.target.value) > 3)\n return;\n\n this.setState({commissionMinimum:e.target.value});\n }}\n disabled={this.props.readonly}\n error={this.state.commissionMinimumError}\n />\n \n \n \n \n {__t('commission_percent')}:\n \n \n {\n if(!limitNumber(e.target.value, 0, 100) || countDecimalPlaces(e.target.value) > 2)\n return;\n\n this.setState({commissionPercentage:e.target.value});\n }}\n disabled={this.props.readonly}\n error={this.state.commissionPercentageError}\n />\n \n
\n
\n )\n }\n\n returnData() {\n this.setState({\n channelIdError:false,\n commissionMinimumError:false,\n commissionPercentageError:false\n });\n\n let channelIdError = false, commissionMinimumError = false, commissionPercentageError = false;\n if(this.state.channelId == \"\") {\n channelIdError = true;\n }\n\n // if(this.state.commissionMinimum == \"\") {\n // commissionMinimumError = true;\n // }\n\n // if(this.state.commissionPercentage == \"\") {\n // commissionPercentageError = true;\n // }\n\n if(channelIdError || commissionMinimumError || commissionPercentageError) {\n this.setState({\n channelIdError:channelIdError,\n commissionMinimumError:commissionMinimumError,\n commissionPercentageError:commissionPercentageError\n });\n }\n\n return {\n formData: {\n channelId:this.state.channelId,\n commissionMinimum:this.state.commissionMinimum,\n commissionPercentage:this.state.commissionPercentage\n },\n formError: channelIdError || commissionMinimumError || commissionPercentageError\n }\n }\n}\n\nRateChannelForm.propTypes = {\n rateChannel:PropTypes.object,\n channels:PropTypes.array.isRequired,\n readonly:PropTypes.bool,\n refReturnData:PropTypes.func.isRequired\n}\n\nexport default withStyles(styles)(RateChannelForm);","import React from 'react';\nimport { connect } from 'react-redux';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { ratesActions } from '../../../actions/ratesActions';\n\nimport {\n Paper,\n Modal,\n CircularProgress,\n withStyles,\n} from '@material-ui/core';\n\nimport {\n APP_CLAIMS,\n hasPermission,\n pageModes,\n styleWithCommonClasses,\n tabDisplays\n} from '../../../_constants/emparkConstants'\n\nimport TitleToolbar from '../../Forms/TitleToolbar';\nimport LoadingPaper from '../../LoadingPaper';\n\nimport translate from '../../../locales';\nimport RateChannelForm from '../../Forms/RateChannelForm';\nimport ErrorMessage from '../../ErrorMessage';\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses();\n\nclass RateChannelDetailPage extends React.Component {\n constructor(props) {\n super(props);\n\n const { rateChannels, router } = this.props;\n\n this.state = {\n rateChannel: rateChannels.channels.find(c => c.id === router.id)\n }\n\n this.handleSubmit = this.handleSubmit.bind(this);\n }\n\n componentDidMount() {\n const { rateChannels, router } = this.props;\n\n if (router.mode !== pageModes.add) {\n this.setState({\n rateChannel: rateChannels.channels.find(c => c.id === router.id)\n })\n }\n }\n\n render() {\n const { classes, router, loading } = this.props;\n\n const title = router.mode === pageModes.add ? __t('create') : router.mode === pageModes.edit ? __t('edit') : __t('view');\n\n if (loading)\n return (\n \n )\n\n if (router.mode === pageModes.add || router.mode === pageModes.edit)\n return (\n \n {\n this.props.changeTabDisplay(tabDisplays.index)\n this.props.changeMode(pageModes.list)\n }}\n onSave={this.handleSubmit}\n >\n this.submitForm = returnData}\n />\n \n \n \n )\n\n if (this.state.position == null)\n return (\n \n \n \n )\n\n return (\n \n this.props.changeMode(pageModes.edit, this.state.position.id) : null}\n onBack={() => {\n this.props.changeTabDisplay(tabDisplays.index)\n this.props.changeMode(pageModes.list)\n }}\n >\n this.submitForm = returnData}\n readonly\n />\n \n \n \n )\n }\n\n handleSubmit() {\n var data = this.submitForm();\n\n const rateChannel = {\n ...this.state.rateChannel,\n ...data.formData,\n rateId: this.props.rateId\n }\n\n this.setState({ rateChannel: rateChannel });\n\n if (data.formError) {\n this.props.setError(__t('error_required_fields'));\n\n return;\n }\n\n this.props.sendRateChannel(this.props.contextId, this.props.rateId, rateChannel);\n };\n\n}\n\nfunction mapStateToProps(state) {\n return {\n channels: state.channelsReducer.channels,\n rateChannels: state.ratesReducer.rateChannels,\n router: state.ratesReducer.rateChannelsRouter,\n error: state.ratesReducer.errorRateChannels,\n userRole: state.usersReducer.userRole,\n loading: state.ratesReducer.loadingRateChannels\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n sendRateChannel: (contextId, rateId, rateChannel) => {\n dispatch(ratesActions.sendRateChannel(contextId, rateId, rateChannel))\n },\n changeMode: (mode, id) => {\n dispatch(ratesActions.changeModeRateChannels(mode, id))\n },\n changeTabDisplay: (tabDisplay) => {\n dispatch(ratesActions.setTabDisplay(tabDisplay))\n },\n setError: (error) => {\n dispatch(ratesActions.setErrorRateChannels(error))\n }\n }\n}\n\nRateChannelDetailPage.propTypes = {\n contextId: PropTypes.string.isRequired,\n rateId: PropTypes.string.isRequired,\n rateChannels: PropTypes.object,\n channels: PropTypes.array,\n router: PropTypes.object,\n loading: PropTypes.bool,\n error: PropTypes.string\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(RateChannelDetailPage));","import React, { useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\n\nimport {\n pageModes, styleWithCommonClasses\n} from '../../../_constants/emparkConstants'\n\nimport { channelsActions } from '../../../actions/channelsActions';\nimport { ratesActions } from '../../../actions/ratesActions';\nimport { CircularProgress, Paper, withStyles } from '@material-ui/core';\n\nimport translate from '../../../locales';\nimport RateChannelsTablePage from './RateChannelsTablePage';\nimport RateChannelDetailPage from './RateChannelDetailPage';\nimport LoadingPaper from '../../LoadingPaper';\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n tabPanel: {\n backgroundColor: 'white'\n }\n});\n\nconst RateChannelsRouter = props => {\n useEffect(() => {\n props.fetchChannels();\n props.fetchRateChannels(props.contextId, props.rateId);\n props.changeMode(pageModes.list);\n\n return () => {\n\n }\n }, []);\n\n if (props.router.mode === pageModes.list)\n return (\n \n )\n\n return (\n \n )\n}\n\nfunction mapStateToProps(state) {\n return {\n channels: state.channelsReducer.channels,\n rateChannels: state.ratesReducer.rateChannels,\n router: state.ratesReducer.rateChannelsRouter,\n loading: state.ratesReducer.loadingRateChannels\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n changeMode: (mode, id) => {\n dispatch(ratesActions.changeModeRateChannels(mode, id))\n },\n fetchChannels: () => {\n dispatch(channelsActions.fetchChannels());\n },\n fetchRateChannels: (contextId, rateId) => {\n dispatch(ratesActions.fetchRateChannels(contextId, rateId))\n }\n }\n}\n\nRateChannelsRouter.propTypes = {\n contextId: PropTypes.string.isRequired,\n rateId: PropTypes.string.isRequired,\n channels: PropTypes.array,\n rateChannels: PropTypes.object,\n router: PropTypes.object,\n changeMode: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(RateChannelsRouter));","import { Button, Modal, Paper, withStyles } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport translate from '../../locales';\nimport ErrorMessage from '../ErrorMessage';\n\nconst __t = translate;\n\nconst styles = () => ({\n button: {\n marginTop: '30px'\n },\n modal: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\"\n },\n paper: {\n width: '500px',\n textAlign: \"center\",\n padding: '20px 10px',\n outline: \"none\"\n },\n schedulesContainer: {\n width:'100%',\n textAlign:'left',\n marginTop:'5px'\n }\n})\n\nconst ErrorSchedule = props => {\n\n if (!props.error)\n return (\n null\n )\n\n const { classes } = props;\n\n return (\n \n \n \n
\n {props.error.map((e, i) =>\n
\n {__t(e.day)}: \n {e.times.reduce((acc, curr) => {\n return `${acc} ${curr.startTime} - ${curr.endTime},`;\n }, \"\")}\n
\n )}\n
\n\n \n
\n
\n )\n}\n\nErrorSchedule.propTypes = {\n title: PropTypes.string.isRequired,\n error: PropTypes.array,\n onOkClick: PropTypes.func\n}\n\n\nexport default withStyles(styles)(ErrorSchedule);\n\n","import {\n Checkbox, FormControl, FormControlLabel, FormLabel, Grid, InputLabel, withStyles\n} from '@material-ui/core';\nimport FormGroup from '@material-ui/core/FormGroup';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport translate from '../../locales';\n\nconst __t = translate;\n\nconst styles = () => ({\n containerButtons: {\n textAlign: 'right'\n },\n containerLabel: {\n textAlign: 'right',\n paddingRight: '10px'\n },\n containerIsTelpark: {\n textAlign: 'right'\n },\n upperCase: {\n textTransform: 'uppercase'\n },\n formControlFieldset: {\n paddingLeft: '5px',\n margin: 0,\n },\n checkbox: {\n margin: `0 5px`,\n },\n rowMargin: {\n marginTop: \"15px\"\n },\n buttonContainer: {\n textAlign: 'center',\n marginTop: '15px'\n },\n centerText: {\n textAlign: 'center'\n },\n daysError: {\n border:'1px solid red',\n borderRadius: '5px'\n }\n});\n\nclass ScheduleForm extends React.Component {\n constructor(props) {\n super(props);\n\n let s = {\n daysBitMask: '',\n daysBitMaskError: false\n }\n\n if(this.props.schedule) {\n s = {\n ...s,\n ...this.props.schedule\n }\n }\n\n this.state = s;\n\n this.returnData = this.returnData.bind(this);\n }\n\n componentDidMount() {\n this.props.refReturnData(this.returnData);\n }\n\n componentDidUpdate(prevProps) {\n if (this.props != prevProps) {\n this.setState({\n ...this.props.schedule,\n daysBitMask: this.props.schedule ? String(this.props.schedule.daysBitMask) : '',\n })\n }\n }\n\n render() {\n const { classes } = this.props;\n\n return (\n
\n \n \n \n {__t(\"valid_days\")}:\n \n {\n [\n 'MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY'\n ].map((weekday, i) => (\n {\n let sIndex = String(i + 1);\n let daysBitMask = String(this.state.daysBitMask);\n\n if (daysBitMask.includes(sIndex))\n daysBitMask = daysBitMask.replace(sIndex, '');\n else\n daysBitMask = daysBitMask + sIndex;\n\n this.setState({\n daysBitMask: daysBitMask.split('').sort().join('')\n })\n\n }} />\n }\n label={__t(weekday.toLowerCase())}\n labelPlacement=\"bottom\"\n />\n ))\n }\n \n \n \n \n\n \n \n
\n )\n }\n\n returnData() {\n this.setState({\n daysBitMaskError: false\n })\n\n let daysBitMaskError = false;\n if (!this.state.daysBitMask || this.state.daysBitMask == \"0\") {\n daysBitMaskError = true;\n }\n\n if (daysBitMaskError) {\n this.setState({\n daysBitMaskError: daysBitMaskError\n })\n }\n\n let returnObj = {\n formData: {\n daysBitMask: Number(this.state.daysBitMask) != null ? Number(this.state.daysBitMask) : \"\",\n },\n formError: daysBitMaskError\n };\n\n return returnObj;\n }\n}\n\nScheduleForm.propTypes = {\n schedule: PropTypes.object,\n readonly: PropTypes.bool,\n refReturnData: PropTypes.func.isRequired\n}\n\nexport default withStyles(styles)(ScheduleForm);","import { Button, Modal, Paper, withStyles } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport translate from '../../locales';\nimport ErrorMessage from '../ErrorMessage';\n\nconst __t = translate;\n\nconst styles = () => ({\n button: {\n marginTop: '30px'\n },\n modal: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\"\n },\n paper: {\n width: '500px',\n textAlign: \"center\",\n padding: '20px 10px',\n outline: \"none\"\n },\n schedulesContainer: {\n width: '100%',\n textAlign: 'left',\n marginTop: '5px'\n }\n})\n\nconst ErrorSchedule = props => {\n\n if (!props.error)\n return (\n null\n )\n\n const { classes } = props;\n\n return (\n \n \n \n
\n {\n props.error.map(e => `${e.startTime} - ${e.endTime}`).join(', ')\n }\n
\n\n \n
\n
\n )\n}\n\nErrorSchedule.propTypes = {\n title: PropTypes.string.isRequired,\n error: PropTypes.array,\n onOkClick: PropTypes.func\n}\n\n\nexport default withStyles(styles)(ErrorSchedule);\n\n","import { Button, Grid, IconButton, InputLabel, MenuItem, Modal, Paper, Select, withStyles } from '@material-ui/core';\nimport CloseIcon from '@material-ui/icons/Close';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport translate from '../../locales';\nimport { countDecimalPlaces, limitNumber } from '../../_constants/emparkConstants';\nimport ErrorMessage from '../ErrorMessage';\nimport OutlinedTextField from '../OutlinedTextField';\n\n\nconst __t = translate;\n\nconst styles = () => ({\n centerText: {\n textAlign: 'center'\n },\n rowMarginTop: {\n marginTop: '15px'\n },\n modal: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\"\n },\n paper: {\n maxWidth: '500px',\n padding: '20px 30px'\n },\n containerSelect: {\n width: '100%',\n padding: '4px'\n },\n errorBorder: {\n border: '1px solid red',\n borderRadius: '5px'\n },\n select: {\n width: '100%',\n },\n});\n\nclass GeneratePriceDialog extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n step: props.step ? props.step : '',\n jump: '',\n initialCost: '',\n initialDuration: '',\n amountPerStep: '',\n lastPoint: ''\n }\n\n this.handleSubmit = this.handleSubmit.bind(this);\n }\n\n render() {\n const { open, isByCost, classes } = this.props;\n\n return (\n \n \n
\n \n \n \n
\n

{__t('generate_prices')}

\n \n \n {__t('fraction') + ' ' + __t(this.props.isByCost ? 'money_helper' : 'minutes_helper')}:\n \n \n {this.props.isByCost ?\n this.setState({ step: e.target.value })}\n disabled={this.props.readonly}\n >\n \n 0,01\n 0,05\n 0,10\n \n :\n {\n if (!limitNumber(e.target.value, 0, 999))\n return;\n\n this.setState({ step: e.target.value != '' ? Math.floor(e.target.value) : '' })\n }}\n inputProps={{ maxLength: 25, className: this.props.classes.upperCase }}\n disabled={this.props.readonly}\n />\n }\n \n \n {__t('jump')}:\n \n \n {\n if (!limitNumber(e.target.value, 0, 999) || countDecimalPlaces(e.target.value) > 2)\n return;\n\n this.setState({ jump: e.target.value })\n }}\n inputProps={{ className: this.props.classes.upperCase }}\n disabled={this.props.readonly}\n />\n \n \n {__t('initial_cost')}:\n \n \n {\n if (this.props.isByCost) {\n if (!limitNumber(e.target.value, 0, 999) || countDecimalPlaces(e.target.value) > 2)\n return;\n }\n else {\n if (!limitNumber(e.target.value, 0, 999) || countDecimalPlaces(e.target.value) > 6)\n return;\n }\n\n this.setState({ initialCost: e.target.value })\n }}\n inputProps={{ maxLength: 25, className: this.props.classes.upperCase }}\n disabled={this.props.readonly}\n />\n \n \n {__t('initial_duration')}:\n \n \n {\n if (!limitNumber(e.target.value, 0, 1440))\n return;\n\n this.setState({ initialDuration: e.target.value != '' ? Math.floor(e.target.value) : '' })\n }}\n inputProps={{ maxLength: 25, className: this.props.classes.upperCase }}\n disabled={this.props.readonly}\n />\n \n \n {isByCost ? __t('duration_per_step') : __t('cost_per_step')}:\n \n \n {\n if (!limitNumber(e.target.value, 0, 999))\n return;\n\n if (isByCost) {\n this.setState({ amountPerStep: e.target.value != '' ? Math.floor(e.target.value) : '' })\n }\n else {\n if (countDecimalPlaces(e.target.value) > 6)\n return\n\n this.setState({ amountPerStep: e.target.value })\n }\n }}\n inputProps={{ maxLength: 25, className: this.props.classes.upperCase }}\n disabled={this.props.readonly}\n />\n \n \n {__t('last_point') + ' ' + __t(this.props.isByCost ? 'money_helper' : 'minutes_helper')}:\n \n \n {\n if (!limitNumber(e.target.value, 0, 999))\n return;\n\n if (isByCost) {\n if (countDecimalPlaces(e.target.value) > 2)\n return\n\n this.setState({ lastPoint: e.target.value })\n }\n else {\n this.setState({ lastPoint: e.target.value != '' ? Math.floor(e.target.value) : '' })\n }\n }}\n inputProps={{ maxLength: 25, className: this.props.classes.upperCase }}\n disabled={this.props.readonly}\n />\n \n \n \n \n \n \n
\n
\n )\n }\n\n handleSubmit() {\n if (!this.props.onSubmit)\n return;\n\n this.props.onSubmit(this.state);\n }\n}\n\nGeneratePriceDialog.propTypes = {\n step: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n open: PropTypes.bool,\n onSubmit: PropTypes.func,\n onClose: PropTypes.func,\n isByCost: PropTypes.bool.isRequired,\n error: PropTypes.string\n}\n\nexport default withStyles(styles)(GeneratePriceDialog);","import React, { useState } from 'react';\nimport classNames from 'classnames';\nimport { Button, CircularProgress, Grid, IconButton, MenuItem, Modal, Select, withStyles } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport OutlinedTextField from '../OutlinedTextField';\nimport CloseIcon from '@material-ui/icons/Close';\nimport AddIcon from '@material-ui/icons/Add';\n\nimport bigDecimal from 'js-big-decimal'\n\nimport translate from '../../locales';\nimport GeneratePriceDialog from '../Dialogs/GeneratePriceDialog';\nimport { countDecimalPlaces, limitNumber, styleWithCommonClasses } from '../../_constants/emparkConstants';\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n button: {\n marginTop: '10px'\n },\n buttonContainer: {\n textAlign: 'center'\n },\n container: {\n border: '1px solid lightgrey',\n borderRadius: '5px',\n padding: '0 10px 10px 15px'\n },\n rowMargin: {\n marginTop: '15px'\n },\n root: {\n display: 'flex',\n justifyContent: 'center'\n },\n centerText: {\n textAlign: 'center'\n },\n cellsContainer: {\n maxHeight: '400px',\n overflowX: 'hidden',\n overflowY: 'auto'\n },\n containerSelect: {\n width: '100%',\n padding: '4px'\n },\n errorBorder: {\n border: '1px solid red',\n borderRadius: '5px'\n },\n select: {\n width: '100%',\n },\n})\n\nclass FractionTable extends React.Component {\n constructor(props) {\n super(props);\n\n let values = [];\n if (props.values && props.values.length > 0) {\n values = props.values.map(v => {\n return ({\n minuteUntil: v.minuteUntil,\n cost: new bigDecimal(v.cost).round((6), bigDecimal.RoundingModes.DOWN).getValue()\n })\n });\n }\n else\n values = [this.genNewRowObj(), this.genNewRowObj(), this.genNewRowObj()];\n\n this.state = {\n step: props.step ? props.step : '',\n stepError: props.stepError ? props.stepError : false,\n values: values,\n };\n\n this.handleOnClose = this.handleOnClose.bind(this);\n this.handleAddRow = this.handleAddRow.bind(this);\n this.handleOnChange = this.handleOnChange.bind(this);\n this.returnData = this.returnData.bind(this);\n }\n\n componentDidMount() {\n this.props.refReturnData(this);\n }\n\n componentDidUpdate(prevProps) {\n if (this.props != prevProps || this.props.readonly != prevProps.readonly) {\n this.setState({ readonly: this.props.readonly })\n }\n\n if (this.props.stepError != prevProps.stepError) {\n this.setState({ stepError: this.props.stepError })\n }\n }\n\n render() {\n const { classes } = this.props;\n const oneElementLeft = this.state.values.length === 1;\n\n return (\n
\n \n \n

{__t('cost_rate_table')}

\n
\n \n {__t('fraction') + ' ' + __t('minutes_helper')}\n \n \n\n \n \n {\n if (!limitNumber(e.target.value, 0, 999))\n return;\n\n this.setState({ step: e.target.value != '' ? Math.floor(e.target.value) : '' })\n }}\n error={this.state.stepError}\n disabled={this.props.readonly}\n />\n \n \n\n \n \n

{__t('cost_per_fraction')}

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

{__t('minute_until')}

\n
\n \n\n \n
\n
\n \n {this.state.values.map((v, i) => {\n return (\n [\n \n \n \n \n ,\n \n {\n const n = new bigDecimal(v.cost);\n\n this.setState({ values: this.state.values.map((v, i2) => i2 !== i ? v : { ...v, cost: n.round(6, bigDecimal.RoundingModes.DOWN).getValue(), costErr: false }) });\n }}\n hideLabel={true}\n onChange={this.handleOnChange(i, 'cost')}\n disabled={this.props.readonly}\n error={v.costErr}\n />\n ,\n ,\n \n \n ,\n \n \n \n \n \n ])\n }\n )}\n \n
\n \n \n \n \n \n
\n )\n }\n\n /* events */\n handleOnClose(index) {\n let table = this;\n\n return function (e) {\n table.setState({ values: table.state.values.filter((v, i) => i !== index) });\n }\n }\n\n handleAddPreviousRow(index) {\n let table = this;\n\n return function (e) {\n let newValues = table.state.values;\n newValues.splice(index, 0, table.genNewRowObj());\n\n table.setState({ values: newValues });\n }\n }\n\n\n handleAddRow() {\n this.setState({ values: [...this.state.values, this.genNewRowObj()] });\n }\n\n handleOnChange(index, type) {\n let table = this;\n\n return function (e) {\n if (type === 'minute_until' && e.target.value.includes(\".\"))\n return;\n\n if (type === 'cost') {\n if (!limitNumber(e.target.value, 0, 999))\n return;\n\n if (countDecimalPlaces(e.target.value) > 6)\n return\n\n table.setState({ values: table.state.values.map((v, i) => i !== index ? v : { ...v, cost: e.target.value, costErr: false }) })\n }\n else {\n if (!limitNumber(e.target.value, 0, 1440))\n return;\n\n table.setState({ values: table.state.values.map((v, i) => i !== index ? v : { ...v, minuteUntil: e.target.value != '' ? Math.floor(e.target.value) : '', minuteUntilErr: false }) })\n }\n }\n }\n\n /* ref */\n updateValues(values) {\n this.setState({\n values: values\n })\n }\n\n returnData() {\n return ({\n step: this.state.step,\n values: this.state.values\n })\n }\n\n /* Utils */\n genNewRowObj() {\n return ({\n minuteUntil: '',\n cost: '',\n minuteUntilErr: false,\n costErr: false\n })\n }\n}\n\nFractionTable.propTypes = {\n step: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n stepError: PropTypes.bool,\n values: PropTypes.array,\n refReturnData: PropTypes.func.isRequired,\n readonly: PropTypes.bool\n}\n\nexport default withStyles(styles)(FractionTable);","import { CircularProgress, Table, TableBody, TableCell, TableHead, TableRow, withStyles } from '@material-ui/core';\nimport bigDecimal from 'js-big-decimal';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport translate from '../../locales';\nimport { roundToStep, styleWithCommonClasses } from '../../_constants/emparkConstants';\n\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n button: {\n marginTop: '10px'\n },\n buttonContainer: {\n textAlign: 'center'\n },\n container: {\n border: '1px solid lightgrey',\n borderRadius: '5px',\n padding: '0 10px 10px 15px'\n },\n rowMargin: {\n marginTop: '15px'\n },\n root: {\n display: 'flex',\n justifyContent: 'center'\n },\n centerText: {\n textAlign: 'center'\n },\n cellsContainer: {\n maxHeight: '400px',\n overflowX: 'hidden',\n overflowY: 'auto'\n },\n containerSelect: {\n width: '100%',\n padding: '4px'\n },\n errorBorder: {\n border: '1px solid red',\n borderRadius: '5px'\n },\n select: {\n width: '100%',\n },\n headerCell: {\n fontSize:'15px'\n }\n})\n\nclass PriceDetailTable extends React.Component {\n constructor(props) {\n super(props);\n\n let s = {\n fractions: [],\n values: [],\n loading: false\n }\n\n if (props) {\n s = {\n ...s,\n ...props\n }\n }\n\n this.state = s;\n\n this.generateDetail = this.generateDetail.bind(this);\n }\n\n componentDidMount() {\n this.props.refGenerateDetail(this);\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.fractions != prevProps.fractions)\n this.setState({ ...prevProps });\n }\n\n render() {\n const {classes} = this.props;\n if (this.state.loading)\n return (\n
\n \n
\n )\n\n return ([\n \n \n \n \n {__t('minute')}\n \n \n {__t('cost')} {' ' + __t('money_helper')} \n \n \n {__t('rounded')} {' ' + __t('money_helper')} \n \n \n \n ,\n \n {this.state.values && this.state.values.length > 0 &&\n \n \n {this.state.values.map((v, i) =>\n \n \n {v.minute}\n \n \n {v.cost}\n \n \n {v.rounded}\n \n \n )}\n \n \n }\n \n ])\n }\n\n async generateDetail(newStep, fractions) {\n let step = newStep ? newStep : this.state.step;\n\n let f = fractions ? fractions : this.state.fractions;\n if (!f || f.length == 0)\n return;\n\n this.setState({ loading: true });\n\n\n let values = [];\n let prevMax = 0;\n let sum = new bigDecimal(0);\n const bigStep = new bigDecimal(step);\n const maxDailyCost = roundToStep(this.props.stepRound, new bigDecimal(this.props.maxDailyCost)).getValue().replace(\".\", \",\");\n\n for (let i = 0; i < f.length; i++) {\n let cost = new bigDecimal(f[i].cost);\n\n for (let j = prevMax + step; j <= Math.min(1440, f[i].minuteUntil); j = j + step) {\n sum = sum.add(cost);\n let c = sum.round(6, bigDecimal.RoundingModes.DOWN).getValue();\n\n const limit = Math.min(this.props.maxDailyCost, Number(c)) == this.props.maxDailyCost;\n\n values.push({\n minute: j,\n cost: limit ? maxDailyCost : c.replace(\".\", \",\"),\n rounded: limit ? maxDailyCost : roundToStep(this.props.stepRound, sum).getValue().replace(\".\", \",\")\n })\n }\n\n prevMax = f[i].minuteUntil;\n }\n\n let c = sum.round(6, bigDecimal.RoundingModes.DOWN).getValue();\n let rounded = roundToStep(this.props.stepRound, sum).getValue().replace(\".\", \",\");\n const limit = Math.min(this.props.maxDailyCost, Number(c)) == this.props.maxDailyCost;\n\n for (let i = prevMax + step; i <= 1440; i = i + step) {\n values.push({\n minute: i,\n cost: limit ? maxDailyCost : c.replace(\".\", \",\"),\n rounded: limit ? maxDailyCost : rounded\n })\n }\n\n let s = {\n values: values,\n loading: false\n };\n\n if (step)\n s.step = step;\n\n if (fractions)\n s.fractions = fractions;\n\n this.setState(s);\n }\n}\n\nPriceDetailTable.propTypes = {\n fractions: PropTypes.array,\n maxDailyCost: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n step: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n stepRound: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n values: PropTypes.array,\n refGenerateDetail: PropTypes.func.isRequired,\n readonly: PropTypes.bool\n}\n\nexport default withStyles(styles)(PriceDetailTable);","import React, { useState } from 'react';\nimport classNames from 'classnames';\nimport { Button, CircularProgress, Grid, IconButton, MenuItem, Modal, Select, withStyles } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport OutlinedTextField from '../OutlinedTextField';\nimport CloseIcon from '@material-ui/icons/Close';\nimport AddIcon from '@material-ui/icons/Add';\n\nimport bigDecimal from 'js-big-decimal'\n\nimport translate from '../../locales';\nimport GeneratePriceDialog from '../Dialogs/GeneratePriceDialog';\nimport { countDecimalPlaces, limitNumber, styleWithCommonClasses } from '../../_constants/emparkConstants';\nimport { isTextFromExcel, parsePasteFromExcel } from '../../_helpers/utility';\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n button: {\n marginTop: '10px'\n },\n buttonContainer: {\n textAlign: 'center'\n },\n container: {\n border: '1px solid lightgrey',\n borderRadius: '5px',\n padding: '0 10px 10px 15px'\n },\n rowMargin: {\n marginTop: '15px'\n },\n root: {\n display: 'flex',\n justifyContent: 'center'\n },\n centerText: {\n textAlign: 'center'\n },\n cellsContainer: {\n maxHeight: '400px',\n overflowX: 'hidden',\n overflowY: 'auto'\n },\n containerSelect: {\n width: '100%',\n padding: '4px'\n },\n errorBorder: {\n border: '1px solid red',\n borderRadius: '5px'\n },\n select: {\n width: '100%',\n },\n})\n\nclass PriceTable extends React.Component {\n constructor(props) {\n super(props);\n\n let values = [];\n if (props.values && props.values.length > 0) {\n values = props.values.map(v => {\n return ({\n duration: v.duration,\n cost: new bigDecimal(v.cost).round((props.isByCost ? 2 : 6), bigDecimal.RoundingModes.DOWN).getValue()\n })\n });\n }\n else\n values = [this.genNewRowObj()];\n\n this.state = {\n step: props.step ? props.step : '',\n stepError: props.stepError ? props.stepError : false,\n values: values,\n modalOpen: false,\n loadingGenerate: false,\n modalError: null\n };\n\n this.handleOnClose = this.handleOnClose.bind(this);\n this.handleOnClean = this.handleOnClean.bind(this);\n this.handleAddRow = this.handleAddRow.bind(this);\n this.handleOnChange = this.handleOnChange.bind(this);\n this.handleOnPaste = this.handleOnPaste.bind(this);\n this.handleModalSubmit = this.handleModalSubmit.bind(this);\n this.returnData = this.returnData.bind(this);\n }\n\n componentDidMount() {\n this.props.refReturnData(this.returnData);\n }\n\n componentDidUpdate(prevProps) {\n if (this.props != prevProps || this.props.readonly != prevProps.readonly) {\n this.setState({ readonly: this.props.readonly })\n }\n\n if (this.props.stepError != prevProps.stepError) {\n this.setState({ stepError: this.props.stepError })\n }\n }\n\n render() {\n const { isByCost, classes } = this.props;\n const oneElementLeft = this.state.values.length === 1;\n\n return (\n
\n \n \n

{__t('price_table')}

\n
\n \n \n \n \n {__t('fraction') + ' ' + __t(this.props.isByCost ? 'money_helper' : 'minutes_helper')}\n \n \n\n \n \n {this.props.isByCost ?\n
\n this.setState({ step: e.target.value })}\n disabled={this.props.readonly}\n >\n \n 0,01\n 0,05\n 0,10\n \n
\n :\n {\n if (!limitNumber(e.target.value, 0, 999))\n return;\n\n this.setState({ step: e.target.value != '' ? Math.floor(e.target.value) : '' })\n }}\n error={this.state.stepError}\n disabled={this.props.readonly}\n />\n }\n\n
\n \n\n \n \n

{isByCost ? __t('cost') : __t('duration')}

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

{isByCost ? __t('duration') : __t('cost')}

\n
\n \n\n \n
\n
\n {!this.props.readonly &&\n \n \n \n \n \n }\n \n {this.state.values.map((v, i) => {\n return (\n [\n \n \n \n \n ,\n \n {\n const n = new bigDecimal(v.cost);\n\n this.setState({ values: this.state.values.map((v, i2) => i2 !== i ? v : { ...v, cost: n.round(6, bigDecimal.RoundingModes.DOWN).getValue(), costErr: false }) });\n }}\n onPaste={(e) => this.handleOnPaste(e, 'left', isByCost, i, e.clipboardData.getData('Text'))}\n />\n ,\n -> ,\n \n this.handleOnPaste(e, 'right', isByCost, i, e.clipboardData.getData('Text'))}\n />\n ,\n \n \n \n \n \n ])\n }\n )}\n \n
\n \n \n \n \n \n this.setState({ modalOpen: false })}\n error={this.state.modalError}\n />\n \n \n \n
\n )\n }\n\n /* events */\n handleOnClose(index) {\n let table = this;\n\n return function (e) {\n table.setState({ values: table.state.values.filter((v, i) => i !== index) });\n }\n }\n\n handleOnClean() {\n this.setState({ values: [this.genNewRowObj()] });\n }\n\n handleAddPreviousRow(index) {\n let table = this;\n\n return function (e) {\n let newValues = table.state.values;\n newValues.splice(index, 0, table.genNewRowObj());\n\n table.setState({ values: newValues });\n }\n }\n\n\n handleAddRow() {\n this.setState({ values: [...this.state.values, this.genNewRowObj()] });\n }\n\n handleOnChange(index, type) {\n let table = this;\n\n return function (e) {\n if (type === 'duration' && e.target.value.includes(\".\"))\n return;\n\n if (type === 'cost') {\n if (!limitNumber(e.target.value, 0, 999))\n return;\n\n if (table.props.isByCost && countDecimalPlaces(e.target.value) > 2)\n return;\n\n if (!table.props.isByCost && countDecimalPlaces(e.target.value) > 6)\n return\n\n table.setState({ values: table.state.values.map((v, i) => i !== index ? v : { ...v, cost: e.target.value, costErr: false }) })\n }\n else {\n if (!limitNumber(e.target.value, 0, 43200))\n return;\n\n table.setState({ values: table.state.values.map((v, i) => i !== index ? v : { ...v, duration: e.target.value != '' ? Math.floor(e.target.value) : '', durationErr: false }) })\n }\n }\n }\n\n handleOnPaste(event, cellType, isByCost, iRow, text) {\n if (!text)\n return;\n\n if (!isTextFromExcel(text)) {\n return;\n }\n\n const parsedText = parsePasteFromExcel(text);\n if (parsedText.length > 2 || (cellType == 'right' && parsedText.length > 1))\n return;\n\n let newData = [...this.state.values];\n if (cellType == 'right') {\n if (parsedText[0].length == 1)\n return;\n\n /* validate ranges */\n if (parsedText[0].some(t => isNaN(t) || Number(t) < 0 || Number(t) > 1440 || !Number.isInteger(Number(t)))) {\n if (this.props.onError)\n this.props.onError('err_invalid_duration_values');\n\n event.preventDefault();\n return;\n }\n\n parsedText[0].forEach((t, i) => {\n if (iRow + i < this.state.values.length) {\n newData[iRow + i].duration = t;\n }\n else {\n newData.push({ cost: '', duration: t })\n }\n });\n\n this.setState({ values: newData });\n\n event.preventDefault();\n } else {\n if (parsedText.length == 2) {\n if (parsedText[0].some(t => isNaN(t.replace(',', '.')) || Number(t) < 0 || Number(t) > 999)) {\n if (this.props.onError)\n this.props.onError('err_invalid_cost_values');\n\n event.preventDefault();\n return;\n }\n\n if (parsedText[1].some(t => isNaN(t) || Number(t) < 0 || Number(t) > 1440 || !Number.isInteger(Number(t)))) {\n if (this.props.onError)\n this.props.onError('err_invalid_duration_values');\n\n event.preventDefault();\n return;\n }\n\n const rows = parsedText[0].length;\n for (let i = 0; i < rows; i++) {\n if (iRow + i < this.state.values.length) {\n newData[iRow + i].cost = parsedText[0][i].replace(',', '.');\n newData[iRow + i].duration = parsedText[1][i];\n\n }\n else {\n newData.push({ cost: parsedText[0][i].replace(',', '.'), duration: parsedText[1][i] })\n }\n }\n\n this.setState({ values: newData });\n\n event.preventDefault();\n }\n else {\n if (parsedText[0].length == 1)\n return;\n\n if (parsedText[0].some(t => !isNaN(t.replace(',', '.')) || Number(t) < 0 || Number(t) > 999)) {\n if (this.props.onError)\n this.props.onError('err_invalid_cost_values');\n\n event.preventDefault();\n return;\n }\n\n parsedText[0].forEach((t, i) => {\n if (iRow + i < this.state.values.length) {\n newData[iRow + i].cost = t.replace(',', '.');\n }\n else {\n newData.push({ cost: t.replace(',', '.'), duration: '' })\n }\n });\n\n this.setState({ values: newData });\n\n event.preventDefault();\n }\n }\n }\n\n handleModalSubmit(data) {\n if (!data.step || !data.initialCost || !data.initialDuration || !data.amountPerStep) {\n this.setState({ modalError: __t('error_required_fields') })\n return;\n }\n\n const step = new bigDecimal(data.step);\n const jump = data.jump ? new bigDecimal(data.jump) : null;\n const initialCost = new bigDecimal(data.initialCost);\n const initialDuration = new bigDecimal(data.initialDuration);\n const amountPerStep = new bigDecimal(data.amountPerStep);\n const lastPoint = data.lastPoint ? new bigDecimal(data.lastPoint) : false;\n\n const minutesInDay = new bigDecimal(1440);\n\n if (this.props.isByCost) {\n let remainder = initialCost.divide(step);\n\n if (remainder.compareTo(remainder.round()) != 0) {\n this.setState({ modalError: __t('error_initial_cost_multiple_step') })\n return;\n }\n\n if (jump) {\n let r = jump.divide(step);\n\n if (jump.compareTo(step) < 0 || r.compareTo(r.round()) != 0) {\n this.setState({ modalError: __t('err_jump_multiple_step') })\n return;\n }\n }\n\n this.setState({\n loadingGenerate: true\n });\n\n let cost = initialCost;\n let duration = initialDuration;\n\n let values = [{\n duration: data.initialDuration,\n cost: cost.round(2, bigDecimal.RoundingModes.DOWN).getValue()\n }];\n\n while (duration.compareTo(minutesInDay) <= 0) {\n cost = cost.add(jump ? jump : step );\n duration = duration.add(amountPerStep);\n\n if (duration.compareTo(minutesInDay) > 0)\n break;\n\n if (lastPoint && cost.compareTo(lastPoint) > 0)\n break;\n\n values.push({\n duration: duration.getValue(),\n cost: cost.round(2, bigDecimal.RoundingModes.DOWN).getValue()\n });\n }\n\n this.setState({\n loadingGenerate: false,\n modalOpen: false,\n values: values,\n step: data.step\n });\n }\n else {\n if (data.initialDuration % data.step !== 0) {\n this.setState({ modalError: __t('error_initial_cost_multiple_step') })\n return;\n }\n\n this.setState({\n loadingGenerate: true\n });\n\n let cost = initialCost;\n let duration = initialDuration;\n\n let values = [{\n duration: data.initialDuration,\n cost: initialCost.round(6, bigDecimal.RoundingModes.DOWN).getValue()\n }];\n\n while (duration.compareTo(minutesInDay) <= 0) {\n cost = cost.add(amountPerStep);\n duration = duration + Number(data.step);\n if (duration.compareTo(minutesInDay) > 0)\n break;\n\n if (lastPoint && duration.compareTo(lastPoint) > 0)\n break;\n\n values.push({\n duration: duration,\n cost: cost.round(6, bigDecimal.RoundingModes.DOWN).getValue()\n });\n }\n\n this.setState({\n loadingGenerate: false,\n modalOpen: false,\n values: values,\n step: data.step\n });\n }\n }\n\n /* ref */\n returnData() {\n return ({\n step: this.state.step,\n values: this.state.values\n })\n }\n\n /* Utils */\n genNewRowObj() {\n return ({\n duration: '',\n cost: '',\n durationErr: false,\n costErr: false\n })\n }\n}\n\nPriceTable.propTypes = {\n isByCost: PropTypes.bool.isRequired,\n step: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n stepError: PropTypes.bool,\n values: PropTypes.array,\n refReturnData: PropTypes.func.isRequired,\n readonly: PropTypes.bool,\n onError: PropTypes.func\n}\n\nexport default withStyles(styles)(PriceTable);","import { Button, Grid, InputLabel, Table, TableBody, TableCell, TableHead, TableRow, withStyles } from '@material-ui/core';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { paidPeriodsActions } from '../../actions/paidPeriodsActions';\nimport translate from '../../locales';\nimport { productTypes, validateSections } from '../../_constants/emparkConstants';\nimport OutlinedTextField from '../OutlinedTextField';\nimport FractionTable from '../Tables/FractionTable';\nimport PriceDetailTable from '../Tables/PriceDetailTable';\nimport PriceTable from '../Tables/PriceTable';\n\n\n\n\nconst __t = translate;\n\nconst styles = () => ({\n containerButtons: {\n textAlign: 'right'\n },\n containerLabel: {\n textAlign: 'right',\n paddingRight: '10px'\n },\n containerIsTelpark: {\n textAlign: 'right'\n },\n upperCase: {\n textTransform: 'uppercase'\n },\n formControlFieldset: {\n paddingLeft: '5px',\n margin: 0,\n },\n checkbox: {\n margin: `0 5px`,\n },\n rowMargin: {\n marginTop: \"15px\"\n },\n buttonContainer: {\n textAlign: 'center',\n marginTop: '15px'\n },\n centerText: {\n textAlign: 'center'\n },\n daysError: {\n border: '1px solid red',\n borderRadius: '5px'\n }\n});\n\nclass DataForm extends React.Component {\n constructor(props) {\n super(props);\n\n let s = {\n step: '',\n startTime: '00:00',\n endTime: '00:00',\n startTimeError: false,\n endTimeError: false\n }\n\n if (this.props.paidPeriod) {\n s = {\n ...s,\n ...this.props.paidPeriod\n }\n }\n\n this.state = s;\n\n this.handleTimeChange = this.handleTimeChange.bind(this);\n this.returnData = this.returnData.bind(this);\n }\n\n componentDidMount() {\n this.props.refReturnData(this.returnData);\n }\n\n componentDidUpdate(prevProps) {\n if (this.props != prevProps) {\n this.setState({\n ...this.props.paidPeriod\n })\n }\n }\n\n render() {\n const { paidPeriod, context, rate, classes } = this.props;\n\n return (\n \n \n {__t('from')} ({__t('inclusive')}):\n \n \n \n \n \n {__t('to')} ({__t('exclusive')}):\n \n \n \n \n {rate.productTypeCode === productTypes.rotation ?\n [\n \n {__t('type')}:\n ,\n \n \n \n ]\n :\n \n }\n \n )\n }\n\n /* Events */\n handleTimeChange(type) {\n let table = this;\n\n return function (e) {\n const regexTime = /^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$/;\n let time = e.target.value;\n\n const prevTime = type === 'start' ? table.state.startTime : table.state.endTime;\n if (time.length === 2 && !time.includes(\":\") && !prevTime.includes(\":\"))\n time = time + \":\";\n\n const correctFormat = time.match(regexTime);\n\n if (type === 'start')\n table.setState({ startTime: time, startTimeError: !correctFormat })\n else\n table.setState({ endTime: time, endTimeError: !correctFormat })\n }\n }\n\n returnData() {\n return this.state;\n }\n}\n\nDataForm.propTypes = {\n context: PropTypes.object,\n rate: PropTypes.object,\n paidPeriod: PropTypes.object,\n readonly: PropTypes.bool,\n refReturnData: PropTypes.func.isRequired\n}\n\nconst PaidPeriodDataForm = withStyles(styles)(DataForm);\n\nclass PaidPeriodForm extends React.Component {\n constructor(props) {\n super(props);\n\n this.viewDetail = this.viewDetail.bind(this);\n this.returnData = this.returnData.bind(this);\n }\n\n componentDidMount() {\n this.props.refReturnData(this.returnData);\n }\n\n componentDidUpdate(prevProps) {\n // if (this.props != prevProps) {\n // this.setState({\n // ...this.props.schedule,\n // daysBitMask: this.props.schedule ? String(this.props.schedule.daysBitMask) : '',\n // })\n // }\n }\n\n render() {\n const { paidPeriod, context, rate, classes } = this.props;\n\n const p = paidPeriod ?\n {\n startTime: paidPeriod.startTime,\n startTimeError: paidPeriod.startTimeError,\n endTime: paidPeriod.endTime,\n endTimeError: paidPeriod.endTimeError,\n }\n :\n null\n\n return (\n
\n this.paidPeriodDataSubmit = formSubmit}\n />\n \n {rate.productTypeCode === productTypes.rotation ?\n context.onStreet ?\n [\n \n\n ,\n \n this.submitPriceTable = returnData}\n readonly={this.props.readonly}\n onError={this.props.onError}\n />\n ,\n \n\n \n ]\n :\n [\n \n \n nada\n \n this.refFractionTable = fractionTable}\n readonly={this.props.readonly}\n />\n ,\n ,\n \n \n {__t('detail')}\n \n\n this.detailTable = genTable}\n />\n ,\n ]\n :\n null\n }\n\n \n
\n )\n }\n\n viewDetail() {\n this.props.setError(null);\n\n const data = this.refFractionTable.returnData();\n\n const validation = validateSections(data.step, data.values);\n if (validation.errors.length > 0) {\n this.refFractionTable.updateValues(validation.fractions)\n this.props.setError(validation.errors);\n return;\n }\n\n this.detailTable.generateDetail(data.step, data.values);\n }\n\n returnData() {\n let data = this.paidPeriodDataSubmit();\n\n if (this.props.rate.productTypeCode === productTypes.rotation) {\n if (this.props.context.onStreet) {\n const priceTableValues = this.submitPriceTable();\n\n data.step = priceTableValues.step;\n data.schedulePrices = priceTableValues.values.map(v => v);\n }\n else {\n const fractionTableValues = this.refFractionTable.returnData();\n\n data.step = fractionTableValues.step;\n data.scheduleFractions = fractionTableValues.values;\n }\n }\n\n return data;\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n setError: (error) => {\n dispatch(paidPeriodsActions.setError(error))\n }\n }\n}\n\nPaidPeriodForm.propTypes = {\n context: PropTypes.object,\n rate: PropTypes.object,\n paidPeriod: PropTypes.object,\n readonly: PropTypes.bool,\n refReturnData: PropTypes.func.isRequired,\n onError: PropTypes.func\n}\n\nexport default connect(null, mapDispatchToProps)(withStyles(styles)(PaidPeriodForm));","import {\n Paper, withStyles\n} from '@material-ui/core';\nimport moment from 'moment';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { paidPeriodsActions } from '../../../actions/paidPeriodsActions';\nimport { ratesActions } from '../../../actions/ratesActions';\nimport translate from '../../../locales';\nimport {\n APP_CLAIMS, hasPermission,\n pageModes,\n paidPeriodReference,\n productTypes,\n scheduleTypes,\n styleWithCommonClasses,\n tabDisplays,\n validateSections\n} from '../../../_constants/emparkConstants';\nimport ErrorPaidPeriod from '../../Dialogs/ErrorPaidPeriod';\nimport ErrorMessage from '../../ErrorMessage';\nimport PaidPeriodForm from '../../Forms/PaidPeriodForm';\nimport TitleToolbar from '../../Forms/TitleToolbar';\nimport LoadingPaper from '../../LoadingPaper';\n\nimport bigDecimal from 'js-big-decimal'\nimport { schedulesActions } from '../../../actions/schedulesActions';\nimport { generalActions } from '../../../actions/generalActions';\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n errorText: {\n marginTop: '10px',\n marginBottom: '10px'\n }\n});\n\nclass PaidPeriodDetailPage extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n paidPeriod: this.props.paidPeriod\n }\n\n this.handleSubmit = this.handleSubmit.bind(this);\n }\n\n componentDidMount() {\n const { paidPeriod, router } = this.props;\n\n if (router.mode !== pageModes.add) {\n this.setState({\n paidPeriod: paidPeriod\n })\n }\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.paidPeriod != prevProps.paidPeriod || this.props.router.mode != prevProps.router.mode) {\n let pp = this.props.paidPeriod;\n\n this.setState({\n paidPeriod: pp\n })\n }\n }\n\n render() {\n const { paidPeriod, classes, router, } = this.props;\n\n const title = router.mode === pageModes.duplicate ? __t('duplicate') :\n router.mode === pageModes.add ? __t('create') : router.mode === pageModes.edit ? __t('edit') : __t('view');\n\n if (this.props.loading)\n return (\n \n )\n\n if (router.mode === pageModes.add || router.mode === pageModes.edit || router.mode === pageModes.duplicate)\n return (\n
\n \n {\n this.props.changeTabDisplay(tabDisplays.index)\n this.props.changeMode(pageModes.list)\n }\n :\n () => {\n this.setState({ paidPeriod: this.props.paidPeriod })\n this.props.changeMode(pageModes.view, this.state.paidPeriod.id);\n }\n }\n onSave={this.handleSubmit}\n >\n \n this.props.setErrorPaidPeriodsOverlap(null)}\n />\n this.submitForm = returnData}\n onError={(msg) => this.props.showToastError(__t(msg))}\n />\n \n \n
\n )\n\n return (\n
\n \n this.props.changeMode(pageModes.edit, this.state.paidPeriod.id))}\n onBack={() => {\n this.props.changeTabDisplay(tabDisplays.index)\n this.props.changeMode(pageModes.list)\n }}\n onDuplicate={false && hasPermission(this.props.userRole, APP_CLAIMS.SCH_C) && this.props.tabDisplay === tabDisplays.index && (() => this.props.changeMode(pageModes.duplicate, this.state.paidPeriod.id))}\n >\n this.submitForm = returnData}\n readonly\n />\n \n \n \n
\n )\n }\n\n handleSubmit() {\n this.props.setError(null)\n var data = this.submitForm();\n\n data.startTimeError = false;\n data.endTimeError = false;\n data.stepError = false;\n\n let errors = [];\n\n if (!data.startTime || !data.endTime || (this.props.rate.productTypeCode === productTypes.rotation && !data.step)) {\n errors.push(__t('error_required_fields'));\n\n if (!data.startTime)\n data.startTimeError = true;\n if (!data.endTime)\n data.endTimeError = true;\n if (!data.step)\n data.stepError = true;\n }\n\n if (data.startTime && !data.startTimeError && data.endTime && !data.endTimeError) {\n const startTime = moment(data.startTime, 'HH:mm');\n let endTime = moment(data.endTime, 'HH:mm');\n\n if (data.endTime == '00:00')\n endTime = endTime.add(1, 'days');\n\n if (!startTime.isBefore(endTime))\n errors.push(__t('error_end_time'))\n }\n\n if (this.props.rate.productTypeCode === productTypes.rotation) {\n if (this.props.context.onStreet) {\n const onStreet = this.props.context.onStreet;\n const step = new bigDecimal(data.step);\n\n let prevCost = new bigDecimal(0), prevDuration = new bigDecimal(0);\n\n let errorEmpty = false, errorMultipleStep = false, errorStep = false, errorIncrement = false;\n data.schedulePrices = data.schedulePrices.map((p, i) => {\n p.costError = p.cost == '';\n p.durationError = p.duration == '';\n\n if (!errorEmpty)\n errorEmpty = p.costError || p.durationError;\n\n const cost = new bigDecimal(p.cost);\n const duration = new bigDecimal(p.duration);\n\n if (i > 0) {\n let errCostIncrement = false, errDurationIncrement = false, errCostMultipleStep = false, errDurationMultipleStep = false;\n\n if (onStreet) {\n errCostIncrement = cost.compareTo(prevCost) <= 0;\n errDurationIncrement = duration.compareTo(prevDuration) < 0;\n\n const remainder = cost.divide(step);\n errCostMultipleStep = remainder.compareTo(remainder.round()) != 0;\n\n if (!errorMultipleStep)\n errorMultipleStep = errCostMultipleStep;\n if (!errorIncrement)\n errorIncrement = errCostIncrement || errDurationIncrement;\n }\n else {\n errCostIncrement = cost.compareTo(prevCost) < 0;\n errDurationIncrement = duration.compareTo(prevDuration) <= 0;\n\n errDurationMultipleStep = (Number(p.duration) % Number(data.step)) != 0;\n\n if (!errorMultipleStep)\n errorMultipleStep = errDurationMultipleStep;\n if (!errorIncrement)\n errorIncrement = errCostIncrement || errDurationIncrement;\n }\n\n p.costError = p.costError || errCostIncrement || errCostMultipleStep;\n p.durationError = p.durationError || errDurationIncrement || errDurationMultipleStep;\n } else {\n let errCostMultiple = false, errDurationMultiple = false;\n\n if (onStreet) {\n const remainder = cost.divide(step);\n\n errCostMultiple = cost.compareTo(step) < 0 || remainder.compareTo(remainder.round()) != 0;\n }\n else {\n const remainder = cost.divide(step);\n\n errDurationMultiple = remainder.compareTo(remainder.round()) != 0;\n }\n\n p.costError = p.costError || errCostMultiple;\n p.durationError = p.durationError || errDurationMultiple;\n\n if (!errorMultipleStep) {\n errorMultipleStep = errCostMultiple || errDurationMultiple;\n }\n }\n\n prevCost = cost || 0;\n prevDuration = duration || 0;\n\n return p;\n })\n\n if (errorMultipleStep) {\n errors.push(__t(onStreet ? 'error_multiple_step_cost' : 'error_multiple_step_duration'));\n }\n\n if (errorIncrement) {\n errors.push(__t('error_price_table_sequence'));\n }\n\n if (errorEmpty) {\n errors.push(__t('error_empty_values_price_table'));\n }\n }\n else {\n const validation = validateSections(data.step, data.scheduleFractions);\n\n if (validation.errors.length > 0)\n errors = [...errors, ...validation.errors];\n }\n }\n\n\n let paidPeriod = {\n ...this.state.paidPeriod,\n ...data,\n scheduleTypeCode: this.props.context.onStreet ? scheduleTypes.cost : scheduleTypes.duration,\n }\n\n if (this.props.reference === paidPeriodReference.schedule) {\n paidPeriod.scheduleId = this.props.referenceId;\n }\n else {\n paidPeriod.specialDayId = this.props.referenceId;\n }\n\n if (this.props.paidPeriod) {\n paidPeriod.id = this.props.paidPeriod.id;\n }\n\n this.setState({ paidPeriod: paidPeriod });\n\n if (errors.length > 0) {\n this.props.setError(errors);\n\n return;\n }\n\n if (this.props.router.mode === pageModes.duplicate) {\n // this.props.duplicate(this.props.context.id, this.props.router.id, rate);\n }\n else {\n this.props.sendPaidPeriod(this.props.reference, this.props.referenceId, paidPeriod);\n }\n\n };\n}\n\nfunction mapStateToProps(state) {\n return {\n paidPeriod: state.paidPeriodsReducer.paidPeriod,\n router: state.paidPeriodsReducer.router,\n error: state.paidPeriodsReducer.error,\n errorSchedules: state.paidPeriodsReducer.paidPeriodsOverlapError,\n userRole: state.usersReducer.userRole,\n loading: state.paidPeriodsReducer.loading\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n sendPaidPeriod: (reference, referenceId, paidPeriod) => {\n dispatch(paidPeriodsActions.sendPaidPeriod(reference, referenceId, paidPeriod))\n },\n changeMode: (mode, id) => {\n dispatch(paidPeriodsActions.changeMode(mode, id))\n },\n changeTabDisplay: (tabDisplay) => {\n dispatch(schedulesActions.setTabDisplay(tabDisplay))\n },\n setError: (error) => {\n dispatch(paidPeriodsActions.setError(error))\n },\n setErrorPaidPeriodsOverlap: (error) => {\n dispatch(paidPeriodsActions.setErrorPaidPeriodsOverlap(error))\n },\n duplicate: (contextId, rateId, newRate) => {\n dispatch(paidPeriodsActions.duplicate(contextId, rateId, newRate));\n },\n showToastError: (msg) => {\n dispatch(generalActions.showToastError(msg))\n }\n }\n}\n\nPaidPeriodDetailPage.propTypes = {\n context: PropTypes.object.isRequired,\n rate: PropTypes.object.isRequired,\n reference: PropTypes.string,\n referenceId: PropTypes.string,\n router: PropTypes.object,\n loading: PropTypes.bool,\n error: PropTypes.any\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(PaidPeriodDetailPage));","import {\n Paper, withStyles\n} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { paidPeriodsActions } from '../../../actions/paidPeriodsActions';\nimport { schedulesActions } from '../../../actions/schedulesActions';\nimport translate from '../../../locales';\nimport {\n APP_CLAIMS,\n hasPermission,\n pageModes,\n styleWithCommonClasses,\n tabDisplays\n} from '../../../_constants/emparkConstants';\nimport ErrorDialog from '../../Dialogs/ErrorDialog';\nimport LoadingPaper from '../../LoadingPaper';\nimport EMTable from '../../Tables/EMTable';\n\n\n\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses();\n\nconst PaidPeriodsTablePage = props => {\n /* Events */\n const handleDelete = (paidPeriod) => {\n props.deletePaidPeriod(props.reference, props.referenceId, paidPeriod.id);\n }\n\n /* Render */\n const { paidPeriods, classes } = props;\n\n const rowsPaidPeriodsTable = [\n { id: 'startTime', align: 'center', disablePadding: false, label: `${__t('from')} ${__t('inclusive_helper')}` },\n { id: 'endTime', align: 'center', disablePadding: false, label: `${__t('to')} ${__t('exclusive_helper')}` }\n ];\n\n if (props.loading)\n return (\n \n )\n\n return (\n
\n \n props.setError(null)}\n />\n {\n props.changeTabDisplay(tabDisplays.secondary)\n props.changeMode(pageModes.add)\n })}\n onView={(paidPeriod) => {\n props.fetchPaidPeriod(paidPeriod.id);\n // props.changeTabDisplay(tabDisplays.secondary)\n // props.changeMode(pageModes.view, schedule.id)\n }}\n onDelete={handleDelete}\n onDeleteCondition={() => hasPermission(props.userRole, APP_CLAIMS.SCH_D)}\n />\n \n
\n )\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.paidPeriodsReducer.router,\n paidPeriods: state.paidPeriodsReducer.paidPeriods,\n error: state.paidPeriodsReducer.error,\n userRole: state.usersReducer.userRole,\n loading: state.paidPeriodsReducer.loading\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n deletePaidPeriod: (reference, referenceId, paidPeriodId) => {\n dispatch(paidPeriodsActions.deletePaidPeriod(reference, referenceId, paidPeriodId))\n },\n changeMode: (mode, id) => {\n dispatch(paidPeriodsActions.changeMode(mode, id))\n },\n changeTabDisplay: (tabDisplay) => {\n dispatch(schedulesActions.setTabDisplay(tabDisplay))\n },\n fetchPaidPeriod(paidPeriodId) {\n dispatch(paidPeriodsActions.fetchOnPaidPeriod(paidPeriodId))\n },\n setError: (error) => {\n dispatch(paidPeriodsActions.setError(error))\n }\n }\n}\n\nPaidPeriodsTablePage.propTypes = {\n context: PropTypes.object.isRequired,\n rate: PropTypes.object.isRequired,\n reference: PropTypes.string,\n referenceId: PropTypes.string,\n router: PropTypes.object,\n loading: PropTypes.bool,\n error: PropTypes.string,\n changeMode: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(PaidPeriodsTablePage));","import { withStyles } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\nimport { connect } from 'react-redux';\nimport { paidPeriodsActions } from '../../../actions/paidPeriodsActions';\nimport translate from '../../../locales';\nimport {\n pageModes, styleWithCommonClasses\n} from '../../../_constants/emparkConstants';\nimport PaidPeriodDetailPage from './PaidPeriodDetailPage';\nimport PaidPeriodsTablePage from './PaidPeriodsTablePage';\n\n\n\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n tabPanel: {\n backgroundColor: 'white'\n }\n});\n\nconst PaidPeriodsRouter = props => {\n useEffect(() => {\n props.fetchPaidPeriods(props.reference, props.referenceId);\n props.changeMode(pageModes.list);\n \n return () => {\n\n }\n }, []);\n\n if(props.router.mode === pageModes.list)\n return (\n \n )\n \n return(\n \n )\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.paidPeriodsReducer.router\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n changeMode: (mode, id) => {\n dispatch(paidPeriodsActions.changeMode(mode, id))\n },\n fetchPaidPeriods: (reference, referenceId) => {\n dispatch(paidPeriodsActions.fetchPaidPeriods(reference, referenceId))\n }\n }\n}\n\nPaidPeriodsRouter.propTypes = {\n context:PropTypes.object.isRequired,\n rate:PropTypes.object.isRequired,\n reference: PropTypes.string,\n referenceId: PropTypes.string,\n router: PropTypes.object,\n changeMode: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(PaidPeriodsRouter));","import {\n Paper, withStyles\n} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { ratesActions } from '../../../actions/ratesActions';\nimport { schedulesActions } from '../../../actions/schedulesActions';\nimport translate from '../../../locales';\nimport {\n APP_CLAIMS, hasPermission,\n pageModes, paidPeriodReference, styleWithCommonClasses,\n tabDisplays\n} from '../../../_constants/emparkConstants';\nimport ErrorSchedule from '../../Dialogs/ErrorSchedule';\nimport ErrorMessage from '../../ErrorMessage';\nimport ScheduleForm from '../../Forms/ScheduleForm';\nimport TitleToolbar from '../../Forms/TitleToolbar';\nimport LoadingPaper from '../../LoadingPaper';\nimport PaidPeriodsRouter from '../PaidPeriods/PaidPeriodsRouter';\n\n\n\n\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n errorText: {\n marginTop: '10px',\n marginBottom: '10px'\n },\n paidPeriodsContainer: {\n border: '1px solid lightgray',\n marginTop: '30px'\n }\n});\n\nclass ScheduleDetailPage extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n schedule: this.props.schedule\n }\n\n this.handleSubmit = this.handleSubmit.bind(this);\n }\n\n componentDidMount() {\n const { schedule, router } = this.props;\n\n if (router.mode !== pageModes.add) {\n this.setState({\n schedule: schedule\n })\n }\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.schedule != prevProps.schedule || this.props.router.mode != prevProps.router.mode) {\n let s = this.props.schedule;\n\n this.setState({\n schedule: s\n })\n }\n }\n\n render() {\n const { classes, router, tabDisplay } = this.props;\n\n const title = router.mode === pageModes.duplicate ? __t('duplicate') :\n router.mode === pageModes.add ? __t('create') : router.mode === pageModes.edit ? __t('edit') : __t('view');\n\n if (this.props.loading)\n return (\n \n )\n\n if (router.mode === pageModes.add || router.mode === pageModes.edit || router.mode === pageModes.duplicate)\n return (\n
\n \n {\n this.props.changeTabDisplay(tabDisplays.index)\n this.props.changeMode(pageModes.list)\n }\n :\n () => {\n this.setState({ schedule: this.props.schedule })\n this.props.changeMode(pageModes.view, this.state.schedule.id);\n }\n }\n onSave={this.handleSubmit}\n >\n \n this.props.setErrorSchedulesOverlap(null)}\n />\n this.submitForm = returnData}\n />\n \n \n
\n )\n\n return (\n
\n \n this.props.changeMode(pageModes.edit, this.state.schedule.id))}\n onBack={tabDisplay === tabDisplays.index ?\n () => {\n this.props.changeTabDisplay(tabDisplays.index)\n this.props.changeMode(pageModes.list)\n }\n :\n null\n }\n onDuplicate={false && hasPermission(this.props.userRole, APP_CLAIMS.SCH_C) && this.props.tabDisplay == tabDisplays.index && (() => this.props.changeMode, pageModes.duplicate, this.state.schedule.id)}\n >\n this.submitForm = returnData}\n readonly\n />\n \n
\n \n
\n \n \n
\n )\n }\n\n handleSubmit() {\n this.props.setError(null)\n var data = this.submitForm();\n\n let errors = [];\n\n if (data.formError) {\n errors.push(__t('error_required_fields'));\n }\n\n const schedule = {\n ...this.state.schedule,\n ...data.formData,\n rateId: this.props.rate.id\n }\n\n this.setState({ schedule: schedule });\n\n if (errors.length > 0) {\n this.props.setError(errors);\n\n return;\n }\n\n if (this.props.router.mode === pageModes.duplicate) {\n this.props.duplicate(this.props.rate.id, this.props.router.id, schedule);\n }\n else {\n this.props.sendSchedule(this.props.rate.id, schedule);\n }\n };\n\n}\n\nfunction mapStateToProps(state) {\n return {\n schedule: state.schedulesReducer.schedule,\n router: state.schedulesReducer.router,\n error: state.schedulesReducer.error,\n errorSchedules: state.schedulesReducer.schedulesOverlapError,\n userRole: state.usersReducer.userRole,\n loading: state.schedulesReducer.loading,\n tabDisplay: state.schedulesReducer.tabDisplay\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n sendSchedule: (rateId, schedule) => {\n dispatch(schedulesActions.sendSchedule(rateId, schedule))\n },\n changeMode: (mode, id) => {\n dispatch(schedulesActions.changeMode(mode, id))\n },\n changeTabDisplay: (tabDisplay) => {\n dispatch(ratesActions.setTabDisplay(tabDisplay))\n },\n setError: (error) => {\n dispatch(schedulesActions.setError(error))\n },\n setErrorSchedulesOverlap: (error) => {\n dispatch(schedulesActions.setErrorSchedulesOverlap(error))\n },\n duplicate: (rateId, originalId, newSchedule) => {\n dispatch(schedulesActions.duplicate(rateId, originalId, newSchedule));\n },\n }\n}\n\nScheduleDetailPage.propTypes = {\n context: PropTypes.object.isRequired,\n rate: PropTypes.object.isRequired,\n schedules: PropTypes.object,\n router: PropTypes.object,\n loading: PropTypes.bool,\n error: PropTypes.string\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(ScheduleDetailPage));","import {\n Paper, withStyles\n} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { ratesActions } from '../../../actions/ratesActions';\nimport { schedulesActions } from '../../../actions/schedulesActions';\nimport translate from '../../../locales';\nimport {\n APP_CLAIMS,\n hasPermission,\n pageModes,\n productTypes,\n styleWithCommonClasses,\n tabDisplays\n} from '../../../_constants/emparkConstants';\nimport ErrorDialog from '../../Dialogs/ErrorDialog';\nimport LoadingPaper from '../../LoadingPaper';\nimport EMTable from '../../Tables/EMTable';\n\n\n\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses();\n\nconst SchedulesTablePage = props => {\n /* Events */\n const handleDelete = (schedule) => {\n props.deleteSchedule(props.rate.id, schedule.id);\n }\n\n /* Render */\n const { schedules, classes } = props;\n\n const rowsPositionsTable = [\n {\n id: 'daysBitMask', align: 'center', disablePadding: false, label: __t('days'), formatter: function (value) {\n let days = [];\n\n const sDays = String(value);\n if (sDays.includes(\"1\"))\n days.push(__t('monday'));\n if (sDays.includes(\"2\"))\n days.push(__t('tuesday'));\n if (sDays.includes(\"3\"))\n days.push(__t('wednesday'));\n if (sDays.includes(\"4\"))\n days.push(__t('thursday'));\n if (sDays.includes(\"5\"))\n days.push(__t('friday'));\n if (sDays.includes(\"6\"))\n days.push(__t('saturday'));\n if (sDays.includes(\"7\"))\n days.push(__t('sunday'));\n\n return days.join(', ')\n }\n },\n ];\n\n if (props.loading)\n return (\n \n )\n\n const isOffStreetPrebook = !props.context.onStreet && props.rate.productTypeCode == productTypes.prebooks;\n\n return (\n
\n \n props.setError(null)}\n />\n {\n props.changeTabDisplay(tabDisplays.secondary)\n props.changeMode(pageModes.add)\n })}\n onView={(schedule) => {\n props.fetchSchedule(props.rate.id, schedule.id);\n // props.changeTabDisplay(tabDisplays.secondary)\n // props.changeMode(pageModes.view, schedule.id)\n }}\n onDelete={handleDelete}\n onDeleteCondition={() => hasPermission(props.userRole, APP_CLAIMS.SCH_D) && !isOffStreetPrebook}\n />\n \n
\n )\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.schedulesReducer.router,\n schedules: state.schedulesReducer.schedules,\n error: state.schedulesReducer.error,\n userRole: state.usersReducer.userRole,\n loading: state.schedulesReducer.loading\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n deleteSchedule: (rateId, scheduleId) => {\n dispatch(schedulesActions.deleteSchedule(rateId, scheduleId))\n },\n changeMode: (mode, id) => {\n dispatch(schedulesActions.changeMode(mode, id))\n },\n changeTabDisplay: (tabDisplay) => {\n dispatch(ratesActions.setTabDisplay(tabDisplay))\n },\n fetchSchedule(rateId, scheduleId) {\n dispatch(schedulesActions.fetchOneSchedule(rateId, scheduleId))\n },\n setError: (error) => {\n dispatch(schedulesActions.setError(error))\n }\n }\n}\n\nSchedulesTablePage.propTypes = {\n context: PropTypes.object.isRequired,\n rate: PropTypes.object.isRequired,\n router: PropTypes.object,\n loading: PropTypes.bool,\n error: PropTypes.string,\n changeMode: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(SchedulesTablePage));","import { withStyles } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\nimport { connect } from 'react-redux';\nimport { schedulesActions } from '../../../actions/schedulesActions';\nimport translate from '../../../locales';\nimport {\n pageModes, styleWithCommonClasses\n} from '../../../_constants/emparkConstants';\nimport ScheduleDetailPage from './ScheduleDetailPage';\nimport SchedulesTablePage from './SchedulesTablePage';\n\n\n\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n tabPanel: {\n backgroundColor: 'white'\n }\n});\n\nconst SchedulesRouter = props => {\n useEffect(() => {\n props.fetchSchedules(props.rate.id);\n props.changeMode(pageModes.list);\n \n return () => {\n\n }\n }, []);\n\n if(props.router.mode === pageModes.list)\n return (\n \n )\n \n return(\n \n )\n}\n\nfunction mapStateToProps(state) {\n return {\n schedules: state.schedulesReducer.schedules,\n router: state.schedulesReducer.router\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n changeMode: (mode, id) => {\n dispatch(schedulesActions.changeMode(mode, id))\n },\n fetchSchedules: (rateId) => {\n dispatch(schedulesActions.fetchSchedules(rateId))\n }\n }\n}\n\nSchedulesRouter.propTypes = {\n context:PropTypes.object.isRequired,\n rate:PropTypes.object.isRequired,\n schedules: PropTypes.array,\n router: PropTypes.object,\n changeMode: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(SchedulesRouter));","import { Grid, InputLabel, withStyles } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport DatePicker from \"react-datepicker\";\nimport translate from '../../locales';\nimport { toDateObject, toDateObjectFromJson } from '../../_helpers/dateConvert';\nimport OutlinedTextField from '../OutlinedTextField';\n\n\n\n\n\nconst __t = translate;\n\nconst styles = () => ({\n containerButtons: {\n textAlign: 'right'\n },\n containerLabel: {\n textAlign: 'right',\n paddingRight: '10px'\n },\n containerIsTelpark: {\n textAlign: 'right'\n },\n upperCase: {\n textTransform: 'uppercase'\n },\n formControlFieldset: {\n paddingLeft: '5px',\n margin: 0,\n },\n checkbox: {\n margin: `0 5px`,\n },\n rowMargin: {\n marginTop: \"15px\"\n },\n buttonContainer: {\n textAlign: 'center',\n marginTop: '15px'\n },\n centerText: {\n textAlign: 'center'\n },\n daysError: {\n border:'1px solid red',\n borderRadius: '5px'\n }\n});\n\nclass SpecialDayForm extends React.Component {\n constructor(props) {\n super(props);\n\n let s = {\n dayDate: '',\n dayDateError: false\n }\n\n if(this.props.specialDay) {\n s = {\n ...s,\n ...this.props.specialDay,\n dayDate: toDateObjectFromJson(this.props.specialDay.dayDate)\n }\n }\n\n this.state = s;\n\n this.returnData = this.returnData.bind(this);\n }\n\n componentDidMount() {\n this.props.refReturnData(this.returnData);\n }\n\n componentDidUpdate(prevProps) {\n if (this.props != prevProps) {\n this.setState({\n ...this.props.specialDay,\n dayDate: this.props.specialDay ? toDateObjectFromJson(this.props.specialDay.dayDate) : '',\n })\n }\n }\n\n render() {\n const { classes } = this.props;\n\n return (\n
\n \n \n {__t('date')}:\n \n \n {\n this.setState({ dayDate: date})\n }}\n customInput={\n \n }\n readOnly={this.props.readonly}\n maxDate={toDateObject('01/01/3000')}\n />\n \n \n \n
\n )\n }\n\n returnData() {\n this.setState({\n dayDateError: false\n })\n\n let dayDateError = false;\n if (!this.state.dayDate || this.state.dayDate == \"\") {\n dayDateError = true;\n }\n\n if (dayDateError) {\n this.setState({\n dayDateError: dayDateError\n })\n }\n\n let returnObj = {\n formData: {\n dayDate: this.state.dayDate\n },\n formError: dayDateError\n };\n\n return returnObj;\n }\n}\n\nSpecialDayForm.propTypes = {\n specialDay: PropTypes.object,\n readonly: PropTypes.bool,\n refReturnData: PropTypes.func.isRequired\n}\n\nexport default withStyles(styles)(SpecialDayForm);","import {\n Button,\n Paper, withStyles\n} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { ratesActions } from '../../../actions/ratesActions';\nimport { specialDaysActions } from '../../../actions/specialDaysActions';\nimport translate from '../../../locales';\nimport {\n APP_CLAIMS, hasPermission,\n pageModes, paidPeriodReference, styleWithCommonClasses,\n tabDisplays\n} from '../../../_constants/emparkConstants';\nimport { toDateJsonString, validateDate } from '../../../_helpers/dateConvert';\nimport ErrorSchedule from '../../Dialogs/ErrorSchedule';\nimport ErrorMessage from '../../ErrorMessage';\nimport SpecialDayForm from '../../Forms/SpecialDayForm';\nimport TitleToolbar from '../../Forms/TitleToolbar';\nimport LoadingPaper from '../../LoadingPaper';\nimport PaidPeriodsRouter from '../PaidPeriods/PaidPeriodsRouter';\nimport MaterialTable from 'material-table';\nimport DatePicker from \"react-datepicker\";\nimport moment from 'moment';\nimport { isTextFromExcel, parsePasteFromExcel } from '../../../_helpers/utility';\nimport CloseIcon from '@material-ui/icons/Close';\nimport OutlinedTextField from '../../OutlinedTextField';\nimport { generalActions } from '../../../actions/generalActions';\n\n\n\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n errorText: {\n marginTop: '10px',\n marginBottom: '10px'\n },\n paidPeriodsContainer: {\n border: '1px solid lightgray',\n marginTop: '30px'\n }\n});\n\nclass SpecialDayDetailPage extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n specialDay: this.props.specialDay,\n data: [{ dayDate: '' }]\n }\n\n this.handleSubmit = this.handleSubmit.bind(this);\n this.addRow = this.addRow.bind(this);\n this.deleteRow = this.deleteRow.bind(this);\n this.pasteOnCell = this.pasteOnCell.bind(this);\n this.handleSubmitDuplicate = this.handleSubmitDuplicate.bind(this);\n }\n\n componentDidMount() {\n const { specialDay, router } = this.props;\n\n if (router.mode !== pageModes.add) {\n this.setState({\n specialDay: specialDay\n })\n }\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.specialDay != prevProps.specialDay || this.props.router.mode != prevProps.router.mode) {\n this.setState({\n specialDay: this.props.specialDay\n })\n }\n }\n\n render() {\n const { classes, router, } = this.props;\n\n const title = router.mode === pageModes.add ? __t('create') : router.mode === pageModes.edit ? __t('edit') : __t('view');\n\n if (this.props.loading)\n return (\n \n )\n\n if (router.mode === pageModes.duplicate)\n return (\n
\n \n {\n this.props.changeTabDisplay(tabDisplays.index)\n this.props.changeMode(pageModes.list)\n }\n :\n () => {\n this.setState({ specialDay: this.props.specialDay })\n this.props.changeMode(pageModes.view, this.state.specialDay.id);\n }\n }\n onSave={this.handleSubmitDuplicate}\n >\n \n\n
\n \n
\n {\n this.setState({\n data: this.state.data.map((d, i) => {\n if (i != rowData.tableData.id)\n return d;\n\n d.dayDate = date\n\n return d\n })\n });\n // setState(rowData.tableData.id, date);\n }}\n customInput={\n this.pasteOnCell(e, rowData.tableData.id, e.clipboardData.getData('Text'))}\n // error={this.state.dayDateError}\n />\n }\n readOnly={this.props.readonly}\n />\n
\n }\n ]}\n options={{\n search: false,\n paging: false,\n toolbar: false,\n actionsColumnIndex: -1\n }}\n actions={[\n {\n icon: () => ,\n tooltip: __t('delete'),\n onClick: (event, rowData) => this.deleteRow(rowData.tableData.id)\n },\n ]}\n data={this.state.data}\n localization={{\n header: {\n actions: ''\n },\n body: {\n emptyDataSourceMessage: '',\n }\n }}\n />\n
\n\n
\n \n
\n \n \n
\n )\n\n if (router.mode === pageModes.add || router.mode === pageModes.edit)\n return (\n
\n \n {\n this.props.changeTabDisplay(tabDisplays.index)\n this.props.changeMode(pageModes.list)\n }\n :\n () => {\n this.setState({ specialDay: this.props.specialDay })\n this.props.changeMode(pageModes.view, this.state.specialDay.id);\n }\n }\n onSave={this.handleSubmit}\n >\n \n this.props.setErrorSpecialDaysOverlap(null)}\n />\n this.submitForm = returnData}\n />\n \n \n
\n )\n\n return (\n
\n \n this.props.changeMode(pageModes.edit, this.state.specialDay.id))}\n onBack={() => {\n this.props.changeTabDisplay(tabDisplays.index)\n this.props.changeMode(pageModes.list)\n }}\n onDuplicate={hasPermission(this.props.userRole, APP_CLAIMS.SCH_E) && (() => {\n this.props.changeMode(pageModes.duplicate, this.state.specialDay.id);\n })}\n >\n this.submitForm = returnData}\n readonly\n />\n \n
\n \n
\n \n \n
\n )\n }\n\n handleSubmitDuplicate() {\n this.props.setError(null);\n\n /* validate if empty fields */\n if (this.state.data.length == 0 || this.state.data.some(d => d.dayDate == '')) {\n this.props.showToastError(__t('error_no_values'));\n return;\n }\n\n /* validate dates */\n if (this.state.data.some(d => !validateDate(d.dayDate, 'DD/MM/YYYY'))) {\n this.props.showToastError(__t('err_invalid_dates'));\n return;\n }\n\n /* validate duplicates */\n let setDayDate = new Set(this.state.data.map(d => toDateJsonString(d.dayDate)));\n if (setDayDate.size != this.state.data.length) {\n this.props.showToastError(__t('error_duplicate_values'))\n return;\n }\n\n this.props.duplicate(this.props.rate.id, this.state.specialDay.id, this.state.data.map(d => ({dayDate: toDateJsonString(d.dayDate)})));\n }\n\n handleSubmit() {\n this.props.setError(null)\n var data = this.submitForm();\n\n let errors = [];\n\n if (data.formError) {\n errors.push(__t('error_required_fields'));\n }\n\n const specialDay = {\n ...this.state.specialDay,\n ...data.formData,\n dayDate: toDateJsonString(data.formData.dayDate),\n rateId: this.props.rate.id\n }\n\n this.setState({ specialDay: specialDay });\n\n if (errors.length > 0) {\n this.props.setError(errors);\n\n return;\n }\n\n this.props.sendSpecialDay(this.props.rate.id, specialDay);\n };\n\n addRow() {\n this.setState({ data: [...this.state.data, { dayDate: '' }] })\n }\n\n deleteRow(iRow) {\n this.setState({ data: this.state.data.filter((d, i) => iRow != i) })\n }\n\n pasteOnCell(event, iRow, text) {\n if (!text)\n return;\n\n if (!isTextFromExcel(text)) {\n return;\n }\n\n const parsedText = parsePasteFromExcel(text);\n if (parsedText.length > 1)\n return;\n\n let newData = [...this.state.data];\n\n /* validate dates */\n if (parsedText[0].some(t => !validateDate(t, 'DD/MM/YYYY'))) {\n this.props.showToastError(__t('err_invalid_dates'));\n\n event.preventDefault();\n return;\n }\n\n parsedText[0].forEach((t, i) => {\n if (iRow + i < this.state.data.length) {\n newData[iRow + i].dayDate = moment(t, 'DD/MM/YYYY', true).toDate();\n }\n else {\n newData.push({ dayDate: moment(t, 'DD/MM/YYYY', true).toDate() })\n }\n });\n\n this.setState({ data: newData });\n\n event.preventDefault();\n }\n}\n\nfunction mapStateToProps(state) {\n return {\n specialDay: state.specialDaysReducer.specialDay,\n router: state.specialDaysReducer.router,\n error: state.specialDaysReducer.error,\n errorSpecialDays: state.specialDaysReducer.specialDaysOverlapError,\n userRole: state.usersReducer.userRole,\n loading: state.specialDaysReducer.loading\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n sendSpecialDay: (rateId, specialDay) => {\n dispatch(specialDaysActions.sendSpecialDay(rateId, specialDay))\n },\n duplicate: (rateId, specialDayId, specialDays) => {\n dispatch(specialDaysActions.duplicate(rateId, specialDayId, specialDays))\n },\n changeMode: (mode, id) => {\n dispatch(specialDaysActions.changeMode(mode, id))\n },\n changeTabDisplay: (tabDisplay) => {\n dispatch(ratesActions.setTabDisplay(tabDisplay))\n },\n setError: (error) => {\n dispatch(specialDaysActions.setError(error))\n },\n setErrorSpecialDaysOverlap: (error) => {\n dispatch(specialDaysActions.setErrorSpecialDaysOverlap(error))\n },\n showToastError: (msg) => {\n dispatch(generalActions.showToastError(msg))\n }\n }\n}\n\nSpecialDayDetailPage.propTypes = {\n context: PropTypes.object.isRequired,\n rate: PropTypes.object.isRequired,\n specialDays: PropTypes.object,\n router: PropTypes.object,\n loading: PropTypes.bool,\n error: PropTypes.string\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(SpecialDayDetailPage));","import {\n MenuItem,\n Paper, Select, withStyles\n} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport { connect } from 'react-redux';\nimport { ratesActions } from '../../../actions/ratesActions';\nimport { specialDaysActions } from '../../../actions/specialDaysActions';\nimport translate from '../../../locales';\nimport {\n APP_CLAIMS,\n hasPermission,\n pageModes,\n styleWithCommonClasses,\n tabDisplays\n} from '../../../_constants/emparkConstants';\nimport { toDateObjectFromJson, toDateString } from '../../../_helpers/dateConvert';\nimport ErrorDialog from '../../Dialogs/ErrorDialog';\nimport LoadingPaper from '../../LoadingPaper';\nimport EMTable from '../../Tables/EMTable';\n\n\n\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n select: {\n width: '200px',\n }\n});\n\nconst SpecialDaysTablePage = props => {\n const [year, setYear] = useState(new Date().getFullYear())\n\n /* Events */\n const handleDelete = (specialDayId) => {\n props.deleteSpecialDay(props.rate.id, specialDayId.id);\n }\n\n /* Render */\n const { classes } = props;\n\n const rowsSpecialDaysTable = [\n {\n id: 'dayDate', align: 'center', disablePadding: false, label: __t('date'), formatter: function (value) {\n return toDateString(toDateObjectFromJson(value))\n }\n },\n ];\n\n if (props.loading)\n return (\n \n )\n\n let lstYears = [year];\n props.specialDays.forEach(f => {\n let y = toDateObjectFromJson(f.dayDate).getFullYear();\n\n if (!lstYears.find(ys => y === ys))\n lstYears.push(y);\n });\n\n lstYears = lstYears.sort((a, b) => b - a);\n\n const specialDays = props.specialDays.filter(f => toDateObjectFromJson(f.dayDate).getFullYear() === year)\n\n return (\n
\n \n props.setError(null)}\n />\n {\n props.changeTabDisplay(tabDisplays.secondary)\n props.changeMode(pageModes.add)\n })}\n onView={(specialDay) => {\n props.fetchSpecialDay(props.rate.id, specialDay.id);\n // props.changeTabDisplay(tabDisplays.secondary)\n // props.changeMode(pageModes.view, schedule.id)\n }}\n onDelete={handleDelete}\n onDeleteCondition={() => hasPermission(props.userRole, APP_CLAIMS.SPE_D)}\n filterComponent={\n {\n setYear(Number(e.target.value))\n }}\n inputProps={{ style: { paddingLeft: '15px' } }}>\n {lstYears.map((y, i) =>\n {y}\n )}\n }\n />\n \n
\n )\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.specialDaysReducer.router,\n specialDays: state.specialDaysReducer.specialDays,\n error: state.specialDaysReducer.error,\n userRole: state.usersReducer.userRole,\n loading: state.specialDaysReducer.loading,\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n deleteSpecialDay: (rateId, specialDayId) => {\n dispatch(specialDaysActions.deleteSpecialDay(rateId, specialDayId))\n },\n changeMode: (mode, id) => {\n dispatch(specialDaysActions.changeMode(mode, id))\n },\n changeTabDisplay: (tabDisplay) => {\n dispatch(ratesActions.setTabDisplay(tabDisplay))\n },\n fetchSpecialDay(rateId, scheduleId) {\n dispatch(specialDaysActions.fetchOneSpecialDay(rateId, scheduleId))\n },\n setError: (error) => {\n dispatch(specialDaysActions.setError(error))\n }\n }\n}\n\nSpecialDaysTablePage.propTypes = {\n context: PropTypes.object.isRequired,\n rate: PropTypes.object.isRequired,\n router: PropTypes.object,\n loading: PropTypes.bool,\n error: PropTypes.string,\n changeMode: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(SpecialDaysTablePage));","import { withStyles } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\nimport { connect } from 'react-redux';\nimport { specialDaysActions } from '../../../actions/specialDaysActions';\nimport translate from '../../../locales';\nimport {\n pageModes, styleWithCommonClasses\n} from '../../../_constants/emparkConstants';\nimport LoadingPaper from '../../LoadingPaper';\nimport SpecialDayDetailPage from './SpecialDayDetailPage';\nimport SpecialDaysTablePage from './SpecialDaysTablePage';\n\n\n\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n tabPanel: {\n backgroundColor: 'white'\n }\n});\n\nconst SpecialDaysRouter = props => {\n useEffect(() => {\n props.fetchSchedules(props.rate.id);\n props.changeMode(pageModes.list);\n \n return () => {\n\n }\n }, []);\n\n if(props.router.mode === pageModes.list)\n return (\n \n )\n \n return(\n \n )\n}\n\nfunction mapStateToProps(state) {\n return {\n schedules: state.specialDaysReducer.specialDays,\n router: state.specialDaysReducer.router\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n changeMode: (mode, id) => {\n dispatch(specialDaysActions.changeMode(mode, id))\n },\n fetchSchedules: (rateId) => {\n dispatch(specialDaysActions.fetchSpecialDays(rateId))\n }\n }\n}\n\nSpecialDaysRouter.propTypes = {\n context:PropTypes.object.isRequired,\n rate:PropTypes.object.isRequired,\n schedules: PropTypes.array,\n router: PropTypes.object,\n changeMode: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(SpecialDaysRouter));","import { Tab, Tabs, withStyles } from '@material-ui/core';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport translate from '../../locales';\nimport { freeDayReference, productTypes, styleWithCommonClasses, tabDisplays } from '../../_constants/emparkConstants';\nimport CommentsBoard from '../Sections/Comments/CommentsBoard';\nimport DisallowedPeriodsRouter from '../Sections/DisallowedPeriods/DisallowedPeriodsRouter';\nimport FareSelectionPointsPage from '../Sections/FareSelection/FareSelectionPointsPage';\nimport FreeDaysRouter from '../Sections/FreeDays/FreeDaysRouter';\nimport PeriodsRouter from '../Sections/Periods/PeriodsRouter';\nimport RateChannelsRouter from '../Sections/RateChannels/RateChannelsRouter';\nimport SchedulesRouter from '../Sections/Schedules/SchedulesRouter';\nimport SpecialDaysRouter from '../Sections/SpecialDays/SpecialDaysRouter';\n\n\n\n\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n container: {\n border: '1px solid lightgrey'\n },\n tabPanel: {\n borderBottom: '1px solid lightgrey'\n },\n tabContent: {\n marginTop: '20px'\n }\n});\n\nconst RotOnTabPanels = (props) => {\n const [tab, setTab] = useState(0);\n\n const { rate, context, classes, tabDisplay } = props;\nconsole.log(props);\n return (\n
\n setTab(index)}\n indicatorColor=\"primary\"\n textColor=\"primary\"\n variant=\"fullWidth\"\n >\n \n \n \n \n \n \n \n \n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n )\n}\n\nconst RotationOnTabPanels = withStyles(styles)(RotOnTabPanels);\n\nconst RotOffTabPanels = (props) => {\n const [tab, setTab] = useState(0);\n\n const { rate, context, classes, tabDisplay } = props;\n\n return (\n
\n setTab(index)}\n indicatorColor=\"primary\"\n textColor=\"primary\"\n variant=\"fullWidth\"\n >\n \n \n \n \n \n \n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n )\n}\n\nconst RotationOffTabPanels = withStyles(styles)(RotOffTabPanels);\n\nconst PassOnTabPanels = (props) => {\n const [tab, setTab] = useState(0);\n\n const { rate, context, classes, tabDisplay, onChangedTab } = props;\n\n return (\n
\n setTab(index)}\n indicatorColor=\"primary\"\n textColor=\"primary\"\n variant=\"fullWidth\"\n >\n \n \n \n \n \n \n \n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n )\n}\n\nconst PassesOnTabPanels = withStyles(styles)(PassOnTabPanels);\n\nconst PreAndMultipassOffTabPanelsDef = (props) => {\n const [tab, setTab] = useState(0);\n\n const { rate, context, classes, tabDisplay, onChangedTab } = props;\n\n return (\n
\n setTab(index)}\n indicatorColor=\"primary\"\n textColor=\"primary\"\n variant=\"fullWidth\"\n >\n \n \n \n \n \n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n )\n}\n\nconst PreAndMultipassOffTabPanels = withStyles(styles)(PreAndMultipassOffTabPanelsDef);\n\nconst OthOffTabPanels = (props) => {\n const [tab, setTab] = useState(0);\n\n const { rate, context, classes, tabDisplay, onChangedTab } = props;\n\n return (\n
\n setTab(index)}\n indicatorColor=\"primary\"\n textColor=\"primary\"\n variant=\"fullWidth\"\n >\n \n \n \n \n
\n \n
\n
\n \n
\n
\n \n
\n
\n )\n}\n\nconst OtherOffTabPanels = withStyles(styles)(OthOffTabPanels);\n\nconst RateTabPanel = (props) => {\n const { context, rate, tabDisplay } = props;\n\n if (rate.productTypeCode === productTypes.rotation) {\n if (context.onStreet) {\n return (\n \n )\n }\n\n return (\n \n )\n }\n\n if (rate.productTypeCode === productTypes.prebooks && context.onStreet) {\n return (\n \n )\n }\n\n if (rate.productTypeCode === productTypes.prebooks || rate.productTypeCode === productTypes.multipass) {\n return (\n \n )\n }\n\n return (\n \n )\n}\n\nRateTabPanel.propTypes = {\n context: PropTypes.object.isRequired,\n rate: PropTypes.object.isRequired,\n tabDisplay: PropTypes.string.isRequired,\n}\n\nexport default withStyles(styles)(RateTabPanel);\n","import {\n CircularProgress, Modal, Paper, Tooltip, withStyles\n} from '@material-ui/core';\nimport moment from 'moment';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { contextsActions } from '../../../actions/contextsActions';\nimport { ratesActions, RATES_SET_ERROR_EXPORT, RATE_TRANSLATION_ERROR, RATE_TRANSLATION_MODAL_HIDE, RATE_TRANSLATION_MODAL_SHOW } from '../../../actions/ratesActions';\nimport __t from '../../../locales';\nimport {\n APP_CLAIMS,\n getProductTypeTitle,\n hasPermission,\n pageModes,\n productTypes,\n rateTypes,\n styleWithCommonClasses,\n tabDisplays\n} from '../../../_constants/emparkConstants';\nimport { toDateObjectFromJson } from '../../../_helpers/dateConvert';\nimport ConfirmDialog from '../../Dialogs/ConfirmDialog';\nimport ErrorRateValidate from '../../Dialogs/ErrorRateValidate';\nimport TranslationDialog from '../../Dialogs/TranslationDialog';\nimport ErrorMessage from '../../ErrorMessage';\nimport RateForm from '../../Forms/RateForm';\nimport TitleToolbar from '../../Forms/TitleToolbar';\nimport StatusIcon from '../../StatusIcon';\nimport RateTabPanel from '../../TabPanels/RateTabPanel';\nimport bigDecimal from 'js-big-decimal'\nimport ErrorDialog from '../../Dialogs/ErrorDialog';\nimport { ratesService } from '../../../services/ratesService';\n\nconst styles = styleWithCommonClasses();\n\nclass RateDetailPage extends React.Component {\n constructor(props) {\n super(props);\n\n const { rates, router } = this.props;\n\n this.state = {\n rate: rates.find(c => c.id === router.id),\n tab: 0,\n modalValidateOpen: false,\n warning: {\n open: false,\n loading: false\n }\n }\n\n this.submitTranslations = this.submitTranslations.bind(this);\n this.handleValidateClick = this.handleValidateClick.bind(this);\n this.handleSubmit = this.handleSubmit.bind(this);\n this.checkIfTelparkChannel = this.checkIfTelparkChannel.bind(this);\n }\n\n componentDidMount() {\n const { context, rates, router } = this.props;\n\n if (router.mode !== pageModes.add) {\n const rate = rates.find(c => c.id === router.id);\n this.setState({\n rate: rate,\n })\n\n this.props.getTranslations(context.id, rate.id);\n }\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.rates !== prevProps.rates || this.props.router.mode !== prevProps.router.mode) {\n let r = { ...this.props.rates.find(r => r.id === this.props.router.id) };\n\n if (this.props.router.mode === pageModes.duplicate) {\n r.name = '';\n }\n\n this.setState({\n rate: r\n });\n }\n }\n\n render() {\n const { loading, classes, router, context, productTypeCode, tabDisplay } = this.props;\n\n if (loading || this.state.warning.loading)\n return (\n \n \n \n );\n\n const title = router.mode === pageModes.duplicate ? __t('duplicate') :\n router.mode === pageModes.add ? __t('create') :\n router.mode === pageModes.edit ? __t('edit') :\n __t('view');\n\n const productTypeTitle = getProductTypeTitle(context.onStreet, productTypeCode)\n\n const rate = this.props.rates.find(r => r.id === this.props.router.id);\n\n if (router.mode === pageModes.add || router.mode === pageModes.edit || router.mode === pageModes.duplicate) {\n return (\n
\n \n \n \n \n {\n this.props.changeTabDisplay(tabDisplays.index);\n this.props.changeMode(pageModes.list)\n }\n :\n () => {\n this.setState({ rate: rate })\n this.props.changeMode(pageModes.view, this.state.rate.id)\n }\n }\n onSave={this.handleSubmit}\n >\n this.submitForm = returnData}\n />\n \n \n \n
\n )\n }\n\n if (this.state.rate == null)\n return (\n \n \n \n )\n\n const isOffStreetPrebook = !context.onStreet && productTypeCode == productTypes.prebooks;\n return (\n
\n \n\n \n \n {\n this.props.setError(null);\n this.props.setErrorExport(null)\n }}\n />\n this.props.setErrorValidate(null)}\n />\n \n this.props.changeMode(pageModes.edit, this.state.rate.id) : null}\n onBack={tabDisplay === tabDisplays.index ?\n () => {\n this.props.changeTabDisplay(tabDisplays.index);\n this.props.changeMode(pageModes.list)\n }\n :\n null\n }\n onDuplicate={hasPermission(this.props.userRole, APP_CLAIMS.RATE_C) && !isOffStreetPrebook && tabDisplay === tabDisplays.index && (() => {\n this.props.changeMode(pageModes.duplicate, this.state.rate.id);\n })}\n onExport={tabDisplay === tabDisplays.index && (() => this.props.exportRate(context.id, rate.id))}\n onValidate={tabDisplay === tabDisplays.index && !isOffStreetPrebook && rate.isDraft && (() => {\n this.handleValidateClick();\n })}\n extraComponent={StatusIcon(rate.isDraft)}\n >\n this.props.showTranslationModal(false)}\n loading={this.props.loadingTranslation}\n allowSubmit={hasPermission(this.props.userRole, APP_CLAIMS.RATE_TRANS_C) && !isOffStreetPrebook}\n />\n {\n this.setState({ modalValidateOpen: false })\n\n try {\n if (action === 'ok') {\n const hasTelpark = await this.checkIfTelparkChannel();\n if (!hasTelpark) {\n this.setState({\n warning: {\n loading: false,\n open: true\n }\n });\n\n return;\n }\n\n this.props.validateRate(context.id, rate.id)\n }\n } catch (e) {\n this.props.setError(e);\n }\n }}\n />\n {\n this.setState({\n warning: {\n loading: false,\n open: false\n }\n });\n\n if (action === 'ok') {\n this.props.validateRate(context.id, rate.id)\n }\n }}\n />\n this.submitForm = returnData}\n productTypeCode={productTypeCode}\n onTranslateClick={tabDisplay === tabDisplays.index ? () => this.props.showTranslationModal(true) : null}\n readonly\n />\n
\n \n \n \n
\n )\n }\n\n submitTranslations(t) {\n t.esError = false; t.ptError = false; t.enError = false;\n t.caError = false; t.euError = false; t.frError = false;\n\n let error = false;\n if (!t.es) {\n error = true;\n t.esError = true;\n }\n if (!t.pt) {\n error = true;\n t.ptError = true;\n }\n if (!t.en) {\n error = true;\n t.enError = true;\n }\n if (!t.ca) {\n error = true;\n t.caError = true;\n }\n if (!t.eu) {\n error = true;\n t.euError = true;\n }\n if (!t.fr) {\n error = true;\n t.frError = true;\n }\n\n if (error) {\n this.props.setTranslationsError(__t('error_required_fields'));\n return;\n }\n\n const dto = [\n { langCode: 'es', value: t.es },\n { langCode: 'pt', value: t.pt },\n { langCode: 'en', value: t.en },\n { langCode: 'ca', value: t.ca },\n { langCode: 'eu', value: t.eu },\n { langCode: 'fr', value: t.fr },\n ];\n\n this.props.sendTranslations(this.props.context.id, this.props.router.id, dto);\n }\n\n async handleValidateClick() {\n const { context, rates, periods } = this.props;\n\n try {\n const rate = rates.find(r => r.id === this.props.router.id);\n\n if (periods == null || periods == []) {\n const hasTelpark = await this.checkIfTelparkChannel();\n if (!hasTelpark) {\n this.setState({\n warning: {\n loading: false,\n open: true\n }\n });\n\n return;\n }\n\n this.props.validateRate(context.id, rate.id)\n return\n }\n\n const today = moment(new Date());\n const current = periods.filter(p => {\n return today.isSameOrAfter(toDateObjectFromJson(p.fromDate, 'date')) && today.isBefore(toDateObjectFromJson(p.toDate, 'date'))\n });\n\n if (current && current.length > 0) {\n this.setState({ modalValidateOpen: true })\n return;\n }\n\n const hasTelpark = await this.checkIfTelparkChannel();\n if (!hasTelpark) {\n this.setState({\n warning: {\n loading: false,\n open: true\n }\n });\n\n return;\n }\n\n this.props.validateRate(context.id, rate.id)\n } catch (e) {\n this.props.setError(e);\n }\n }\n\n async checkIfTelparkChannel() {\n if (this.props.context.editable || this.state.rate.rateTypeCode !== rateTypes.actual)\n return true;\n\n this.setState({\n warning: {\n loading: true,\n open: false\n }\n });\n\n const hasTelpark = await ratesService.hasTelparkChannel(this.props.context.id, this.state.rate.id);\n\n this.setState({\n warning: {\n loading: false,\n open: false\n }\n });\n\n return hasTelpark;\n }\n\n handleSubmit() {\n var data = this.submitForm();\n\n const rate = {\n ...this.state.rate,\n ...data.formData,\n contextId: this.props.context.id\n }\n\n this.setState({ rate: rate });\n\n if (data.formError) {\n this.props.setError(__t('error_required_fields'));\n\n return;\n }\n\n if (!data.formData.name.replaceAll(' ', '_').match(/^[a-zA-Z0-9_]*$/)) {\n this.props.setError(__t('err_rate_name'));\n\n return;\n }\n\n if (this.props.productTypeCode == productTypes.rotation && !this.props.context.onStreet) {\n const remainder = new bigDecimal(rate.maxCost).divide(new bigDecimal(rate.step));\n if (remainder.compareTo(remainder.round()) != 0) {\n this.props.setError(__t('error_multiple_max_cost'));\n\n return;\n }\n }\n\n if (this.props.router.mode === pageModes.duplicate) {\n this.props.duplicateRate(this.props.context.id, this.props.router.id, rate);\n }\n else {\n this.props.sendRate(this.props.context.id, rate);\n }\n };\n\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.ratesReducer.router,\n rates: state.ratesReducer.rates,\n loading: state.ratesReducer.loading,\n error: state.ratesReducer.error,\n validateError: state.ratesReducer.validateError,\n tabDisplay: state.ratesReducer.tabDisplay,\n userRole: state.usersReducer.userRole,\n translations: state.ratesReducer.translations,\n loadingTranslation: state.ratesReducer.loadingTranslation,\n translationModalOpen: state.ratesReducer.translationModalOpen,\n errorTranslation: state.ratesReducer.errorTranslation,\n errorExport: state.ratesReducer.errorExport,\n periods: state.periodsReducer.periods\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n fetchRates: () => {\n dispatch(ratesActions.fetchRates());\n },\n sendRate: (contextId, rate) => {\n dispatch(ratesActions.sendRate(contextId, rate))\n },\n changeMode: (mode, id) => {\n dispatch(ratesActions.changeMode(mode, id))\n },\n changeTabDisplay: (tabDisplay) => {\n dispatch(contextsActions.setTabDisplay(tabDisplay))\n },\n duplicateRate: (contextId, rateId, newRate) => {\n dispatch(ratesActions.duplicateRate(contextId, rateId, newRate));\n },\n exportRate: (contextId, rateId) => {\n dispatch(ratesActions.exportRate(contextId, rateId))\n },\n validateRate: (contextId, rateId) => {\n dispatch(ratesActions.validateRate(contextId, rateId))\n },\n setError: (error) => {\n dispatch(ratesActions.setError(error))\n },\n setErrorValidate: (error) => {\n dispatch(ratesActions.setErrorValidate(error))\n },\n showTranslationModal: (visibility) => {\n dispatch({\n type: visibility ? RATE_TRANSLATION_MODAL_SHOW : RATE_TRANSLATION_MODAL_HIDE\n });\n },\n getTranslations: (contextId, rateId) => {\n dispatch(ratesActions.getTranslations(contextId, rateId));\n },\n sendTranslations: (contextId, rateId, translations) => {\n dispatch(ratesActions.saveTranslations(contextId, rateId, translations));\n },\n setTranslationsError: (error) => {\n dispatch({\n type: RATE_TRANSLATION_ERROR,\n payload: {\n error: error\n }\n });\n },\n setErrorExport: (error) => {\n dispatch({\n type: RATES_SET_ERROR_EXPORT,\n payload: {\n error: error\n }\n });\n }\n }\n}\n\nRateDetailPage.propTypes = {\n context: PropTypes.object.isRequired,\n router: PropTypes.object,\n rates: PropTypes.array,\n loading: PropTypes.bool,\n error: PropTypes.string,\n fetchRates: PropTypes.func,\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(RateDetailPage));","import { Grid, InputLabel, MenuItem, Select, withStyles } from '@material-ui/core';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport MaterialTable from 'material-table';\nimport PropTypes from 'prop-types';\nimport React, { useRef, useState } from 'react';\nimport { connect } from 'react-redux';\nimport { contextsActions } from '../../actions/contextsActions';\nimport translate from '../../locales';\nimport { rateTypes, styleWithCommonClasses } from '../../_constants/emparkConstants';\nimport { getMonthText } from '../../_helpers/utility';\nimport classNames from 'classnames';\nimport ErrorMessage from '../ErrorMessage';\nimport LoadingDialog from './LoadingDialog';\n\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n select: {\n width: '100%'\n },\n marginFields: {\n marginTop: '15px'\n },\n paddingLabel: {\n paddingRight: '20px'\n }\n})\n\nconst PrebooksExportDialog = props => {\n const { context, exportData, classes } = props;\n const currentYear = new Date().getFullYear();\n\n let tableRef = useRef(null);\n\n const [rates, setRates] = useState(props.rates.map(r => ({ ...r, tableData: { checked: true } })));\n const [year, setYear] = useState(currentYear);\n const [type, setType] = useState(rateTypes.actual);\n const [month, setMonth] = useState(0);\n const [monthDuration, setMonthDuration] = useState(12);\n\n const submit = () => {\n let errors = [];\n\n const r = tableRef.current.dataManager.data.filter(d => d.tableData.checked);\n\n if(r.length === 0)\n errors.push(__t('error_check_rate'))\n\n if(type == '') \n errors.push(__t('error_required_fields'))\n\n if(errors.length > 0) {\n props.setError(errors);\n return;\n }\n\n props.exportPrebooks(\n context.id,\n props.histVersion,\n type,\n year,\n month + 1,\n monthDuration,\n r.map(d => d.id)\n )\n }\n\n if(exportData.loading) {\n return()\n }\n\n return (\n \n {__t('export')} {__t('prebooks')}\n \n \n \n \n {__t('year')}:\n \n \n setYear(e.target.value)}\n >\n \n {currentYear - 1}\n {currentYear}\n {currentYear + 1}\n \n \n \n {__t('type')}:\n \n \n setType(e.target.value)}\n >\n \n {__t('actual')}\n {__t('competition')}\n {__t('simulation')}\n \n \n \n {__t('month')}:\n \n \n setMonth(e.target.value)}\n >\n \n {Array.from(Array(12).keys()).map((e, i) =>\n {getMonthText(i)}\n )}\n \n \n \n {__t('duration')}:\n \n \n setMonthDuration(e.target.value)}\n >\n \n {Array.from(Array(12).keys()).map((e, i) =>\n {i + 1}\n )}\n \n \n \n \n
\n \n
\n
\n \n
\n
\n \n \n \n \n \n )\n}\n\nfunction mapStateToProps(state) {\n return {\n exportData: state.contextsReducer.exportPrebook,\n }\n}\n\n\nfunction mapDispatchToProps(dispatch) {\n return {\n closeModal: () => {\n dispatch(contextsActions.updateExportPrebook({\n open: false,\n loading: false,\n error: null\n }));\n },\n setLoading: () => {\n dispatch(contextsActions.updateExportPrebook({\n loading: true,\n }));\n },\n setError: (error) => {\n dispatch(contextsActions.setErrorExportPrebook(error))\n },\n exportPrebooks: (id, histVersion, type, year, month, monthDuration, rates) => {\n dispatch(contextsActions.exportPrebooks(\n id,\n histVersion,\n type,\n year,\n month,\n monthDuration,\n rates\n ));\n }\n }\n}\n\nPrebooksExportDialog.propTypes = {\n context: PropTypes.object,\n histVersion: PropTypes.number,\n rates: PropTypes.array,\n onClose: PropTypes.func,\n onSubmit: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(PrebooksExportDialog));","import {\n Button,\n CircularProgress, Modal, Paper, withStyles\n} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { contextsActions } from '../../../actions/contextsActions';\nimport { ratesActions } from '../../../actions/ratesActions';\nimport translate from '../../../locales';\nimport {\n APP_CLAIMS,\n getProductTypeTitle,\n hasPermission,\n pageModes, productTypes, rateTypes, roundToDecimalAsString, styleWithCommonClasses,\n tabDisplays\n} from '../../../_constants/emparkConstants';\nimport ErrorDialog from '../../Dialogs/ErrorDialog';\nimport PrebooksExportDialog from '../../Dialogs/PrebooksExportDialog';\nimport StatusIcon from '../../StatusIcon';\nimport EMTable from '../../Tables/EMTable';\nimport _ from 'lodash';\n\n\n\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses();\n\nconst RatesTablePage = props => {\n /* Events */\n const handleDeleteRate = (rate) => {\n props.deleteRate(props.context.id, rate.id);\n }\n\n /* Render */\n const { context, productTypeCode, loading, classes } = props;\n\n if (loading)\n return (\n \n \n \n );\n\n const rates = _.orderBy(props.rates.filter(r => r.productTypeCode === props.productTypeCode), ['quantity', 'name'], ['asc', 'asc']);\n\n const quantityLabel = productTypeCode === productTypes.prebooks ? context.onStreet ? __t('quantity') : __t('days') :\n productTypeCode === productTypes.passPerHour ? __t('hours') :\n productTypeCode === productTypes.passPerUse ? __t('uses') :\n __t('days');\n\n const rowsRatesTable = productTypeCode == productTypes.rotation ?\n [\n { id: 'name', align: 'center', disablePadding: false, label: __t('rate') },\n {\n id: 'rateTypeCode', align: 'center', disablePadding: false, label: __t('type'), formatter: function (value) {\n switch (value) {\n case rateTypes.actual:\n return __t('actual');\n case rateTypes.competition:\n return __t('competition');\n case rateTypes.simulation:\n return __t('simumlation')\n }\n\n return
\n }\n },\n {\n id: 'isDraft', align: 'center', disablePadding: false, label: __t('draft'), formatter: function (value) {\n if (value)\n return StatusIcon(true);\n\n return null;\n }\n },\n ]\n :\n (productTypeCode == productTypes.prebooks && context.onStreet) ?\n [\n { id: 'name', align: 'center', disablePadding: false, label: __t('rate') },\n {\n id: 'subProductTypeCode', align: 'center', disablePadding: false, label: __t('pass_type'), formatter: function (value) {\n return value == \"PASS_BY_DURATION\" ?
{__t('by_duration')} {__t('minutes_helper')}
:
{__t('daily')} {__t('days_helper')}
\n }\n },\n { id: 'quantity', align: 'center', disablePadding: false, label: quantityLabel },\n {\n id: 'price', align: 'center', disablePadding: false, label: __t('price'), formatter: function (value) {\n return
{String(value).replace(\".\", \",\")}
\n }\n },\n {\n id: 'rateTypeCode', align: 'center', disablePadding: false, label: __t('type')\n },\n {\n id: 'isDraft', align: 'center', disablePadding: false, label: __t('draft'), formatter: function (value) {\n if (value)\n return StatusIcon(true);\n\n return null;\n }\n },\n ]\n :\n [\n { id: 'name', align: 'center', disablePadding: false, label: __t('rate') },\n { id: 'quantity', align: 'center', disablePadding: false, label: quantityLabel },\n {\n id: 'rateTypeCode', align: 'center', disablePadding: false, label: __t('type'), formatter: function (value) {\n switch (value) {\n case rateTypes.actual:\n return __t('actual');\n case rateTypes.competition:\n return __t('competition');\n case rateTypes.simulation:\n return __t('simumlation')\n }\n\n return
\n }\n },\n {\n id: 'isDraft', align: 'center', disablePadding: false, label: __t('draft'), formatter: function (value) {\n if (value)\n return StatusIcon(true);\n\n return null;\n }\n },\n ]\n\n const title = getProductTypeTitle(context.onStreet, productTypeCode);\n const isOffStreetPrebook = !context.onStreet && props.productTypeCode == productTypes.prebooks;\n\n return (\n
\n \n \n \n props.setError(null)}\n />\n {!context.onStreet && productTypeCode == productTypes.prebooks ?\n \n :\n null\n }\n \n {productTypeCode == productTypes.prebooks && !context.allowedCreatePrebooks ?\n
{context.onStreet ? __t('msg_passes_not_allowed') : __t('msg_prebooks_not_allowed')}
\n :\n {\n props.changeTabDisplay(tabDisplays.main);\n props.changeMode(pageModes.add);\n })}\n onView={(rate) => {\n props.changeTabDisplay(tabDisplays.main);\n props.changeMode(pageModes.view, rate.id)\n }}\n onDelete={handleDeleteRate}\n onDeleteCondition={(rate) => hasPermission(props.userRole, APP_CLAIMS.RATE_D) && !isOffStreetPrebook}\n filterComponent={\n !context.onStreet &&\n (productTypeCode == productTypes.prebooks || productTypeCode == productTypes.multidays ||\n productTypeCode == productTypes.multipass || productTypeCode == productTypes.passPerUse ||\n productTypeCode == productTypes.passPerHour) ?\n
\n {rates.length > 0 ?\n <>\n {hasPermission(props.userRole, APP_CLAIMS.RATE_E) && !isOffStreetPrebook ?\n {\n props.changeTabDisplay(tabDisplays.main);\n props.changeMode(pageModes.add_massive);\n }}\n style={{ marginRight: '15px' }}\n variant=\"outlined\" color=\"primary\"\n >\n {__t('add_multiple')}\n \n :\n null\n }\n {(productTypeCode == productTypes.prebooks || productTypeCode == productTypes.multipass) && !isOffStreetPrebook && hasPermission(props.userRole, APP_CLAIMS.DIS_C) ?\n {\n props.changeTabDisplay(tabDisplays.main);\n props.changeMode(pageModes.disallowed_periods_massive);\n }}\n >\n {__t('disallowed_periods_massive')}\n \n :\n null\n }\n {productTypeCode == productTypes.prebooks ?\n \n :\n null\n }\n \n :\n null\n }\n
\n :\n null\n }\n />\n }\n\n \n
\n )\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.ratesReducer.router,\n rates: state.ratesReducer.rates,\n loading: state.ratesReducer.loading,\n error: state.ratesReducer.error,\n userRole: state.usersReducer.userRole\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n deleteRate: (contextId, rateId) => {\n dispatch(ratesActions.deleteRate(contextId, rateId))\n },\n changeMode: (mode, id) => {\n dispatch(ratesActions.changeMode(mode, id))\n },\n changeTabDisplay: (tabDisplay) => {\n dispatch(contextsActions.setTabDisplay(tabDisplay))\n },\n setError: (error) => {\n dispatch(ratesActions.setError(error))\n },\n openExportModal: () => {\n dispatch(contextsActions.updateExportPrebook({\n open: true,\n loading: false,\n error: null\n }));\n }\n }\n}\n\nRatesTablePage.propTypes = {\n context: PropTypes.object.isRequired,\n productTypeCode: PropTypes.string.isRequired,\n router: PropTypes.object,\n rates: PropTypes.array,\n loading: PropTypes.bool,\n error: PropTypes.string,\n changeMode: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(RatesTablePage));","import { Tab, Tabs, withStyles } from '@material-ui/core';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport { connect } from 'react-redux';\nimport { ratesActions, SET_SELECTED_TAB } from '../../../actions/ratesActions';\nimport translate from '../../../locales';\nimport {\n pageModes, productTypes, styleWithCommonClasses, tabDisplays\n} from '../../../_constants/emparkConstants';\nimport StatusIcon from '../../StatusIcon';\nimport DisallowedPeriodAddMassivePage from '../DisallowedPeriods/DisallowedPeriodAddMassivePage';\nimport PrebooksAddPage from '../Prebooks/PrebooksAddPage';\nimport PrebooksCreatePage from '../Prebooks/PrebooksCreatePage';\nimport RateDetailPage from './RateDetailPage';\nimport RatesTablePage from './RatesTablePage';\n\n\n\n\n\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n tabPanel: {\n backgroundColor: 'white',\n }\n});\n\nconst RatesRouter = props => {\n const [tab, setTab] = useState(0);\n\n useEffect(() => {\n props.fetchRates(props.context.id);\n props.changeMode(pageModes.list);\n props.changeTabDisplay(tabDisplays.index);\n\n if (props.selectedTab) {\n const newTab =\n props.selectedTab === productTypes.rotation ? 0 :\n props.selectedTab === productTypes.prebooks ? 1 :\n props.selectedTab === productTypes.passPerHour ? 2 :\n props.selectedTab === productTypes.passPerUse ? 3 :\n props.selectedTab === productTypes.multidays ? 4 : 5;\n\n if (newTab != tab)\n setTab(newTab);\n }\n\n return () => {\n\n }\n }, []);\n\n const { loading, context, classes, tabDisplay, rates } = props;\n\n const productTypeCode = tab === 0 ? productTypes.rotation :\n tab === 1 ? productTypes.prebooks :\n tab === 2 ? productTypes.passPerHour :\n tab === 3 ? productTypes.passPerUse :\n tab === 4 ? productTypes.multidays :\n productTypes.multipass;\n\n if (context.onStreet && tab > 1)\n setTab(0);\n\n const filterRates = (productType, searchDraft = false) => {\n if (searchDraft)\n return rates.filter(r => r.productTypeCode === productType && r.isDraft).length;\n\n return rates.filter(r => r.productTypeCode === productType).length;\n }\n\n if (props.router.mode === pageModes.list)\n return (\n
\n {\n switch (index) {\n case 0:\n props.setSelectedTab(productTypes.rotation)\n break;\n case 1:\n props.setSelectedTab(productTypes.prebooks)\n break;\n case 2:\n props.setSelectedTab(productTypes.passPerHour)\n break;\n case 3:\n props.setSelectedTab(productTypes.passPerUse)\n break;\n case 4:\n props.setSelectedTab(productTypes.multidays)\n break;\n case 5:\n props.setSelectedTab(productTypes.multipass)\n break;\n }\n\n setTab(index)\n }}\n indicatorColor=\"primary\"\n textColor=\"primary\"\n variant=\"fullWidth\"\n >\n {context.onStreet ?\n [\n \n\n ,\n \n\n \n ]\n :\n [\n \n ,\n \n\n ,\n \n\n ,\n \n\n ,\n \n\n ,\n \n\n \n ]\n }\n \n \n
\n )\n\n if (props.router.mode === pageModes.create_massive)\n return ()\n\n if (props.router.mode === pageModes.add_massive)\n return ()\n\n if (props.router.mode === pageModes.disallowed_periods_massive)\n return ()\n\n return (\n \n )\n}\n\nfunction mapStateToProps(state) {\n return {\n rates: state.ratesReducer.rates,\n router: state.ratesReducer.router,\n tabDisplay: state.contextsReducer.tabDisplay,\n loading: state.ratesReducer.loading,\n selectedTab: state.ratesReducer.selectedTab\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n changeMode: (mode) => {\n dispatch(ratesActions.changeMode(mode))\n },\n fetchRates: (contextId) => {\n dispatch(ratesActions.fetchRates(contextId));\n },\n changeTabDisplay: (tabDisplay) => {\n dispatch(ratesActions.setTabDisplay(tabDisplay))\n },\n setSelectedTab: (tab) => {\n dispatch({\n type: SET_SELECTED_TAB,\n payload: {\n tab: tab\n }\n })\n }\n }\n}\n\nRatesRouter.propTypes = {\n context: PropTypes.object.isRequired,\n router: PropTypes.object,\n changeMode: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(RatesRouter));","import {\n Button, InputAdornment, Paper, withStyles\n} from '@material-ui/core';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { withRouter } from 'react-router-dom';\nimport { contextsActions } from '../../../actions/contextsActions';\nimport { history } from '../../../History';\nimport translate from '../../../locales';\nimport {\n APP_CLAIMS,\n hasPermission,\n pageModes, productTypes, routes, styleWithCommonClasses,\n tabDisplays\n} from '../../../_constants/emparkConstants';\nimport { toDateObjectFromJson, toDateTimeString } from '../../../_helpers/dateConvert';\nimport ContextHeader from '../../ContextHeader';\nimport ConfirmDialog from '../../Dialogs/ConfirmDialog';\nimport ErrorDialog from '../../Dialogs/ErrorDialog';\nimport HistoryDialog from '../../Dialogs/HistoryDialog';\nimport ErrorMessage from '../../ErrorMessage';\nimport ContextForm from '../../Forms/ContextForm';\nimport TitleToolbar from '../../Forms/TitleToolbar';\nimport DisallowedPeriodsContextRouter from '../../Sections/DisallowedPeriodsContext/DisallowedPeriodsContextRouter';\nimport FreeDaysContextRouter from '../../Sections/FreeDaysContext/FreeDaysContextRouter';\nimport PositionRouter from '../../Sections/Positions/PositionRouter';\nimport RatesRouter from '../../Sections/Rates/RatesRouter';\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n buttonBack: {\n '& span': {\n color: '#7b7c7d'\n }\n },\n buttonContainer: {\n display: 'flex',\n alignItems: 'center'\n },\n tabPanel: {\n marginTop: '20px',\n marginBottom: '20px',\n backgroundColor: 'white'\n },\n tabContent: {\n marginTop: '20px'\n },\n});\n\nclass ContextDetailPage extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n context: null,\n tab: 0,\n freeDayUniqueKey: new Date().toString(),\n display: '',//'', 'positions', 'freedays', '',\n confirmDialogOpen: false,\n confirmAction: '',\n historyDialogOpen: false\n }\n\n this.handleOptions = this.handleOptions.bind(this);\n this.handleSubmit = this.handleSubmit.bind(this);\n this.handleSyncMfl = this.handleSyncMfl.bind(this);\n }\n\n componentDidMount() {\n this.props.changeMode(pageModes.list)\n this.props.changeTabDisplay(tabDisplays.index)\n }\n\n render() {\n const { contexts, loading, classes, router, tabDisplay } = this.props;\n\n let context = this.props.context; // contexts.find(r => r.id === this.props.match.params.id)\n const title = router.mode === pageModes.add ? __t('create') : router.mode === pageModes.edit ? __t('edit') : __t('view');\n\n if (this.state.display === 'positions')\n return (\n
\n
\n {\n this.props.changeMode(pageModes.list)\n history.push(routes.base);\n }}\n >\n {__t('centers_list')}\n \n {this.state.historyDialogOpen &&\n this.setState({ historyDialogOpen: false })}\n />\n }\n this.handleOptions('positions')}\n onFreeDaysClick={() => this.handleOptions('freedays')}\n onDisallowedPeriodsClick={() => this.handleOptions('disallowedperiods')}\n onHistoryClick={() => this.setState({ historyDialogOpen: true })}\n onBackClick={() => this.setState({ display: '' })}\n disabledDisallowedPeriod={true}\n />\n\n \n
\n
\n )\n\n if (this.state.display === 'freedays')\n return (\n
\n
\n {\n this.props.changeMode(pageModes.list)\n history.push(routes.base);\n }}\n >\n {__t('centers_list')}\n \n {this.state.historyDialogOpen &&\n this.setState({ historyDialogOpen: false })}\n />\n }\n this.handleOptions('positions')}\n onFreeDaysClick={() => this.handleOptions('freedays')}\n onDisallowedPeriodsClick={() => this.handleOptions('disallowedperiods')}\n onHistoryClick={() => this.setState({ historyDialogOpen: true })}\n onBackClick={() => this.setState({ display: '' })}\n disabledDisallowedPeriod={this.props.selectedTab != productTypes.prebooks && this.props.selectedTab != productTypes.multipass}\n />\n\n \n
\n
\n )\n\n if (this.state.display === 'disallowedperiods')\n return (\n
\n
\n {\n this.props.changeMode(pageModes.list)\n history.push(routes.base);\n }}\n >\n {__t('centers_list')}\n \n {this.state.historyDialogOpen &&\n this.setState({ historyDialogOpen: false })}\n />\n }\n this.handleOptions('positions')}\n onFreeDaysClick={() => this.handleOptions('freedays')}\n onDisallowedPeriodsClick={() => this.handleOptions('disallowedperiods')}\n onHistoryClick={() => this.setState({ historyDialogOpen: true })}\n onBackClick={() => this.setState({ display: '' })}\n disabledDisallowedPeriod={false}\n selectedTab={this.props.selectedTab}\n />\n\n \n
\n
\n )\n\n if (router.mode === pageModes.edit)\n return (\n
\n
\n \n \n this.props.changeMode(pageModes.view)}\n onSave={this.handleSubmit}\n >\n this.submitForm = returnData}\n />\n \n \n \n
\n
\n )\n\n const statusDes =\n context.status === 0 ? __t('pending') :\n context.status === 1 ? __t('synchronizing') :\n context.status === 2 ? __t('error') : __t('synchronized');\n\n return (\n
\n
\n this.props.setErrorMfl(null)}\n />\n {\n this.setState({ confirmDialogOpen: false })\n\n if (action == 'ok') {\n if (this.state.confirmAction == 'sync') {\n this.handleSyncMfl();\n }\n else if (this.state.confirmAction == \"send\") {\n this.props.submitMfl(context.id);\n }\n else {\n this.props.resetStatus(context.id);\n }\n }\n }}\n />\n
\n {\n this.props.changeMode(pageModes.list)\n history.push(routes.base);\n }}\n >\n {__t('centers_list')}\n \n
\n {tabDisplay === tabDisplays.index &&\n {\n window.location.reload();\n }}\n style={{ marginRight: '10px' }}\n >\n {__t('refresh')}\n \n }\n {context.editable ?\n null\n :\n [\n
\n
\n {__t('modified') + ':'}\n
\n
\n
,\n
\n
\n {__t('eos') + ':'}\n
\n
\n
\n ]\n }\n {hasPermission(this.props.userRole, APP_CLAIMS.MFL_SYNC) && !context.editable && context.status != 1 &&\n tabDisplay === tabDisplays.index &&\n \n }\n {hasPermission(this.props.userRole, APP_CLAIMS.MFL_SEND) && !context.editable && !context.unsyncWithMfl && context.status != 1 &&\n context.isDraft && tabDisplay === tabDisplays.index &&\n \n }\n {hasPermission(this.props.userRole, '') && context.status == 1 &&\n \n }\n
\n\n {context.status != 3 &&\n
\n
\n {__t('status')}: {statusDes}\n
\n
\n
{__t('last_sync')}: {toDateTimeString(toDateObjectFromJson(context.syncOkEndDate, 'datetime'))}
\n {(context.status === 1 || context.status === 2) &&\n
{__t('last_try')}: {toDateTimeString(toDateObjectFromJson(context.lastSyncStartDate, 'datetime'))}
\n }\n
\n
\n }\n {this.state.historyDialogOpen &&\n this.setState({ historyDialogOpen: false })}\n />\n }\n this.handleOptions('positions')}\n onFreeDaysClick={() => this.handleOptions('freedays')}\n onDisallowedPeriodsClick={() => this.handleOptions('disallowedperiods')}\n onHistoryClick={() => this.setState({ historyDialogOpen: true })}\n disabledDisallowedPeriod={this.props.selectedTab != productTypes.prebooks && this.props.selectedTab != productTypes.multipass}\n selectedTab={this.props.selectedTab}\n />\n\n \n
\n
\n )\n }\n\n handleOptions(clicked) {\n if (clicked === 'positions') {\n if (this.state.display !== 'positions')\n this.setState({ display: 'positions' });\n }\n else if (clicked === 'freedays') {\n if (this.state.display !== 'freedays')\n this.setState({ display: 'freedays' });\n }\n else if (clicked === 'disallowedperiods') {\n if (this.state.display !== 'disallowedperiods')\n this.setState({ display: 'disallowedperiods' });\n }\n }\n\n handleSubmit() {\n var data = this.submitForm();\n\n const context = {\n ...this.state.context,\n ...data.formData\n }\n\n this.setState({ context: context });\n\n let errors = [];\n if (data.formError) {\n errors.push(__t('err_sap_code'));\n }\n\n if (data.sapCodeError) {\n errors.push(__t('err_sap_code'));\n }\n\n if (errors.length > 0) {\n this.props.setError(errors);\n\n return;\n }\n\n this.props.sendContext(context);\n };\n\n handleSyncMfl() {\n this.props.syncMfl(this.props.match.params.id);\n }\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.contextsReducer.router,\n contexts: state.contextsReducer.contexts,\n context: state.contextsReducer.context,\n loading: state.contextsReducer.loading,\n error: state.contextsReducer.error,\n errorMfl: state.contextsReducer.errorMfl,\n tabDisplay: state.contextsReducer.tabDisplay,\n userRole: state.usersReducer.userRole,\n selectedTab: state.ratesReducer.selectedTab\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n fetchContexts: () => {\n dispatch(contextsActions.fetchContexts());\n },\n sendContext: (context) => {\n dispatch(contextsActions.sendContext(context))\n },\n changeMode: (mode, id) => {\n dispatch(contextsActions.changeMode(mode, id))\n },\n changeTabDisplay: (tabDisplay) => {\n dispatch(contextsActions.setTabDisplay(tabDisplay))\n },\n syncMfl: (contextId) => {\n dispatch(contextsActions.syncMflContext(contextId));\n },\n setError: (error) => {\n dispatch(contextsActions.setError(error))\n },\n setErrorMfl: (error) => {\n dispatch(contextsActions.setErrorMfl(error))\n },\n submitMfl: (id) => {\n dispatch(contextsActions.submitMfl(id));\n },\n resetStatus: (id) => {\n dispatch(contextsActions.resetCenterSync(id));\n }\n }\n}\n\nContextDetailPage.propTypes = {\n router: PropTypes.object,\n contexts: PropTypes.array,\n loading: PropTypes.bool,\n error: PropTypes.string,\n fetchContexts: PropTypes.func,\n}\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(ContextDetailPage)));","import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport EMTable from './EMTable';\nimport __t from '../../locales';\n\nexport const ChannelRatesTable = (props) => {\n const rowData = [\n { id: 'channelName', align: 'center', disablePadding: false, label: __t('name') },\n { id: 'commissionMinimum', align: 'center', disablePadding: false, label: __t('commission_minimum') },\n { id: 'commissionPercentage', align: 'center', disablePadding: false, label: __t('commission_percent') },\n ];\n\n return (\n \n );\n};\n\nChannelRatesTable.propTypes = {\n onAdd: PropTypes.func,\n onEdit: PropTypes.func,\n onEditCondition: PropTypes.func,\n onDelete: PropTypes.func,\n onDeleteCondition: PropTypes.func,\n values: PropTypes.array\n}","import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport EMTable from './EMTable';\nimport __t from '../../locales';\nimport { toDateObjectFromJson, toDateString } from '../../_helpers/dateConvert';\nimport { productTypes } from '../../_constants/emparkConstants';\n\nexport const DisallowedPeriodsTable = (props) => {\n const rowData = [\n {\n id: 'fromDate', align: 'center', disablePadding: false, label: `${__t('valid_from')} ${__t('inclusive_helper')}`, formatter: function (value) {\n return toDateString(toDateObjectFromJson(value))\n }\n },\n {\n id: 'toDate', align: 'center', disablePadding: false, label: `${__t('valid_to')} ${__t('exclusive_helper')}`, formatter: function (value) {\n return toDateString(toDateObjectFromJson(value))\n }\n },\n ];\n\n return (\n \n );\n};\n\nDisallowedPeriodsTable.propTypes = {\n onAdd: PropTypes.func,\n onEdit: PropTypes.func,\n onEditCondition: PropTypes.func,\n onDelete: PropTypes.func,\n onDeleteCondition: PropTypes.func,\n values: PropTypes.array\n}","import PropTypes from 'prop-types';\nimport React from 'react';\nimport __t from '../../locales';\nimport EMTable from './EMTable';\n\nexport const FareSelectionPointsTable = (props) => {\n const rowData = [\n { id: 'minute', align: 'center', disablePadding: false, label: __t('minute') },\n ];\n\n return (\n \n );\n};\n\nFareSelectionPointsTable.propTypes = {\n onAdd: PropTypes.func,\n onEdit: PropTypes.func,\n onEditCondition: PropTypes.func,\n onDelete: PropTypes.func,\n onDeleteCondition: PropTypes.func,\n values: PropTypes.array\n}","import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport EMTable from './EMTable';\nimport __t from '../../locales';\nimport { toDateObjectFromJson, toDateString } from '../../_helpers/dateConvert';\n\nexport const FreeDaysTable = (props) => {\n const rowData = [\n {\n id: 'dayDate', align: 'center', disablePadding: false, label: __t('date'), formatter: function (value) {\n return toDateString(toDateObjectFromJson(value))\n }\n },\n { id: 'name', align: 'center', disablePadding: false, label: __t('name') },\n ];\n\n return (\n \n );\n};\n\nFreeDaysTable.propTypes = {\n onAdd: PropTypes.func,\n onEdit: PropTypes.func,\n onEditCondition: PropTypes.func,\n onDelete: PropTypes.func,\n onDeleteCondition: PropTypes.func,\n values: PropTypes.array\n}","import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport EMTable from './EMTable';\nimport __t from '../../locales';\n\nexport const PaidPeriodsTable = (props) => {\n const rowData = [\n { id: 'startTime', align: 'center', disablePadding: false, label: `${__t('from')} ${__t('inclusive_helper')}` },\n { id: 'endTime', align: 'center', disablePadding: false, label: `${__t('to')} ${__t('exclusive_helper')}` }\n ];\n\n return (\n \n );\n};\n\nPaidPeriodsTable.propTypes = {\n onAdd: PropTypes.func,\n onView: PropTypes.func,\n onEdit: PropTypes.func,\n onEditCondition: PropTypes.func,\n onDelete: PropTypes.func,\n onDeleteCondition: PropTypes.func,\n values: PropTypes.array\n}","import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport EMTable from './EMTable';\nimport __t from '../../locales';\n\nexport const PositionsTable = (props) => {\n const rowData = [\n { id: 'name', align: 'center', disablePadding: false, label: __t('name') },\n { id: 'code', align: 'center', disablePadding: false, label: __t('code') },\n {\n id: 'editable', align: 'center', disablePadding: false, label: __t('eos'), formatter: function (value) {\n return value ? '' : 'Y'\n }\n },\n ];\n\n return (\n \n );\n};\n\nPositionsTable.propTypes = {\n onAdd: PropTypes.func,\n onEdit: PropTypes.func,\n onEditCondition: PropTypes.func,\n onDelete: PropTypes.func,\n onDeleteCondition: PropTypes.func,\n values: PropTypes.array\n}","import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport EMTable from './EMTable';\nimport __t from '../../locales';\nimport { getProductTypeTitle, productTypes, rateTypes, roundToDecimalAsString } from '../../_constants/emparkConstants';\nimport StatusIcon from '../StatusIcon';\n\nexport const RatesTable = (props) => {\n const { onStreet, productTypeCode } = props;\n\n const quantityLabel = productTypeCode === productTypes.prebooks ? onStreet ? __t('quantity') : __t('days') :\n productTypeCode === productTypes.passPerHour ? __t('hours') :\n productTypeCode === productTypes.passPerUse ? __t('uses') :\n __t('days');\n\n let rowData = productTypeCode == productTypes.rotation ?\n [\n { id: 'name', align: 'center', disablePadding: false, label: __t('rate') },\n {\n id: 'rateTypeCode', align: 'center', disablePadding: false, label: __t('type'), formatter: function (value) {\n switch (value) {\n case rateTypes.actual:\n return __t('actual');\n case rateTypes.competition:\n return __t('competition');\n case rateTypes.simulation:\n return __t('simumlation')\n }\n\n return
\n }\n },\n ]\n :\n (productTypeCode == productTypes.prebooks && onStreet) ?\n [\n { id: 'name', align: 'center', disablePadding: false, label: __t('rate') },\n {\n id: 'subProductTypeCode', align: 'center', disablePadding: false, label: __t('pass_type'), formatter: function (value) {\n return value == \"PASS_BY_DURATION\" ?
{__t('by_duration')} {__t('minutes_helper')}
:
{__t('daily')} {__t('days_helper')}
\n }\n },\n { id: 'quantity', align: 'center', disablePadding: false, label: quantityLabel },\n {\n id: 'price', align: 'center', disablePadding: false, label: __t('price'), formatter: function (value) {\n return
{String(value).replace(\".\", \",\")}
\n }\n },\n {\n id: 'rateTypeCode', align: 'center', disablePadding: false, label: __t('type')\n },\n ]\n :\n [\n { id: 'name', align: 'center', disablePadding: false, label: __t('rate') },\n { id: 'quantity', align: 'center', disablePadding: false, label: quantityLabel },\n {\n id: 'rateTypeCode', align: 'center', disablePadding: false, label: __t('type'), formatter: function (value) {\n switch (value) {\n case rateTypes.actual:\n return __t('actual');\n case rateTypes.competition:\n return __t('competition');\n case rateTypes.simulation:\n return __t('simumlation')\n }\n\n return
\n }\n },\n ];\n\n if (props.showDraft)\n rowData.push({\n id: 'isDraft', align: 'center', disablePadding: false, label: __t('draft'), formatter: function (value) {\n if (value)\n return StatusIcon(true);\n\n return null;\n }\n })\n\n const title = getProductTypeTitle(onStreet, productTypeCode);\n\n return (\n \n );\n};\n\nRatesTable.propTypes = {\n onAdd: PropTypes.func,\n onView: PropTypes.func,\n onEdit: PropTypes.func,\n onEditCondition: PropTypes.func,\n onDelete: PropTypes.func,\n onDeleteCondition: PropTypes.func,\n filterComponent: PropTypes.node,\n values: PropTypes.array,\n productTypeCode: PropTypes.string,\n onStreet: PropTypes.bool,\n showDraft: PropTypes.bool\n}","import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport EMTable from './EMTable';\nimport __t from '../../locales';\n\nexport const SchedulesTable = (props) => {\n const rowData = [\n {\n id: 'daysBitMask', align: 'center', disablePadding: false, label: __t('days'), formatter: function (value) {\n let days = [];\n\n const sDays = String(value);\n if (sDays.includes(\"1\"))\n days.push(__t('monday'));\n if (sDays.includes(\"2\"))\n days.push(__t('tuesday'));\n if (sDays.includes(\"3\"))\n days.push(__t('wednesday'));\n if (sDays.includes(\"4\"))\n days.push(__t('thursday'));\n if (sDays.includes(\"5\"))\n days.push(__t('friday'));\n if (sDays.includes(\"6\"))\n days.push(__t('saturday'));\n if (sDays.includes(\"7\"))\n days.push(__t('sunday'));\n\n return days.join(', ')\n }\n },\n ];\n\n return (\n \n );\n};\n\nSchedulesTable.propTypes = {\n onAdd: PropTypes.func,\n onEdit: PropTypes.func,\n onEditCondition: PropTypes.func,\n onDelete: PropTypes.func,\n onDeleteCondition: PropTypes.func,\n values: PropTypes.array\n}","import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport EMTable from './EMTable';\nimport __t from '../../locales';\nimport { toDateObjectFromJson, toDateString } from '../../_helpers/dateConvert';\n\nexport const SpecialDaysTable = (props) => {\n const rowData = [\n {\n id: 'dayDate', align: 'center', disablePadding: false, label: __t('date'), formatter: function (value) {\n return toDateString(toDateObjectFromJson(value))\n }\n },\n ];\n\n return (\n \n );\n};\n\nSpecialDaysTable.propTypes = {\n onAdd: PropTypes.func,\n onEdit: PropTypes.func,\n onEditCondition: PropTypes.func,\n onDelete: PropTypes.func,\n onDeleteCondition: PropTypes.func,\n values: PropTypes.array\n}","import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { productTypes, styleWithCommonClasses } from '../_constants/emparkConstants';\nimport { Tab, Tabs, withStyles } from '@material-ui/core';\nimport __t from '../locales'\n\nconst styles = styleWithCommonClasses({})\n\nconst RateTabs = (props) => {\n const { onStreet, productTypeCode, selectedIndex, classes } = props;\n\n let tabs = null;\n if (productTypeCode == productTypes.rotation) {\n if (onStreet)\n tabs = [\n ,\n ,\n ,\n ,\n ,\n ,\n ,\n ]\n else\n tabs = [\n ,\n ,\n ,\n ,\n ,\n ]\n } else if (productTypeCode == productTypes.prebooks && onStreet) {\n tabs = [\n ,\n ,\n ,\n ,\n ,\n ,\n ]\n } else if(productTypeCode == productTypes.prebooks || productTypeCode == productTypes.multipass) {\n tabs = [\n ,\n ,\n ,\n ,\n ]\n } else {\n tabs = [\n ,\n ,\n ,\n ]\n }\n\n return (\n \n {tabs}\n \n )\n};\n\nRateTabs.propTypes = {\n onStreet: PropTypes.bool,\n productTypeCode: PropTypes.string,\n selectedIndex: PropTypes.number,\n onChange: PropTypes.func\n}\n\nexport default withStyles(styles)(RateTabs);\n","import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport EMTable from './EMTable';\nimport __t from '../../locales';\nimport { productTypes, roundToDecimalAsString } from '../../_constants/emparkConstants';\nimport { toDateObjectFromJson, toDateString } from '../../_helpers/dateConvert';\n\nexport const PeriodsTable = (props) => {\n const { onStreet, productTypeCode } = props;\n\n const rowData = !onStreet && productTypeCode !== productTypes.rotation ?\n [\n {\n id: 'fromDate', align: 'center', disablePadding: false, label: `${__t('valid_from')} ${__t('inclusive_helper')}`, formatter: function (value) {\n return toDateString(toDateObjectFromJson(value))\n }\n },\n {\n id: 'toDate', align: 'center', disablePadding: false, label: `${__t('valid_to')} ${__t('exclusive_helper')}`, formatter: function (value) {\n return toDateString(toDateObjectFromJson(value))\n }\n },\n {\n id: 'price', align: 'center', disablePadding: false, label: __t('price') + \" \" + __t('money_helper'), formatter: function (value) {\n return
{value ? roundToDecimalAsString(value, 2) : \"0,00\"}
\n }\n },\n ]\n :\n [\n {\n id: 'fromDate', align: 'center', disablePadding: false, label: `${__t('valid_from')} ${__t('inclusive_helper')}`, formatter: function (value) {\n return toDateString(toDateObjectFromJson(value))\n }\n },\n {\n id: 'toDate', align: 'center', disablePadding: false, label: `${__t('valid_to')} ${__t('exclusive_helper')}`, formatter: function (value) {\n return toDateString(toDateObjectFromJson(value))\n }\n },\n ];\n\n return (\n \n );\n};\n\nPeriodsTable.propTypes = {\n onAdd: PropTypes.func,\n onView: PropTypes.func,\n onEdit: PropTypes.func,\n onEditCondition: PropTypes.func,\n onDelete: PropTypes.func,\n onDeleteCondition: PropTypes.func,\n values: PropTypes.array\n}","import { Paper, withStyles } from '@material-ui/core';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport __t from '../../../locales';\nimport { historyActions } from '../../../reducers';\nimport { productTypes, styleWithCommonClasses } from '../../../_constants/emparkConstants';\nimport PeriodForm from '../../Forms/PeriodForm';\nimport TitleToolbar from '../../Forms/TitleToolbar';\nimport { PositionsTable } from '../../Tables';\nimport classNames from 'classnames'\n\nconst styles = styleWithCommonClasses({\n containerTable: {\n padding: '15px',\n marginTop: '10px'\n }\n});\n\nconst RdxPeriodHistPage = (props) => {\n const { context, rate, period, locale, classes } = props;\n\n return (\n \n { props.setHistState({ period: null }) }}\n >\n { }}\n showPrice={!context.onStreet && rate.productTypeCode !== productTypes.rotation}\n readonly\n />\n {rate.productTypeCode == productTypes.rotation || rate.productTypeCode == productTypes.prebooks ?\n
\n \n
\n :\n null\n }\n\n \n \n );\n};\n\nfunction mapStateToProps(state) {\n return {\n context: state.historyReducer.context,\n rate: state.historyReducer.rate,\n period: state.historyReducer.period,\n locale: state.locales.current\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n setHistState: (obj) => {\n dispatch(historyActions.setState(obj));\n }\n }\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(RdxPeriodHistPage));\n","import { Paper, withStyles } from '@material-ui/core';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport __t from '../../../locales';\nimport { historyActions } from '../../../reducers';\nimport { styleWithCommonClasses } from '../../../_constants/emparkConstants';\nimport PaidPeriodForm from '../../Forms/PaidPeriodForm';\nimport TitleToolbar from '../../Forms/TitleToolbar';\n\nconst styles = styleWithCommonClasses({});\n\nconst RdxPaidPeriodsHistPage = (props) => {\n const {context, rate, paidPeriod, classes} = props;\n\n return (\n \n { props.setHistState({ paidPeriod: null }) }}\n >\n {}}\n readonly\n />\n \n \n );\n};\n\nfunction mapStateToProps(state) {\n return {\n context: state.contextsReducer.context,\n rate: state.historyReducer.rate,\n paidPeriod: state.historyReducer.paidPeriod,\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n setHistState: (obj) => {\n dispatch(historyActions.setState(obj));\n }\n }\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(RdxPaidPeriodsHistPage));\n","import { Paper, withStyles } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport __t from '../../locales';\nimport { historyActions } from '../../reducers';\nimport { styleWithCommonClasses } from '../../_constants/emparkConstants';\nimport ScheduleForm from '../Forms/ScheduleForm';\nimport SpecialDayForm from '../Forms/SpecialDayForm';\nimport TitleToolbar from '../Forms/TitleToolbar';\nimport { PaidPeriodsTable } from '../Tables';\nimport classNames from 'classnames'\nimport RdxPaidPeriodsHistPage from './PaidPeriods/RdxPaidPeriodsHistPage';\n\nconst styles = styleWithCommonClasses({\n containerTable: {\n marginTop: '10px',\n padding: '15px'\n }\n});\n\nconst RdxSchSpHistPage = (props) => {\n const { isSchedules, schedule, specialDay, paidPeriod, classes } = props;\n\n return (\n \n { props.setHistState({ schedule: null, specialDay: null }) }}\n >\n {isSchedules ?\n { }}\n readonly\n />\n :\n { }}\n readonly\n />\n }\n
\n {paidPeriod != null ?\n \n\n :\n { props.setHistState({ paidPeriod: row }) }}\n />\n }\n
\n\n \n \n );\n};\n\nfunction mapStateToProps(state) {\n return {\n schedule: state.historyReducer.schedule,\n specialDay: state.historyReducer.specialDay,\n paidPeriod: state.historyReducer.paidPeriod,\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n setHistState: (obj) => {\n dispatch(historyActions.setState(obj));\n }\n }\n}\n\nRdxSchSpHistPage.propTypes = {\n isSchedules: PropTypes.bool,\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(RdxSchSpHistPage));\n","import { MenuItem, Select, withStyles } from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport { styleWithCommonClasses } from '../_constants/emparkConstants';\nimport TitleToolbar from './Forms/TitleToolbar';\nimport __t from '../locales';\nimport Comment from './Sections/Comments/Comment';\nimport _ from 'lodash';\n\nconst styles = styleWithCommonClasses({\n select: {\n marginLeft: '20px'\n }\n});\n\nconst CommentsBoard = (props) => {\n const { onAdd, onEdit, onDelete, showCommentOptions, classes } = props;\n\n const [order, setOrder] = useState('n');\n\n const comments = _.orderBy(props.comments, ['insDate'], [(order === 'o' ? 'asc' : 'desc')]);\n\n return (\n setOrder(e.target.value)}\n >\n {__t('oldest_first')}\n {__t('newest_first')}\n \n }\n onAdd={onAdd}\n >\n {comments.length > 0 ?\n comments.map((c, i) =>\n {\n onEdit(c);\n })}\n onDelete={showCommentOptions && onDelete && (() => {\n onDelete(c);\n })}\n />\n )\n :\n

{__t('no_comments')}

\n }\n \n );\n};\n\nCommentsBoard.propTypes = {\n comments: PropTypes.array,\n onAdd: PropTypes.func,\n onEdit: PropTypes.func,\n onDelete: PropTypes.func,\n showCommentOptions: PropTypes.bool\n}\n\nexport default withStyles(styles)(CommentsBoard);","import { Paper, withStyles } from '@material-ui/core';\nimport React, { useEffect, useState } from 'react';\nimport { connect } from 'react-redux';\nimport __t from '../../../locales';\nimport { historyActions } from '../../../reducers';\nimport { styleWithCommonClasses } from '../../../_constants/emparkConstants';\nimport { getTableFromRateTabIndex as getTypeFromRateTabIndex } from '../../../_helpers/utility';\nimport RateForm from '../../Forms/RateForm';\nimport TitleToolbar from '../../Forms/TitleToolbar';\nimport LoadingPaper from '../../LoadingPaper';\nimport RateTabs from '../../RateTabs';\nimport { ChannelRatesTable, DisallowedPeriodsTable, FareSelectionPointsTable, FreeDaysTable, SchedulesTable, SpecialDaysTable } from '../../Tables';\nimport { PeriodsTable } from '../../Tables/PeriodsTable';\nimport RdxPeriodHistPage from '../Periods/RdxPeriodHistPage';\nimport RdxSchSpHistPage from '../RdxSchSpHistPage';\nimport classNames from 'classnames'\nimport TranslationDialog from '../../Dialogs/TranslationDialog';\nimport CommentsBoard from '../../CommentsBoard';\n\nconst styles = styleWithCommonClasses({\n container: {\n marginTop: '20px'\n },\n containerTable: {\n padding: '15px'\n }\n});\n\n\nconst RdxRateHistPage = props => {\n const { loading, context, rateTabIndex, rate, period, schedule, specialDay, classes } = props;\n\n useEffect(() => {\n\n return () => {\n\n }\n }, [])\n\n const [translationModalOpen, setTranslationModalOpen] = useState(false);\n\n if (loading)\n return (\n
\n \n
\n );\n\n let component;\n if (period != null || schedule != null || specialDay != null) {\n if (period != null) {\n component = \n } else if (schedule != null) {\n component = \n } else {\n component = \n }\n } else {\n const type = getTypeFromRateTabIndex(rateTabIndex, context.onStreet, rate.productTypeCode);\n const table =\n
\n {\n type == 'pe' ?\n { props.setHistState({ period: row }) }}\n />\n :\n type == 'sc' ?\n { props.setHistState({ schedule: row }) }} />\n :\n type == 'se' ?\n \n :\n type == 'sp' ?\n { props.setHistState({ specialDay: row }) }} />\n :\n type == 'fr' ?\n \n :\n type == 'di' ?\n \n :\n type == 'ch' ?\n \n :\n \n }\n
\n\n component = [\n props.setHistState({ rateTabIndex: index })}\n selectedIndex={rateTabIndex}\n />,\n table\n ]\n }\n \n return (\n \n {\n props.setHistState({ rate: null, rateTabIndex: 0 })\n }}\n >\n setTranslationModalOpen(false)}\n loading={false}\n allowSubmit={false}\n />\n { }}\n productTypeCode={rate.productTypeCode}\n onTranslateClick={() => { setTranslationModalOpen(true) }}\n readonly\n />\n
\n {\n component\n }\n
\n \n
\n )\n}\n\nfunction mapStateToProps(state) {\n return {\n context: state.contextsReducer.context,\n rate: state.historyReducer.rate,\n period: state.historyReducer.period,\n schedule: state.historyReducer.schedule,\n specialDay: state.historyReducer.specialDay,\n rateTabIndex: state.historyReducer.rateTabIndex,\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n setHistState: (obj) => {\n dispatch(historyActions.setState(obj));\n }\n }\n}\n\nRdxRateHistPage.propTypes = {\n\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(RdxRateHistPage));","import { Button, Paper, Tab, Tabs, withStyles } from '@material-ui/core';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\nimport { connect } from 'react-redux';\nimport __t from '../../../locales';\nimport { historyActions } from '../../../reducers';\nimport { productTypes, styleWithCommonClasses } from '../../../_constants/emparkConstants';\nimport { toDateObjectFromJson, toDateString, toDateTimeString } from '../../../_helpers/dateConvert';\nimport { getProductTypeCodeFromTabIndex } from '../../../_helpers/utility';\nimport ContextHeader from '../../ContextHeader';\nimport LoadingPaper from '../../LoadingPaper';\nimport { DisallowedPeriodsTable, FreeDaysTable, PositionsTable, RatesTable } from '../../Tables';\nimport RdxRateHistPage from '../Rates/RdxRateHistPage';\nimport _ from 'lodash';\nimport PrebooksExportDialog from '../../Dialogs/PrebooksExportDialog';\nimport { contextsActions } from '../../../actions/contextsActions';\n\nconst styles = styleWithCommonClasses({\n buttonBack: {\n '& span': {\n color: '#7b7c7d'\n }\n },\n buttonContainer: {\n display: 'flex',\n alignItems: 'center'\n },\n tabPanel: {\n marginTop: '20px',\n marginBottom: '20px',\n backgroundColor: 'white',\n },\n tabContent: {\n marginTop: '20px'\n },\n historyLabel: {\n color: 'red',\n fontSize: '1.2em'\n }\n});\n\n\nconst RdxContextHistPage = props => {\n const { loading, error, context, contextHist, rateTypeTabIndex, contextPage, rate, classes } = props;\n \n useEffect(() => {\n props.setHistState({ rateTypeTabIndex: 0 });\n return () => {\n\n }\n }, [])\n\n if (loading)\n return (\n
\n \n
\n );\n\n const productType = getProductTypeCodeFromTabIndex(rateTypeTabIndex);\n\n let table = props.contextPage == 'p' ?\n \n :\n props.contextPage == 'f' ?\n \n :\n props.contextPage == 'd' ?\n \n :\n r.productTypeCode == productType), ['quantity', 'name'], ['asc', 'asc'])}\n productTypeCode={productType}\n onView={(row) => props.setHistState({ rate: row })}\n filterComponent={productType == productTypes.prebooks && !context.onStreet && contextHist.rates.filter(r => r.productTypeCode == productType).length > 0 ?\n
\n \n
\n :\n null\n }\n />\n\n return (\n
\n
\n
\n \n {__t('return_current_version')}\n \n
\n
\n
\n {__t('history')} - {__t('version')}: {contextHist.histVersion}\n
\n
\n {__t('synchronized_by')}: {contextHist.histUser} - {toDateTimeString(toDateObjectFromJson(contextHist.histDate, 'datetime'))}\n
\n
\n
\n { props.setHistState({ contextPage: 'p' }); }}\n onFreeDaysClick={() => { props.setHistState({ contextPage: 'f' }); }}\n onDisallowedPeriodsClick={() => { props.setHistState({ contextPage: 'd' }); }}\n disabledDisallowedPeriod={!context.onStreet && rateTypeTabIndex != 1}\n disableEditSapCode\n onBackClick={props.contextPage == '' ? null : () => { props.setHistState({ contextPage: '' }); }}\n />\n {rate != null ?\n \n :\n <>\n { props.setHistState({ rateTypeTabIndex: index }); }}\n indicatorColor=\"primary\"\n textColor=\"primary\"\n variant=\"fullWidth\"\n >\n {context.onStreet ?\n [\n \n\n ,\n \n\n \n ]\n :\n [\n \n ,\n \n\n ,\n \n\n ,\n \n\n ,\n \n\n ,\n \n\n \n ]\n }\n \n \n {props.contextPage != 'p' && props.contextPage != 'f' && props.contextPage != 'd' &&\n productType == productTypes.prebooks && !context.onStreet && contextHist.rates.filter(r => r.productTypeCode == productType).length > 0 ?\n r.productTypeCode == productType), ['quantity', 'name'], ['asc', 'asc'])}\n />\n :\n null\n }\n {table}\n \n \n }\n
\n
\n )\n}\n\nfunction mapStateToProps(state) {\n return {\n loading: state.historyReducer.fetch.loading,\n error: state.historyReducer.fetch.error,\n context: state.contextsReducer.context,\n contextHist: state.historyReducer.context,\n rateTypeTabIndex: state.historyReducer.rateTypeTabIndex,\n contextPage: state.historyReducer.contextPage,\n rate: state.historyReducer.rate\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n returnToCurrent: () => {\n dispatch(historyActions.setActive(false));\n },\n setHistState: (obj) => {\n dispatch(historyActions.setState(obj));\n },\n openExportModal: () => {\n dispatch(contextsActions.updateExportPrebook({\n open: true,\n loading: false,\n error: null\n }));\n }\n }\n}\n\nRdxContextHistPage.propTypes = {\n router: PropTypes.object\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(RdxContextHistPage));","import React, { useEffect, useState } from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\n\nimport {\n pageModes,\n routes,\n styleWithCommonClasses\n} from '../../../_constants/emparkConstants'\n\nimport { contextsActions, CONTEXT_SET_NOT_CHECKED_VERSION } from '../../../actions/contextsActions';\nimport { withRouter } from 'react-router-dom';\nimport { Button, CircularProgress, Paper } from '@material-ui/core';\nimport { withStyles } from '@material-ui/core';\n\nimport translate from '../../../locales';\nimport { history } from '../../../History';\nimport ContextDetailPage from './ContextDetailPage';\nimport ErrorMessage from '../../ErrorMessage';\nimport RdxContextHistPage from '../../Redux/Contexts/RdxContextHistPage';\nimport { historyActions } from '../../../reducers';\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses();\n\nconst ContextsDetailController = props => {\n useEffect(() => {\n props.fetchContextMflVersion(props.match.params.id);\n props.setHistState({\n active: false\n });\n\n return () => {\n\n }\n }, [])\n\n if (props.error)\n return (\n
\n \n
\n )\n\n if (props.loading)\n return (\n
\n \n
\n )\n\n const context = props.context;\n\n if (!context)\n return (\n
\n \n

{__t('error_context_not_exists')}

\n\n \n
\n
\n )\n\n if (!context.editable && !props.hasCheckedVersion) {\n return (\n
\n \n
\n )\n }\n\n if (props.historyActive)\n return (\n \n );\n\n return (\n \n )\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.contextsReducer.router,\n contexts: state.contextsReducer.contexts,\n loading: state.contextsReducer.loading,\n error: state.contextsReducer.error,\n hasCheckedVersion: state.contextsReducer.hasCheckedVersion,\n context: state.contextsReducer.context,\n historyActive: state.historyReducer.active\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n changeMode: (mode, id) => {\n dispatch(contextsActions.changeMode(mode, id))\n },\n fetchContexts: () => {\n dispatch(contextsActions.fetchContexts());\n },\n fetchContextMflVersion: (id) => {\n dispatch(contextsActions.syncMflContextVersion(id));\n },\n resetHasCheckedVersion: () => {\n dispatch({\n type: CONTEXT_SET_NOT_CHECKED_VERSION\n })\n },\n fetchDetail: (id) => {\n dispatch(contextsActions.fetchDetail(id))\n },\n setHistState: (obj) => {\n dispatch(historyActions.setState(obj));\n }\n }\n}\n\nContextsDetailController.propTypes = {\n router: PropTypes.object\n}\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(ContextsDetailController)));","import React from 'react'\nimport PropTypes from 'prop-types';\n\nconst StatusCircle = props => {\n return (\n
\n )\n}\n\nStatusCircle.propTypes = {\n color: PropTypes.string.isRequired\n}\n\nexport default StatusCircle;","import {\n Button,\n CircularProgress, InputAdornment, Modal, Paper, TextField, withStyles\n} from '@material-ui/core';\nimport SearchIcon from '@material-ui/icons/Search';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport { connect } from 'react-redux';\nimport { contextsActions } from '../../../actions/contextsActions';\nimport { FILTERS_CONTEXTS_SEARCH } from '../../../actions/filtersActions';\nimport { history } from '../../../History';\nimport __t from '../../../locales';\nimport { historyActions } from '../../../reducers';\nimport {\n accentFold,\n APP_CLAIMS,\n hasPermission,\n pageModes, routes,\n styleWithCommonClasses\n} from '../../../_constants/emparkConstants';\nimport { toDateObjectFromJson, toDateTimeString } from '../../../_helpers/dateConvert';\nimport ConfirmDialog from '../../Dialogs/ConfirmDialog';\nimport ErrorDialog from '../../Dialogs/ErrorDialog';\nimport StatusCircle from '../../StatusCircle';\nimport EMTable from '../../Tables/EMTable';\n\nconst styles = styleWithCommonClasses({\n statusContainer: {\n display: 'flex',\n flexDirection: 'row-reverse'\n },\n searchbar: {\n width: '400px'\n }\n});\n\nconst ContextsTablePage = props => {\n const [confirmOpen, setConfirmOpen] = useState(false);\n const [confirmAction, setConfirmAction] = useState('');\n\n const search = props.search;\n\n useEffect(() => {\n const interval = setInterval(() => {\n props.checkStatus();\n props.setHistState({\n active: false\n });\n }, 60 * 1000);\n\n return () => {\n clearInterval(interval);\n }\n }, [])\n\n /* Events */\n const handleDeleteContext = (context) => {\n props.deleteContext(context.id);\n }\n\n const handleSyncCenters = () => {\n props.syncMfl();\n }\n\n /* Render */\n const { loading, classes, status } = props;\n\n const contexts = search === '' ? props.contexts :\n props.contexts.filter(c => accentFold(c.name.toLowerCase()).includes(accentFold(search.toLowerCase())) || (c.municipalityName && accentFold(c.municipalityName.toLowerCase()).includes(accentFold(search.toLowerCase()))));\n\n const rowsContextsTable = [\n { id: 'name', align: 'center', disablePadding: false, label: __t('name') },\n { id: 'municipalityName', align: 'center', disablePadding: false, label: __t('municipality') },\n { id: 'type', align: 'center', disablePadding: false, label: __t('type') },\n {\n id: 'isDraft', align: 'center', disablePadding: false, label: __t('modified'), formatter: function (value) {\n if (!value)\n return
\n\n return \n }\n },\n {\n id: 'deletable', align: 'center', disablePadding: false, label: __t('eos'), formatter: function (value, context) {\n if (value)\n return null;\n\n return \n }\n },\n ];\n\n const c = contexts.map(c => ({ ...c, type: c.onStreet ? __t(\"on_street\") : __t(\"off_street\") }))\n\n const statusDes = status ?\n status.status === 0 ? __t('pending') :\n status.status === 1 ? __t('synchronizing') :\n status.status === 2 ? __t('error') : __t('synchronized')\n : null;\n\n return (\n
\n {loading &&\n \n \n \n }\n props.setError(null)}\n />\n {\n setConfirmOpen(false);\n\n if (action == 'ok') {\n if (confirmAction == 'sync') {\n handleSyncCenters();\n }\n else {\n props.resetStatus();\n }\n }\n }}\n />\n {props.status &&\n
\n
\n \n
\n
\n
\n
{__t('status')}: {statusDes}
\n
\n
\n
{__t('last_sync')}: {toDateTimeString(toDateObjectFromJson(props.status.syncOkEndDate, 'datetime'))}
\n {(status.status === 1 || status.status === 2) &&\n
{__t('last_try')}: {toDateTimeString(toDateObjectFromJson(props.status.lastSyncStartDate, 'datetime'))}
\n }\n
\n
\n
\n }\n \n {\n if (field == 'page')\n props.setTableState({ ...props.table, page: value });\n else\n props.setTableState({ ...props.table, rowsPerPage: value });\n }}\n handleTableOrder={(order, orderBy) => {\n props.setTableState({ ...props.table, order: order, orderBy: orderBy });\n }}\n tableTitle={__t('centers')}\n dataSource={c}\n rows={rowsContextsTable}\n onAdd={hasPermission(props.userRole, APP_CLAIMS.CTX_C) && (() => props.changeMode(pageModes.add))}\n onEdit={(context) => props.changeMode(pageModes.edit, context.id)}\n onEditCondition={(context) => hasPermission(props.userRole, APP_CLAIMS.CTX_E) && context.editable}\n onView={(context) => {\n props.changeMode(pageModes.view, context.id);\n\n history.push(routes.context.replace(':id', context.id))\n }}\n onDelete={handleDeleteContext}\n onDeleteCondition={(context) => hasPermission(props.userRole, APP_CLAIMS.CTX_D) && context.deletable}\n filterComponent={\n props.setSearch(e.target.value.toUpperCase())}\n InputProps={{\n startAdornment: (\n \n \n \n )\n }}\n >\n\n \n }\n customTableButton={\n props.status && props.status.status != 1 ?\n (\n hasPermission(props.userRole, APP_CLAIMS.MFL_SYNC) &&\n \n )\n :\n (\n hasPermission(props.userRole, false) &&\n \n )\n }\n />\n \n
\n )\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.contextsReducer.router,\n contexts: state.contextsReducer.contexts,\n loading: state.contextsReducer.loading,\n error: state.contextsReducer.error,\n userRole: state.usersReducer.userRole,\n status: state.contextsReducer.status,\n search: state.filtersReducer.contextsSearch,\n table: state.contextsReducer.table\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n deleteContext: (contextId) => {\n dispatch(contextsActions.deleteContext(contextId));\n },\n changeMode: (mode, id) => {\n dispatch(contextsActions.changeMode(mode, id));\n },\n syncMfl: () => {\n dispatch(contextsActions.syncMflContexts());\n },\n setError: (error) => {\n dispatch(contextsActions.setError(error));\n },\n resetStatus: () => {\n dispatch(contextsActions.resetCentersSync());\n },\n checkStatus: () => {\n dispatch(contextsActions.checkCentersSync());\n },\n setSearch: (search) => {\n dispatch({\n type: FILTERS_CONTEXTS_SEARCH,\n payload: search\n })\n },\n setHistState: (obj) => {\n dispatch(historyActions.setState(obj));\n },\n setTableState: (tableState) => {\n dispatch(contextsActions.updateTableState(tableState));\n }\n }\n}\n\nContextsTablePage.propTypes = {\n router: PropTypes.object,\n contexts: PropTypes.array,\n loading: PropTypes.bool,\n error: PropTypes.string,\n fetchContexts: PropTypes.func,\n changeMode: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(ContextsTablePage));","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport { contextsActions } from '../../../actions/contextsActions';\n\nimport {\n Paper,\n Modal,\n CircularProgress,\n withStyles\n} from '@material-ui/core';\n\nimport {\n pageModes,\n styleWithCommonClasses\n} from '../../../_constants/emparkConstants'\n\nimport TitleToolbar from '../../Forms/TitleToolbar';\nimport ContextForm from '../../Forms/ContextForm';\n\nimport '../../../styles/TreeTable.css';\n\nimport translate from '../../../locales';\nimport ErrorMessage from '../../ErrorMessage';\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n switchCell: {\n height: \"100%\",\n display: \"flex\",\n flexDirection: \"row-reverse\",\n alignItems: \"center\"\n },\n treeCell: {\n height: \"100%\",\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\"\n },\n toggleButton: {\n position: \"relative\",\n display: \"inline-block\",\n border: \"none\",\n height: \"14px\",\n verticalAlign: \"middle\",\n padding: \"0 5px 0 0\",\n margin: \"0\",\n cursor: \"pointer\",\n backgroundColor: \"transparent\",\n outline: \"none\",\n },\n withoutChildren: {\n paddingLeft: \"15px\"\n },\n withChildren: {\n fontWeight: 600\n }\n});\n\nclass ContextCreatePage extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n context: null,\n }\n\n this.handleSubmit = this.handleSubmit.bind(this);\n }\n\n componentDidMount() {\n const { contexts, router } = this.props;\n\n if (router.mode !== pageModes.add) {\n this.setState({\n context: contexts.find(c => c.id === router.id)\n })\n }\n }\n\n render() {\n const { contexts, loading, classes, router } = this.props;\n\n let context = null;\n if (router.mode !== pageModes.add)\n context = contexts.find(r => r.id === router.id)\n\n const title = router.mode === pageModes.add ? __t('create') : router.mode === pageModes.edit ? __t('edit') : __t('view');\n\n return(\n
\n \n \n \n \n this.props.changeMode(pageModes.list)}\n onSave={this.handleSubmit}\n >\n this.submitForm = returnData}\n />\n \n \n \n
\n )\n }\n\n handleSubmit() {\n var data = this.submitForm();\n\n const context = {\n ...this.state.context,\n ...data.formData\n }\n\n this.setState({context:context});\n\n let errors = [];\n if (data.formError) {\n errors.push(__t('error_required_fields'));\n }\n\n if (data.sapCodeError) {\n errors.push(__t('err_sap_code'));\n }\n\n if (errors.length > 0) {\n this.props.setError(errors);\n\n return;\n }\n\n this.props.sendContext(context);\n };\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.contextsReducer.router,\n contexts: state.contextsReducer.contexts,\n loading: state.contextsReducer.loading,\n error: state.contextsReducer.error\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n sendContext: (context) => {\n dispatch(contextsActions.sendContext(context))\n },\n changeMode: (mode, id) => {\n dispatch(contextsActions.changeMode(mode, id))\n },\n setError: (error) => {\n dispatch(contextsActions.setError(error))\n }\n }\n}\n\nContextCreatePage.propTypes = {\n router: PropTypes.object,\n contexts: PropTypes.array,\n loading: PropTypes.bool,\n error: PropTypes.string,\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(ContextCreatePage));","import React, { useEffect } from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\n\nimport {\n pageModes,\n} from '../../../_constants/emparkConstants'\n\nimport ContextsTablePage from './ContextsTablePage';\nimport ContextCreatePage from './ContextCreatePage';\nimport { contextsActions } from '../../../actions/contextsActions';\n\nconst ContextsRouterPage = props => {\n useEffect(() => {\n props.changeMode(pageModes.list);\n props.checkCentersSync();\n props.fetchContexts();\n\n return () => {\n \n }\n }, [])\n\n if (props.router.mode === pageModes.list)\n return (\n \n )\n\n return (\n \n )\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.contextsReducer.router\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n fetchContexts: () => {\n dispatch(contextsActions.fetchContexts());\n },\n checkCentersSync: () => {\n dispatch(contextsActions.checkCentersSync());\n },\n changeMode: (mode) => {\n dispatch(contextsActions.changeMode(mode))\n }\n }\n}\n\nContextsRouterPage.propTypes = {\n router: PropTypes.object\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ContextsRouterPage);","import React from 'react'\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\n\nimport translate from '../locales';\nimport { withStyles } from '@material-ui/core';\nimport { hasPermission } from '../_constants/emparkConstants';\n\nconst __t = translate;\n\nconst styles = () => ({\n text: {\n textAlign: 'center'\n }\n});\n\nclass Unauthorized extends React.Component {\n constructor(props) {\n super(props);\n }\n\n render() {\n const { userRole, claim } = this.props;\n\n if (hasPermission(userRole, claim)) {\n return (\n
{this.props.children}
\n )\n }\n\n return (\n
\n {this.props.title &&

{this.props.title}

}\n

{__t('error_unauthorized')}

\n
\n )\n }\n}\n\nfunction mapStateToProps(state) {\n return {\n userRole: state.usersReducer.userRole\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n\n }\n}\n\nUnauthorized.propTypes = {\n title: PropTypes.string,\n claim: PropTypes.string.isRequired\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(Unauthorized));","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport EMTable from '../Tables/EMTable';\nimport { auxActions } from '../../actions/auxActions';\n\nimport {\n Paper,\n Modal,\n CircularProgress,\n withStyles,\n} from '@material-ui/core';\n\nimport translate from '../../locales';\nimport { APP_CLAIMS, pageModes, styleWithCommonClasses } from '../../_constants/emparkConstants';\nimport TitleToolbar from '../Forms/TitleToolbar';\nimport CellTable from '../Tables/CellTable';\nimport ErrorMessage from '../ErrorMessage';\nimport Unauthorized from '../Unauthorized';\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n errorText: {\n marginTop: '20px'\n }\n});\n\nclass DaysPage extends React.Component {\n constructor(props) {\n super(props);\n\n this.handleSaveDays = this.handleSaveDays.bind(this);\n }\n\n componentDidMount() {\n this.props.changeMode(pageModes.list);\n this.props.fetchDays();\n }\n\n render() {\n const { days, loading } = this.props;\n\n const rowsDaysTable = [\n { id: 'val', align: 'center', disablePadding: false, label: __t('value') },\n ];\n\n if (this.props.mode === pageModes.list)\n return (\n
\n \n \n \n \n \n this.props.changeMode(pageModes.edit)}\n />\n \n \n
\n )\n\n return (\n
\n \n \n \n \n this.props.changeMode(pageModes.list)}\n >\n { this.tableSubmit = returnData }}\n values={days.map(d => d.val.toString())}\n type=\"number\"\n />\n \n \n \n
\n )\n }\n\n /* events */\n handleSaveDays() {\n const values = this.tableSubmit();\n\n let days = values\n .filter(v => v != '')\n .map((v, i) => ({\n id: i,\n val: Number(v)\n }));\n\n if (days.length === 0) {\n this.props.setError(__t(\"error_no_values\"))\n return;\n }\n\n days.sort((a, b) => a.val - b.val);\n\n this.props.sendDays(days);\n }\n}\n\nfunction mapStateToProps(state) {\n return {\n days: state.auxReducer.days,\n loading: state.auxReducer.loading,\n mode: state.auxReducer.mode,\n error: state.auxReducer.error\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n changeMode: (mode) => {\n dispatch(auxActions.changeMode(mode));\n },\n fetchDays: () => {\n dispatch(auxActions.fetchDays());\n },\n sendDays: (days) => {\n dispatch(auxActions.sendDays(days))\n },\n setError: (error) => {\n dispatch(auxActions.setError(error))\n }\n }\n}\n\nDaysPage.propTypes = {\n days: PropTypes.array,\n loading: PropTypes.bool,\n mode: PropTypes.string,\n error: PropTypes.string,\n changeMode: PropTypes.func,\n fetchDays: PropTypes.func,\n sendDays: PropTypes.func,\n setError: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(DaysPage));","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport EMTable from '../Tables/EMTable';\nimport { auxActions } from '../../actions/auxActions';\n\nimport {\n Paper,\n Modal,\n CircularProgress,\n withStyles,\n} from '@material-ui/core';\n\nimport translate from '../../locales';\nimport { APP_CLAIMS, pageModes, styleWithCommonClasses } from '../../_constants/emparkConstants';\nimport TitleToolbar from '../Forms/TitleToolbar';\nimport CellTable from '../Tables/CellTable';\nimport ErrorMessage from '../ErrorMessage';\nimport Unauthorized from '../Unauthorized';\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n errorText: {\n marginTop: '20px'\n }\n});\n\nclass HoursPage extends React.Component {\n constructor(props) {\n super(props);\n\n this.handleSaveHours = this.handleSaveHours.bind(this);\n }\n\n componentDidMount() {\n this.props.changeMode(pageModes.list);\n this.props.fetchHours();\n }\n\n render() {\n const { hours, loading } = this.props;\n\n const rowsHoursTable = [\n { id: 'val', align: 'center', disablePadding: false, label: __t('value') },\n ];\n\n if (this.props.mode === pageModes.list)\n return (\n
\n \n \n \n \n \n this.props.changeMode(pageModes.edit)}\n />\n \n \n
\n )\n\n return (\n
\n \n \n \n \n this.props.changeMode(pageModes.list)}\n >\n { this.tableSubmit = returnData }}\n values={hours.map(d => d.val.toString())}\n type=\"number\"\n />\n \n \n \n
\n )\n }\n\n /* events */\n handleSaveHours() {\n const values = this.tableSubmit();\n\n let hours = values\n .filter(v => v != '')\n .map((v, i) => ({\n id: i,\n val: Number(v)\n }));\n\n if (hours.length === 0) {\n this.props.setError(__t(\"error_no_values\"))\n return;\n }\n\n hours.sort((a, b) => a.val - b.val);\n\n this.props.sendHours(hours);\n }\n}\n\nfunction mapStateToProps(state) {\n return {\n hours: state.auxReducer.hours,\n loading: state.auxReducer.loading,\n mode: state.auxReducer.mode,\n error: state.auxReducer.error\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n changeMode: (mode) => {\n dispatch(auxActions.changeMode(mode));\n },\n fetchHours: () => {\n dispatch(auxActions.fetchHours());\n },\n sendHours: (hours) => {\n dispatch(auxActions.sendHours(hours))\n },\n setError: (error) => {\n dispatch(auxActions.setError(error))\n }\n }\n}\n\nHoursPage.propTypes = {\n hours: PropTypes.array,\n loading: PropTypes.bool,\n mode: PropTypes.string,\n error: PropTypes.string,\n changeMode: PropTypes.func,\n fetchHours: PropTypes.func,\n sendHours: PropTypes.func,\n setError: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(HoursPage));","import {\n CircularProgress, InputAdornment, Modal, Paper, TextField, withStyles\n} from '@material-ui/core';\nimport SearchIcon from '@material-ui/icons/Search';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { municipalitiesActions } from '../../../actions/municipalitiesActions';\nimport translate from '../../../locales';\nimport {\n accentFold,\n APP_CLAIMS,\n hasPermission,\n pageModes,\n styleWithCommonClasses\n} from '../../../_constants/emparkConstants';\nimport ErrorDialog from '../../Dialogs/ErrorDialog';\nimport EMTable from '../../Tables/EMTable';\nimport { FILTERS_MUNICIPALITIES_SEARCH } from '../../../actions/filtersActions';\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n searchbar: {\n width: '400px'\n }\n});\n\nconst MunicipalitiesTablePage = props => {\n // const [search, setSearch] = useState('');\n\n const search = props.search;\n\n /* Events */\n const handleDeleteMunicipality = (municipality) => {\n props.deleteMunicipality(municipality.id);\n }\n\n /* Render */\n const { loading, classes } = props;\n\n const rowsMunicipalitiesTable = [\n { id: 'name', align: 'center', disablePadding: false, label: __t('municipality') },\n ];\n\n const municipalities = search === '' ? props.municipalities :\n props.municipalities.filter(m => accentFold(m.name.toLowerCase()).includes(accentFold(search.toLowerCase())));\n\n return (\n
\n \n \n \n props.setError(null)}\n />\n \n props.changeMode(pageModes.add) /*props.changeMode(pageModes.add)*/)}\n onView={(municipality) => {\n props.changeMode(pageModes.view, municipality.id)\n } /*props.changeMode(pageModes.view, municipality.id)*/}\n onDelete={handleDeleteMunicipality}\n onDeleteCondition={() => hasPermission(props.userRole, APP_CLAIMS.MUN_D)}\n filterComponent={\n props.setSearch(e.target.value.toUpperCase())}\n InputProps={{\n startAdornment: (\n \n \n \n )\n }}\n >\n\n \n }\n />\n \n
\n )\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.municipalitiesReducer.router,\n municipalities: state.municipalitiesReducer.municipalities,\n loading: state.municipalitiesReducer.loading,\n error: state.municipalitiesReducer.error,\n userRole: state.usersReducer.userRole,\n search: state.filtersReducer.municipalitiesSearch\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n fetchMunicipalities: () => {\n dispatch(municipalitiesActions.fetchMunicipalities());\n },\n deleteMunicipality: (municipalityId) => {\n dispatch(municipalitiesActions.deleteMunicipality(municipalityId))\n },\n changeMode: (mode, id) => {\n dispatch(municipalitiesActions.changeMode(mode, id))\n },\n setError: (error) => {\n dispatch(municipalitiesActions.setError(error))\n },\n setSearch: (search) => {\n dispatch({\n type:FILTERS_MUNICIPALITIES_SEARCH,\n payload: search\n })\n }\n }\n}\n\nMunicipalitiesTablePage.propTypes = {\n router: PropTypes.object,\n municipalities: PropTypes.array,\n loading: PropTypes.bool,\n error: PropTypes.string,\n fetchMunicipalities: PropTypes.func,\n changeMode: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(MunicipalitiesTablePage));","import {\n Grid, InputLabel, withStyles\n} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport translate from '../../locales';\nimport OutlinedTextField from '../OutlinedTextField';\n\n\n\n\nconst __t = translate;\n\nconst styles = () => ({\n containerButtons: {\n textAlign: 'right'\n },\n containerIsTelpark: {\n textAlign:'right'\n },\n upperCase: {\n textTransform:'uppercase'\n }\n});\n\nclass MunicipalityForm extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n name: this.props.municipality ? this.props.municipality.name : \"\",\n nameError:false\n }\n\n this.returnData = this.returnData.bind(this);\n }\n\n componentDidMount() {\n this.props.refReturnData(this.returnData);\n }\n\n componentDidUpdate(prevProps) {\n if(this.props != prevProps)\n this.setState({\n name: this.props.municipality ? this.props.municipality.name : \"\"\n })\n }\n\n render() {\n return(\n
\n \n \n {__t('name')}:\n \n \n this.setState({name:e.target.value})}\n inputProps={{ maxLength: 50, className:this.props.classes.upperCase }}\n disabled={this.props.readonly}\n />\n \n \n \n \n
\n )\n }\n\n returnData() {\n this.setState({nameError:false})\n\n let error = false;\n if(this.state.name == \"\") {\n error = true;\n this.setState({nameError:true})\n }\n\n return {\n formData: {\n name:this.state.name\n },\n formError:error\n }\n }\n}\n\nMunicipalityForm.propTypes = {\n municipality:PropTypes.object,\n readonly:PropTypes.bool,\n refReturnData:PropTypes.func.isRequired\n}\n\nexport default withStyles(styles)(MunicipalityForm);","import {\n CircularProgress, Paper, Switch, withStyles\n} from '@material-ui/core';\nimport classNames from 'classnames';\nimport { TreeState, TreeTable } from 'cp-react-tree-table';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { municipalitiesActions } from '../../../actions/municipalitiesActions';\nimport translate from '../../../locales';\nimport '../../../styles/TreeTable.css';\nimport {\n APP_CLAIMS,\n hasPermission,\n pageModes,\n styleWithCommonClasses,\n tabDisplays\n} from '../../../_constants/emparkConstants';\nimport TitleToolbar from '../../Forms/TitleToolbar';\nimport EMTable from '../../Tables/EMTable';\nimport LoadingPaper from '../../LoadingPaper';\nimport ErrorDialog from '../../Dialogs/ErrorDialog';\n\n\n\n\n\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n switchCell: {\n height: \"100%\",\n display: \"flex\",\n flexDirection: \"row-reverse\",\n alignItems: \"center\"\n },\n treeCell: {\n height: \"100%\",\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\"\n },\n toggleButton: {\n position: \"relative\",\n display: \"inline-block\",\n border: \"none\",\n height: \"14px\",\n verticalAlign: \"middle\",\n padding: \"0 5px 0 0\",\n margin: \"0\",\n cursor: \"pointer\",\n backgroundColor: \"transparent\",\n outline: \"none\",\n },\n withoutChildren: {\n paddingLeft: \"15px\"\n },\n withChildren: {\n fontWeight: 600\n }\n});\n\nclass MunicipalityContextsTablePage extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n treeValue: TreeState.createEmpty()\n }\n\n this.handleSubmitContexts = this.handleSubmitContexts.bind(this);\n this.handleSwitchChange = this.handleSwitchChange.bind(this);\n this.handleTreeChange = this.handleTreeChange.bind(this);\n\n this.renderName = this.renderName.bind(this);\n this.renderSwitch = this.renderSwitch.bind(this);\n }\n\n render() {\n const { municipality, contexts, loading, classes, router } = this.props;\n\n if (router.mode === pageModes.view) {\n const rowsMunicipalityContextsTable = [\n { id: 'name', align: 'center', disablePadding: false, label: __t('name') },\n ];\n\n const municipalityContexts = contexts.filter(c => c.municipalityId === municipality.id);\n\n if (loading)\n return (\n \n )\n\n return (\n \n this.props.setError(null)}\n />\n {\n this.setState({\n treeValue: TreeState.create(this.setUpContextTree(municipality.id, contexts))\n });\n\n this.props.changeTabDisplay(tabDisplays.secondary)\n this.props.changeMode(pageModes.edit);\n })}\n />\n \n )\n }\n\n return (\n \n {\n this.props.changeTabDisplay(tabDisplays.index)\n this.props.changeMode(pageModes.view)\n }}\n onSave={this.handleSubmitContexts}\n >\n \n {__t('center')}}\n />\n }\n />\n \n \n \n )\n }\n\n /* Utils */\n setUpContextTree(municipalityId, contexts) {\n const treeData = contexts.map(c => {\n return {\n data: {\n id: c.id,\n name: c.name,\n municipalityId: c.municipalityId,\n checked: c.municipalityId === municipalityId,\n disabled: 'municipalityId' in c && c.municipalityId != null && c.municipalityId !== municipalityId\n }\n };\n });\n\n return treeData;\n }\n\n /* Events */\n handleSubmitContexts() {\n if (this.state.treeValue.hasData) {\n const lstContextIds = this.state.treeValue.data.filter(c => c.data.checked).map(c => c.data.id);\n\n this.props.sendContexts(this.props.municipality.id, lstContextIds);\n }\n }\n\n handleSwitchChange(row) {\n const element = this;\n\n return function () {\n let treeState = element.state.treeValue;\n\n treeState.data = treeState.data.map((d, i) => {\n if (row.metadata.index !== i)\n return d;\n\n d.data.checked = !d.data.checked;\n return d;\n });\n\n element.setState({\n treeValue: treeState\n })\n }\n }\n\n handleTreeChange(newState) {\n this.setState({ treeValue: newState })\n }\n\n /* Tree render */\n renderName(row) {\n return (\n
\n {row.data.name}\n
\n )\n }\n\n renderSwitch(row) {\n if (row.data.disabled)\n return (\n
{this.props.municipalities.find(m => m.id === row.data.municipalityId).name}
\n )\n\n return (\n
\n \n
\n )\n }\n}\n\nfunction mapStateToProps(state) {\n return {\n contexts: state.contextsReducer.contexts,\n router: state.municipalitiesReducer.municipalityContextsRouter,\n loading: state.municipalitiesReducer.loadingMunicipalityContexts,\n error: state.municipalitiesReducer.errorMunicipalityContexts,\n userRole: state.usersReducer.userRole\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n changeMode: (mode) => {\n dispatch(municipalitiesActions.changeModeMunicipalityContexts(mode))\n },\n sendContexts: (municipalityId, lstContextIds) => {\n dispatch(municipalitiesActions.sendMunicipalityContexts(municipalityId, lstContextIds))\n },\n changeTabDisplay: (tabDisplay) => {\n dispatch(municipalitiesActions.setTabDisplay(tabDisplay))\n },\n setError: (error) => {\n dispatch(municipalitiesActions.setErrorMunicipalityContexts(error))\n }\n }\n}\n\nMunicipalityContextsTablePage.propTypes = {\n municipality: PropTypes.object.isRequired,\n municipalities: PropTypes.array.isRequired,\n router: PropTypes.object,\n loading: PropTypes.bool,\n error: PropTypes.string,\n fetchMunicipalitys: PropTypes.func,\n changeMode: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(MunicipalityContextsTablePage));","import React, { useEffect } from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport { municipalitiesActions } from '../../../actions/municipalitiesActions'\nimport { contextsActions } from '../../../actions/contextsActions'\nimport MunicipalityContextsTablePage from './MunicipalityContextsTablePage';\nimport { pageModes } from '../../../_constants/emparkConstants';\n\nconst MunicipalityContextsRouter = props => {\n useEffect(() => {\n props.changeMode(pageModes.view);\n props.fetchContexts();\n\n return () => {\n\n }\n }, [])\n\n return (\n \n )\n}\n\nfunction mapStateToProps(state) {\n return {\n contexts: state.contextsReducer.contexts,\n loading: state.contextsReducer.loading\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n changeMode: (mode) => {\n dispatch(municipalitiesActions.changeModeMunicipalityContexts(mode))\n },\n fetchContexts: () => {\n dispatch(contextsActions.fetchContexts());\n }\n }\n}\n\nMunicipalityContextsRouter.propTypes = {\n municipality: PropTypes.object.isRequired,\n municipalities: PropTypes.array.isRequired,\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(MunicipalityContextsRouter);","import React from 'react';\nimport classNames from 'classnames';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport { municipalitiesActions } from '../../../actions/municipalitiesActions';\n\nimport {\n Paper,\n Modal,\n CircularProgress,\n withStyles,\n Tabs,\n Tab\n} from '@material-ui/core';\n\nimport {\n pageModes,\n freeDayReference,\n styleWithCommonClasses,\n tabDisplays,\n hasPermission,\n APP_CLAIMS,\n productTypes\n} from '../../../_constants/emparkConstants'\n\nimport TitleToolbar from '../../Forms/TitleToolbar';\nimport MunicipalityForm from '../../Forms/MunicipalityForm';\n\nimport '../../../styles/TreeTable.css';\n\nimport translate from '../../../locales';\nimport FreeDaysRouter from '../../Sections/FreeDays/FreeDaysRouter';\nimport DisallowedPeriodRouter from '../../Sections/DisallowedPeriods/DisallowedPeriodsRouter';\nimport ErrorMessage from '../../ErrorMessage';\nimport MunicipalityContextsRouter from '../../Sections/MunicipalityContexts/MunicipalityContextsRouter';\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n tabPanel: {\n marginTop: '20px',\n marginBottom: '20px',\n backgroundColor: 'white'\n },\n tabContent: {\n marginTop: '20px'\n }\n});\n\nclass MunicipalityDetailPage extends React.Component {\n constructor(props) {\n super(props);\n\n const { municipalities, router } = this.props;\n\n this.state = {\n municipality: municipalities.find(c => c.id === router.id),\n tab: 0\n }\n\n this.handleSubmit = this.handleSubmit.bind(this);\n }\n\n componentDidMount() {\n this.props.changeTabDisplay(tabDisplays.index)\n\n const { municipalities, router } = this.props;\n\n if (router.mode !== pageModes.add) {\n this.setState({\n municipality: municipalities.find(c => c.id === router.id)\n })\n }\n }\n\n render() {\n const { municipalities, loading, classes, router, tabDisplay } = this.props;\n\n let municipality = null;\n if (router.mode !== pageModes.add)\n municipality = municipalities.find(r => r.id === router.id)\n\n const title = router.mode === pageModes.add ? __t('create') : router.mode === pageModes.edit ? __t('edit') : __t('view');\n\n if (router.mode === pageModes.add || router.mode === pageModes.edit)\n return (\n
\n \n \n \n \n this.props.changeMode(pageModes.list) : () => {\n this.setState({ municipality: municipality });\n this.props.changeMode(pageModes.view, municipality.id);\n }}\n onSave={this.handleSubmit}\n >\n this.submitForm = returnData}\n />\n \n \n \n
\n )\n\n return (\n
\n \n \n \n \n this.props.changeMode(pageModes.edit, municipality.id) : null}\n onBack={tabDisplay !== tabDisplays.secondary ? () => this.props.changeMode(pageModes.list) : null}\n >\n this.submitForm = returnData}\n readonly\n />\n \n \n \n\n this.setState({ tab: index })}\n indicatorColor=\"primary\"\n textColor=\"primary\"\n variant=\"fullWidth\"\n >\n \n \n \n \n
\n \n
\n
\n \n
\n
\n \n
\n
\n )\n }\n\n handleSubmit() {\n var data = this.submitForm();\n\n const municipality = {\n ...this.state.municipality,\n ...data.formData\n }\n\n this.setState({ municipality: municipality });\n\n if (data.formError) {\n this.props.setError(__t('error_required_fields'));\n\n return;\n }\n\n this.props.sendMunicipality(municipality);\n };\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.municipalitiesReducer.router,\n municipalities: state.municipalitiesReducer.municipalities,\n loading: state.municipalitiesReducer.loading,\n error: state.municipalitiesReducer.error,\n tabDisplay: state.municipalitiesReducer.tabDisplay,\n userRole: state.usersReducer.userRole\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n fetchMunicipalities: () => {\n dispatch(municipalitiesActions.fetchMunicipalities());\n },\n sendMunicipality: (municipality) => {\n dispatch(municipalitiesActions.sendMunicipality(municipality))\n },\n changeMode: (mode, id) => {\n dispatch(municipalitiesActions.changeMode(mode, id))\n },\n changeTabDisplay: (tabDisplay) => {\n dispatch(municipalitiesActions.setTabDisplay(tabDisplay))\n },\n setError: (error) => {\n dispatch(municipalitiesActions.setError(error))\n }\n }\n}\n\nMunicipalityDetailPage.propTypes = {\n router: PropTypes.object,\n municipalities: PropTypes.array,\n loading: PropTypes.bool,\n error: PropTypes.string,\n fetchMunicipalities: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(MunicipalityDetailPage));","import React, { useEffect } from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\n\nimport {\n pageModes, styleWithCommonClasses\n} from '../../../_constants/emparkConstants'\n\nimport MunicipalitiesTablePage from './MunicipalitiesTablePage';\nimport MunicipalityDetailPage from './MunicipalityDetailPage';\nimport { municipalitiesActions } from '../../../actions/municipalitiesActions';\nimport { withStyles } from '@material-ui/core';\nimport { useHistory, withRouter } from 'react-router-dom';\n\nconst styles = styleWithCommonClasses();\n\nconst MunicipalitiesRouterPage = props => {\n useEffect(() => {\n props.changeMode(pageModes.list);\n props.fetchMunicipalities();\n\n return () => {\n\n }\n }, [])\n\n if (props.router.mode === pageModes.list)\n return (\n \n )\n\n return (\n \n )\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.municipalitiesReducer.router,\n loading: state.municipalitiesReducer.loading,\n hasFetched: state.municipalitiesReducer.hasFetched\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n fetchMunicipalities: () => {\n dispatch(municipalitiesActions.fetchMunicipalities());\n },\n changeMode: (mode, id) => {\n dispatch(municipalitiesActions.changeMode(mode, id))\n }\n }\n}\n\nMunicipalitiesRouterPage.propTypes = {\n router: PropTypes.object\n}\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(MunicipalitiesRouterPage)));","import React, { useState } from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport { rolesActions } from '../../../actions/rolesActions';\n\nimport {\n Paper,\n Modal,\n CircularProgress,\n withStyles\n} from '@material-ui/core';\n\nimport {\n APP_CLAIMS,\n hasPermission,\n materialTableStyles,\n pageModes,\n styleWithCommonClasses\n} from '../../../_constants/emparkConstants'\n\nimport translate from '../../../locales';\nimport Unauthorized from '../../Unauthorized';\nimport ErrorDialog from '../../Dialogs/ErrorDialog';\nimport ConfirmDialog from '../../Dialogs/ConfirmDialog';\nimport TitleToolbar from '../../Forms/TitleToolbar';\nimport MaterialTable from 'material-table';\nimport { MaterialTableActions } from '../../Tables/MaterialTableActions';\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses();\n\nconst RolesTablePage = props => {\n const [role, setRole] = useState(null);\n\n /* Events */\n const handleDeleteRole = (role) => {\n props.deleteRole(role.id);\n }\n\n /* Render */\n const { roles, loading, classes } = props;\n\n return (\n
\n \n \n \n \n props.setError(null)}\n />\n {\n if (action == 'ok') {\n handleDeleteRole(role);\n }\n\n setRole(null);\n }}\n />\n \n props.changeMode(pageModes.add))}\n >\n \n props.changeMode(pageModes.view, rowData.id)}\n onDelete={hasPermission(props.userRole, APP_CLAIMS.ROL_D) && rowData.deletable ? () => setRole(rowData) : null}\n />\n }\n ]}\n data={roles}\n options={{\n filtering: true,\n search: false,\n toolbar: false\n }}\n onRowClick={(e, rowData) => {\n props.changeMode(pageModes.view, rowData.id)\n }}\n />\n \n \n \n
\n )\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.rolesReducer.router,\n roles: state.rolesReducer.roles,\n loading: state.rolesReducer.loading,\n error: state.rolesReducer.error,\n userRole: state.usersReducer.userRole\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n deleteRole: (roleId) => {\n dispatch(rolesActions.deleteRole(roleId))\n },\n changeMode: (mode, id) => {\n dispatch(rolesActions.changeMode(mode, id))\n },\n setError: (error) => {\n dispatch(rolesActions.setError(error))\n }\n }\n}\n\nRolesTablePage.propTypes = {\n router: PropTypes.object,\n roles: PropTypes.array,\n loading: PropTypes.bool,\n error: PropTypes.string,\n fetchRoles: PropTypes.func,\n changeMode: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(RolesTablePage));","import {\n Grid, InputLabel, withStyles\n} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport translate from '../../locales';\nimport OutlinedTextField from '../OutlinedTextField';\n\n\n\n\nconst __t = translate;\n\nconst styles = () => ({\n containerButtons: {\n textAlign: 'right'\n },\n containerIsTelpark: {\n textAlign:'right'\n },\n upperCase: {\n textTransform:'uppercase'\n }\n});\n\nclass RoleForm extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n name: this.props.role ? this.props.role.name : \"\",\n nameError:false\n }\n\n this.returnData = this.returnData.bind(this);\n }\n\n componentDidMount() {\n this.props.refReturnData(this.returnData);\n }\n\n componentDidUpdate(prevProps) {\n if(this.props != prevProps)\n this.setState({\n name: this.props.role ? this.props.role.name : \"\"\n })\n }\n\n render() {\n return(\n
\n \n \n {__t('name')}:\n \n \n this.setState({name:e.target.value})}\n inputProps={{ maxLength: 25, className:this.props.classes.upperCase }}\n disabled={this.props.readonly}\n />\n \n \n \n \n
\n )\n }\n\n returnData() {\n this.setState({nameError:false})\n\n let error = false;\n if(this.state.name == \"\") {\n error = true;\n this.setState({nameError:true})\n }\n\n return {\n formData: {\n name:this.state.name\n },\n formError:error\n }\n }\n}\n\nRoleForm.propTypes = {\n role:PropTypes.object,\n readonly:PropTypes.bool,\n refReturnData:PropTypes.func.isRequired\n}\n\nexport default withStyles(styles)(RoleForm);","import {\n CircularProgress, Modal, Paper, Switch, withStyles\n} from '@material-ui/core';\nimport { TreeState, TreeTable } from 'cp-react-tree-table';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\nimport { connect } from 'react-redux';\nimport { rolesActions } from '../../../actions/rolesActions';\nimport translate from '../../../locales';\nimport '../../../styles/TreeTable.css';\nimport {\n pageModes,\n styleWithCommonClasses,\n tabDisplays\n} from '../../../_constants/emparkConstants';\nimport ErrorMessage from '../../ErrorMessage';\nimport TitleToolbar from '../../Forms/TitleToolbar';\nimport LoadingPaper from '../../LoadingPaper';\nimport EMTable from '../../Tables/EMTable';\nimport ErrorDialog from '../../Dialogs/ErrorDialog';\n\n\n\n\n\n\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n switchCell: {\n height: \"100%\",\n display: \"flex\",\n flexDirection: \"row-reverse\",\n alignItems: \"center\"\n },\n treeCell: {\n height: \"100%\",\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\"\n },\n toggleButton: {\n position: \"relative\",\n display: \"inline-block\",\n border: \"none\",\n height: \"14px\",\n verticalAlign: \"middle\",\n padding: \"0 5px 0 0\",\n margin: \"0\",\n cursor: \"pointer\",\n backgroundColor: \"transparent\",\n outline: \"none\",\n },\n withoutChildren: {\n paddingLeft: \"15px\"\n },\n withChildren: {\n fontWeight: 600\n }\n});\n\nclass RoleClaimsTablePage extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n treeValue: TreeState.createEmpty(),\n selectedAll: false\n }\n\n this.handleSubmitClaims = this.handleSubmitClaims.bind(this);\n this.handleSwitchChange = this.handleSwitchChange.bind(this);\n this.handleTreeChange = this.handleTreeChange.bind(this);\n this.handleAllSwitch = this.handleAllSwitch.bind(this);\n\n this.renderClaim = this.renderClaim.bind(this);\n this.renderSwitch = this.renderSwitch.bind(this);\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.claims !== this.props.claims) {\n const treeValue = TreeState.create(this.setUpClaimTree(this.props.claims, this.props.roleClaims));\n\n const notSelectedAll = treeValue.data.some(d => !d.data.checked);\n\n this.setState({\n treeValue: treeValue,\n selectedAll: !notSelectedAll\n });\n }\n }\n\n render() {\n const { roleClaims, loading, classes, router } = this.props;\n\n if (loading)\n return (\n \n \n \n )\n\n if (router.mode === pageModes.view) {\n const rowsRoleClaimsTable = [\n { id: 'name', align: 'center', disablePadding: false, label: __t('name') },\n ];\n\n return (\n
\n \n this.props.setError(null)}\n />\n {\n this.setState({\n treeValue: TreeState.create(this.setUpClaimTree(this.props.claims, this.props.roleClaims))\n });\n\n this.props.changeTabDisplay(tabDisplays.secondary)\n this.props.changeMode(pageModes.edit);\n }}\n />\n \n
\n )\n }\n\n return (\n
\n \n {\n this.props.changeTabDisplay(tabDisplays.index)\n this.props.changeMode(pageModes.view);\n }}\n onSave={this.handleSubmitClaims}\n >\n \n \n \n
\n
\n
{__t('claim')}
\n
\n }\n />\n
}\n />\n \n \n \n
\n )\n }\n\n /* Utils */\n setUpClaimTree(claims, roleClaims) {\n const treeData = claims.map(c => {\n return {\n data: {\n id: c.id,\n code: c.code,\n description: c.description,\n checked: Boolean(roleClaims.claims.find(rc => rc.id === c.id))\n }\n };\n });\n\n return treeData;\n }\n\n /* Events */\n handleSubmitClaims() {\n if (this.state.treeValue.hasData) {\n const lstClaimIds = this.state.treeValue.data.filter(c => c.data.checked).map(c => c.data.id);\n\n this.props.sendClaims(this.props.role.id, lstClaimIds);\n }\n }\n\n handleSwitchChange(row) {\n const element = this;\n\n return function () {\n let treeState = element.state.treeValue;\n\n treeState.data = treeState.data.map((d, i) => {\n if (row.metadata.index !== i)\n return d;\n\n d.data.checked = !d.data.checked;\n return d;\n });\n\n const notSelectedAll = treeState.data.some(d => !d.data.checked);\n\n element.setState({\n treeValue: treeState,\n selectedAll: !notSelectedAll\n })\n }\n }\n\n handleAllSwitch() {\n const element = this;\n\n return function () {\n let treeState = element.state.treeValue;\n\n treeState.data = treeState.data.map((d, i) => {\n d.data.checked = !element.state.selectedAll;\n return d;\n });\n\n element.setState({\n treeValue: treeState,\n selectedAll: !element.state.selectedAll\n });\n }\n }\n\n handleTreeChange(newState) {\n this.setState({ treeValue: newState })\n }\n\n /* Tree render */\n renderClaim(row) {\n return (\n
\n {row.data.description}\n
\n )\n }\n\n renderSwitch(row) {\n return (\n
\n {row.data.id &&\n \n }\n
\n )\n }\n}\n\nfunction mapStateToProps(state) {\n return {\n claims: state.auxReducer.claims,\n roleClaims: state.rolesReducer.roleClaims,\n router: state.rolesReducer.roleClaimsRouter,\n loading: state.rolesReducer.loading,\n error: state.rolesReducer.error\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n changeMode: (mode) => {\n dispatch(rolesActions.changeModeRoleClaims(mode))\n },\n sendClaims: (roleId, lstClaimIds) => {\n dispatch(rolesActions.sendRoleClaims(roleId, lstClaimIds))\n },\n changeTabDisplay: (tabDisplay) => {\n dispatch(rolesActions.setTabDisplay(tabDisplay))\n },\n setError: (error) => {\n dispatch(rolesActions.setError(error));\n }\n }\n}\n\nRoleClaimsTablePage.propTypes = {\n role: PropTypes.object.isRequired,\n router: PropTypes.object,\n roles: PropTypes.array,\n loading: PropTypes.bool,\n error: PropTypes.string,\n fetchRoles: PropTypes.func,\n changeMode: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(RoleClaimsTablePage));","import React, { useEffect } from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport { rolesActions } from '../../../actions/rolesActions'\nimport { auxActions } from '../../../actions/auxActions'\nimport { CircularProgress } from '@material-ui/core';\nimport RoleClaimsTablePage from './RoleClaimsTablePage';\nimport { pageModes } from '../../../_constants/emparkConstants';\n\nconst RoleClaimsRouter = props => {\n useEffect(() => {\n props.changeMode(pageModes.view)\n props.fetchClaims();\n props.fetchRoleClaims(props.role.id);\n\n return () => {\n \n }\n }, [])\n \n return(\n \n )\n}\n\nfunction mapStateToProps(state) {\n return {\n claims: state.auxReducer.claims,\n loadingClaims: state.auxReducer.loading,\n roleClaims: state.rolesReducer.claims,\n loadingRoleClaims: state.rolesReducer.loading,\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n changeMode:(mode) => {\n dispatch(rolesActions.changeModeRoleClaims(mode))\n },\n fetchClaims: () => {\n dispatch(auxActions.fetchClaims());\n },\n fetchRoleClaims: (roleId) => {\n dispatch(rolesActions.fetchRoleClaims(roleId));\n }\n }\n}\n\nRoleClaimsRouter.propTypes = {\n role:PropTypes.object.isRequired\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(RoleClaimsRouter);","import { bind } from \"file-loader\";\nimport React, { useEffect, useState } from \"react\"\nimport { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { ROLES_ROLE_CONTEXT_STATE } from \"../../../actions/rolesActions\";\nimport { rolesService } from \"../../../services\";\n\nconst queryRoleContexts = (WrappedComponent, roleId) => {\n return class WrapperComponent extends Component {\n _isMounted = false;\n\n constructor(props) {\n super(props);\n\n this.state = {\n isLoading: true,\n error: null\n };\n }\n\n componentDidMount() {\n this._isMounted = true;\n\n if (this.props.roleContexts.id != roleId) {\n rolesService.getRoleContexts(roleId)\n .then(result => {\n this.props.setContexts(roleId, result);\n\n if (this._isMounted)\n this.setState({ isLoading: false });\n })\n .catch(error => {\n if (this._isMounted)\n this.setState({ error: error, isLoading: false })\n })\n\n return;\n }\n\n this.setState({ isLoading: false });\n }\n\n componentWillUnmount() {\n this._isMounted = false;\n }\n\n render() {\n const query = {\n roleId: roleId,\n contexts: this.props.roleContexts.contexts,\n isLoading: this.state.isLoading,\n error: this.state.error\n }\n\n return (\n \n )\n }\n }\n}\n\nfunction mapStateToProps(state) {\n return {\n roleContexts: state.rolesReducer.roleContexts,\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n setContexts: (roleId, contexts) => {\n dispatch({\n type: ROLES_ROLE_CONTEXT_STATE,\n payload: {\n id: roleId,\n contexts: contexts\n }\n })\n }\n }\n}\n\nexport const withRoleContexts = compose(connect(mapStateToProps, mapDispatchToProps), queryRoleContexts);","import React from \"react\"\nimport { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { contextsActions } from \"../../../actions/contextsActions\";\n\nconst queryContexts = (WrappedComponent) => {\n return class WrapperComponent extends Component {\n _isMounted = false;\n\n constructor(props) {\n super(props);\n\n this.state = {...props}\n }\n\n componentDidMount() {\n this._isMounted = true;\n\n if (this.props.contexts.length == 0) {\n this.props.fetchContexts();\n return;\n }\n }\n\n componentWillUnmount() {\n this._isMounted = false;\n }\n\n render() {\n const query = {\n contexts: this.props.contexts,\n isLoading: this.props.isLoading,\n error: this.props.error\n }\n\n return (\n \n )\n }\n }\n}\n\nfunction mapStateToProps(state) {\n return {\n contexts: state.contextsReducer.contexts,\n isLoading: state.contextsReducer.loading,\n error: state.contextsReducer.error\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n fetchContexts: () => {\n dispatch(contextsActions.fetchContexts());\n }\n }\n}\n\nexport const withContexts = compose(connect(mapStateToProps, mapDispatchToProps), queryContexts);","import React from \"react\"\nimport { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { ROLES_ROLE_CONTEXT_STATE } from \"../../../actions/rolesActions\";\nimport { rolesService } from \"../../../services\";\n\nconst submitRoleContexts = (WrappedComponent) => {\n return class WrapperComponent extends Component {\n _isMounted = false;\n\n constructor(props) {\n super(props);\n\n this.state = {\n isLoading: false,\n error: null\n };\n\n this.submit = this.submit.bind(this);\n }\n \n componentDidMount() {\n this._isMounted = true;\n }\n\n async submit(roleId, contexts, completedSubmit) {\n if (this._isMounted) {\n this.setState({ isLoading: true });\n\n rolesService.saveRoleContexts(roleId, contexts.map(e => e.id))\n .then(() => {\n if (this._isMounted) {\n this.setState({ error: null, isLoading: false });\n\n this.props.setContexts(roleId, contexts);\n\n completedSubmit(this.state.error);\n }\n })\n .catch(e => {\n if (this._isMounted) {\n this.setState({ error: e, isLoading: false });\n \n completedSubmit(this.state.error);\n }\n })\n }\n }\n\n componentWillUnmount() {\n this._isMounted = false;\n }\n\n render() {\n const submit = {\n submit: this.submit,\n isLoading: this.state.isLoading,\n error: this.state.error,\n }\n\n return (\n \n )\n }\n }\n}\n\nfunction mapStateToProps(state) {\n return {\n roleContexts: state.rolesReducer.roleContexts,\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n setContexts: (roleId, contexts) => {\n dispatch({\n type: ROLES_ROLE_CONTEXT_STATE,\n payload: {\n id: roleId,\n contexts: contexts\n }\n })\n }\n }\n}\n\nexport const withSubmitRoleContexts = compose(connect(mapStateToProps, mapDispatchToProps), submitRoleContexts);","import { Switch } from '@material-ui/core';\nimport MaterialTable, { MTableBody, MTableEditField, MTableFilterRow, MTablePagination } from 'material-table';\nimport React from 'react'\nimport { findDOMNode } from 'react-dom';\nimport __t from '../../locales';\n\nexport default class ContextAssociationTable extends React.Component {\n store = React.createRef();\n\n constructor(props) {\n super();\n\n this.state = {\n selectedAll: props.selectedAll\n }\n\n this.store.current = props.selectedAll ? props.contexts.map(e => ({...e, selected: true})) : props.contexts;\n\n this.getSelectedValues = this.getSelectedValues.bind(this);\n }\n\n render() {\n const emptyMessage = this.props.contexts.length == 0 ? (\n this.props.emptyMessage ? this.props.emptyMessage : \"Empty\"\n )\n : __t('no_centers');\n\n return (\n {__t('no_results')}\n }\n }}\n columns={[\n { title: __t('center'), field: 'name', filtering:true},\n {\n title:\n
{__t('option_all')}\n {\n let newValue = !this.state.selectedAll;\n this.store.current = this.store.current.map(e => ({ ...e, selected: newValue }));\n\n this.setState({ selectedAll: newValue })\n }}\n />\n
, \n sorting: false,\n headerStyle: { textAlign: 'right' },\n cellStyle: { textAlign: 'right' },\n filtering: false,\n render: (row) =>\n {\n let s = true;\n\n this.store.current.forEach(e => {\n if (e.id == row.id)\n e.selected = !e.selected;\n\n if (!e.selected) {\n s = false;\n }\n });\n\n if (s != this.state.selectedAll)\n this.setState({ selectedAll: s });\n }}\n />\n }\n ]}\n data={this.store.current}\n options={{\n selection: false,\n showFirstLastPageButtons: false,\n showSelectAllCheckbox: true,\n showTextRowsSelected: false,\n search: false,\n // paging: !this.state.selectedAll,\n toolbar: false,\n filtering: true\n }}\n components={{\n FilterRow: props => \n {\n props.onFilterChanged(columnId, value);\n }}\n >,\n Body: props => this.props.contexts.length == 0 ?

{emptyMessage}

: \n }}\n />\n )\n }\n\n getSelectedValues() {\n if (this.state.selectedAll)\n return [{ id: '*', name: '*' }];\n\n return this.store.current.filter(e => e.selected);\n }\n}","import React from \"react\"\nimport { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { compose } from \"redux\";\nimport { SET_CONTEXTS_ALL } from \"../../../actions/contextsActions\";\nimport { contextsService, rolesService } from \"../../../services\";\n\nconst queryAllContexts = (WrappedComponent, roleId) => {\n return class WrapperComponent extends Component {\n _isMounted = false;\n\n constructor(props) {\n super(props);\n\n this.state = {\n isLoading: true,\n error: null\n };\n }\n\n componentDidMount() {\n this._isMounted = true;\n\n if (this.props.contexts.length == 0) {\n contextsService.getAllContexts()\n .then(result => {\n this.props.setContexts(result);\n\n if (this._isMounted)\n this.setState({ isLoading: false });\n })\n .catch(error => {\n if (this._isMounted)\n this.setState({ error: error, isLoading: false })\n })\n\n return;\n }\n\n this.setState({ isLoading: false });\n }\n\n componentWillUnmount() {\n this._isMounted = false;\n }\n\n render() {\n const query = {\n contexts: this.props.contexts,\n isLoading: this.state.isLoading,\n error: this.state.error\n }\n\n return (\n \n )\n }\n }\n}\n\nfunction mapStateToProps(state) {\n return {\n contexts: state.contextsReducer.contextsAll,\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n setContexts: (contexts) => {\n dispatch({\n type: SET_CONTEXTS_ALL,\n payload: contexts\n })\n }\n }\n}\n\nexport const withAllContexts = compose(connect(mapStateToProps, mapDispatchToProps), queryAllContexts);","import { CircularProgress, Paper, Switch, withStyles } from '@material-ui/core';\nimport React, { Component, useRef, useState } from 'react'\nimport { connect } from 'react-redux';\nimport { pageModes, styleWithCommonClasses, tabDisplays } from '../../_constants/emparkConstants';\nimport classNames from 'classnames';\nimport ErrorDialog from '../Dialogs/ErrorDialog';\nimport MaterialTable, { MTableBody } from 'material-table';\nimport __t from '../../locales';\nimport TitleToolbar from '../Forms/TitleToolbar';\nimport { withContexts } from '../Fetchers/Contexts/QueryContexts';\nimport { withRoleContexts } from '../Fetchers/RoleContexts/QueryRoleContexts';\nimport { withSubmitRoleContexts } from '../Fetchers/RoleContexts/SubmitRoleContexts';\nimport { rolesActions } from '../../actions/rolesActions';\nimport ContextAssociationTable from '../Tables/ContextAssociationTable';\nimport { withAllContexts } from '../Fetchers/Contexts/QueryAllContexts';\n\nconst styles = styleWithCommonClasses();\n\nconst RoleContextController = (props) => {\n const { queryContexts, queryAllContexts, queryRoleContexts, submitRoleContexts, classes } = props;\n\n const table = useRef(null);\n const [error, setError] = useState(\n queryContexts.error ? queryContexts.error :\n queryRoleContexts.error ? queryRoleContexts.error :\n submitRoleContexts.error ? submitRoleContexts.error : null\n );\n\n if (queryRoleContexts.isLoading || queryAllContexts.isLoading || queryContexts.isLoading || submitRoleContexts.isLoading) {\n return (\n \n \n \n )\n }\n\n const selectedAll = queryRoleContexts.contexts.length == 1 &&\n queryRoleContexts.contexts[0].id == \"*\";\n\n if (props.tabDisplay == tabDisplays.index) {\n return (\n \n setError(null)} />\n\n {\n props.changeTabDisplay(tabDisplays.secondary);\n }}\n >\n {__t('no_centers')} :

{__t('no_results')}

\n }\n }}\n columns={[\n { title: __t('center'), field: 'name' }\n ]}\n data={selectedAll ? [] : queryRoleContexts.contexts}\n options={{\n selection: false,\n showFirstLastPageButtons: false,\n showSelectAllCheckbox: true,\n showTextRowsSelected: false,\n search: false,\n paging: !selectedAll,\n pageSizeOptions: [5, 10],\n toolbar: false,\n filtering: true,\n }}\n components={{\n Body: props => selectedAll ?

{__t('all_centers')}

: \n }}\n />\n \n \n )\n }\n\n const data = queryAllContexts.contexts.map(c => ({\n id: c.id,\n name: c.name,\n selected: queryRoleContexts.contexts.some(e => e.id == c.id)\n }))\n\n const onSave = () => {\n let contexts = table.current.getSelectedValues();\n\n submitRoleContexts.submit(queryRoleContexts.roleId, contexts, (error) => {\n if (error) {\n return;\n }\n\n props.changeTabDisplay(tabDisplays.index)\n })\n }\n\n return (\n \n \n\n {\n props.changeTabDisplay(tabDisplays.index)\n }}\n onSave={onSave}\n >\n \n \n \n )\n}\n\nfunction mapStateToProps(state) {\n return {\n tabDisplay: state.rolesReducer.tabDisplay,\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n changeTabDisplay: (tabDisplay) => {\n dispatch(rolesActions.setTabDisplay(tabDisplay))\n }\n }\n}\n\nconst RoleContextComponent = connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(RoleContextController));\n\n//Wrapper\nexport default (props) => {\n const RoleContexts1 = withContexts(RoleContextComponent);\n const RoleContexts2 = withAllContexts(RoleContexts1);\n const RoleContexts3 = withRoleContexts(RoleContexts2, props.roleId);\n const RoleContexts4 = withSubmitRoleContexts(RoleContexts3);\n\n return (\n \n )\n}","import React, { useState } from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport { rolesActions } from '../../../actions/rolesActions';\n\nimport {\n Paper,\n Modal,\n CircularProgress,\n withStyles,\n Tab,\n Tabs,\n} from '@material-ui/core';\n\nimport {\n APP_CLAIMS,\n hasPermission,\n pageModes,\n styleWithCommonClasses,\n tabDisplays\n} from '../../../_constants/emparkConstants'\n\nimport TitleToolbar from '../../Forms/TitleToolbar';\nimport RoleForm from '../../Forms/RoleForm';\n\nimport '../../../styles/TreeTable.css';\n\nimport translate from '../../../locales';\nimport RoleClaimsRouter from '../../Sections/RoleClaims/RoleClaimsRouter';\nimport ErrorMessage from '../../ErrorMessage';\nimport { withRoleContexts } from '../../Fetchers/RoleContexts/QueryRoleContexts';\nimport RoleContextController from '../../Controllers/RoleContextController';\nimport classNames from 'classnames'\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n tabPanel: {\n border: '1px solid lightgrey',\n background:'white'\n },\n tabContent: {\n marginTop: '20px'\n }\n});\n\nconst TabPanels = ({ role, classes, tabDisplay }) => {\n const [tab, setTab] = useState(0);\n\n return (\n <>\n setTab(index)}\n indicatorColor=\"primary\"\n textColor=\"primary\"\n variant=\"fullWidth\"\n style={{marginLeft:\"5%\", marginRight:\"5%\"}}\n >\n \n
hola
\n \n \n \n\n \n {tab == 0 ?\n role.id == \"admin\" ?

{__t('all_centers')}

: \n :\n role.id == \"admin\" ?

{__t('all_claims')}

: \n }\n \n )\n}\n\nclass RoleDetailPage extends React.Component {\n constructor(props) {\n super(props);\n\n const { roles, router } = this.props;\n\n this.state = {\n role: roles.find(c => c.id === router.id),\n tabIndex: 0\n }\n\n this.handleSubmit = this.handleSubmit.bind(this);\n }\n\n componentDidMount() {\n this.props.changeTabDisplay(tabDisplays.index)\n\n const { roles, router } = this.props;\n\n if (router.mode !== pageModes.add) {\n this.setState({\n role: roles.find(c => c.id === router.id)\n })\n }\n }\n\n render() {\n const { roles, loading, classes, router, tabDisplay } = this.props;\n\n const title = router.mode === pageModes.add ? __t('create') : router.mode === pageModes.edit ? __t('edit') : __t('view');\n\n let role = roles.find(r => r.id === router.id)\n\n if (router.mode === pageModes.add || router.mode === pageModes.edit)\n return (\n
\n \n \n \n \n this.props.changeMode(pageModes.list) : () => {\n this.setState({ role: role })\n this.props.changeMode(pageModes.view, role.id)\n }}\n onSave={this.handleSubmit}\n >\n this.submitForm = returnData}\n />\n \n \n \n
\n )\n\n return (\n
\n \n \n \n \n this.props.changeMode(pageModes.edit, role.id) : null}\n onBack={tabDisplay !== tabDisplays.secondary ? () => this.props.changeMode(pageModes.list) : null}\n >\n this.submitForm = returnData}\n readonly\n />\n \n \n \n
\n )\n }\n\n handleSubmit() {\n var data = this.submitForm();\n\n const role = {\n ...this.state.role,\n ...data.formData\n }\n\n this.setState({ role: role });\n\n if (data.formError) {\n this.props.setError(__t('error_required_fields'));\n\n return;\n }\n\n this.props.sendRole(role);\n };\n\n roleEditCondition(role) {\n return role.name !== \"ADMIN\";\n }\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.rolesReducer.router,\n roles: state.rolesReducer.roles,\n loading: state.rolesReducer.loading,\n error: state.rolesReducer.error,\n tabDisplay: state.rolesReducer.tabDisplay,\n userRole: state.usersReducer.userRole\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n fetchRoles: () => {\n dispatch(rolesActions.fetchRoles());\n },\n sendRole: (role) => {\n dispatch(rolesActions.sendRole(role))\n },\n changeMode: (mode, id) => {\n dispatch(rolesActions.changeMode(mode, id))\n },\n changeTabDisplay: (tabDisplay) => {\n dispatch(rolesActions.setTabDisplay(tabDisplay))\n },\n setError: (error) => {\n dispatch(rolesActions.setError(error))\n }\n }\n}\n\nRoleDetailPage.propTypes = {\n router: PropTypes.object,\n roles: PropTypes.array,\n loading: PropTypes.bool,\n error: PropTypes.string,\n fetchRoles: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(RoleDetailPage));","import React, { useEffect } from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\n\nimport {\n pageModes\n} from '../../../_constants/emparkConstants'\n\nimport RolesTablePage from './RolesTablePage';\nimport RoleDetailPage from './RoleDetailPage';\nimport { rolesActions } from '../../../actions/rolesActions';\n\nconst RolesRouterPage = props => {\n useEffect(() => {\n props.changeMode(pageModes.list);\n props.fetchRoles();\n\n return () => {\n \n }\n }, [])\n \n if (props.router.mode === pageModes.list)\n return (\n \n )\n\n return (\n \n )\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.rolesReducer.router\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n fetchRoles: () => {\n dispatch(rolesActions.fetchRoles());\n },\n changeMode: (mode) => {\n dispatch(rolesActions.changeMode(mode))\n }\n }\n}\n\nRolesRouterPage.propTypes = {\n router: PropTypes.object\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(RolesRouterPage);","import { Card, CardContent, CardHeader, Grid, MenuItem, Paper, Select, withStyles } from '@material-ui/core';\nimport MaterialTable from 'material-table';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport translate from '../../../locales';\nimport { rateTypes, styleWithCommonClasses } from '../../../_constants/emparkConstants';\nimport TitleToolbar from '../../Forms/TitleToolbar';\n\n\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n \n});\n\nconst PrebooksUpdatePage = props => {\n\n return (\n \n\n\n {/*
\n
\n

Acutalizar prebooks

\n \n
*/}\n console.log('hoal')}\n >\n
\n \n
\n \n {/*
*/}\n
\n )\n}\n\nfunction mapStateToProps(state) {\n return {\n\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n\n }\n}\n\nPrebooksUpdatePage.propTypes = {\n context: PropTypes.object\n\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(PrebooksUpdatePage));","import { Button, Paper, TextField, withStyles } from '@material-ui/core';\nimport MaterialTable, { MTableBodyRow } from 'material-table';\nimport PropTypes from 'prop-types';\nimport React, { useRef, useState } from 'react';\nimport { connect } from 'react-redux';\nimport { contextsActions, CONTEXT_PREBOOKS_STATE } from '../../../actions/contextsActions';\nimport { ratesActions } from '../../../actions/ratesActions';\nimport translate from '../../../locales';\nimport { pageModes, productTypes, styleWithCommonClasses, tabDisplays } from '../../../_constants/emparkConstants';\nimport TitleToolbar from '../../Forms/TitleToolbar';\nimport OutlinedTextField from '../../OutlinedTextField'\nimport LoadingPaper from '../../LoadingPaper';\nimport ErrorMessage from '../../ErrorMessage';\n\n\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses();\n\nconst PrebooksUpdatePage = props => {\n let tableRef = useRef(null);\n\n const [rates, setRates] = useState(props.rates\n .filter(r => r.productTypeCode === productTypes.prebooks && r.price)\n .map(r => ({ ...r, tableData: { checked: true } }))\n );\n\n const setPrice = (value, tableId) => {\n setRates(rates.map(r => {\n if (r.tableData.id != tableId) return r;\n\n return { ...r, newPrice: value };\n }));\n\n tableRef.current.setState(tableRef.current.dataManager.getRenderState());\n }\n\n const submit = () => {\n let r = [];\n\n let errors = [];\n let errorPrice = false;\n\n tableRef.current.dataManager.data.forEach(d => {\n if(d.tableData.checked) {\n r.push(d);\n\n if(!d.newPrice) {\n d.error = true;\n\n if(!errorPrice) {\n errorPrice = true;\n }\n } else {\n d.error = false;\n }\n } else {\n d.error = false;\n }\n });\n\n setRates(tableRef.current.dataManager.data);\n\n if (r.length == 0)\n errors.push(__t('error_check_rate'));\n\n if (errorPrice)\n errors.push(__t('error_required_fields'));\n\n if (errors.length > 0) {\n props.setError(errors);\n return;\n }\n\n props.sendPrebooks(props.context.id, r.map(d => ({ rateId: d.id, price: d.newPrice })));\n }\n\n if (props.loading) {\n return ()\n }\n\n return (\n \n \n
\n \n setPrice(e.target.value, data.tableData.id)}\n error={data.error}\n />\n },\n ]}\n data={rates}\n options={{\n selection: true,\n showFirstLastPageButtons: false,\n showSelectAllCheckbox: false,\n showTextRowsSelected: false,\n search: false,\n paging: false,\n toolbar: false,\n }}\n />\n
\n \n
\n )\n}\n\nfunction mapStateToProps(state) {\n return {\n rates: state.ratesReducer.rates,\n loading: state.contextsReducer.prebooksState.loading,\n error: state.contextsReducer.prebooksState.error,\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n backPress: () => {\n dispatch(contextsActions.setTabDisplay(tabDisplays.index));\n dispatch(ratesActions.changeMode(pageModes.list));\n },\n setError: (error) => {\n dispatch({\n type: CONTEXT_PREBOOKS_STATE,\n payload: {\n error: error,\n loading: false\n }\n })\n },\n sendPrebooks: (id, prebooks) => {\n dispatch(contextsActions.sendPrebooksUpdate(id, prebooks));\n }\n }\n}\n\nPrebooksUpdatePage.propTypes = {\n context: PropTypes.object\n\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(PrebooksUpdatePage));","import {\n withStyles\n} from '@material-ui/core';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport translate from '../../locales';\nimport { styleWithCommonClasses } from '../../_constants/emparkConstants';\nimport ExportPage from '../Sections/Prebooks/ExportPage';\nimport PrebooksCreatePage from '../Sections/Prebooks/PrebooksCreatePage';\nimport PrebooksUpdatePage from '../Sections/Prebooks/PrebooksUpdatePage';\n\n\n\n\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n\n});\n\nclass TestPage extends React.Component {\n constructor(props) {\n super(props);\n }\n\n componentDidMount() {\n\n }\n\n render() {\n return (\n
\n {/* */}\n {/* */}\n \n
\n )\n }\n}\n\nfunction mapStateToProps(state) {\n return {\n\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n\n }\n}\n\nTestPage.propTypes = {\n\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(TestPage));","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport EMTable from '../Tables/EMTable';\nimport { auxActions } from '../../actions/auxActions';\n\nimport {\n Paper,\n Modal,\n CircularProgress,\n withStyles,\n} from '@material-ui/core';\n\nimport translate from '../../locales';\nimport { APP_CLAIMS, pageModes, styleWithCommonClasses } from '../../_constants/emparkConstants';\nimport TitleToolbar from '../Forms/TitleToolbar';\nimport CellTable from '../Tables/CellTable';\nimport ErrorMessage from '../ErrorMessage';\nimport Unauthorized from '../Unauthorized';\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n errorText: {\n marginTop: '20px'\n }\n});\n\nclass TlcmPage extends React.Component {\n constructor(props) {\n super(props);\n\n this.handleSaveTlcm = this.handleSaveTlcm.bind(this);\n }\n\n componentDidMount() {\n this.props.changeMode(pageModes.list);\n this.props.fetchTlcm();\n }\n\n render() {\n const { tlcm, loading } = this.props;\n\n const rowsTlcmTable = [\n { id: 'val', align: 'center', disablePadding: false, label: __t('value') },\n ];\n\n if (this.props.mode === pageModes.list)\n return (\n
\n \n \n \n \n \n this.props.changeMode(pageModes.edit)}\n />\n \n \n
\n )\n\n return (\n
\n \n \n \n \n this.props.changeMode(pageModes.list)}\n >\n { this.tableSubmit = returnData }}\n values={tlcm.map(d => d.val.toString())}\n type=\"number\"\n />\n \n \n \n
\n )\n }\n\n /* events */\n handleSaveTlcm() {\n const values = this.tableSubmit();\n\n let tlcm = values\n .filter(v => v != '')\n .map((v, i) => ({\n id: i,\n val: Number(v)\n }));\n\n if (tlcm.length === 0) {\n this.props.setError(__t(\"error_no_values\"))\n return;\n }\n\n tlcm.sort((a, b) => a.val - b.val);\n\n this.props.sendTlcm(tlcm);\n }\n}\n\nfunction mapStateToProps(state) {\n return {\n tlcm: state.auxReducer.tlcm,\n loading: state.auxReducer.loading,\n mode: state.auxReducer.mode,\n error: state.auxReducer.error\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n changeMode: (mode) => {\n dispatch(auxActions.changeMode(mode));\n },\n fetchTlcm: () => {\n dispatch(auxActions.fetchTlcm());\n },\n sendTlcm: (tlcm) => {\n dispatch(auxActions.sendTlcm(tlcm))\n },\n setError: (error) => {\n dispatch(auxActions.setError(error))\n }\n }\n}\n\nTlcmPage.propTypes = {\n tlcm: PropTypes.array,\n loading: PropTypes.bool,\n mode: PropTypes.string,\n error: PropTypes.string,\n changeMode: PropTypes.func,\n fetchTlcm: PropTypes.func,\n sendTlcm: PropTypes.func,\n setError: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(TlcmPage));","import React, { useEffect, useState } from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport EMTable from '../../Tables/EMTable';\nimport { usersActions } from '../../../actions/usersActions';\n\nimport {\n Paper,\n Modal,\n CircularProgress,\n withStyles\n} from '@material-ui/core';\n\nimport {\n APP_CLAIMS,\n materialTableStyles,\n pageModes,\n styleWithCommonClasses\n} from '../../../_constants/emparkConstants'\n\nimport __t from '../../../locales';\nimport Unauthorized from '../../Unauthorized';\nimport ErrorDialog from '../../Dialogs/ErrorDialog';\nimport MaterialTable from 'material-table';\nimport { __ } from 'ramda';\nimport TitleToolbar from '../../Forms/TitleToolbar';\nimport { MaterialTableActions } from '../../Tables/MaterialTableActions';\nimport ConfirmDialog from '../../Dialogs/ConfirmDialog';\n\nconst styles = styleWithCommonClasses();\n\nconst UsersTablePage = props => {\n const [user, setUser] = useState(null);\n\n /* Events */\n const handleDeleteUser = (user) => {\n props.deleteUser(user.id)\n }\n\n /* Render */\n const { users, loading, classes } = props;\n\n return (\n
\n \n \n \n \n props.setError(null)}\n />\n {\n if (action == 'ok') {\n handleDeleteUser(user);\n }\n\n setUser(null);\n }}\n />\n \n props.changeMode(pageModes.add)}\n >\n \n props.changeMode(pageModes.view, rowData.id)}\n onDelete={() => setUser(rowData)}\n />\n }\n ]}\n data={users}\n options={{\n filtering: true,\n search: false,\n toolbar: false\n }}\n onRowClick={(e, rowData) => {\n props.changeMode(pageModes.view, rowData.id)\n }}\n />\n \n \n \n
\n )\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.usersReducer.router,\n users: state.usersReducer.users,\n loading: state.usersReducer.loading,\n error: state.usersReducer.error\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n deleteUser: (userId) => {\n dispatch(usersActions.deleteUser(userId))\n },\n changeMode: (mode, id) => {\n dispatch(usersActions.changeMode(mode, id))\n },\n setError: (error) => {\n dispatch(usersActions.setError(error))\n }\n }\n}\n\nUsersTablePage.propTypes = {\n router: PropTypes.object,\n users: PropTypes.array,\n loading: PropTypes.bool,\n error: PropTypes.string,\n changeMode: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(UsersTablePage));","import {\n Grid,\n InputLabel,\n MenuItem,\n Select, withStyles\n} from '@material-ui/core';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport translate from '../../locales';\nimport OutlinedTextField from '../OutlinedTextField';\n\n\n\n\nconst __t = translate;\n\nconst styles = () => ({\n labelRole: {\n textAlign:'right',\n paddingRight:'15px'\n },\n containerSelect: {\n width:'100%',\n padding:'4px'\n },\n errorBorder: {\n border:'1px solid red',\n borderRadius:'5px'\n },\n select: {\n width:'100%',\n },\n upperCase: {\n textTransform:'uppercase'\n }\n});\n\nclass UserForm extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n email: this.props.user ? this.props.user.email : \"\",\n emailError:false,\n roleId: this.props.user ? this.props.user.roleId : \"\",\n roleIdError:false\n }\n\n this.returnData = this.returnData.bind(this);\n }\n\n componentDidMount() {\n this.props.refReturnData(this.returnData);\n }\n\n componentDidUpdate(prevProps) {\n if(this.props != prevProps)\n this.setState({\n email: this.props.user ? this.props.user.email : \"\",\n roleId: this.props.user ? this.props.user.roleId : \"\",\n })\n }\n\n render() {\n return(\n
\n \n \n {__t('email')}:\n \n \n this.setState({email:e.target.value})}\n inputProps={{ maxLength: 70 }}\n disabled={this.props.readonly}\n />\n \n \n \n {__t('role')}:\n \n \n
\n \n
\n
\n
\n
\n )\n }\n\n returnData() {\n this.setState({\n emailError:false,\n roleIdError:false\n });\n\n let emailError = false, roleIdError = false;\n if(this.state.email == \"\") {\n emailError = true;\n }\n\n if(this.state.roleId == \"\") {\n roleIdError = true;\n }\n\n if(emailError || roleIdError) {\n this.setState({\n emailError:emailError,\n roleIdError:roleIdError\n });\n }\n\n return {\n formData: {\n email:this.state.email,\n roleId:this.state.roleId\n },\n formError: emailError || roleIdError\n }\n }\n}\n\nUserForm.propTypes = {\n user:PropTypes.object,\n roles:PropTypes.array.isRequired,\n readonly:PropTypes.bool,\n refReturnData:PropTypes.func.isRequired\n}\n\nexport default withStyles(styles)(UserForm);","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport { SEND_USER_CONTEXTS_ERROR, usersActions } from '../../../actions/usersActions';\n\nimport {\n Paper,\n CircularProgress,\n withStyles,\n Switch\n} from '@material-ui/core';\n\nimport {\n APP_CLAIMS,\n hasPermission,\n pageModes,\n styleWithCommonClasses,\n tabDisplays\n} from '../../../_constants/emparkConstants'\n\nimport TitleToolbar from '../../Forms/TitleToolbar';\n\nimport '../../../styles/TreeTable.css';\n\nimport translate from '../../../locales';\nimport ErrorMessage from '../../ErrorMessage';\nimport ErrorDialog from '../../Dialogs/ErrorDialog';\nimport MaterialTable, { MTableBody } from 'material-table';\nimport ContextAssociationTable from '../../Tables/ContextAssociationTable';\nimport classNames from 'classnames';\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n switchCell: {\n height: \"100%\",\n display: \"flex\",\n flexDirection: \"row-reverse\",\n alignItems: \"center\"\n },\n treeCell: {\n height: \"100%\",\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\"\n },\n toggleButton: {\n position: \"relative\",\n display: \"inline-block\",\n border: \"none\",\n height: \"14px\",\n verticalAlign: \"middle\",\n padding: \"0 5px 0 0\",\n margin: \"0\",\n cursor: \"pointer\",\n backgroundColor: \"transparent\",\n outline: \"none\",\n },\n withoutChildren: {\n paddingLeft: \"15px\"\n },\n withChildren: {\n fontWeight: 600\n }\n});\n\nclass UserContextsTablePage extends React.Component {\n table = React.createRef();\n\n constructor(props) {\n super(props);\n\n this.handleSubmitContexts = this.handleSubmitContexts.bind(this);\n this.handleSwitchChange = this.handleSwitchChange.bind(this);\n this.handleTreeChange = this.handleTreeChange.bind(this);\n\n this.renderContext = this.renderContext.bind(this);\n this.renderSwitch = this.renderSwitch.bind(this);\n }\n\n render() {\n const { contexts, userContexts, classes, router, queryRoleContexts } = this.props;\n\n if (this.props.queryRoleContexts.isLoading)\n return (\n \n \n \n )\n\n const selectedAll = userContexts.contexts.length == 1 && userContexts.contexts[0].id == \"*\";\n\n let error = null;\n if (this.props.error)\n error = this.props.error\n else if (queryRoleContexts.error)\n error = queryRoleContexts.error;\n\n if (router.mode === pageModes.view) {\n return (\n
\n \n { this.props.setError(null) }}\n />\n {\n this.props.changeTabDisplay(tabDisplays.secondary)\n this.props.changeMode(pageModes.edit);\n })}\n >\n {__t('no_centers')} :

{__t('no_results')}

\n }\n }}\n columns={[\n { title: __t('center'), field: 'name' },\n {\n title:\n
{__t('option_all')}\n \n
,\n sorting: false,\n headerStyle: { textAlign: 'right' },\n cellStyle: { textAlign: 'right' },\n filtering: false,\n render: (row) =>
\n }\n ]}\n data={selectedAll ? queryRoleContexts.contexts.length == 1 && queryRoleContexts.contexts[0].id == \"*\" ? contexts : queryRoleContexts.contexts : userContexts.contexts}\n options={{\n selection: false,\n showFirstLastPageButtons: false,\n showSelectAllCheckbox: true,\n showTextRowsSelected: false,\n search: false,\n paging: true,\n pageSizeOptions: [5, 10],\n toolbar: false,\n filtering: true\n }}\n components={{\n Body: props => queryRoleContexts.contexts.length == 0 ?

{__t('role_no_centers')}

: \n }}\n />\n \n \n
\n )\n }\n\n let data = [];\n if (queryRoleContexts.contexts.length == 1 && queryRoleContexts.contexts[0].id == \"*\") {\n data = contexts.map(c => ({\n id: c.id,\n name: c.name,\n selected: userContexts.contexts.some(e => e.id == c.id)\n }))\n }\n else {\n data = queryRoleContexts.contexts.map(c => ({\n id: c.id,\n name: c.name,\n selected: userContexts.contexts.some(e => e.id == c.id)\n }))\n }\n\n return (\n
\n \n {\n this.props.changeTabDisplay(tabDisplays.index)\n this.props.changeMode(pageModes.view);\n }}\n onSave={this.handleSubmitContexts}\n >\n \n\n \n \n \n
\n )\n }\n\n /* Events */\n handleSubmitContexts() {\n const contexts = this.table.current.getSelectedValues();\n\n this.props.sendContexts(this.props.user.id, contexts.map(e => e.id));\n }\n\n handleSwitchChange(row) {\n const element = this;\n\n return function () {\n let treeState = element.state.treeValue;\n\n treeState.data = treeState.data.map((d, i) => {\n if (row.metadata.index !== i)\n return d;\n\n d.data.checked = !d.data.checked;\n return d;\n });\n\n element.setState({\n treeValue: treeState\n })\n }\n }\n\n handleTreeChange(newState) {\n this.setState({ treeValue: newState })\n }\n\n /* Tree render */\n renderContext(row) {\n return (\n
\n {row.data.name}\n
\n )\n }\n\n renderSwitch(row) {\n return (\n
\n \n
\n )\n }\n}\n\nfunction mapStateToProps(state) {\n return {\n contexts: state.contextsReducer.contexts,\n userContexts: state.usersReducer.userContexts,\n router: state.usersReducer.routerUserContexts,\n error: state.usersReducer.error,\n userRole: state.usersReducer.userRole\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n changeMode: (mode) => {\n dispatch(usersActions.changeModeUserContexts(mode))\n },\n sendContexts: (userId, lstContextIds) => {\n dispatch(usersActions.sendUserContexts(userId, lstContextIds))\n },\n changeTabDisplay: (tabDisplay) => {\n dispatch(usersActions.setTabDisplay(tabDisplay))\n },\n setError: (error) => {\n dispatch({\n type: SEND_USER_CONTEXTS_ERROR,\n payload: error\n });\n }\n }\n}\n\nUserContextsTablePage.propTypes = {\n user: PropTypes.object.isRequired,\n router: PropTypes.object,\n roles: PropTypes.array,\n error: PropTypes.string,\n fetchRoles: PropTypes.func,\n changeMode: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(UserContextsTablePage));","import React, { useEffect } from 'react';\nimport { connect } from 'react-redux';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { contextsActions } from '../../../actions/contextsActions'\nimport { usersActions } from '../../../actions/usersActions'\nimport { CircularProgress, Paper, withStyles } from '@material-ui/core';\nimport UserContextsTablePage from './UserContextsTablePage';\nimport { styleWithCommonClasses } from '../../../_constants/emparkConstants';\nimport { rolesActions } from '../../../actions/rolesActions';\nimport { withRoleContexts } from '../../Fetchers/RoleContexts/QueryRoleContexts';\n\nconst styles = styleWithCommonClasses(); \n\nconst UserContextsRouter = props => {\n useEffect(() => {\n props.fetchContexts();\n // props.fetchRoleContexts(props.user.roleId);\n props.fetchUserContexts(props.user.id);\n\n return () => {\n \n }\n }, [])\n\n if(props.loadingUserContexts || props.loadingContexts)\n return(\n \n \n \n );\n\n const Component = withRoleContexts(UserContextsTablePage, props.user.roleId);\n \n let error = null;\n if(props.errorContexts) \n error = props.errorContexts;\n else if(props.errorUserContexts) \n error = props.errorUserContexts;\n\n return(\n \n // \n )\n}\n\nfunction mapStateToProps(state) {\n return {\n loadingContexts: state.contextsReducer.loading,\n errorContexts: state.contextsReducer.error,\n loadingUserContexts: state.usersReducer.loadingUserContexts,\n errorUserContexts: state.usersReducer.errorUserContexts,\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n fetchContexts: () => {\n dispatch(contextsActions.fetchContexts());\n },\n fetchRoleContexts: (userId) => {\n dispatch(rolesActions.fetchRoleContexts(userId));\n },\n fetchUserContexts: (userId) => {\n dispatch(usersActions.fetchUserContexts(userId));\n }\n }\n}\n\nUserContextsRouter.propTypes = {\n user:PropTypes.object.isRequired\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(UserContextsRouter));","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport { usersActions } from '../../../actions/usersActions';\n\nimport {\n Paper,\n Modal,\n CircularProgress,\n withStyles,\n Switch,\n Dialog,\n DialogTitle,\n DialogContent,\n DialogActions,\n Button\n} from '@material-ui/core';\n\nimport { TreeTable, TreeState } from 'cp-react-tree-table';\n\nimport {\n pageModes,\n styleWithCommonClasses,\n tabDisplays\n} from '../../../_constants/emparkConstants'\n\nimport TitleToolbar from '../../Forms/TitleToolbar';\nimport UserForm from '../../Forms/UserForm';\n\nimport '../../../styles/TreeTable.css';\n\nimport translate from '../../../locales';\nimport ErrorMessage from '../../ErrorMessage';\nimport UserContextsRouter from '../../Sections/UserContexts/UserContextsRouter';\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n buttonCancel: {\n marginRight: '10px',\n '& span': {\n color: '#7b7c7d'\n }\n }\n});\n\nclass UserDetailPage extends React.Component {\n constructor(props) {\n super(props);\n\n const { users, router } = this.props;\n\n this.state = {\n user: users.find(c => c.id === router.id),\n openModalRole: false\n }\n\n this.handleSubmit = this.handleSubmit.bind(this);\n }\n\n componentDidMount() {\n this.props.changeTabDisplay(tabDisplays.index)\n\n const { users, router } = this.props;\n\n if (router.mode !== pageModes.add) {\n this.setState({\n user: users.find(c => c.id === router.id)\n })\n }\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.users !== prevProps.users) {\n this.setState({\n user: this.props.users.find(u => u.id === this.props.router.id)\n })\n }\n }\n\n render() {\n const { users, roles, loading, classes, router, tabDisplay } = this.props;\n\n const title = router.mode === pageModes.add ? __t('create') : router.mode === pageModes.edit ? __t('edit') : __t('view');\n\n let user = users.find(u => u.id === router.id)\n\n if (router.mode === pageModes.add || router.mode === pageModes.edit)\n return (\n
\n this.setState({ openModalRole: false })}\n >\n {__t('role_change')}\n \n {__t('role_change_message')}\n \n \n \n {\n this.setState({ openModalRole: false });\n this.handleSubmit();\n }}\n >\n {__t('save')}\n \n \n \n \n \n \n \n this.props.changeMode(pageModes.view, this.state.user.id) : () => {\n this.setState({ user: user })\n this.props.changeMode(pageModes.list)\n }}\n onSave={() => {\n var data = this.submitForm();\n if (router.mode === pageModes.edit && this.props.users.find(u => u.id === this.props.router.id).roleId != data.formData.roleId) {\n this.setState({\n openModalRole: true,\n user: { ...this.state.user, ...data.formData }\n });\n return;\n }\n\n this.handleSubmit();\n }}\n >\n this.submitForm = returnData}\n />\n \n \n \n
\n )\n\n return (\n
\n \n \n \n \n this.props.changeMode(pageModes.list) : null}\n onEdit={tabDisplay === tabDisplays.index ? () => this.props.changeMode(pageModes.edit, this.state.user.id) : null}\n >\n this.submitForm = returnData}\n readonly={true}\n />\n \n \n \n {user.roleId != 'admin' ?\n \n :\n
\n \n \n

{__t('all_centers')}

\n
\n \n
\n }\n
\n )\n }\n\n handleSubmit() {\n var data = this.submitForm();\n\n const user = {\n ...this.state.user,\n ...data.formData\n };\n\n this.setState({\n user: user\n })\n\n if (data.formError) {\n this.props.setError(__t('error_required_fields'));\n\n return;\n }\n\n const regexEmail = /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n if (!data.formData.email.match(regexEmail)) {\n this.props.setError(__t('error_email_invalid'));\n\n return;\n }\n\n this.props.sendUser(user);\n };\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.usersReducer.router,\n users: state.usersReducer.users,\n roles: state.rolesReducer.roles,\n loading: state.usersReducer.loading,\n error: state.usersReducer.error,\n tabDisplay: state.usersReducer.tabDisplay\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n changeMode: (mode, id) => {\n dispatch(usersActions.changeMode(mode, id))\n },\n sendUser: (user) => {\n dispatch(usersActions.sendUser(user))\n },\n changeTabDisplay: (tabDisplay) => {\n dispatch(usersActions.setTabDisplay(tabDisplay))\n },\n setError: (error) => {\n dispatch(usersActions.setError(error))\n }\n }\n}\n\nUserDetailPage.propTypes = {\n router: PropTypes.object,\n users: PropTypes.array,\n loading: PropTypes.bool,\n error: PropTypes.string,\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(UserDetailPage));","import React, { useEffect } from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\n\nimport {\n pageModes\n} from '../../../_constants/emparkConstants'\n\nimport UsersTablePage from './UsersTablePage';\nimport UserDetailPage from './UserDetailPage';\nimport { usersActions } from '../../../actions/usersActions';\nimport { rolesActions } from '../../../actions/rolesActions';\nimport { CircularProgress, Modal } from '@material-ui/core';\n\nconst UsersRouterPage = props => {\n useEffect(() => {\n props.changeMode(pageModes.list)\n props.fetchUsers();\n props.fetchRoles();\n\n return () => {\n \n }\n }, []);\n\n if(props.router.mode === pageModes.list)\n return(\n \n )\n\n return(\n \n )\n}\n\nfunction mapStateToProps(state) {\n return {\n router: state.usersReducer.router,\n users: state.usersReducer.users,\n roles: state.rolesReducer.roles,\n loadingUsers: state.usersReducer.loading,\n loadingRoles: state.rolesReducer.loading\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n fetchUsers: () => {\n dispatch(usersActions.fetchUsers());\n },\n fetchRoles: () => {\n dispatch(rolesActions.fetchRoles());\n },\n changeMode: (mode) => {\n dispatch(usersActions.changeMode(mode))\n }\n }\n}\n\nUsersRouterPage.propTypes = {\n router:PropTypes.object\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(UsersRouterPage);","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport EMTable from '../Tables/EMTable';\nimport { auxActions } from '../../actions/auxActions';\n\nimport {\n Paper,\n Modal,\n CircularProgress,\n withStyles,\n} from '@material-ui/core';\n\nimport translate from '../../locales';\nimport { APP_CLAIMS, pageModes, styleWithCommonClasses } from '../../_constants/emparkConstants';\nimport TitleToolbar from '../Forms/TitleToolbar';\nimport CellTable from '../Tables/CellTable';\nimport ErrorMessage from '../ErrorMessage';\nimport Unauthorized from '../Unauthorized';\n\nconst __t = translate;\n\nconst styles = styleWithCommonClasses({\n errorText: {\n marginTop: '20px'\n }\n});\n\nclass UsesPage extends React.Component {\n constructor(props) {\n super(props);\n\n this.handleSaveUses = this.handleSaveUses.bind(this);\n }\n\n componentDidMount() {\n this.props.changeMode(pageModes.list);\n this.props.fetchUses();\n }\n\n render() {\n const { uses, loading } = this.props;\n\n const rowsUsesTable = [\n { id: 'val', align: 'center', disablePadding: false, label: __t('value') },\n ];\n\n if (this.props.mode === pageModes.list)\n return (\n
\n \n \n \n \n \n this.props.changeMode(pageModes.edit)}\n />\n \n \n
\n )\n\n return (\n
\n \n \n \n \n this.props.changeMode(pageModes.list)}\n >\n { this.tableSubmit = returnData }}\n values={uses.map(d => d.val.toString())}\n type=\"number\"\n />\n \n \n \n
\n )\n }\n\n /* events */\n handleSaveUses() {\n const values = this.tableSubmit();\n\n let uses = values\n .filter(v => v != '')\n .map((v, i) => ({\n id: i,\n val: Number(v)\n }));\n\n if (uses.length === 0) {\n this.props.setError(__t(\"error_no_values\"))\n return;\n }\n\n uses.sort((a, b) => a.val - b.val);\n\n this.props.sendUses(uses);\n }\n}\n\nfunction mapStateToProps(state) {\n return {\n uses: state.auxReducer.uses,\n loading: state.auxReducer.loading,\n mode: state.auxReducer.mode,\n error: state.auxReducer.error\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n changeMode: (mode) => {\n dispatch(auxActions.changeMode(mode));\n },\n fetchUses: () => {\n dispatch(auxActions.fetchUses());\n },\n sendUses: (uses) => {\n dispatch(auxActions.sendUses(uses))\n },\n setError: (error) => {\n dispatch(auxActions.setError(error))\n }\n }\n}\n\nUsesPage.propTypes = {\n uses: PropTypes.array,\n loading: PropTypes.bool,\n mode: PropTypes.string,\n error: PropTypes.string,\n changeMode: PropTypes.func,\n fetchUses: PropTypes.func,\n sendUses: PropTypes.func,\n setError: PropTypes.func\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(UsesPage));","import { Snackbar } from '@material-ui/core';\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport { green, orange, red } from '@material-ui/core/colors';\nimport { createMuiTheme, MuiThemeProvider, withStyles } from '@material-ui/core/styles';\nimport en from \"date-fns/locale/en-GB\";\nimport es from \"date-fns/locale/es\";\nimport pt from \"date-fns/locale/pt\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { registerLocale } from 'react-datepicker';\nimport \"react-datepicker/dist/react-datepicker.css\";\nimport { connect } from 'react-redux';\nimport { Router } from 'react-router-dom';\nimport Route from \"react-router-dom/Route\";\nimport { HIDE_TOAST_ERROR, HIDE_TOAST_SUCCESS, HIDE_TOAST_WARNING } from '../actions/generalActions';\nimport ActionTypes from '../actions/localeActions';\nimport { usersActions } from '../actions/usersActions';\nimport CommentDialog from '../components/Dialogs/CommentDialog';\nimport ErrorMessage from '../components/ErrorMessage';\nimport { HeaderBar } from '../components/HeaderBar';\nimport Logo from '../components/Logo';\nimport AuditsRouterPage from '../components/Pages/Audits/AuditsRouterPage';\nimport ChannelsRouterPage from '../components/Pages/Channels/ChannelsRouterPage';\nimport ContextsDetailController from '../components/Pages/Contexts/ContextsDetailController';\nimport ContextsRouterPage from '../components/Pages/Contexts/ContextsRouterPage';\nimport DaysPage from '../components/Pages/DaysPage';\nimport HoursPage from '../components/Pages/HoursPage';\nimport MunicipalitiesRouterPage from '../components/Pages/Municipalities/MunicipalitiesRouterPage';\nimport RolesRouterPage from '../components/Pages/Roles/RolesRouterPage';\nimport TestPage from '../components/Pages/TestPage';\nimport TlcmPage from '../components/Pages/TlcmPage';\nimport UsersRouterPage from '../components/Pages/Users/UsersRouterPage';\nimport UsesPage from '../components/Pages/UsesPage';\nimport { TimeoutTest } from '../components/Tests/TimeoutTest';\nimport { history } from '../History';\nimport { rolesService } from '../services';\nimport { commentsService } from '../services/commentsService';\nimport { usersService } from '../services/usersService';\nimport { routes } from '../_constants/emparkConstants';\nimport './App.css';\nimport { getAuthCode, getToken, LOGIN_URI, refreshToken } from './auth';\n\n\n\nfunction PrivateRoute({ component: Component, isLoggedIn, ...rest }) {\n return (\n {\n if (!isLoggedIn) {\n window.location.href = LOGIN_URI\n }\n\n return isLoggedIn ? : '';\n }}\n />\n );\n};\n\nconst styles = theme => ({\n})\n\nclass App extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n loading: true,\n submitted: false,\n isLoggedIn: false,\n error: null,\n fetchedUserRoles: false,\n\n //TEST\n modalComment: false\n };\n history.listen((location, action) => {\n // clear alert on location change\n // dispatch(alertActions.clear());\n });\n const { dispatch } = this.props;\n\n this.refreshTokenTimer = this.refreshTokenTimer.bind(this);\n this.handleCloseToast = this.handleCloseToast.bind(this);\n this.handleCloseToastError = this.handleCloseToastError.bind(this);\n this.handleCloseToastWarning = this.handleCloseToastWarning.bind(this);\n }\n\n componentDidMount() {\n registerLocale(\"en\", en);\n registerLocale(\"es\", es);\n registerLocale(\"pt\", pt);\n\n this.isAuthenticated()\n .then(isLoggedIn => {\n this.setState({\n isLoggedIn: isLoggedIn,\n loading: false,\n });\n })\n .catch(err => {\n alert('error');\n this.setState({\n isLoggedIn: false,\n loading: false,\n error: err,\n })\n });\n\n /* Navigator language */\n let navLanguage = window.navigator.language && (\n window.navigator.language.includes(\"es\") ? \"es\" :\n window.navigator.language.includes(\"pt\") ? \"pt\" : false\n );\n\n if (navLanguage)\n this.props.changeLocale(navLanguage);\n }\n\n async isAuthenticated() {\n const code = getAuthCode();\n const token = await getToken(code);\n\n return !!token;\n }\n\n render() {\n const { classes } = this.props;\n const { isLoggedIn, fetchedUserRoles } = this.state;\n const loading = this.state.loading || this.props.loading;\n const error = this.state.error || this.props.error;\n\n const THEME = createMuiTheme({\n typography: {\n \"fontFamily\": \"\\\"Fira Sans\\\", \\\"Open Sans\\\", \\\"Arial\\\", sans-serif\",\n \"fontSize\": 14,\n \"fontWeightLight\": 300,\n \"fontWeightRegular\": 400,\n \"fontWeightMedium\": 500,\n useNextVariants: true\n },\n palette: {\n primary: {\n main: '#7a7b7c',\n },\n secondary: {\n main: '#faa636',\n },\n },\n overrides: {\n MuiInputBase: {\n root: {\n backgroundColor: \"#ffffff\",\n fontSize: 14,\n },\n },\n MuiSelect: {\n root: {\n fontWeight: 600,\n },\n },\n MuiOutlinedInput: {\n input: {\n padding: '11.5px 14px',\n },\n inputAdornedStart: {\n paddingLeft: 14,\n },\n notchedOutline: {\n borderColor: '#ffffff',\n }\n },\n MuiButtonBase: {\n // backgroundColor: \"#faa636\"\n },\n MuiButton: {\n label: {\n color: '#faa636'\n }\n },\n MuiTab: {\n root: {\n textTransform: 'initial',\n fontSize: 14,\n fontWeight: 500,\n fontStyle: 'normal',\n fontStretch: 'normal',\n lineHeight: 'normal',\n letterSpacing: 'normal',\n color: '#7a7b7c',\n },\n // selected: {\n // fontWeight: 600,\n // color: '#2e3032',\n // },\n },\n MuiPrivateTabIndicator: {\n colorSecondary: {\n display: 'none',\n }\n },\n MuiInputAdornment: {\n positionStart: {\n whiteSpace: 'nowrap',\n }\n },\n MuiTypography: {\n colorTextSecondary: {\n color: '#29373d',\n }\n }\n },\n\n });\n\n if ((!process.env.NODE_ENV || process.env.NODE_ENV === 'development') && window.location.pathname == \"/test\") {\n return (\n
\n \n Test:\n \n \n \n
\n )\n }\n\n if (error) {\n return (\n
\n \n
\n \n
\n )\n }\n\n if (loading) {\n return (\n \n
\n \n
\n
\n )\n }\n\n if (!isLoggedIn) {\n return (\n \n
\n \n \n \n
\n
\n )\n }\n\n if (!fetchedUserRoles) {\n usersService.getUserRole()\n .then((userRole) => {\n this.props.setUserRole(userRole);\n\n this.setState({\n fetchedUserRoles: true\n });\n })\n .catch((err) => {\n this.setState({\n error: err\n });\n })\n\n return (\n \n
\n \n
\n
\n )\n }\n\n this.refreshTokenTimer();\n\n return (\n \n \n
\n
\n \n
\n \n {/* ( props.location.pathname !== \"/\") && } /> */}\n \n \n\n {/* Municipalities */}\n \n\n {/* Aux */}\n \n \n \n \n\n {/* Channels */}\n \n\n {/* \n ()} isLoggedIn={isLoggedIn} />\n ()} isLoggedIn={isLoggedIn} />\n ()} isLoggedIn={isLoggedIn} /> */}\n\n {/* Roles */}\n \n\n {/* Users */}\n \n\n {/* Audits */}\n \n
\n\n
\n \n
{this.props.toastSuccess.message}
\n \n \n
{this.props.toastError.message}
\n \n \n
{this.props.toastWarning.message}
\n \n
\n
\n
\n );\n }\n\n REFRESH_TOKEN_MINUTES = 20;\n\n refreshTokenTimer() {\n const app = this;\n setTimeout(() => {\n refreshToken()\n .then((result) => {\n if (result)\n app.refreshTokenTimer();\n else\n app.setState({ isLoggedIn: false })\n })\n\n }, 1000 * 60 * app.REFRESH_TOKEN_MINUTES);\n }\n\n handleCloseToast() {\n this.props.hideToast();\n }\n\n handleCloseToastError() {\n this.props.hideToastError();\n }\n\n handleCloseToastWarning() {\n this.props.hideToastWarning();\n }\n}\n\nApp.propTypes = {\n username: PropTypes.string,\n password: PropTypes.string,\n submitted: PropTypes.bool,\n loggingIn: PropTypes.bool,\n doLogin: PropTypes.func,\n loading: PropTypes.bool,\n error: PropTypes.string,\n parkinngZone: PropTypes.object,\n};\n\nfunction mapDispatchToProps(dispatch) {\n return {\n doLogin: () => {\n },\n setUserRole: (userRole) => {\n dispatch(usersActions.setUserRole(userRole));\n },\n hideToast: () => {\n dispatch({\n type: HIDE_TOAST_SUCCESS\n });\n },\n hideToastError: () => {\n dispatch({\n type: HIDE_TOAST_ERROR\n });\n },\n hideToastWarning: () => {\n dispatch({\n type: HIDE_TOAST_WARNING\n });\n },\n changeLocale: (locale) => {\n dispatch(ActionTypes.changeLocale(locale));\n },\n }\n}\n\nfunction mapStateToProps(state) {\n const { parkinngZone, username, loading, error } = state;\n\n return {\n parkinngZone,\n username,\n loading: state.loading,\n error: state.error,\n acitveLocale: state.locales.current,\n toastSuccess: state.generalReducer.toastSuccess,\n toastError: state.generalReducer.toastError,\n toastWarning: state.generalReducer.toastWarning,\n };\n}\n\nconst connectedApp = connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)(App));\nexport { connectedApp as App };\n\n","import React from 'react';\n// import ReactDOM from 'react-dom';\nimport ReactDOM from 'react-dom';\nimport { Provider } from 'react-redux';\nimport { store } from './reducers/store';\nimport { BrowserRouter } from 'react-router-dom'\nimport { App } from './App';\nimport thunk from 'redux-thunk';\nimport './index.css';\n// import * as serviceWorker from './serviceWorker';\n\nimport rootReducer from './reducers';\n\nReactDOM.render((\n \n \n \n), document.getElementById('root'))\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAWCAIAAAAuOwkTAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAB3RJTUUH4QgIEwAM895QqwAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4yMIYnWQMAAABpSURBVEhLY/hzl5OmiPYWvMwSpiliuCUkRVPE8MBUnKaI4fctTpoi2kfyYzdRmiLaR/IjFzGaIoY/tzlpihh+3+CkKWK4rytBU0T7SH4WK0xTRPuM9usCF03RMIjk12VCNEVDvU6+ywkAk60eHZxsQ/8AAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAASCAMAAAANFixgAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAilBMVEUAm0gCmkdHdTq8OCLVKx7le3P////ANiJVbjcDmkchikIKlkZtYjLNLyDRLR6AWC8SkkUXkEPSLB/ULB6OUSwbjUMPk0VyXzLPLh/IMiFjZzQGmEcrhUCgRimnQygwgj8EmUjDNCJOcjkBmkg/ejy3OySnm3+wl33lfHTgf3alnoFovo1iwY6d2bkUaViPAAAAAWJLR0QGYWa4fQAAAAd0SU1FB+EICAInI58uFtAAAACbSURBVCjPjZLZEoIwDEWvEiIKiPuuuCtQ/v/3DI4tdXyImem0Nz1t0qQAOt2ArIXMoRO9qA9gICNO0l8gTeL39jAbyTzOJt/AdDYX92K5AtF6s5X1bu8Dh1xcx+hEhEYG54vo680Crf4A7YkG8G90gI15Z374OQnwtFaUlTE1c21MVRbODVZMB9QQapJ/PVMplFJqtVlqu7UP8wJiwxozbqeWsgAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxNy0wOC0wOFQwMjozOTozNSswMDowMLwOM4EAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTctMDgtMDhUMDI6Mzk6MzUrMDA6MDDNU4s9AAAAAElFTkSuQmCC\"","var map = {\n\t\"./en.json\": 574,\n\t\"./en_ori.json\": 575,\n\t\"./es.json\": 576,\n\t\"./pt.json\": 577\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) { // check for number or string\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn id;\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 573;","var map = {\n\t\"./AD.svg\": 798,\n\t\"./AE.svg\": 799,\n\t\"./AF.svg\": 800,\n\t\"./AG.svg\": 801,\n\t\"./AI.svg\": 802,\n\t\"./AL.svg\": 803,\n\t\"./AM.svg\": 804,\n\t\"./AN.svg\": 805,\n\t\"./AO.svg\": 806,\n\t\"./AQ.svg\": 807,\n\t\"./AR.svg\": 808,\n\t\"./AS.svg\": 809,\n\t\"./AT.svg\": 810,\n\t\"./AU.svg\": 811,\n\t\"./AW.svg\": 812,\n\t\"./AX.svg\": 813,\n\t\"./AZ.svg\": 814,\n\t\"./BA.svg\": 815,\n\t\"./BB.svg\": 816,\n\t\"./BD.svg\": 817,\n\t\"./BE.svg\": 818,\n\t\"./BF.svg\": 819,\n\t\"./BG.svg\": 820,\n\t\"./BH.svg\": 821,\n\t\"./BI.svg\": 822,\n\t\"./BJ.svg\": 823,\n\t\"./BL.svg\": 824,\n\t\"./BM.svg\": 825,\n\t\"./BN.svg\": 826,\n\t\"./BO.svg\": 827,\n\t\"./BR.svg\": 828,\n\t\"./BS.svg\": 829,\n\t\"./BT.svg\": 830,\n\t\"./BV.svg\": 831,\n\t\"./BW.svg\": 832,\n\t\"./BY.svg\": 833,\n\t\"./BZ.svg\": 834,\n\t\"./CA.svg\": 835,\n\t\"./CC.svg\": 836,\n\t\"./CD.svg\": 837,\n\t\"./CF.svg\": 838,\n\t\"./CG.svg\": 839,\n\t\"./CH.svg\": 840,\n\t\"./CI.svg\": 841,\n\t\"./CK.svg\": 842,\n\t\"./CL.svg\": 843,\n\t\"./CM.svg\": 844,\n\t\"./CN.svg\": 845,\n\t\"./CO.svg\": 846,\n\t\"./CR.svg\": 847,\n\t\"./CU.svg\": 848,\n\t\"./CV.svg\": 849,\n\t\"./CW.svg\": 850,\n\t\"./CX.svg\": 851,\n\t\"./CY.svg\": 852,\n\t\"./CZ.svg\": 853,\n\t\"./DE.svg\": 854,\n\t\"./DJ.svg\": 855,\n\t\"./DK.svg\": 856,\n\t\"./DM.svg\": 857,\n\t\"./DO.svg\": 858,\n\t\"./DZ.svg\": 859,\n\t\"./EC.svg\": 860,\n\t\"./EE.svg\": 861,\n\t\"./EG.svg\": 862,\n\t\"./ER.svg\": 863,\n\t\"./ES.svg\": 864,\n\t\"./ET.svg\": 865,\n\t\"./EU.svg\": 866,\n\t\"./FI.svg\": 867,\n\t\"./FJ.svg\": 868,\n\t\"./FK.svg\": 869,\n\t\"./FM.svg\": 870,\n\t\"./FO.svg\": 871,\n\t\"./FR.svg\": 872,\n\t\"./GA.svg\": 873,\n\t\"./GB-ENG.svg\": 874,\n\t\"./GB-NIR.svg\": 875,\n\t\"./GB-SCT.svg\": 876,\n\t\"./GB-WLS.svg\": 877,\n\t\"./GB-ZET.svg\": 878,\n\t\"./GB.svg\": 879,\n\t\"./GD.svg\": 880,\n\t\"./GE.svg\": 881,\n\t\"./GF.svg\": 882,\n\t\"./GG.svg\": 883,\n\t\"./GH.svg\": 884,\n\t\"./GI.svg\": 885,\n\t\"./GL.svg\": 886,\n\t\"./GM.svg\": 887,\n\t\"./GN.svg\": 888,\n\t\"./GP.svg\": 889,\n\t\"./GQ.svg\": 890,\n\t\"./GR.svg\": 891,\n\t\"./GS.svg\": 892,\n\t\"./GT.svg\": 893,\n\t\"./GU.svg\": 894,\n\t\"./GW.svg\": 895,\n\t\"./GY.svg\": 896,\n\t\"./HK.svg\": 897,\n\t\"./HM.svg\": 898,\n\t\"./HN.svg\": 899,\n\t\"./HR.svg\": 900,\n\t\"./HT.svg\": 901,\n\t\"./HU.svg\": 902,\n\t\"./ID.svg\": 903,\n\t\"./IE.svg\": 904,\n\t\"./IL.svg\": 905,\n\t\"./IM.svg\": 906,\n\t\"./IN.svg\": 907,\n\t\"./IO.svg\": 908,\n\t\"./IQ.svg\": 909,\n\t\"./IR.svg\": 910,\n\t\"./IS.svg\": 911,\n\t\"./IT.svg\": 912,\n\t\"./JE.svg\": 913,\n\t\"./JM.svg\": 914,\n\t\"./JO.svg\": 915,\n\t\"./JP.svg\": 916,\n\t\"./KE.svg\": 917,\n\t\"./KG.svg\": 918,\n\t\"./KH.svg\": 919,\n\t\"./KI.svg\": 920,\n\t\"./KM.svg\": 921,\n\t\"./KN.svg\": 922,\n\t\"./KP.svg\": 923,\n\t\"./KR.svg\": 924,\n\t\"./KW.svg\": 925,\n\t\"./KY.svg\": 926,\n\t\"./KZ.svg\": 927,\n\t\"./LA.svg\": 928,\n\t\"./LB.svg\": 929,\n\t\"./LC.svg\": 930,\n\t\"./LGBT.svg\": 931,\n\t\"./LI.svg\": 932,\n\t\"./LK.svg\": 933,\n\t\"./LR.svg\": 934,\n\t\"./LS.svg\": 935,\n\t\"./LT.svg\": 936,\n\t\"./LU.svg\": 937,\n\t\"./LV.svg\": 938,\n\t\"./LY.svg\": 939,\n\t\"./MA.svg\": 940,\n\t\"./MC.svg\": 941,\n\t\"./MD.svg\": 942,\n\t\"./ME.svg\": 943,\n\t\"./MF.svg\": 944,\n\t\"./MG.svg\": 945,\n\t\"./MH.svg\": 946,\n\t\"./MK.svg\": 947,\n\t\"./ML.svg\": 948,\n\t\"./MM.svg\": 949,\n\t\"./MN.svg\": 950,\n\t\"./MO.svg\": 951,\n\t\"./MP.svg\": 952,\n\t\"./MQ.svg\": 953,\n\t\"./MR.svg\": 954,\n\t\"./MS.svg\": 955,\n\t\"./MT.svg\": 956,\n\t\"./MU.svg\": 957,\n\t\"./MV.svg\": 958,\n\t\"./MW.svg\": 959,\n\t\"./MX.svg\": 960,\n\t\"./MY.svg\": 961,\n\t\"./MZ.svg\": 962,\n\t\"./NA.svg\": 963,\n\t\"./NC.svg\": 964,\n\t\"./NE.svg\": 965,\n\t\"./NF.svg\": 966,\n\t\"./NG.svg\": 967,\n\t\"./NI.svg\": 968,\n\t\"./NL.svg\": 969,\n\t\"./NO.svg\": 970,\n\t\"./NP.svg\": 971,\n\t\"./NR.svg\": 972,\n\t\"./NU.svg\": 973,\n\t\"./NZ.svg\": 974,\n\t\"./OM.svg\": 975,\n\t\"./PA.svg\": 976,\n\t\"./PE.svg\": 977,\n\t\"./PF.svg\": 978,\n\t\"./PG.svg\": 979,\n\t\"./PH.svg\": 980,\n\t\"./PK.svg\": 981,\n\t\"./PL.svg\": 982,\n\t\"./PM.svg\": 983,\n\t\"./PN.svg\": 984,\n\t\"./PR.svg\": 985,\n\t\"./PS.svg\": 986,\n\t\"./PT.svg\": 987,\n\t\"./PW.svg\": 988,\n\t\"./PY.svg\": 989,\n\t\"./QA.svg\": 990,\n\t\"./RE.svg\": 991,\n\t\"./RO.svg\": 992,\n\t\"./RS.svg\": 993,\n\t\"./RU.svg\": 994,\n\t\"./RW.svg\": 995,\n\t\"./SA.svg\": 996,\n\t\"./SB.svg\": 997,\n\t\"./SC.svg\": 998,\n\t\"./SD.svg\": 999,\n\t\"./SE.svg\": 1000,\n\t\"./SG.svg\": 1001,\n\t\"./SH.svg\": 1002,\n\t\"./SI.svg\": 1003,\n\t\"./SJ.svg\": 1004,\n\t\"./SK.svg\": 1005,\n\t\"./SL.svg\": 1006,\n\t\"./SM.svg\": 1007,\n\t\"./SN.svg\": 1008,\n\t\"./SO.svg\": 1009,\n\t\"./SR.svg\": 1010,\n\t\"./SS.svg\": 1011,\n\t\"./ST.svg\": 1012,\n\t\"./SV.svg\": 1013,\n\t\"./SX.svg\": 1014,\n\t\"./SY.svg\": 1015,\n\t\"./SZ.svg\": 1016,\n\t\"./TC.svg\": 1017,\n\t\"./TD.svg\": 1018,\n\t\"./TF.svg\": 1019,\n\t\"./TG.svg\": 1020,\n\t\"./TH.svg\": 1021,\n\t\"./TJ.svg\": 1022,\n\t\"./TK.svg\": 1023,\n\t\"./TL.svg\": 1024,\n\t\"./TM.svg\": 1025,\n\t\"./TN.svg\": 1026,\n\t\"./TO.svg\": 1027,\n\t\"./TR.svg\": 1028,\n\t\"./TT.svg\": 1029,\n\t\"./TV.svg\": 1030,\n\t\"./TW.svg\": 1031,\n\t\"./TZ.svg\": 1032,\n\t\"./UA.svg\": 1033,\n\t\"./UG.svg\": 1034,\n\t\"./UM.svg\": 1035,\n\t\"./US-CA.svg\": 1036,\n\t\"./US.svg\": 1037,\n\t\"./UY.svg\": 1038,\n\t\"./UZ.svg\": 1039,\n\t\"./VA.svg\": 1040,\n\t\"./VC.svg\": 1041,\n\t\"./VE.svg\": 1042,\n\t\"./VG.svg\": 1043,\n\t\"./VI.svg\": 1044,\n\t\"./VN.svg\": 1045,\n\t\"./VU.svg\": 1046,\n\t\"./WF.svg\": 1047,\n\t\"./WS.svg\": 1048,\n\t\"./XK.svg\": 1049,\n\t\"./YE.svg\": 1050,\n\t\"./YT.svg\": 1051,\n\t\"./ZA.svg\": 1052,\n\t\"./ZM.svg\": 1053,\n\t\"./ZW.svg\": 1054\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) { // check for number or string\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn id;\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 797;"],"sourceRoot":""}