{"version":3,"sources":["pages/parentalleavespin/ParentalLeavespin.module.css","pages/preview/Preview.module.css","pages/unemploymentspin/Unemploymentspin.module.css","components/admin/visitorstatistics/VisitorStatistics.module.css","pages/developer/PageDeveloper.module.css","components/simple/salaryanalysis/salaryinterval/SalaryInterval.module.css","pages/simple/PageSimple.module.css","atoms/accordion/Accordion.module.css","components/advanced/reportsection/salarytable/SalaryTable.module.css","images/icons/svg/person.svg","atoms/modal/Modal.module.css","components/header/Header.module.css","atoms/checkbox/Checkbox.module.css","atoms/select/Select.module.css","components/advanced/datasource/DataSource.module.css","pages/login/PageLogin.module.css","atoms/selectPreview/SelectPreview.module.css","pages/parentalleavespin/selectParentalLeaveSpin/SelectParentalLeaveSpin.module.css","components/header/menu/Menu.module.css","components/advanced/filters/filterlist/FilterList.module.css","components/advanced/reportsection/salarygraph/salarymarker/SalaryMarker.module.css","components/admin/filterexplanations/filterexplanationnotext/FilterExplanationNoText.module.css","components/admin/applicationlog/ApplicationLog.module.css","pages/admin/PageAdmin.module.css","pages/copyconfiguration/CopyConfiguration.module.css","pages/careerspin/Careerspin.module.css","components/admin/copyconfiguration/activeselections/ActiveSelections.module.css","pages/errorboundary/PageErrorBoundary.module.css","atoms/buttonlink/ButtonLink.module.css","atoms/statisticsometer/Statisticsometer.module.css","pages/advanced/PageAdvanced.module.css","atoms/button/Button.module.css","components/admin/level3advanced/datasourceconfig/sortablelist/SortableList.module.css","components/admin/level3advanced/datasourceconfig/DataSourceConfig.module.css","components/admin/applicationlog/logitem/LogItem.module.css","components/admin/monitoringlog/logitem/LogItem.module.css","components/admin/copyconfiguration/statusbox/StatusBox.module.css","components/admin/notifications/notificationrow/NotificationRow.module.css","components/footer/Footer.module.css","pages/start/PageStart.module.css","atoms/input/Input.module.css","components/advanced/activefilters/ActiveFilters.module.css","components/admin/monitoringlog/MonitoringLog.module.css","components/start/analysiscard/AnalysisCard.module.css","components/simple/selectioncard/SelectionCard.module.css","atoms/panel/Panel.module.css","components/admin/accounts/Accounts.module.css","components/admin/navigationItem/NavigationItem.module.css","components/admin/copyconfiguration/CopyConfiguration.module.css","pages/loginInfo/LoginInfo.module.css","atoms/buttonGroup/ButtonGroup.module.css","images/icons/svg/barchart.svg","atoms/buttonactivefilter/ButtonActiveFilter.module.css","components/simple/checkboxselectgroup/CheckboxSelectGroup.module.css","components/simple/salaryprofile/SalaryProfile.module.css","components/advanced/filters/Filters.module.css","atoms/inputreadonly/InputReadOnly.module.css","components/admin/situationconfig/situationcard/SituationCard.module.css","components/admin/linksconfig/LinksConfig.module.css","components/admin/previewdatasourceconfig/previewdatasourcecard/PreviewDataSourceCard.module.css","components/admin/filterexplanations/FilterExplanations.module.css","pages/logout/Logout.module.css","atoms/breadcrumbs/breadcrumbsitem/BreadcrumbsItem.module.css","atoms/section/Section.module.css","atoms/radiobutton/RadioButton.module.css","components/simple/situation/Situation.module.css","components/advanced/toolbar/downloadsection/DownloadSection.module.css","components/advanced/reportsection/ReportSection.module.css","atoms/tab/Tab.module.css","components/advanced/explanations/Explanations.module.css","components/advanced/custompresentation/CustomPresentation.module.css","atoms/buttonbar/ButtonBar.module.css","atoms/checkboxadmin/CheckboxAdmin.module.css","components/admin/linksconfig/linkcard/LinkCard.module.css","components/admin/level2simple/Level2Simple.module.css","atoms/sectionadmin/SectionAdmin.module.css","components/admin/previewconfig/PreviewConfig.module.css","components/admin/filterexplanations/filterexplanationitem/FilterExplanationItem.module.css","components/admin/generaltexts/generaltextitem/GeneralTextItem.module.css","pages/unemploymentspin/UnemploymentspinTab.module.css","components/header/banner/Banner.module.css","App.module.css","components/start/about/About.module.css","components/start/privacypolicy/PrivacyPolicy.module.css","components/simple/salaryanalysis/SalaryAnalysis.module.css","components/simple/salaryslider/SalarySlider.module.css","atoms/loader/Loader.module.css","atoms/notification/Notification.module.css","atoms/errornotification/ErrorNotification.module.css","components/advanced/toolbar/ToolBar.module.css","components/advanced/filters/filterlist/filteritem/FilterItem.module.css","components/advanced/datasource/datasourcesummary/DataSourceSummary.module.css","components/advanced/reportsection/salarygraph/SalaryGraph.module.css","components/advanced/explanations/explanationgroup/explanationitem/ExplanationItem.module.css","components/advanced/explanations/explanationgroup/instructionsvideo/InstructionsVideo.module.css","atoms/textarea/Textarea.module.css","components/admin/salaryprofileconfig/SalaryProfileConfig.module.css","components/admin/level3advanced/datasourceconfig/loadconfiguration/LoadConfiguration.module.css","components/admin/previewsalaryprofileconfig/PreviewSalaryProfileConfig.module.css","components/admin/filterexplanations/filterexplanationedit/FilterExplanationEdit.module.css","images/icons/svg/list.svg","images/icons/svg/marker.svg","images/icons/svg/circle.svg","pages/parentalleavespin/Slider/Slider.module.css","atoms/unionlink/UnionLink.module.css","testdata/saco-lonesok_logotype.svg","atoms/explanationtext/ExplanationText.module.css","atoms/buttontransparent/ButtonTransparent.module.css","atoms/breadcrumbs/Breadcrumbs.module.css","components/simple/externallink/ExternalLink.module.css","components/simple/salaryslider/slider/Slider.module.css","components/advanced/toolbar/downloadsection/downloadexcel/DownloadExcel.module.css","components/advanced/presentation/Presentation.module.css","atoms/tabrow/TabRow.module.css","atoms/chart/Chart.module.css","components/advanced/explanations/explanationgroup/ExplanationGroup.module.css","images/box_plot_image.png","components/admin/level2simple/helpbox/HelpBox.module.css","components/admin/level3advanced/Level3Advanced.module.css","components/admin/level3advanced/standardconfig/StandardConfig.module.css","components/admin/previewconfig/helpbox/HelpBox.module.css","components/admin/accounts/accountrow/AccountRow.module.css","components/admin/accounts/createaccount/CreateAccount.module.css","components/admin/copyconfiguration/datasource/DataSource.module.css","components/admin/copyconfiguration/unionselect/UnionSelect.module.css","components/admin/copyconfiguration/helpbox/HelpBox.module.css","components/admin/notifications/addnotification/AddNotification.module.css","pages/404/Page404.module.css","testdata/flowchart_token-authentication.svg","pages/previewlab/PreviewLab.module.css","pages/careerspin/Slider/Slider.module.css","images/icons/svg/crowns.svg","images/icons/svg/unemployment.svg","components/admin/filterexplanations/filterexplanationcreate/FilterExplanationCreate.module.css","images/icons/svg/download.svg","images/icons/svg/arrow2.svg","pages/errorboundary/PageErrorBoundary.js","services/ApiService.js","atoms/visitorcounter/VisitorCounter.js","services/UseAuth.js","components/header/banner/Banner.js","atoms/buttonlink/ButtonLink.js","hooks/useVisible.js","components/header/menu/Menu.js","components/header/Header.js","atoms/unionlink/UnionLink.js","components/footer/Footer.js","pages/errorboundary/PageErrorProvocation.js","components/start/analysiscard/AnalysisCard.js","atoms/explanationtext/ExplanationText.js","hooks/useScrollTo.js","atoms/buttontransparent/ButtonTransparent.js","atoms/accordion/Accordion.js","components/start/about/About.js","components/start/privacypolicy/TechnicalInformation.js","pages/start/PageStart.js","atoms/breadcrumbs/breadcrumbsitem/BreadcrumbsItem.js","atoms/breadcrumbs/Breadcrumbs.js","atoms/section/Section.js","lib/antal.js","components/simple/salaryanalysis/salaryinterval/SalaryInterval.js","components/simple/externallink/ExternalLink.js","components/simple/salaryanalysis/SalaryAnalysis.js","atoms/radiobutton/RadioButton.js","components/simple/selectioncard/SelectionCard.js","components/simple/situation/Situation.js","atoms/input/Input.js","components/simple/salaryslider/slider/Slider.js","components/simple/salaryslider/SalarySlider.js","atoms/buttonactivefilter/ButtonActiveFilter.js","components/advanced/activefilters/ActiveFilters.js","atoms/checkbox/Checkbox.js","components/simple/checkboxselectgroup/CheckboxSelectGroup.js","components/simple/salaryprofile/SalaryProfile.js","atoms/loader/Loader.js","lib/emptyValues.js","atoms/notification/Notification.js","atoms/errornotification/ErrorNotification.js","pages/simple/PageSimple.js","components/simple/sellingpoints/SellingPoints.js","components/simple/welcome/Welcome.js","pages/simple/PageSimpleFree.js","lib/excel.js","components/advanced/toolbar/downloadsection/downloadexcel/DownloadExcel.js","components/advanced/toolbar/downloadsection/DownloadSection.js","components/advanced/toolbar/ToolBar.js","components/advanced/filters/filterlist/filteritem/FilterItem.js","components/advanced/filters/filterlist/FilterList.js","components/advanced/filters/Filters.js","atoms/select/Select.js","components/advanced/datasource/datasourcesummary/DataSourceSummary.js","components/advanced/datasource/DataSource.js","components/advanced/presentation/Presentation.js","lib/salaryTable.js","atoms/tabrow/TabRow.js","atoms/tab/Tab.js","components/advanced/reportsection/salarytable/SalaryTable.js","atoms/chart/Chart.js","lib/time.js","lib/salaryGraph.js","components/advanced/reportsection/salarygraph/SalaryGraph.js","components/advanced/reportsection/salarygraph/salarymarker/SalaryMarker.js","components/advanced/reportsection/ReportSection.js","components/advanced/explanations/explanationgroup/explanationitem/ExplanationItem.js","components/advanced/explanations/explanationgroup/ExplanationGroup.js","components/advanced/explanations/explanationgroup/instructionsvideo/InstructionsVideo.js","components/advanced/explanations/Explanations.js","components/advanced/custompresentation/CustomPresentation.js","atoms/statisticsometer/Statisticsometer.js","pages/advanced/PageAdvanced.js","lib/pageAdvanced.js","atoms/panel/Panel.js","const.js","atoms/button/Button.js","atoms/buttonbar/ButtonBar.js","components/admin/datasourceselect/DataSourceSelect.js","components/admin/situationconfig/situationcreate/SituationCreate.js","atoms/checkboxadmin/CheckboxAdmin.js","atoms/inputreadonly/InputReadOnly.js","atoms/textarea/Textarea.js","components/admin/situationconfig/situationcard/SituationCard.js","components/admin/situationconfig/SituationConfig.js","components/admin/linksconfig/linkcreate/LinkCreate.js","components/admin/linksconfig/linkcard/LinkCard.js","components/admin/linksconfig/LinksConfig.js","components/admin/level3advanced/datasourceconfig/sortablelist/SortableList.js","components/admin/salaryprofileconfig/SalaryProfileConfig.js","components/admin/level2simple/helpbox/HelpBox.js","components/admin/level2simple/Level2Simple.js","atoms/sectionadmin/SectionAdmin.js","components/admin/level3advanced/datasourceconfig/loadconfiguration/LoadConfiguration.js","components/admin/level3advanced/datasourceconfig/DataSourceConfig.js","components/admin/level3advanced/standardconfig/defaultsourceconfig/DefaultSourceConfig.js","components/admin/level3advanced/standardconfig/StandardConfig.js","components/admin/level3advanced/Level3Advanced.js","components/admin/previewdatasourceconfig/previewdatasourcecreate/PreviewDataSourceCreate.js","components/admin/previewdatasourceconfig/previewdatasourcecard/PreviewDataSourceCard.js","components/admin/previewdatasourceconfig/PreviewDataSourceConfig.js","components/admin/previewsalaryprofileconfig/PreviewSalaryProfileConfig.js","components/admin/previewconfig/helpbox/HelpBox.js","components/admin/previewconfig/PreviewConfig.js","atoms/markdowneditor/MarkdownEditor.js","components/admin/filterexplanations/filterexplanationcreate/FilterExplanationCreate.js","components/admin/filterexplanations/filterexplanationnotext/FilterExplanationNoText.js","components/admin/filterexplanations/filterexplanationedit/FilterExplanationEdit.js","components/admin/filterexplanations/filterexplanationitem/FilterExplanationItem.js","components/admin/filterexplanations/FilterExplanations.js","components/admin/accounts/editaccount/EditAccount.js","components/admin/accounts/accountrow/AccountRow.js","components/admin/accounts/createaccount/CreateAccount.js","components/admin/accounts/Accounts.js","components/admin/applicationlog/logitem/LogItem.js","components/admin/applicationlog/ApplicationLog.js","components/admin/monitoringlog/logitem/LogItem.js","components/admin/monitoringlog/MonitoringLog.js","components/admin/generaltexts/generaltextitem/GeneralTextItem.js","components/admin/generaltexts/GeneralTexts.js","components/admin/navigationItem/navigationItem.js","components/admin/unionConfig/unionlinkconfig/UnionLinkConfig.js","components/admin/unionConfig/UnionConfig.js","atoms/modal/Modal.js","components/admin/copyconfiguration/activeselections/ActiveSelections.js","components/admin/copyconfiguration/activeselections/ActiveUnionSelections.js","components/admin/copyconfiguration/datasource/DataSource.js","components/admin/copyconfiguration/unionselect/UnionSelect.js","components/admin/copyconfiguration/helpbox/HelpBox.js","components/admin/copyconfiguration/statusbox/StatusBox.js","components/admin/copyconfiguration/CopyConfiguration.js","components/admin/notifications/notificationrow/NotificationRow.js","components/admin/notifications/addnotification/AddNotification.js","components/admin/notifications/Notifications.js","assets/Colors.js","components/admin/visitorstatistics/barCharts/DayChart.js","components/admin/visitorstatistics/barCharts/WeekChart.js","components/admin/visitorstatistics/barCharts/MonthChart.js","components/admin/visitorstatistics/barCharts/YearChart.js","components/admin/visitorstatistics/barCharts/BarCharts.js","components/admin/visitorstatistics/pieCharts/ViewChart.js","components/admin/visitorstatistics/pieCharts/UnitChart.js","components/admin/visitorstatistics/pieCharts/BrowserChart.js","components/admin/visitorstatistics/pieCharts/PieCharts.js","components/admin/visitorstatistics/VisitorStatistics.js","pages/admin/PageAdmin.js","pages/404/Page404.js","pages/login/PageLogin.js","pages/developer/PageDeveloper.js","pages/logout/Logout.js","pages/copyconfiguration/CopyConfiguration.js","services/TokenRedirect.js","services/ForbundsKodRedirect.js","pages/loginInfo/LoginInfo.js","lib/preview.js","atoms/selectPreview/SelectPreview.js","atoms/svg/SVGComponent.js","pages/preview/Preview.js","pages/previewlab/PreviewLab.js","pages/instructionvideo/Instructionvideo.js","atoms/buttonGroup/ButtonGroup.js","pages/careerspin/Slider/Slider.js","pages/careerspin/Careerspin.js","lib/careerspin.js","lib/parentalLeaveSpin.js","pages/parentalleavespin/selectParentalLeaveSpin/SelectParentalLeaveSpin.js","pages/parentalleavespin/Slider/Slider.js","pages/parentalleavespin/ParentalLeavespin.js","pages/unemploymentspin/UnemploymentspinTab.js","pages/unemploymentspin/chart.js","pages/unemploymentspin/chartAlder.js","pages/unemploymentspin/chartUtland.js","pages/unemploymentspin/chartKon.js","pages/unemploymentspin/chartData.js","pages/unemploymentspin/Unemploymentspin.js","AppRouter.js","App.js","index.js"],"names":["module","exports","PageErrorBoundary","state","hasError","error","this","className","styles","main","header","text","href","link","props","children","Component","withRouter","ApiService","BASE_URL","AppSettings","SERVER_URL","handleNetworkError","res","ok","createGetRequest","page","token","req","method","headers","Authorization","fetch","then","json","createDeleteRequest","createPostRequest","reqData","returnJson","body","JSON","stringify","createPostRequestWithCredentials","login","data","testLogin","tokenLogin","createPostRequestWithToken","forbundsKodLogin","getForbund","getFds","getConfiguration","copyConfigurationExecute","getActiveFds","getMenuselections","getPreviewMenuSelection","getPreviewMenuSelections","getMetatabs","getBreakby","getReport","getBinstat","getReportExcel","getUnemploymentStaticExcel","getUnemploymentData","sendVistitorStats","getSituations","getPreviewSituations","createSituation","updateSituation","id","deleteSituation","updateSelections","postDatasource","getUnionByUnionId","unionId","getUnionByForbundsKod","forbundsKod","getUnion","getUnions","refreshAdminToken","postConfiguredYear","getTexts","getTextsBoth","postText","deleteText","getLogs","getMonitoringLogs","getMonitoringLogsById","getVisitorStats","getVisitorStatsNew","getUserStatistics","getVisitorStatsByUnion","getVisitorExcel","clearCache","getSituationsFree","getReportFree","getMenuselectionsFree","createEventSource","messageEvent","EventSource","onmessage","e","getSubscribers","postSubscriber","updateAccount","subId","updatePassword","deleteSubscriber","getPresentations","postPresentations","Api","MESSAGES","VisitorCounter","path","user","useCookies","cookies","useEffect","low","high","active","request","message","setTimeout","statistics","Math","floor","random","propTypes","PropTypes","string","isRequired","shape","authContext","createContext","useAuth","useContext","ProvideAuth","auth","useState","parse","localStorage","getItem","setUser","decodeUser","usr","split","decodedJsonData","window","atob","decodedData","forbund","fk","unionid","role","exp","signout","removeItem","storeUser","decodedUser","setItem","signin","subscriberId","password","forbundsKodAdmin","catch","tokenSignin","browser","device","forbundSignin","forbundsId","autoRefreshToken","minutes","now","Date","soon","getTime","expires","expiresSoon","useProvideAuth","Provider","value","PrivateRoute","component","rest","render","to","pathname","AdminRoute","restrict","from","location","Banner","document","title","banner","ButtonLink","buttonIcon","label","altText","icon","large","menuItem","lastChild","accordionItem","disabled","onClick","style","buttonClassName","buttonIsLarge","isLarge","buttonIsMenuItem","isMenuItem","buttonIsAccordionItem","isAccordionItem","buttonIsLastChild","isLastChild","computedAltText","aria-label","size","color","fill","buttonLink","alt","type","buttonText","defaultProps","undefined","useVisible","initialIsVisible","isVisible","setIsVisible","ref","useRef","handleClickOutside","event","current","contains","target","addEventListener","removeEventListener","Menu","showMenu","setShowMenu","history","useHistory","goToPage","push","menuButtonContainer","menuButton","menuOptions","optionBtn","fallbackUnion","name","forbundskodSas","Header","imageLoadError","setImageLoadError","forbundList","setForbundList","union","setUnion","useLocation","process","getLogoSrc","str","toLowerCase","useCallback","foundUnion","find","d","length","sort","a","b","localeCompare","includes","headerElement","headerInner","headerDropshadow","headerClippath","headerContent","subMain","headerLogotype","src","onError","bannerCurveBackground","bannerDropshadow","bannerClippath","UnionLink","unionLink","capitalize","rel","Footer","showLogo","setUnionLink","groupId","textId","mainSection","innerContainerFull","subSection","subSectionContent","logo","Logo","PageErrorProvocation","APP_ENVIRONMENT","Error","AnalysisCard","description","analysisCard","simpleOption","advancedOption","cardSymbol","continueLink","getMarkdownText","rawMarkup","marked","replace","__html","DOMPurify","sanitize","ExplanationText","textItem","explanationText","dangerouslySetInnerHTML","useScrollTo","callback","hash","scrollIntoView","behavior","ButtonTransparent","buttonTransparent","Accordion","border","boxShadow","close","dark","initialOpen","marginBottom","slim","stacked","open","setOpen","accordionWrapper","isStacked","isSlim","hasBorder","hasBoxShadow","hasMarginBottom","accordion","heading","prevState","backgroundColor","accordionTitle","accordionContent","About","aboutText","setAboutText","txt","aboutWrapper","aboutInnerWrapper","TechnicalInformation","policyWrapper","policyInnerWrapper","PageStart","innerContainer","optionContainer","aboutCurveBackground","aboutDropshadow","aboutClippath","BreadcrumbsItem","match","index","routeName","url","isExact","breadcrumb","breadcrumbActive","breadcrumbInactive","Breadcrumbs","paths","pathList","reduce","prev","curr","currPath","getPaths","breadcrumbs","map","key","Section","dashed","extraClasses","sectionElement","isDashed","sectionHeading","numberOfRespondents","result","forEach","char","search","numbers","Number","formatRespondents","toLocaleString","roundToNearest","number","nearest","direction","ceil","round","SalaryInterval","salaryLimit","salaryMid","selectedSalary","calcPercent","salary","c","dinLonPercentage","salaryMidPercent","salaryLineOuter","lineFiller","salaryLineInner","background","percentileBound","left","midLine","yourSalary","yourSalaryCircle","strokeWidth","textContainer","percentileText","examples","midLineExplain","ExternalLink","externalLink","SalaryAnalysis","currentRespondents","salaryData","links","variant","average","lon_medel","overAverage","salaryAnalysis","RadioButton","onChange","checked","container","checkmarkWrapper","customCheckmark","SelectionCard","loading","selectedSituation","selectionChange","selected","describedby","selectionCard","onKeyUp","aria-describedby","htmlFor","inputContainer","selectionCardContent","Situation","situations","setSelectedSituation","subSectionTitle","DSL2","situation","DSL1","year","Input","forwardRef","autoComplete","onBlur","placeholder","max","min","minLength","step","pattern","displayInline","inputWrapper","inputLabel","input","Slider","changeFunction","slider","aria-valuemin","aria-valuemax","aria-valuenow","onInput","tabIndex","SalarySlider","setSelectedSalary","ButtonActiveFilter","buttonActiveFilter","ActiveFilters","activeFilters","disableMenuselection","setActiveFilters","activeFiltersHeading","f","display","filterName","filterButtonWrapper","values","s","Fragment","desc","item","FilterString","optionName","filterOption","findIndex","filter","sel_var","filterToUpdate","tempState","element","removeFilterOption","Checkbox","antal","customCheckbox","primary","secondary","optionTextWrapper","filterCount","CheckboxSelectGroup","itemIndex","options","SELECTION_DATATYPE","SELECTION_TEXT","setSelectedValues","selectedValues","option","setValues","console","log","some","v","matching","handleChange","persist","tempValues","o","valKey","indexOf","selection_datatype","mobileEmpty","expandable","selectable","greyed","SalaryProfile","dataSources","selectionList","summary","YEAR","FORBUND","listItem","selectionRow","resetFiltersBtn","Loader","small","loader","isSmall","isEmpty","Notification","niva","dataSource","notifications","setNotifications","filteredNotifications","setFilteredNotifications","t","dsl1","dsl2","notification","ErrorNotification","errornotifications","setErrorNotifications","hasErrors","PageSimple","setDataSources","setSelectionList","setSituations","setSalaryData","setSalaryLimit","setHasErrors","isLoadingReport","setIsLoadingReport","totalRespondents","setTotalRespondents","setCurrentRespondents","setDisableMenuselection","setLinks","setState","handleError","status","selections","selection","isActive","opt","sortOptionsByNumber","SELECTION_ORDER","selectedValue","acc","Forbund","Dsl1","Dsl2","Year","selVars","filters","obj","filterObjects","Object","newObj","prevItem","matchingItem","filterItem","finally","lon_p10","lon_p90","total","listOfValues","val","diff","activeSituations","scrollTo","innerContainerSlim","topNav","mainContent","loaderAnimation","errorText","SellingPoints","Welcome","PageSimpleFree","pymChild","Child","polling","sendHeight","downloadExcel","endpoint","errorFunction","payload","fileName","toLocaleDateString","blob","URL","createObjectURL","createElement","download","appendChild","click","remove","DownloadExcel","selectedPresentation","tableData","activeDataSource","measureVar","source","DSL1_DESC","DSL2_DESC","breakby1Header","REPORT_TEXT","breakby2Header","lonereport","row1","row2","_TYPE_","row","breakby1","x","isData","DownloadSection","showOptions","setShowOptions","downloadSection","downloadBtn","downloadOptions","ToolBar","toolBar","FilterItem","handleSelectedFilters","list","activeFilter","filterValue","FilterList","filterList","showAllFilters","setShowAllFilters","newItem","filterListWrapper","hasItems","filterScrollArea","filterListPadding","slice","showAllFilterWrapper","Filters","userFilters","filterHeading","indicatorSymbol","Select","defaultValue","compact","shaded","filteredOptions","selectBox","isCompact","loaderWrapper","selectLoader","selectLabel","isShaded","selectWrapper","optionValue","optionDisabled","DataSourceSummary","availableDSL1","availableDSL2","forbundName","setForbundName","dslToString","dsl","availableDsl","print","DataSource","defaultYearFromDeepAnalysis","defaultYearToDeepAnalysis","setActiveDataSource","setForbund","availableYears","setAvailableYears","availableForbund","setAvailableForbund","setAvailableDSL1","setAvailableDSL2","yearRange","getAvailableSources","rules","every","property","expression","findSource","inRange","getYear","p","sequentiallyFindSource","arr","i","pop","setSource","measure_var","previousDatasource","availableSources","newSource","ds","y","lastYearsData","allAvailableYears","dataSourceHeading","dataSourceSelection","evt","latestAvailableYear","getYearOptions","toString","infoLink","Presentation","allowCustomPresentation","presentationList","setCustomPresentation","setSelectedPresentation","fetchingData","selectedBreakby","setSelectedBreakby","BREAKBY_VAR","presentation","matchingPresentation","pres","handleSelectedPresentation","formatNumber","formatAccessor","createOrSetObject","prevObj","keys","totalind","accessor","assign","getTotalCol","original","isTotalRow","customPresentation","TabRow","tabRow","Tab","tab","passive","SalaryTable","setMeasureVar","customReport","columns","useMemo","center","sticky","breakby2","groupingCol","generateCustomColumns","Cell","rows","totalRow","generateCustomData","table","useTable","initialState","hiddenColumns","footerGroups","getTableBodyProps","getTableProps","headerGroups","prepareRow","tableContainer","tableWrapperPrint","group","getHeaderGroupProps","column","getHeaderProps","getRowProps","cells","cell","getCellProps","getFooterGroupProps","tablefoot","getFooterProps","Chart","chartContainer","chartInstance","setChartInstance","Graph","plugins","unregister","ChartDataLabels","newChartInstance","update","scales","duration","chart","today","months","isValidHistoricalYear","num","getFullYear","getAvailableYears","yearsPassed","thisYear","dates","created","minYear","reverse","getSolidData","entry","lon_p25","lon_p50","lon_p75","calcChartData","q1","median","q3","outliers","genLabels","unique","self","filterCustomData","getCustomLabels","customColors","calcCustomChartData","solidData","groups","hoverBackgroundColor","medianColor","outlierColor","borderColor","borderWidth","maxBarThickness","tempGroup","genData","labels","datasets","defaultOptions","tension","pointStyle","getAnnotations","salaryMarkerValue","activeTab","annotations","mode","scaleID","borderDash","enabled","content","formatLabelNumber","chartHasData","allData","dataset","Boolean","boxOptions","responsive","legend","position","xAxes","ticks","beginAtZero","gridLines","scaleLabel","yAxes","events","onHover","barOptions","tooltips","callbacks","tooltipItem","datasetIndex","yLabel","lineOptions","usePointStyle","autoSkip","maxTicksLimit","SalaryGraph","datasetLabel","isCustomPresentation","setActiveTab","setXMin","setXMax","setYMin","setYMax","barLabels","lineLabels","boxLabels","barData","lineData","boxData","labelString","hasData","bool","showLineDiagram","breakbyValue","firstYear","isTimeUnit","addChartOptions","newConfig","annotation","salaryGraph","SalaryMarker","setSalaryMarkerValue","salaryMarker","infoLabelWrapper","information","tooltip","tooltipText","unformattedValue","ReportSection","reportSection","noData","isReverse","ExplanationItem","renderImage","explanationItem","boxPlotImage","image","measurementsSortOrder","graphsSortOrder","ExplanationGroup","available","items","setItems","clicks","setClicks","toggled","setToggled","setFetchingData","responseData","mainIdx","mainText","splice","loaderContainer","InstructionsVideo","level","setVideoError","video","videoAdvanced","instructionsVideo","preload","width","autoplay","controls","kind","srcLang","startVideoAdvance","isAdvance","Explanations","newFilterList","concat","explanationGroups","helpSection","helpItemWrapper","explanationGroup","CustomPresentation","setBreakby1","setBreakby2","customPresentationHeading","customPresFlex","err","handleSelectBreakby1","handleSelectBreakby2","Statisticsometer","hasPartiallyFilledFilters","percent","roundedPercent","statisticsometer","statisticsText","meter","full","advanced","overview","PageAdvanced","setFilterList","setTableData","setPresentationList","setAllowCustomPresentation","selectedUnion","setSelectedUnion","shouldGetReportData","setShouldGetReportData","setDefaultYearFromDeepAnalysis","setDefaultYearToDeepAnalysis","sortedSelectedValues","promiseUnion","Promise","resolve","reject","promiseFds","all","unionData","fdsData","defaultSource","defaultDataSource","DEFAULT","resetMeasureVarToLon","Role","filterOrder","breakbys","breakbyItem","breakbyOrder","breakbyVar","breakbyText","sortOptionsByLetters","fltr","activeFltr","newState","newOptions","newOpt","logGetReportRequest","subSectionLeft","subSectionRight","reportSettings","Panel","admin","card","hasFieldset","panel","panelFieldset","panelLegend","regularPanel","isAdmin","level2Header","level3Header","level1Header","previewConfigHeader","filterExplanations","commonTexts","accounts","visitiorStatistics","applicationLog","copyConfigurationHeader","monitoringHeader","monitoringRunInfoHeader","Button","flipIcon","button","hasText","hasIcon","ButtonBar","prevNext","buttonBar","DataSourceSelect","setDsl1","setDsl2","setRole","setYear","dsl1Temp","datasource","searchInput","availableYear","SituationCreate","configureLvl1","setCreateNewSituation","setSituationCopied","setSituationCreated","situationToCopy","setName","setDescription","saveDisabled","setSaveDisabled","handleSubmit","preventDefault","createdSituation","activeSelections","updateRequest","selVar","selectionOrder","updatedSituation","formWrapperHalf","onSubmit","CheckboxAdmin","checkboxAdmin","labelText","InputReadOnly","useHyphens","inputReadOnly","textField","Textarea","classTextArea","extraTextAreaClasses","textareaLabel","textareaText","SituationCard","copySituation","editMode","setEditMode","situationName","setSituationName","situationDescription","setSituationDescription","situationIsActive","setSituationIsActive","situationCardInner","textInput","situationToDelete","SituationConfig","createNewSituation","setSituationToCopy","situationCopied","situationCreated","situationDeleted","setSituationDeleted","situationUpdated","setSituationUpdated","remainingSituations","tempSituations","getDataSources","toast","success","autoClose","closeOnClick","addNew","marginLeft","LinkCreate","setCreateNewLink","setLinkCreated","linkName","setLinkName","linkUrl","setLinkUrl","isSaving","setIsSaving","LinkCard","setLinkUpdated","setLinkDeleted","linkBox","linkCol","l","tempLinks","handleUpdate","LinksConfig","createNewLink","linkCreated","linkUpdated","linkDeleted","linksConfig","addLinkButton","VARIANTS","order","breakby","SortableList","updateFunction","activeItems","handleItemUpdate","newList","filterType","configTable","colSpan","optionsList","itemList","unsortedItems","performMoveUp","performMoveDown","radioLabel","SalaryProfileConfig","currentSituation","setCurrentSituation","wrapForm","selectedSituationId","situationId","tempData","HelpBox","helpBox","Level2Simple","loadingSituations","setLoadingSituations","Const","helpLink","SectionAdmin","sectionAdmin","sectionContent","LoadConfiguration","previousYear","setBreakbys","setFilters","toastMessage","isLoading","setIsLoading","loadConfig","setLoadConfig","copyYear","setCopyYear","copyDsl1","setCopyDsl1","copyDsl2","setCopyDsl2","copyRole","setCopyRole","createObject","identificator","orderBy","sortBy","updateArray","object","count","tempItem","breakbyObject","filterObject","updatedBreakbys","breakbyCount","updatedFilters","DataSourceConfig","setIsActive","loadConfiguration","setLoadConfiguration","sortData","orderParameter","sourceSelectContainer","shown","hidden","DefaultSourceConfig","setDefaultDataSource","StandardYearConfig","grid","handleChangeStandardConfig","Level3Advanced","msg","warning","info","StandardConfig","PreviewDataSourceCreate","isPreview","PreviewDataSourceCard","PreviewDataSourceConfig","PreviewSalaryProfileConfig","PreviewConfig","MarkdownEditor","autofocus","toolbar","spellChecker","FilterExplanationCreate","selvars","setFilterTexts","filterText","setFilterText","setTextId","isDefault","selvar","arrayOf","String","null","FilterExplanationNoText","filterTexts","loadingYears","isCreatingNewText","setIsCreatingNewText","setSelvars","setLoading","uniqueSelvar","loadingContainer","searchResult","missingFilterExplanations","missingTextContainer","FilterExplanationEdit","hideEditor","setHideEditor","isDuplicate","performSave","FilterExplanationItem","subHeader","FilterExplanations","loadingText","setLoadingText","loadingData","setLoadingData","filteredFilterTexts","setFilteredFilterTexts","searchString","setSearchString","temp","searchContainer","textList","filterTextsMissing","EditAccount","userAccount","setUserList","setAccountDeleted","setAccountUpdated","setEditAccount","setIsAdmin","newPassword","setNewPassword","isRedaktor","isFortroendevald","passwordRef","reportValidity","handleUpdateAccount","AccountRow","account","editAccount","CreateAccount","setAccountCreated","setAddAccount","unionList","setUnionList","setPassword","setLabel","isFortroendeVald","performSubmit","Accounts","userList","addAccount","setFilter","accountUpdated","accountDeleted","accountCreated","filteredUserList","userObj","forbundsKodSas","accountTable","createAccountBox","LogItem","exception","properties","timeStamp","format","isExpanded","setIsExpanded","copied","setCopied","flipBackState","copyLogMessage","stopPropagation","navigator","clipboard","writeText","textArea","top","focus","select","execCommand","removeChild","fallbackCopyLogMessage","logItem","logRow","logChevron","extraInfo","extraContent","buttonRow","ApplicationLog","logs","setLogs","pages","setPages","currentPage","setCurrentPage","getMonth","monthFrom","setMonthFrom","monthTo","setMonthTo","yearFrom","setYearFrom","yearTo","setYearTo","logLevel","setLogLevel","refresh","setRefresh","filteredLogs","logTools","month","logPanel","pageIndicator","MonitoringLog","monitoringrun","setMonitoringRun","URLSearchParams","get","monitoringRunId","logResponses","logInfo","jobType","monitoringStatus","startTime","endTime","resolvedTime","errorMessage","errorsCount","padding","GeneralTextItem","txtGroup","updateCb","txtGroupCopy","setTxtGroupCopy","forbundSA","formatHelpText","textIn","txtObj","renderSubTexts","defaultOption","unionTexts","createCopy","newTxt","originalTxt","updateTxt","GeneralTexts","generalTexts","setGeneralTexts","sortedTexts","updateTexts","response","groupName","NavigationItem","navigationItem","isDisabled","isHidden","activeIcon","UnionLinkConfig","setHeader","setId","updateState","toLocaleUpperCase","UnionConfig","Modal","show","handleClose","modaldarkBG","modalCentered","modal","modalHeader","modalHeading","modalBody","modalMessage","modalContent","modalButtons","modalBtn","ActiveSelections","configurationType","dslConfigurations","dslConfiguration","dsL2Configs","dsL2Config","copyFromTestToProd","dsL1Config","filterString","trimStart","trimEnd","ActiveUnionSelections","unions","isSelected","dslConfig","handleUpdateConfiguration","dsl2Config","UnionSelect","handleUpdateUnionSelection","selectAllUnions","unSelectAllUnions","StatusBox","jobStatus","statusBox","isJobRunning","currentSummaryStatus","date","statusMessage","summaryStatuses","ul","li","CopyConfiguration","isLoadingSimpleConfiguration","setIsLoadingSimpleConfiguration","isLoadingAdvancedConfiguration","setIsLoadingAdvancedConfiguration","simpleConfiguration","setSimpleConfiguration","advancedConfiguration","setAdvancedConfiguration","previewConfiguration","setPreviewConfiguration","showModal","setShowModal","setJobStatus","hasAnySelectionsSimple","setHasAnySelectionsSimple","hasAnySelectionsPreview","setHasAnySelectionsPreview","hasAnySelectionsAdvanced","setHasAnySelectionsAdvanced","jobStatusRef","existingConfiguration","newdslConfigList","dslConfigs","newConfiguration","unSelectAllDataSources","configuration","newdsL2ConfigList","handleJobStatusUpdate","jobStatusUpdateMsg","jsonJobStatusUpdate","simpleConfigurationRequest","fds","configurationtype","previewConfigurationRequest","promiseUnions","promiseSimpleConfiguration","promisePreviewConfiguration","simpleConfigurationData","previewConfigurationData","advancedConfigurationRequest","dSL1","class","resultOk","advancedConfig","copyConfigurationJobRequest","copySimpleConfigurationJobRequest","copyAdvancedConfigurationJobRequest","copyPreviewConfigurationJobRequest","triggerCopyConfiguration","NotificationRow","deleteCb","expand","setExpand","setMessage","editable","setEditable","rowContainer","entries","k","parseDataSources","textTitle","nativeEvent","inputType","bottomWrapper","buttonContainer","AddNotification","createCb","setAvailableSources","setNiva","setText","parseForSelect","fromEntries","removeEmpty","Notifications","texts","setTexts","setUpdate","saveNotification","meta","deleteNotification","Colors","fontSize","fontColor","datalabels","anchor","align","formatter","afterDataLimits","scale","grace","dayLabelKeys","1","2","3","4","5","6","7","DayChart","stats","chartData","setChartData","isTableExpanded","setIsTableExpanded","currentDay","getDay","dayA","dayB","currentWeekDays","day","lastWeekDays","sortedEntries","statsMap","currentDate","currentWeek","getWeek","lastWeek","statsMapKeysArray","Array","dayKey","medlem","fortroendevald","mapStatsToChartData","Map","chartStats","tableToggle","dataPoint","WeekChart","currentYear","lastYear","weekA","weekB","lastYearWeeks","week","currentYearWeeks","weeksHalfyearBackEntries","weeksHalfyearBackStats","weekData","substring","mapStatsToTableData","marginRight","monthLabelKeys","8","9","10","11","12","MonthChart","currentYearMonthsCount","setCurrentYearMonthsCount","lastYearMonthsCount","setLastYearMonthsCount","currentMonth","monthA","monthB","currentYearMonths","lastYearMonths","text-align","YearChart","yearA","yearB","recentYears","BarCharts","statsPerDay","setStatsPerDay","statsPerWeek","setStatsPerWeek","statsPerMonth","setStatsPerMonth","statsPerYear","setStatsPerYear","periodsStatistics","visitorsPerDay","visitorsPerWeek","visitorsPerMonth","visitorsPerYear","font","weight","keyLabels","ViewChart","pink","turquoise","viewKey","unitKeyLabels","unknown","desktop","mobile","tablet","unitSortOrder","UnitChart","lightGrey","grey","sortedStats","unitA","unitB","unit","browserKeyLabels","Chrome","Safari","FireFox","Opera","Samsung","Unknown","Other","browserSortOrder","BrowserChart","darkGrey","yellow","orange","browserA","browserB","PieCharts","statsPerView","setStatsPerView","statsPerUnit","setStatsPerUnit","statsPerBrowser","setStatsPerUnitBrowser","userStatistics","views","devices","browsers","VisitorStatistics","PageAdmin","adminForbund","setAdminForbund","pageAdmin","leftColumn","adminH1","forbundSelectWrapper","toUpperCase","refreshToken","ENABLE_COPY_CONFIGURATION","navHeader","Page404","PageLogin","userName","setUserName","loginType","setLoginType","loginForbund","setLoginForbund","loginLink","setLoginLink","handleLogin","origin","loginContainer","loginOptions","loginUnion","loginForm","loginTextInput","loginButton","PageDeveloper","developerContainer","preamble","box","attentionBox","flowchartSymbolContainer","FlowchartSymbol","noticeBox","noMarginTopBottom","Logout","TokenRedirect","browserData","Bowser","userAgent","version","platform","useParams","ForbundsKodRedirect","LoginInfo","calculatePercentBelowSalary","salaryStat","givenSalary","Bin","percentBelow","Pct","getSalaryMarkerValue","mapData","salaryStatistic","textColor","generateOptions","parsing","xAxisKey","yAxisKey","maxRotation","formatLabelNumberxAxes","formatLabelNumberyAxes","context","dataIndex","controller","getDatasetMeta","height","actualNumberValue","custom","tooltipModel","tooltipEl","getElementById","classList","add","lines","stringValue","formattedString","parseInt","innerHTML","_chart","canvas","getBoundingClientRect","opacity","pageXOffset","caretX","pageYOffset","caretY","fontFamily","fontStyle","yPadding","xPadding","borderRadius","SelectPreview","SVGComponent","data-name","xmlns","viewBox","transform","Preview","displayValue","setSalary","chartRef","selectedDataSource","setSelectedDataSource","firstSelection","setFirstSelection","secondSelection","setSecondSelection","firstSelectedOption","setFirstSelectedOption","secondSelectedOption","setSecondSelectedOption","setSalaryStat","salaryPercentage","setSalaryPercentage","setTextColor","handleSelectionDataWrapper","selectionData","selectionObjects","firstSelectionObject","secondSelectionObject","handleSelectionData","innerWidth","mapStatsToChartDataWrapper","datasetIdKey","barColorBasedOnPercentage","updateTextPosition","existingDivElement","salaryForFirstMarker","getSalaryForFirstMarker","salaryMarkerIndex","getSalaryMarkerIndex","userSpecifiedSalaryModel","_model","chartArea","canvasRect","querySelector","divElement","leftMargin","leftPosition","topPosition","zIndex","ReactDOMServer","renderToString","intervalId","setInterval","clearInterval","searchParams","chef","documentElement","setProperty","labelColor","selectionColor","backgroundHeader","styleElement","font2","head","applyPreviewFonts","selectionRequest","UnionId","Chef","handleResize","filterArray","selectedSelection","secondSelectionOptions","fetchSecondOptions","buildSelectionVar","selectedOption","firstSelectionVar","secondSelectionVar","salaryStatRequest","Sel_var","promiseSalaryStat","salaryStatData","GetSrc","IsfirstSelection","GetTitle","outerContainer","speechBubbleContent","speechBubbleBoxLeft","speechBubbleBox","selectBoxRight","selectBoxLeft","InputLabel","labelId","strNumber","handleSalaryChange","arrowleft","dummyData","percentage","profession","sector","PreviewLab","education","setEducation","setSector","indexSalary","alignItems","FormControl","sx","m","MenuItem","allowLeadingZeros","allowNegative","customInput","TextField","onValueChange","floatValue","thousandSeparator","InputProps","endAdornment","InputAdornment","textAlign","Instructionvideo","ButtonGroup","buttons","doSomethingAfterClick","initialSelectedIndex","whiteText","clickedId","setClickedId","buttonLabel","customButton","textcolorWhite","firstButton","lastButton","Careerspin","salaryWithoutAgreement","setSalaryWithoutAgreement","salaryWithAgreement","setSalaryWithAgreement","monthlySalary","setMonthlySalary","parentalSupplement","setParentalSupplement","displayMonthlySalary","setDisplayMonthlySalary","selectableSector","setSelectableSector","buttonColor","setButtonColor","setSummationText","now2","selectableSectors","alternativ","pbb","arslon","tak","calcSjukpenning","sjukpenning","displaySalary","calculateCompensation","Calcforaldrapenning","foraldrapenning","foraldralon","roundedAddition","displayAddition","displaySalaryWithoutAgreement","calculateSalaryWithAgreement","roundedNr","displaySalaryWithAgreement","calculateParent","toFixed","calculateSalaryWithoutAgreement","calculateWorkInjury","sjuklon","calculateSick","root","textcolor","setBackgroundColor","newText","fetchData","updateSalaryValues","formattedNumber","CareerspinContainer","selectContainer","transparentArrow","spinContainer","salary_module_container","transparentArrowBottom","textContent","kollektivavtal","sektor","getStateText","getParentText","ersattning","getSickText","formatIncomeValue","maximumFractionDigits","getIncomeMarkerIndex","parent2Months","getMaxSumIndex","firstDataset","maxSum","Infinity","maxIndex","setIncomeDistribution","maxSumIndex","parent1MaxMonths","parent2MaxMonths","generatePointBackgroundColors","defaultBackgroundColor","targetBackgroundColor","maintainAspectRatio","secondDataset","minValue","maxValue","calculatedStepSize","calculateStepSize","stepSize","positionMaximizeIncomeElements","incomeMarkerIndex","maxSalaryModel","maximizeIncomeChatBubbleDivElement","maximizeIncomeMarkerDivElement","maximizeIncomeMaxMarkerDivElement","adjustLeft","x1","y1","positionMaximizeIncomeChatBubble","x2","positionMaximizeIncomeMarker","x3","flexDirection","justifyContent","positionMaximizeIncomeMaxMarker","sleep","ms","calculateDisposableIncome","monthlyIncome","parentalLeaveMonths","parentalSalaryMonths","municipalTax","burialFee","PBB","yearlyIncome","yearlyIncomeTwelveMonths","parentalAllowance","parentalSalary","stateIncomeTax","publicServiceFee","jobTaxCredit","workDeduction","parentalAllowanceFormula","parentalSalaryFormula","stateIncomeTaxFormula","publicServiceFeeFormula","jobTaxCreditFormula","workDeductionFormula","FFI","GA","BFI","TI","KI","AI","disposableIncome","childAllowance","formulas","calculateTotalDisposableIncomes","parent1MonthlyIncome","parent2MonthlyIncome","parent1ParentalSalaryMonths","parent2ParentalSalaryMonths","totalDisposableIncomes","parent2LeaveMonths","parent1LeaveMonths","parent1Results","parent2Results","totalDisposableIncome","parent1FFI","parent1BFI","parent1YearlyIncome","parent1GA","parent1AI","parent1DisposableIncome","parent1ParentalSalary","parent1ParentalAllowance","parent1StateIncomeTax","parent1MunicipalTax","parent1BurialFee","parent1PublicServiceFee","parent1JobTaxCredit","parent1WorkDeduction","parent1ChildAllowance","parent1Formulas","parent2FFI","parent2BFI","parent2YearlyIncome","parent2GA","parent2AI","parent2DisposableIncome","parent2ParentalSalary","parent2ParentalAllowance","parent2StateIncomeTax","parent2MunicipalTax","parent2BurialFee","parent2PublicServiceFee","parent2JobTaxCredit","parent2WorkDeduction","parent2ChildAllowance","parent2Formulas","totalParentalSalary","netIncome","income","join","formatTotalDisposableIncomesToTable","calculateHouseholdIncome","parent1Salary","parent2Salary","parent1Months","setLineData","setHouseholdIncomeData","setHasData","lineChartData","_","pointBorderColor","pointBackgroundColor","SelectParentalLeaveSpin","ParentalLeavespin","setParent1Salary","setParent2Salary","displayParent1Salary","setDisplayParent1Salary","displayParent2Salary","setDisplayParent2Salary","isIconUp","setIsIconUp","isHoveringChatBubble","setIsHoveringChatBubble","setParent1Months","setParent2Months","setParent1MaxMonths","setParent2MaxMonths","parent2And10Months","setParent2And10Months","parent4And8Months","setParent4And8Months","parent6And6Months","setParent6And6Months","parent8And4Months","setParent8And4Months","parent10And2Months","setParent10And2Months","selectedIncomeMarkerIndex","setSelectedIncomeMarkerIndex","setParent1ParentalSalaryMonths","setParent2ParentalSalaryMonths","helpChatBubbleVisible","setHelpChatBubbleVisible","calculationInfoModalVisible","setcalculationInfoModalVisible","calculationInfoChatBubbleVisible","householdIncomeData","selectedHouseholdIncomeData","setSelectedHouseholdIncomeData","maxHouseholdIncomeData","setMaxHouseholdIncomeData","isModalVisible","setIsModalVisible","newValueForParent1Months","waitCount","running","newParent1MaxMonths","newParent2MaxMonths","showOptimalDistribution","showHelpChatBubble","hideHelpChatBubble","showCalculationInfoModal","hideCalculationInfoModal","setDisplaySalary","setParentSalary","handleSalaryBlur","minSalary","maxSalary","displayMinSalary","displayMaxSalary","parsedValue","trim","handleParent1SalaryChange","handleParent1SalaryBlur","handleParent2SalaryChange","handleParent2SalaryBlur","handleFirstSelectionChange","setParentalSalaryMonths","filteredList","handleSecondSelectionChange","showCalculationInfoContent","calculationInfoModal","calculationInfoModalHidden","showInfoModal","closeModal","BarchartIcon","mobileicon","mobileMain","mobileContent","inputField","PersonIcon","iconContinue","stroke","strokeLinecap","strokeLinejoin","CircleIcon","helpIcon","hoverCursor","modalOverlay","closeButton","mobileResult","turquoisebutton","iconPil","up","mobileResultContent","mobiletable","incomeTable","Crowns","linkContainer","ListIcon","linkText","parentHide","headerField","onMouseEnter","onMouseLeave","helpChatBubbleContainer","helpChatBubble","divInomCanvas","maximizeIncomeChatBubble","snibb1","snibb2","snibb","maximizeIncomeHeaderRectangle","maximizeIncomeHeaderText","maximizeIncomeContentRectangle1","maximizeIncomeContentRectangle1Text","maximizeIncomeContentRectangle2","maximizeIncomeContentRectangle2Text","maximizeIncomeContentRectangle3","maximizeIncomeContentRectangle3Text1","maximizeIncomeContentRectangle3Text2","divInomCanvas2","MarkerIcon","divInomCanvas3","maxIncomeText","pinkbutton","calculationInfoChatBubbleContainer","calculationInfoChatBubble","ngShow","UnemploymentspinTab","UnemploymentspinTabActive","UnemploymentspinTabPassive","ApexChart","dataUtbildning","series","categories","category","offsetY","colors","horizontal","xaxis","yaxis","plotOptions","bar","dataLabels","barHeight","barWidth","offsetX","shared","dataPointIndex","seriesIndex","w","currentYearValue","previousYearValue","tickAmount","textAnchor","fontWeight","lineHeight","ChartAlder","alderData","ChartUtland","datautland","ChartKon","kondata","YearText","Unemploymentspin","activeButton","setData","mainData","newData","utbildningData","konData","utlandData","handleTabClick","UnemploymentspinContainer","UnemploymentspinSummary","UnemploymentspinHeader","Baseline","UnemploymentspinLogo","UnemploymentIcon","PT24px","FirstParagraph","UnemploymentspinAbout","SecondParagraph","ThirdParagraph","UnemploymentspinSacoGreen","UnemploymentspinTabRow","UnemploymentspinMain","tableHead","buttonsContainer","unemploymentBarChart","tableContent","isArray","UnemploymentspinSource","AppRouter","exact","App","contentContainer","scaledContent","smoothscroll","polyfill","ReactDOM","StrictMode","CookiesProvider"],"mappings":"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","file":"static/js/main.09d77b27.chunk.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"parentHide\":\"ParentalLeavespin_parentHide__3GyG-\",\"container\":\"ParentalLeavespin_container__2C0gT\",\"scaled-content\":\"ParentalLeavespin_scaled-content__16u0_\",\"icon\":\"ParentalLeavespin_icon__1r8uX\",\"parentInputs\":\"ParentalLeavespin_parentInputs__2dkzb\",\"headerField\":\"ParentalLeavespin_headerField__zhKJn\",\"inputField\":\"ParentalLeavespin_inputField__3jgEG\",\"dropdowns\":\"ParentalLeavespin_dropdowns__1dMUP\",\"dropdown\":\"ParentalLeavespin_dropdown__1Edto\",\"selectBox\":\"ParentalLeavespin_selectBox__2TINc\",\"activeIcon\":\"ParentalLeavespin_activeIcon__1RgsW\",\"input\":\"ParentalLeavespin_input__w2bej\",\"input-parent-salary\":\"ParentalLeavespin_input-parent-salary__2Mi12\",\"helpIcon\":\"ParentalLeavespin_helpIcon__2IcGh\",\"helpChatBubble\":\"ParentalLeavespin_helpChatBubble__PXXhO\",\"helpChatBubbleContainer\":\"ParentalLeavespin_helpChatBubbleContainer__1-hKj\",\"helpChatBubbleVisible\":\"ParentalLeavespin_helpChatBubbleVisible__Xlkcf\",\"calculationInfoModal\":\"ParentalLeavespin_calculationInfoModal__3UqJU\",\"calculationInfoModalVisible\":\"ParentalLeavespin_calculationInfoModalVisible__11S3V\",\"calculationInfoModalHidden\":\"ParentalLeavespin_calculationInfoModalHidden__2TNWI\",\"modal-content\":\"ParentalLeavespin_modal-content__17BZ2\",\"close\":\"ParentalLeavespin_close__1I-J8\",\"calculationInfoChatBubble\":\"ParentalLeavespin_calculationInfoChatBubble__1_nU4\",\"calculationInfoChatBubbleContainer\":\"ParentalLeavespin_calculationInfoChatBubbleContainer__2RosN\",\"calculationInfoChatBubbleVisible\":\"ParentalLeavespin_calculationInfoChatBubbleVisible__2bDma\",\"maximizeIncomeChatBubble\":\"ParentalLeavespin_maximizeIncomeChatBubble__XkaZV\",\"snibb\":\"ParentalLeavespin_snibb__14pi0\",\"snibb1\":\"ParentalLeavespin_snibb1__2FJM5\",\"snibb2\":\"ParentalLeavespin_snibb2__3-hkh\",\"hoverCursor\":\"ParentalLeavespin_hoverCursor__DbEdF\",\"maximizeIncomeHeaderRectangle\":\"ParentalLeavespin_maximizeIncomeHeaderRectangle__1Ijmf\",\"maximizeIncomeHeaderText\":\"ParentalLeavespin_maximizeIncomeHeaderText__3sbR3\",\"maximizeIncomeContentRectangle1\":\"ParentalLeavespin_maximizeIncomeContentRectangle1__2L2lX\",\"maximizeIncomeContentRectangle1Text\":\"ParentalLeavespin_maximizeIncomeContentRectangle1Text__VHuvV\",\"maximizeIncomeContentRectangle2\":\"ParentalLeavespin_maximizeIncomeContentRectangle2__2ajLd\",\"maximizeIncomeContentRectangle2Text\":\"ParentalLeavespin_maximizeIncomeContentRectangle2Text__1BSHV\",\"maximizeIncomeContentRectangle3\":\"ParentalLeavespin_maximizeIncomeContentRectangle3__3K4Vv\",\"maximizeIncomeContentRectangle3Text1\":\"ParentalLeavespin_maximizeIncomeContentRectangle3Text1__1cxMJ\",\"maximizeIncomeContentRectangle3Text2\":\"ParentalLeavespin_maximizeIncomeContentRectangle3Text2__3pmFR\",\"divInomCanvas\":\"ParentalLeavespin_divInomCanvas__SQGQI\",\"divInomCanvas2\":\"ParentalLeavespin_divInomCanvas2__3waZY\",\"divInomCanvas3\":\"ParentalLeavespin_divInomCanvas3__2oZkm\",\"speechBubbleContent\":\"ParentalLeavespin_speechBubbleContent__rTcDZ\",\"header\":\"ParentalLeavespin_header__1AgbZ\",\"chart\":\"ParentalLeavespin_chart__3gKn0\",\"chartLabel\":\"ParentalLeavespin_chartLabel__1XR3j\",\"arrowleft\":\"ParentalLeavespin_arrowleft__16LTZ\",\"activeIconRight\":\"ParentalLeavespin_activeIconRight__NxUxB\",\"result\":\"ParentalLeavespin_result__33oOX\",\"grid-calculationinfomodal\":\"ParentalLeavespin_grid-calculationinfomodal__1ZTsj\",\"grid-calculationinfomodal-row\":\"ParentalLeavespin_grid-calculationinfomodal-row__HRLLD\",\"grid-calculationinfomodal-row-header\":\"ParentalLeavespin_grid-calculationinfomodal-row-header__16coi\",\"grid-calculationinfomodal-row-decription\":\"ParentalLeavespin_grid-calculationinfomodal-row-decription__2mEBN\",\"flex-e-c\":\"ParentalLeavespin_flex-e-c__2xynG\",\"flex-s-c\":\"ParentalLeavespin_flex-s-c__1GGCc\",\"p-10-0-10-0\":\"ParentalLeavespin_p-10-0-10-0__snnqa\",\"p-30-0-10-0\":\"ParentalLeavespin_p-30-0-10-0__1PbRE\",\"p-40-0-0-100\":\"ParentalLeavespin_p-40-0-0-100__2xOF9\",\"p-10-0-5-0\":\"ParentalLeavespin_p-10-0-5-0__2gKlM\",\"grid-parentalleave\":\"ParentalLeavespin_grid-parentalleave__3GQqe\",\"grid-parentalleave-r1\":\"ParentalLeavespin_grid-parentalleave-r1__39Dyz\",\"grid-parentalleave-r2\":\"ParentalLeavespin_grid-parentalleave-r2__2Vfsc\",\"no-radius\":\"ParentalLeavespin_no-radius__13a2Y\",\"column\":\"ParentalLeavespin_column__18pzw\",\"grid-parentalleave-r2-r1\":\"ParentalLeavespin_grid-parentalleave-r2-r1__2Sa1E\",\"grid-parentalleave-r2-r2\":\"ParentalLeavespin_grid-parentalleave-r2-r2__8tbzR\",\"grid-parentalleave-r2-r3\":\"ParentalLeavespin_grid-parentalleave-r2-r3__5Cck-\",\"grid-parentalleave-r2-r4\":\"ParentalLeavespin_grid-parentalleave-r2-r4__1YfKn\",\"grid-parentalleave-r2-r5\":\"ParentalLeavespin_grid-parentalleave-r2-r5__fpYSP\",\"grid-parentalleave-r2-r6\":\"ParentalLeavespin_grid-parentalleave-r2-r6__3VdfU\",\"grid-parentalleave-r2-r7\":\"ParentalLeavespin_grid-parentalleave-r2-r7__1xwAG\",\"grid-parentalleave-r2-r8\":\"ParentalLeavespin_grid-parentalleave-r2-r8__2B8yZ\",\"grid-parentalleave-r2-r9\":\"ParentalLeavespin_grid-parentalleave-r2-r9__2H9AO\",\"grid-parentalleave-r2-r10\":\"ParentalLeavespin_grid-parentalleave-r2-r10__321cc\",\"grid-parentalleave-r2-r11\":\"ParentalLeavespin_grid-parentalleave-r2-r11__3LsGK\",\"grid-parentalleave-r2-r12\":\"ParentalLeavespin_grid-parentalleave-r2-r12__2sJQX\",\"grid-parentalleave-r2-r13\":\"ParentalLeavespin_grid-parentalleave-r2-r13__1q-zj\",\"grid-parentalleave-r2-r14\":\"ParentalLeavespin_grid-parentalleave-r2-r14__2c0Oo\",\"grid-parentalleave-r2-r15\":\"ParentalLeavespin_grid-parentalleave-r2-r15__XCL1x\",\"grid-parentalleave-r2-r16\":\"ParentalLeavespin_grid-parentalleave-r2-r16__1e3oA\",\"grid-parentalleave-r2-r17\":\"ParentalLeavespin_grid-parentalleave-r2-r17__3-mh-\",\"up\":\"ParentalLeavespin_up__3TPw9\",\"grid-parentalleave-r3\":\"ParentalLeavespin_grid-parentalleave-r3__2VLX4\",\"grid-parentalleave-r3-r1\":\"ParentalLeavespin_grid-parentalleave-r3-r1__1tL97\",\"grid-parentalleave-r3-r2\":\"ParentalLeavespin_grid-parentalleave-r3-r2__1dEHj\",\"grid-parentalleave-r3-r3\":\"ParentalLeavespin_grid-parentalleave-r3-r3__1-aVe\",\"grid-parentalleave-r3-r4\":\"ParentalLeavespin_grid-parentalleave-r3-r4__30U6a\",\"grid-parentalleave-r3-r5\":\"ParentalLeavespin_grid-parentalleave-r3-r5__JerF0\",\"grid-parentalleave-r3-r6\":\"ParentalLeavespin_grid-parentalleave-r3-r6__2iFza\",\"grid-parentalleave-r3-r7\":\"ParentalLeavespin_grid-parentalleave-r3-r7__2VwR2\",\"grid-parentalleave-r3-r8\":\"ParentalLeavespin_grid-parentalleave-r3-r8__1D4co\",\"grid-parentalleave-r3-r9\":\"ParentalLeavespin_grid-parentalleave-r3-r9__3x5X7\",\"grid-parentalleave-r3-r10\":\"ParentalLeavespin_grid-parentalleave-r3-r10__1paYB\",\"grid-parentalleave-r3-r11\":\"ParentalLeavespin_grid-parentalleave-r3-r11__U3ZIa\",\"grid-parentalleave-r3-r8-r1\":\"ParentalLeavespin_grid-parentalleave-r3-r8-r1__znYLm\",\"grid-parentalleave-r3-r8-r1-c1\":\"ParentalLeavespin_grid-parentalleave-r3-r8-r1-c1__2k08h\",\"grid-parentalleave-r3-r8-r1-c2\":\"ParentalLeavespin_grid-parentalleave-r3-r8-r1-c2__3UcU9\",\"grid-parentalleave-r3-r8-r1-c3\":\"ParentalLeavespin_grid-parentalleave-r3-r8-r1-c3__31d0Y\",\"grid-parentalleave-r3-r8-r2\":\"ParentalLeavespin_grid-parentalleave-r3-r8-r2__an-aY\",\"grid-parentalleave-r3-r8-r2-c1\":\"ParentalLeavespin_grid-parentalleave-r3-r8-r2-c1__1dsle\",\"grid-parentalleave-r3-r8-r2-c2\":\"ParentalLeavespin_grid-parentalleave-r3-r8-r2-c2__1Dl5N\",\"grid-parentalleave-r3-r8-r2-c3\":\"ParentalLeavespin_grid-parentalleave-r3-r8-r2-c3__2u4eK\",\"grid-parentalleave-r3-r8-r3\":\"ParentalLeavespin_grid-parentalleave-r3-r8-r3__25gTM\",\"select-override\":\"ParentalLeavespin_select-override__2_qrz\",\"iconchevrondown-override\":\"ParentalLeavespin_iconchevrondown-override__32NSc\",\"linkContainer\":\"ParentalLeavespin_linkContainer__l-8BL\",\"link\":\"ParentalLeavespin_link__2dSc8\",\"linkText\":\"ParentalLeavespin_linkText__3iH7-\",\"maxIncomeText\":\"ParentalLeavespin_maxIncomeText__3iWuP\",\"turquoisebutton\":\"ParentalLeavespin_turquoisebutton__13YE3\",\"pinkbutton\":\"ParentalLeavespin_pinkbutton__16zU9\",\"textField\":\"ParentalLeavespin_textField__2e52u\",\"text-15-teal\":\"ParentalLeavespin_text-15-teal__2vwrY\",\"text-16-teal\":\"ParentalLeavespin_text-16-teal__1QNVM\",\"text-20-teal\":\"ParentalLeavespin_text-20-teal__25buR\",\"text-16-white\":\"ParentalLeavespin_text-16-white__CvoB2\",\"text-18-white\":\"ParentalLeavespin_text-18-white__1QY-s\",\"text-20-white\":\"ParentalLeavespin_text-20-white__1_Gy4\",\"text-24-white\":\"ParentalLeavespin_text-24-white__1gkZj\",\"text-16-black\":\"ParentalLeavespin_text-16-black__kiDbw\",\"text-16-black-light\":\"ParentalLeavespin_text-16-black-light__3QHHR\",\"text-20-black-light\":\"ParentalLeavespin_text-20-black-light__215Iq\",\"text-16-teal-light\":\"ParentalLeavespin_text-16-teal-light__2fhCr\",\"text-16-teal-light-underline\":\"ParentalLeavespin_text-16-teal-light-underline__KPJWr\",\"text-20-teal-light\":\"ParentalLeavespin_text-20-teal-light__2nvyb\",\"text-24-teal-light\":\"ParentalLeavespin_text-24-teal-light__272E1\",\"text-16-pink\":\"ParentalLeavespin_text-16-pink__3SQEf\",\"text-28-pink\":\"ParentalLeavespin_text-28-pink__1hpRi\",\"hidden\":\"ParentalLeavespin_hidden__3l6wx\",\"align-icon-to-text\":\"ParentalLeavespin_align-icon-to-text__bK_mU\",\"mr-10\":\"ParentalLeavespin_mr-10__GDh7v\",\"mr-12\":\"ParentalLeavespin_mr-12__2tX2y\",\"mt-16\":\"ParentalLeavespin_mt-16__nh-dY\",\"mobileMain\":\"ParentalLeavespin_mobileMain__1aQsW\",\"mobileResultContent\":\"ParentalLeavespin_mobileResultContent__3w2q5\",\"mobileResult\":\"ParentalLeavespin_mobileResult__2KcbY\",\"mobileContent\":\"ParentalLeavespin_mobileContent__3aJdz\",\"mobiletable\":\"ParentalLeavespin_mobiletable__3MZcJ\",\"highlight-row\":\"ParentalLeavespin_highlight-row__rUCuN\",\"incomeTable\":\"ParentalLeavespin_incomeTable__lNxci\",\"margin-bottom-20\":\"ParentalLeavespin_margin-bottom-20__2pCAW\",\"mobileicon\":\"ParentalLeavespin_mobileicon__2dG_Y\",\"iconPil\":\"ParentalLeavespin_iconPil__2y1aU\",\"modalOverlay\":\"ParentalLeavespin_modalOverlay__3Jtub\",\"modalContent\":\"ParentalLeavespin_modalContent__1PVvS\",\"closeButton\":\"ParentalLeavespin_closeButton__HP06u\",\"center\":\"ParentalLeavespin_center__rcxp0\",\"iconContinue\":\"ParentalLeavespin_iconContinue__2nYp0\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Preview_container__2sVTc\",\"activeIcon\":\"Preview_activeIcon__QcwZt\",\"selectBox\":\"Preview_selectBox__3H4xd\",\"input\":\"Preview_input__1qtIc\",\"header\":\"Preview_header__16evW\",\"chart\":\"Preview_chart__zE3Ch\",\"monthlySalary\":\"Preview_monthlySalary__meGQu\",\"salaryPercentage\":\"Preview_salaryPercentage__1adcy\",\"source\":\"Preview_source__14Rn9\",\"result\":\"Preview_result__3AB8U\",\"chat\":\"Preview_chat__2TcTv\",\"arrowleft\":\"Preview_arrowleft__1uYvA\",\"selectBoxLeft\":\"Preview_selectBoxLeft__1Nhoz\",\"selectBoxRight\":\"Preview_selectBoxRight__HUwgO\",\"speechBubbleContent\":\"Preview_speechBubbleContent__3afek\",\"speechBubbleBoxLeft\":\"Preview_speechBubbleBoxLeft__30l9Z\",\"speechBubbleBox\":\"Preview_speechBubbleBox__1caiE\",\"loaderAnimation\":\"Preview_loaderAnimation__2xXWo\",\"outerContainer\":\"Preview_outerContainer__3_X5J\",\"activeIconRight\":\"Preview_activeIconRight__3W5JO\",\"marginBottom\":\"Preview_marginBottom__UryRS\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"unemploymentBarChart\":\"Unemploymentspin_unemploymentBarChart__opBD6\",\"UnemploymentspinContainer\":\"Unemploymentspin_UnemploymentspinContainer__2lTzr\",\"UnemploymentspinHeader\":\"Unemploymentspin_UnemploymentspinHeader__1t21M\",\"icon\":\"Unemploymentspin_icon__3qMj4\",\"PT24px\":\"Unemploymentspin_PT24px__21Nax\",\"UnemploymentspinLogo\":\"Unemploymentspin_UnemploymentspinLogo__Hoz8z\",\"UnemploymentspinSummary\":\"Unemploymentspin_UnemploymentspinSummary__Romn2\",\"UnemploymentspinArrow\":\"Unemploymentspin_UnemploymentspinArrow__2q78Z\",\"Baseline\":\"Unemploymentspin_Baseline__JX7OJ\",\"UnemploymentspinAbout\":\"Unemploymentspin_UnemploymentspinAbout__2GkJn\",\"FirstParagraph\":\"Unemploymentspin_FirstParagraph__3NCDS\",\"SecondParagraph\":\"Unemploymentspin_SecondParagraph__157Ce\",\"ThirdParagraph\":\"Unemploymentspin_ThirdParagraph__QYsSl\",\"regularPanel\":\"Unemploymentspin_regularPanel__2YHUX\",\"UnemploymentspinMain\":\"Unemploymentspin_UnemploymentspinMain__306B-\",\"UnemploymentspinTabRow\":\"Unemploymentspin_UnemploymentspinTabRow__3RFTn\",\"textContent\":\"Unemploymentspin_textContent__1_AiE\",\"UnemploymentspinSacoGreen\":\"Unemploymentspin_UnemploymentspinSacoGreen__2PsOR\",\"tableHead\":\"Unemploymentspin_tableHead__3sntm\",\"activeButton\":\"Unemploymentspin_activeButton__9dD8q\",\"buttonsContainer\":\"Unemploymentspin_buttonsContainer__2-0vF\",\"tableContent\":\"Unemploymentspin_tableContent__2JnlG\",\"UnemploymentspinSource\":\"Unemploymentspin_UnemploymentspinSource__4tmcS\",\"UnemploymentspinDownload\":\"Unemploymentspin_UnemploymentspinDownload__2hYRM\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"chart\":\"VisitorStatistics_chart__Y3OPX\",\"chartContainer\":\"VisitorStatistics_chartContainer__2vACa\",\"header\":\"VisitorStatistics_header__1xvRg\",\"tableToggle\":\"VisitorStatistics_tableToggle__2s5ua\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main\":\"PageDeveloper_main__2WcoT\",\"topNav\":\"PageDeveloper_topNav__3wXZj\",\"innerContainerSlim\":\"PageDeveloper_innerContainerSlim__1X_Ak\",\"developerContainer\":\"PageDeveloper_developerContainer__1eJBR\",\"preamble\":\"PageDeveloper_preamble__3yv-t\",\"flowchartSymbolContainer\":\"PageDeveloper_flowchartSymbolContainer__1SIjv\",\"noticeBox\":\"PageDeveloper_noticeBox__1wTeg\",\"box\":\"PageDeveloper_box__N_Z0m\",\"attentionBox\":\"PageDeveloper_attentionBox__1OLJO\",\"noMarginTopBottom\":\"PageDeveloper_noMarginTopBottom__dRDC9\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main\":\"SalaryInterval_main__aDUCX\",\"textContainer\":\"SalaryInterval_textContainer__3y6NQ\",\"examples\":\"SalaryInterval_examples__IXJUV\",\"percentileText\":\"SalaryInterval_percentileText___3Zv2\",\"salaryLineOuter\":\"SalaryInterval_salaryLineOuter__MEyEl\",\"salaryLineInner\":\"SalaryInterval_salaryLineInner___-Y5_\",\"lineFiller\":\"SalaryInterval_lineFiller__2UHbK\",\"midLine\":\"SalaryInterval_midLine__37-vb\",\"percentileBound\":\"SalaryInterval_percentileBound__2ShBu\",\"yourSalary\":\"SalaryInterval_yourSalary__2wm_W\",\"yourSalaryCircle\":\"SalaryInterval_yourSalaryCircle__1JtPD\",\"midLineExplain\":\"SalaryInterval_midLineExplain__1nqGc\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main\":\"PageSimple_main__3FJUY\",\"mainContent\":\"PageSimple_mainContent__2IT-s\",\"innerContainerSlim\":\"PageSimple_innerContainerSlim__1mwRJ\",\"optionCard\":\"PageSimple_optionCard__2qJgV\",\"cardSymbol\":\"PageSimple_cardSymbol__1tp_-\",\"advancedOption\":\"PageSimple_advancedOption__26fH6\",\"errorText\":\"PageSimple_errorText__27nEf\",\"loaderAnimation\":\"PageSimple_loaderAnimation__2zKtE\",\"topNav\":\"PageSimple_topNav__3OJW-\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"accordionWrapper\":\"Accordion_accordionWrapper__FXgJn\",\"isStacked\":\"Accordion_isStacked__3t43v\",\"heading\":\"Accordion_heading__3LsK0\",\"accordion\":\"Accordion_accordion__g4Rvb\",\"open\":\"Accordion_open__SO6_q\",\"disabled\":\"Accordion_disabled__2GyU3\",\"isSlim\":\"Accordion_isSlim__2-dyw\",\"hasBorder\":\"Accordion_hasBorder__3_aL3\",\"hasBoxShadow\":\"Accordion_hasBoxShadow__2OrHo\",\"hasMarginBottom\":\"Accordion_hasMarginBottom__oTIbZ\",\"accordionContent\":\"Accordion_accordionContent__r_50X\",\"explanationItem\":\"Accordion_explanationItem__2XEgG\",\"loaderContainer\":\"Accordion_loaderContainer__3OF5M\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"SalaryTable_container__1JQAh\",\"tableContainer\":\"SalaryTable_tableContainer__1WP4_\",\"tabRow\":\"SalaryTable_tabRow__25YLv\",\"table\":\"SalaryTable_table__38GgZ\",\"sticky\":\"SalaryTable_sticky__rZDYa\",\"center\":\"SalaryTable_center__36DWu\",\"bottomRowPrint\":\"SalaryTable_bottomRowPrint__37rBA\",\"tableWrapperPrint\":\"SalaryTable_tableWrapperPrint__3Gw4R\",\"tablefoot\":\"SalaryTable_tablefoot__2Mcec\"};","module.exports = __webpack_public_path__ + \"static/media/person.022ff959.svg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modaldarkBG\":\"Modal_modaldarkBG__22xJ7\",\"modalCentered\":\"Modal_modalCentered__2O2Cd\",\"modal\":\"Modal_modal__M3lRm\",\"modalHeader\":\"Modal_modalHeader__3pBEm\",\"modalHeading\":\"Modal_modalHeading__2UKdN\",\"modalBody\":\"Modal_modalBody__2aZg0\",\"modalMessage\":\"Modal_modalMessage__VXwXa\",\"modalContent\":\"Modal_modalContent__20HcO\",\"modalButtons\":\"Modal_modalButtons__2qZpF\",\"modalactionsContainer\":\"Modal_modalactionsContainer__38GUg\",\"modalBtn\":\"Modal_modalBtn__2xONK\",\"modalButton\":\"Modal_modalButton__2csEb\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"headerElement\":\"Header_headerElement__2MZ1L\",\"headerInner\":\"Header_headerInner__aGDS1\",\"headerContent\":\"Header_headerContent__1jPeU\",\"subMain\":\"Header_subMain__25k07\",\"headerLogotype\":\"Header_headerLogotype__3Atxc\",\"bannerCurveBackground\":\"Header_bannerCurveBackground__4ims_\",\"bannerDropshadow\":\"Header_bannerDropshadow__3vp1H\",\"bannerClippath\":\"Header_bannerClippath__3U114\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"customCheckbox\":\"Checkbox_customCheckbox__2Tfre\",\"loading\":\"Checkbox_loading__1-CMp\",\"disabled\":\"Checkbox_disabled__1gs8v\",\"checkmarkWrapper\":\"Checkbox_checkmarkWrapper__3Cs04\",\"customCheckmark\":\"Checkbox_customCheckmark__QbHpA\",\"primary\":\"Checkbox_primary__17P3T\",\"secondary\":\"Checkbox_secondary__46Rm3\",\"optionTextWrapper\":\"Checkbox_optionTextWrapper__4MM0L\",\"optionName\":\"Checkbox_optionName__joUkc\",\"filterCount\":\"Checkbox_filterCount__WDRNV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"selectBox\":\"Select_selectBox__1w2-g\",\"selectLabel\":\"Select_selectLabel__12i-L\",\"isShaded\":\"Select_isShaded__UrRzq\",\"hasMarginBottom\":\"Select_hasMarginBottom__1OjSq\",\"selectWrapper\":\"Select_selectWrapper__b3lYy\",\"disabled\":\"Select_disabled__gsMKD\",\"isCompact\":\"Select_isCompact__3xQAz\",\"loaderWrapper\":\"Select_loaderWrapper__322Sf\",\"selectLoader\":\"Select_selectLoader__28B9w\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dataSource\":\"DataSource_dataSource__3uHGV\",\"dataSourceHeading\":\"DataSource_dataSourceHeading__noGyE\",\"dataSourceSelection\":\"DataSource_dataSourceSelection__3msO5\",\"dataSourcesActive\":\"DataSource_dataSourcesActive__3vDaM\",\"toggleBtn\":\"DataSource_toggleBtn__3Ohgu\",\"indicatorSymbol\":\"DataSource_indicatorSymbol__QeRh3\",\"infoLink\":\"DataSource_infoLink__2K8OH\",\"print\":\"DataSource_print__15kZ_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loginContainer\":\"PageLogin_loginContainer__vYVx2\",\"main\":\"PageLogin_main__2nHdf\",\"loginOptions\":\"PageLogin_loginOptions__MWGB_\",\"loginForm\":\"PageLogin_loginForm__3ROZ6\",\"unionLink\":\"PageLogin_unionLink__18HBw\",\"loginButton\":\"PageLogin_loginButton__17Et4\",\"loginUnion\":\"PageLogin_loginUnion__2NHKX\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"selectLabel\":\"SelectPreview_selectLabel__1o5yl\",\"isShaded\":\"SelectPreview_isShaded__11UOB\",\"selectBox\":\"SelectPreview_selectBox__3InfT\",\"hasMarginBottom\":\"SelectPreview_hasMarginBottom__1c3zu\",\"selectWrapper\":\"SelectPreview_selectWrapper__20bW2\",\"disabled\":\"SelectPreview_disabled__261nK\",\"isCompact\":\"SelectPreview_isCompact__3v5gQ\",\"loaderWrapper\":\"SelectPreview_loaderWrapper__FOSwd\",\"selectLoader\":\"SelectPreview_selectLoader__8pYhq\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"selectLabel\":\"SelectParentalLeaveSpin_selectLabel__3m3Dd\",\"isShaded\":\"SelectParentalLeaveSpin_isShaded__xZZGb\",\"selectBox\":\"SelectParentalLeaveSpin_selectBox__16SOz\",\"hasMarginBottom\":\"SelectParentalLeaveSpin_hasMarginBottom__n5yb2\",\"selectWrapper\":\"SelectParentalLeaveSpin_selectWrapper__3jhIG\",\"disabled\":\"SelectParentalLeaveSpin_disabled__18SLm\",\"isCompact\":\"SelectParentalLeaveSpin_isCompact__2gqqn\",\"loaderWrapper\":\"SelectParentalLeaveSpin_loaderWrapper__3JjdF\",\"selectLoader\":\"SelectParentalLeaveSpin_selectLoader__2-O7R\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menuButtonContainer\":\"Menu_menuButtonContainer__2XuZP\",\"menuButton\":\"Menu_menuButton__1xLEw\",\"menuOptions\":\"Menu_menuOptions__10brT\",\"optionBtn\":\"Menu_optionBtn__3M2VQ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"disableMenuselection\":\"FilterList_disableMenuselection__39db1\",\"showAllFilterWrapper\":\"FilterList_showAllFilterWrapper__4uZK7\",\"showAllFilters\":\"FilterList_showAllFilters__3l9Tz\",\"filterScrollArea\":\"FilterList_filterScrollArea__XL8bn\",\"mobileEmpty\":\"FilterList_mobileEmpty__1Hf-n\",\"filterListPadding\":\"FilterList_filterListPadding__CvlS2\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"salaryMarker\":\"SalaryMarker_salaryMarker__LpXcF\",\"input\":\"SalaryMarker_input__317yQ\",\"infoLabelWrapper\":\"SalaryMarker_infoLabelWrapper__2wYF8\",\"information\":\"SalaryMarker_information__1smwA\",\"label\":\"SalaryMarker_label__1DH3M\",\"icon\":\"SalaryMarker_icon__n9cC-\",\"tooltip\":\"SalaryMarker_tooltip__1VZKK\",\"tooltipText\":\"SalaryMarker_tooltipText__2aZiA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"selectBox\":\"FilterExplanationNoText_selectBox__oapTu\",\"loadingContainer\":\"FilterExplanationNoText_loadingContainer__1dj7A\",\"searchArea\":\"FilterExplanationNoText_searchArea__1563z\",\"searchInput\":\"FilterExplanationNoText_searchInput__1SJBK\",\"missingFilterExplanations\":\"FilterExplanationNoText_missingFilterExplanations__2WNUj\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"logTools\":\"ApplicationLog_logTools__3Q6iF\",\"loaderAnimation\":\"ApplicationLog_loaderAnimation__xdTKU\",\"logPanel\":\"ApplicationLog_logPanel__1Qbih\",\"errorText\":\"ApplicationLog_errorText__1V7qk\",\"panelFooter\":\"ApplicationLog_panelFooter__3szvJ\",\"pageIndicator\":\"ApplicationLog_pageIndicator__2eeF4\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"pageAdmin\":\"PageAdmin_pageAdmin__93x7u\",\"adminH1\":\"PageAdmin_adminH1__22hJq\",\"forbundSelectWrapper\":\"PageAdmin_forbundSelectWrapper__35qSs\",\"mainContent\":\"PageAdmin_mainContent__1QbpN\",\"navHeader\":\"PageAdmin_navHeader__13J_D\",\"toolBar\":\"PageAdmin_toolBar__1V2B8\",\"navButton\":\"PageAdmin_navButton__RROnd\",\"adminHeading\":\"PageAdmin_adminHeading__2x98v\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main\":\"CopyConfiguration_main__3FGzK\",\"mainContent\":\"CopyConfiguration_mainContent__fx_iR\",\"innerContainerSlim\":\"CopyConfiguration_innerContainerSlim__1UuMC\",\"optionCard\":\"CopyConfiguration_optionCard__EDWZW\",\"cardSymbol\":\"CopyConfiguration_cardSymbol__3MnZA\",\"advancedOption\":\"CopyConfiguration_advancedOption__51tM8\",\"errorText\":\"CopyConfiguration_errorText__1TdWz\",\"loaderAnimation\":\"CopyConfiguration_loaderAnimation__2pV89\",\"topNav\":\"CopyConfiguration_topNav__2IcAh\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"CareerspinContainer\":\"Careerspin_CareerspinContainer__2vHL2\",\"Input\":\"Careerspin_Input__9qAUf\",\"transparentArrowBottom\":\"Careerspin_transparentArrowBottom__29pYH\",\"transparentArrow\":\"Careerspin_transparentArrow__1zmzx\",\"link\":\"Careerspin_link__3mCho\",\"spinContainer\":\"Careerspin_spinContainer__c5jOP\",\"textContent\":\"Careerspin_textContent__3ILk2\",\"selectContainer\":\"Careerspin_selectContainer__lb_Nn\",\"salary_module_container\":\"Careerspin_salary_module_container__2u1J2\",\"helpIcon\":\"Careerspin_helpIcon__20H19\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"activeFilters\":\"ActiveSelections_activeFilters__1Gvqb\",\"activeFiltersHeading\":\"ActiveSelections_activeFiltersHeading__2SHVX\",\"filterName\":\"ActiveSelections_filterName__1qrmG\",\"optionName\":\"ActiveSelections_optionName__Abd3K\",\"filterButtonWrapper\":\"ActiveSelections_filterButtonWrapper__37RSi\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main\":\"PageErrorBoundary_main__1WSr9\",\"header\":\"PageErrorBoundary_header__m4C0W\",\"text\":\"PageErrorBoundary_text__3S2I8\",\"link\":\"PageErrorBoundary_link__3pJIR\",\"reloadBtn\":\"PageErrorBoundary_reloadBtn__27jW7\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"buttonLink\":\"ButtonLink_buttonLink__1UpTx\",\"buttonIcon\":\"ButtonLink_buttonIcon__3-yts\",\"buttonText\":\"ButtonLink_buttonText__6qXC0\",\"isLarge\":\"ButtonLink_isLarge__374f-\",\"isMenuItem\":\"ButtonLink_isMenuItem__3k5qz\",\"isLastChild\":\"ButtonLink_isLastChild__24E7U\",\"isAccordionItem\":\"ButtonLink_isAccordionItem__3rl2w\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"statisticsometer\":\"Statisticsometer_statisticsometer__3tdXl\",\"hasMarginBottom\":\"Statisticsometer_hasMarginBottom__3zTs7\",\"meter\":\"Statisticsometer_meter__2lILR\",\"full\":\"Statisticsometer_full__2_wYn\",\"overview\":\"Statisticsometer_overview__2O0WS\",\"advanced\":\"Statisticsometer_advanced__1s4Td\",\"statisticsText\":\"Statisticsometer_statisticsText__HwRA_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main\":\"PageAdvanced_main__3nLTQ\",\"mainSection\":\"PageAdvanced_mainSection__2PaY0\",\"innerContainerFull\":\"PageAdvanced_innerContainerFull__XiKn1\",\"subSectionLeft\":\"PageAdvanced_subSectionLeft__XfJlf\",\"subSectionRight\":\"PageAdvanced_subSectionRight__3W5tS\",\"subSectionContent\":\"PageAdvanced_subSectionContent__1eWw3\",\"reportSettings\":\"PageAdvanced_reportSettings__1nOOM\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"Button_button__3Invw\",\"buttonIcon\":\"Button_buttonIcon__2XW3i\",\"hasText\":\"Button_hasText__1ilPf\",\"buttonText\":\"Button_buttonText__3_NxL\",\"hasIcon\":\"Button_hasIcon__3G1xq\",\"flipIcon\":\"Button_flipIcon__3WVZK\",\"primary\":\"Button_primary__3fj8r\",\"secondary\":\"Button_secondary__2qPG3\",\"ghost\":\"Button_ghost__2KFxn\",\"delete\":\"Button_delete__1iuWi\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"configTable\":\"SortableList_configTable__ENbbr\",\"center\":\"SortableList_center__343v0\",\"radioLabel\":\"SortableList_radioLabel__2emWn\",\"disabled\":\"SortableList_disabled__2X9MM\",\"configItem\":\"SortableList_configItem__3bL86\",\"optionsList\":\"SortableList_optionsList__m72xA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"sourceSelectContainer\":\"DataSourceConfig_sourceSelectContainer__3JbEf\",\"tabRow\":\"DataSourceConfig_tabRow__QDJWV\",\"loaderContainer\":\"DataSourceConfig_loaderContainer__9sqDl\",\"shown\":\"DataSourceConfig_shown__2QUno\",\"hidden\":\"DataSourceConfig_hidden__2qmSq\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"logItem\":\"LogItem_logItem__27IHA\",\"logRow\":\"LogItem_logRow__23Iug\",\"logChevron\":\"LogItem_logChevron__2puqC\",\"extraInfo\":\"LogItem_extraInfo__1nClG\",\"copyButton\":\"LogItem_copyButton__IbtM_\",\"Information\":\"LogItem_Information__3v7oM\",\"Warning\":\"LogItem_Warning__1b16p\",\"Error\":\"LogItem_Error__3sd8Z\",\"timeStamp\":\"LogItem_timeStamp__3Eq77\",\"buttonRow\":\"LogItem_buttonRow__3DrBN\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"logItem\":\"LogItem_logItem__o0LA_\",\"logRow\":\"LogItem_logRow__3jJG9\",\"logChevron\":\"LogItem_logChevron__3Yn9Q\",\"extraInfo\":\"LogItem_extraInfo__LVLhm\",\"copyButton\":\"LogItem_copyButton__2dGgt\",\"Information\":\"LogItem_Information__31vK5\",\"Warning\":\"LogItem_Warning__2NoGK\",\"Error\":\"LogItem_Error__7ZlmA\",\"timeStamp\":\"LogItem_timeStamp__3gCwz\",\"buttonRow\":\"LogItem_buttonRow__1-VmU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"statusBox\":\"StatusBox_statusBox__3hVg_\",\"loaderAnimation\":\"StatusBox_loaderAnimation__1QM5X\",\"loaderWrapper\":\"StatusBox_loaderWrapper__A-ZzQ\",\"selectLoader\":\"StatusBox_selectLoader__2ddd3\",\"ul\":\"StatusBox_ul__1qjNx\",\"userFilters\":\"StatusBox_userFilters__3kfVz\",\"filterHeading\":\"StatusBox_filterHeading__wt0VM\",\"indicatorSymbol\":\"StatusBox_indicatorSymbol__3xvQ8\",\"resetFiltersBtn\":\"StatusBox_resetFiltersBtn__3lN3p\",\"disableMenuselection\":\"StatusBox_disableMenuselection__26n6q\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"rowContainer\":\"NotificationRow_rowContainer__ZhNHx\",\"header\":\"NotificationRow_header__1iBZw\",\"source\":\"NotificationRow_source__20zeF\",\"textTitle\":\"NotificationRow_textTitle__2RUO6\",\"bottomWrapper\":\"NotificationRow_bottomWrapper__bo2dn\",\"buttonContainer\":\"NotificationRow_buttonContainer__2fHfp\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main\":\"Footer_main__1W_j6\",\"innerContainerFull\":\"Footer_innerContainerFull__1ZzPw\",\"mainSection\":\"Footer_mainSection__o48DQ\",\"subSection\":\"Footer_subSection__2zuAD\",\"subSectionContent\":\"Footer_subSectionContent__6UciD\",\"logo\":\"Footer_logo__1bFOo\",\"sacoLink\":\"Footer_sacoLink__PdbKf\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main\":\"PageStart_main__2DOeM\",\"innerContainer\":\"PageStart_innerContainer__2ydSJ\",\"optionContainer\":\"PageStart_optionContainer__E5ku2\",\"aboutClippath\":\"PageStart_aboutClippath__IpFnG\",\"aboutCurveBackground\":\"PageStart_aboutCurveBackground__ksM8S\",\"aboutDropshadow\":\"PageStart_aboutDropshadow__3_Amq\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"inputWrapper\":\"Input_inputWrapper__3aeCw\",\"inputLabel\":\"Input_inputLabel__1EygG\",\"displayInline\":\"Input_displayInline__TE-rY\",\"input\":\"Input_input__3n7Rb\",\"number\":\"Input_number__1YDCe\",\"text\":\"Input_text__1z4y9\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"activeFilters\":\"ActiveFilters_activeFilters__1cruB\",\"activeFiltersHeading\":\"ActiveFilters_activeFiltersHeading__WRKin\",\"filterName\":\"ActiveFilters_filterName__ZYBRD\",\"optionName\":\"ActiveFilters_optionName__1K3jK\",\"filterButtonWrapper\":\"ActiveFilters_filterButtonWrapper__1_CBJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"logTools\":\"MonitoringLog_logTools__18cCm\",\"loaderAnimation\":\"MonitoringLog_loaderAnimation__HWAeU\",\"logPanel\":\"MonitoringLog_logPanel__3uiVy\",\"errorText\":\"MonitoringLog_errorText__3HQvQ\",\"panelFooter\":\"MonitoringLog_panelFooter__-gein\",\"pageIndicator\":\"MonitoringLog_pageIndicator__mPQho\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"analysisCard\":\"AnalysisCard_analysisCard__2R2Jg\",\"continueLink\":\"AnalysisCard_continueLink__3F5np\",\"cardSymbol\":\"AnalysisCard_cardSymbol__5GQMZ\",\"simpleOption\":\"AnalysisCard_simpleOption__2it-v\",\"advancedOption\":\"AnalysisCard_advancedOption__24gvd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"selectionCard\":\"SelectionCard_selectionCard__1YZqL\",\"loading\":\"SelectionCard_loading__1Een1\",\"disabled\":\"SelectionCard_disabled__yItux\",\"selected\":\"SelectionCard_selected__3mJrA\",\"inputContainer\":\"SelectionCard_inputContainer__3a-7t\",\"selectionCardContent\":\"SelectionCard_selectionCardContent__2H66C\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"regularPanel\":\"Panel_regularPanel__3VmfW\",\"isAdmin\":\"Panel_isAdmin__15XEg\",\"panelFieldset\":\"Panel_panelFieldset__1rZLD\",\"panelLegend\":\"Panel_panelLegend__1AQPQ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loaderAnimation\":\"Accounts_loaderAnimation__1htrQ\",\"filter\":\"Accounts_filter__1CIXZ\",\"accountTable\":\"Accounts_accountTable__du2i0\",\"table\":\"Accounts_table__33HM8\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"navigationItem\":\"NavigationItem_navigationItem__1Knke\",\"isActive\":\"NavigationItem_isActive__1P58Z\",\"activeIcon\":\"NavigationItem_activeIcon__OVI-X\",\"isHidden\":\"NavigationItem_isHidden__1A5ho\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tabRow\":\"CopyConfiguration_tabRow__3gUch\",\"loaderAnimation\":\"CopyConfiguration_loaderAnimation__1XwqJ\",\"helpLink\":\"CopyConfiguration_helpLink__1AqdG\",\"ul\":\"CopyConfiguration_ul__3ooJp\",\"li\":\"CopyConfiguration_li__1uQI2\",\"userFilters\":\"CopyConfiguration_userFilters__QvSVb\",\"filterHeading\":\"CopyConfiguration_filterHeading__20Ux0\",\"indicatorSymbol\":\"CopyConfiguration_indicatorSymbol__2iTho\",\"resetFiltersBtn\":\"CopyConfiguration_resetFiltersBtn__1iHoC\",\"disableMenuselection\":\"CopyConfiguration_disableMenuselection__2ktn8\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"LoginInfo_container__1oNgG\",\"header\":\"LoginInfo_header__2rSxx\",\"text\":\"LoginInfo_text__3Ni-D\",\"link\":\"LoginInfo_link__ftR-K\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"ButtonGroup_container__2JOCO\",\"active\":\"ButtonGroup_active__2CVa2\",\"customButton\":\"ButtonGroup_customButton__RFnZk\",\"firstButton\":\"ButtonGroup_firstButton__2Dsgr\",\"lastButton\":\"ButtonGroup_lastButton__3U5Y6\",\"textcolorWhite\":\"ButtonGroup_textcolorWhite__24Ax5\"};","module.exports = __webpack_public_path__ + \"static/media/barchart.68f1fa3d.svg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"buttonActiveFilter\":\"ButtonActiveFilter_buttonActiveFilter__3B97Z\",\"buttonIcon\":\"ButtonActiveFilter_buttonIcon__2o-LI\",\"buttonText\":\"ButtonActiveFilter_buttonText__30xWm\",\"isLarge\":\"ButtonActiveFilter_isLarge__3G_Ce\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main\":\"CheckboxSelectGroup_main__wTffo\",\"header\":\"CheckboxSelectGroup_header__1G-CY\",\"mobileEmpty\":\"CheckboxSelectGroup_mobileEmpty__1FsGq\",\"greyed\":\"CheckboxSelectGroup_greyed__3lsI0\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"resetFiltersBtn\":\"SalaryProfile_resetFiltersBtn__2Sxzt\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"userFilters\":\"Filters_userFilters___R6wN\",\"filterHeading\":\"Filters_filterHeading__1z8ki\",\"indicatorSymbol\":\"Filters_indicatorSymbol__1b6cj\",\"resetFiltersBtn\":\"Filters_resetFiltersBtn__1lCZS\",\"disableMenuselection\":\"Filters_disableMenuselection__3MH4D\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"inputReadOnly\":\"InputReadOnly_inputReadOnly__xNh7a\",\"inputLabel\":\"InputReadOnly_inputLabel__3vxKX\",\"textField\":\"InputReadOnly_textField__1nvI5\",\"useHyphens\":\"InputReadOnly_useHyphens__3EOce\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"situationCard\":\"SituationCard_situationCard__1PolS\",\"situationCardInner\":\"SituationCard_situationCardInner__5NeUO\",\"situationDescription\":\"SituationCard_situationDescription__3w4WL\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"linkItem\":\"LinksConfig_linkItem__8rxta\",\"linkLabel\":\"LinksConfig_linkLabel__TEDkw\",\"loaderAnimation\":\"LinksConfig_loaderAnimation__dtnm_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"situationCard\":\"PreviewDataSourceCard_situationCard__1-7Ft\",\"situationCardInner\":\"PreviewDataSourceCard_situationCardInner__1a_oz\",\"situationDescription\":\"PreviewDataSourceCard_situationDescription__wqYJT\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main\":\"FilterExplanations_main__2XM4Q\",\"searchContainer\":\"FilterExplanations_searchContainer__3c7z-\",\"filterTextList\":\"FilterExplanations_filterTextList__2vzEj\",\"filterTextsMissing\":\"FilterExplanations_filterTextsMissing__2mER1\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main\":\"Logout_main__1hPFO\",\"header\":\"Logout_header__1-aPH\",\"text\":\"Logout_text__2ivjb\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"breadcrumb\":\"BreadcrumbsItem_breadcrumb__8zZOr\",\"breadcrumbInactive\":\"BreadcrumbsItem_breadcrumbInactive__1SBOc\",\"breadcrumbActive\":\"BreadcrumbsItem_breadcrumbActive__2zqF3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"sectionElement\":\"Section_sectionElement__3knBJ\",\"isDashed\":\"Section_isDashed__1ODy6\",\"sectionHeading\":\"Section_sectionHeading__3OFYk\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"RadioButton_container__394dx\",\"icon\":\"RadioButton_icon__2Q7cP\",\"checkmarkWrapper\":\"RadioButton_checkmarkWrapper__2edM1\",\"customCheckmark\":\"RadioButton_customCheckmark__2XIRn\",\"loading\":\"RadioButton_loading__v7jAg\",\"disabled\":\"RadioButton_disabled__1B0Hj\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"subSection\":\"Situation_subSection__2-CEF\",\"subSectionTitle\":\"Situation_subSectionTitle__35mM9\",\"subSectionContent\":\"Situation_subSectionContent__16-c_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"downloadSection\":\"DownloadSection_downloadSection__3eDUQ\",\"downloadOptions\":\"DownloadSection_downloadOptions__1SMRS\",\"optionBtn\":\"DownloadSection_optionBtn__3cjG4\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"reportSection\":\"ReportSection_reportSection__1ZPDQ\",\"noData\":\"ReportSection_noData__1J6tX\",\"loader\":\"ReportSection_loader__i0o57\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tab\":\"Tab_tab__3zNqX\",\"active\":\"Tab_active__1QnzX\",\"passive\":\"Tab_passive__2LUj2\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"helpSection\":\"Explanations_helpSection__1XWU3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"customPresentation\":\"CustomPresentation_customPresentation__1vRvU\",\"customPresFlex\":\"CustomPresentation_customPresFlex__2NPKO\",\"customPresentationHeading\":\"CustomPresentation_customPresentationHeading__jNFm4\",\"customPresentationSelection\":\"CustomPresentation_customPresentationSelection__3TrGh\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"buttonBar\":\"ButtonBar_buttonBar__3GhT7\",\"prevNext\":\"ButtonBar_prevNext__aZHd-\",\"hasMarginBottom\":\"ButtonBar_hasMarginBottom__1qZLS\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"checkboxAdmin\":\"CheckboxAdmin_checkboxAdmin__3yrh-\",\"labelText\":\"CheckboxAdmin_labelText__29IFa\",\"disabled\":\"CheckboxAdmin_disabled__2mxP3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"linksCard\":\"LinkCard_linksCard__2g6kf\",\"linkBox\":\"LinkCard_linkBox__3Adff\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tabRow\":\"Level2Simple_tabRow__X-5QI\",\"loaderAnimation\":\"Level2Simple_loaderAnimation__21Z04\",\"helpLink\":\"Level2Simple_helpLink__qSQrd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"sectionAdmin\":\"SectionAdmin_sectionAdmin__1QXYj\",\"sectionHeading\":\"SectionAdmin_sectionHeading__2G-Q8\",\"sectionContent\":\"SectionAdmin_sectionContent__rtqOJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tabRow\":\"PreviewConfig_tabRow__1Dblu\",\"loaderAnimation\":\"PreviewConfig_loaderAnimation__2vdTf\",\"helpLink\":\"PreviewConfig_helpLink__1777N\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"defaultText\":\"FilterExplanationItem_defaultText__3AFZ4\",\"optionRow\":\"FilterExplanationItem_optionRow__3KKSF\",\"optionsList\":\"FilterExplanationItem_optionsList__3RtFh\",\"subHeader\":\"FilterExplanationItem_subHeader__WaE0x\",\"itemHeading\":\"FilterExplanationItem_itemHeading__2Eeki\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"defaultText\":\"GeneralTextItem_defaultText__mf969\",\"optionsList\":\"GeneralTextItem_optionsList__32h_Y\",\"label\":\"GeneralTextItem_label__3MxY8\",\"defaultOption\":\"GeneralTextItem_defaultOption__2SWGF\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"UnemploymentspinTab\":\"UnemploymentspinTab_UnemploymentspinTab__3q-8w\",\"UnemploymentspinTabActive\":\"UnemploymentspinTab_UnemploymentspinTabActive__2fGYv\",\"UnemploymentspinTabPassive\":\"UnemploymentspinTab_UnemploymentspinTabPassive__d6i5e\",\"icon\":\"UnemploymentspinTab_icon__l1ZXB\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main\":\"Banner_main__310xB\",\"innerContainerFull\":\"Banner_innerContainerFull__3AccF\",\"banner\":\"Banner_banner__5NfI4\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"contentContainer\":\"App_contentContainer__1Uo_h\",\"scaledContent\":\"App_scaledContent__1oDUI\",\"formWrapperAHalf\":\"App_formWrapperAHalf__3RCzp\",\"LonesokFlexBox\":\"App_LonesokFlexBox__16fJg\",\"LonesokFlexCol\":\"App_LonesokFlexCol__sgWbO\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"aboutWrapper\":\"About_aboutWrapper__35CBs\",\"aboutInnerWrapper\":\"About_aboutInnerWrapper__1-P7c\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"policyWrapper\":\"PrivacyPolicy_policyWrapper__3zjNl\",\"policyInnerWrapper\":\"PrivacyPolicy_policyInnerWrapper__jaWX7\",\"policySection\":\"PrivacyPolicy_policySection__RMstU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"salaryAnalysis\":\"SalaryAnalysis_salaryAnalysis__1xM1D\",\"externalLink\":\"SalaryAnalysis_externalLink__2Xdg3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"selectedSalary\":\"SalarySlider_selectedSalary__16iWr\",\"number\":\"SalarySlider_number__23Wy8\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loader\":\"Loader_loader__3rSjE\",\"isSmall\":\"Loader_isSmall__x6W6B\",\"loaderSmall\":\"Loader_loaderSmall__1SCrt\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Notification_container__3pfRZ\",\"notification\":\"Notification_notification__2t3DA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"ErrorNotification_container__3-88k\",\"notification\":\"ErrorNotification_notification__2TQ7a\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"toolBar\":\"ToolBar_toolBar__1oGqX\",\"menuItem\":\"ToolBar_menuItem__Gw0UI\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"filterItem\":\"FilterItem_filterItem__3AyQR\",\"greyed\":\"FilterItem_greyed__1Y1Ab\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"summary\":\"DataSourceSummary_summary__3iFfU\",\"print\":\"DataSourceSummary_print__Vk-Dp\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"salaryGraph\":\"SalaryGraph_salaryGraph__2BSlv\",\"salaryMarkerWrapper\":\"SalaryGraph_salaryMarkerWrapper__2Y0Iy\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"explanationItem\":\"ExplanationItem_explanationItem__2QFNS\",\"image\":\"ExplanationItem_image__2fUFi\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"instructionsVideo\":\"InstructionsVideo_instructionsVideo__ywMoV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"inputWrapper\":\"Textarea_inputWrapper__2gUp1\",\"label\":\"Textarea_label__3Fmhv\",\"input\":\"Textarea_input__2-OC4\",\"number\":\"Textarea_number__2ivDT\",\"text\":\"Textarea_text__18aWr\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main\":\"SalaryProfileConfig_main__1ZWuG\",\"wrapForm\":\"SalaryProfileConfig_wrapForm__oy3vb\",\"selectionRow\":\"SalaryProfileConfig_selectionRow__2AC4X\",\"subSection\":\"SalaryProfileConfig_subSection__1JR1L\",\"arrowButton\":\"SalaryProfileConfig_arrowButton__1gl3p\",\"saveSection\":\"SalaryProfileConfig_saveSection__3VCOd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"LoadConfiguration_container__2huKk\",\"isLoading\":\"LoadConfiguration_isLoading__18Abo\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main\":\"PreviewSalaryProfileConfig_main__12n-k\",\"wrapForm\":\"PreviewSalaryProfileConfig_wrapForm__3SoDV\",\"selectionRow\":\"PreviewSalaryProfileConfig_selectionRow__2uRR7\",\"subSection\":\"PreviewSalaryProfileConfig_subSection__3qoDt\",\"arrowButton\":\"PreviewSalaryProfileConfig_arrowButton__15RZ-\",\"saveSection\":\"PreviewSalaryProfileConfig_saveSection__33Sx_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"grid\":\"FilterExplanationEdit_grid__19w5L\",\"subHeader\":\"FilterExplanationEdit_subHeader__11ki5\",\"left\":\"FilterExplanationEdit_left__lFW8-\"};","module.exports = __webpack_public_path__ + \"static/media/list.377c4959.svg\";","module.exports = __webpack_public_path__ + \"static/media/marker.11721695.svg\";","module.exports = __webpack_public_path__ + \"static/media/circle.7f9efd15.svg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"slider\":\"Slider_slider__24xEK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"unionLink\":\"UnionLink_unionLink__3iWys\"};","module.exports = __webpack_public_path__ + \"static/media/saco-lonesok_logotype.62c120b2.svg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"subHeader\":\"ExplanationText_subHeader__faPHq\",\"explanationText\":\"ExplanationText_explanationText__20Ch0\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"buttonTransparent\":\"ButtonTransparent_buttonTransparent__2DTKz\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"breadcrumbs\":\"Breadcrumbs_breadcrumbs__3tNdo\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"externalLink\":\"ExternalLink_externalLink__2zGpw\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"slider\":\"Slider_slider__V2rIE\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"optionBtn\":\"DownloadExcel_optionBtn__2VAAY\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"presentation\":\"Presentation_presentation__1kR40\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tabRow\":\"TabRow_tabRow__3Asy0\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"chart\":\"Chart_chart__Ee-8A\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loaderContainer\":\"ExplanationGroup_loaderContainer__CAAXD\"};","module.exports = __webpack_public_path__ + \"static/media/box_plot_image.bbb9e520.png\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"helpBox\":\"HelpBox_helpBox__2rCW5\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loaderAnimation\":\"Level3Advanced_loaderAnimation__2RiaU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"grid\":\"StandardConfig_grid__CXOZf\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"helpBox\":\"HelpBox_helpBox__3ESs6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"admin\":\"AccountRow_admin__2XNG7\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loaderAnimation\":\"CreateAccount_loaderAnimation__VWmOF\",\"createAccountHeader\":\"CreateAccount_createAccountHeader__3oQ2P\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tabRow\":\"DataSource_tabRow__9NaLw\",\"loaderAnimation\":\"DataSource_loaderAnimation__1OYpr\",\"helpLink\":\"DataSource_helpLink__HXAac\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tabRow\":\"UnionSelect_tabRow__3fKSc\",\"loaderAnimation\":\"UnionSelect_loaderAnimation__iyRwJ\",\"helpLink\":\"UnionSelect_helpLink__3BKPi\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"helpBox\":\"HelpBox_helpBox__1tuqD\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"AddNotification_container__3m8Le\",\"textInput\":\"AddNotification_textInput__3_iST\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main\":\"Page404_main__2PLo0\"};","module.exports = __webpack_public_path__ + \"static/media/flowchart_token-authentication.cf7b52b4.svg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"PreviewLab_container__iMb5s\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"slider\":\"Slider_slider__3M_eE\"};","module.exports = __webpack_public_path__ + \"static/media/crowns.29ba5305.svg\";","module.exports = __webpack_public_path__ + \"static/media/unemployment.13e1a247.svg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"filterExplanationCreate\":\"FilterExplanationCreate_filterExplanationCreate__1iKY2\",\"filterExplanationHeading\":\"FilterExplanationCreate_filterExplanationHeading__38ZfB\",\"textArea\":\"FilterExplanationCreate_textArea__30FLZ\"};","module.exports = __webpack_public_path__ + \"static/media/download.630dd89e.svg\";","module.exports = __webpack_public_path__ + \"static/media/arrow2.055e1e65.svg\";","import React, { Component } from 'react';\nimport { withRouter } from 'react-router-dom';\nimport styles from './PageErrorBoundary.module.css';\n\nclass PageErrorBoundary extends Component {\n state = { hasError: false, error: '' };\n\n static getDerivedStateFromError(error) {\n return { hasError: true, error };\n }\n\n render() {\n if (this.state.hasError) {\n return (\n
\n

Ånej! Saco Lönesök fungerar inte.

\n\n

\n Tyvärr verkar det som att vår webbplats inte är tillgänglig för\n tillfället. Testa gärna igen senare, vi jobbar med problemet och\n hoppas att allt fungerar snart igen.\n

\n\n

\n Har du akuta frågor om lön eller statistik? Kontakta ditt förbund.\n

\n\n

\n Har du tekniska frågor om Lönesök på en övergripande nivå? Hör av\n dig till{' '}\n \n lonesok@saco.se\n {' '}\n och ange vilket förbund du tillhör.\n

\n\n

Tack för ditt tålamod!

\n
\n );\n }\n\n return this.props.children;\n }\n}\n\nexport default withRouter(PageErrorBoundary);\n","import AppSettings from '../appsettings.json';\n\nconst Api = () => {\n const BASE_URL = AppSettings.SERVER_URL;\n\n function handleNetworkError(res) {\n // console.log('res');\n // console.log(res);\n if (!res.ok) {\n // console.log('res.ok1');\n // console.log(res.ok);\n throw res;\n }\n // console.log('res.ok2');\n // console.log(res.ok);\n return res;\n }\n\n // TODO: Handle network errors\n // function handleNoContent(res) {\n // if (res.status === 204) {\n // throw res;\n // }\n\n // return res;\n // }\n\n function createGetRequest(page, token) {\n const req = {\n method: 'GET',\n headers: !token ? {} : { Authorization: `Bearer ${token}` },\n };\n\n return fetch(`${BASE_URL}/${page}`, req)\n .then(res => handleNetworkError(res))\n .then(res => res.json());\n }\n\n function createGetRequestWithCredentials(page, token) {\n const req = {\n method: 'GET',\n headers: !token ? {} : { Authorization: `Bearer ${token}` },\n credentials: 'include',\n };\n\n return fetch(`${BASE_URL}/${page}`, req)\n .then(res => handleNetworkError(res))\n .then(res => res.json());\n }\n\n function createDeleteRequest(page, token) {\n const req = {\n method: 'DELETE',\n headers: !token\n ? { 'Content-type': 'application/json' }\n : {\n 'Content-type': 'application/json',\n Authorization: `Bearer ${token}`,\n },\n };\n\n return fetch(`${BASE_URL}/${page}`, req)\n .then(res => handleNetworkError(res))\n .then(res => res.json());\n }\n\n function createPostRequest(page, reqData, token, returnJson = true) {\n const req = {\n method: 'POST',\n headers: !token\n ? { 'Content-type': 'application/json' }\n : {\n 'Content-type': 'application/json',\n Authorization: `Bearer ${token}`,\n },\n body: JSON.stringify(reqData),\n };\n\n return fetch(`${BASE_URL}/${page}`, req)\n .then(res => handleNetworkError(res))\n .then(res => (returnJson ? res.json() : res));\n }\n\n function createPostRequestWithCredentials(\n page,\n reqData,\n token,\n returnJson = true\n ) {\n const req = {\n method: 'POST',\n headers: !token\n ? { 'Content-type': 'application/json' }\n : {\n 'Content-type': 'application/json',\n Authorization: `Bearer ${token}`,\n },\n body: JSON.stringify(reqData),\n };\n\n return (\n fetch(`${BASE_URL}/${page}`, req)\n .then(res => handleNetworkError(res))\n // TODO: Handle network errors\n // .then(res => handleNoContent(res))\n .then(res => (returnJson ? res.json() : res))\n );\n }\n\n function createEventSource(page, messageEvent) {\n const eventSource = new EventSource(`${BASE_URL}/${page}`);\n eventSource.onmessage = e => messageEvent(e.data);\n }\n\n function createPostRequestWithToken(page, reqData, returnJson = true) {\n const { token } = reqData;\n const req = {\n method: 'POST',\n headers: {\n 'Content-type': 'application/json',\n Authorization: `Bearer ${token}`,\n },\n body: JSON.stringify(reqData),\n };\n\n return fetch(`${BASE_URL}/${page}`, req)\n .then(res => handleNetworkError(res))\n .then(res => res.json());\n }\n // API Endpoints:\n // forbund (get), fds, menuselection, metatabs, breakby, report.\n\n // DevLogin/AdminLogin\n return {\n login: data => createPostRequest('Token', data, false),\n testLogin: data => createPostRequest('Token/login', data),\n tokenLogin: data => createPostRequestWithToken('Token/session', data),\n forbundsKodLogin: data => createPostRequest('Token/forbund/session', data),\n\n // Getters\n getForbund: token =>\n createGetRequest('UnionSalaryStatistics/forbund', token),\n\n // Posts\n getFds: (data, token) =>\n createPostRequest('UnionSalaryStatistics/fds', data, token),\n\n getConfiguration: (data, token) =>\n createPostRequest('CopyConfiguration/config', data, token),\n copyConfigurationExecute: (data, token) =>\n createPostRequest('CopyConfigurationJob/execute', data, token, false),\n getActiveFds: (data, token) =>\n createPostRequest('Presentation/fds', data, token),\n getMenuselections: (data, token) =>\n createPostRequest('UnionSalaryStatistics/menuselection', data, token),\n getPreviewMenuSelection: data =>\n createPostRequest('UnionSalaryStatistics/menuselection/preview', data),\n getPreviewMenuSelections: data =>\n createPostRequest('UnionSalaryStatistics/menuselections/preview', data),\n getMetatabs: (data, token) =>\n createPostRequest('UnionSalaryStatistics/metatabs', data, token),\n getBreakby: (data, token) =>\n createPostRequest('UnionSalaryStatistics/breakby', data, token),\n getReport: (data, token) =>\n createPostRequest('UnionSalaryStatistics/lonereport', data, token),\n\n getBinstat: data =>\n createPostRequest('UnionSalaryStatistics/binstat', data),\n\n getReportExcel: (data, token) =>\n createPostRequest('File/excel', data, token, false),\n\n getUnemploymentStaticExcel: () =>\n createPostRequest('Unemployment/excel', null, null, false),\n\n getUnemploymentData: () => createPostRequest('Unemployment/data', null, null, true),\n\n sendVistitorStats: (data, token) =>\n createPostRequest('Statistic', data, token),\n\n // Admin/New endpoints\n // FIXME: Måste få bättre koll.\n getSituations: token => createGetRequest('Situation', token),\n getPreviewSituations: token =>\n createGetRequest('Situation/getPreviewSituations', token),\n createSituation: (data, token) =>\n createPostRequest('Situation', data, token),\n updateSituation: (id, data, token) =>\n createPostRequest(`Situation/${id}`, data, token),\n deleteSituation: (id, token) =>\n createDeleteRequest(`Situation/${id}`, token),\n updateSelections: (id, data, token) =>\n createPostRequest(`Situation/${id}/selections`, data, token),\n postDatasource: (id, data, token) =>\n createPostRequest(`DataSource/${id}`, data, token),\n getUnionByUnionId: unionId => createPostRequest(`Union/${unionId}`),\n getUnionByForbundsKod: forbundsKod =>\n createPostRequest(`Union/forbundskod/${forbundsKod}`),\n\n getUnion: token => createGetRequest('Union', token),\n getUnions: token => createGetRequest('Union/getall', token),\n refreshAdminToken: (data, token) =>\n createPostRequest('Token/adminrefresh', data, token),\n postConfiguredYear: (unionId, data, token) =>\n createPostRequest(`Union/${unionId}/configuration`, data, token, false),\n\n /**\n * getAll: get all texts of groupId and textId. Texts with unionId take precedence.\n * both: get all texts, both with unionId and default texts.\n */\n getTexts: (data, token) => createPostRequest('Text/getall', data, token),\n getTextsBoth: (data, token) => createPostRequest('Text/both', data, token),\n postText: (data, token) => createPostRequest('Text', data, token),\n deleteText: (id, token) => createDeleteRequest(`Text/${id}`, token),\n\n getLogs: (data, token) => createPostRequest('Log/getall', data, token),\n getMonitoringLogs: (data, token) =>\n createPostRequest('MonitoringLog/getall', data, token),\n getMonitoringLogsById: (data, token) =>\n createPostRequest('MonitoringLog/getbyid', data, token),\n getVisitorStats: (data, token) =>\n createPostRequest('Statistic/getall', data, token),\n getVisitorStatsNew: (data, token) =>\n createPostRequest('Statistic/getPeriodsStatistics', data, token),\n getUserStatistics: (data, token) =>\n createPostRequest('Statistic/getUserStatistics', data, token),\n getVisitorStatsByUnion: (data, token) =>\n createPostRequest('Statistic/sessionsbyforbund', data, token),\n getVisitorExcel: (data, token) =>\n createPostRequest('Statistic/excel', data, token, false),\n\n clearCache: token =>\n createPostRequest('UnionSalaryStatistics/clearcache', {}, token, false),\n\n // Nivå 1 endpoints.\n getSituationsFree: () => createGetRequest('Situation/public'),\n getReportFree: data =>\n createPostRequestWithCredentials(\n 'UnionSalaryStatistics/lonereport/public',\n data\n ),\n getMenuselectionsFree: data =>\n createPostRequestWithCredentials(\n 'UnionSalaryStatistics/menuselection/public',\n data\n ),\n\n createEventSource: (page, messageEvent) => {\n const eventSource = new EventSource(`${BASE_URL}/${page}`);\n eventSource.onmessage = e => messageEvent(e.data);\n },\n\n // Kontohantering admin.\n getSubscribers: token => createGetRequest('Subscriber', token),\n postSubscriber: (data, token) =>\n createPostRequest('Subscriber', data, token),\n updateAccount: (subId, data, token) =>\n createPostRequest(`Subscriber/${subId}/Roles`, data, token, false),\n updatePassword: (subId, data, token) =>\n createPostRequest(`Subscriber/${subId}/Password`, data, token, false),\n deleteSubscriber: (id, token) =>\n createDeleteRequest(`Subscriber/${id}`, token),\n // Nivå 3 config.\n getPresentations: (data, token) =>\n createPostRequest('Presentation/getall', data, token),\n postPresentations: (data, token) =>\n createPostRequest('Presentation/breakbys', data, token),\n };\n};\n\nconst ApiService = Api();\nexport default ApiService;\n","import { useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { useCookies } from 'react-cookie';\nimport ApiService from 'services/ApiService';\n\nconst MESSAGES = {\n '/': 'Start',\n '/enkel': 'Nivå 2',\n '/avancerad': 'Nivå 3',\n};\n\nconst getRandomSeconds = (low, high) =>\n (Math.floor(Math.random() * high) + low) * 1000;\n\nconst VisitorCounter = ({ path, user }) => {\n const [cookies] = useCookies(['statistics']);\n\n useEffect(() => {\n let active = true;\n const request = { message: MESSAGES[path] || path };\n\n setTimeout(() => {\n // Only send statistic data if user allowed it\n if (active && cookies.statistics === 'allow') {\n ApiService.sendVistitorStats(request, user.token).then(() => {});\n }\n }, getRandomSeconds(10, 15));\n\n return () => {\n active = false;\n };\n }, [path, user, cookies.statistics]);\n return null;\n};\n\nVisitorCounter.propTypes = {\n path: PropTypes.string.isRequired,\n user: PropTypes.shape({}).isRequired,\n};\n\nexport default VisitorCounter;\n","/* eslint-disable react/prop-types */\nimport React, { useState, useContext, createContext } from 'react';\nimport { Route, Redirect } from 'react-router-dom';\nimport VisitorCounter from 'atoms/visitorcounter/VisitorCounter';\nimport ApiService from './ApiService';\n\nconst authContext = createContext();\n\nexport const useAuth = () => {\n return useContext(authContext);\n};\n\nfunction useProvideAuth() {\n // If there's a user in localStorage, the state will set it's initial value to that on mount.\n // Or else null.\n const [user, setUser] = useState(JSON.parse(localStorage.getItem('user')));\n\n const decodeUser = usr => {\n const data = usr.token.split('.')[1];\n const decodedJsonData = window.atob(data);\n const decodedData = JSON.parse(decodedJsonData);\n\n // FIXME: Anpassa när/om role-propertyn byter namn till role.\n return {\n token: usr.token,\n forbund: decodedData.fk,\n unionId: decodedData.unionid ? decodedData.unionid : '',\n role:\n decodedData[\n 'http://schemas.microsoft.com/ws/2008/06/identity/claims/role'\n ],\n exp: decodedData.exp,\n };\n };\n\n const signout = () => {\n // FIXME: User blir 'false' när man loggar ut? Borde kanske bli undefined/null.\n setUser(false);\n localStorage.removeItem('user');\n };\n\n const signin = (subscriberId, password, forbundsKodAdmin) => {\n return ApiService.login({ subscriberId, password, forbundsKodAdmin })\n .then(usr => {\n const decodedUser = decodeUser(usr);\n setUser(decodedUser);\n localStorage.setItem('user', JSON.stringify(decodedUser));\n })\n .catch(error => {\n throw error;\n });\n };\n\n const tokenSignin = (token, browser, device) => {\n return ApiService.tokenLogin({ token, browser, device }, signout)\n .then(usr => {\n const decodedUser = decodeUser(usr);\n setUser(decodedUser);\n localStorage.setItem('user', JSON.stringify(decodedUser));\n })\n .catch(error => {\n throw error;\n });\n };\n\n const forbundSignin = (forbundsId, browser, device) => {\n return ApiService.forbundsKodLogin({ forbundsId, browser, device })\n .then(usr => {\n const decodedUser = decodeUser(usr);\n setUser(decodedUser);\n localStorage.setItem('user', JSON.stringify(decodedUser));\n })\n .catch(error => {\n throw error;\n });\n };\n\n const storeUser = usr => {\n const decodedUser = decodeUser(usr);\n setUser(decodedUser);\n localStorage.setItem('user', JSON.stringify(decodedUser));\n };\n\n const autoRefreshToken = (token, minutes = 15) => {\n if (!token || !user) return;\n\n const now = new Date();\n const soon = new Date(now.getTime() + minutes * 60000);\n\n const decodedUser = decodeUser(user);\n\n // exp value comes in a shorter format for some reason\n const expires = new Date(decodedUser?.exp * 1000);\n const expiresSoon =\n now.getTime() <= expires.getTime() && soon.getTime() > expires.getTime();\n\n if (!expiresSoon) return;\n\n // use custom admin refresh endpoint, use current forbund\n if (user.role === 'admin') {\n ApiService.refreshAdminToken(\n { token, forbundsKodAdmin: user.forbund },\n token\n ).then(data => {\n storeUser(data);\n });\n return;\n }\n\n ApiService.tokenLogin({ token }).then(data => {\n storeUser(data);\n });\n };\n\n return {\n user,\n signin,\n storeUser,\n decodeUser,\n tokenSignin,\n forbundSignin,\n autoRefreshToken,\n signout,\n };\n}\n\nexport function ProvideAuth({ children }) {\n const auth = useProvideAuth();\n return {children};\n}\n\nexport const PrivateRoute = ({ component: Component, ...rest }) => {\n const { user } = useAuth();\n return (\n \n user ? (\n <>\n \n \n \n ) : (\n \n )\n }\n />\n );\n};\n\nexport const AdminRoute = ({\n component: Component,\n restrict = false,\n ...rest\n}) => {\n const { user } = useAuth();\n return (\n {\n if (\n user &&\n (user.role === 'admin' || (!restrict && user.role === 'redaktor'))\n ) {\n return ;\n }\n if (user) {\n return (\n \n );\n }\n return (\n \n );\n }}\n />\n );\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styles from './Banner.module.css';\n\nconst Banner = ({ user }) => {\n document.title = 'Saco lönesök';\n return (\n
\n
\n
\n

Välkommen till Saco lönesök!

\n {user?.role === 'fortroendevald' ? (\n

\n Som förtroendevald har du tillgång till tre års lönestatistik och\n flera uppgifter.\n

\n ) : (\n

\n Lönesök finns i två olika varianter, en enkel och en avancerad.\n Den enkla sökningen är till för dig som vill ha en snabb överblick\n av ditt löneläge, medan du i den avancerade sökningen kan fördjupa\n dig i all tillgänglig lönestatistik.\n

\n )}\n
\n
\n
\n );\n};\n\nBanner.propTypes = {\n user: PropTypes.shape({\n role: PropTypes.string,\n }).isRequired,\n};\n\nexport default Banner;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {\n IconX,\n IconChevronDown,\n IconPlus,\n IconFileDownload,\n IconHelp,\n IconMinus,\n} from 'tabler-icons';\nimport styles from './ButtonLink.module.css';\n\nconst ButtonLink = ({\n className,\n label,\n altText,\n icon,\n large,\n menuItem,\n lastChild,\n accordionItem,\n disabled,\n onClick,\n style,\n}) => {\n const buttonClassName = className && className !== '' ? className : '';\n const buttonIsLarge = large ? `${styles.isLarge}` : '';\n const buttonIsMenuItem = menuItem ? `${styles.isMenuItem}` : '';\n const buttonIsAccordionItem = accordionItem\n ? `${styles.isAccordionItem}`\n : '';\n const buttonIsLastChild = lastChild ? `${styles.isLastChild}` : '';\n const computedAltText = altText && altText !== '' ? altText : label;\n\n let buttonIcon;\n if (icon && icon === 'Help') {\n buttonIcon = (\n \n );\n } else if (icon && icon === 'Download') {\n buttonIcon = ;\n } else if (icon && icon === 'Plus') {\n buttonIcon = ;\n } else if (icon && icon === 'Minus') {\n buttonIcon = ;\n } else if (icon && icon === 'ChevronDown') {\n if (buttonIsLarge) {\n buttonIcon = (\n \n );\n } else {\n buttonIcon = ;\n }\n } else if (icon && icon === 'X') {\n buttonIcon = ;\n }\n\n return (\n \n {buttonIcon}\n {label}\n \n );\n};\n\nButtonLink.propTypes = {\n label: PropTypes.string.isRequired,\n altText: PropTypes.string,\n className: PropTypes.string,\n icon: PropTypes.string,\n large: PropTypes.bool,\n menuItem: PropTypes.bool,\n lastChild: PropTypes.bool,\n accordionItem: PropTypes.bool,\n disabled: PropTypes.bool,\n onClick: PropTypes.func,\n style: PropTypes.shape({}),\n};\n\nButtonLink.defaultProps = {\n altText: '',\n className: '',\n icon: '',\n large: false,\n menuItem: false,\n lastChild: false,\n accordionItem: false,\n disabled: false,\n onClick: () => {},\n style: undefined,\n};\n\nexport default ButtonLink;\n","import { useState, useRef, useEffect } from 'react';\n\nexport default function useVisible(initialIsVisible) {\n const [isVisible, setIsVisible] = useState(initialIsVisible);\n const ref = useRef(null);\n\n const handleClickOutside = event => {\n if (ref.current && !ref.current.contains(event.target)) {\n setIsVisible(false);\n }\n };\n\n useEffect(() => {\n document.addEventListener('click', handleClickOutside, true);\n return () => {\n document.removeEventListener('click', handleClickOutside, true);\n };\n }, []);\n\n return { ref, isVisible, setIsVisible };\n}\n","import React from 'react';\nimport { useHistory } from 'react-router-dom';\nimport ButtonLink from 'atoms/buttonlink/ButtonLink';\nimport { useAuth } from 'services/UseAuth';\nimport useVisible from 'hooks/useVisible';\nimport styles from './Menu.module.css';\n\nconst Menu = () => {\n const { ref, isVisible: showMenu, setIsVisible: setShowMenu } = useVisible(\n false\n );\n\n const { user } = useAuth();\n const history = useHistory();\n\n const goToPage = page => {\n setShowMenu(false);\n history.push(page);\n };\n\n const logout = () => {\n setShowMenu(false);\n history.push('/logga-ut');\n };\n\n return (\n
\n {user && (\n <>\n setShowMenu(!showMenu)}\n />\n\n {showMenu && (\n
\n goToPage('/enkel')}\n />\n goToPage('/avancerad')}\n />\n\n goToPage('/#om-saco-lonesok')}\n />\n goToPage('/#teknisk-info')}\n />\n {(user.role === 'admin' || user.role === 'redaktor') && (\n goToPage('/admin/nivå2')}\n />\n )}\n logout()}\n />\n
\n )}\n \n )}\n
\n );\n};\n\nexport default Menu;\n","/* eslint-disable camelcase */\nimport React, { useState, useEffect, useCallback } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport { useAuth } from 'services/UseAuth';\nimport ApiService from 'services/ApiService';\nimport Banner from './banner/Banner';\nimport styles from './Header.module.css';\nimport Menu from './menu/Menu';\n\nconst fallbackUnion = {\n name: 'Saco lönesök',\n forbundskodSas: 'default',\n};\n\nconst Header = () => {\n const [imageLoadError, setImageLoadError] = useState(true);\n const [forbundList, setForbundList] = useState([]);\n const [union, setUnion] = useState(fallbackUnion);\n\n const location = useLocation();\n const { user } = useAuth();\n\n const path = `${process.env.PUBLIC_URL}/union_logotypes`;\n\n const getLogoSrc = str => `${path}/${str.toLowerCase()}_logo.svg`;\n\n const setFallbackSrc = e => {\n const { forbundskodSas, name } = fallbackUnion;\n if (imageLoadError) {\n setImageLoadError(false);\n e.target.src = getLogoSrc(forbundskodSas);\n e.target.title = name;\n e.target.alt = `${name} logotyp`;\n }\n };\n\n const getUnion = useCallback(() => {\n if (user) {\n const foundUnion = forbundList.find(\n d => d.forbundskodSas.toLowerCase() === user.forbund.toLowerCase()\n );\n\n if (foundUnion) {\n return foundUnion;\n }\n }\n return fallbackUnion;\n }, [user, forbundList]);\n\n useEffect(() => {\n if (forbundList.length === 0) return;\n setUnion(getUnion(forbundList));\n }, [forbundList, getUnion]);\n\n // Initially, get list of forbund\n useEffect(() => {\n if (user == null || forbundList.length !== 0) return;\n ApiService.getUnions(user.token).then(data => {\n setForbundList(\n data.sort((a, b) => `${a.name}`.localeCompare(b.name, 'sv'))\n );\n });\n }, [user, forbundList]);\n\n return (\n <>\n {location.pathname.includes('Instruktionsfilm') ||\n location.pathname.includes('oppensokning') ||\n location.pathname.toLowerCase().includes('unemploymentspin') ||\n location.pathname.includes('careerspin') ||\n location.pathname.toLowerCase().includes('parentalleavespin') ? (\n <>\n ) : (\n
\n
\n
\n
\n
\n
\n
\n \n
\n \n
\n
\n {location.pathname === '/' && }\n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n )}\n \n );\n};\n\nexport default Header;\n","import React from 'react';\nimport { bool, shape, string } from 'prop-types';\nimport styles from './UnionLink.module.css';\n\nexport default function UnionLink({ unionLink, capitalize }) {\n return (\n <>\n {unionLink ? (\n \n {capitalize ? 'K' : 'k'}ontakta {unionLink.header}\n \n ) : (\n `${capitalize ? 'K' : 'k'}ontakta ditt förbund`\n )}{' '}\n \n );\n}\n\nUnionLink.propTypes = {\n unionLink: shape({\n value: string,\n header: string,\n }),\n capitalize: bool,\n};\n\nUnionLink.defaultProps = {\n unionLink: null,\n capitalize: false,\n};\n","import UnionLink from 'atoms/unionlink/UnionLink';\nimport React, { useEffect, useState } from 'react';\nimport ApiService from 'services/ApiService';\nimport { useAuth } from 'services/UseAuth';\nimport Logo from '../../testdata/saco-lonesok_logotype.svg';\nimport styles from './Footer.module.css';\nimport { useLocation } from 'react-router-dom';\n\nconst Footer = () => {\n const { user } = useAuth();\n const token = user?.token;\n const location = useLocation();\n const { pathname } = location;\n const showLogo =\n pathname === '/inloggning-info' ||\n pathname === '/logga-ut' ||\n pathname === '/logga-in';\n\n const [unionLink, setUnionLink] = useState();\n\n useEffect(() => {\n if (!token) return;\n const request = [\n {\n groupId: 'unionLink',\n textId: ['unionLink'],\n },\n ];\n\n ApiService.getTexts(request, token).then(data => {\n if (data && data[0]) return setUnionLink(data[0]);\n return setUnionLink();\n });\n }, [token]);\n\n return (\n <>\n {location.pathname.includes('Instruktionsfilm') ||\n location.pathname.includes('oppensokning') ||\n location.pathname.toLowerCase().includes('unemploymentspin') ||\n location.pathname.includes('careerspin') ||\n location.pathname.toLowerCase().includes('parentalleavespin') ? (\n <>\n ) : (\n
\n
\n
\n
\n

Har du frågor?

\n

\n om du har\n frågor om uppgifterna i lönestatistiken.\n

\n
\n {!showLogo && (\n
\n
\n \n
\n
\n )}\n
\n
\n
\n )}\n \n );\n};\n\nexport default Footer;\n","import React from 'react';\nimport AppSettings from '../../appsettings.json';\n\nconst PageErrorProvocation = () => {\n const ENVIRONMENT = AppSettings.APP_ENVIRONMENT;\n\n if (ENVIRONMENT !== 'production') {\n // Komponentens innehåll för att provocera fram ett fel i utvecklingsmiljön\n throw new Error('This is an error for testing purposes.');\n }\n\n // Returnera null om det är produktion\n return null;\n};\n\nexport default PageErrorProvocation;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from 'react-router-dom';\nimport { IconChevronRight } from 'tabler-icons';\nimport styles from './AnalysisCard.module.css';\n\nconst AnalysisCard = ({ description, link, title, type }) => {\n const path = `${process.env.PUBLIC_URL}/illustrations`;\n\n return (\n \n \n

{title}

\n

{description}

\n \n Gå vidare\n \n \n \n );\n};\n\nAnalysisCard.propTypes = {\n description: PropTypes.string.isRequired,\n link: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n type: PropTypes.oneOf(['simple', 'advanced']).isRequired,\n};\n\nexport default AnalysisCard;\n","/* eslint-disable react/no-array-index-key, react/no-danger */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport marked from 'marked/lib/marked';\nimport DOMPurify from 'dompurify';\nimport styles from './ExplanationText.module.css';\n\nconst getMarkdownText = value => {\n const rawMarkup = marked.parse(value.replace(/\\n/, '
'));\n return { __html: DOMPurify.sanitize(rawMarkup) };\n};\n\nconst ExplanationText = ({ textItem: { value } }) => (\n \n);\n\nExplanationText.propTypes = {\n textItem: PropTypes.shape({\n id: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired,\n }).isRequired,\n};\n\nexport default ExplanationText;\n","import { useRef, useEffect } from 'react';\nimport { useLocation } from 'react-router-dom';\n\nconst useScrollTo = (id, callback) => {\n const location = useLocation();\n const ref = useRef();\n\n useEffect(() => {\n if (ref.current && location.hash === `#${id}`) {\n ref.current.scrollIntoView({ behavior: 'smooth' });\n\n if(callback) {\n callback();\n }\n }\n // eslint-disable-next-line\n }, [location, id]);\n\n return ref;\n};\n\nexport default useScrollTo;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styles from './ButtonTransparent.module.css';\n\nconst ButtonTransparent = ({\n children,\n altText,\n className,\n disabled,\n onClick,\n style,\n}) => {\n const buttonClassName = className && className !== '' ? className : '';\n return (\n \n {children}\n \n );\n};\n\nButtonTransparent.propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]).isRequired,\n className: PropTypes.string,\n altText: PropTypes.string.isRequired,\n disabled: PropTypes.bool,\n onClick: PropTypes.func,\n style: PropTypes.shape({}),\n};\n\nButtonTransparent.defaultProps = {\n className: undefined,\n disabled: false,\n onClick: () => {},\n style: undefined,\n};\n\nexport default ButtonTransparent;\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport useScrollTo from 'hooks/useScrollTo';\nimport { IconChevronDown, IconChevronUp } from 'tabler-icons';\nimport styles from './Accordion.module.css';\nimport ButtonTransparent from '../buttontransparent/ButtonTransparent';\n\nconst Accordion = ({\n border,\n boxShadow,\n children,\n className,\n close,\n dark,\n disabled,\n id,\n initialOpen,\n marginBottom,\n onClick,\n slim,\n stacked,\n title,\n}) => {\n const [open, setOpen] = useState(initialOpen);\n\n const ref = useScrollTo(id, () => {\n setOpen(true);\n onClick();\n });\n\n useEffect(() => {\n if (close) setOpen(false);\n }, [close]);\n\n // TODO: Maybe change this variable name\n // It does'nt imply interactivity.. but at the same time it serves two purposes.. ¯\\_(ツ)_/¯\n useEffect(() => {\n if (initialOpen) setOpen(true);\n }, [initialOpen]);\n\n return (\n \n
\n \n {\n setOpen(prevState => !prevState);\n onClick();\n }}\n /* eslint-disable-next-line react/jsx-props-no-spreading */\n {...(dark && {\n style: { backgroundColor: 'var(--bg-grey-darker)' },\n })}\n >\n {title}\n {open ? (\n \n ) : (\n \n )}\n \n \n <>\n \n {children}\n \n \n
\n \n );\n};\n\nAccordion.propTypes = {\n border: PropTypes.bool,\n boxShadow: PropTypes.bool,\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]).isRequired,\n className: PropTypes.string,\n close: PropTypes.bool,\n dark: PropTypes.bool,\n disabled: PropTypes.bool,\n id: PropTypes.string,\n initialOpen: PropTypes.bool,\n marginBottom: PropTypes.bool,\n onClick: PropTypes.func,\n slim: PropTypes.bool,\n stacked: PropTypes.bool,\n title: PropTypes.string.isRequired,\n};\n\nAccordion.defaultProps = {\n border: false,\n boxShadow: false,\n className: '',\n close: false,\n dark: false,\n disabled: false,\n id: '',\n initialOpen: false,\n marginBottom: false,\n onClick: () => {},\n slim: false,\n stacked: false,\n};\n\nexport default Accordion;\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport ApiService from 'services/ApiService';\nimport { useAuth } from 'services/UseAuth';\nimport ExplanationText from 'atoms/explanationtext/ExplanationText';\nimport styles from './About.module.css';\nimport Accordion from '../../../atoms/accordion/Accordion';\nimport useScrollTo from '../../../hooks/useScrollTo';\n\nconst About = ({ id }) => {\n const [aboutText, setAboutText] = useState('');\n const ref = useScrollTo(id);\n\n const { user } = useAuth();\n\n useEffect(() => {\n const request = [\n {\n groupId: 'about',\n },\n ];\n\n ApiService.getTexts(request, user.token).then(data => {\n setAboutText(\n data.find(txt => txt.groupId === 'about' && txt.textId === 'main')\n );\n });\n // eslint-disable-next-line\n }, []);\n\n return (\n
\n
\n \n {aboutText && }\n \n
\n
\n );\n};\n\nAbout.propTypes = {\n id: PropTypes.string.isRequired,\n};\n\nexport default About;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport useScrollTo from 'hooks/useScrollTo';\nimport styles from './PrivacyPolicy.module.css';\nimport Accordion from '../../../atoms/accordion/Accordion';\n\nconst TechnicalInformation = ({ id }) => {\n const ref = useScrollTo(id);\n\n return (\n
\n
\n \n

Integritetspolicy

\n

\n Uppgifterna i Saco lönesök består av anonymiserad data. Det innebär\n att det inte finns några personuppgifter i underlaget som används\n för lönestatistiken. För att visa statistik måste det finnas minst\n 30 observationer per förbund. Lönesök visar aldrig enskilda löner.\n

\n

\n För att du ska kunna vara inloggad i Saco lönesök och för att\n lönesök ska kunna hålla reda på vilket förbund besökaren tillhör,\n används cookies.\n

\n

Besöksstatistiken som Saco lönesök sparar:

\n
    \n
  • Vilket förbund besökaren tillhör.
  • \n
  • Vilken tid besökaren använder tjänsten.
  • \n
  • Om besökaren är medlem eller förtroendevald.
  • \n
  • Vilken del av tjänsten besökaren använder.
  • \n
  • Vilken webbläsare besökaren använder.
  • \n
  • Vilken enhet besökaren använder (desktop eller mobil).
  • \n
\n

Saco lönesök sparar inga personuppgifter.

\n

Teknisk information

\n

Rekommenderade webbläsare för Saco lönesök:

\n
\n Microsoft Edge (rekommenderad minimum version 107.0.1418.35)\n
\n
Google Chrome (rekommenderad minimum version 107.0.5304)
\n
Apple Safari (rekommenderad minimum version 15)
\n

\n Har du tekniska frågor eller hittat fel i systemet? Hör gärna av dig\n till{' '}\n \n lonesok@saco.se\n \n .\n

\n
\n
\n
\n );\n};\n\nTechnicalInformation.propTypes = {\n id: PropTypes.string.isRequired,\n};\n\nexport default TechnicalInformation;\n","import React from 'react';\nimport AnalysisCard from 'components/start/analysiscard/AnalysisCard';\nimport About from 'components/start/about/About';\nimport TechnicalInformation from 'components/start/privacypolicy/TechnicalInformation';\nimport styles from './PageStart.module.css';\n\nconst PageStart = () => {\n return (\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n );\n};\n\nexport default PageStart;\n","import React from 'react';\nimport { Link } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport styles from './BreadcrumbsItem.module.css';\n\nconst BreadcrumbsItem = ({ match, index, ...rest }) => {\n const routes = {\n '/': 'Start',\n '/enkel': 'Enkel',\n '/avancerad': 'Avancerad',\n '/for-utvecklare': 'För utvecklare',\n '/bli-medlem': 'Enkel (gratis)',\n };\n\n const routeName = routes[match.url];\n if (match.isExact) {\n document.title = `${routeName} - Saco lönesök`;\n }\n\n return (\n
  • \n {index !== 0 && ' / '}\n {match.isExact ? (\n

    {routeName}

    \n ) : (\n \n {routeName}\n \n )}\n
  • \n );\n};\n\nBreadcrumbsItem.propTypes = {\n match: PropTypes.shape({\n isExact: PropTypes.bool,\n params: PropTypes.shape({}),\n path: PropTypes.string,\n url: PropTypes.string,\n }).isRequired,\n index: PropTypes.number.isRequired,\n};\n\nexport default BreadcrumbsItem;\n","import React from 'react';\nimport { Route, useLocation } from 'react-router-dom';\nimport BreadcrumbsItem from './breadcrumbsitem/BreadcrumbsItem';\nimport styles from './Breadcrumbs.module.css';\n\nconst Breadcrumbs = () => {\n const getPaths = str => {\n const pathList = ['/'];\n\n if (str === '/') return pathList;\n\n str.split('/').reduce((prev, curr) => {\n const currPath = `${prev}/${curr}`;\n pathList.push(currPath);\n return currPath;\n });\n\n return pathList;\n };\n\n const { pathname } = useLocation();\n const paths = getPaths(pathname);\n\n return (\n \n );\n};\n\nexport default Breadcrumbs;\n","/* eslint-disable camelcase */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport useScrollTo from 'hooks/useScrollTo';\nimport styles from './Section.module.css';\n\nconst Section = ({ title, children, className, dashed, id }) => {\n const ref = useScrollTo(id);\n const extraClasses = className && className !== '' ? className : '';\n return (\n \n {title !== '' && (\n

    \n {title}\n

    \n )}\n {children}\n \n );\n};\n\nSection.propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]).isRequired,\n id: PropTypes.string,\n className: PropTypes.string,\n title: PropTypes.string,\n dashed: PropTypes.bool,\n};\n\nSection.defaultProps = {\n id: '',\n title: '',\n className: '',\n dashed: false,\n};\n\nexport default Section;\n","// Returns array of numbers\n// \"1200 - 1299\" => [1200, 1299]\n// \" > 200000\" => [0, 200000]\n// \" < 5\" => [0, 5]\nexport function numberOfRespondents(str) {\n if (!str || typeof str !== 'string') return [0, 0];\n\n const splitChars = ['-', '<', '>'];\n\n let result = [];\n\n splitChars.forEach(char => {\n const found = str.search(char);\n\n if (found > -1) {\n const numbers = str.split(char);\n if (numbers.length > 1) {\n result = [Number(numbers[0]), Number(numbers[1])];\n } else {\n result = [0, 0];\n }\n }\n });\n\n return result;\n}\n\n// Returns boolean based on number of respondents\n// enoughRespondents(\"1200 - 1299\", 30) => true\nexport function enoughRespondents(str, limit) {\n if (!str || typeof str !== 'string') return false;\n const numbers = str.split('-');\n return Number(numbers[0]) >= limit;\n}\n\n// Returns antal string formatted to Swedish locale\n// \"1200 - 1299\" => \"1 200 - 1 299\"\nexport function formatRespondents(str) {\n if (!str || typeof str !== 'string') return '–';\n const numbers = str.split('-');\n if (numbers.length < 2) return str;\n return `${Number(numbers[0]).toLocaleString('sv')}–${Number(\n numbers[1]\n ).toLocaleString('sv')}`;\n}\n\nfunction roundToNearest(number, nearest, direction) {\n if (direction === 'up') return Math.ceil(number / nearest) * nearest;\n if (direction === 'down') return Math.floor(number / nearest) * nearest;\n return Math.round(number / nearest) * nearest;\n}\n\n// Contains hard coded numbers to round to, just to imitate the censoring of respondents\n// that is going on inside of sas.\n\n// Returns a censored range of respondents\n// 12349 => \"12 300 - 12 399\"\nexport function censorReponsondants(number) {\n if (number < 1) return '';\n if (number < 5) return '< 5';\n if (number < 16) return '5–15';\n if (number < 30) return '16–29';\n if (number < 50) return '30–49';\n if (number < 100) return '50–99';\n if (number < 150) return '100–149';\n\n return `${roundToNearest(number - 1, 100, 'down').toLocaleString('sv')}–${(\n roundToNearest(number, 100, 'up') - 1\n ).toLocaleString('sv')}`;\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { IconUser } from 'tabler-icons';\nimport styles from './SalaryInterval.module.css';\n\nconst SalaryInterval = ({ salaryLimit, salaryMid, selectedSalary }) => {\n const calcPercent = salary => {\n const a = salaryLimit[1] - salaryLimit[0];\n const b = salary - salaryLimit[0];\n\n let c = (b / a) * 100;\n\n // TODO: Någon bättre smooth overgång inte att allting bara blir max/min.\n if (c < -7) c = -7;\n if (c > 107) c = 107;\n\n return `${c}%`;\n };\n\n const dinLonPercentage = calcPercent(selectedSalary);\n const salaryMidPercent = calcPercent(salaryMid);\n\n return (\n
    \n
    \n
    \n \n
    \n
    \n \n {selectedSalary && (\n \n
    \n \n
    \n
    \n )}\n
    \n
    \n
    \n
    \n

    \n {Number(salaryLimit[0]).toLocaleString('sv')} kr.\n

    \n
    \n
    \n \n
    \n

    Din lön

    \n
    \n

    Medellön

    \n
    \n

    \n {Number(salaryLimit[1]).toLocaleString('sv')} kr.\n

    \n
    \n
    \n );\n};\n\nSalaryInterval.propTypes = {\n salaryLimit: PropTypes.arrayOf(Number).isRequired,\n salaryMid: PropTypes.number.isRequired,\n selectedSalary: PropTypes.string,\n};\n\nSalaryInterval.defaultProps = {\n selectedSalary: null,\n};\n\nexport default SalaryInterval;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { IconChevronRight } from 'tabler-icons';\nimport styles from './ExternalLink.module.css';\n\nfunction ExternalLink({ header, value }) {\n return (\n \n {header}\n \n \n );\n}\n\nExternalLink.propTypes = {\n header: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired,\n};\n\nexport default ExternalLink;\n","import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport Section from 'atoms/section/Section';\nimport { censorReponsondants } from 'lib/antal';\nimport { Link } from 'react-router-dom';\nimport { IconChevronRight } from 'tabler-icons';\nimport { useAuth } from 'services/UseAuth';\nimport ApiService from 'services/ApiService';\nimport UnionLink from 'atoms/unionlink/UnionLink';\nimport SalaryInterval from './salaryinterval/SalaryInterval';\nimport ExternalLink from '../externallink/ExternalLink';\nimport styles from './SalaryAnalysis.module.css';\n\nconst SalaryAnalysis = ({\n currentRespondents,\n salaryData,\n selectedSalary,\n salaryLimit,\n links,\n variant,\n}) => {\n const {\n user: { token },\n } = useAuth();\n\n const [unionLink, setUnionLink] = useState();\n\n useEffect(() => {\n const request = [\n {\n groupId: 'unionLink',\n textId: ['unionLink'],\n },\n ];\n\n ApiService.getTexts(request, token).then(data => {\n if (data && data[0]) return setUnionLink(data[0]);\n return setUnionLink();\n });\n }, [token]);\n\n const salary = {\n number: selectedSalary,\n string: {Number(selectedSalary).toLocaleString('sv')},\n };\n\n const average = {\n number: salaryData.lon_medel,\n string: (\n <>\n {salaryData.lon_medel.toLocaleString('sv')} kronor per månad.\n \n ),\n };\n\n const overAverage = salary.number > average.number;\n\n const SalaryDisclaimerString = () => {\n return (\n

    \n Det finns många faktorer som påverkar din lön. Använd{' '}\n Saco lönesöks avancerade sökning för att se\n mer detaljerad statistik eller för\n en personlig lönerådgivning.{' '}\n

    \n );\n };\n\n return (\n
    \n
    \n \n

    \n Medellönen för urvalet är {average.string}{' '}\n {selectedSalary && (\n <>\n Din lön om {salary.string} kronor ligger{' '}\n {overAverage ? 'över' : 'under'} medellönen.\n \n )}\n

    \n
      \n
    • \n 80 % har en lön mellan{' '}\n \n {`${salaryLimit[0].toLocaleString(\n 'sv'\n )}–${salaryLimit[1].toLocaleString('sv')}`}\n {' '}\n kronor.\n
    • \n
    • \n 10 % har en lön som är lägre än{' '}\n {salaryLimit[0].toLocaleString('sv')} kronor.\n
    • \n
    • \n 10 % har en lön som är högre än{' '}\n {salaryLimit[1].toLocaleString('sv')} kronor.\n
    • \n
    \n {currentRespondents && (\n

    \n Ditt urval består av uppgifter från{' '}\n {censorReponsondants(currentRespondents)} medlemmar.\n

    \n )}\n {variant === 'simple' && SalaryDisclaimerString()}\n
    \n\n {variant === 'simple' && (\n
    \n {links &&\n links[0] &&\n links.map(({ header, id, value }) => (\n \n ))}\n \n Jag vill veta mer, ta mig till Saco lönesöks avancerade sökning!\n \n \n
    \n )}\n
    \n );\n};\n\nSalaryAnalysis.propTypes = {\n currentRespondents: PropTypes.number,\n salaryData: PropTypes.shape(Object).isRequired,\n selectedSalary: PropTypes.string,\n salaryLimit: PropTypes.arrayOf(Number).isRequired,\n links: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n groupId: PropTypes.string.isRequired,\n textId: PropTypes.string.isRequired,\n unionId: PropTypes.string.isRequired,\n header: PropTypes.string.isRequired,\n isDefault: PropTypes.bool.isRequired,\n value: PropTypes.string.isRequired,\n })\n ),\n variant: PropTypes.oneOf(['free', 'simple']),\n};\n\nSalaryAnalysis.defaultProps = {\n currentRespondents: null,\n selectedSalary: null,\n links: [],\n variant: 'free',\n};\n\nexport default SalaryAnalysis;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styles from './RadioButton.module.css';\n\nconst RadioButton = ({ disabled, value, name, onChange, checked }) => {\n return (\n
    \n \n \n \n \n
    \n );\n};\n\nRadioButton.propTypes = {\n disabled: PropTypes.bool.isRequired,\n name: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n value: PropTypes.string.isRequired,\n checked: PropTypes.bool.isRequired,\n};\n\nexport default RadioButton;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ButtonTransparent from 'atoms/buttontransparent/ButtonTransparent';\nimport RadioButton from 'atoms/radiobutton/RadioButton';\nimport styles from './SelectionCard.module.css';\n\nconst SelectionCard = ({\n description,\n index,\n label,\n loading,\n name,\n selectedSituation,\n selectionChange,\n value,\n}) => {\n const selected = index === selectedSituation?.index;\n const disabled = selected || loading;\n const describedby = `${name}-${value}`;\n\n return (\n
    \n {\n if (e.key === 'Enter' || e.key === ' ') {\n selectionChange(e.target.value);\n }\n }}\n disabled={loading}\n >\n \n
    \n selectionChange(e.target.value)}\n disabled={disabled}\n value={value}\n name={name}\n checked={selected}\n />\n
    \n
    \n {label}\n

    {description}

    \n
    \n \n \n
    \n );\n};\n\nSelectionCard.propTypes = {\n description: PropTypes.string.isRequired,\n index: PropTypes.number.isRequired,\n label: PropTypes.string.isRequired,\n loading: PropTypes.bool.isRequired,\n name: PropTypes.string.isRequired,\n selectedSituation: PropTypes.shape({ index: PropTypes.number }),\n selectionChange: PropTypes.func.isRequired,\n value: PropTypes.string.isRequired,\n};\n\nSelectionCard.defaultProps = {\n selectedSituation: undefined,\n};\n\nexport default SelectionCard;\n","/* eslint-disable react/jsx-curly-newline */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport Section from 'atoms/section/Section';\nimport SelectionCard from '../selectioncard/SelectionCard';\nimport styles from './Situation.module.css';\n\nconst Situation = ({\n loading,\n situations,\n setSelectedSituation,\n selectedSituation,\n}) => {\n return (\n
    \n
    \n \n Välj den situation som passar dig bäst\n \n
    \n {situations\n .sort((a, b) => a.name.localeCompare(b.name))\n .sort((a, b) => {\n if (a.DSL2.toLowerCase() === 'df') return -1;\n if (b.DSL2.toLowerCase() !== 'df') return 1;\n return 0;\n })\n .map((situation, index) => (\n \n setSelectedSituation({\n index,\n DSL1: situation.DSL1,\n DSL2: situation.DSL2,\n year: situation.year,\n })\n }\n value={`wage${index}`}\n />\n ))}\n
    \n
    \n
    \n );\n};\n\nSituation.propTypes = {\n selectedSituation: PropTypes.shape({ index: PropTypes.number }),\n loading: PropTypes.bool.isRequired,\n situations: PropTypes.arrayOf(Object).isRequired,\n setSelectedSituation: PropTypes.func.isRequired,\n};\n\nSituation.defaultProps = {\n selectedSituation: undefined,\n};\nexport default Situation;\n","import PropTypes from 'prop-types';\nimport React, { forwardRef } from 'react';\nimport styles from './Input.module.css';\n\nconst Input = forwardRef(\n (\n {\n autoComplete,\n className,\n disabled,\n id,\n label,\n onChange,\n onBlur, // Lägg till onBlur här\n placeholder,\n type,\n value,\n max,\n min,\n minLength,\n step,\n title,\n pattern,\n displayInline,\n },\n ref\n ) => {\n return (\n \n {label && (\n \n {`${label}:`}\n \n )}\n \n
    \n );\n }\n);\n\nInput.propTypes = {\n autoComplete: PropTypes.string,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n displayInline: PropTypes.bool,\n disabled: PropTypes.bool,\n id: PropTypes.string.isRequired,\n label: PropTypes.string,\n max: PropTypes.number,\n min: PropTypes.number,\n minLength: PropTypes.number,\n onChange: PropTypes.func,\n onBlur: PropTypes.func, // Lägg till onBlur här\n pattern: PropTypes.string,\n placeholder: PropTypes.string,\n step: PropTypes.number,\n title: PropTypes.string,\n type: PropTypes.oneOf(['text', 'number', 'password']),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n};\n\nInput.defaultProps = {\n autoComplete: 'on',\n className: '',\n displayInline: false,\n disabled: false,\n label: '',\n placeholder: null,\n type: 'text',\n value: '',\n max: null,\n min: null,\n minLength: null,\n step: null,\n title: null,\n pattern: null,\n onChange: () => {},\n onBlur: () => {}, // Lägg till onBlur här\n};\n\nexport default Input;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styles from './Slider.module.css';\n\nfunction Slider({ id, max, min, changeFunction, step, value }) {\n return (\n changeFunction(e.target.value)}\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={value}\n onInput={e => changeFunction(e.target.value)}\n name={id}\n id={id}\n aria-label=\"Löneslider\"\n onKeyUp={e => {\n if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {\n changeFunction(e.target.value);\n }\n }}\n tabIndex=\"0\"\n />\n );\n}\n\nSlider.propTypes = {\n id: PropTypes.string.isRequired,\n max: PropTypes.number.isRequired,\n min: PropTypes.number.isRequired,\n changeFunction: PropTypes.func.isRequired,\n step: PropTypes.number.isRequired,\n value: PropTypes.string.isRequired,\n};\n\nexport default Slider;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Input from 'atoms/input/Input';\nimport Section from 'atoms/section/Section';\nimport styles from './SalarySlider.module.css';\nimport Slider from './slider/Slider';\n\nconst SalarySlider = ({ selectedSalary, setSelectedSalary, salaryLimit }) => {\n const min = salaryLimit[0] - 5000 >= 20000 ? 20000 : 10000;\n const max = salaryLimit[1] + 20000;\n const step = 100;\n const now = selectedSalary || '';\n\n return (\n <>\n

    Din lön

    \n
    \n
    \n
    \n setSelectedSalary(e.target.value)}\n step={step}\n type=\"number\"\n value={now}\n displayInline\n />\n kronor per månad\n
    \n \n
    \n
    \n \n );\n};\n\nSalarySlider.propTypes = {\n selectedSalary: PropTypes.string,\n setSelectedSalary: PropTypes.func.isRequired,\n salaryLimit: PropTypes.arrayOf(Number).isRequired,\n};\n\nSalarySlider.defaultProps = {\n selectedSalary: null,\n};\n\nexport default SalarySlider;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { IconX} from 'tabler-icons';\nimport styles from './ButtonActiveFilter.module.css';\n\nconst ButtonActiveFilter = ({\n label,\n className,\n disabled,\n onClick,\n style,\n}) => {\n const buttonClassName = className && className !== '' ? `${styles[className]}` : '';\n\n return (\n \n {label}\n \n \n );\n};\n\nButtonActiveFilter.propTypes = {\n label: PropTypes.string.isRequired,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n onClick: PropTypes.func,\n style: PropTypes.shape({}),\n};\n\nButtonActiveFilter.defaultProps = {\n className: undefined,\n disabled: false,\n onClick: () => {},\n style: undefined,\n};\n\nexport default ButtonActiveFilter;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ButtonActiveFilter from 'atoms/buttonactivefilter/ButtonActiveFilter';\nimport styles from './ActiveFilters.module.css';\n\nconst FilterString = (item, index, length) => {\n if (length === 1 || index === 0) {\n return item.desc;\n }\n if (index === length - 1) {\n return ` & ${item.desc}`;\n }\n return `, ${item.desc}`;\n};\n\nconst ActiveFilters = ({\n activeFilters,\n disableMenuselection,\n setActiveFilters,\n variant,\n}) => {\n const removeFilterOption = (f, filterOption) => {\n const index = activeFilters.findIndex(\n filter => filter.sel_var === f.sel_var\n );\n\n const filterToUpdate = activeFilters[index];\n\n filterToUpdate.values = filterToUpdate.values.filter(\n filter => filter.value !== filterOption.value\n );\n\n if (filterToUpdate) {\n setActiveFilters(prevState => {\n const tempState = [...prevState];\n tempState[index] = filterToUpdate;\n return tempState.filter(element => element.values.length > 0);\n });\n return;\n }\n\n setActiveFilters(prevState => [\n ...prevState.filter(prev => prev.sel_var !== f.sel_var),\n filterToUpdate,\n ]);\n };\n\n return (\n
    \n \n {variant === 'simple' ? 'Gjorda urval: ' : 'Valda filter: '}\n \n {activeFilters.map(f => (\n
    \n {`${f.name}:`}\n {variant === 'simple' ? (\n \n {f.values.map((s, index, { length }) => (\n \n {FilterString(s, index, length)}\n \n ))}\n \n ) : (\n f.values.map(s => {\n return (\n \n removeFilterOption(f, s)}\n />\n \n );\n })\n )}\n
    \n ))}\n
    \n );\n};\n\nActiveFilters.propTypes = {\n activeFilters: PropTypes.arrayOf(Object).isRequired,\n disableMenuselection: PropTypes.bool.isRequired,\n setActiveFilters: PropTypes.func.isRequired,\n variant: PropTypes.oneOf(['simple', 'advanced']),\n};\n\nActiveFilters.defaultProps = {\n variant: 'advanced',\n};\n\nexport default ActiveFilters;\n","/* eslint-disable camelcase */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { formatRespondents } from 'lib/antal';\nimport styles from './Checkbox.module.css';\n\nconst Checkbox = ({\n checked,\n disabled,\n item,\n loading,\n onChange,\n variant,\n className,\n}) => {\n const { antal, description, value, sel_var } = item;\n\n return (\n \n
    \n
    {description}
    \n
    \n

    \n {variant === 'secondary' && 'Antal uppgifter: '}\n {formatRespondents(antal)}\n

    \n
    \n
    \n \n \n \n \n \n );\n};\n\nCheckbox.propTypes = {\n checked: PropTypes.bool,\n className: PropTypes.string,\n disabled: PropTypes.bool.isRequired,\n item: PropTypes.shape({\n antal: PropTypes.string.isRequired,\n description: PropTypes.string,\n sel_var: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n }).isRequired,\n loading: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n variant: PropTypes.oneOf(['primary', 'secondary']).isRequired,\n};\n\nCheckbox.defaultProps = {\n className: '',\n checked: undefined,\n loading: false,\n};\n\nexport default Checkbox;\n","/* eslint-disable camelcase */\nimport React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport Checkbox from 'atoms/checkbox/Checkbox';\nimport Accordion from 'atoms/accordion/Accordion';\nimport styles from './CheckboxSelectGroup.module.css';\n\nconst CheckboxSelectGroup = ({\n loading,\n itemIndex,\n options,\n sel_var,\n SELECTION_DATATYPE,\n SELECTION_TEXT,\n setSelectedValues,\n selectedValues,\n}) => {\n const [values, setValues] = useState(\n options.map(option => ({\n ...option,\n checked: false,\n }))\n );\n console.log('setValues');\n console.log(values);\n console.log('options');\n console.log(options);\n\n useEffect(() => {\n if (\n options.some(\n option =>\n option.antal !== values.find(v => v.value === option.value).antal\n )\n ) {\n console.log('useEffect options');\n setValues(prevState => {\n return options.map(option => {\n const matching = prevState.find(prev => prev.value === option.value);\n return {\n ...option,\n checked: matching.checked || false,\n };\n });\n });\n }\n }, [options]);\n\n const handleChange = event => {\n event.persist();\n const { value, checked } = event.target;\n console.log('handleChange Event value:');\n console.log(value);\n setValues(prevState => [\n ...prevState.map(option => {\n if (option.value === value) {\n return { ...option, checked };\n }\n return option;\n }),\n ]);\n };\n\n // FIXME: The checkbox values are a little too decoupled from selectedValues\n useEffect(() => {\n // Reset if nothing selected\n if (!selectedValues.length) {\n setValues(prevState =>\n prevState.map(option => ({ ...option, checked: false }))\n );\n }\n }, [selectedValues]);\n\n useEffect(() => {\n const tempValues = values\n .filter(option => option.checked)\n .map(option => ({\n value: option.value,\n antal: option.antal,\n desc: option.description,\n }));\n\n setSelectedValues(prevState => {\n const item = prevState.find(o => o.valKey === sel_var);\n const tempState = [...prevState];\n\n if (item && tempValues.length > 0) {\n tempState[prevState.indexOf(item)] = {\n ...item,\n values: tempValues,\n };\n return tempState;\n }\n\n if (!item && tempValues.length > 0) {\n return [\n ...prevState,\n {\n name: SELECTION_TEXT,\n valKey: sel_var,\n sel_var,\n selection_datatype: SELECTION_DATATYPE,\n values: tempValues,\n },\n ];\n }\n\n if (item && tempValues.length < 1) {\n return [\n ...prevState.filter(o => JSON.stringify(o) !== JSON.stringify(item)),\n ];\n }\n return prevState;\n });\n\n console.log('Selected values:');\n console.log(selectedValues);\n // eslint-disable-next-line\n }, [values]);\n\n return (\n option.antal !== ' < 5') ? '' : styles.mobileEmpty\n }\n >\n
    \n
    \n Antal uppgifter\n
    \n {values.map(item => (\n \n ))}\n
    \n \n );\n};\n\nCheckboxSelectGroup.propTypes = {\n loading: PropTypes.bool.isRequired,\n itemIndex: PropTypes.number.isRequired,\n options: PropTypes.arrayOf(Object).isRequired,\n sel_var: PropTypes.string.isRequired,\n SELECTION_DATATYPE: PropTypes.string.isRequired,\n SELECTION_TEXT: PropTypes.string.isRequired,\n setSelectedValues: PropTypes.func.isRequired,\n selectedValues: PropTypes.arrayOf(Object),\n};\n\nCheckboxSelectGroup.defaultProps = {\n selectedValues: [],\n};\n\nexport default CheckboxSelectGroup;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Section from 'atoms/section/Section';\nimport ActiveFilters from 'components/advanced/activefilters/ActiveFilters';\nimport ButtonLink from 'atoms/buttonlink/ButtonLink';\nimport CheckboxSelectGroup from '../checkboxselectgroup/CheckboxSelectGroup';\nimport styles from './SalaryProfile.module.css';\n\nconst SalaryProfile = ({\n loading,\n dataSources,\n selectedValues,\n selectionList,\n setSelectedValues,\n}) => {\n const forbundToString = str => {\n if (!str) return '';\n if (str.toLowerCase() === 'sa') {\n return 'samtliga Sacoförbund';\n }\n\n return 'ditt förbund';\n };\n\n return (\n
    \n {dataSources.length > 0 && (\n

    \n {`Statistiken du ser baseras på ${\n dataSources[0].YEAR\n } års uppgifter från ${forbundToString(dataSources[0].FORBUND)}.`}\n

    \n )}\n {selectionList.map((listItem, index) => (\n
    \n
    \n \n
    \n
    \n ))}\n {selectedValues.length > 0 && (\n <>\n \n {\n setSelectedValues([]);\n }}\n />\n \n )}\n
    \n );\n};\n\nSalaryProfile.propTypes = {\n dataSources: PropTypes.arrayOf(Object),\n loading: PropTypes.bool.isRequired,\n selectedValues: PropTypes.arrayOf(String).isRequired,\n selectionList: PropTypes.arrayOf(Object).isRequired,\n setSelectedValues: PropTypes.func.isRequired,\n};\n\nSalaryProfile.defaultProps = {\n dataSources: [],\n};\n\nexport default SalaryProfile;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styles from './Loader.module.css';\n\nconst Loader = ({ variant, small, className }) => {\n const color = variant === 'primary' ? '#99d2d9' : '#DA8BBA';\n const extraClasses = className && className !== '' ? className : '';\n return (\n \n
    \n
    \n
    \n
    \n );\n};\n\nLoader.propTypes = {\n variant: PropTypes.oneOf(['primary', 'secondary']).isRequired,\n small: PropTypes.bool,\n className: PropTypes.string,\n};\n\nLoader.defaultProps = {\n small: false,\n className: '',\n};\n\nexport default Loader;\n","// Checks if option value is \"empty\"\nexport default function isEmpty(value) {\n return value === '.' || value === '';\n}\n","import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport ApiService from '../../services/ApiService';\nimport styles from './Notification.module.css';\n\nconst Notification = ({ token, forbund, niva, dataSource }) => {\n const [notifications, setNotifications] = useState([]);\n const [filteredNotifications, setFilteredNotifications] = useState([]);\n\n useEffect(() => {\n ApiService.getTextsBoth(\n [\n {\n groupId: 'notifications',\n unionId: [null, forbund],\n },\n ],\n token\n )\n .then(data => data.map(t => ({ ...t, textId: JSON.parse(t.textId) })))\n .then(data => setNotifications(data))\n .catch(error => {});\n // eslint-disable-next-line\n }, [token]);\n\n useEffect(() => {\n const { dsl1, dsl2, year } = dataSource;\n if (notifications.length) {\n setFilteredNotifications(\n notifications.filter(\n t =>\n (dataSource.forbund === 'SA' ? !t.unionId : !!t.unionId) &&\n (!t.textId.niva || niva === t.textId.niva) &&\n (!t.textId.dsl1 || dsl1 === t.textId.dsl1) &&\n (!t.textId.dsl2 || dsl2 === t.textId.dsl2) &&\n (!t.textId.year || year === Number(t.textId.year))\n )\n );\n }\n }, [notifications, dataSource, niva]);\n\n if (!notifications.length || !filteredNotifications.length) return null;\n return (\n
    \n {filteredNotifications.length &&\n filteredNotifications.map(t => (\n

    \n {t.value}\n

    \n ))}\n
    \n );\n};\n\nNotification.propTypes = {\n token: PropTypes.string.isRequired,\n forbund: PropTypes.string,\n niva: PropTypes.string.isRequired,\n dataSource: PropTypes.shape({\n forbund: PropTypes.string,\n dsl1: PropTypes.string,\n dsl2: PropTypes.string,\n year: PropTypes.number,\n }),\n};\n\nNotification.defaultProps = {\n forbund: '',\n dataSource: {\n forbund: 'SA',\n dsl1: null,\n dsl2: '',\n year: null,\n },\n};\n\nexport default Notification;\n","import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useAuth } from '../../services/UseAuth';\nimport ApiService from '../../services/ApiService';\nimport styles from './ErrorNotification.module.css';\n\nconst ErrorNotification = ({ token, forbund, niva, dataSource }) => {\n const [errornotifications, setErrorNotifications] = useState([]);\n const { user } = useAuth();\n useEffect(() => {\n console.log('Errornotification');\n ApiService.getMonitoringLogs(\n {\n niva: niva,\n unionId: user.unionId,\n },\n token\n )\n .then(data => setErrorNotifications(data))\n .catch(error => {});\n }, [token]);\n\n useEffect(() => {\n console.log('Errornotifications:');\n console.log(errornotifications);\n }, [errornotifications]);\n\n // return (\n //
    \n //
    \n //

    Error notification content

    \n //
    \n //
    \n // );\n\n return (\n
    \n {errornotifications && errornotifications.hasErrors && (\n
    \n {/* Visa din felnotis här */}\n

    \n Ett tillfälligt systemfel har uppstått. Vi jobbar på att lösa det så\n snabbt som möjligt. Vänligen försök igen senare.\n

    \n
    \n )}\n
    \n );\n};\n\nErrorNotification.propTypes = {\n token: PropTypes.string.isRequired,\n forbund: PropTypes.string,\n niva: PropTypes.string.isRequired,\n dataSource: PropTypes.shape({\n forbund: PropTypes.string,\n dsl1: PropTypes.string,\n dsl2: PropTypes.string,\n year: PropTypes.number,\n }),\n};\n\nErrorNotification.defaultProps = {\n forbund: '',\n dataSource: {\n forbund: 'SA',\n dsl1: null,\n dsl2: '',\n year: null,\n },\n};\n\nexport default ErrorNotification;\n","/* eslint-disable camelcase */\nimport React, { useState, useEffect, useCallback } from 'react';\nimport Breadcrumbs from 'atoms/breadcrumbs/Breadcrumbs';\nimport SalaryAnalysis from 'components/simple/salaryanalysis/SalaryAnalysis';\nimport Situation from 'components/simple/situation/Situation';\nimport SalarySlider from 'components/simple/salaryslider/SalarySlider';\nimport SalaryProfile from 'components/simple/salaryprofile/SalaryProfile';\nimport Loader from 'atoms/loader/Loader';\nimport ApiService from 'services/ApiService';\nimport { useHistory } from 'react-router-dom';\nimport { useAuth } from 'services/UseAuth';\nimport { numberOfRespondents } from 'lib/antal';\nimport isEmpty from 'lib/emptyValues';\nimport styles from './PageSimple.module.css';\nimport Notification from '../../atoms/notification/Notification';\nimport ErrorNotification from '../../atoms/errornotification/ErrorNotification';\n\n// FIXME: När en situation väljs görs en onödig request till menuselection.\nconst PageSimple = () => {\n const [dataSources, setDataSources] = useState([]);\n\n const [selectionList, setSelectionList] = useState([]);\n const [selectedSalary, setSelectedSalary] = useState();\n\n const [selectedValues, setSelectedValues] = useState([]);\n const [selectedSituation, setSelectedSituation] = useState();\n const [situations, setSituations] = useState();\n\n const [salaryData, setSalaryData] = useState();\n const [salaryLimit, setSalaryLimit] = useState([]);\n const [hasErrors, setHasErrors] = useState(false);\n const [isLoadingReport, setIsLoadingReport] = useState(false);\n\n const [totalRespondents, setTotalRespondents] = useState();\n const [currentRespondents, setCurrentRespondents] = useState();\n\n const [disableMenuselection, setDisableMenuselection] = useState(false);\n\n const [links, setLinks] = useState([]);\n\n const [, setState] = useState();\n\n const { user, signout, autoRefreshToken } = useAuth();\n const { token, forbund } = user;\n\n const history = useHistory();\n\n // TODO: Handle network errors\n const handleError = useCallback(\n error => {\n if (error.status === 401) {\n signout();\n history.push('/logga-ut');\n } else {\n setState(() => {\n throw error;\n });\n }\n },\n [signout, history]\n );\n\n useEffect(() => {\n if (!selectedSituation) return;\n\n // FIXME: Borde nollställa variabler som beror på val.\n setSelectedValues([]);\n setSalaryData(null);\n setSelectionList(\n situations[selectedSituation.index].selections\n .filter(selection => selection.isActive)\n .map(selection => {\n const options = selection.options\n .filter(opt => !isEmpty(opt.value))\n .sort((a, b) =>\n selection.sortOptionsByNumber\n ? Number(a.value) - Number(b.value)\n : a.description.localeCompare(b.description, 'sv')\n );\n return {\n ...selection,\n options,\n };\n })\n .sort((a, b) => a.SELECTION_ORDER - b.SELECTION_ORDER)\n );\n // eslint-disable-next-line\n }, [selectedSituation, situations]);\n\n // Get menu selections if selectedValues changes\n // Also get report\n useEffect(() => {\n if (!selectedSituation) return;\n setDisableMenuselection(true);\n let filter;\n\n if (selectedValues.length > 0) {\n filter = selectedValues.map(selectedValue => {\n const s = selectedValue.values.reduce((acc, curr) => {\n return `${\n selectedValue.selection_datatype === 'N'\n ? curr.value\n : `'${curr.value}'`\n }${acc ? `, ${acc}` : ''}`;\n }, null);\n\n return `${selectedValue.sel_var} in (${s})`;\n });\n }\n\n const request = {\n Forbund: forbund,\n Dsl1: selectedSituation.DSL1,\n Dsl2: selectedSituation.DSL2,\n Year: selectedSituation.year,\n filter,\n };\n\n ApiService.getMenuselections(request, token)\n .then(data => {\n const selVars = selectionList.map(selection => selection.sel_var);\n const filters = data\n .filter(obj => selVars.includes(obj.sel_var))\n .reduce((acc, curr) => {\n acc[curr.sel_var] = [...(acc[curr.sel_var] || []), curr];\n return acc;\n }, {});\n\n const filterObjects = Object.values(filters).map(obj => ({\n // TODO: Se över om datamodellen ska ändras\n // Då slipper man göra följande map\n options: obj\n .map(o => {\n const newObj = o;\n newObj.description = newObj.desc;\n return newObj;\n })\n // Rensar tomma värden, dom som heter Okänd/Inget värde.\n .filter(opt => !isEmpty(opt.value)),\n SELECTION_TEXT: obj[0].SELECTION_TEXT,\n sel_var: obj[0].sel_var,\n SELECTION_ORDER: obj[0].SELECTION_ORDER,\n SELECTION_DATATYPE: obj[0].SELECTION_DATATYPE,\n }));\n\n setSelectionList(prevState => {\n return prevState.map(prevItem => {\n const matchingItem = filterObjects.find(\n filterItem => filterItem.sel_var === prevItem.sel_var\n );\n if (matchingItem) {\n matchingItem.id = prevItem.id;\n matchingItem.isActive = prevItem.isActive;\n matchingItem.sortOptionsByNumber = prevItem.sortOptionsByNumber;\n matchingItem.options = matchingItem.options.sort((a, b) =>\n matchingItem.sortOptionsByNumber\n ? Number(a.value) - Number(b.value)\n : a.description.localeCompare(b.description, 'sv')\n );\n return matchingItem;\n }\n return prevItem;\n });\n });\n })\n .catch(error => handleError(error))\n .finally(() => setDisableMenuselection(false));\n\n ApiService.getReport(request, token)\n .then(data => {\n // TODO: Bättre felhantering.\n // Kolla igenom resultatdata och se om vi har något att visa.\n const { lon_p10, lon_p90, lon_medel } = data[0];\n if (\n data.length === 0 ||\n [lon_p10, lon_p90, lon_medel].some(item => item == null)\n ) {\n setHasErrors(true);\n setSalaryLimit([]);\n setSalaryData(null);\n } else {\n setHasErrors(false);\n setSalaryLimit([data[0].lon_p10, data[0].lon_p90]);\n setSalaryData(data[0]);\n }\n })\n // See if token is about to expire and keep the session alive\n .then(() => autoRefreshToken(token))\n .catch(error => handleError(error))\n .finally(() => setIsLoadingReport(false));\n // eslint-disable-next-line\n }, [selectedValues]);\n\n // Get total respondents and report for selected situation\n useEffect(() => {\n if (selectedSituation) {\n const request = {\n forbund: [user.forbund],\n year: selectedSituation.year,\n dsl1: selectedSituation.DSL1,\n dsl2: selectedSituation.DSL2,\n };\n\n ApiService.getFds(request, token).then(data => {\n setDataSources(data);\n const total = data.reduce((a, b) => a + b.total, 0);\n setTotalRespondents(total);\n setCurrentRespondents(total);\n });\n\n if (user == null) return;\n const linkRequest = [\n {\n groupId: 'level2link',\n },\n ];\n ApiService.getTexts(linkRequest, token).then(data => setLinks(data));\n }\n // eslint-disable-next-line\n }, [selectedSituation]);\n\n // Set current respondents when selectedValues changes\n // TODO: Refactor this code\n useEffect(() => {\n if (selectedValues.length > 0) {\n const { values, sel_var } = selectedValues[selectedValues.length - 1];\n const matchingItem = selectionList.find(\n selection => selection.sel_var === sel_var\n );\n const listOfValues = values.map(val => val.value);\n const actualValues = matchingItem.options.filter(val =>\n listOfValues.includes(val.value)\n );\n const current = actualValues.reduce((a, b) => {\n const low = numberOfRespondents(b.antal)[0];\n const high = numberOfRespondents(b.antal)[1];\n const diff = (high - low) / 2;\n\n if (Number(low) && Number(high)) {\n return a + low + diff;\n }\n\n return a;\n }, 0);\n setCurrentRespondents(current);\n } else {\n setCurrentRespondents(totalRespondents);\n }\n }, [selectionList, selectedValues, totalRespondents]);\n\n // Initial setup.\n useEffect(() => {\n ApiService.getSituations(token)\n .then(data => {\n const activeSituations = data.filter(d => d.isActive);\n setSituations(activeSituations);\n if (activeSituations.length === 1) {\n setSelectedSituation({\n index: 0,\n DSL1: activeSituations[0].DSL1,\n DSL2: activeSituations[0].DSL2,\n year: activeSituations[0].year,\n });\n }\n })\n .catch(error => handleError(error));\n\n window.scrollTo(0, 0);\n // eslint-disable-next-line\n }, []);\n\n return (\n
    \n
    \n \n \n
    \n \n
    \n
    \n {situations ? (\n <>\n {situations.length > 1 && (\n \n )}\n \n ) : (\n
    \n \n
    \n )}\n\n {selectedSituation && (\n <>\n {totalRespondents > 0 && currentRespondents > 0 ? (\n \n ) : (\n
    \n \n
    \n )}\n \n )}\n\n {salaryData &&\n !hasErrors &&\n totalRespondents > 0 &&\n currentRespondents > 0 && (\n <>\n {!hasErrors && (\n
    \n {isLoadingReport && (\n
    \n \n
    \n )}\n {!isLoadingReport && salaryData && (\n <>\n
    \n \n
    \n \n \n )}\n
    \n )}\n \n )}\n {hasErrors && (\n <>\n
    \n Urvalet gav inga resultat, testa sök bredare.\n
    \n \n )}\n
    \n
    \n
    \n );\n};\n\nexport default PageSimple;\n","import React from 'react';\nimport styles from './SellingPoints.module.css';\n\nconst SellingPoints = () => {\n return (\n
    \n
    \n

    Bli medlem för statistik i toppklass

    \n

    \n För att kunna föra en bra lönediskussion måste man kunna lita på sina\n argument. Då behöver man högkvalitativ lönestatistik att luta sig mot.\n Det får du med Saco lönesök, som bygger på löneuppgifter från över 370\n 000 akademiker.\n

    \n

    \n I Saco lönesök kan du kan göra lönejämförelser för att se hur\n ingångslönerna eller löneutvecklingen ser ut, både för din egen\n utbildning, ditt yrke och/eller för andra yrkesgrupper. Du kan också\n bryta ner statistiken på olika åldersgrupper, examensår, befattningar,\n regioner och arbetsmarknadssektorer.\n

    \n

    Som medlem får du tillgång till:

    \n
      \n
    • Branschspecifik lönestatistik från arbetsgivare och medlemmar
    • \n
    • Möjlighet till analys i två nivåer
    • \n
        \n
      • Enkel
      • \n
      • Avancerad
      • \n
      \n
    • Möjlighet att spara dina resultat
    • \n
    \n
    \n
    \n );\n};\n\nexport default SellingPoints;\n","import React from 'react';\nimport styles from './Welcome.module.css';\n\nconst Welcome = () => {\n return (\n
    \n

    Välkommen!

    \n

    \n Har du koll på ditt löneläge? Med Saco lönesök får du tillgång till\n Sveriges bästa lönestatistik för akademiker. Saco lönesök är flexibelt\n och ger dig stora möjligheter att anpassa lönestatistik utifrån ditt\n unika behov. Använd Saco lönesök inför ditt lönesamtal, innan du tackar\n ja till ett nytt jobb och när du funderar på att byta bransch, roll\n eller yrke. Lönestatistik är ditt främsta verktyg i löneförhandlingen.\n

    \n

    \n Nedan kan du göra en grov uppskattning av ditt löneläge. För att få\n tillgång till hela Saco lönesök behöver du vara medlem i ett\n Sacoförbund.\n

    \n
    \n );\n};\n\nexport default Welcome;\n","/* eslint-disable camelcase */\nimport React, { useState, useEffect, useCallback } from 'react';\nimport { Child } from 'pym.js';\nimport SalaryAnalysis from 'components/simple/salaryanalysis/SalaryAnalysis';\nimport Situation from 'components/simple/situation/Situation';\nimport SalarySlider from 'components/simple/salaryslider/SalarySlider';\nimport SalaryProfile from 'components/simple/salaryprofile/SalaryProfile';\nimport Loader from 'atoms/loader/Loader';\nimport ApiService from 'services/ApiService';\nimport SellingPoints from 'components/simple/sellingpoints/SellingPoints';\nimport ExternalLink from 'components/simple/externallink/ExternalLink';\nimport Welcome from 'components/simple/welcome/Welcome';\nimport isEmpty from 'lib/emptyValues';\nimport { useAuth } from 'services/UseAuth';\nimport { useHistory } from 'react-router-dom';\nimport styles from './PageSimple.module.css';\n\nconst PageSimpleFree = () => {\n const [selectionList, setSelectionList] = useState([]);\n const [selectedSalary, setSelectedSalary] = useState();\n\n const [selectedValues, setSelectedValues] = useState([]);\n const [selectedSituation, setSelectedSituation] = useState();\n const [situations, setSituations] = useState();\n\n const [salaryData, setSalaryData] = useState();\n const [salaryLimit, setSalaryLimit] = useState([]);\n const [hasErrors, setHasErrors] = useState(false);\n const [isLoadingReport, setIsLoadingReport] = useState(false);\n\n const [links, setLinks] = useState([]);\n\n const [disableMenuselection, setDisableMenuselection] = useState(false);\n\n const [, setState] = useState();\n\n const { signout } = useAuth();\n const history = useHistory();\n\n // TODO: Handle network errors\n const handleError = useCallback(\n error => {\n if (error.status === 401) {\n signout();\n history.push('/logga-ut');\n } else {\n setState(() => {\n throw error;\n });\n }\n },\n [signout, history]\n );\n\n // This page is included as an iframe\n useEffect(() => {\n let pymChild = new Child({ polling: 1000 });\n pymChild.sendHeight();\n\n return () => {\n pymChild = null;\n };\n }, []);\n\n useEffect(() => {\n if (!selectedSituation) return;\n\n // FIXME: Borde nollställa variabler som beror på val.\n setSelectedValues([]);\n setSalaryData(null);\n setSelectionList(\n situations[selectedSituation.index].selections\n .filter(selection => selection.isActive)\n .map(selection => ({\n ...selection,\n // filter out \"empty\" options initially\n options: selection.options.filter(opt => !isEmpty(opt.value)),\n }))\n .sort((a, b) => a.SELECTION_ORDER - b.SELECTION_ORDER)\n );\n }, [selectedSituation, situations]);\n\n // Get menu selections if selectedValues changes\n // Also get report\n useEffect(() => {\n if (!selectedSituation) return;\n setDisableMenuselection(true);\n let filter;\n\n if (selectedValues.length > 0) {\n filter = selectedValues.map(selectedValue => {\n const s = selectedValue.values.reduce((acc, curr) => {\n return `${\n selectedValue.selection_datatype === 'N'\n ? curr.value\n : `'${curr.value}'`\n }${acc ? `, ${acc}` : ''}`;\n }, null);\n\n return `${selectedValue.sel_var} in (${s})`;\n });\n }\n\n const request = {\n Dsl1: selectedSituation.DSL1,\n Dsl2: selectedSituation.DSL2,\n Year: selectedSituation.year,\n filter,\n };\n\n ApiService.getMenuselectionsFree(request)\n .then(data => {\n const selVars = selectionList.map(selection => selection.sel_var);\n const filters = data\n .filter(obj => selVars.includes(obj.sel_var))\n .reduce((acc, curr) => {\n acc[curr.sel_var] = [...(acc[curr.sel_var] || []), curr];\n return acc;\n }, {});\n\n const filterObjects = Object.values(filters).map(obj => ({\n // TODO: Se över om datamodellen ska ändras\n // Då slipper man göra följande map\n options: obj\n .map(o => {\n const newObj = o;\n newObj.description = newObj.desc;\n return newObj;\n })\n // Rensar tomma värden, dom som heter Okänd/Inget värde.\n .filter(opt => !isEmpty(opt.value)),\n SELECTION_TEXT: obj[0].SELECTION_TEXT,\n sel_var: obj[0].sel_var,\n SELECTION_ORDER: obj[0].SELECTION_ORDER,\n SELECTION_DATATYPE: obj[0].SELECTION_DATATYPE,\n }));\n\n setSelectionList(prevState => {\n return prevState.map(prevItem => {\n const matchingItem = filterObjects.find(\n filterItem => filterItem.sel_var === prevItem.sel_var\n );\n if (matchingItem) {\n matchingItem.id = prevItem.id;\n matchingItem.isActive = prevItem.isActive;\n return matchingItem;\n }\n return prevState;\n });\n });\n })\n .catch(error => handleError(error))\n .finally(() => setDisableMenuselection(false));\n\n ApiService.getReportFree(request)\n .then(data => {\n // TODO: Bättre felhantering.\n // Kolla igenom resultatdata och se om vi har något att visa.\n const { lon_p10, lon_p90, lon_medel } = data[0];\n if (\n data.length === 0 ||\n [lon_p10, lon_p90, lon_medel].some(item => item == null)\n ) {\n setHasErrors(true);\n setSalaryLimit([]);\n setSalaryData(null);\n } else {\n setHasErrors(false);\n setSalaryLimit([data[0].lon_p10, data[0].lon_p90]);\n setSalaryData(data[0]);\n }\n })\n .catch(error => handleError(error))\n .finally(() => setIsLoadingReport(false));\n // eslint-disable-next-line\n }, [handleError, selectedValues]);\n\n // Initial setup (situations and links).\n useEffect(() => {\n ApiService.getSituationsFree()\n .then(data => {\n const activeSituations = data.filter(d => d.isActive);\n setSituations(activeSituations);\n if (activeSituations.length === 1) {\n setSelectedSituation({\n index: 0,\n DSL1: activeSituations[0].DSL1,\n DSL2: activeSituations[0].DSL2,\n year: activeSituations[0].year,\n });\n }\n })\n .catch(error => handleError(error));\n const linkRequest = [\n {\n groupId: 'level1link',\n },\n ];\n ApiService.getTexts(linkRequest).then(data => setLinks(data));\n }, [handleError]);\n\n return (\n
    \n
    \n {/*
    \n \n
    */}\n
    \n \n {situations ? (\n <>\n {situations.length > 1 && (\n \n )}\n \n ) : (\n
    \n \n
    \n )}\n\n {selectedSituation && (\n \n )}\n\n {salaryData && !hasErrors && (\n <>\n {!hasErrors && (\n
    \n {isLoadingReport && (\n
    \n \n
    \n )}\n {!isLoadingReport && salaryData && (\n <>\n
    \n \n
    \n \n \n )}\n
    \n )}\n \n )}\n {hasErrors && (\n <>\n
    \n Urvalet gav inga resultat, testa sök bredare.\n
    \n \n )}\n
    \n \n {links[0] &&\n links.map(({ header, id, value }) => (\n \n ))}\n
    \n
    \n );\n};\n\nexport default PageSimpleFree;\n","export default function downloadExcel(\n name,\n endpoint,\n errorFunction,\n payload,\n token\n) {\n // TODO: Access response headers and read fileName from there\n const fileName = `${name}_${new Date().toLocaleDateString('sv')}.xlsx`;\n\n // Download excel file\n endpoint(payload, token)\n .then(res => res.blob())\n .then(blob => {\n const url = window.URL.createObjectURL(blob);\n const a = document.createElement('a');\n a.href = url;\n a.download = fileName;\n document.body.appendChild(a); // we need to append the element to the dom -> otherwise it will not work in firefox\n a.click();\n a.remove(); // afterwards we remove the element again\n })\n .catch(error => errorFunction(error));\n}\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport ButtonLink from 'atoms/buttonlink/ButtonLink';\nimport { useAuth } from 'services/UseAuth';\nimport ApiService from 'services/ApiService';\nimport { useHistory } from 'react-router-dom';\nimport downloadExcel from 'lib/excel';\nimport styles from './DownloadExcel.module.css';\n\nconst DownloadExcel = ({ \n selectedPresentation, \n tableData, \n activeFilters, \n activeDataSource, \n dataSources, \n measureVar\n}) => {\n // TODO: Accept null for fields?\n // Would reflect the actual table html better\n const { DSL1_DESC, DSL2_DESC, FORBUND, YEAR } = activeDataSource && dataSources.find(\n source =>\n source.FORBUND === activeDataSource.forbund &&\n source.DSL1 === activeDataSource.dsl1 &&\n source.DSL2 === activeDataSource.dsl2 &&\n source.YEAR === activeDataSource.year\n );\n\n const request = {\n breakby1Header: selectedPresentation[0]\n ? selectedPresentation[0]?.REPORT_TEXT\n : null,\n breakby2Header: selectedPresentation[1]\n ? selectedPresentation[1]?.REPORT_TEXT\n : null,\n lonereport: tableData\n .sort((row1, row2) => row2._TYPE_ - row1._TYPE_) // eslint-disable-line no-underscore-dangle\n .map(row => row._TYPE_ === 0 ? {...row, breakby1: \"Samtliga\"} : row), // eslint-disable-line no-underscore-dangle\n\n dataSource: {\n forbund: FORBUND,\n dsl1: DSL1_DESC,\n dsl2: DSL2_DESC,\n year: YEAR\n },\n filters: activeFilters.map(f => { return {name: f.name, values: f.values.map(x => x.desc)}}),\n measureVar\n }\n const isData = request.lonereport.length > 0;\n\n const [, setState] = useState();\n\n const { user, signout } = useAuth();\n\n const history = useHistory();\n\n // TODO: Better error handling?\n const handleError = error => {\n if (error.status === 401) {\n signout();\n history.push('/logga-ut');\n } else {\n setState(() => {\n throw error;\n });\n }\n };\n\n return (\n {\n downloadExcel(\n 'Report',\n ApiService.getReportExcel,\n handleError,\n request,\n user.token\n );\n }}\n />\n );\n};\n\nDownloadExcel.propTypes = {\n selectedPresentation: PropTypes.arrayOf(Object),\n tableData: PropTypes.arrayOf(Object),\n activeDataSource: PropTypes.shape({\n forbund: PropTypes.string,\n dsl1: PropTypes.string,\n dsl2: PropTypes.string,\n year: PropTypes.number,\n }),\n dataSources: PropTypes.arrayOf(Object),\n activeFilters: PropTypes.arrayOf(Object),\n measureVar: PropTypes.string.isRequired\n};\n\nDownloadExcel.defaultProps = {\n selectedPresentation: null,\n tableData: [],\n dataSources: [],\n activeDataSource: {},\n activeFilters: [],\n};\n\nexport default DownloadExcel;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ButtonLink from 'atoms/buttonlink/ButtonLink';\nimport useVisible from 'hooks/useVisible';\nimport styles from './DownloadSection.module.css';\nimport DownloadExcel from './downloadexcel/DownloadExcel';\n\nconst DownloadSection = ({\n selectedPresentation,\n tableData,\n activeDataSource,\n activeFilters,\n dataSources,\n measureVar,\n}) => {\n const {\n ref,\n isVisible: showOptions,\n setIsVisible: setShowOptions,\n } = useVisible(false);\n\n return (\n
    \n setShowOptions(!showOptions)}\n />\n {showOptions && (\n
    \n \n
    \n )}\n
    \n );\n};\n\nDownloadSection.propTypes = {\n selectedPresentation: PropTypes.arrayOf(Object),\n tableData: PropTypes.arrayOf(Object),\n activeDataSource: PropTypes.shape({\n forbund: PropTypes.string,\n dsl1: PropTypes.string,\n dsl2: PropTypes.string,\n year: PropTypes.number,\n }).isRequired,\n dataSources: PropTypes.arrayOf(Object),\n activeFilters: PropTypes.arrayOf(Object),\n measureVar: PropTypes.string.isRequired,\n};\n\nDownloadSection.defaultProps = {\n tableData: [],\n selectedPresentation: null,\n dataSources: [],\n activeFilters: [],\n};\n\nexport default DownloadSection;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Breadcrumbs from 'atoms/breadcrumbs/Breadcrumbs';\nimport styles from './ToolBar.module.css';\nimport DownloadSection from './downloadsection/DownloadSection';\n\nconst ToolBar = ({\n selectedPresentation,\n tableData,\n activeFilters,\n activeDataSource,\n dataSources,\n measureVar,\n}) => {\n return (\n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n );\n};\n\nToolBar.propTypes = {\n selectedPresentation: PropTypes.arrayOf(Object),\n tableData: PropTypes.arrayOf(Object),\n activeDataSource: PropTypes.shape({\n forbund: PropTypes.string,\n dsl1: PropTypes.string,\n dsl2: PropTypes.string,\n year: PropTypes.number,\n }),\n dataSources: PropTypes.arrayOf(Object),\n activeFilters: PropTypes.arrayOf(Object),\n measureVar: PropTypes.string.isRequired,\n};\n\nToolBar.defaultProps = {\n selectedPresentation: null,\n tableData: [],\n dataSources: [],\n activeDataSource: {},\n activeFilters: [],\n};\n\nexport default ToolBar;\n","/* eslint-disable camelcase */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport Checkbox from 'atoms/checkbox/Checkbox';\nimport styles from './FilterItem.module.css';\n\nconst FilterItem = ({\n activeFilters,\n disableMenuselection,\n handleSelectedFilters,\n listItem,\n}) => {\n return (\n
    \n {listItem.list.map(item => {\n const { sel_var, value, selectable, antal } = item;\n return (\n activeFilter.sel_var === sel_var)\n .some(activeFilter =>\n activeFilter.values.some(\n filterValue => filterValue.value === value\n )\n )}\n disabled={disableMenuselection || !selectable || antal === ' < 5'}\n item={item}\n key={sel_var + value}\n onChange={() => handleSelectedFilters(item)}\n variant=\"secondary\"\n className={antal === ' < 5' ? styles.greyed : ''}\n />\n );\n })}\n
    \n );\n};\n\nFilterItem.propTypes = {\n activeFilters: PropTypes.arrayOf(Object).isRequired,\n disableMenuselection: PropTypes.bool.isRequired,\n handleSelectedFilters: PropTypes.func.isRequired,\n listItem: PropTypes.shape({\n list: PropTypes.arrayOf(\n PropTypes.shape({\n sel_var: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n selectable: PropTypes.bool,\n antal: PropTypes.string,\n })\n ),\n }).isRequired,\n};\n\nexport default FilterItem;\n","import Accordion from 'atoms/accordion/Accordion';\nimport ButtonLink from 'atoms/buttonlink/ButtonLink';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport FilterItem from './filteritem/FilterItem';\nimport styles from './FilterList.module.css';\n\nconst FILTER_LIMIT = 4;\n\nconst FilterList = ({\n filterList,\n activeFilters,\n setActiveFilters,\n disableMenuselection,\n}) => {\n const [showAllFilters, setShowAllFilters] = useState(false);\n\n // FIXME: Borde lösa snyggare.\n // TODO: Behöver tillgång till namn på filter och namn på option.\n // TODO: Fixa datamodell överallt.\n const handleSelectedFilters = filterOption => {\n const index = activeFilters.findIndex(\n activeFilter => activeFilter.sel_var === filterOption.sel_var\n );\n\n const item = activeFilters[index];\n\n let newItem;\n\n if (item == null) {\n newItem = {\n name: filterOption.name,\n sel_var: filterOption.sel_var,\n selection_datatype: filterOption.SELECTION_DATATYPE,\n values: [\n {\n value: filterOption.value,\n desc: filterOption.description,\n antal: filterOption.antal,\n },\n ],\n };\n } else if (item.values.some(obj => obj.value === filterOption.value)) {\n newItem = {\n name: filterOption.name,\n sel_var: filterOption.sel_var,\n selection_datatype: filterOption.SELECTION_DATATYPE,\n values: item.values.filter(opt => opt.value !== filterOption.value),\n };\n } else {\n newItem = item;\n newItem.values.push({\n value: filterOption.value,\n desc: filterOption.description,\n antal: filterOption.antal,\n });\n }\n\n if (item) {\n setActiveFilters(prevState => {\n const tempState = [...prevState];\n tempState[index] = newItem;\n return tempState.filter(element => element.values.length > 0);\n });\n return;\n }\n\n setActiveFilters(prevState => [\n ...prevState.filter(prev => prev.sel_var !== newItem.sel_var),\n newItem,\n ]);\n };\n\n // TODO: Kanske bara borde visa alla filter som default och fixa scrollen istället?\n return (\n 0 ? styles.hasItems : ''\n }`}\n >\n
    \n
    \n {filterList.length > 0 &&\n filterList\n .slice(0, showAllFilters ? filterList.length : FILTER_LIMIT)\n .map(listItem => (\n option.antal !== ' < 5')\n ? ''\n : styles.mobileEmpty\n }\n >\n \n \n ))}\n
    \n
    \n {!showAllFilters && filterList.length > FILTER_LIMIT ? (\n
    \n setShowAllFilters(true)}\n />\n
    \n ) : (\n
    \n setShowAllFilters(false)}\n />\n
    \n )}\n
    \n );\n};\n\nFilterList.propTypes = {\n filterList: PropTypes.arrayOf(Object).isRequired,\n activeFilters: PropTypes.arrayOf(Object).isRequired,\n setActiveFilters: PropTypes.func.isRequired,\n disableMenuselection: PropTypes.bool.isRequired,\n};\n\nexport default FilterList;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { IconFilter } from 'tabler-icons';\nimport ButtonLink from 'atoms/buttonlink/ButtonLink';\nimport styles from './Filters.module.css';\nimport FilterList from './filterlist/FilterList';\n\nconst Filters = ({\n filterList,\n activeFilters,\n setActiveFilters,\n disableMenuselection,\n}) => {\n return (\n
    \n
    \n
    \n

    \n \n Filter\n

    \n
    \n
    \n setActiveFilters([])}\n />\n
    \n
    \n \n
    \n );\n};\n\nFilters.propTypes = {\n filterList: PropTypes.arrayOf(Object).isRequired,\n activeFilters: PropTypes.arrayOf(Object).isRequired,\n setActiveFilters: PropTypes.func.isRequired,\n disableMenuselection: PropTypes.bool.isRequired,\n};\n\nexport default Filters;\n","import Loader from 'atoms/loader/Loader';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport styles from './Select.module.css';\n\nfunction Select({\n defaultValue,\n disabled,\n loading,\n variant,\n label,\n id,\n onChange,\n options,\n value,\n compact,\n marginBottom,\n shaded,\n}) {\n console.log('Options: ', options);\n const filteredOptions = value\n ? options.filter(opt => opt.value !== null)\n : options;\n console.log('FilteredOptions: ', filteredOptions);\n return (\n \n {loading && (\n
    \n \n
    \n )}\n {label && (\n \n {`${label}:`}\n \n )}\n
    \n \n {filteredOptions.map(\n ({ desc, key, value: optionValue, disabled: optionDisabled }) => (\n \n )\n )}\n \n
    \n
    \n );\n}\n\nSelect.propTypes = {\n defaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n disabled: PropTypes.bool,\n loading: PropTypes.bool,\n compact: PropTypes.bool,\n marginBottom: PropTypes.bool,\n shaded: PropTypes.bool,\n id: PropTypes.string.isRequired,\n label: PropTypes.string,\n variant: PropTypes.oneOf(['primary', 'secondary']),\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(Object).isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n};\n\nSelect.defaultProps = {\n defaultValue: undefined,\n disabled: false,\n loading: false,\n compact: false,\n marginBottom: false,\n shaded: false,\n label: '',\n variant: 'primary',\n onChange: () => {},\n value: undefined,\n};\n\nexport default Select;\n","import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport styles from './DataSourceSummary.module.css';\nimport { useAuth } from '../../../../services/UseAuth';\nimport ApiService from '../../../../services/ApiService';\n\nconst DataSourceSummary = ({\n activeDataSource,\n availableDSL1,\n availableDSL2,\n}) => {\n const { year, dsl1, dsl2, forbund } = activeDataSource;\n const [forbundName, setForbundName] = useState('samtliga Sacoförbund');\n const {\n user: { token },\n } = useAuth();\n\n useEffect(() => {\n ApiService.getUnion(token).then(res => setForbundName(res.name));\n }, []);\n\n const dslToString = (dsl, availableDsl) => {\n return availableDsl.find(item => item.dsl === dsl)?.desc;\n };\n\n return (\n <>\n

    \n {`Du tittar på statistik från ${year} från ${\n forbund === 'SA' ? 'samtliga Sacoförbund' : forbundName\n }.`}\n {!!availableDSL1.length && (\n \n {` Statistiken baseras på ${dslToString(dsl1, availableDSL1)}`}\n {!!availableDSL2.length && ` - ${dslToString(dsl2, availableDSL2)}`}\n .\n \n )}\n

    \n \n );\n};\n\nDataSourceSummary.propTypes = {\n activeDataSource: PropTypes.shape({\n year: PropTypes.number,\n dsl1: PropTypes.string,\n dsl2: PropTypes.string,\n }).isRequired,\n availableDSL1: PropTypes.arrayOf(Object),\n availableDSL2: PropTypes.arrayOf(Object),\n};\n\nDataSourceSummary.defaultProps = {\n availableDSL1: [],\n availableDSL2: [],\n};\n\nexport default DataSourceSummary;\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { useHistory } from 'react-router-dom';\nimport { IconDatabase } from 'tabler-icons';\nimport Select from 'atoms/select/Select';\nimport { useAuth } from 'services/UseAuth';\nimport styles from './DataSource.module.css';\nimport DataSourceSummary from './datasourcesummary/DataSourceSummary';\n\nconst DataSource = ({\n activeDataSource,\n dataSources,\n defaultYearFromDeepAnalysis,\n defaultYearToDeepAnalysis,\n disableMenuselection,\n setActiveDataSource,\n}) => {\n const history = useHistory();\n\n const [forbund, setForbund] = useState(activeDataSource.forbund);\n const [availableYears, setAvailableYears] = useState([]);\n const [availableForbund, setAvailableForbund] = useState([]);\n const [availableDSL1, setAvailableDSL1] = useState([]);\n const [availableDSL2, setAvailableDSL2] = useState([]);\n\n const { user } = useAuth();\n const { role } = user;\n\n const yearRange =\n defaultYearFromDeepAnalysis !== 0 &&\n defaultYearFromDeepAnalysis !== null &&\n defaultYearToDeepAnalysis - defaultYearFromDeepAnalysis > 1;\n\n const getAvailableSources = (source, rules) =>\n source.filter(item =>\n rules.every(({ property, expression }) => expression(item[property]))\n );\n\n const findSource = (source, rules) =>\n source.find(item =>\n rules.every(({ property, expression }) => expression(item[property]))\n );\n\n const inRange = (x, min, max) => (x - min) * (x - max) <= 0;\n\n const getYear = p => {\n const from = defaultYearFromDeepAnalysis;\n const to = defaultYearToDeepAnalysis;\n\n // defaultYearFromDeepAnalysis might be null, it might also be 0 in some cases\n const fromConfigured = from !== null && from !== 0;\n\n if (role === 'medlem' && fromConfigured && from !== to) {\n return inRange(p, from, to);\n }\n\n // If defaultYearFromDeepAnalysis is not configured members has to have the option\n // to search one year back in time, out of the configured range\n if (role === 'medlem') {\n return inRange(p, to - 1, to);\n }\n\n return p === activeDataSource.year;\n };\n\n // This function uses the findSource function recursively with a list of rules.\n // If the findSource function don't return a result for all of the defined rules\n // the function will try again with all rules except the last one.\n const sequentiallyFindSource = (arr, rules) => {\n let result;\n\n for (let i = 0; i < rules.length; i += 1) {\n result = findSource(arr, rules);\n if (!result) {\n rules.pop();\n }\n if (result) {\n break;\n }\n }\n\n // If no result, find the first source with the \"DEFAULT\" property set to 1\n if (!result) {\n result = findSource(arr, [\n { property: 'DEFAULT', expression: p => p === 1 },\n ]);\n }\n\n // If there's no default source configured, choose the first object in the array\n if (!result) [result] = arr;\n return result;\n };\n\n const setSource = source =>\n setActiveDataSource({\n forbund: source.FORBUND,\n dsl1: source.DSL1,\n dsl2: source.DSL2,\n measureVar: source.measure_var,\n year: source.YEAR,\n });\n\n const handleChange = (value, type) => {\n const previousDatasource = { ...activeDataSource };\n\n if (type === 'year') {\n const availableSources = getAvailableSources(dataSources, [\n { property: 'YEAR', expression: p => p === Number(value) },\n ]);\n\n const newSource = sequentiallyFindSource(availableSources, [\n { property: 'DSL1', expression: p => p === previousDatasource.dsl1 },\n {\n property: 'FORBUND',\n expression: p => p === previousDatasource.forbund,\n },\n { property: 'DSL2', expression: p => p === previousDatasource.dsl2 },\n ]);\n\n setSource(newSource);\n }\n\n // Helps members load the newest available source\n // Prevents 400-errors from lonereport endpoint\n // We're not sure if the 'SA'-union is configured the same way as the current union\n if (type === 'forbund') {\n // Two commented rules below caused errors. It tries to find sources that are\n // same as the chosen ones, which breaks if user changes datasource and there\n // aren't available sources from ex. same year or with the same dsl1.\n // Now it takes what it can get when forbund changes.\n const availableSources = getAvailableSources(dataSources, [\n { property: 'FORBUND', expression: p => p === value },\n // { property: 'YEAR', expression: p => getYear(p) },\n // { property: 'DSL1', expression: p => p === activeDataSource.dsl1 },\n ]).sort((a, b) => b?.YEAR - a?.YEAR);\n\n const newSource = sequentiallyFindSource(availableSources, [\n { property: 'DSL1', expression: p => p === previousDatasource.dsl1 },\n { property: 'DSL2', expression: p => p === previousDatasource.dsl2 },\n ]);\n\n setSource(newSource);\n setForbund(value);\n }\n\n if (type === 'dsl1') {\n const availableSources = getAvailableSources(dataSources, [\n {\n property: 'FORBUND',\n expression: p => p === activeDataSource.forbund,\n },\n { property: 'DSL1', expression: p => p === value },\n {\n property: 'YEAR',\n expression: p => getYear(p),\n },\n ]).sort((a, b) => {\n if (\n a.YEAR === activeDataSource.year &&\n b.YEAR !== activeDataSource.year\n ) {\n return -1;\n }\n if (\n a.YEAR !== activeDataSource.year &&\n b.YEAR === activeDataSource.year\n ) {\n return 1;\n }\n return b?.YEAR - a?.YEAR;\n });\n\n const newSource = sequentiallyFindSource(availableSources, [\n { property: 'YEAR', expression: p => p === previousDatasource.year },\n { property: 'DSL2', expression: p => p === previousDatasource.dsl2 },\n ]);\n\n setSource(newSource);\n }\n\n if (type === 'dsl2') {\n const availableSources = getAvailableSources(dataSources, [\n {\n property: 'FORBUND',\n expression: p => p === activeDataSource.forbund,\n },\n {\n property: 'YEAR',\n expression: p => getYear(p),\n },\n { property: 'DSL2', expression: p => p === value },\n ]).sort((a, b) => {\n if (\n a.YEAR === activeDataSource.year &&\n b.YEAR !== activeDataSource.year\n ) {\n return -1;\n }\n if (\n a.YEAR !== activeDataSource.year &&\n b.YEAR === activeDataSource.year\n ) {\n return 1;\n }\n return b?.YEAR - a?.YEAR;\n });\n\n let newSource;\n\n // Try an older source only if the user currently are viewing the default year\n // If not, the user should be redirected to the newest possible source\n if (role === 'medlem' && !yearRange) {\n newSource = sequentiallyFindSource(availableSources, [\n {\n property: 'YEAR',\n expression: p => {\n if (activeDataSource.year === defaultYearToDeepAnalysis) {\n return p >= defaultYearToDeepAnalysis - 1;\n }\n\n return p === defaultYearToDeepAnalysis;\n },\n },\n ]);\n } else {\n newSource = sequentiallyFindSource(availableSources, [\n {\n property: 'YEAR',\n expression: p => p === previousDatasource.year,\n },\n ]);\n }\n setSource(newSource);\n }\n };\n\n useEffect(() => {\n setAvailableForbund(\n dataSources.reduce((acc, curr) => {\n if (!acc.includes(curr.FORBUND)) acc.push(curr.FORBUND);\n return acc;\n }, [])\n );\n\n setAvailableYears(\n dataSources\n .filter(\n ds =>\n ds.DSL1 === activeDataSource.dsl1 &&\n ds.DSL2 === activeDataSource.dsl2\n )\n .reduce((acc, curr) => {\n if (!acc.includes(curr.YEAR)) acc.push(curr.YEAR);\n return acc;\n }, [])\n .filter(y => {\n if (\n role === 'medlem' &&\n defaultYearFromDeepAnalysis &&\n forbund !== 'SA'\n ) {\n return inRange(\n y,\n defaultYearFromDeepAnalysis,\n defaultYearToDeepAnalysis\n );\n }\n\n if (role === 'medlem') {\n return inRange(\n y,\n defaultYearToDeepAnalysis - 1,\n defaultYearToDeepAnalysis\n );\n }\n\n return y;\n })\n .sort()\n );\n }, [\n activeDataSource,\n role,\n dataSources,\n defaultYearFromDeepAnalysis,\n defaultYearToDeepAnalysis,\n forbund,\n ]);\n\n useEffect(() => {\n setAvailableDSL1(\n getAvailableSources(dataSources, [\n {\n property: 'FORBUND',\n expression: p => p === activeDataSource.forbund,\n },\n {\n property: 'YEAR',\n expression: p => getYear(p),\n },\n ])\n .map(ds => {\n return {\n dsl: ds.DSL1,\n desc: ds.DSL1_DESC,\n };\n })\n .reduce((acc, curr) => {\n if (!acc.some(a => a.dsl === curr.dsl)) acc.push(curr);\n return acc;\n }, [])\n );\n // eslint-disable-next-line\n }, [\n activeDataSource.year,\n activeDataSource.forbund,\n defaultYearFromDeepAnalysis,\n defaultYearToDeepAnalysis,\n role,\n ]);\n\n useEffect(() => {\n setAvailableDSL2(\n getAvailableSources(dataSources, [\n {\n property: 'FORBUND',\n expression: p => p === activeDataSource.forbund,\n },\n { property: 'DSL1', expression: p => p === activeDataSource.dsl1 },\n {\n property: 'YEAR',\n expression: p => getYear(p),\n },\n ])\n .sort((a, b) => b.YEAR - a.YEAR)\n .map(ds => {\n const lastYearsData = ds.YEAR !== activeDataSource.year;\n return {\n dsl: ds.DSL2,\n desc: lastYearsData ? `${ds.DSL2_DESC} - ${ds.YEAR}` : ds.DSL2_DESC,\n lastYearsData,\n };\n })\n .sort((a, b) => {\n // TODO: Do we need this?\n // if (activeDataSource.year < defaultYearToDeepAnalysis) {\n // return b.lastYearsData - a.lastYearsData;\n // }\n return a.lastYearsData - b.lastYearsData;\n })\n .reduce((acc, curr) => {\n if (!acc.some(a => a.dsl === curr.dsl)) acc.push(curr);\n return acc;\n }, [])\n .filter(a => a.desc !== 'Okänt')\n );\n // eslint-disable-next-line\n }, [\n activeDataSource.year,\n activeDataSource.dsl1,\n activeDataSource.forbund,\n defaultYearFromDeepAnalysis,\n defaultYearToDeepAnalysis,\n role,\n ]);\n\n const allAvailableYears = () =>\n availableYears.map(item => ({\n key: item,\n value: item,\n desc: item,\n }));\n\n // TODO: se över logiken, utför i backend och returnera en array med optionsen bara i ett API-kall\n const getYearOptions = () => {\n if (role === 'medlem') {\n if (activeDataSource.forbund === 'CF') {\n return allAvailableYears();\n }\n const latestAvailableYear = availableYears[availableYears.length - 1];\n\n return [\n {\n key: latestAvailableYear,\n value: latestAvailableYear,\n desc: latestAvailableYear,\n },\n ];\n }\n\n return allAvailableYears();\n };\n\n return (\n <>\n
    \n

    \n \n Statistikkällor\n

    \n \n
    \n handleChange(evt.target.value, 'forbund')}\n options={availableForbund.map(item => ({\n key: item,\n value: item,\n desc: item === 'SA' ? 'Samtliga Sacoförbund' : 'Mitt förbund',\n }))}\n value={activeDataSource.forbund}\n />\n
    \n
    \n handleChange(evt.target.value, 'dsl1')}\n options={availableDSL1.map(({ desc, dsl }) => ({\n key: dsl,\n value: dsl,\n desc,\n }))}\n value={activeDataSource.dsl1}\n />\n
    \n {availableDSL2.length > 0 && (\n
    \n handleChange(evt.target.value, 'dsl2')}\n options={availableDSL2.map(({ desc, dsl }) => ({\n key: dsl,\n value: dsl,\n desc,\n }))}\n value={activeDataSource.dsl2}\n />\n
    \n )}\n {/* Dont let users change year, unless there's an interval configured */}\n {/* That is: defaultYearFromDeepAnalysis can't be null, zero or just defaultYearToDeepAnalysis - 1 */}\n {(role !== 'medlem' || (role === 'medlem' && yearRange)) && (\n
    \n handleChange(evt.target.value, 'year')}\n value={activeDataSource.year.toString()}\n />\n
    \n )}\n history.push('#statistics')}\n >\n Läs om statistikkällorna\n \n
    \n
    \n \n
    \n \n );\n};\n\nDataSource.propTypes = {\n activeDataSource: PropTypes.shape({\n forbund: PropTypes.string.isRequired,\n dsl1: PropTypes.string.isRequired,\n dsl2: PropTypes.string.isRequired,\n measureVar: PropTypes.arrayOf(String).isRequired,\n year: PropTypes.number.isRequired,\n }).isRequired,\n dataSources: PropTypes.arrayOf(Object).isRequired,\n defaultYearFromDeepAnalysis: PropTypes.number,\n defaultYearToDeepAnalysis: PropTypes.number.isRequired,\n disableMenuselection: PropTypes.bool.isRequired,\n setActiveDataSource: PropTypes.func.isRequired,\n};\n\nDataSource.defaultProps = {\n defaultYearFromDeepAnalysis: null,\n};\n\nexport default DataSource;\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport Select from 'atoms/select/Select';\nimport styles from './Presentation.module.css';\n\nconst Presentation = ({\n allowCustomPresentation,\n presentationList,\n selectedPresentation,\n setCustomPresentation,\n setSelectedPresentation,\n fetchingData\n}) => {\n const [selectedBreakby, setSelectedBreakby] = useState();\n\n const handleSelectedPresentation = e => {\n if (e.target.value === 'custom') {\n setCustomPresentation(true);\n } else {\n setCustomPresentation(false);\n const matchingPresentation = presentationList.find(\n pres => pres.BREAKBY_VAR === e.target.value\n );\n setSelectedPresentation([matchingPresentation]);\n }\n\n setSelectedBreakby(e.target.value);\n };\n\n useEffect(() => {\n if (selectedPresentation.length === 1) {\n setSelectedBreakby(selectedPresentation[0].BREAKBY_VAR);\n }\n }, [selectedPresentation]);\n\n return (\n
    \n {presentationList.length > 0 && selectedBreakby && (\n handleSelectedPresentation(e)}\n options={[\n ...presentationList.map(({ BREAKBY_VAR, REPORT_TEXT }) => ({\n key: BREAKBY_VAR,\n value: BREAKBY_VAR,\n desc: REPORT_TEXT,\n })),\n ...(presentationList.length > 1 && allowCustomPresentation\n ? [\n {\n key: 'custom',\n value: 'custom',\n desc: 'Egen rapport',\n },\n ]\n : []),\n ]}\n value={selectedBreakby}\n />\n )}\n
    \n );\n};\n\nPresentation.propTypes = {\n allowCustomPresentation: PropTypes.bool.isRequired,\n presentationList: PropTypes.arrayOf(Object),\n selectedPresentation: PropTypes.arrayOf(Object),\n setCustomPresentation: PropTypes.func.isRequired,\n setSelectedPresentation: PropTypes.func.isRequired,\n};\n\nPresentation.defaultProps = {\n presentationList: [],\n selectedPresentation: [],\n};\n\nexport default Presentation;\n","/* eslint-disable camelcase, no-underscore-dangle, no-param-reassign */\n\nexport function debounce(func, timeout = 300) {\n let timer;\n return (...args) => {\n clearTimeout(timer);\n timer = setTimeout(() => {\n func.apply(this, args);\n }, timeout);\n };\n}\n\nexport function formatNumber(value) {\n if (!value) return '-';\n return value.toLocaleString('sv');\n}\n\nexport function formatAccessor(str) {\n return str && str.toLowerCase().replace(/\\s/g, '-').toLocaleString('en');\n}\n\nexport function generateCustomColumns(acc, curr, groupingCol) {\n if (!acc.find(item => item[groupingCol] === curr[groupingCol]))\n acc.push({ [groupingCol]: curr[groupingCol] });\n return acc;\n}\n\nexport function createOrSetObject({ acc, curr, prevObj, keys, id, totalind }) {\n if (prevObj) {\n keys.forEach(({ key, accessor }) => {\n prevObj[formatAccessor(accessor)] = curr[key];\n });\n\n return acc;\n }\n\n acc.push(\n Object.assign(\n {},\n {\n breakby1: id,\n _TYPE_: curr._TYPE_,\n totalind: totalind ? 'Y' : 'N',\n },\n ...keys.map(({ key, accessor }) => ({\n [formatAccessor(accessor)]: curr[key],\n }))\n )\n );\n\n return acc;\n}\n\nexport function generateCustomData(acc, curr) {\n const prevObj = acc.find(row => row.breakby1 === curr.breakby1);\n const totalRow = acc.find(row => row.breakby1 === formatAccessor('total'));\n\n // Hämta totalrad\n if (curr._TYPE_ === 0) {\n createOrSetObject({\n acc,\n curr,\n prevObj: totalRow,\n keys: [\n { key: 'antal', accessor: 'total-antal-samtliga' },\n { key: 'lon_medel', accessor: 'total-lon_medel-samtliga' },\n ],\n id: 'total',\n totalind: true,\n });\n }\n\n // Hämta samtliga-kolumner\n if (curr._TYPE_ === 1) {\n createOrSetObject({\n acc,\n curr,\n prevObj,\n keys: [\n { key: 'antal', accessor: 'antal-samtliga' },\n { key: 'lon_medel', accessor: 'lon_medel-samtliga' },\n ],\n id: curr.breakby1,\n totalind: false,\n });\n }\n\n // Hämta deltotalrader\n if (curr._TYPE_ === 2) {\n createOrSetObject({\n acc,\n curr,\n prevObj: totalRow,\n keys: [\n { key: 'antal', accessor: `total-antal-${curr.breakby2}` },\n { key: 'lon_medel', accessor: `total-lon_medel-${curr.breakby2}` },\n ],\n id: 'total',\n totalind: true,\n });\n }\n\n // Hämta vanliga rader\n if (curr._TYPE_ === 3) {\n createOrSetObject({\n acc,\n curr,\n prevObj,\n keys: [\n { key: 'antal', accessor: `antal-${curr.breakby2}` },\n { key: 'lon_medel', accessor: `lon_medel-${curr.breakby2}` },\n ],\n id: curr.breakby1,\n totalind: false,\n });\n }\n\n return acc;\n}\n\nexport function getTotalCol(arr, accessor) {\n return formatNumber(\n arr\n .filter(row => row.original.totalind === 'Y')\n .map(row => row.original[accessor])[0]\n );\n}\n\nexport function getWidth() {\n return (\n window.innerWidth ||\n document.documentElement.clientWidth ||\n document.body.clientWidth\n );\n}\n\nexport function isTotalRow(obj, customPresentation) {\n const { _TYPE_, totalind } = obj;\n if (customPresentation) {\n return totalind === 'Y' && _TYPE_ === 0;\n }\n return totalind === 'Y' && (_TYPE_ === 0 || _TYPE_ === 1);\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styles from './TabRow.module.css';\n\nconst TabRow = ({ children, className }) => {\n return (\n
    {children}
    \n );\n};\n\nTabRow.propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]).isRequired,\n className: PropTypes.string,\n};\n\nTabRow.defaultProps = {\n className: '',\n};\n\nexport default TabRow;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styles from './Tab.module.css';\n\nconst Tab = ({ active, label, altText, onClick }) => {\n const computedAltText = altText && altText !== '' ? altText : label;\n return (\n \n {label}\n \n );\n};\n\nTab.propTypes = {\n active: PropTypes.bool.isRequired,\n label: PropTypes.string.isRequired,\n altText: PropTypes.string,\n onClick: PropTypes.func.isRequired,\n};\n\nTab.defaultProps = {\n altText: '',\n};\n\nexport default Tab;\n","/* eslint-disable react/jsx-props-no-spreading */\nimport React, { useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { useTable } from 'react-table';\nimport TabRow from 'atoms/tabrow/TabRow';\nimport Tab from 'atoms/tab/Tab';\nimport { formatRespondents } from 'lib/antal';\nimport {\n formatAccessor,\n formatNumber,\n generateCustomColumns,\n generateCustomData,\n getTotalCol,\n isTotalRow,\n} from 'lib/salaryTable';\nimport styles from './SalaryTable.module.css';\n\nconst BREAKPOINT = 1024;\n\nconst SalaryTable = ({\n activeDataSource,\n measureVar,\n selectedPresentation,\n setMeasureVar,\n tableData,\n}) => {\n const customReport = selectedPresentation.length === 2;\n\n // Get a reference to the table\n const tableRef = ref => {\n if (!ref) return;\n const table = ref;\n };\n\n // Set up columns\n const columns = useMemo(\n () =>\n !customReport\n ? [\n {\n Header: selectedPresentation[0].REPORT_TEXT,\n accessor: 'breakby1',\n Footer: 'Samtliga',\n className: styles.sticky,\n },\n {\n Header: 'Antal',\n accessor: 'antal',\n Cell: ({ value }) => formatRespondents(value),\n Footer: ({ rows }) =>\n formatRespondents(getTotalCol(rows, 'antal')),\n },\n {\n Header: 'Medel',\n accessor: 'lon_medel',\n Cell: ({ value }) => formatNumber(value),\n Footer: ({ rows }) => getTotalCol(rows, 'lon_medel'),\n },\n {\n Header: '10:e perc',\n accessor: 'lon_p10',\n Cell: ({ value }) => formatNumber(value),\n Footer: ({ rows }) => getTotalCol(rows, 'lon_p10'),\n },\n {\n Header: 'Undre kvartil',\n accessor: 'lon_p25',\n Cell: ({ value }) => formatNumber(value),\n Footer: ({ rows }) => getTotalCol(rows, 'lon_p25'),\n },\n {\n Header: 'Median',\n accessor: 'lon_p50',\n Cell: ({ value }) => formatNumber(value),\n Footer: ({ rows }) => getTotalCol(rows, 'lon_p50'),\n },\n {\n Header: 'Övre kvartil',\n accessor: 'lon_p75',\n Cell: ({ value }) => formatNumber(value),\n Footer: ({ rows }) => getTotalCol(rows, 'lon_p75'),\n },\n {\n Header: '90:e perc',\n accessor: 'lon_p90',\n Cell: ({ value }) => formatNumber(value),\n Footer: ({ rows }) => getTotalCol(rows, 'lon_p90'),\n },\n {\n Header: 'Totalindikator',\n accessor: 'totalind',\n },\n {\n Header: 'Typ',\n accessor: '_TYPE_',\n },\n ]\n : [\n {\n Header: selectedPresentation[1].REPORT_TEXT,\n accessor: 'breakby2',\n className: styles.center,\n columns: [\n {\n Header: '',\n accessor: 'spacer-0',\n className: styles.sticky,\n columns: [\n {\n Header: selectedPresentation[0].REPORT_TEXT,\n accessor: 'breakby1',\n Footer: 'Samtliga',\n className: styles.sticky,\n },\n ],\n },\n ...tableData\n .filter(\n row =>\n row.breakby2 &&\n !['okänd', 'inget värde'].includes(\n row.breakby2.toLowerCase()\n )\n )\n .reduce(\n (acc, curr) => generateCustomColumns(acc, curr, 'breakby2'),\n []\n )\n // .sort((a, b) => a.breakby2.localeCompare(b.breakby2, 'sv'))\n .map(({ breakby2 }) => ({\n Header: breakby2,\n accessor: formatAccessor(breakby2),\n columns: [\n {\n Header: 'Antal',\n accessor: formatAccessor(`antal-${breakby2}`),\n Cell: ({ value }) => formatRespondents(value),\n Footer: ({ rows }) =>\n formatRespondents(\n getTotalCol(\n rows,\n formatAccessor(`total-antal-${breakby2}`)\n )\n ),\n },\n {\n Header: 'Medel',\n accessor: formatAccessor(`lon_medel-${breakby2}`),\n Cell: ({ value }) => formatNumber(value),\n Footer: ({ rows }) =>\n getTotalCol(\n rows,\n formatAccessor(`total-lon_medel-${breakby2}`)\n ),\n },\n ],\n })),\n {\n Header: 'Samtliga',\n accessor: 'samtliga-col',\n columns: [\n {\n Header: 'Antal',\n accessor: formatAccessor('antal-samtliga'),\n Cell: ({ value }) => formatRespondents(value),\n Footer: ({ rows }) =>\n formatRespondents(\n getTotalCol(\n rows,\n formatAccessor(`total-antal-samtliga`)\n )\n ),\n },\n {\n Header: 'Medel',\n accessor: formatAccessor('lon_medel-samtliga'),\n Cell: ({ value }) => formatNumber(value),\n Footer: ({ rows }) =>\n getTotalCol(\n rows,\n formatAccessor(`total-lon_medel-samtliga`)\n ),\n },\n ],\n },\n ],\n },\n {\n Header: 'Totalindikator',\n accessor: 'totalind',\n },\n {\n Header: 'Typ',\n accessor: '_TYPE_',\n },\n ],\n [selectedPresentation, customReport, tableData]\n );\n\n // Setup data\n const data = useMemo(\n () =>\n !customReport\n ? tableData\n : tableData.reduce((acc, curr) => generateCustomData(acc, curr), []),\n [customReport, tableData]\n );\n\n // Set up table\n const table = useTable({\n columns,\n data,\n initialState: {\n hiddenColumns: ['totalind', '_TYPE_'],\n },\n });\n\n const {\n footerGroups,\n getTableBodyProps,\n getTableProps,\n headerGroups,\n prepareRow,\n rows,\n } = table;\n\n return (\n
    \n {activeDataSource.measureVar.length > 1 && (\n \n setMeasureVar('LON')}\n />\n setMeasureVar('FLON')}\n />\n \n )}\n
    \n \n \n \n {headerGroups.map(group => (\n \n {group.headers.map(column => (\n \n {column.className === styles.center && (\n \n \n ))}\n \n ))}\n \n \n {rows\n .filter(row => !isTotalRow(row.values) && row.values.breakby1)\n .map(row => {\n prepareRow(row);\n return (\n \n {row.cells.map(cell => (\n \n ))}\n \n );\n })}\n {footerGroups\n // Dont print rows that are completely empty in the footer\n .filter(group => group.headers.every(header => header.Footer))\n .map(group => (\n \n {group.headers.map(column => (\n \n {column.render('Footer')}\n \n ))}\n \n ))}\n \n
    \n )}\n \n {column.render('Header')}\n
    \n {cell.value ? cell.render('Cell') : '-'}\n
    \n
    \n
    \n
    \n );\n};\n\nSalaryTable.propTypes = {\n activeDataSource: PropTypes.shape({\n forbund: PropTypes.string,\n dsl1: PropTypes.string,\n dsl2: PropTypes.string,\n measureVar: PropTypes.arrayOf(PropTypes.string),\n year: PropTypes.number,\n }).isRequired,\n measureVar: PropTypes.string.isRequired,\n selectedPresentation: PropTypes.arrayOf(Object).isRequired,\n setMeasureVar: PropTypes.func.isRequired,\n tableData: PropTypes.arrayOf(PropTypes.object).isRequired,\n};\n\nexport default SalaryTable;\n","import React, { useEffect, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { Chart as Graph } from 'chart.js';\nimport ChartDataLabels from 'chartjs-plugin-datalabels';\nimport 'chartjs-chart-box-and-violin-plot/build/Chart.BoxPlot';\nimport styles from './Chart.module.css';\n\nconst Chart = ({ data, id, options, setValues, type }) => {\n const chartContainer = useRef(null);\n const [chartInstance, setChartInstance] = useState(null);\n\n Graph.plugins.unregister(ChartDataLabels);\n\n useEffect(() => {\n if (chartContainer && chartContainer.current && !chartInstance) {\n const newChartInstance = new Graph(chartContainer.current, {\n data,\n options,\n type,\n });\n setChartInstance(newChartInstance);\n }\n // eslint-disable-next-line\n }, [chartContainer, data, options, type, chartInstance]);\n\n useEffect(() => {\n if (chartInstance && data) {\n chartInstance.data = data;\n chartInstance.update();\n setValues(\n chartInstance.scales['x-axis-0'],\n chartInstance.scales['y-axis-0']\n );\n }\n // eslint-disable-next-line\n }, [data, chartInstance]);\n\n useEffect(() => {\n if (chartInstance && options) {\n chartInstance.options = options;\n chartInstance.update({ duration: 0 });\n }\n // eslint-disable-next-line\n }, [options, chartInstance]);\n\n return (\n \n );\n};\n\nChart.propTypes = {\n data: PropTypes.shape({}).isRequired,\n id: PropTypes.string,\n options: PropTypes.shape({}),\n setValues: PropTypes.func,\n type: PropTypes.string.isRequired,\n};\n\nChart.defaultProps = {\n id: '',\n options: PropTypes.shape({}),\n setValues: () => {},\n};\n\nexport default Chart;\n","const STARTING_YEAR = 2021;\nexport const today = new Date();\nexport const oneYearFromNow = new Date(today.getTime() + 86400000 * 365);\n\nexport const months = [\n 'Januari',\n 'Februari',\n 'Mars',\n 'April',\n 'Maj',\n 'Juni',\n 'Juli',\n 'Augusti',\n 'September',\n 'Oktober',\n 'November',\n 'December',\n];\n\n// \"Valid\" is a year from 100 years ago up until this year\nfunction isValidHistoricalYear(num) {\n return num > today.getFullYear() - 100 && num <= today.getFullYear();\n}\n\nexport function isTimeUnit(breakbyValue) {\n if (!breakbyValue) return false;\n // The breakby value might be a year in a string\n // Like so: \"1965\"\n const year = Number(breakbyValue);\n\n // The breakby value might be a span of years which we also want to consider a unit of time\n // Like this: \"1940-1945\"\n const firstYear = !year && breakbyValue.split('-')[0];\n\n if (year && isValidHistoricalYear(year)) {\n return true;\n }\n\n if (firstYear && isValidHistoricalYear(firstYear)) {\n return true;\n }\n\n return false;\n}\n\n// Returns a list of all years from set of data or from STARTING_YEAR\nexport function getAvailableYears(data) {\n const thisYear = today.getFullYear();\n let yearsPassed;\n let list;\n\n if (data) {\n const dates = [...data]\n .map(({ created }) => created)\n .sort((a, b) => Date.parse(a) - Date.parse(b));\n\n const minYear = new Date(dates[0]).getFullYear();\n const maxYear = new Date(dates.reverse()[0]).getFullYear();\n yearsPassed = maxYear - minYear;\n list = [minYear];\n } else {\n yearsPassed = thisYear - STARTING_YEAR;\n list = [STARTING_YEAR];\n }\n\n if (yearsPassed > 0) {\n for (let i = 1; i < yearsPassed + 1; i += 1) {\n list.push(list[0] + i);\n }\n }\n\n return list;\n}\n\n// Returns a list of all available months from set of data\nexport function getAvailableMonths(data, year) {\n if (year === '' || year === 'all') return [];\n const dates = [...data]\n .map(({ created }) => created)\n .filter(date => {\n return new Date(date).getFullYear() === year;\n })\n .sort((a, b) => Date.parse(a) - Date.parse(b));\n\n const minMonth = new Date(dates[0]).getMonth();\n const maxMonth = new Date(dates.reverse()[0]).getMonth();\n const monthsPassed = maxMonth - minMonth;\n\n const res = [minMonth];\n\n if (monthsPassed > 0) {\n for (let i = 1; i < monthsPassed + 1; i += 1) {\n res.push(minMonth + i);\n }\n }\n\n return res;\n}\n","/* eslint-disable camelcase */\nimport { isTotalRow } from './salaryTable';\n\n// Returns a solid array of data for graphs\nexport function getSolidData(data, type = '') {\n return data\n .filter(entry => !isTotalRow(entry) && entry.breakby1)\n .filter(entry => {\n const { lon_p25, lon_p50, lon_medel, lon_p75, lon_p90 } = entry;\n\n if (type === 'box')\n return !Object.values({\n lon_p25,\n lon_p50,\n lon_p75,\n lon_p90,\n }).includes(null);\n\n if (type === 'bar') {\n return !Object.values({ lon_medel }).includes(null);\n }\n\n if (type === 'line')\n return !Object.values({ lon_p25, lon_p50, lon_p75 }).includes(null);\n\n return !Object.values(entry).includes(null);\n });\n}\n\n// Format chart data\nexport function calcChartData(data, type) {\n const result = getSolidData(data, type);\n\n if (type === 'box') {\n return result.map(x => ({\n min: x.lon_p10,\n q1: x.lon_p25,\n median: x.lon_p50,\n q3: x.lon_p75,\n max: x.lon_p90,\n outliers: [x.lon_medel],\n }));\n }\n\n if (type === 'line') {\n return result.map(x => ({\n q1: x.lon_p25,\n median: x.lon_p50,\n q3: x.lon_p75,\n }));\n }\n\n return result.map(x => x.lon_medel);\n}\n\n// Returns labels for charts\nexport function genLabels(data, type) {\n return getSolidData(data, type).map(x => Object.values(x)[0]);\n}\n\n// [1, 1, 2, 2] => [1, 2]\nexport function unique(value, index, self) {\n return self.indexOf(value) === index;\n}\n\nexport function uniqueByProp(arr, property) {\n return arr.filter(\n (e, i) => arr.findIndex(a => a[property] === e[property]) === i\n );\n}\n\nexport function filterCustomData(row) {\n return (\n row.breakby1 &&\n row.breakby2 &&\n !['inget värde', 'okänd'].includes(row.breakby2.toLowerCase()) &&\n !['inget värde', 'okänd'].includes(row.breakby1.toLowerCase())\n );\n}\n\nexport function getCustomLabels(data, type) {\n return getSolidData(data, type)\n .filter(row => filterCustomData(row))\n .map(row => row.breakby1)\n .sort((a, b) => a.localeCompare(b, 'sv'))\n .filter(unique);\n}\n\n// To be sure, we need at least 21 unique colors for customReport\nconst customColors = [\n '#DA8BBA', // secondary\n '#99D2D9', // primary\n '#FFFAFA', // white\n '#708090', // grey\n '#EEE8AA', // gold\n '#F08080', // red\n '#90EE90', // green\n '#6495ED', // blue\n '#FFB6C1', // pink\n '#BA55D3', // purple\n // These colors will most likely not be used, but in case:\n '#F4A460', // orange\n '#00BFFF', // deepskyblue\n '#696969', // dimgray\n '#DAA520', // goldenrod\n '#9400D3', // darkviolet\n '#00008B', // darkblue\n '#006400', // darkgreen\n '#8B0000', // darkred\n '#FF1493', // deeppink\n '#FF8C00', // darkorange\n '#4B0082', // indigo\n '#FFFFFF', // white\n];\n\n// TODO: Refactor this\nexport function calcCustomChartData(data, type) {\n const solidData = getSolidData(data, type)\n .filter(row => filterCustomData(row))\n .sort((a, b) => a.breakby1.localeCompare(b.breakby1, 'sv'));\n\n const groups = uniqueByProp(solidData, 'breakby2').map((row, i) => {\n const color = customColors[i % customColors.length];\n\n if (type === 'box') {\n return {\n data: {},\n label: row.breakby2,\n backgroundColor: color,\n hoverBackgroundColor: color,\n medianColor: '#333333',\n outlierColor: '#333333',\n borderColor: '#333333',\n borderWidth: 2,\n maxBarThickness: 40,\n };\n }\n\n return {\n data: {},\n label: row.breakby2,\n type,\n backgroundColor: color,\n hoverBackgroundColor: color,\n fill: false,\n borderColor: '#333333',\n borderWidth: 2,\n maxBarThickness: 80,\n };\n });\n\n solidData.forEach(item => {\n groups.map(group => {\n const tempGroup = { ...group };\n // It's a match\n if (group.label === item.breakby2) {\n if (type === 'box') {\n tempGroup.data[item.breakby1] = {\n min: item.lon_p10,\n q1: item.lon_p25,\n median: item.lon_p50,\n q3: item.lon_p75,\n max: item.lon_p90,\n outliers: [item.lon_medel],\n };\n }\n\n if (type === 'bar') {\n tempGroup.data[item.breakby1] = item.lon_medel;\n }\n }\n\n // Its not a match\n if (group.label !== item.breakby2) {\n // key does not exist\n if (!(item.breakby1 in group.data)) {\n tempGroup.data[item.breakby1] = null;\n }\n }\n return tempGroup;\n });\n });\n\n return groups.map(group => ({\n ...group,\n data: Object.values(group.data),\n }));\n}\n\n// Returns a mapped data object for a chart.js instance\nexport function genData(data, type, labels, customPresentation = false) {\n if (type === 'box') {\n return {\n labels: customPresentation ? getCustomLabels(data, type) : labels,\n datasets: customPresentation\n ? calcCustomChartData(data, type, customPresentation)\n : [\n {\n label: 'Löner',\n backgroundColor: '#DA8BBA',\n borderColor: '#333333',\n borderWidth: 2,\n medianColor: '#333333',\n outlierColor: '#333333',\n data: calcChartData(data, type),\n maxBarThickness: 40,\n },\n ],\n };\n }\n\n if (type === 'line') {\n const defaultOptions = {\n borderWidth: 2,\n fill: false,\n type,\n tension: 0.1,\n };\n\n return {\n labels,\n datasets: [\n {\n backgroundColor: '#33a0a0',\n borderColor: '#33a0a0',\n borderWidth: 0,\n data: calcChartData(data, type).map(({ q1 }) => q1),\n label: 'Undre kvartil',\n pointStyle: 'rect',\n ...defaultOptions,\n },\n {\n backgroundColor: '#DA8BBA',\n borderColor: '#DA8BBA',\n data: calcChartData(data, type).map(({ median }) => median),\n label: 'Median',\n pointStyle: 'circle',\n ...defaultOptions,\n },\n {\n backgroundColor: '#333333',\n borderColor: '#333333',\n data: calcChartData(data, type).map(({ q3 }) => q3),\n label: 'Övre kvartil',\n pointStyle: 'rectRounded',\n ...defaultOptions,\n },\n ],\n };\n }\n\n return {\n labels: customPresentation ? getCustomLabels(data, type) : labels,\n datasets: customPresentation\n ? calcCustomChartData(data, type, customPresentation)\n : [\n {\n type,\n label: 'Medellön',\n backgroundColor: '#DA8BBA',\n data: calcChartData(data, type),\n fill: false,\n maxBarThickness: 80,\n },\n ],\n };\n}\n\n// Returns configuration object for \"Ange din lön\"\nexport function getAnnotations(\n salaryMarkerValue,\n activeTab,\n) {\n if (!salaryMarkerValue) return {};\n return {\n annotations: [\n {\n type: 'line',\n mode: activeTab === 'box' ? 'vertical' : 'horizontal',\n scaleID: activeTab === 'box' ? 'x-axis-0' : 'y-axis-0',\n value: salaryMarkerValue,\n borderColor: '#333333',\n borderWidth: 2,\n borderDash: [2, 2],\n label: {\n enabled: true,\n content: 'Din lön',\n backgroundColor: 'rgba(0,0,0,0.75)',\n },\n },\n ],\n };\n}\n\n// Format labels to Swedish locale\nfunction formatLabelNumber(value) {\n if (typeof value === 'number') {\n return value.toLocaleString('sv');\n }\n return value;\n}\n\n// Check if chart has data to display\nexport function chartHasData(data, customPresentation, min = 0, max = 21) {\n if (customPresentation && data && data.datasets[0]) {\n let allData = [];\n\n data.datasets.forEach(dataset => {\n allData = [...allData, ...dataset.data.filter(Boolean)];\n });\n\n return allData.length > min && allData.length <= max;\n }\n\n return (\n data &&\n data.datasets[0] &&\n data.datasets[0].data.length > min &&\n data.datasets[0].data.length <= max\n );\n}\n\nexport const boxOptions = {\n responsive: true,\n legend: {\n position: 'bottom',\n },\n title: {\n display: false,\n },\n scales: {\n xAxes: [\n {\n ticks: {\n beginAtZero: false,\n callback: value => formatLabelNumber(value),\n },\n gridLines: { display: true },\n scaleLabel: {\n display: true,\n },\n },\n ],\n yAxes: [\n {\n gridLines: { display: false },\n ticks: {\n beginAtZero: false,\n callback: value => formatLabelNumber(value),\n },\n scaleLabel: {\n display: true,\n },\n },\n ],\n },\n events: ['hover'],\n onHover: null,\n};\n\nexport const barOptions = {\n responsive: true,\n title: {\n display: false,\n },\n legend: {\n position: 'bottom',\n },\n scales: {\n xAxes: [\n {\n gridLines: { display: false },\n scaleLabel: {\n display: true,\n },\n ticks: {\n callback: value => formatLabelNumber(value),\n },\n },\n ],\n yAxes: [\n {\n gridLines: { display: true },\n ticks: {\n beginAtZero: true,\n callback: value => formatLabelNumber(value),\n },\n scaleLabel: {\n display: true,\n },\n },\n ],\n },\n tooltips: {\n callbacks: {\n label(tooltipItem, d) {\n let label = d.datasets[tooltipItem.datasetIndex].label || '';\n\n if (label) {\n label += ': ';\n }\n\n label += Number(tooltipItem.yLabel).toLocaleString('sv');\n return `${label} kronor per månad`;\n },\n },\n },\n};\n\nexport const lineOptions = {\n responsive: true,\n title: {\n display: false,\n },\n legend: {\n position: 'bottom',\n labels: {\n usePointStyle: true,\n },\n },\n scales: {\n xAxes: [\n {\n gridLines: { display: true },\n scaleLabel: {\n display: true,\n },\n ticks: {\n autoSkip: true,\n maxTicksLimit: 32,\n callback: value => formatLabelNumber(value),\n },\n },\n ],\n yAxes: [\n {\n gridLines: { display: true },\n ticks: {\n beginAtZero: true,\n callback: value => formatLabelNumber(value),\n },\n scaleLabel: {\n display: true,\n },\n },\n ],\n },\n events: ['hover'],\n onHover: null,\n};\n","import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport 'chartjs-plugin-annotation';\nimport Chart from 'atoms/chart/Chart';\nimport { isTimeUnit } from 'lib/time';\nimport TabRow from 'atoms/tabrow/TabRow';\nimport Tab from 'atoms/tab/Tab';\nimport {\n barOptions,\n boxOptions,\n chartHasData,\n genData,\n genLabels,\n getAnnotations,\n lineOptions,\n} from 'lib/salaryGraph';\nimport styles from './SalaryGraph.module.css';\n\nconst SalaryGraph = ({\n customPresentation,\n datasetLabel,\n salaryData,\n selectedPresentation,\n salaryMarkerValue,\n}) => {\n const isCustomPresentation =\n customPresentation && selectedPresentation.length === 2;\n const [activeTab, setActiveTab] = useState('box');\n const [xMin, setXMin] = useState(0);\n const [xMax, setXMax] = useState(0);\n const [yMin, setYMin] = useState(0);\n const [yMax, setYMax] = useState(0);\n\n // Labels\n const barLabels = genLabels(salaryData, 'bar');\n const lineLabels = genLabels(salaryData, 'line');\n const boxLabels = genLabels(salaryData, 'box');\n\n // Chart.js data objects\n const barData = genData(salaryData, 'bar', barLabels, isCustomPresentation);\n const lineData = genData(\n salaryData,\n 'line',\n lineLabels,\n isCustomPresentation\n );\n const boxData = genData(salaryData, 'box', boxLabels, isCustomPresentation);\n\n const labelString = datasetLabel[0].REPORT_TEXT || '';\n\n console.log('salaryData:');\n console.log(salaryData);\n\n console.log('lineData:');\n console.log(lineData);\n\n console.log('lineLabels');\n console.log(lineLabels);\n\n // Returns a boolean, is there any chart data at all?\n const hasData = [\n chartHasData(barData, isCustomPresentation),\n chartHasData(lineData, isCustomPresentation),\n chartHasData(boxData, isCustomPresentation),\n ].some(bool => bool);\n\n // Stores max and min values for X and Y Axis from the current graph\n const setValues = (x, y) => {\n setXMin(typeof x.min === 'number' ? x.min : 0);\n setXMax(typeof x.max === 'number' ? x.max : 0);\n setYMin(typeof y.min === 'number' ? y.min : 0);\n setYMax(typeof y.max === 'number' ? y.max : 0);\n };\n\n /*\n * Not every presentation is suitable for line charts\n * This code checks if the middle value in salaryData looks like time units\n * Additionally it checks for substring \"år\" in the labelString variable\n * TODO: Consider this implementation\n */\n const showLineDiagram =\n isTimeUnit(salaryData[Math.floor(salaryData.length / 2)]?.breakby1) &&\n labelString.toLowerCase().search('år') > -1;\n\n // Configure Chart.js options object\n const addChartOptions = (obj, type) => {\n const otherLabel = 'kronor per månad';\n\n const newConfig = {\n ...obj,\n annotation: getAnnotations(salaryMarkerValue, activeTab),\n };\n\n if (type === 'box') {\n newConfig.scales.xAxes[0].scaleLabel.labelString = otherLabel;\n newConfig.scales.yAxes[0].scaleLabel.labelString = labelString;\n return newConfig;\n }\n\n newConfig.scales.xAxes[0].scaleLabel.labelString = labelString;\n newConfig.scales.yAxes[0].scaleLabel.labelString = otherLabel;\n\n return newConfig;\n };\n\n // Set a default chart type initially\n useEffect(() => {\n if (chartHasData(barData, isCustomPresentation)) {\n setActiveTab('bar');\n return;\n }\n\n if (chartHasData(boxData, isCustomPresentation)) {\n setActiveTab('box');\n return;\n }\n\n if (chartHasData(lineData, isCustomPresentation, 1) && showLineDiagram) {\n setActiveTab('line');\n }\n\n // eslint-disable-next-line\n }, [isCustomPresentation]);\n\n return (\n <>\n {hasData && (\n
    \n \n {chartHasData(barData, isCustomPresentation) && (\n setActiveTab('bar')}\n />\n )}\n {chartHasData(boxData, isCustomPresentation) && (\n setActiveTab('box')}\n />\n )}\n {chartHasData(lineData, isCustomPresentation, 1) &&\n showLineDiagram &&\n !isCustomPresentation && (\n setActiveTab('line')}\n />\n )}\n \n\n {activeTab === 'box' && (\n \n )}\n {activeTab === 'bar' && (\n \n )}\n {activeTab === 'line' && (\n \n )}\n
    \n )}\n \n );\n};\n\nSalaryGraph.propTypes = {\n customPresentation: PropTypes.bool.isRequired,\n datasetLabel: PropTypes.arrayOf(PropTypes.object),\n salaryData: PropTypes.arrayOf(PropTypes.object).isRequired,\n selectedPresentation: PropTypes.arrayOf(PropTypes.shape({})),\n salaryMarkerValue: PropTypes.number,\n};\n\nSalaryGraph.defaultProps = {\n datasetLabel: [],\n selectedPresentation: [],\n salaryMarkerValue: null,\n};\n\nexport default SalaryGraph;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Input from 'atoms/input/Input';\nimport styles from './SalaryMarker.module.css';\nimport { IconInfoCircle } from 'tabler-icons';\n\nconst SalaryMarker = ({ salaryMarkerValue, setSalaryMarkerValue }) => {\n const formatNumberForDisplay = number => {\n return number.toLocaleString('sv-SE');\n };\n\n const handleChange = e => {\n const unformattedValue = e.target.value.replace(/\\s/g, '');\n setSalaryMarkerValue(Number(unformattedValue));\n };\n\n return (\n
    \n
    \n
    \n
    \n \n

    \n Ange din egen månadslön och jämför med värdena i diagrammet.\n

    \n

    \n Ligger din lön utanför skalan syns den inte i diagrammet.\n

    \n
    \n Information\n
    \n \n
    \n \n
    \n );\n};\n\nSalaryMarker.propTypes = {\n salaryMarkerValue: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n setSalaryMarkerValue: PropTypes.func.isRequired,\n};\n\nSalaryMarker.defaultProps = {\n salaryMarkerValue: '',\n};\n\nexport default SalaryMarker;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport Loader from 'atoms/loader/Loader';\nimport { isTotalRow } from 'lib/salaryTable';\nimport { numberOfRespondents } from 'lib/antal';\nimport styles from './ReportSection.module.css';\nimport SalaryTable from './salarytable/SalaryTable';\nimport SalaryGraph from './salarygraph/SalaryGraph';\nimport SalaryMarker from './salarygraph/salarymarker/SalaryMarker';\n\nconst ReportSection = ({\n activeDataSource,\n customPresentation,\n fetchingData,\n measureVar,\n selectedPresentation,\n setMeasureVar,\n tableData,\n}) => {\n const [salaryMarkerValue, setSalaryMarkerValue] = useState(null);\n return (\n
    \n {fetchingData ? (\n \n ) : (\n <>\n {tableData && tableData.length > 0 ? (\n <>\n {tableData.find(row => {\n return (\n isTotalRow(\n row,\n customPresentation && selectedPresentation.length > 1\n ) && numberOfRespondents(row.antal)[1] <= 30\n );\n }) ? (\n
    \n

    \n \n Statistikunderlaget är för litet. Resultat visas inte om\n urvalet är färre än 30.\n \n

    \n

    \n Bocka för fler likartade val, tag bort något val eller gör\n ett helt nytt val.\n

    \n
    \n ) : (\n <>\n \n \n i.isReverse)\n ? [...tableData].reverse()\n : tableData\n }\n selectedPresentation={selectedPresentation}\n salaryMarkerValue={salaryMarkerValue}\n />\n \n )}\n \n ) : (\n
    Data saknas för denna sökning.
    \n )}\n \n )}\n
    \n );\n};\n\nReportSection.propTypes = {\n activeDataSource: PropTypes.shape({}),\n customPresentation: PropTypes.bool.isRequired,\n fetchingData: PropTypes.bool.isRequired,\n measureVar: PropTypes.string.isRequired,\n selectedPresentation: PropTypes.arrayOf(Object),\n setMeasureVar: PropTypes.func.isRequired,\n tableData: PropTypes.arrayOf(Object).isRequired,\n};\n\nReportSection.defaultProps = {\n activeDataSource: null,\n selectedPresentation: [],\n};\n\nexport default ReportSection;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ExplanationText from 'atoms/explanationtext/ExplanationText';\nimport styles from './ExplanationItem.module.css';\nimport boxPlotImage from '../../../../../images/box_plot_image.png';\nimport Accordion from '../../../../../atoms/accordion/Accordion';\n\nconst ExplanationItem = ({ header, textId, textItem }) => {\n const { groupId } = textItem;\n const renderImage = groupId === 'graph' && textId === 'box';\n\n return (\n
    \n {textId !== 'main' &&

    {header}

    }\n \n\n {renderImage && (\n \n \n \n )}\n
    \n );\n};\n\nExplanationItem.propTypes = {\n header: PropTypes.string,\n textId: PropTypes.string.isRequired,\n textItem: PropTypes.shape({\n id: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired,\n }).isRequired,\n};\n\nExplanationItem.defaultProps = {\n header: '',\n};\n\nexport default ExplanationItem;\n","import React, { useState, useEffect, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport Loader from 'atoms/loader/Loader';\nimport Accordion from 'atoms/accordion/Accordion';\nimport ApiService from 'services/ApiService';\nimport { useAuth } from 'services/UseAuth';\nimport { useHistory } from 'react-router-dom';\nimport styles from './ExplanationGroup.module.css';\nimport ExplanationItem from './explanationitem/ExplanationItem';\n\nconst measurementsSortOrder = [\n 'main',\n 'average',\n 'median',\n 'lowquartile',\n 'highquartile',\n '10perc',\n '90perc',\n];\n\nconst graphsSortOrder = ['bar', 'line', 'box'];\n\nconst ExplanationGroup = ({ available, groupId, textId, title }) => {\n // TODO: Refactor this component, it now holds data about its toggled state\n // This could maybe be moved to the accordion compoonent somehow.\n\n const { user, signout } = useAuth();\n const { token } = user;\n\n const [, setState] = useState();\n const [items, setItems] = useState([]);\n const [clicks, setClicks] = useState(0);\n const [toggled, setToggled] = useState(false);\n const [fetchingData, setFetchingData] = useState(false);\n\n const disabled = !toggled && fetchingData;\n\n const history = useHistory();\n\n const handleError = useCallback(\n error => {\n if (error.status === 401) {\n signout();\n history.push('/logga-ut');\n } else {\n setState(() => {\n throw error;\n });\n }\n },\n [signout, history]\n );\n\n const handleClick = () => {\n setToggled(!toggled);\n\n if (!toggled) {\n setClicks(prevState => prevState + 1);\n }\n };\n\n useEffect(() => {\n if (clicks === 1 || (clicks > 0 && items.length < 1 && !fetchingData)) {\n setFetchingData(true);\n if (!available) return;\n const request = [\n {\n groupId,\n textId,\n },\n ];\n\n ApiService.getTexts(request, token)\n .then(responseData => {\n const mainIdx = responseData.findIndex(a => a.textId === 'main');\n const mainText = responseData.splice(mainIdx, 1);\n responseData.sort((a, b) => a.header.localeCompare(b.header, 'sv'));\n\n if (mainText.length > 0) {\n responseData.splice(0, 0, mainText[0]);\n }\n\n setItems(responseData);\n })\n .catch(error => handleError(error))\n .finally(() => setFetchingData(false));\n }\n // eslint-disable-next-line\n }, [available, clicks, groupId, handleError, token]);\n\n // Reset accordion if data source changes\n useEffect(() => {\n setClicks(0);\n setToggled(false);\n }, [textId]);\n\n const sortMeasurements = () =>\n groupId === 'measurements' &&\n items.length > 0 &&\n items.sort(\n (a, b) =>\n measurementsSortOrder.indexOf(a.textId) -\n measurementsSortOrder.indexOf(b.textId)\n );\n\n const sortGraphs = () =>\n groupId === 'graph' &&\n items.length > 0 &&\n items.sort(\n (a, b) =>\n graphsSortOrder.indexOf(a.textId) - graphsSortOrder.indexOf(b.textId)\n );\n\n useEffect(() => {\n sortMeasurements();\n sortGraphs();\n }, [items]);\n\n return (\n \n {fetchingData ? (\n
    \n \n
    \n ) : (\n <>\n {items.length > 0 &&\n items.map(item => (\n \n ))}\n \n )}\n \n );\n};\n\nExplanationGroup.propTypes = {\n available: PropTypes.bool,\n groupId: PropTypes.string.isRequired,\n textId: PropTypes.arrayOf(PropTypes.string),\n title: PropTypes.string.isRequired,\n};\n\nExplanationGroup.defaultProps = {\n available: true,\n textId: [],\n};\n\nexport default ExplanationGroup;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport styles from './InstructionsVideo.module.css';\n\n\nconst InstructionsVideo = ({ level }) => {\n\n const [videoError, setVideoError] = useState(false);\n const video = `${process.env.PUBLIC_URL}/instructions_video/instructionsVideo.mp4`;\n const videoAdvanced = `${process.env.PUBLIC_URL}/instructions_video/instructionsVideoAdvanced.mp4`;\n\n return (\n <>\n {level == 'enkel' &&\n
    \n \n
    \n }\n {level == 'avancerad' &&\n
    \n \n
    \n }\n \n );\n};\n\nexport default InstructionsVideo;\n","import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport Accordion from 'atoms/accordion/Accordion';\nimport Section from 'atoms/section/Section';\nimport ExplanationGroup from './explanationgroup/ExplanationGroup';\nimport InstructionsVideo from './explanationgroup/instructionsvideo/InstructionsVideo';\nimport styles from './Explanations.module.css';\n\nconst Explanations = ({ filterList, forbund, id }) => {\n var newFilterList = filterList\n .map(filterItem => filterItem.sel_var)\n .concat('LON');\n\n if (forbund === 'SN' || 'LA' || 'CF') {\n newFilterList = newFilterList.concat('FLON');\n }\n\n const explanationGroups = [\n {\n groupId: 'statistics',\n title: 'Var kommer statistiken ifrån?',\n },\n\n {\n groupId: 'graph',\n title: 'Olika diagram',\n textId: ['line', 'bar', 'box'],\n },\n\n {\n groupId: 'measurements',\n title: 'Statistiska mått',\n },\n\n {\n groupId: 'menuselection',\n title: 'Förklaring av filter och begrepp',\n textId: newFilterList,\n available: newFilterList.length > 0,\n },\n ];\n return (\n \n \n\n {explanationGroups\n .filter(explanationGroup => explanationGroup.available !== false)\n .map(explanationGroup => (\n
    \n \n
    \n ))}\n \n );\n};\n\nconst startVideoAdvance = isAdvance => {\n if (isAdvance) {\n window.open(`Instruktionsfilm/avancerad`, '', 'height=500,width=900');\n } else {\n window.open(`Instruktionsfilm/enkel`, '', 'height=500,width=900');\n }\n};\n\nExplanations.propTypes = {\n filterList: PropTypes.arrayOf(Object).isRequired,\n id: PropTypes.string.isRequired,\n};\n\nexport default Explanations;\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport Select from 'atoms/select/Select';\nimport styles from './CustomPresentation.module.css';\n\nconst CustomPresentation = ({ presentationList, setSelectedPresentation }) => {\n const [breakby1, setBreakby1] = useState();\n const [breakby2, setBreakby2] = useState();\n\n useEffect(() => {\n if (breakby1 != null && breakby2 != null) {\n setSelectedPresentation([breakby1, breakby2]);\n }\n // eslint-disable-next-line\n }, [breakby1, breakby2]);\n\n const handleSelectBreakby1 = e => {\n try {\n setBreakby1(JSON.parse(e.target.value));\n } catch (err) {}\n };\n\n const handleSelectBreakby2 = e => {\n try {\n setBreakby2(JSON.parse(e.target.value));\n } catch (err) {}\n };\n\n return (\n
    \n

    Skapa egen rapport

    \n
    \n {presentationList && (\n <>\n
    \n handleSelectBreakby1(e)}\n options={[\n {\n key: 'null_breakby1',\n value: null,\n desc: 'Välj ett alternativ',\n },\n ...presentationList\n .filter(\n element => element?.BREAKBY_VAR !== breakby2?.BREAKBY_VAR\n )\n .map(p => ({\n key: p.BREAKBY_VAR,\n value: JSON.stringify(p),\n desc: p.REPORT_TEXT,\n })),\n ]}\n />\n
    \n
    \n handleSelectBreakby2(e)}\n options={[\n {\n key: 'null_breakby2',\n value: null,\n desc: 'Välj ett alternativ',\n },\n\n ...presentationList\n .filter(\n element => element?.BREAKBY_VAR !== breakby1?.BREAKBY_VAR\n )\n .map(p => ({\n // ...presentationList.map(p => ({\n key: p.BREAKBY_VAR,\n value: JSON.stringify(p),\n desc: p.REPORT_TEXT,\n })),\n ]}\n />\n
    \n \n )}\n
    \n
    \n );\n};\n\nCustomPresentation.propTypes = {\n presentationList: PropTypes.arrayOf(Object).isRequired,\n setSelectedPresentation: PropTypes.func.isRequired,\n};\n\nexport default CustomPresentation;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styles from './Statisticsometer.module.css';\n\nconst ROUND_TO = 5;\nconst LIMIT = 97;\n\nconst Statisticsometer = ({\n currentRespondents,\n hasPartiallyFilledFilters,\n totalRespondents,\n variant,\n marginBottom,\n}) => {\n const percent = (currentRespondents / totalRespondents) * 100;\n const roundedPercent = Math.ceil(percent / ROUND_TO) * ROUND_TO;\n\n const presentationText = () => {\n if (roundedPercent < 10) {\n return 'Visar statistik som baseras på mindre än 10 % av tillgängligt dataunderlag';\n }\n\n if (roundedPercent >= LIMIT) {\n return `Visar statistik som baseras på ${\n hasPartiallyFilledFilters ? 'ca' : ''\n } 100 % av tillgängligt dataunderlag`;\n }\n\n return `Visar statistik som baseras på ca ${roundedPercent} % av tillgängligt dataunderlag`;\n };\n\n return (\n \n
    {presentationText()}
    \n = LIMIT ? styles.full : ''} ${\n variant === 'advanced' ? styles.advanced : styles.overview\n }`}\n style={{ width: `${roundedPercent >= 100 ? 100 : roundedPercent}%` }}\n />\n
    \n );\n};\n\nStatisticsometer.propTypes = {\n currentRespondents: PropTypes.number.isRequired,\n hasPartiallyFilledFilters: PropTypes.bool.isRequired,\n totalRespondents: PropTypes.number.isRequired,\n variant: PropTypes.string,\n marginBottom: PropTypes.bool,\n};\n\nStatisticsometer.defaultProps = {\n variant: 'overview',\n marginBottom: false,\n};\n\nexport default Statisticsometer;\n","import React, { useEffect, useState, useCallback } from 'react';\nimport ToolBar from 'components/advanced/toolbar/ToolBar';\nimport ActiveFilters from 'components/advanced/activefilters/ActiveFilters';\nimport Filters from 'components/advanced/filters/Filters';\nimport DataSource from 'components/advanced/datasource/DataSource';\nimport Presentation from 'components/advanced/presentation/Presentation';\nimport ReportSection from 'components/advanced/reportsection/ReportSection';\nimport Explanations from 'components/advanced/explanations/Explanations';\nimport CustomPresentation from 'components/advanced/custompresentation/CustomPresentation';\nimport Statisticsometer from 'atoms/statisticsometer/Statisticsometer';\nimport { useAuth } from 'services/UseAuth';\nimport { useHistory } from 'react-router-dom';\nimport ApiService from 'services/ApiService';\nimport { numberOfRespondents } from 'lib/antal';\nimport { resetMeasureVarToLon, logGetReportRequest } from 'lib/pageAdvanced';\nimport isEmpty from 'lib/emptyValues';\nimport styles from './PageAdvanced.module.css';\nimport Notification from '../../atoms/notification/Notification';\nimport ErrorNotification from '../../atoms/errornotification/ErrorNotification';\n\nconst PageAdvanced = () => {\n const [filterList, setFilterList] = useState([]);\n const [tableData, setTableData] = useState([]);\n const [fetchingData, setFetchingData] = useState(true);\n\n const [dataSources, setDataSources] = useState([]);\n const [activeDataSource, setActiveDataSource] = useState();\n const [measureVar, setMeasureVar] = useState('LON');\n const [activeFilters, setActiveFilters] = useState([]);\n const [disableMenuselection, setDisableMenuselection] = useState(false);\n\n const [, setState] = useState();\n const { user, signout, autoRefreshToken } = useAuth();\n const { forbund, token } = user;\n\n const [totalRespondents, setTotalRespondents] = useState(1);\n const [currentRespondents, setCurrentRespondents] = useState(1);\n\n const [presentationList, setPresentationList] = useState();\n const [selectedPresentation, setSelectedPresentation] = useState([]);\n const [allowCustomPresentation, setAllowCustomPresentation] = useState(false);\n const [customPresentation, setCustomPresentation] = useState(false);\n\n const [selectedUnion, setSelectedUnion] = useState(null);\n\n const [shouldGetReportData, setShouldGetReportData] = useState(true);\n\n const [\n defaultYearFromDeepAnalysis,\n setDefaultYearFromDeepAnalysis,\n ] = useState(0);\n const [defaultYearToDeepAnalysis, setDefaultYearToDeepAnalysis] = useState(0);\n\n const sortedSelectedValues = activeFilters.reduce((acc, curr) => {\n acc[curr.sel_var] = curr.values.length;\n return acc;\n }, {});\n\n const hasPartiallyFilledFilters = filterList.some(\n filter =>\n sortedSelectedValues[filter.sel_var] &&\n sortedSelectedValues[filter.sel_var] < filter.list.length\n );\n\n const history = useHistory();\n\n const handleError = useCallback(\n error => {\n if (error.status === 401) {\n signout();\n history.push('/logga-ut');\n } else {\n setState(() => {\n console.error(error);\n });\n }\n },\n [signout, history]\n );\n\n // Någon slags init.\n useEffect(() => {\n let active = true;\n\n if (active) {\n const promiseUnion = new Promise((resolve, reject) =>\n ApiService.getUnion(user.token)\n .then(data => resolve(data))\n .catch(error => reject(handleError(error)))\n );\n\n const request = {\n forbund: [forbund, 'SA'],\n };\n\n const promiseFds = new Promise((resolve, reject) =>\n ApiService.getActiveFds(request, token)\n .then(data => resolve(data))\n .catch(error => reject(handleError(error)))\n );\n\n Promise.all([promiseUnion, promiseFds]).then(([unionData, fdsData]) => {\n setSelectedUnion(unionData);\n setDataSources(fdsData);\n\n // Admin can define a default source in the admin panel\n const defaultSource =\n fdsData.find(\n ds =>\n ds.YEAR === unionData.defaultDataSource?.year &&\n ds.DSL1 === unionData.defaultDataSource?.DSL1 &&\n ds.DSL2 === unionData.defaultDataSource?.DSL2 &&\n ds.FORBUND === unionData.forbundskodSas\n ) ||\n // DSL2 Isn't required\n fdsData.find(\n ds =>\n ds.YEAR === unionData.defaultDataSource?.year &&\n ds.DSL1 === unionData.defaultDataSource?.DSL1 &&\n ds.FORBUND === unionData.forbundskodSas\n ) ||\n // If union doesn't have the data source\n fdsData.find(\n ds =>\n ds.YEAR === unionData.defaultDataSource?.year &&\n ds.DSL1 === unionData.defaultDataSource?.DSL1 &&\n ds.DSL2 === unionData.defaultDataSource?.DSL2\n ) ||\n // DSL2 Isn't required\n fdsData.find(\n ds =>\n ds.YEAR === unionData.defaultDataSource?.year &&\n ds.DSL1 === unionData.defaultDataSource?.DSL1\n ) ||\n // Datasources can also be flagged as \"DEFAULT\" in SAS\n fdsData\n .filter(ds => ds.YEAR === unionData.defaultYearToDeepAnalysis)\n .find(ds => ds.DEFAULT === 1) ||\n // The config is optional in both SAS and the admin panel, the standard year isn't\n fdsData.find(ds => ds.YEAR === unionData.defaultYearToDeepAnalysis) ||\n fdsData.sort((a, b) => b.YEAR - a.YEAR)[0];\n\n setActiveDataSource({\n forbund: defaultSource.FORBUND,\n dsl1: defaultSource.DSL1,\n dsl2: defaultSource.DSL2,\n measureVar: defaultSource.measure_var,\n year: defaultSource.YEAR,\n });\n\n setDefaultYearFromDeepAnalysis(unionData.defaultYearFromDeepAnalysis);\n setDefaultYearToDeepAnalysis(unionData.defaultYearToDeepAnalysis);\n setAllowCustomPresentation(unionData.allowCustomPresentation);\n });\n\n window.scrollTo(0, 0);\n }\n return () => {\n active = false;\n };\n // eslint-disable-next-line\n }, []);\n\n // Set selected presentation if theres a list\n useEffect(() => {\n if (presentationList) {\n setSelectedPresentation([presentationList[0]]);\n }\n // eslint-disable-next-line\n }, [presentationList]);\n\n // Get configured menuselections\n useEffect(() => {\n let active = true;\n if (activeDataSource != null) {\n resetMeasureVarToLon(activeDataSource, setMeasureVar);\n\n setDisableMenuselection(true);\n\n const request = {\n Forbund: activeDataSource.forbund,\n Dsl1: activeDataSource.dsl1,\n Dsl2: activeDataSource.dsl2, // FIXME: Vad händer när dsl2 är null?\n Year: activeDataSource.year,\n Role: user.role === 'fortoendevald' ? 'fortoendevald' : 'medlem',\n };\n\n if (active && activeFilters.length === 0) {\n ApiService.getPresentations(request, token)\n .then(data => {\n // Configured filters.\n const filters = data.filters\n .filter(filter => filter.isActive)\n .sort((a, b) => a.filterOrder - b.filterOrder)\n .reduce((acc, curr) => {\n if (acc[curr.sel_var] == null) {\n acc[curr.sel_var] = {\n options: curr.options\n .map(opt => {\n return {\n ...opt,\n sel_var: curr.sel_var,\n SELECTION_DATATYPE: curr.SELECTION_DATATYPE,\n name: curr.SELECTION_TEXT,\n value: opt.value,\n };\n })\n .filter(opt => !isEmpty(opt.value))\n .sort((a, b) =>\n curr.sortOptionsByNumber\n ? Number(a.value) - Number(b.value)\n : a.description.localeCompare(b.description, 'sv')\n ),\n name: curr.SELECTION_TEXT,\n sel_var: curr.sel_var,\n };\n } else {\n acc[curr.sel_var].options.push(...curr.options);\n }\n return acc;\n }, {});\n const filterObjects = Object.values(filters).map(obj => ({\n list: [...obj.options],\n name: obj.name,\n sel_var: obj.sel_var,\n }));\n setFilterList(filterObjects);\n\n // Configured breakbys.\n if (data.breakbys.length > 0) {\n setPresentationList(\n data.breakbys\n .filter(breakbyItem => breakbyItem.isActive)\n .sort((a, b) => {\n if (a.breakbyOrder != null && b.breakbyOrder != null) {\n return a.breakbyOrder - b.breakbyOrder;\n }\n return `${a.REPORT_TEXT}`.localeCompare(\n b.REPORT_TEXT,\n 'sv'\n );\n })\n .map(\n ({\n breakbyVar,\n breakbyText,\n sortOptionsByLetters,\n isReverse,\n }) => ({\n BREAKBY_VAR: breakbyVar,\n REPORT_TEXT: breakbyText,\n sortOptionsByLetters,\n isReverse,\n })\n )\n );\n } else {\n // FIXME: Agera på detta. Ibland är listan över breakbys tom\n }\n\n // Update total number.\n const dataSource = dataSources.find(\n source =>\n source.FORBUND === activeDataSource.forbund &&\n source.DSL1 === activeDataSource.dsl1 &&\n source.DSL2 === activeDataSource.dsl2 &&\n source.YEAR === activeDataSource.year\n );\n\n if (dataSource) {\n setTotalRespondents(dataSource.total);\n }\n })\n .catch(error => handleError(error))\n .finally(() => setDisableMenuselection(false));\n }\n }\n return () => {\n active = false;\n };\n // eslint-disable-next-line\n }, [activeDataSource, activeFilters]);\n\n useEffect(() => {\n let active = Boolean(filterList.length && activeFilters.length);\n\n if (activeDataSource != null) {\n let filter;\n if (\n activeFilters.length > 0 &&\n activeFilters.filter(({ values }) => values.length).length\n ) {\n filter = activeFilters\n .filter(activeFilter => activeFilter.values.length)\n .map(activeFilter => {\n const s = activeFilter.values.reduce((acc, curr) => {\n return `${\n activeFilter?.selection_datatype === 'N'\n ? curr.value\n : `'${curr.value}'`\n }${acc ? `, ${acc}` : ''}`;\n }, null);\n\n return `${activeFilter.sel_var} in (${s})`;\n });\n }\n\n const request = {\n Forbund: activeDataSource.forbund,\n Dsl1: activeDataSource.dsl1,\n Dsl2: activeDataSource.dsl2,\n Year: activeDataSource.year,\n filter,\n };\n\n if (active) {\n setDisableMenuselection(true);\n\n // Only used to update \"antal\" (counter) for each menuselection when changes are made.\n ApiService.getMenuselections(request, token)\n .then(data => {\n const filters = data\n .filter(fltr =>\n filterList.some(\n activeFltr => fltr.sel_var === activeFltr.sel_var\n )\n )\n .reduce(\n (acc, curr) => ({\n ...acc,\n [curr.sel_var]: acc[curr.sel_var]\n ? [...acc[curr.sel_var], curr]\n : [curr],\n }),\n {}\n );\n\n if (!Object.keys(filters).length) return;\n const newState = filterList.map(fltr => {\n const newOptions = filters[fltr.sel_var];\n if (newOptions)\n return {\n name: fltr.name,\n sel_var: fltr.sel_var,\n list: fltr.list.map(listItem => {\n const newOpt = newOptions.find(\n opt => opt.value === listItem.value\n );\n\n return {\n ...listItem,\n ...(newOpt && {\n antal: newOpt.antal,\n selectable: newOpt.selectable,\n }),\n };\n }),\n };\n\n return fltr;\n });\n\n setFilterList(newState);\n })\n .catch(error => handleError(error))\n .finally(() => setDisableMenuselection(false));\n }\n }\n\n return () => {\n active = false;\n };\n // eslint-disable-next-line\n }, [activeFilters]);\n\n useEffect(() => {\n let active = true;\n\n if (shouldGetReportData === true) {\n if (\n presentationList != null &&\n selectedPresentation != null &&\n activeDataSource != null\n ) {\n let filter;\n\n if (\n activeFilters.length > 0 &&\n activeFilters.filter(({ values }) => values.length).length\n ) {\n filter = activeFilters\n .filter(activeFilter =>\n filterList.some(\n fltr =>\n activeFilter.values.length &&\n fltr.sel_var === activeFilter.sel_var\n )\n )\n .map(activeFilter => {\n const s = activeFilter.values.reduce((acc, curr) => {\n return `${\n activeFilter?.selection_datatype === 'N'\n ? curr.value\n : `'${curr.value}'`\n }${acc ? `, ${acc}` : ''}`;\n }, null);\n\n return `${activeFilter.sel_var} in (${s})`;\n });\n }\n\n const request = {\n Forbund: activeDataSource.forbund,\n Dsl1: activeDataSource.dsl1,\n Dsl2: activeDataSource.dsl2,\n measure_var: measureVar,\n Year: activeDataSource.year,\n breakby1: selectedPresentation[0].BREAKBY_VAR\n ? selectedPresentation[0].BREAKBY_VAR\n : null,\n breakby2:\n selectedPresentation.length > 1\n ? selectedPresentation[1].BREAKBY_VAR\n : null,\n filter,\n };\n\n if (active) {\n setFetchingData(true);\n\n logGetReportRequest(request);\n\n ApiService.getReport(request, token)\n .then(data =>\n setTableData(() => {\n if (\n selectedPresentation.length > 0 &&\n selectedPresentation[0].sortOptionsByLetters\n ) {\n return data.sort(\n (a, b) =>\n a.breakby1 && a.breakby1.localeCompare(b.breakby1, 'sv')\n );\n }\n return data;\n })\n )\n // TODO: Just check if token is about to expire once, this code is a little everywhere\n .then(() => autoRefreshToken(token))\n .catch(error => handleError(error))\n .finally(() => setFetchingData(false));\n }\n }\n } else {\n setShouldGetReportData(true);\n }\n\n return () => {\n active = false;\n };\n\n // eslint-disable-next-line\n }, [activeFilters, selectedPresentation, measureVar]);\n\n useEffect(() => {\n if (activeFilters.length > 0) {\n const current = Math.ceil(\n []\n .concat(\n ...activeFilters\n .slice(activeFilters.length - 1)\n .map(item => item.values)\n )\n .reduce((a, b) => {\n const low = numberOfRespondents(b.antal)[0];\n const high = numberOfRespondents(b.antal)[1];\n const diff = (high - low) / 2;\n\n if (Number(low) && Number(high)) {\n return a + low + diff;\n }\n\n return a;\n }, 0)\n );\n setCurrentRespondents(current);\n } else {\n setCurrentRespondents(totalRespondents);\n }\n // eslint-disable-next-line\n }, [activeFilters, totalRespondents]);\n\n useEffect(() => {\n setShouldGetReportData(false);\n setActiveFilters([]);\n }, [activeDataSource]);\n\n // Tillåt ej \"Egen rapport\" om förbundet är SI (CF) och alternativ valt är chefslöner eller nyexaminerade\n useEffect(() => {\n if (activeDataSource) {\n if (\n (activeDataSource.forbund === 'CF' && activeDataSource.dsl2 === 'CH') ||\n activeDataSource.dsl2 === 'FJ'\n ) {\n setAllowCustomPresentation(false);\n } else if (selectedUnion.allowCustomPresentation) {\n setAllowCustomPresentation(true);\n } else {\n setAllowCustomPresentation(false);\n }\n }\n }, [activeDataSource]);\n\n // Disable CustomPresentation (Egen rapport) when current active data source is changed\n useEffect(() => {\n setCustomPresentation(false);\n }, [activeDataSource]);\n\n return (\n
    \n
    \n \n \n
    \n
    \n {activeDataSource && (\n \n )}\n \n
    \n
    \n
    \n {activeFilters.length > 0 && (\n \n )}\n
    \n \n \n
    \n {customPresentation && (\n \n )}\n \n \n
    \n
    \n
    \n
    \n
    \n );\n};\n\nexport default PageAdvanced;\n","export function resetMeasureVarToLon(dataSource, setMeasureVar) {\n if (dataSource.measureVar != null && dataSource.measureVar.length <= 1) {\n setMeasureVar('LON');\n }\n}\n\nexport function logGetReportRequest(request) {\n console.log('----------------------------');\n console.log(`getReport Forbund: ${request.Forbund}`);\n console.log(`getReport DSL1: ${request.Dsl1}`);\n console.log(`getReport DSL2: ${request.Dsl2}`);\n console.log(`getReport Measurevar: ${request.measure_var}`);\n console.log(`getReport year: ${request.Year}`);\n console.log(`getReport breakby1: ${request.breakby1}`);\n console.log(`getReport breakby2: ${request.breakby2}`);\n console.log(`getReport filter: ${request.filter}`);\n console.log('----------------------------');\n}\n","/* eslint-disable camelcase */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport styles from './Panel.module.css';\n\nconst Panel = ({children, className, legend, admin, card}) => {\n const extraClasses = className && className !== '' ? className : '';\n const hasFieldset = card && card !== '';\n return (\n
    \n {hasFieldset ? (\n
    \n {legend}\n {children}\n
    \n ) : (\n
    \n {children}\n
    \n )}\n
    \n );\n};\n\nPanel.propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]).isRequired,\n className: PropTypes.string,\n legend: PropTypes.string,\n card: PropTypes.bool,\n admin: PropTypes.bool\n};\n\nPanel.defaultProps = {\n className: '',\n legend: '',\n card: false,\n admin: false\n};\n\nexport default Panel;\n","export default {\n admin: {\n level2Header: 'Enkel sökning',\n level3Header: 'Avancerad sökning',\n level1Header: 'Konfiguration',\n previewConfigHeader: 'Öppen sökning',\n filterExplanations: 'Filter',\n commonTexts: 'Informationstexter',\n union: 'Länk till förbundet',\n notifications: 'Notiser',\n accounts: 'Användarkonton',\n visitiorStatistics: 'Besöksstatistik',\n applicationLog: 'Applikationslogg',\n copyConfigurationHeader: 'Kopiera konfiguration',\n monitoringHeader: 'Monitorering',\n monitoringRunInfoHeader: 'Körningsinformation',\n },\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport {\n IconArrowNarrowDown,\n IconArrowNarrowUp,\n IconChevronsLeft,\n IconChevronsRight,\n IconCopy,\n IconDownload,\n IconEdit,\n IconPlus,\n IconRefresh,\n IconTrash,\n} from 'tabler-icons';\nimport styles from './Button.module.css';\n\nconst Button = ({ className, disabled, label, altText, onClick, style, type, variant, icon, flipIcon }) => {\n const extraClasses = className && className !== '' ? className : '';\n const computedAltText = altText && altText !== '' ? altText : label;\n return (\n \n {icon && (\n \n {icon === 'ArrowDown' && }\n {icon === 'ArrowUp' && }\n {icon === 'Copy' && }\n {icon === 'Download' && }\n {icon === 'Edit' && }\n {icon === 'Next' && }\n {icon === 'Plus' && }\n {icon === 'Previous' && }\n {icon === 'Refresh' && }\n {icon === 'Trash' && }\n \n )}\n \n {label}\n \n \n );\n};\n\nButton.propTypes = {\n className: PropTypes.string,\n disabled: PropTypes.bool,\n flipIcon: PropTypes.bool,\n label: PropTypes.string.isRequired,\n altText: PropTypes.string,\n onClick: PropTypes.func.isRequired,\n icon: PropTypes.string,\n style: PropTypes.shape({}),\n type: PropTypes.oneOf(['submit', 'button']),\n variant: PropTypes.oneOf(['primary', 'secondary', 'ghost', 'delete']).isRequired,\n};\n\nButton.defaultProps = {\n altText: '',\n className: undefined,\n disabled: false,\n flipIcon: false,\n style: undefined,\n icon: undefined,\n type: 'button',\n};\n\nexport default Button;\n","/* eslint-disable camelcase */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport styles from './ButtonBar.module.css';\n\nconst ButtonBar = ({children, prevNext, marginBottom}) => {\n return (\n
    \n {children}\n
    \n );\n};\n\nButtonBar.propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]).isRequired,\n prevNext: PropTypes.bool,\n marginBottom: PropTypes.bool\n};\n\nButtonBar.defaultProps = {\n prevNext: false,\n marginBottom: false\n};\n\nexport default ButtonBar;\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport Select from 'atoms/select/Select';\nimport styles from './DataSourceSelect.module.css';\n\nconst DataSourceSelect = ({\n dataSources,\n dsl1,\n dsl2,\n role,\n setDsl1,\n setDsl2,\n setRole,\n setYear,\n year,\n}) => {\n const [availableYears, setAvailableYears] = useState([]);\n const [availableDSL1, setAvailableDSL1] = useState([]);\n const [availableDSL2, setAvailableDSL2] = useState([]);\n\n useEffect(() => {\n if (dataSources == null) return;\n setAvailableYears(\n dataSources\n .reduce((acc, curr) => {\n if (!acc.includes(curr.YEAR)) acc.push(curr.YEAR);\n return acc;\n }, [])\n .sort()\n .reverse()\n );\n }, [dataSources]);\n\n useEffect(() => {\n // TODO: Något sätt att hämta ut DSL1/2 baserat på år.\n if (year == null) {\n // Nollställ\n setAvailableDSL1([]);\n setAvailableDSL2([]);\n return;\n }\n\n const dsl1Temp = dataSources\n .filter(dataSource => dataSource.YEAR === year)\n .reduce((acc, curr) => {\n if (!acc.some(a => a.dsl === curr.DSL1))\n acc.push({ dsl: curr.DSL1, desc: curr.DSL1_DESC });\n return acc;\n }, []);\n setAvailableDSL1(dsl1Temp);\n }, [year, dataSources]);\n\n useEffect(() => {\n if (dsl1 === '') {\n setDsl2('');\n return;\n }\n\n setAvailableDSL2(\n dataSources\n .filter(dataSource => dataSource.YEAR === year)\n .filter(dataSource => dataSource.DSL1 === dsl1)\n .map(dataSource => {\n return { dsl: dataSource.DSL2, desc: dataSource.DSL2_DESC };\n })\n .filter(datasource => datasource.dsl.length)\n );\n // eslint-disable-next-line\n }, [dsl1, dataSources, year]);\n\n useEffect(() => {\n if (dsl2 !== '' && !availableDSL2.some(d => d.dsl === dsl2)) setDsl2('');\n if (dsl1 !== '' && !availableDSL1.some(d => d.dsl === dsl1)) setDsl1('');\n }, [availableDSL1, availableDSL2]);\n\n return (\n
    \n {\n e.persist();\n setYear(Number(e.target.value));\n }}\n options={[\n { key: 'year_null', value: '', desc: 'Inget valt' },\n ...availableYears\n .map(availableYear => ({\n key: availableYear,\n value: availableYear,\n desc: availableYear,\n }))\n .reverse(),\n ]}\n />\n {\n e.persist();\n setDsl1(e.target.value);\n }}\n options={[\n { key: 'dsl1_null', value: '', desc: 'Inget valt' },\n ...availableDSL1.map(({ dsl, desc }) => ({\n key: dsl,\n value: dsl,\n desc,\n })),\n ]}\n />\n {\n e.persist();\n setDsl2(e.target.value);\n }}\n options={[\n { key: 'dsl2_null', value: '', desc: 'Inget valt' },\n ...availableDSL2.map(({ dsl, desc }) => ({\n key: dsl,\n value: dsl,\n desc,\n })),\n ]}\n />\n {role !== null && (\n {\n e.persist();\n setRole(e.target.value);\n }}\n options={[\n { key: 'medlem', value: 'medlem', desc: 'Medlem' },\n {\n key: 'fortroendevald',\n value: 'fortroendevald',\n desc: 'Förtroendevald',\n },\n ]}\n />\n )}\n
    \n );\n};\n\nDataSourceSelect.propTypes = {\n dataSources: PropTypes.arrayOf(Object),\n dsl1: PropTypes.string.isRequired,\n dsl2: PropTypes.string.isRequired,\n role: PropTypes.string,\n setDsl1: PropTypes.func.isRequired,\n setDsl2: PropTypes.func.isRequired,\n setRole: PropTypes.func,\n setYear: PropTypes.func.isRequired,\n year: PropTypes.number,\n};\n\nDataSourceSelect.defaultProps = {\n dataSources: null,\n role: null,\n setRole: null,\n year: undefined,\n};\n\nexport default DataSourceSelect;\n","/* eslint-disable camelcase */\nimport React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport Button from 'atoms/button/Button';\nimport Input from 'atoms/input/Input';\nimport ButtonBar from 'atoms/buttonbar/ButtonBar';\nimport { useAuth } from 'services/UseAuth';\nimport ApiService from 'services/ApiService';\nimport Panel from 'atoms/panel/Panel';\nimport styles from './SituationCreate.module.css';\nimport DataSourceSelect from '../../datasourceselect/DataSourceSelect';\n\nconst SituationCreate = ({\n configureLvl1,\n dataSources,\n setCreateNewSituation,\n setSituationCopied,\n setSituationCreated,\n setSituations,\n situationToCopy,\n}) => {\n const [name, setName] = useState('');\n const [description, setDescription] = useState('');\n const [dsl1, setDsl1] = useState('');\n const [dsl2, setDsl2] = useState('');\n const [year, setYear] = useState();\n\n const [saveDisabled, setSaveDisabled] = useState(true);\n\n const { user } = useAuth();\n\n const handleSubmit = evt => {\n setSaveDisabled(true);\n evt.preventDefault();\n\n // Send network request.\n const request = {\n name,\n description,\n dsl1,\n dsl2,\n year,\n isActive: situationToCopy === null, // FIXME: Ska isActive defaulta till true när man skapar en ny?, åtminstone inte när man kopierar\n forbundsKod: configureLvl1 ? 'sa' : null,\n };\n\n const createSituation = new Promise((resolve, reject) =>\n ApiService.createSituation(request, user.token)\n .then(data => resolve(data))\n .catch(error => reject(error))\n );\n\n if (situationToCopy == null) {\n createSituation.then(data => {\n setSituations(prevState => [...prevState, data]);\n setCreateNewSituation(prevState => !prevState);\n setSituationCreated(true);\n });\n } else {\n createSituation.then(createdSituation => {\n const activeSelections = situationToCopy.selections.filter(\n situation => situation.isActive\n );\n\n const updateRequest = {\n selections: createdSituation.selections.map(selection => {\n const index = [...activeSelections]\n .map(({ sel_var }) => sel_var)\n .findIndex(selVar => selVar === selection.sel_var);\n\n return {\n id: selection.id,\n selectionOrder:\n index > -1\n ? activeSelections[index].SELECTION_ORDER\n : selection.SELECTION_ORDER,\n isActive: index > -1,\n };\n }),\n };\n\n ApiService.updateSelections(\n createdSituation.id,\n updateRequest,\n user.token\n ).then(updatedSituation => {\n setSituations(prevState => [...prevState, updatedSituation]);\n setCreateNewSituation(prevState => !prevState);\n setSituationCopied(true);\n });\n });\n }\n };\n\n useEffect(() => {\n if (name.length === 0 || description.length === 0) {\n setSaveDisabled(true);\n return;\n }\n\n if (\n dataSources.some(\n ds => ds.DSL1 === dsl1 && ds.DSL2 === dsl2 && ds.YEAR === year\n )\n ) {\n setSaveDisabled(false);\n } else setSaveDisabled(true);\n }, [name, description, year, dsl1, dsl2, dataSources]);\n\n useEffect(() => {\n if (situationToCopy != null) {\n setName(situationToCopy.name);\n setDescription(situationToCopy.description);\n setYear(situationToCopy.year);\n setDsl1(situationToCopy.DSL1);\n setDsl2(situationToCopy.DSL2 || '');\n }\n }, [situationToCopy]);\n\n return (\n \n
    \n
    \n setName(evt.target.value)}\n placeholder=\"Namn\"\n type=\"text\"\n value={name}\n />\n setDescription(evt.target.value)}\n placeholder=\"Beskrivning\"\n type=\"text\"\n value={description}\n />\n \n \n
    \n
    \n \n handleSubmit(evt)}\n label=\"Spara\"\n altText=\"Spara situation\"\n disabled={saveDisabled}\n />\n setCreateNewSituation(prevState => !prevState)}\n />\n \n
    \n );\n};\n\nSituationCreate.propTypes = {\n configureLvl1: PropTypes.bool.isRequired,\n dataSources: PropTypes.arrayOf(Object).isRequired,\n setCreateNewSituation: PropTypes.func.isRequired,\n setSituationCopied: PropTypes.func.isRequired,\n setSituationCreated: PropTypes.func.isRequired,\n setSituations: PropTypes.func.isRequired,\n situationToCopy: PropTypes.shape({\n name: PropTypes.string,\n description: PropTypes.string,\n year: PropTypes.number,\n DSL1: PropTypes.string,\n DSL2: PropTypes.string,\n selections: PropTypes.arrayOf(Object),\n }),\n};\n\nSituationCreate.defaultProps = {\n situationToCopy: null,\n};\n\nexport default SituationCreate;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styles from './CheckboxAdmin.module.css';\n\nconst CheckboxAdmin = ({ id, label, checked, disabled, onChange }) => {\n return (\n \n \n {label !== null && {label}}\n \n );\n};\n\nCheckboxAdmin.propTypes = {\n checked: PropTypes.bool,\n disabled: PropTypes.bool,\n id: PropTypes.string.isRequired,\n label: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n};\n\nCheckboxAdmin.defaultProps = {\n checked: false,\n disabled: false,\n label: null,\n};\n\nexport default CheckboxAdmin;\n","/* eslint-disable camelcase */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport styles from './InputReadOnly.module.css';\n\nconst InputReadOnly = ({label, text, className, useHyphens}) => {\n const extraClasses = className && className !== '' ? className : '';\n \n return (\n
    \n
    {label}:
    \n
    {text}
    \n
    \n );\n};\n\nInputReadOnly.propTypes = {\n label: PropTypes.string.isRequired,\n text: PropTypes.string.isRequired,\n className: PropTypes.string,\n useHyphens: PropTypes.bool\n};\n\nInputReadOnly.defaultProps = {\n className: '',\n useHyphens: false\n};\n\nexport default InputReadOnly;\n","import React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport styles from './Textarea.module.css';\n\nconst Textarea = forwardRef(\n (\n {\n className,\n classTextArea,\n disabled,\n id,\n label,\n onChange,\n placeholder,\n value\n },\n ref\n ) => {\n const extraClasses = className && className !== '' ? className : '';\n const extraTextAreaClasses = classTextArea && classTextArea !== '' ? classTextArea : '';\n return (\n \n {`${label}:`}\n \n \n );\n }\n);\n\nTextarea.propTypes = {\n className: PropTypes.string,\n classTextArea: PropTypes.string,\n disabled: PropTypes.bool,\n id: PropTypes.string.isRequired,\n label: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n placeholder: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n};\n\nTextarea.defaultProps = {\n className: '',\n classTextArea: '',\n disabled: false,\n label: '',\n placeholder: null,\n value: ''\n};\n\nexport default Textarea;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport Button from 'atoms/button/Button';\nimport ButtonBar from 'atoms/buttonbar/ButtonBar';\nimport CheckboxAdmin from 'atoms/checkboxadmin/CheckboxAdmin';\nimport InputReadOnly from 'atoms/inputreadonly/InputReadOnly';\nimport Input from 'atoms/input/Input';\nimport Textarea from 'atoms/textarea/Textarea';\nimport Panel from 'atoms/panel/Panel';\nimport styles from './SituationCard.module.css';\n\nconst SituationCard = ({\n copySituation,\n deleteSituation,\n situation,\n updateSituation,\n}) => {\n const [editMode, setEditMode] = useState(false);\n\n const [situationName, setSituationName] = useState(situation.name);\n const [situationDescription, setSituationDescription] = useState(\n situation.description\n );\n const [situationIsActive, setSituationIsActive] = useState(\n situation.isActive\n );\n\n const handleDelete = () => {\n const situationToDelete = {\n id: situation.id,\n name: situationName,\n description: situationDescription,\n isActive: situationIsActive,\n };\n\n deleteSituation(situationToDelete);\n setEditMode(prevState => !prevState);\n };\n\n const handleUpdate = () => {\n const updatedSituation = {\n id: situation.id,\n name: situationName,\n description: situationDescription,\n isActive: situationIsActive,\n };\n\n updateSituation(updatedSituation);\n setEditMode(prevState => !prevState);\n };\n\n return (\n \n
    \n
    \n
    \n {!editMode && (\n \n )}\n {editMode && (\n setSituationName(e.target.value)}\n placeholder=\"Namn\"\n type=\"text\"\n value={situationName}\n />\n )}\n {!editMode && (\n \n )}\n {editMode && (\n setSituationDescription(e.target.value)}\n />\n )}\n \n
    \n\n
    \n \n \n \n
    \n
    \n\n
    \n \n setSituationIsActive(prevState => !prevState)}\n />\n {editMode ? (\n <>\n \n \n setEditMode(prevState => !prevState)}\n label=\"Avbryt\"\n />\n \n ) : (\n <>\n copySituation(situation)}\n />\n setEditMode(prevState => !prevState)}\n label=\"Redigera\"\n icon=\"Edit\"\n altText=\"Redigera situation\"\n />\n \n )}\n \n
    \n \n );\n};\n\nSituationCard.propTypes = {\n deleteSituation: PropTypes.func.isRequired,\n copySituation: PropTypes.func.isRequired,\n situation: PropTypes.shape({\n id: PropTypes.string,\n name: PropTypes.string,\n isActive: PropTypes.bool,\n description: PropTypes.string,\n DSL1: PropTypes.string,\n DSL2: PropTypes.string,\n year: PropTypes.number,\n }).isRequired,\n updateSituation: PropTypes.func.isRequired,\n};\n\nexport default SituationCard;\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { ToastContainer, toast } from 'react-toastify';\nimport 'react-toastify/dist/ReactToastify.css';\nimport Button from 'atoms/button/Button';\nimport { useAuth } from 'services/UseAuth';\nimport ApiService from 'services/ApiService';\nimport ButtonBar from 'atoms/buttonbar/ButtonBar';\nimport styles from './SituationConfig.module.css';\nimport SituationCreate from './situationcreate/SituationCreate';\nimport SituationCard from './situationcard/SituationCard';\n\nconst SituationConfig = ({ configureLvl1, setSituations, situations }) => {\n const [createNewSituation, setCreateNewSituation] = useState(false);\n const [dataSources, setDataSources] = useState();\n const [situationToCopy, setSituationToCopy] = useState();\n\n const [situationCopied, setSituationCopied] = useState(false);\n const [situationCreated, setSituationCreated] = useState(false);\n const [situationDeleted, setSituationDeleted] = useState(false);\n const [situationUpdated, setSituationUpdated] = useState(false);\n\n const { user } = useAuth();\n const { token, forbund } = user;\n\n const deleteSituation = situationToDelete => {\n ApiService.deleteSituation(situationToDelete.id, token).then(data => {\n const remainingSituations = situations.filter(\n situation => situation.id !== data\n );\n setSituations(remainingSituations);\n setSituationDeleted(true);\n });\n };\n\n const updateSituation = updatedSituation => {\n ApiService.updateSituation(\n updatedSituation.id,\n updatedSituation,\n token\n ).then(data => {\n const index = situations.findIndex(situation => situation.id === data.id);\n const tempSituations = [...situations];\n if (index !== -1) {\n tempSituations[index] = data;\n }\n setSituations(tempSituations);\n setSituationUpdated(true);\n });\n };\n\n const getDataSources = () => {\n const request = { forbund: configureLvl1 ? ['sa'] : [forbund] };\n ApiService.getFds(request, token).then(data => setDataSources(data));\n };\n\n useEffect(() => {\n getDataSources();\n // eslint-disable-next-line\n }, [token, forbund, configureLvl1]);\n\n useEffect(() => {\n if (\n !situationCopied &&\n !situationCreated &&\n !situationDeleted &&\n !situationUpdated\n )\n return;\n\n if (situationCopied) {\n toast.success('Situation duplicerad');\n setSituationCopied(false);\n }\n if (situationCreated) {\n toast.success('Situation skapad');\n setSituationCreated(false);\n }\n if (situationDeleted) {\n toast.success('Situation borttagen');\n setSituationDeleted(false);\n }\n if (situationUpdated) {\n toast.success('Situation uppdaterad');\n setSituationUpdated(false);\n }\n }, [situationCopied, situationCreated, situationDeleted, situationUpdated]);\n\n return (\n
    \n \n {situations\n .sort((a, b) => a.name.localeCompare(b.name))\n .sort((a, b) => {\n if (a.DSL2.toLowerCase() === 'df') return -1;\n if (b.DSL2.toLowerCase() !== 'df') return 1;\n return 0;\n })\n .map(situation => (\n {\n setCreateNewSituation(true);\n setSituationToCopy(s);\n }}\n deleteSituation={deleteSituation}\n key={situation.id}\n setSituationUpdated={setSituationUpdated}\n situation={situation}\n updateSituation={updateSituation}\n />\n ))}\n
    \n {!createNewSituation ? (\n \n {\n setCreateNewSituation(prevState => !prevState);\n setSituationToCopy(null);\n }}\n style={{ marginLeft: 'auto' }}\n variant=\"primary\"\n />\n \n ) : (\n \n )}\n
    \n
    \n );\n};\n\nSituationConfig.propTypes = {\n configureLvl1: PropTypes.bool,\n setSituations: PropTypes.func.isRequired,\n situations: PropTypes.arrayOf(Object).isRequired,\n};\n\nSituationConfig.defaultProps = {\n configureLvl1: false,\n};\n\nexport default SituationConfig;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport Button from 'atoms/button/Button';\nimport Input from 'atoms/input/Input';\nimport ButtonBar from 'atoms/buttonbar/ButtonBar';\nimport { useAuth } from 'services/UseAuth';\nimport ApiService from 'services/ApiService';\nimport Panel from 'atoms/panel/Panel';\n\nconst LinkCreate = ({\n setLinks,\n configureLvl1,\n setCreateNewLink,\n setLinkCreated,\n}) => {\n const [linkName, setLinkName] = useState('');\n const [linkUrl, setLinkUrl] = useState('');\n const [isSaving, setIsSaving] = useState(false);\n\n const { user } = useAuth();\n\n const handleSubmit = () => {\n setIsSaving(true);\n const request = {\n unionId: configureLvl1 ? null : user.unionId,\n groupId: configureLvl1 ? 'level1link' : 'level2link',\n textId: linkName,\n header: linkName,\n value: linkUrl,\n };\n ApiService.postText(request, user.token)\n .then(data => {\n setLinks(prevState => [...prevState, data]);\n setLinkCreated(true);\n setCreateNewLink(false);\n })\n .finally(() => setIsSaving(false));\n };\n return (\n \n
    \n setLinkName(evt.target.value)}\n placeholder=\"Länktext\"\n type=\"text\"\n value={linkName}\n />\n setLinkUrl(evt.target.value)}\n placeholder=\"HTTP-länk\"\n type=\"text\"\n value={linkUrl}\n />\n \n \n handleSubmit()}\n disabled={isSaving}\n />\n setCreateNewLink(prevState => !prevState)}\n />\n \n
    \n );\n};\n\nLinkCreate.propTypes = {\n setLinks: PropTypes.func.isRequired,\n configureLvl1: PropTypes.bool.isRequired,\n setCreateNewLink: PropTypes.func.isRequired,\n setLinkCreated: PropTypes.func.isRequired,\n};\n\nexport default LinkCreate;\n","import Button from 'atoms/button/Button';\nimport ButtonBar from 'atoms/buttonbar/ButtonBar';\nimport Input from 'atoms/input/Input';\nimport Panel from 'atoms/panel/Panel';\nimport InputReadOnly from 'atoms/inputreadonly/InputReadOnly';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport ApiService from 'services/ApiService';\nimport { useAuth } from 'services/UseAuth';\nimport styles from './LinkCard.module.css';\n\nconst LinkCard = ({\n link,\n setLinks,\n setLinkUpdated,\n setLinkDeleted,\n configureLvl1,\n}) => {\n const { header, value, id, groupId, textId } = link;\n\n const [editMode, setEditMode] = useState(false);\n\n const [linkName, setLinkName] = useState(header);\n const [linkUrl, setLinkUrl] = useState(value);\n const [isSaving, setIsSaving] = useState(false);\n\n const { user } = useAuth();\n\n const handleUpdate = () => {\n setIsSaving(true);\n const request = {\n id,\n groupId,\n textId,\n unionId: configureLvl1 ? null : user.unionId,\n header: linkName,\n value: linkUrl,\n };\n\n ApiService.postText(request, user.token)\n .then(data => {\n setLinks(prevState => {\n const index = prevState.findIndex(\n situation => situation.id === data.id\n );\n const tempLinks = [...prevState];\n if (index !== -1) {\n tempLinks[index] = data;\n }\n\n return tempLinks;\n });\n setLinkUpdated(true);\n })\n .finally(() => {\n setIsSaving(false);\n setEditMode(false);\n });\n };\n\n const handleDelete = () => {\n ApiService.deleteText(id, user.token).then(data => {\n setLinks(prevState => [...prevState.filter(l => l.id !== data)]);\n setLinkDeleted(true);\n });\n };\n\n return (\n \n
    \n
    \n
    \n {editMode ? (\n setLinkName(evt.target.value)}\n placeholder=\"Länktext\"\n type=\"text\"\n value={linkName}\n />\n ) : (\n \n )}\n
    \n
    \n {editMode ? (\n setLinkUrl(evt.target.value)}\n placeholder=\"HTTP-länk\"\n type=\"text\"\n value={linkUrl}\n />\n ) : (\n \n )}\n
    \n
    \n
    \n
    \n \n {editMode && (\n <>\n handleDelete()}\n label=\"Ta bort\"\n icon=\"Trash\"\n altText=\"Ta bort länk\"\n disabled={isSaving}\n />\n handleUpdate()}\n label=\"Spara\"\n altText=\"Spara länk\"\n disabled={isSaving}\n />\n setEditMode(prevState => !prevState)}\n label=\"Avbryt\"\n disabled={isSaving}\n />\n \n )}\n {!editMode && (\n <>\n setEditMode(prevState => !prevState)}\n label=\"Redigera\"\n icon=\"Edit\"\n altText=\"Redigera länk\"\n />\n \n )}\n \n
    \n
    \n );\n};\n\nLinkCard.propTypes = {\n link: PropTypes.shape({\n header: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n groupId: PropTypes.string.isRequired,\n textId: PropTypes.string.isRequired,\n }).isRequired,\n setLinks: PropTypes.func.isRequired,\n setLinkUpdated: PropTypes.func.isRequired,\n setLinkDeleted: PropTypes.func.isRequired,\n configureLvl1: PropTypes.bool.isRequired,\n};\n\nexport default LinkCard;\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { ToastContainer, toast } from 'react-toastify';\nimport Button from 'atoms/button/Button';\nimport Loader from 'atoms/loader/Loader';\nimport { useAuth } from 'services/UseAuth';\nimport ApiService from 'services/ApiService';\nimport ButtonBar from 'atoms/buttonbar/ButtonBar';\nimport styles from './LinksConfig.module.css';\nimport LinkCreate from './linkcreate/LinkCreate';\nimport LinkCard from './linkcard/LinkCard';\nimport 'react-toastify/dist/ReactToastify.css';\n\nconst LinksConfig = ({ configureLvl1 }) => {\n const [createNewLink, setCreateNewLink] = useState(false);\n const [linkCreated, setLinkCreated] = useState(false);\n const [linkUpdated, setLinkUpdated] = useState(false);\n const [linkDeleted, setLinkDeleted] = useState(false);\n const [links, setLinks] = useState();\n\n const { user } = useAuth();\n useEffect(() => {\n const request = [\n {\n groupId: configureLvl1 ? 'level1link' : 'level2link',\n },\n ];\n ApiService.getTexts(request, user.token).then(data => setLinks(data));\n }, [user.token, configureLvl1]);\n\n useEffect(() => {\n if (!linkCreated && !linkUpdated && !linkDeleted) return;\n\n if (linkCreated) {\n toast.success('Länk Skapad');\n setLinkCreated(false);\n }\n if (linkUpdated) {\n toast.success('Länk Uppdaterad');\n setLinkUpdated(false);\n }\n if (linkDeleted) {\n toast.success('Länk Borttagen');\n setLinkDeleted(false);\n }\n }, [linkCreated, linkUpdated, linkDeleted]);\n\n return (\n
    \n \n {links ? (\n links.map(link => (\n \n ))\n ) : (\n
    \n \n
    \n )}\n
    \n {!createNewLink ? (\n \n setCreateNewLink(prevState => !prevState)}\n icon=\"Plus\"\n label=\"Lägg till\"\n altText=\"Lägg till länk\"\n />\n \n ) : (\n \n )}\n
    \n
    \n );\n};\n\nLinksConfig.propTypes = {\n configureLvl1: PropTypes.bool,\n};\n\nLinksConfig.defaultProps = {\n configureLvl1: false,\n};\n\nexport default LinksConfig;\n","/* eslint-disable no-param-reassign */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from 'atoms/button/Button';\nimport CheckboxAdmin from 'atoms/checkboxadmin/CheckboxAdmin';\nimport { IconCheck } from 'tabler-icons';\nimport Accordion from 'atoms/accordion/Accordion';\nimport isEmpty from 'lib/emptyValues';\nimport styles from './SortableList.module.css';\n\nconst VARIANTS = {\n filter: {\n order: 'filterOrder',\n title: 'SELECTION_TEXT',\n id: 'sel_var',\n },\n breakby: {\n order: 'breakbyOrder',\n title: 'breakbyText',\n id: 'breakbyVar',\n },\n selection: {\n order: 'SELECTION_ORDER',\n title: 'SELECTION_TEXT',\n id: 'sel_var',\n },\n};\n\nconst SortableList = ({ data, isSaving, updateFunction, variant }) => {\n const { order, title, id } = VARIANTS[variant];\n const activeItems = data.filter(a => a.isActive).length;\n\n const performMoveUp = (index, listItem) => {\n if (index === 0 && listItem[order] != null) {\n return;\n }\n\n const itemList = data.filter(item => item.isActive);\n const unsortedItems = data.filter(item => !item.isActive);\n\n if (index > 0 && itemList[index - 1][order] != null)\n itemList[index - 1][order] += 1;\n\n if (listItem[order] == null) {\n listItem[order] = index;\n } else {\n listItem[order] -= 1;\n }\n\n updateFunction([\n ...itemList.sort((a, b) => (a[order] > b[order] ? 1 : -1)),\n ...unsortedItems,\n ]);\n };\n\n const performMoveDown = (index, listItem) => {\n const itemList = data.filter(item => item.isActive);\n const unsortedItems = data.filter(item => !item.isActive);\n\n if (index === itemList.length - 1) return;\n\n if (itemList[index + 1][order] != null) itemList[index + 1][order] -= 1;\n\n if (listItem[order] == null) {\n listItem[order] = index;\n } else {\n listItem[order] += 1;\n }\n\n updateFunction([\n ...itemList.sort((a, b) => (a[order] > b[order] ? 1 : -1)),\n ...unsortedItems,\n ]);\n };\n\n const handleItemUpdate = (index, listItem, property, value = null) => {\n const newList = data.map(item => {\n if (item[id] === listItem[id]) {\n const updatedItem = {\n ...item,\n // TODO: Consider this\n [property]: value !== null ? value : !item[property],\n [order]: property === 'isActive' ? activeItems : item[order],\n };\n\n return updatedItem;\n }\n if (item[order] > index && item[property]) {\n item[order] -= 1;\n }\n return item;\n });\n\n updateFunction(newList);\n };\n\n const filterType = variant === 'filter' || variant === 'selection';\n\n return (\n \n \n \n \n \n \n {filterType ? : }\n {!filterType && }\n \n \n \n \n {variant === 'breakby' && }\n \n \n \n {data\n .sort((a, b) => a[order] - b[order])\n .sort((a, b) => {\n if (a.isActive === b.isActive) return 0;\n if (a.isActive) return -1;\n return 1;\n })\n .map((item, i) => (\n \n \n {!filterType && (\n \n )}\n \n \n \n \n {variant === 'breakby' && (\n \n )}\n \n ))}\n \n
    \n \n Ordning för{' '}\n {filterType ? 'filtervariabler' : 'presentationsvariabler'}\n
    FilterPresentationsvariabelFörvalt alternativOrdningAktivAlfabetiskNummerordningOmvänd ordning (diagram)
    \n {/* TODO: Merge with: components/admin/salaryprofileconfig/selectionitem/SelectionItem' */}\n {variant === 'filter' || variant === 'selection' ? (\n \n
    \n {item.options ? (\n item.options\n .filter(({ value }) => !isEmpty(value))\n .sort((a, b) =>\n item.sortOptionsByNumber\n ? Number(a.value) - Number(b.value)\n : a.description.localeCompare(b.description, 'sv')\n )\n .map(({ description }, index) => (\n // eslint-disable-next-line\n {description}\n ))\n ) : (\n \n )}\n
    \n
    \n ) : (\n item[title]\n )}\n
    \n {i === 0 && (\n \n )}\n \n performMoveUp(i, item)}\n icon=\"ArrowUp\"\n label=\"\"\n altText={`Flytta upp ${item[title]}`}\n disabled={!item.isActive || isSaving || i === 0}\n />\n performMoveDown(i, item)}\n icon=\"ArrowDown\"\n label=\"\"\n altText={`Flytta ner ${item[title]}`}\n disabled={\n !item.isActive ||\n isSaving ||\n i === data.filter(a => a.isActive).length - 1\n }\n />\n \n handleItemUpdate(i, item, 'isActive')}\n />\n \n \n {filterType ? (\n {\n return handleItemUpdate(\n i,\n item,\n 'sortOptionsByNumber',\n false\n );\n }}\n disabled={!item.isActive}\n checked={item.sortOptionsByNumber === false}\n />\n ) : (\n {\n return handleItemUpdate(\n i,\n item,\n 'sortOptionsByLetters',\n true\n );\n }}\n disabled={!item.isActive}\n checked={item.sortOptionsByLetters === true}\n />\n )}\n \n \n \n {filterType ? (\n {\n return handleItemUpdate(\n i,\n item,\n 'sortOptionsByNumber',\n true\n );\n }}\n disabled={!item.isActive}\n checked={item.sortOptionsByNumber === true}\n />\n ) : (\n {\n return handleItemUpdate(\n i,\n item,\n 'sortOptionsByLetters',\n false\n );\n }}\n disabled={!item.isActive}\n checked={item.sortOptionsByLetters === false}\n />\n )}\n \n \n \n handleItemUpdate(i, item, 'isReverse', !item.isReverse)\n }\n />\n
    \n );\n};\n\nSortableList.propTypes = {\n data: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\n isSaving: PropTypes.bool.isRequired,\n updateFunction: PropTypes.func.isRequired,\n variant: PropTypes.oneOf(['filter', 'breakby', 'selection']).isRequired,\n};\n\nexport default SortableList;\n","import Button from 'atoms/button/Button';\nimport ButtonBar from 'atoms/buttonbar/ButtonBar';\nimport Select from 'atoms/select/Select';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport { toast, ToastContainer } from 'react-toastify';\nimport 'react-toastify/dist/ReactToastify.css';\nimport ApiService from 'services/ApiService';\nimport { useAuth } from 'services/UseAuth';\nimport SortableList from '../level3advanced/datasourceconfig/sortablelist/SortableList';\nimport styles from './SalaryProfileConfig.module.css';\n\nconst SalaryProfileConfig = ({ situations, setSituations }) => {\n const [selectionList, setSelectionList] = useState();\n const [currentSituation, setCurrentSituation] = useState();\n const [isSaving, setIsSaving] = useState(false);\n const { user } = useAuth();\n\n const handleSubmit = () => {\n setIsSaving(true);\n const situationId = currentSituation.id; // TODO: Hämta upp situationsid\n\n const request = {\n selections: selectionList.map(selection => {\n return {\n id: selection.id,\n isActive: selection.isActive,\n selectionOrder: selection.SELECTION_ORDER,\n sortOptionsByNumber: selection.sortOptionsByNumber,\n };\n }),\n };\n\n ApiService.updateSelections(situationId, request, user.token)\n .then(data => {\n const tempData = [...situations];\n const index = tempData.findIndex(\n situation => situation.id === situationId\n );\n\n if (index > -1) {\n tempData[index] = data;\n }\n\n setSituations(tempData);\n toast.success('Situation Uppdaterad');\n })\n .finally(() => setIsSaving(false));\n };\n\n return (\n
    \n \n
    \n
    \n {\n const { value } = evt.target;\n if (value !== null && value !== undefined && value !== '') {\n const selectedSituationId = value;\n\n const selectedSituation = situations.find(\n situation => situation.id === selectedSituationId\n );\n console.log('Situation');\n console.log(selectedSituation.id);\n console.log(selectedSituation.name);\n console.log('Selections');\n console.log(selectedSituation.selections);\n\n setSelectionList(selectedSituation.selections);\n setCurrentSituation({ id: selectedSituation.id });\n } else {\n setSelectionList(null);\n setCurrentSituation(null);\n }\n }}\n options={\n situations && [\n { desc: 'Ingen vald', key: '', value: '' },\n ...situations\n .filter(situation => situation.isActive)\n .map((situation, i) => ({\n key: situation.id,\n value: situation.id, // Konvertera indexet till en sträng\n desc: `${situation.name} - ${situation.year}`,\n })),\n ]\n }\n />\n
    \n
    \n {selectionList && (\n \n )}\n {currentSituation && (\n \n {/* TODO: Om man gör ändringar borde knappen bli enabled */}\n handleSubmit()}\n label=\"Spara\"\n altText=\"Spara vald ordning\"\n disabled={isSaving}\n />\n {/*
    \n );\n};\n\nSalaryProfileConfig.propTypes = {\n situations: PropTypes.arrayOf(Object).isRequired,\n setSituations: PropTypes.func.isRequired,\n};\n\nexport default SalaryProfileConfig;\n","/* eslint-disable camelcase */\nimport React from 'react';\nimport styles from './HelpBox.module.css';\n\nconst HelpBox = () => {\n return (\n
    \n

    Hjälp

    \n

    För att konfigurera förbundsanpassningar gör följande:

    \n
      \n
    • Skapa situationer
    • \n
        \n
      • 1..* (en till många)
      • \n
      • Om det bara finns en situation så visas den inte i Enkel vy.
      • \n
      • \n Tjänsten anropar automatiskt SAS och hämtar de år som är inlagda i\n SAS.\n
      • \n
      \n
    • Välj och ordna filter/urval
    • \n
        \n
      • \n Tjänsten anropar automatiskt SAS och hämtar den data (urval) som\n finns där.\n
      • \n
      • Om det bara finns en situation så visas den inte i Enkel vy.
      • \n
      \n
    • Länkar
    • \n
        \n
      • Lägg till flera länkar till förbundets sajt för mer läsning.
      • \n
      \n
    \n
    \n );\n};\n\nHelpBox.propTypes = {};\n\nHelpBox.defaultProps = {};\n\nexport default HelpBox;\n","import ButtonLink from 'atoms/buttonlink/ButtonLink';\nimport Loader from 'atoms/loader/Loader';\nimport Panel from 'atoms/panel/Panel';\nimport Section from 'atoms/section/Section';\nimport Tab from 'atoms/tab/Tab';\nimport TabRow from 'atoms/tabrow/TabRow';\nimport Const from 'const';\nimport useScrollTo from 'hooks/useScrollTo';\nimport React, { useEffect, useState } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport ApiService from 'services/ApiService';\nimport { useAuth } from 'services/UseAuth';\nimport SituationConfig from 'components/admin/situationconfig/SituationConfig';\nimport LinksConfig from '../linksconfig/LinksConfig';\nimport SalaryProfileConfig from '../salaryprofileconfig/SalaryProfileConfig';\nimport HelpBox from './helpbox/HelpBox';\nimport styles from './Level2Simple.module.css';\n\nconst Level2Simple = () => {\n const history = useHistory();\n const ref = useScrollTo('hjalp');\n const { user, signout, autoRefreshToken } = useAuth();\n const { token } = user;\n\n const [activeTab, setActiveTab] = useState('situation');\n const [situations, setSituations] = useState();\n const [loadingSituations, setLoadingSituations] = useState(false);\n\n useEffect(() => {\n if (user.role === 'redaktor') return;\n setLoadingSituations(true);\n ApiService.getSituations(token)\n .then(data => {\n setSituations(data);\n })\n .then(() => autoRefreshToken(token))\n .catch(error => {\n if (error.status === 401) {\n signout();\n history.push('/logga-ut');\n }\n })\n .finally(() => setLoadingSituations(false));\n // eslint-disable-next-line\n }, [token, signout, history]);\n\n if (user.role === 'redaktor')\n return (\n \n
    \n \n
    \n
    \n );\n\n // admins\n return (\n \n
    \n \n setActiveTab('situation')}\n />\n setActiveTab('statistics')}\n />\n setActiveTab('links')}\n />\n\n history.push('#hjalp')}\n />\n \n\n {loadingSituations ? (\n
    \n \n
    \n ) : (\n <>\n {situations && (\n <>\n {activeTab === 'situation' && situations && (\n \n )}\n {activeTab === 'statistics' && situations && (\n \n )}\n {activeTab === 'links' && }\n \n )}\n \n )}\n
    \n \n
    \n
    \n
    \n );\n};\n\nexport default Level2Simple;\n","/* eslint-disable camelcase */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport styles from './SectionAdmin.module.css';\n\nconst SectionAdmin = ({title, children}) => {\n return (\n
    \n

    \n {title}\n

    \n
    \n {children}\n
    \n
    \n );\n};\n\nSectionAdmin.propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node,\n ]).isRequired,\n title: PropTypes.string.isRequired\n};\n\nSectionAdmin.defaultProps = {\n \n};\n\nexport default SectionAdmin;\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport SectionAdmin from 'atoms/sectionadmin/SectionAdmin';\nimport Button from 'atoms/button/Button';\nimport DataSourceSelect from 'components/admin/datasourceselect/DataSourceSelect';\nimport { useAuth } from 'services/UseAuth';\nimport ApiService from 'services/ApiService';\nimport Loader from 'atoms/loader/Loader';\nimport ButtonBar from 'atoms/buttonbar/ButtonBar';\nimport styles from './LoadConfiguration.module.css';\n\nfunction LoadConfiguration({\n breakbys,\n dataSources,\n dsl1,\n dsl2,\n filters,\n isSaving,\n previousYear,\n setBreakbys,\n setFilters,\n toastMessage,\n year,\n role,\n}) {\n const [isLoading, setIsLoading] = useState(false);\n const [loadConfig, setLoadConfig] = useState(false);\n\n const [copyYear, setCopyYear] = useState(previousYear || year);\n const [copyDsl1, setCopyDsl1] = useState(dsl1);\n const [copyDsl2, setCopyDsl2] = useState(dsl2);\n const [copyRole, setCopyRole] = useState(role);\n\n const {\n user: { forbund, token },\n } = useAuth();\n\n // Reduce an array into an object\n // [ { sel_var: \"ARBSEK\", filterOrder: 0, isActive: true } ] => { \"ARBSEK\": { filterOrder: 0, isActive: true } }\n const createObject = ({ data, key, identificator, orderBy, sortBy }) =>\n data[key].reduce((acc, curr) => {\n if (!acc[curr[identificator]]) {\n acc[curr[identificator]] = {\n [orderBy]: curr[orderBy],\n [sortBy]: curr[sortBy],\n isActive: curr.isActive,\n };\n }\n\n return acc;\n }, {});\n\n // Update array with copied data\n const updateArray = ({ data, object, identificator, orderBy, sortBy }) => {\n let count = 0;\n const updatedData = data.map(item => {\n const tempItem = { ...item };\n\n if (object[tempItem[identificator]]) {\n tempItem[orderBy] = object[tempItem[identificator]][orderBy];\n tempItem[sortBy] = object[tempItem[identificator]][sortBy];\n tempItem.isActive = object[tempItem[identificator]].isActive;\n\n count += 1;\n }\n\n return tempItem;\n });\n\n return [updatedData, count];\n };\n\n useEffect(() => {\n if (!loadConfig) return;\n if (\n dataSources == null ||\n !dataSources.some(\n ds =>\n ds.YEAR === copyYear && ds.DSL1 === copyDsl1 && ds.DSL2 === copyDsl2\n ) ||\n isLoading\n )\n return;\n setIsLoading(true);\n\n const request = {\n forbund,\n year: copyYear,\n dsl1: copyDsl1,\n dsl2: copyDsl2,\n role,\n };\n\n ApiService.getPresentations(request, token)\n .then(data => {\n const breakbyObject = createObject({\n data,\n key: 'breakbys',\n identificator: 'breakbyVar',\n orderBy: 'breakbyOrder',\n sortBy: 'sortOptionsByLetters',\n });\n\n const filterObject = createObject({\n data,\n key: 'filters',\n identificator: 'sel_var',\n orderBy: 'filterOrder',\n sortBy: 'sortOptionsByNumber',\n });\n\n const [updatedBreakbys, breakbyCount] = updateArray({\n data: breakbys,\n object: breakbyObject,\n identificator: 'breakbyVar',\n orderBy: 'breakbyOrder',\n sortBy: 'sortOptionsByLetters',\n });\n\n setBreakbys(updatedBreakbys);\n\n const [updatedFilters, filterCount] = updateArray({\n data: filters,\n object: filterObject,\n identificator: 'sel_var',\n orderBy: 'filterOrder',\n sortBy: 'sortOptionsByNumber',\n });\n\n setFilters(updatedFilters);\n\n if (breakbyCount > 0 || filterCount > 0) {\n toastMessage(\n 'info',\n `Kopieringen av konfigurationen lyckades, hittade ${breakbyCount} matchande presentationssätt och \n ${filterCount} matchande filter. Spara för att godkänna konfigurationen.`\n );\n } else {\n toastMessage(\n 'warning',\n `Försökte utföra kopiering av konfiguration, men datakällorna innehåller inga matchande presentationssätt \n eller filter.`\n );\n }\n })\n .catch(() => {\n toastMessage('error', 'Kopiering av konfiguration misslyckad');\n })\n .finally(() => {\n setIsLoading(false);\n setLoadConfig(false);\n });\n // eslint-disable-next-line\n }, [loadConfig]);\n\n return (\n \n
    \n {isLoading && (\n
    \n \n
    \n )}\n

    Välj en annan statistikkälla att kopiera konfiguration från.

    \n \n \n setLoadConfig(true)}\n variant=\"primary\"\n label=\"Ladda in konfiguration\"\n altText=\"Ladda in konfiguration\"\n disabled={isSaving || isLoading}\n />\n \n
    \n
    \n );\n}\n\nLoadConfiguration.propTypes = {\n breakbys: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\n dataSources: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\n dsl1: PropTypes.string.isRequired,\n dsl2: PropTypes.string.isRequired,\n filters: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\n isSaving: PropTypes.bool.isRequired,\n previousYear: PropTypes.number,\n setBreakbys: PropTypes.func.isRequired,\n setFilters: PropTypes.func.isRequired,\n toastMessage: PropTypes.func.isRequired,\n year: PropTypes.number.isRequired,\n role: PropTypes.string.isRequired,\n};\n\nLoadConfiguration.defaultProps = {\n previousYear: null,\n};\n\nexport default LoadConfiguration;\n","/* eslint-disable camelcase */\nimport Button from 'atoms/button/Button';\nimport ButtonBar from 'atoms/buttonbar/ButtonBar';\nimport Loader from 'atoms/loader/Loader';\nimport SectionAdmin from 'atoms/sectionadmin/SectionAdmin';\nimport Tab from 'atoms/tab/Tab';\nimport TabRow from 'atoms/tabrow/TabRow';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport ApiService from 'services/ApiService';\nimport { useAuth } from 'services/UseAuth';\nimport CheckboxAdmin from 'atoms/checkboxadmin/CheckboxAdmin';\nimport DataSourceSelect from '../../datasourceselect/DataSourceSelect';\nimport SortableList from './sortablelist/SortableList';\nimport styles from './DataSourceConfig.module.css';\nimport LoadConfiguration from './loadconfiguration/LoadConfiguration';\n\nconst DataSourceConfig = ({\n dataSources,\n toastMessage,\n isSaving,\n setIsSaving,\n}) => {\n const [activeTab, setActiveTab] = useState('filter');\n\n const [dsl1, setDsl1] = useState('');\n const [dsl2, setDsl2] = useState('');\n const [year, setYear] = useState();\n const [role, setRole] = useState('medlem');\n\n const [isActive, setIsActive] = useState(true);\n const [breakbys, setBreakbys] = useState([]);\n const [filters, setFilters] = useState([]);\n\n const [loadConfiguration, setLoadConfiguration] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n\n const {\n user: { forbund, token },\n } = useAuth();\n\n const handleSubmit = () => {\n if (isSaving) return;\n\n setIsSaving(true);\n\n const request = {\n forbund,\n dsl1,\n dsl2,\n year,\n isActive,\n breakbys,\n filters,\n role,\n };\n\n ApiService.postPresentations(request, token)\n .then(() =>\n toastMessage(\n 'success',\n 'Nivå 3 presentations och filtervariabler sparade.'\n )\n )\n .finally(() => setIsSaving(false));\n };\n\n // Sort the array, set the order of each item\n const sortData = (data, orderParameter) =>\n data\n .sort(a => (a[orderParameter] == null ? 1 : -1))\n .sort((a, b) => a[orderParameter] - b[orderParameter])\n .sort((a, b) => {\n if (a.isActive === b.isActive) return 0;\n if (a.isActive) return -1;\n return 1;\n })\n .map((item, index) => {\n const tempItem = { ...item };\n tempItem[orderParameter] = index;\n return tempItem;\n });\n\n useEffect(() => {\n if (isLoading) return;\n if (\n dataSources == null ||\n !dataSources.some(\n ds => ds.YEAR === year && ds.DSL1 === dsl1 && ds.DSL2 === dsl2\n )\n ) {\n setIsActive(true);\n setBreakbys([]);\n setFilters([]);\n return;\n }\n\n setIsLoading(true);\n\n ApiService.getPresentations(\n {\n forbund,\n year,\n dsl1,\n dsl2,\n role,\n },\n token\n )\n .then(data => {\n setBreakbys(sortData(data.breakbys, 'breakbyOrder'));\n setFilters(sortData(data.filters, 'filterOrder'));\n setIsActive(data.isActive);\n })\n .finally(() => setIsLoading(false));\n // eslint-disable-next-line\n }, [year, dsl1, dsl2, role]);\n\n return (\n <>\n \n
    \n

    \n Varje datakälla som du väljer kan ha sin egen uppsättning filter\n (urval) och presentationssätt.\n

    \n \n
    \n\n {isLoading && (\n
    \n \n
    \n )}\n\n {(breakbys.length > 0 || filters.length > 0) && !isLoading && (\n <>\n setIsActive(prevState => !prevState)}\n />\n \n setActiveTab('filter')}\n />\n setActiveTab('presentation')}\n />\n \n \n \n
    \n\n \n \n \n \n setLoadConfiguration(true)}\n variant=\"secondary\"\n label=\"Ladda in konfiguration\"\n altText=\"Ladda in konfiguration från annan källa\"\n disabled={isSaving}\n />\n handleSubmit(isSaving)}\n variant=\"primary\"\n label=\"Spara\"\n altText=\"Spara löneprofil\"\n disabled={isSaving}\n />\n \n \n )}\n \n {loadConfiguration && (\n ds.DSL1 === dsl1 && ds.DSL2 === dsl2)\n .sort((a, b) => b.YEAR - a.YEAR)\n .find(ds => ds.YEAR < year)?.YEAR\n }\n />\n )}\n \n );\n};\n\nDataSourceConfig.propTypes = {\n dataSources: PropTypes.arrayOf(Object),\n toastMessage: PropTypes.func.isRequired,\n isSaving: PropTypes.bool.isRequired,\n setIsSaving: PropTypes.func.isRequired,\n};\n\nDataSourceConfig.defaultProps = {\n dataSources: null,\n};\n\nexport default DataSourceConfig;\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport DataSourceSelect from 'components/admin/datasourceselect/DataSourceSelect';\n\nexport default function DefaultSourceConfig({\n dataSources,\n defaultDataSource,\n defaultYearFromDeepAnalysis,\n defaultYearToDeepAnalysis,\n setDefaultDataSource,\n}) {\n const [year, setYear] = useState(defaultDataSource?.year || 0);\n const [dsl1, setDsl1] = useState(defaultDataSource?.DSL1 || '');\n const [dsl2, setDsl2] = useState(defaultDataSource?.DSL2 || '');\n\n useEffect(() => {\n if (year && dsl1 && dsl2) {\n setDefaultDataSource({ year, DSL1: dsl1, DSL2: dsl2 });\n return;\n }\n\n if (year && dsl1) {\n setDefaultDataSource({ year, DSL1: dsl1, DSL2: null });\n }\n // eslint-disable-next-line\n }, [year, dsl1, dsl2]);\n\n useEffect(() => {\n if (!defaultDataSource) return;\n const { year: YEAR, DSL1, DSL2 } = defaultDataSource;\n\n if (year !== YEAR) setYear(YEAR);\n if (dsl1 !== DSL1) setDsl1(DSL1);\n if (dsl2 !== DSL2 && DSL2) setDsl2(DSL2);\n // eslint-disable-next-line\n }, [\n defaultDataSource?.year,\n defaultDataSource?.DSL1,\n defaultDataSource?.DSL2,\n ]);\n\n return (\n {\n // Administrator might not have configured the \"from year\"\n if (!defaultYearFromDeepAnalysis) {\n return (\n ds.YEAR >= defaultYearToDeepAnalysis - 1 &&\n ds.YEAR <= defaultYearToDeepAnalysis\n );\n }\n\n return (\n ds.YEAR >= defaultYearFromDeepAnalysis &&\n ds.YEAR <= defaultYearToDeepAnalysis\n );\n })\n }\n year={year}\n setYear={setYear}\n dsl1={dsl1}\n setDsl1={setDsl1}\n dsl2={dsl2}\n setDsl2={setDsl2}\n />\n );\n}\n\nDefaultSourceConfig.propTypes = {\n dataSources: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\n defaultYearFromDeepAnalysis: PropTypes.number,\n defaultYearToDeepAnalysis: PropTypes.number,\n defaultDataSource: PropTypes.shape({\n year: PropTypes.number,\n DSL1: PropTypes.string,\n DSL2: PropTypes.string,\n }),\n setDefaultDataSource: PropTypes.func.isRequired,\n};\n\nDefaultSourceConfig.defaultProps = {\n defaultYearFromDeepAnalysis: null,\n defaultYearToDeepAnalysis: null,\n defaultDataSource: null,\n};\n","import Button from 'atoms/button/Button';\nimport ButtonBar from 'atoms/buttonbar/ButtonBar';\nimport CheckboxAdmin from 'atoms/checkboxadmin/CheckboxAdmin';\nimport SectionAdmin from 'atoms/sectionadmin/SectionAdmin';\nimport Select from 'atoms/select/Select';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport ApiService from 'services/ApiService';\nimport { useAuth } from 'services/UseAuth';\nimport DefaultSourceConfig from './defaultsourceconfig/DefaultSourceConfig';\nimport styles from './StandardConfig.module.css';\n\nconst StandardYearConfig = ({ availableYears, toastMessage, dataSources }) => {\n const [\n defaultYearFromDeepAnalysis,\n setDefaultYearFromDeepAnalysis,\n ] = useState();\n const [defaultYearToDeepAnalysis, setDefaultYearToDeepAnalysis] = useState();\n const [defaultDataSource, setDefaultDataSource] = useState();\n const [allowCustomPresentation, setAllowCustomPresentation] = useState(false);\n\n const [isLoading, setIsLoading] = useState(false);\n const [isSaving, setIsSaving] = useState(false);\n const { user } = useAuth();\n\n const handleChangeStandardConfig = () => {\n setIsSaving(true);\n const request = {\n defaultDataSource,\n defaultYearFromDeepAnalysis:\n defaultYearFromDeepAnalysis < defaultYearToDeepAnalysis\n ? defaultYearFromDeepAnalysis\n : 0,\n defaultYearToDeepAnalysis,\n allowCustomPresentation,\n };\n\n ApiService.postConfiguredYear(user.unionId, request, user.token)\n .then(() => toastMessage('success', 'Standardkonfiguration uppdaterad'))\n .catch(err => {\n toastMessage('error', 'Fel vid uppdatering av standardkonfiguration');\n throw err;\n })\n .finally(() => setIsSaving(false));\n };\n\n useEffect(() => {\n setIsLoading(true);\n ApiService.getUnion(user.token)\n .then(data => {\n setDefaultDataSource(data.defaultDataSource);\n setDefaultYearFromDeepAnalysis(data.defaultYearFromDeepAnalysis);\n setDefaultYearToDeepAnalysis(data.defaultYearToDeepAnalysis);\n setAllowCustomPresentation(data?.allowCustomPresentation);\n })\n .finally(() => setIsLoading(false));\n }, [user]);\n\n return (\n \n

    Ställ in standardvärden för nivå 3

    \n

    Konfigurera standardår

    \n

    \n Utöka medlemmars befogenheter i nivå 3 genom att ange ett årsintervall\n inom vilket medlemmar får se lönestatistik. Begränsa medlemmars rätt att\n hämta rapporter genom att inte alls ange ett "år från" eller\n välja året innan "år till" (ex. år från: 2020, år till: 2021).\n

    \n

    \n Förtroendevalda ser alla urval och presentationssätt och kan också välja\n olika år.\n

    \n
    \n {\n return setDefaultYearFromDeepAnalysis(Number(evt.target.value));\n }}\n options={[\n {\n key: 'arfran_null',\n value: '',\n desc: 'Välj ett startår för intervallet...',\n },\n ...availableYears\n .filter(y => y < defaultYearToDeepAnalysis)\n .sort()\n .map(year => ({\n key: year,\n value: year,\n desc: year,\n })),\n ]}\n />\n {\n return setDefaultYearToDeepAnalysis(Number(evt.target.value));\n }}\n options={[\n {\n key: 'artill_null',\n value: '',\n desc: 'Välj ett slutår för intervallet...',\n },\n ...availableYears.sort().map(year => ({\n key: year,\n value: year,\n desc: year,\n })),\n ]}\n />\n
    \n

    Konfigurera standardkälla

    \n

    \n Välj en källa inom intervallet för standardår som är förvald för\n användare av nivå 3\n

    \n \n

    Tillåt egen rapport

    \n

    \n Tillåt medlemmar att välja "egen rapport" under presentationer\n för att skapa en egen lönerapport.\n

    \n setAllowCustomPresentation(prevState => !prevState)}\n />\n
    \n \n handleChangeStandardConfig()}\n variant=\"primary\"\n label=\"Spara\"\n altText=\"Spara sektion\"\n disabled={\n defaultYearFromDeepAnalysis === null ||\n defaultYearToDeepAnalysis === null ||\n isSaving\n }\n />\n \n
    \n
    \n );\n};\n\nStandardYearConfig.propTypes = {\n availableYears: PropTypes.arrayOf(PropTypes.number).isRequired,\n toastMessage: PropTypes.func.isRequired,\n dataSources: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\n};\n\nStandardYearConfig.defaultProps = {};\n\nexport default StandardYearConfig;\n","import React, { useEffect, useState } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport { toast, ToastContainer } from 'react-toastify';\nimport Loader from 'atoms/loader/Loader';\nimport Panel from 'atoms/panel/Panel';\nimport Section from 'atoms/section/Section';\nimport Const from 'const';\nimport 'react-toastify/dist/ReactToastify.css';\nimport ApiService from 'services/ApiService';\nimport { useAuth } from 'services/UseAuth';\nimport DataSourceConfig from './datasourceconfig/DataSourceConfig';\nimport styles from './Level3Advanced.module.css';\nimport StandardConfig from './standardconfig/StandardConfig';\n\nconst Level3Advanced = () => {\n const { user, signout, autoRefreshToken } = useAuth();\n const { token, forbund } = user;\n\n const history = useHistory();\n\n // Datasources.\n const [dataSources, setDataSources] = useState();\n const [availableYears, setAvailableYears] = useState(undefined);\n const [isLoading, setIsLoading] = useState(false);\n const [isSaving, setIsSaving] = useState(false);\n\n // INIT.\n useEffect(() => {\n setIsLoading(true);\n const request = {\n forbund: [forbund],\n };\n ApiService.getFds(request, token)\n .then(data => setDataSources(data))\n .then(() => {\n autoRefreshToken(token);\n })\n .catch(error => {\n if (error.status === 401) {\n signout();\n history.push('/logga-ut');\n }\n })\n .finally(() => setIsLoading(false));\n // eslint-disable-next-line\n }, [token, forbund]);\n\n useEffect(() => {\n if (dataSources == null) return;\n setAvailableYears(\n dataSources\n .reduce((acc, curr) => {\n if (!acc.includes(curr.YEAR)) acc.push(curr.YEAR);\n return acc;\n }, [])\n .sort()\n );\n }, [dataSources]);\n\n const toastMessage = (type, msg) => {\n if (type === 'success') {\n toast.success(msg);\n }\n if (type === 'error') {\n toast.error(msg);\n }\n if (type === 'warning') {\n toast.warning(msg);\n }\n if (type === 'info') {\n toast.info(msg);\n }\n };\n\n return (\n \n
    \n \n {isLoading ? (\n
    \n \n
    \n ) : (\n <>\n {availableYears && (\n \n )}\n \n \n )}\n
    \n
    \n );\n};\n\nexport default Level3Advanced;\n","/* eslint-disable camelcase */\nimport React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport Button from 'atoms/button/Button';\nimport Input from 'atoms/input/Input';\nimport ButtonBar from 'atoms/buttonbar/ButtonBar';\nimport { useAuth } from 'services/UseAuth';\nimport ApiService from 'services/ApiService';\nimport Panel from 'atoms/panel/Panel';\nimport styles from './PreviewDataSourceCreate.module.css';\nimport DataSourceSelect from '../../datasourceselect/DataSourceSelect';\n\nconst PreviewDataSourceCreate = ({\n configureLvl1,\n dataSources,\n setCreateNewSituation,\n setSituationCopied,\n setSituationCreated,\n setSituations,\n situationToCopy,\n}) => {\n const [name, setName] = useState('');\n const [description, setDescription] = useState('');\n const [dsl1, setDsl1] = useState('');\n const [dsl2, setDsl2] = useState('');\n const [year, setYear] = useState();\n\n const [saveDisabled, setSaveDisabled] = useState(true);\n\n const { user } = useAuth();\n\n const handleSubmit = evt => {\n setSaveDisabled(true);\n evt.preventDefault();\n\n // Send network request.\n const request = {\n name,\n description,\n dsl1,\n dsl2,\n year,\n isActive: situationToCopy === null, // FIXME: Ska isActive defaulta till true när man skapar en ny?, åtminstone inte när man kopierar\n isPreview: true,\n forbundsKod: configureLvl1 ? 'sa' : null,\n };\n\n const createSituation = new Promise((resolve, reject) =>\n ApiService.createSituation(request, user.token)\n .then(data => resolve(data))\n .catch(error => reject(error))\n );\n\n if (situationToCopy == null) {\n createSituation.then(data => {\n setSituations(prevState => [...prevState, data]);\n setCreateNewSituation(prevState => !prevState);\n setSituationCreated(true);\n });\n } else {\n createSituation.then(createdSituation => {\n const activeSelections = situationToCopy.selections.filter(\n situation => situation.isActive\n );\n\n const updateRequest = {\n selections: createdSituation.selections.map(selection => {\n const index = [...activeSelections]\n .map(({ sel_var }) => sel_var)\n .findIndex(selVar => selVar === selection.sel_var);\n\n return {\n id: selection.id,\n selectionOrder:\n index > -1\n ? activeSelections[index].SELECTION_ORDER\n : selection.SELECTION_ORDER,\n isActive: index > -1,\n };\n }),\n };\n\n ApiService.updateSelections(\n createdSituation.id,\n updateRequest,\n user.token\n ).then(updatedSituation => {\n setSituations(prevState => [...prevState, updatedSituation]);\n setCreateNewSituation(prevState => !prevState);\n setSituationCopied(true);\n });\n });\n }\n };\n\n useEffect(() => {\n if (name.length === 0 || description.length === 0) {\n setSaveDisabled(true);\n return;\n }\n\n if (\n dataSources.some(\n ds => ds.DSL1 === dsl1 && ds.DSL2 === dsl2 && ds.YEAR === year\n )\n ) {\n setSaveDisabled(false);\n } else setSaveDisabled(true);\n }, [name, description, year, dsl1, dsl2, dataSources]);\n\n useEffect(() => {\n if (situationToCopy != null) {\n setName(situationToCopy.name);\n setDescription(situationToCopy.description);\n setYear(situationToCopy.year);\n setDsl1(situationToCopy.DSL1);\n setDsl2(situationToCopy.DSL2 || '');\n }\n }, [situationToCopy]);\n\n return (\n \n
    \n
    \n setName(evt.target.value)}\n placeholder=\"Namn\"\n type=\"text\"\n value={name}\n />\n setDescription(evt.target.value)}\n placeholder=\"Beskrivning\"\n type=\"text\"\n value={description}\n />\n \n \n
    \n
    \n \n handleSubmit(evt)}\n label=\"Spara\"\n altText=\"Spara statistikkälla\"\n disabled={saveDisabled}\n />\n setCreateNewSituation(prevState => !prevState)}\n />\n \n
    \n );\n};\n\nPreviewDataSourceCreate.propTypes = {\n configureLvl1: PropTypes.bool.isRequired,\n dataSources: PropTypes.arrayOf(Object).isRequired,\n setCreateNewSituation: PropTypes.func.isRequired,\n setSituationCopied: PropTypes.func.isRequired,\n setSituationCreated: PropTypes.func.isRequired,\n setSituations: PropTypes.func.isRequired,\n situationToCopy: PropTypes.shape({\n name: PropTypes.string,\n description: PropTypes.string,\n year: PropTypes.number,\n DSL1: PropTypes.string,\n DSL2: PropTypes.string,\n selections: PropTypes.arrayOf(Object),\n }),\n};\n\nPreviewDataSourceCreate.defaultProps = {\n situationToCopy: null,\n};\n\nexport default PreviewDataSourceCreate;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport Button from 'atoms/button/Button';\nimport ButtonBar from 'atoms/buttonbar/ButtonBar';\nimport CheckboxAdmin from 'atoms/checkboxadmin/CheckboxAdmin';\nimport InputReadOnly from 'atoms/inputreadonly/InputReadOnly';\nimport Input from 'atoms/input/Input';\nimport Textarea from 'atoms/textarea/Textarea';\nimport Panel from 'atoms/panel/Panel';\nimport styles from './PreviewDataSourceCard.module.css';\n\nconst PreviewDataSourceCard = ({\n copySituation,\n deleteSituation,\n situation,\n updateSituation,\n}) => {\n const [editMode, setEditMode] = useState(false);\n\n const [situationName, setSituationName] = useState(situation.name);\n const [situationDescription, setSituationDescription] = useState(\n situation.description\n );\n const [situationIsActive, setSituationIsActive] = useState(\n situation.isActive\n );\n\n const handleDelete = () => {\n const situationToDelete = {\n id: situation.id,\n name: situationName,\n description: situationDescription,\n isActive: situationIsActive,\n };\n\n deleteSituation(situationToDelete);\n setEditMode(prevState => !prevState);\n };\n\n const handleUpdate = () => {\n const updatedSituation = {\n id: situation.id,\n name: situationName,\n description: situationDescription,\n isActive: situationIsActive,\n };\n\n updateSituation(updatedSituation);\n setEditMode(prevState => !prevState);\n };\n\n return (\n \n
    \n
    \n
    \n {!editMode && (\n \n )}\n {editMode && (\n setSituationName(e.target.value)}\n placeholder=\"Namn\"\n type=\"text\"\n value={situationName}\n />\n )}\n {!editMode && (\n \n )}\n {editMode && (\n setSituationDescription(e.target.value)}\n />\n )}\n \n
    \n\n
    \n \n \n \n
    \n
    \n\n
    \n \n setSituationIsActive(prevState => !prevState)}\n />\n {editMode ? (\n <>\n \n \n setEditMode(prevState => !prevState)}\n label=\"Avbryt\"\n />\n \n ) : (\n <>\n copySituation(situation)}\n />\n setEditMode(prevState => !prevState)}\n label=\"Redigera\"\n icon=\"Edit\"\n altText=\"Redigera statistikkälla\"\n />\n \n )}\n \n
    \n \n );\n};\n\nPreviewDataSourceCard.propTypes = {\n deleteSituation: PropTypes.func.isRequired,\n copySituation: PropTypes.func.isRequired,\n situation: PropTypes.shape({\n id: PropTypes.string,\n name: PropTypes.string,\n isActive: PropTypes.bool,\n description: PropTypes.string,\n DSL1: PropTypes.string,\n DSL2: PropTypes.string,\n year: PropTypes.number,\n }).isRequired,\n updateSituation: PropTypes.func.isRequired,\n};\n\nexport default PreviewDataSourceCard;\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { ToastContainer, toast } from 'react-toastify';\nimport 'react-toastify/dist/ReactToastify.css';\nimport Button from 'atoms/button/Button';\nimport { useAuth } from 'services/UseAuth';\nimport ApiService from 'services/ApiService';\nimport ButtonBar from 'atoms/buttonbar/ButtonBar';\nimport styles from './PreviewDataSourceConfig.module.css';\nimport PreviewDataSourceCreate from './previewdatasourcecreate/PreviewDataSourceCreate';\nimport PreviewDataSourceCard from './previewdatasourcecard/PreviewDataSourceCard';\n\nconst PreviewDataSourceConfig = ({ configureLvl1, setSituations, situations }) => {\n const [createNewSituation, setCreateNewSituation] = useState(false);\n const [dataSources, setDataSources] = useState();\n const [situationToCopy, setSituationToCopy] = useState();\n\n const [situationCopied, setSituationCopied] = useState(false);\n const [situationCreated, setSituationCreated] = useState(false);\n const [situationDeleted, setSituationDeleted] = useState(false);\n const [situationUpdated, setSituationUpdated] = useState(false);\n\n const { user } = useAuth();\n const { token, forbund } = user;\n\n const deleteSituation = situationToDelete => {\n ApiService.deleteSituation(situationToDelete.id, token).then(data => {\n const remainingSituations = situations.filter(\n situation => situation.id !== data\n );\n setSituations(remainingSituations);\n setSituationDeleted(true);\n });\n };\n\n const updateSituation = updatedSituation => {\n ApiService.updateSituation(\n updatedSituation.id,\n updatedSituation,\n token\n ).then(data => {\n const index = situations.findIndex(situation => situation.id === data.id);\n const tempSituations = [...situations];\n if (index !== -1) {\n tempSituations[index] = data;\n }\n setSituations(tempSituations);\n setSituationUpdated(true);\n });\n };\n\n const getDataSources = () => {\n const request = { forbund: configureLvl1 ? ['sa'] : [forbund] };\n ApiService.getFds(request, token).then(data => setDataSources(data));\n };\n\n useEffect(() => {\n getDataSources();\n // eslint-disable-next-line\n }, [token, forbund, configureLvl1]);\n\n useEffect(() => {\n if (\n !situationCopied &&\n !situationCreated &&\n !situationDeleted &&\n !situationUpdated\n )\n return;\n\n if (situationCopied) {\n toast.success('Statistikkälla duplicerad');\n setSituationCopied(false);\n }\n if (situationCreated) {\n toast.success('Statistikkälla skapad');\n setSituationCreated(false);\n }\n if (situationDeleted) {\n toast.success('Statistikkälla borttagen');\n setSituationDeleted(false);\n }\n if (situationUpdated) {\n toast.success('Statistikkälla uppdaterad');\n setSituationUpdated(false);\n }\n }, [situationCopied, situationCreated, situationDeleted, situationUpdated]);\n\n return (\n
    \n \n {situations\n .sort((a, b) => a.name.localeCompare(b.name))\n .sort((a, b) => {\n if (a.DSL2.toLowerCase() === 'df') return -1;\n if (b.DSL2.toLowerCase() !== 'df') return 1;\n return 0;\n })\n .map(situation => (\n {\n setCreateNewSituation(true);\n setSituationToCopy(s);\n }}\n deleteSituation={deleteSituation}\n key={situation.id}\n setSituationUpdated={setSituationUpdated}\n situation={situation}\n updateSituation={updateSituation}\n />\n ))}\n
    \n {!createNewSituation ? (\n \n {\n setCreateNewSituation(prevState => !prevState);\n setSituationToCopy(null);\n }}\n style={{ marginLeft: 'auto' }}\n variant=\"primary\"\n />\n \n ) : (\n \n )}\n
    \n
    \n );\n};\n\nPreviewDataSourceConfig.propTypes = {\n configureLvl1: PropTypes.bool,\n setSituations: PropTypes.func.isRequired,\n situations: PropTypes.arrayOf(Object).isRequired,\n};\n\nPreviewDataSourceConfig.defaultProps = {\n configureLvl1: false,\n};\n\nexport default PreviewDataSourceConfig;\n","import Button from 'atoms/button/Button';\nimport ButtonBar from 'atoms/buttonbar/ButtonBar';\nimport Select from 'atoms/select/Select';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport { toast, ToastContainer } from 'react-toastify';\nimport 'react-toastify/dist/ReactToastify.css';\nimport ApiService from 'services/ApiService';\nimport { useAuth } from 'services/UseAuth';\nimport SortableList from '../level3advanced/datasourceconfig/sortablelist/SortableList';\nimport styles from './PreviewSalaryProfileConfig.module.css';\n\nconst PreviewSalaryProfileConfig = ({ situations, setSituations }) => {\n const [selectionList, setSelectionList] = useState();\n const [currentSituation, setCurrentSituation] = useState();\n const [isSaving, setIsSaving] = useState(false);\n const { user } = useAuth();\n\n const handleSubmit = () => {\n setIsSaving(true);\n const situationId = currentSituation.id; // TODO: Hämta upp situationsid\n\n const request = {\n selections: selectionList.map(selection => {\n return {\n id: selection.id,\n isActive: selection.isActive,\n selectionOrder: selection.SELECTION_ORDER,\n sortOptionsByNumber: selection.sortOptionsByNumber,\n };\n }),\n };\n\n ApiService.updateSelections(situationId, request, user.token)\n .then(data => {\n const tempData = [...situations];\n const index = tempData.findIndex(\n situation => situation.id === situationId\n );\n\n if (index > -1) {\n tempData[index] = data;\n }\n\n setSituations(tempData);\n toast.success('Statistikkälla uppdaterad');\n })\n .finally(() => setIsSaving(false));\n };\n\n return (\n
    \n \n
    \n
    \n {\n const { value } = evt.target;\n if (value) {\n setSelectionList(situations[Number(value)].selections);\n setCurrentSituation({ id: situations[Number(value)].id });\n } else {\n setSelectionList(null);\n setCurrentSituation(null);\n }\n }}\n options={\n situations && [\n { desc: 'Ingen vald', key: '', value: '' },\n ...situations\n .filter(situation => situation.isActive)\n .map((situation, i) => ({\n key: situation.id,\n value: i,\n desc: `${situation.name} - ${situation.year}`,\n })),\n ]\n }\n />\n
    \n
    \n {selectionList && (\n \n )}\n {currentSituation && (\n \n {/* TODO: Om man gör ändringar borde knappen bli enabled */}\n handleSubmit()}\n label=\"Spara\"\n altText=\"Spara vald ordning\"\n disabled={isSaving}\n />\n {/*
    \n );\n};\n\nPreviewSalaryProfileConfig.propTypes = {\n situations: PropTypes.arrayOf(Object).isRequired,\n setSituations: PropTypes.func.isRequired,\n};\n\nexport default PreviewSalaryProfileConfig;\n","/* eslint-disable camelcase */\nimport React from 'react';\nimport styles from './HelpBox.module.css';\n\nconst HelpBox = () => {\n return (\n
    \n

    Hjälp

    \n

    För att konfigurera förbundsanpassningar gör följande:

    \n
      \n
    • Skapa statistikkällor
    • \n
        \n
      • 1..* (en till många)
      • \n
      • \n Tjänsten anropar automatiskt SAS och hämtar de år som är inlagda i\n SAS.\n
      • \n
      \n
    • Välj och ordna filter/urval
    • \n
        \n
      • \n Tjänsten anropar automatiskt SAS och hämtar den data (urval) som\n finns där.\n
      • \n
      \n
    \n
    \n );\n};\n\nHelpBox.propTypes = {};\n\nHelpBox.defaultProps = {};\n\nexport default HelpBox;\n","import ButtonLink from 'atoms/buttonlink/ButtonLink';\nimport Loader from 'atoms/loader/Loader';\nimport Panel from 'atoms/panel/Panel';\nimport Section from 'atoms/section/Section';\nimport Tab from 'atoms/tab/Tab';\nimport TabRow from 'atoms/tabrow/TabRow';\nimport Const from 'const';\nimport useScrollTo from 'hooks/useScrollTo';\nimport React, { useEffect, useState } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport ApiService from 'services/ApiService';\nimport { useAuth } from 'services/UseAuth';\nimport PreviewDataSourceConfig from 'components/admin/previewdatasourceconfig/PreviewDataSourceConfig';\nimport LinksConfig from '../linksconfig/LinksConfig';\nimport PreviewSalaryProfileConfig from '../previewsalaryprofileconfig/PreviewSalaryProfileConfig';\nimport HelpBox from './helpbox/HelpBox';\nimport styles from './PreviewConfig.module.css';\n\nconst PreviewConfig = () => {\n const history = useHistory();\n const ref = useScrollTo('hjalp');\n const { user, signout, autoRefreshToken } = useAuth();\n const { token } = user;\n\n const [activeTab, setActiveTab] = useState('situation');\n const [situations, setSituations] = useState();\n const [loadingSituations, setLoadingSituations] = useState(false);\n\n useEffect(() => {\n //if (!(user.role === 'admin' && user.forbund.toLowerCase() === 'sa')) return;\n setLoadingSituations(true);\n console.log('getPreviewSituations');\n ApiService.getPreviewSituations(token)\n .then(data => {\n setSituations(data);\n })\n .then(() => autoRefreshToken(token))\n .catch(error => {\n if (error.status === 401) {\n signout();\n history.push('/logga-ut');\n }\n })\n .finally(() => setLoadingSituations(false));\n // eslint-disable-next-line\n }, [token, signout, history]);\n\n // admins\n return (\n \n
    \n \n setActiveTab('situation')}\n />\n setActiveTab('statistics')}\n />\n\n history.push('#hjalp')}\n />\n \n\n {loadingSituations ? (\n
    \n \n
    \n ) : (\n <>\n {situations && (\n <>\n {activeTab === 'situation' && situations && (\n \n )}\n {activeTab === 'statistics' && situations && (\n \n )}\n {activeTab === 'links' && }\n \n )}\n \n )}\n
    \n \n
    \n
    \n
    \n );\n};\n\nexport default PreviewConfig;\n","import React, { useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport SimpleMdeReact from 'react-simplemde-editor';\nimport 'easymde/dist/easymde.min.css';\n\nexport default function MarkdownEditor({\n value,\n onChange,\n autofocus,\n status,\n toolbar,\n}) {\n const options = useMemo(() => {\n return {\n autofocus,\n spellChecker: false,\n status,\n toolbar,\n };\n }, [autofocus, status, toolbar]);\n\n return ;\n}\n\nMarkdownEditor.propTypes = {\n value: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n autofocus: PropTypes.bool,\n status: PropTypes.bool,\n // eslint-disable-next-line\n toolbar: PropTypes.any,\n};\n\nMarkdownEditor.defaultProps = {\n value: '',\n autofocus: false,\n status: false,\n toolbar: [\n 'bold',\n 'italic',\n 'strikethrough',\n '|',\n 'quote',\n 'unordered-list',\n 'ordered-list',\n '|',\n 'undo',\n 'redo',\n '|',\n 'guide',\n 'preview',\n ],\n};\n","import Button from 'atoms/button/Button';\nimport ButtonBar from 'atoms/buttonbar/ButtonBar';\nimport MarkdownEditor from 'atoms/markdowneditor/MarkdownEditor';\nimport Panel from 'atoms/panel/Panel';\nimport Select from 'atoms/select/Select';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport ApiService from 'services/ApiService';\nimport { useAuth } from 'services/UseAuth';\nimport styles from './FilterExplanationCreate.module.css';\n\nconst FilterExplanationCreate = ({ selvars, setFilterTexts, setEditMode }) => {\n const { user } = useAuth();\n\n const [filterText, setFilterText] = useState('');\n const [textId, setTextId] = useState(selvars[0].sel_var);\n const isDefault = user.forbund === 'SA';\n\n const handleSubmit = () => {\n const request = {\n groupId: 'menuselection',\n textId,\n header: selvars.find(selvar => selvar.sel_var === textId).desc,\n value: filterText,\n isDefault,\n unionId: isDefault ? null : user.unionId,\n };\n\n ApiService.postText(request, user.token).then(data => {\n setFilterTexts(prevState => [...prevState, data]);\n\n if (setEditMode) setEditMode(prevState => !prevState);\n });\n };\n\n return (\n \n setTextId(evt.target.value)}\n value={textId}\n options={\n selvars &&\n selvars.map(selvar => ({\n key: selvar.sel_var,\n value: selvar.sel_var,\n desc: selvar.desc,\n }))\n }\n />\n
    \n setFilterText(value)}\n autofocus\n />\n
    \n \n handleSubmit()}\n label=\"Spara\"\n altText=\"Spara filtertext\"\n marginBottom\n />\n \n \n );\n};\n\nFilterExplanationCreate.propTypes = {\n selvars: PropTypes.arrayOf(String),\n setEditMode: PropTypes.func,\n setFilterTexts: PropTypes.func.isRequired,\n};\n\nFilterExplanationCreate.defaultProps = {\n selvars: PropTypes.arrayOf(String),\n setEditMode: PropTypes.null,\n};\n\nexport default FilterExplanationCreate;\n","import Button from 'atoms/button/Button';\nimport ButtonBar from 'atoms/buttonbar/ButtonBar';\nimport Loader from 'atoms/loader/Loader';\nimport SectionAdmin from 'atoms/sectionadmin/SectionAdmin';\nimport Select from 'atoms/select/Select';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport ApiService from 'services/ApiService';\nimport { useAuth } from 'services/UseAuth';\nimport FilterExplanationCreate from '../filterexplanationcreate/FilterExplanationCreate';\nimport styles from './FilterExplanationNoText.module.css';\n\nconst FilterExplanationNoText = ({\n dataSources,\n filterTexts,\n setFilterTexts,\n loadingYears,\n}) => {\n const [dsl1, setDsl1] = useState('');\n const [dsl2, setDsl2] = useState('');\n const [year, setYear] = useState();\n\n const [availableYears, setAvailableYears] = useState([]);\n const [availableDSL1, setAvailableDSL1] = useState([]);\n const [availableDSL2, setAvailableDSL2] = useState([]);\n\n const [isCreatingNewText, setIsCreatingNewText] = useState(false);\n const [selvars, setSelvars] = useState();\n\n const [loading, setLoading] = useState(false);\n\n const { user } = useAuth();\n\n useEffect(() => {\n if (dataSources == null) return;\n setAvailableYears(\n dataSources\n .reduce((acc, curr) => {\n if (!acc.includes(curr.YEAR)) acc.push(curr.YEAR);\n return acc;\n }, [])\n .sort()\n );\n // eslint-disable-next-line\n }, [dataSources]);\n\n useEffect(() => {\n if (year == null) {\n // Nollställ\n setAvailableDSL1([]);\n setAvailableDSL2([]);\n return;\n }\n\n const dsl1Temp = dataSources\n .filter(dataSource => dataSource.YEAR === year)\n .reduce((acc, curr) => {\n if (!acc.some(a => a.dsl === curr.DSL1))\n acc.push({ dsl: curr.DSL1, desc: curr.DSL1_DESC });\n return acc;\n }, []);\n setAvailableDSL1(dsl1Temp);\n // eslint-disable-next-line\n }, [year, dataSources]);\n\n useEffect(() => {\n if (dsl1 === '') return;\n setDsl2('');\n setAvailableDSL2(\n dataSources\n .filter(dataSource => dataSource.YEAR === year)\n .filter(dataSource => dataSource.DSL1 === dsl1)\n .map(dataSource => {\n return { dsl: dataSource.DSL2, desc: dataSource.DSL2_DESC };\n })\n .filter(datasource => datasource.dsl.length)\n );\n // eslint-disable-next-line\n }, [dsl1, dataSources, year]);\n\n useEffect(() => {\n if (dataSources == null) return;\n\n let temp;\n if (dsl2 == null) {\n temp = dataSources.find(\n source =>\n source.DSL1 === dsl1 && source.YEAR === year && source.DSL2 === ''\n );\n } else {\n temp = dataSources.find(\n source =>\n source.DSL1 === dsl1 && source.YEAR === year && source.DSL2 === dsl2\n );\n }\n\n if (temp == null) return;\n\n const request = {\n Forbund: user.forbund,\n dsl1,\n dsl2: dsl2 || null,\n year, // År.\n };\n\n setLoading(true);\n ApiService.getMenuselections(request, user.token)\n .then(data => {\n // TODO: hämta ut alla unika sel_vars\n // TODO: Jämför unika sel_vars med vilka itemIds som finns i filterTexts.\n const uniqueSelvar = data.reduce((acc, curr) => {\n if (\n !acc.some(a => a.sel_var === curr.sel_var) &&\n !filterTexts.some(txt => txt.textId === curr.sel_var)\n )\n acc.push({ sel_var: curr.sel_var, desc: curr.SELECTION_TEXT });\n return acc;\n }, []);\n\n setSelvars(uniqueSelvar);\n })\n .finally(() => setLoading(false));\n // eslint-disable-next-line\n }, [year, dsl1, dsl2, user, dataSources]);\n\n return (\n
    \n \n
    \n

    För att hitta önskade filter behöver du välja år och datakälla.

    \n
    \n {\n e.persist();\n setYear(Number(e.target.value));\n }}\n options={[\n { key: 'year_null', value: '', desc: 'Inget valt' },\n ...availableYears.map(availableYear => ({\n key: availableYear,\n value: availableYear,\n desc: availableYear,\n })),\n ]}\n />\n
    \n
    \n {\n e.persist();\n setDsl1(e.target.value);\n }}\n options={[\n { key: 'dsl1_null', value: '', desc: 'Inget valt' },\n ...availableDSL1.map(dsl => ({\n key: dsl.dsl,\n value: dsl.dsl,\n desc: dsl.desc,\n })),\n ]}\n />\n
    \n
    \n {\n e.persist();\n setDsl2(e.target.value);\n }}\n options={[\n { key: 'dsl2_null', value: '', desc: 'Inget valt' },\n ...availableDSL2.map(dsl => ({\n key: dsl.dsl,\n value: dsl.dsl,\n desc: dsl.desc,\n })),\n ]}\n />\n
    \n
    \n {loading ? (\n
    \n \n
    \n ) : (\n <>\n
    \n {selvars && (\n
      \n {selvars.map(selvar => (\n \n {`${selvar.desc} - ${selvar.sel_var}`}\n \n ))}\n
    \n )}\n
    \n {selvars && !isCreatingNewText && (\n \n setIsCreatingNewText(prevState => !prevState)}\n icon=\"Plus\"\n label=\"Lägg till\"\n altText=\"Lägg till förklaring\"\n />\n \n )}\n \n )}\n {isCreatingNewText && (\n \n )}\n
    \n
    \n );\n};\n\nFilterExplanationNoText.propTypes = {\n dataSources: PropTypes.arrayOf(Object),\n filterTexts: PropTypes.arrayOf(Object),\n setFilterTexts: PropTypes.func.isRequired,\n loadingYears: PropTypes.bool,\n};\n\nFilterExplanationNoText.defaultProps = {\n dataSources: [],\n filterTexts: [],\n loadingYears: false,\n};\n\nexport default FilterExplanationNoText;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport Button from 'atoms/button/Button';\nimport ButtonBar from 'atoms/buttonbar/ButtonBar';\nimport ApiService from 'services/ApiService';\nimport { useAuth } from 'services/UseAuth';\nimport MarkdownEditor from 'atoms/markdowneditor/MarkdownEditor';\nimport styles from './FilterExplanationEdit.module.css';\n\nconst FilterExplanationEdit = ({ text, setEditMode, setFilterTexts }) => {\n const [hideEditor, setHideEditor] = useState(false);\n const [filterText, setFilterText] = useState(text.value);\n\n const { user } = useAuth();\n const isDefault = user.forbund === 'SA';\n\n const performSave = () => {\n const request = {\n ...((isDefault || text.unionId === user.unionId) && { id: text.id }),\n header: text.header,\n textId: text.textId,\n groupId: text.groupId,\n value: filterText,\n isDefault,\n unionId: isDefault ? null : user.unionId,\n };\n\n ApiService.postText(request, user.token).then(data => {\n setFilterTexts(prevState => {\n const index = prevState.findIndex(i => i.textId === data.textId);\n const isDuplicate = prevState[index].id === data.id;\n return [\n ...prevState.slice(0, index),\n data,\n ...prevState.slice(isDuplicate ? index + 1 : index),\n ];\n });\n });\n\n setEditMode(false);\n };\n\n const performDelete = () => {\n setHideEditor(true);\n ApiService.deleteText(text.id, user.token).then(() =>\n setFilterTexts(prevState => prevState.filter(txt => txt.id !== text.id))\n );\n setEditMode(prevState => !prevState);\n };\n\n const performReset = () => {\n setFilterText(text.value);\n\n setEditMode(prevState => !prevState);\n };\n\n return (\n
    \n {!hideEditor && (\n {\n setFilterText(value);\n }}\n />\n )}\n \n {(isDefault || text.unionId === user.unionId) && (\n \n )}\n performSave()}\n label=\"Spara\"\n altText=\"Spara filtertext\"\n />\n performReset()}\n label=\"Avbryt\"\n />\n \n
    \n );\n};\n\nFilterExplanationEdit.propTypes = {\n text: PropTypes.shape({\n id: PropTypes.string,\n groupId: PropTypes.string,\n header: PropTypes.string,\n textId: PropTypes.string,\n value: PropTypes.string,\n unionId: PropTypes.string,\n isDefault: PropTypes.bool,\n }).isRequired,\n setEditMode: PropTypes.func.isRequired,\n setFilterTexts: PropTypes.func.isRequired,\n};\n\nexport default FilterExplanationEdit;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport Button from 'atoms/button/Button';\nimport ExplanationText from 'atoms/explanationtext/ExplanationText';\nimport ButtonBar from 'atoms/buttonbar/ButtonBar';\nimport Accordion from 'atoms/accordion/Accordion';\nimport styles from './FilterExplanationItem.module.css';\nimport FilterExplanationEdit from '../filterexplanationedit/FilterExplanationEdit';\n\nconst FilterExplanationItem = ({ text, setFilterTexts }) => {\n const [editMode, setEditMode] = useState(false);\n\n return (\n \n {!editMode && (\n
    \n {!text.unionId && (\n Delad text:\n )}\n \n \n setEditMode(prevState => !prevState)}\n label=\"Redigera\"\n altText=\"Redigera filtertext\"\n icon=\"Edit\"\n />\n \n
    \n )}\n {editMode && (\n
    \n \n
    \n )}\n \n );\n};\n\nFilterExplanationItem.propTypes = {\n text: PropTypes.shape({\n id: PropTypes.string,\n groupId: PropTypes.string,\n header: PropTypes.string,\n textId: PropTypes.string,\n value: PropTypes.string,\n unionId: PropTypes.string,\n isDefault: PropTypes.bool,\n }).isRequired,\n setFilterTexts: PropTypes.func.isRequired,\n};\n\nexport default FilterExplanationItem;\n","import Input from 'atoms/input/Input';\nimport Panel from 'atoms/panel/Panel';\nimport Section from 'atoms/section/Section';\nimport SectionAdmin from 'atoms/sectionadmin/SectionAdmin';\nimport Const from 'const';\nimport React, { useEffect, useState } from 'react';\nimport ApiService from 'services/ApiService';\nimport { useAuth } from 'services/UseAuth';\nimport { useHistory } from 'react-router-dom';\nimport FilterExplanationNoText from './filterexplanationnotext/FilterExplanationNoText';\nimport FilterExplanationItem from './filterexplanationitem/FilterExplanationItem';\nimport styles from './FilterExplanations.module.css';\n\nconst FilterExplanations = () => {\n const { user, signout, autoRefreshToken } = useAuth();\n const { token, forbund } = user;\n const history = useHistory();\n\n const [loadingText, setLoadingText] = useState(false);\n const [loadingData, setLoadingData] = useState(false);\n const [dataSources, setDataSources] = useState();\n const [filterTexts, setFilterTexts] = useState([]);\n const [filteredFilterTexts, setFilteredFilterTexts] = useState([]);\n\n const [searchString, setSearchString] = useState('');\n\n useEffect(() => {\n const request = [\n {\n groupId: 'menuselection',\n },\n ];\n\n setLoadingText(true);\n ApiService.getTextsBoth(request, token)\n .then(data => setFilterTexts(data))\n .then(() => autoRefreshToken(token))\n .catch(error => {\n if (error.status === 401) {\n signout();\n history.push('/logga-ut');\n }\n })\n .finally(() => {\n setLoadingText(false);\n });\n\n const getDataSources = () => {\n const req = { forbund: [forbund] };\n setLoadingData(true);\n ApiService.getFds(req, token)\n .then(data => setDataSources(data))\n .finally(() => {\n setLoadingData(false);\n });\n };\n\n getDataSources();\n // eslint-disable-next-line\n }, [token, forbund]);\n\n useEffect(() => {\n if (!filterTexts.length) return;\n\n let temp = filterTexts;\n if (searchString.length < 3) {\n temp = temp.reduce(\n (acc, curr) =>\n acc.find(i => i.textId === curr.textId)\n ? [...acc, curr].filter(i => i.textId !== curr.textId || i.unionId)\n : [...acc, curr],\n []\n );\n } else {\n temp = temp.filter(\n obj =>\n obj.textId.toLowerCase().indexOf(searchString) > -1 ||\n obj.value.toLowerCase().indexOf(searchString) > -1 ||\n obj.header.toLowerCase().indexOf(searchString) > -1\n );\n }\n\n setFilteredFilterTexts(temp);\n }, [searchString, filterTexts]);\n\n return (\n \n
    \n

    \n Här kan du ändra beskrivningarna av de filter som Saco lönesök\n använder sig av.\n

    \n \n \n

    \n Beskrivningarna av filter kan vara gemensamma för alla förbund eller\n förbundsspecifika. Som grund har alla filter Sacos\n standardbeskrivningar.\n

    \n
    \n setSearchString(evt.target.value.toLowerCase())}\n value={searchString}\n />\n
    \n
    \n {filteredFilterTexts.length > 0 &&\n filteredFilterTexts.map((text, i) => (\n \n ))}\n {Object.keys(filteredFilterTexts).length === 0 && (\n
    \n Filterförklaringar saknas\n
    \n )}\n
    \n
    \n
    \n
    \n );\n};\n\nFilterExplanations.propTypes = {};\n\nexport default FilterExplanations;\n","import Button from 'atoms/button/Button';\nimport ButtonBar from 'atoms/buttonbar/ButtonBar';\nimport CheckboxAdmin from 'atoms/checkboxadmin/CheckboxAdmin';\nimport Input from 'atoms/input/Input';\nimport Panel from 'atoms/panel/Panel';\nimport PropTypes from 'prop-types';\nimport React, { useRef, useState } from 'react';\nimport ApiService from 'services/ApiService';\nimport { useAuth } from 'services/UseAuth';\n\nconst EditAccount = ({\n userAccount,\n setUserList,\n setAccountDeleted,\n setAccountUpdated,\n setEditAccount,\n}) => {\n const [isAdmin, setIsAdmin] = useState(userAccount.isAdmin);\n const [isSaving, setIsSaving] = useState(false);\n const [newPassword, setNewPassword] = useState('');\n\n const { isRedaktor, isFortroendevald } = userAccount;\n\n // Refs\n const passwordRef = useRef();\n\n const { user } = useAuth();\n const handleUpdateAccount = () => {\n setIsSaving(true);\n // FIXME: Borde göra en promise kedja här så vi kan vara säkra på att saker sker.\n // Nu är isSaving och toaster states inte 100% rätt.\n if (userAccount.isAdmin !== isAdmin) {\n ApiService.updateAccount(\n userAccount.id,\n { isAdmin, isRedaktor, isFortroendevald },\n user.token\n ).then(() => null);\n }\n if (newPassword.length > 0) {\n if (!passwordRef.current.reportValidity()) {\n setIsSaving(false);\n return;\n }\n\n ApiService.updatePassword(\n userAccount.id,\n { password: newPassword },\n user.token\n ).then(() => null);\n }\n\n setUserList(prevState =>\n prevState.map(usr => {\n if (usr.id === userAccount.id) {\n return {\n ...userAccount,\n isAdmin,\n };\n }\n return usr;\n })\n );\n setAccountUpdated(true);\n setIsSaving(false);\n setEditAccount(false);\n };\n\n const handleDeleteAccount = () => {\n setIsSaving(true);\n ApiService.deleteSubscriber(userAccount.id, user.token)\n .then(() => {\n setAccountDeleted(true);\n setUserList(prevState =>\n prevState.filter(usr => usr.id !== userAccount.id)\n );\n })\n .finally(() => {\n setEditAccount(false);\n setIsSaving(false);\n });\n };\n\n return (\n \n {user.role === 'admin' && (\n
    \n setIsAdmin(prevState => !prevState)}\n />\n
    \n
    \n setNewPassword(evt.target.value)}\n placeholder=\"Nytt lösenord...\"\n ref={passwordRef}\n type=\"password\"\n value={newPassword}\n />\n \n )}\n
    \n \n handleDeleteAccount()}\n label=\"Ta bort\"\n icon=\"Trash\"\n altText=\"Ta bort konto\"\n disabled={isSaving}\n />\n {user.role === 'admin' && (\n handleUpdateAccount()}\n label=\"Spara\"\n altText=\"Spara konto\"\n disabled={\n isSaving || (isAdmin === userAccount.isAdmin && !newPassword)\n }\n />\n )}\n \n
    \n );\n};\n\nEditAccount.propTypes = {\n userAccount: PropTypes.shape({\n id: PropTypes.string,\n name: PropTypes.string,\n isFortroendevald: PropTypes.bool,\n isRedaktor: PropTypes.bool,\n isAdmin: PropTypes.bool,\n label: PropTypes.string,\n }).isRequired,\n setUserList: PropTypes.func.isRequired,\n setAccountDeleted: PropTypes.func.isRequired,\n setAccountUpdated: PropTypes.func.isRequired,\n setEditAccount: PropTypes.func.isRequired,\n};\n\nexport default EditAccount;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport Button from 'atoms/button/Button';\nimport EditAccount from '../editaccount/EditAccount';\nimport styles from './AccountRow.module.css';\n\nconst AccountRow = ({\n userAccount,\n setUserList,\n setAccountDeleted,\n setAccountUpdated,\n}) => {\n const [editAccount, setEditAccount] = useState(false);\n\n const { id, name, label } = userAccount;\n\n const getRole = account => {\n if (!account) return '';\n if (account.isAdmin) return 'Admin';\n if (account.isRedaktor) return 'Redaktör';\n if (account.isFortroendevald) return 'Förtroendevald';\n return 'Medlem';\n };\n\n return (\n <>\n \n {id}\n {name}\n {getRole(userAccount)}\n {label}\n \n {editAccount ? (\n setEditAccount(prevState => !prevState)}\n style={{ marginLeft: 'auto' }}\n label=\"Avbryt\"\n />\n ) : (\n setEditAccount(prevState => !prevState)}\n style={{ marginLeft: 'auto' }}\n label=\"Redigera\"\n icon=\"Edit\"\n />\n )}\n \n \n {editAccount && (\n \n \n \n \n \n )}\n \n );\n};\n\nAccountRow.propTypes = {\n userAccount: PropTypes.shape({\n id: PropTypes.string,\n name: PropTypes.string,\n isFortroendevald: PropTypes.bool,\n isRedaktor: PropTypes.bool,\n isAdmin: PropTypes.bool,\n label: PropTypes.string,\n }).isRequired,\n setUserList: PropTypes.func.isRequired,\n setAccountDeleted: PropTypes.func.isRequired,\n setAccountUpdated: PropTypes.func.isRequired,\n};\n\nexport default AccountRow;\n","import React, { useState, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport Button from 'atoms/button/Button';\nimport Loader from 'atoms/loader/Loader';\nimport Select from 'atoms/select/Select';\nimport Input from 'atoms/input/Input';\nimport ButtonBar from 'atoms/buttonbar/ButtonBar';\nimport { useAuth } from 'services/UseAuth';\nimport ApiService from 'services/ApiService';\nimport Panel from 'atoms/panel/Panel';\nimport styles from './CreateAccount.module.css';\n\nconst CreateAccount = ({ setAccountCreated, setAddAccount, setUserList }) => {\n const [isSaving, setIsSaving] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n const [unionList, setUnionList] = useState([]);\n\n // Refs\n const passwordRef = useRef();\n\n // User input.\n const [password, setPassword] = useState('');\n const [role, setRole] = useState('medlem');\n const [selectedUnion, setSelectedUnion] = useState({});\n const [label, setLabel] = useState();\n\n const { user } = useAuth();\n\n const performSubmit = () => {\n if (!passwordRef.current.reportValidity()) return;\n setIsSaving(true);\n const request = {\n name: selectedUnion.name,\n password,\n forbundskodSas: selectedUnion.forbundskodSas,\n isFortroendeVald: role === 'fortroendevald',\n isRedaktor: role === 'redaktor',\n isAdmin: role === 'admin',\n label,\n };\n\n ApiService.postSubscriber(request, user.token)\n .then(data => {\n setUserList(prevState => [\n ...prevState,\n // TODO: Endpoint needs to return name of created account\n { ...data, name: selectedUnion.name },\n ]);\n setAccountCreated(true);\n })\n .finally(() => {\n setAddAccount(prevState => !prevState);\n setIsSaving(false);\n });\n };\n\n useEffect(() => {\n if (user.role === 'redaktor') {\n ApiService.getUnion(user.token).then(data => setSelectedUnion(data));\n return;\n }\n setIsLoading(true);\n\n ApiService.getUnions(user.token)\n .then(data => {\n setUnionList(\n data\n .filter(a => a.forbundskodSas !== 'XX')\n .sort((a, b) => `${a.name}`.localeCompare(b.name, 'sv'))\n );\n })\n .finally(() => setIsLoading(false));\n }, [user.token]);\n\n useEffect(() => {\n if (unionList.length > 0) {\n setSelectedUnion(unionList[0]);\n }\n }, [unionList]);\n\n return (\n \n {isLoading ? (\n
    \n \n
    \n ) : (\n <>\n
    \n {user.role === 'admin' && (\n setSelectedUnion(JSON.parse(evt.target.value))}\n options={[\n ...unionList.map(union => ({\n key: union.id,\n value: JSON.stringify(union),\n desc: union.name,\n })),\n ]}\n value={JSON.stringify(selectedUnion)}\n />\n )}\n setRole(e.target.value)}\n value={role}\n options={[\n { key: 'medlem', value: 'medlem', desc: 'Medlem' },\n {\n key: 'fortroendevald',\n value: 'fortroendevald',\n desc: 'Förtroendevald',\n },\n {\n key: 'redaktor',\n value: 'redaktor',\n desc: 'Redaktör',\n },\n ]}\n />\n setLabel(evt.target.value)}\n placeholder=\"Etikett\"\n type=\"text\"\n value={label}\n />\n setPassword(evt.target.value)}\n placeholder=\"Lösenord\"\n ref={passwordRef}\n type=\"password\"\n value={password}\n />\n
    \n \n performSubmit()}\n label=\"Spara\"\n altText=\"Spara konto\"\n disabled={isSaving || password.length < 10}\n />\n setAddAccount(false)}\n label=\"Avbryt\"\n disabled={isSaving}\n />\n \n \n \n )}\n
    \n );\n};\n\nCreateAccount.propTypes = {\n setAccountCreated: PropTypes.func.isRequired,\n setAddAccount: PropTypes.func.isRequired,\n setUserList: PropTypes.func.isRequired,\n};\n\nexport default CreateAccount;\n","import Button from 'atoms/button/Button';\nimport ButtonBar from 'atoms/buttonbar/ButtonBar';\nimport Loader from 'atoms/loader/Loader';\nimport Panel from 'atoms/panel/Panel';\nimport Section from 'atoms/section/Section';\nimport Select from 'atoms/select/Select';\nimport Const from 'const';\nimport React, { useEffect, useState } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport { toast, ToastContainer } from 'react-toastify';\nimport 'react-toastify/dist/ReactToastify.css';\nimport ApiService from 'services/ApiService';\nimport { useAuth } from 'services/UseAuth';\nimport AccountRow from './accountrow/AccountRow';\nimport styles from './Accounts.module.css';\nimport CreateAccount from './createaccount/CreateAccount';\n\nconst Accounts = () => {\n const [userList, setUserList] = useState([]);\n const [addAccount, setAddAccount] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n\n const [filter, setFilter] = useState('');\n\n const [accountUpdated, setAccountUpdated] = useState(false);\n const [accountDeleted, setAccountDeleted] = useState(false);\n const [accountCreated, setAccountCreated] = useState(false);\n\n const history = useHistory();\n const { user, signout, autoRefreshToken } = useAuth();\n const { token } = user;\n\n useEffect(() => {\n setIsLoading(true);\n ApiService.getSubscribers(token)\n .then(data => {\n data.sort((a, b) => `${a.name}`.localeCompare(b.name, 'sv'));\n setUserList(data);\n })\n .then(() => autoRefreshToken(token))\n .catch(error => {\n if (error.status === 401) {\n signout();\n history.push('/logga-ut');\n }\n })\n .finally(() => setIsLoading(false));\n // eslint-disable-next-line\n }, [token]);\n\n useEffect(() => {\n if (!accountUpdated && !accountDeleted && !accountCreated) return;\n\n if (accountCreated) {\n toast.success('Konto Skapat');\n setAccountCreated(false);\n }\n if (accountUpdated) {\n toast.success('Konto Uppdaterat');\n setAccountUpdated(false);\n }\n if (accountDeleted) {\n toast.error('Konto Borttaget');\n setAccountDeleted(false);\n }\n }, [accountUpdated, accountDeleted, accountCreated]);\n\n const filteredUserList = userList.filter(\n userObj => filter === '' || userObj.forbundsKodSas === filter\n );\n\n return (\n \n
    \n \n {isLoading ? (\n
    \n \n
    \n ) : (\n <>\n {user.role === 'admin' && (\n
    \n setFilter(e.target.value)}\n options={[\n { key: 'user_null', value: '', desc: 'Samtliga förbund' },\n ...userList\n .filter(\n (a, b, arr) =>\n arr.findIndex(obj => obj.name === a.name) === b\n )\n .map(\n ({ id: key, forbundsKodSas: value, name: desc }) => ({\n key,\n value,\n desc,\n })\n ),\n ]}\n value={filter}\n />\n
    \n )}\n
    \n \n \n \n \n \n \n \n \n \n \n \n {filteredUserList.length > 0 &&\n filteredUserList.map(usr => (\n \n ))}\n \n
    AnvändarnamnFörbundRollEtikettHantera
    \n
    \n {!addAccount && (\n \n setAddAccount(prevState => !prevState)}\n icon=\"Plus\"\n altText=\"Lägg till konto\"\n label=\"Lägg till\"\n />\n \n )}\n\n
    \n {addAccount && (\n \n )}\n
    \n \n )}\n
    \n
    \n );\n};\n\nAccounts.propTypes = {};\n\nexport default Accounts;\n","import Button from 'atoms/button/Button';\nimport { format } from 'date-fns';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport { IconChevronDown, IconChevronUp } from 'tabler-icons';\nimport styles from './LogItem.module.css';\n\nconst LogItem = ({ log }) => {\n const { message, exception, properties } = log;\n const timeStamp = `[${format(\n new Date(log.timeStamp),\n 'yyyy-MM-dd HH:mm.ss'\n )}]:`;\n\n const [isExpanded, setIsExpanded] = useState(false);\n const [copied, setCopied] = useState(false);\n\n const flipBackState = () =>\n setTimeout(() => {\n setCopied(false);\n }, 2000);\n\n // IE support\n const fallbackCopyLogMessage = text => {\n const textArea = document.createElement('textarea');\n textArea.value = text;\n\n // Avoid scrolling to bottom\n textArea.style.top = '0';\n textArea.style.left = '0';\n textArea.style.position = 'fixed';\n\n document.body.appendChild(textArea);\n textArea.focus();\n textArea.select();\n\n try {\n document.execCommand('copy');\n setCopied(true);\n } catch (err) {\n // TODO: Handle errors?\n }\n\n document.body.removeChild(textArea);\n flipBackState();\n };\n\n // All other browsers\n const copyLogMessage = e => {\n e.preventDefault();\n e.stopPropagation();\n\n const text = `${timeStamp || ''} ${message || ''} \\n\\n ${exception || ''} ${\n properties || ''\n }`;\n\n if (!navigator.clipboard) {\n fallbackCopyLogMessage(text);\n return;\n }\n\n navigator.clipboard\n .writeText(text)\n .then(() => setCopied(true))\n .catch(err => {\n // TODO: Handle errors?\n })\n .finally(() => flipBackState());\n };\n\n return (\n setIsExpanded(prevState => !prevState)}\n onKeyUp={() => null}\n tabIndex={0}\n >\n
    \n \n {isExpanded ? : }\n \n \n {timeStamp}\n {message}\n \n
    \n {isExpanded && (\n <>\n
    \n
    \n

    {exception}

    \n

    {properties}

    \n
    \n
    \n
    \n copyLogMessage(e)}\n icon=\"Copy\"\n label={copied ? 'Meddelande kopierat' : 'Kopiera'}\n altText=\"Kopiera loggmeddelande\"\n />\n
    \n \n )}\n \n );\n};\n\nLogItem.propTypes = {\n log: PropTypes.shape({\n level: PropTypes.string,\n timeStamp: PropTypes.string,\n message: PropTypes.string,\n exception: PropTypes.string,\n properties: PropTypes.string,\n }).isRequired,\n};\n\nexport default LogItem;\n","import Button from 'atoms/button/Button';\nimport ButtonBar from 'atoms/buttonbar/ButtonBar';\nimport Loader from 'atoms/loader/Loader';\nimport Panel from 'atoms/panel/Panel';\nimport Section from 'atoms/section/Section';\nimport Select from 'atoms/select/Select';\nimport Const from 'const';\nimport { getAvailableYears, months, today } from 'lib/time';\nimport React, { useEffect, useState } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport ApiService from 'services/ApiService';\nimport { useAuth } from 'services/UseAuth';\nimport styles from './ApplicationLog.module.css';\nimport LogItem from './logitem/LogItem';\n\nconst ApplicationLog = () => {\n const [logs, setLogs] = useState([]);\n const [loading, setLoading] = useState(true);\n\n const logsPerPage = 50;\n const [pages, setPages] = useState(0);\n const [currentPage, setCurrentPage] = useState(0);\n\n const [monthFrom, setMonthFrom] = useState(today.getMonth() + 1);\n const [monthTo, setMonthTo] = useState(today.getMonth() + 1);\n const [yearFrom, setYearFrom] = useState(today.getFullYear());\n const [yearTo, setYearTo] = useState(today.getFullYear());\n const [logLevel, setLogLevel] = useState('');\n\n const [refresh, setRefresh] = useState(true);\n\n const history = useHistory();\n const { user, signout, autoRefreshToken } = useAuth();\n const { token } = user;\n\n const logLevels = [\n { key: 'all', value: '', desc: 'Alla' },\n { key: 'warning', value: 'Warning', desc: 'Varning' },\n { key: 'error', value: 'Error', desc: 'Fel' },\n { key: 'info', value: 'Information', desc: 'Information' },\n ];\n\n useEffect(() => {\n if (!refresh) return;\n setLoading(true);\n\n const request = {\n level: logLevel || null,\n yearFrom: yearFrom || null,\n yearTo: yearTo || null,\n monthFrom: monthFrom || null,\n monthTo: monthTo || null,\n };\n\n ApiService.getLogs(request, token)\n .then(data => {\n setCurrentPage(0);\n setLogs(data);\n })\n .then(() => autoRefreshToken(token))\n .catch(error => {\n if (error.status === 401) {\n signout();\n history.push('/logga-ut');\n }\n })\n .finally(() => {\n setLoading(false);\n setRefresh(false);\n });\n // eslint-disable-next-line\n }, [token, logLevel, yearFrom, yearTo, monthFrom, monthTo, refresh]);\n\n useEffect(() => {\n setPages(Math.ceil(logs.length / logsPerPage));\n }, [logs]);\n\n const filteredLogs = logs.slice(\n currentPage * logsPerPage,\n currentPage * logsPerPage + logsPerPage\n );\n\n return (\n \n
    \n
    \n
    \n {\n setYearFrom(Number(e.target.value));\n setYearTo(Number(e.target.value));\n setRefresh(true);\n }}\n options={[\n { key: 'year_from_null', value: '', desc: 'Alla loggar' },\n ...getAvailableYears().map(year => ({\n key: year,\n value: year,\n desc: year,\n })),\n ]}\n value={yearFrom}\n />\n
    \n
    \n {\n setMonthFrom(Number(e.target.value));\n setMonthTo(Number(e.target.value));\n setRefresh(true);\n }}\n options={[\n { key: 'month_from_null', value: '', desc: 'Samtliga månader' },\n ...months.map((month, i) => ({\n key: month,\n value: i + 1,\n desc: month,\n disabled:\n i > today.getMonth() && yearFrom >= today.getFullYear(),\n })),\n ]}\n value={yearFrom && yearTo ? monthFrom : ''}\n />\n
    \n
    \n {\n setLogLevel(e.target.value);\n setRefresh(true);\n }}\n options={logLevels.map(({ key, value, desc }) => ({\n key,\n value,\n desc,\n }))}\n value={logLevel}\n />\n
    \n
    \n setRefresh(true)}\n label=\"Uppdatera\"\n altText=\"Uppdatera logg\"\n icon=\"Refresh\"\n />\n
    \n
    \n\n {loading ? (\n
    \n \n
    \n ) : (\n
    \n {filteredLogs.length > 0 ? (\n filteredLogs.map(log => )\n ) : (\n \n Hittade inga loggar, prova att justera filtret\n \n )}\n
    \n )}\n\n {pages > 0 && (\n \n setCurrentPage(prevState => prevState - 1)}\n label=\"Föregående sida\"\n />\n \n {`${currentPage + 1} / ${pages}`}\n \n setCurrentPage(prevState => prevState + 1)}\n label=\"Nästa sida\"\n />\n \n )}\n
    \n );\n};\n\nexport default ApplicationLog;\n","import Button from 'atoms/button/Button';\nimport { format } from 'date-fns';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport { IconChevronDown, IconChevronUp } from 'tabler-icons';\nimport styles from './LogItem.module.css';\n\nconst LogItem = ({ log, union }) => {\n const { message, exception, properties } = log;\n const timeStamp = `[${format(\n new Date(log.timeStamp),\n 'yyyy-MM-dd HH:mm.ss'\n )}]:`;\n\n const [isExpanded, setIsExpanded] = useState(false);\n const [copied, setCopied] = useState(false);\n\n const flipBackState = () =>\n setTimeout(() => {\n setCopied(false);\n }, 2000);\n\n // IE support\n const fallbackCopyLogMessage = text => {\n const textArea = document.createElement('textarea');\n textArea.value = text;\n\n // Avoid scrolling to bottom\n textArea.style.top = '0';\n textArea.style.left = '0';\n textArea.style.position = 'fixed';\n\n document.body.appendChild(textArea);\n textArea.focus();\n textArea.select();\n\n try {\n document.execCommand('copy');\n setCopied(true);\n } catch (err) {\n // TODO: Handle errors?\n }\n\n document.body.removeChild(textArea);\n flipBackState();\n };\n\n // All other browsers\n const copyLogMessage = e => {\n e.preventDefault();\n e.stopPropagation();\n\n const text = `${timeStamp || ''} ${message || ''} \\n\\n ${exception || ''} ${\n properties || ''\n }`;\n\n if (!navigator.clipboard) {\n fallbackCopyLogMessage(text);\n return;\n }\n\n navigator.clipboard\n .writeText(text)\n .then(() => setCopied(true))\n .catch(err => {\n // TODO: Handle errors?\n })\n .finally(() => flipBackState());\n };\n\n return (\n setIsExpanded(prevState => !prevState)}\n onKeyUp={() => null}\n tabIndex={0}\n >\n
    \n \n {isExpanded ? : }\n \n \n {timeStamp} {message} {`Förbund: ${union}`}\n \n
    \n {isExpanded && (\n <>\n
    \n
    \n

    {exception}

    \n

    {properties}

    \n
    \n
    \n
    \n copyLogMessage(e)}\n icon=\"Copy\"\n label={copied ? 'Meddelande kopierat' : 'Kopiera'}\n altText=\"Kopiera loggmeddelande\"\n />\n
    \n \n )}\n \n );\n};\n\nLogItem.propTypes = {\n log: PropTypes.shape({\n level: PropTypes.string,\n timeStamp: PropTypes.string,\n message: PropTypes.string,\n exception: PropTypes.string,\n properties: PropTypes.string,\n }).isRequired,\n union: PropTypes.string,\n};\n\nLogItem.defaultProps = {\n union: '-',\n};\nexport default LogItem;\n","import Button from 'atoms/button/Button';\nimport ButtonBar from 'atoms/buttonbar/ButtonBar';\nimport Loader from 'atoms/loader/Loader';\nimport Panel from 'atoms/panel/Panel';\nimport Section from 'atoms/section/Section';\nimport Select from 'atoms/select/Select';\nimport Const from 'const';\nimport { getAvailableYears, months, today } from 'lib/time';\nimport React, { useEffect, useState } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport ApiService from 'services/ApiService';\nimport { useAuth } from 'services/UseAuth';\nimport SectionAdmin from 'atoms/sectionadmin/SectionAdmin';\nimport styles from './MonitoringLog.module.css';\nimport LogItem from './logitem/LogItem';\nimport { useLocation } from 'react-router-dom';\n\nconst MonitoringLog = () => {\n const [monitoringrun, setMonitoringRun] = useState({});\n const [logs, setLogs] = useState([]);\n const [loading, setLoading] = useState(true);\n\n const logsPerPage = 50;\n const [pages, setPages] = useState(0);\n const [currentPage, setCurrentPage] = useState(0);\n\n const [monthFrom, setMonthFrom] = useState(today.getMonth() + 1);\n const [monthTo, setMonthTo] = useState(today.getMonth() + 1);\n const [yearFrom, setYearFrom] = useState(today.getFullYear());\n const [yearTo, setYearTo] = useState(today.getFullYear());\n const [logLevel, setLogLevel] = useState('');\n\n const [refresh, setRefresh] = useState(true);\n\n const history = useHistory();\n const { user, signout, autoRefreshToken } = useAuth();\n const { token } = user;\n\n const location = useLocation();\n\n const logLevels = [\n { key: 'all', value: '', desc: 'Alla' },\n { key: 'warning', value: 'Warning', desc: 'Varning' },\n { key: 'error', value: 'Error', desc: 'Fel' },\n { key: 'info', value: 'Information', desc: 'Information' },\n ];\n\n useEffect(() => {\n if (!refresh) return;\n setLoading(true);\n\n const request = {\n level: logLevel || null,\n yearFrom: yearFrom || null,\n yearTo: yearTo || null,\n monthFrom: monthFrom || null,\n monthTo: monthTo || null,\n };\n\n const searchParams = new URLSearchParams(location.search);\n const id = searchParams.get('id');\n console.log('monitoringRunId');\n console.log(id);\n\n ApiService.getMonitoringLogsById(\n {\n monitoringRunId: id,\n },\n token\n )\n .then(data => {\n setCurrentPage(0);\n\n console.log(data); // Log the entire response\n\n // Now you can set the logResponses to your state or wherever needed\n setMonitoringRun(data);\n setLogs(data.logResponses || []); // Ensure logs is an array\n })\n .catch(error => {})\n .finally(() => {\n setLoading(false);\n setRefresh(false);\n });\n }, [token, logLevel, yearFrom, yearTo, monthFrom, monthTo, refresh]);\n\n useEffect(() => {\n setPages(Math.ceil(logs.length / logsPerPage));\n }, [logs]);\n\n const filteredLogs = logs.slice(\n currentPage * logsPerPage,\n currentPage * logsPerPage + logsPerPage\n );\n\n return (\n \n
    \n \n {loading ? (\n
    \n \n
    \n ) : (\n
    \n

    \n JobbId: {monitoringrun.id}\n

    \n

    \n Jobbtyp: {monitoringrun.jobType}\n

    \n

    \n Jobbstatus: {monitoringrun.monitoringStatus}\n

    \n

    \n Starttid: {monitoringrun.startTime}\n

    \n

    \n Sluttid: {monitoringrun.endTime}\n

    \n

    \n Åtgärdad tid: {monitoringrun.resolvedTime}\n

    \n

    \n Felmeddelande: {monitoringrun.errorMessage}\n

    \n

    \n Felfunktion: {monitoringrun.errorFunction}\n

    \n

    \n Antal fel: {monitoringrun.errorsCount}\n

    \n
    \n )}\n
    \n \n
    \n {loading ? (\n
    \n \n
    \n ) : (\n
    \n {filteredLogs.length > 0 ? (\n filteredLogs.map(log => (\n \n ))\n ) : (\n \n Hittade inga loggar, prova att justera filtret\n \n )}\n
    \n )}\n\n {pages > 0 && (\n \n setCurrentPage(prevState => prevState - 1)}\n label=\"Föregående sida\"\n />\n \n {`${currentPage + 1} / ${pages}`}\n \n setCurrentPage(prevState => prevState + 1)}\n label=\"Nästa sida\"\n />\n \n )}\n
    \n
    \n
    \n
    \n );\n};\n\nexport default MonitoringLog;\n","import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport Button from 'atoms/button/Button';\nimport ButtonBar from 'atoms/buttonbar/ButtonBar';\nimport Accordion from 'atoms/accordion/Accordion';\nimport ApiService from 'services/ApiService';\nimport { useAuth } from 'services/UseAuth';\nimport MarkdownEditor from 'atoms/markdowneditor/MarkdownEditor';\nimport ExplanationText from 'atoms/explanationtext/ExplanationText';\nimport styles from './GeneralTextItem.module.css';\n\nconst GeneralTextItem = ({ txtGroup, updateCb }) => {\n const [editMode, setEditMode] = useState(false);\n const [txtGroupCopy, setTxtGroupCopy] = useState([...txtGroup]);\n\n const { user } = useAuth();\n const { unionId } = user;\n const forbundSA = user.forbund === 'SA';\n\n useEffect(() => {\n // Rerender on prop change\n setTxtGroupCopy([...txtGroup]);\n }, [txtGroup]);\n\n const formatHelpText = textIn => {\n if (editMode) {\n return (\n <>\n {\n setTxtGroupCopy(prevState =>\n prevState.map(txtObj => {\n return txtObj.id === textIn.id\n ? { ...txtObj, value }\n : txtObj;\n })\n );\n }}\n />\n \n );\n }\n return ;\n };\n\n const performSave = () => {\n // Copy to union specific text\n const createCopy = !forbundSA && !txtGroup[0].unionId;\n\n const textsToUpdate = txtGroupCopy.filter(newTxt => {\n const comp = txtGroup.find(originalTxt => originalTxt.id === newTxt.id);\n return comp.value !== newTxt.value || createCopy;\n });\n\n textsToUpdate.forEach(updateTxt => {\n const request = {\n ...(!createCopy && { id: updateTxt.id }),\n value: updateTxt.value,\n header: updateTxt.header,\n groupId: updateTxt.groupId,\n textId: updateTxt.textId,\n isDefault: forbundSA,\n ...(!forbundSA && { unionId }),\n };\n\n // TODO: Add user feedback\n ApiService.postText(request, user.token).then(() => {\n updateCb(txtGroup[0].groupId);\n });\n });\n return setEditMode(prevState => !prevState);\n };\n\n const performDelete = () => {\n // Don't delete default texts\n const unionTexts = txtGroup.filter(txt => txt.unionId);\n\n return Promise.all(\n unionTexts.map(txt => ApiService.deleteText(txt.id, user.token))\n ).then(() => {\n updateCb(txtGroup[0].groupId);\n setEditMode(prevState => !prevState);\n });\n };\n\n const performCancel = () => {\n setEditMode(prevState => !prevState);\n setTxtGroupCopy(txtGroup);\n };\n\n const renderSubTexts = () => {\n const textsToPrint = txtGroupCopy.filter(txt => txt.textId !== 'main');\n\n return textsToPrint.map(txt => {\n return (\n
    \n

    {txt.header}

    \n {formatHelpText(txt)}\n
    \n );\n });\n };\n\n return (\n txt.textId === 'main').header +\n (!txtGroup[0].unionId ? '' : ' - förbundsspecifik')\n }\n slim\n border\n marginBottom\n >\n {!editMode && (\n
    \n {formatHelpText(txtGroupCopy.find(txt => txt.textId === 'main'))}\n {renderSubTexts()}\n \n setEditMode(prevState => !prevState)}\n label=\"Redigera\"\n icon=\"Edit\"\n altText=\"Redigera text\"\n />\n \n
    \n )}\n {editMode && (\n
    \n {formatHelpText(txtGroupCopy.find(txt => txt.textId === 'main'))}\n {renderSubTexts()}\n \n {txtGroup[0].unionId && (\n \n )}\n performSave()}\n label=\"Spara\"\n altText=\"Spara text\"\n />\n performCancel()}\n label=\"Avbryt\"\n />\n \n
    \n )}\n \n );\n};\n\nGeneralTextItem.propTypes = {\n txtGroup: PropTypes.arrayOf(Object).isRequired,\n updateCb: PropTypes.func.isRequired,\n};\n\nexport default GeneralTextItem;\n","import Loader from 'atoms/loader/Loader';\nimport Panel from 'atoms/panel/Panel';\nimport Const from 'const';\nimport Section from 'atoms/section/Section';\nimport React, { useEffect, useState } from 'react';\nimport ApiService from 'services/ApiService';\nimport { useAuth } from 'services/UseAuth';\nimport { useHistory } from 'react-router-dom';\nimport GeneralTextItem from './generaltextitem/GeneralTextItem';\n\n/* \n TEXTER SOM SKA FINNAS:\n (about/main)\n (statistics/main)\n (statistics/survey)\n (statistics/employer)\n (presentation/main)\n (salary/main)\n (salary/fixed)\n (salary/total)\n (measurements/main)\n (measurements/average)\n (measurements/10perc)\n (measurements/lowquartile)\n (measurements/median)\n (measurements/highquartile)\n (measurements/90perc)\n (measurements/averagemedian)\n (graph/main)\n (graph/box)\n (graph/line)\n (graph/bar)\n*/\n\nconst GeneralTexts = () => {\n const [isLoading, setIsLoading] = useState(false);\n const [generalTexts, setGeneralTexts] = useState();\n\n const history = useHistory();\n const { user, signout, autoRefreshToken } = useAuth();\n const { token } = user;\n\n useEffect(() => {\n setIsLoading(true);\n const request = [\n {\n groupId: 'about',\n },\n {\n groupId: 'statistics',\n },\n {\n groupId: 'measurements',\n },\n {\n groupId: 'graph',\n textId: ['main', 'line', 'bar', 'box'],\n },\n ];\n\n // Dom här ska ALLTID finnas (även om value kan vara tomt (?)).\n // (about/main)\n // (statistics/main)\n // (statistics/survey)\n // (statistics/employer)\n // (presentation/main)\n // (salary/main)\n // (salary/fixed)\n // (salary/total)\n // (measurements/main)\n // (measurements/10percentile)\n // (graph/main)\n // (graph/box)\n // (graph/line)\n // (graph/bar)\n\n ApiService.getTexts(request, token)\n .then(data => {\n const sortedTexts = data.reduce((acc, curr) => {\n if (acc[curr.groupId] == null) {\n acc[curr.groupId] = [curr];\n } else {\n acc[curr.groupId].push(curr);\n }\n\n return acc;\n }, []);\n\n setGeneralTexts(sortedTexts);\n })\n .then(() => autoRefreshToken(token))\n .catch(error => {\n if (error.status === 401) {\n signout();\n history.push('/logga-ut');\n }\n })\n .finally(() => setIsLoading(false));\n // eslint-disable-next-line\n }, [token]);\n\n const updateTexts = groupId => {\n const request = [{ groupId }];\n ApiService.getTexts(request, token).then(response => {\n setGeneralTexts({ ...generalTexts, [groupId]: response });\n });\n };\n\n const renderGeneralTextItem = (txtGroup, groupName) => (\n \n );\n\n return (\n \n
    \n {isLoading && }\n {/* FIXME: renderar 2 gånger. */}\n {!isLoading &&\n generalTexts &&\n Object.keys(generalTexts).map(group =>\n renderGeneralTextItem(generalTexts[group], group)\n )}\n
    \n
    \n );\n};\n\nexport default GeneralTexts;\n","import { Link } from 'react-router-dom';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { IconChevronRight } from 'tabler-icons';\nimport styles from './NavigationItem.module.css';\n\nconst NavigationItem = ({ title, to, active, disabled, hidden }) => {\n return (\n \n {title}\n {active && (\n \n \n \n )}\n \n );\n};\n\nNavigationItem.propTypes = {\n hidden: PropTypes.bool,\n disabled: PropTypes.bool,\n active: PropTypes.bool,\n title: PropTypes.string.isRequired,\n to: PropTypes.string.isRequired,\n};\n\nNavigationItem.defaultProps = {\n hidden: false,\n disabled: false,\n active: false,\n};\n\nexport default NavigationItem;\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport ApiService from 'services/ApiService';\nimport { useAuth } from 'services/UseAuth';\nimport ButtonBar from 'atoms/buttonbar/ButtonBar';\nimport Button from 'atoms/button/Button';\nimport SectionAdmin from 'atoms/sectionadmin/SectionAdmin';\nimport Loader from 'atoms/loader/Loader';\nimport Panel from 'atoms/panel/Panel';\nimport Input from 'atoms/input/Input';\nimport InputReadOnly from 'atoms/inputreadonly/InputReadOnly';\nimport { toast } from 'react-toastify';\nimport styles from './UnionLinkConfig.module.css';\n\nconst groupId = 'unionLink';\nconst textId = 'unionLink';\n\nexport default function UnionLinkConfig({ forbundList }) {\n const {\n user: { forbund, unionId, token },\n } = useAuth();\n\n const [isLoading, setIsLoading] = useState(false);\n const [isSaving, setIsSaving] = useState(false);\n const [editMode, setEditMode] = useState(false);\n\n const [header, setHeader] = useState('');\n const [linkUrl, setLinkUrl] = useState('');\n const [id, setId] = useState('');\n\n const updateState = link => {\n if (!link) {\n setLinkUrl('');\n setId('');\n } else {\n setHeader(link?.header);\n setLinkUrl(link?.value);\n setId(link?.id);\n }\n setEditMode(false);\n };\n\n const handleUpdate = () => {\n setIsSaving(true);\n\n const request = {\n id: id || null,\n groupId,\n textId,\n header,\n value: linkUrl,\n unionId,\n };\n\n ApiService.postText(request, token)\n .then(data => {\n updateState(data);\n toast.success('Förbundslänk sparad');\n })\n .catch(() => toast.error('Misslyckades att spara förbundslänken'))\n .finally(() => setIsSaving(false));\n };\n\n const handleDelete = () => {\n setIsSaving(true);\n if (id) {\n ApiService.deleteText(id, token)\n .then(() => {\n updateState();\n toast.success('Förbundslänk raderad');\n })\n .catch(() => toast.error('Misslyckades att spara förbundslänken'))\n .finally(() => setIsSaving(false));\n }\n };\n\n useEffect(() => {\n if (forbundList.length === 0) return;\n const forbundName =\n forbundList.find(f => f.forbundskodSas === forbund?.toLocaleUpperCase())\n ?.name || '';\n\n setHeader(forbundName);\n }, [forbundList, forbund]);\n\n useEffect(() => {\n setIsLoading(true);\n const request = [\n {\n groupId,\n textId: [textId],\n },\n ];\n ApiService.getTexts(request, token)\n .then(data => {\n if (data && data[0]) return updateState(data[0]);\n return updateState();\n })\n .finally(() => setIsLoading(false));\n }, [token]);\n\n return (\n \n

    Här lägger du in en länk till förbundets hemsida. Visas i sidfoten.

    \n {isLoading && (\n
    \n \n
    \n )}\n\n {!isLoading && (\n \n
    \n
    \n
    \n {editMode ? (\n \n ) : (\n \n )}\n
    \n
    \n {editMode ? (\n setLinkUrl(evt.target.value)}\n placeholder=\"HTTP-länk\"\n type=\"text\"\n value={linkUrl}\n />\n ) : (\n \n )}\n
    \n
    \n
    \n
    \n \n {editMode && (\n <>\n handleDelete()}\n label=\"Ta bort\"\n icon=\"Trash\"\n altText=\"Ta bort länk\"\n disabled={isSaving || !id}\n />\n handleUpdate()}\n label=\"Spara\"\n altText=\"Spara länk\"\n disabled={isSaving || !linkUrl}\n />\n setEditMode(prevState => !prevState)}\n label=\"Avbryt\"\n disabled={isSaving}\n />\n \n )}\n {!editMode && (\n <>\n setEditMode(prevState => !prevState)}\n label=\"Redigera\"\n icon=\"Edit\"\n altText=\"Redigera länk\"\n />\n \n )}\n \n
    \n \n )}\n
    \n );\n}\n\nUnionLinkConfig.propTypes = {\n forbundList: PropTypes.arrayOf(PropTypes.shape({})),\n};\n\nUnionLinkConfig.defaultProps = {\n forbundList: [],\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Panel from 'atoms/panel/Panel';\nimport Section from 'atoms/section/Section';\nimport Const from 'const';\nimport { ToastContainer } from 'react-toastify';\nimport UnionLinkConfig from './unionlinkconfig/UnionLinkConfig';\n\nexport default function UnionConfig({ forbundList }) {\n return (\n \n \n
    \n \n
    \n
    \n );\n}\n\nUnionConfig.propTypes = {\n forbundList: PropTypes.arrayOf(PropTypes.shape({})),\n};\n\nUnionConfig.defaultProps = {\n forbundList: [],\n};\n","import React, { useState } from 'react';\nimport Button from 'atoms/button/Button';\nimport PropTypes from 'prop-types';\nimport styles from './Modal.module.css';\n\nconst Modal = ({ show, title, message, children, handleClose }) => {\n // const handleOkClick = () => {\n // console.log('Hej innifrån modal');\n // handleClose();\n // };\n\n if (show === false) {\n return null;\n }\n return (\n <>\n
    \n
    \n
    \n
    \n
    {title}
    \n
    \n
    \n
    {message}
    \n
    \n
    {children}
    \n
    \n handleClose('true')}\n variant=\"primary\"\n label=\" Ok \"\n altText=\"Ok\"\n disabled={false}\n />\n handleClose('false')}\n label=\"Avbryt\"\n altText=\"Avbryt\"\n disabled={false}\n />\n
    \n
    \n
    \n \n );\n};\n\nModal.propTypes = {\n show: PropTypes.bool,\n title: PropTypes.string,\n message: PropTypes.string,\n handleClose: PropTypes.func,\n};\n\nModal.defaultProps = {\n // setShow: PropTypes.func,\n};\n\nexport default Modal;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styles from './ActiveSelections.module.css';\n\nconst FilterString = (item, index, length) => {\n let filterString = item.DSL2_DESC.trimStart().trimEnd();\n\n if (filterString === 'Okänt') {\n filterString = 'Samtliga';\n }\n\n if (length === 1 || index === 0) {\n return filterString;\n }\n if (index === length - 1) {\n return ` & ${filterString}`;\n }\n return `, ${filterString}`;\n};\n\nconst ActiveSelections = ({ configurationType, dslConfigurations }) => {\n return (\n
    \n {'Gjorda urval: '}\n {dslConfigurations.length > 0 &&\n dslConfigurations\n .filter(\n dslConfiguration =>\n dslConfiguration.dsL2Configs.filter(\n dsL2Config => dsL2Config.copyFromTestToProd === true\n ).length > 0\n )\n .map(dslConfiguration => (\n \n \n {`${dslConfiguration.dsL1Config.DSL1_DESC}:`}\n \n\n \n {dslConfiguration.dsL2Configs\n .filter(dsL2Config => dsL2Config.copyFromTestToProd === true)\n .map((dsL2Config, index, { length }) => (\n \n {FilterString(dsL2Config, index, length)}\n \n ))}\n \n
    \n ))}\n
    \n );\n};\n\nActiveSelections.propTypes = {\n configurationType: PropTypes.string.isRequired,\n dslConfigurations: PropTypes.arrayOf(Object).isRequired,\n};\n\nexport default ActiveSelections;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styles from './ActiveSelections.module.css';\n\nconst FilterString = (item, index, length) => {\n let itemName = '';\n if (length === 1 || index === 0) {\n itemName = item.name;\n return itemName;\n }\n if (index === length - 1) {\n itemName = `& ${item.name}`;\n return itemName;\n }\n itemName = `, ${item.name}`;\n return itemName;\n};\n\nconst ActiveUnionSelections = ({ unions }) => {\n return (\n
    \n {'Gjorda urval: '}\n {unions\n .filter(union => union.isSelected === true)\n .map((union, index, { length }) => (\n
    \n \n {FilterString(union, index, length)}\n \n
    \n ))}\n
    \n );\n};\n\nActiveUnionSelections.propTypes = {\n unions: PropTypes.arrayOf(Object).isRequired,\n};\n\nexport default ActiveUnionSelections;\n","import CheckboxAdmin from 'atoms/checkboxadmin/CheckboxAdmin';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport Accordion from 'atoms/accordion/Accordion';\nimport styles from './DataSource.module.css';\n\nconst DataSource = ({\n configurationType,\n dslConfig,\n handleUpdateConfiguration,\n}) => {\n const handleItemUpdate = (dsl1, dsl2) => {\n const newList = dslConfig.dsL2Configs.map(dsl2Config => {\n if (dsl2Config.DSL2 === dsl2) {\n const updateddsl2Config = {\n ...dsl2Config,\n copyFromTestToProd: !dsl2Config.copyFromTestToProd,\n };\n\n return updateddsl2Config;\n }\n\n return dsl2Config;\n });\n dslConfig.dsL2Configs = newList;\n handleUpdateConfiguration(dslConfig, configurationType);\n };\n\n return (\n <>\n \n
    \n {dslConfig.dsL2Configs.map(dsl2Config => (\n \n \n handleItemUpdate(dslConfig.dsL1Config.DSL1, dsl2Config.DSL2)\n }\n />\n
    \n
    \n ))}\n
    \n \n \n );\n};\n\nDataSource.defaultProps = {\n dslConfig: null,\n};\n\nexport default DataSource;\n","import React from 'react';\nimport CheckboxAdmin from 'atoms/checkboxadmin/CheckboxAdmin';\nimport PropTypes from 'prop-types';\nimport Button from 'atoms/button/Button';\nimport ButtonBar from 'atoms/buttonbar/ButtonBar';\nimport styles from './UnionSelect.module.css';\n\nconst UnionSelect = ({ unions, handleUpdateUnionSelection }) => {\n const handleItemUpdate = id => {\n const newList = unions.map(union => {\n if (union.id === id) {\n const updatedUnion = {\n ...union,\n isSelected: !union.isSelected,\n };\n return updatedUnion;\n }\n\n return union;\n });\n handleUpdateUnionSelection(newList);\n };\n\n const selectAllUnions = () => {\n const newList = unions.map(union => {\n const updatedUnion = {\n ...union,\n isSelected: true,\n };\n return updatedUnion;\n });\n handleUpdateUnionSelection(newList);\n };\n\n const unSelectAllUnions = () => {\n const newList = unions.map(union => {\n const updatedUnion = {\n ...union,\n isSelected: false,\n };\n return updatedUnion;\n });\n handleUpdateUnionSelection(newList);\n };\n\n return (\n
    \n {unions.map(union => (\n
    \n handleItemUpdate(union.id)}\n />\n
    \n
    \n ))}\n
    \n \n selectAllUnions()}\n label=\"Markera alla\"\n altText=\"Markera alla förbund\"\n disabled={false}\n />\n unSelectAllUnions()}\n label=\"Avmarkera alla\"\n altText=\"Avmarkera alla förbund\"\n disabled={false}\n />\n \n
    \n );\n};\n\nUnionSelect.propTypes = {\n unions: PropTypes.arrayOf(Object).isRequired,\n handleUpdateUnionSelection: PropTypes.func.isRequired,\n};\n\nexport default UnionSelect;\n","/* eslint-disable camelcase */\nimport React from 'react';\nimport styles from './HelpBox.module.css';\n\nconst HelpBox = () => {\n return (\n
    \n

    Hjälp

    \n

    \n För att kopiera konfiguration från testmiljö till produktionsmiljö för\n valt förbund gör följande:\n

    \n
      \n
    • Enkel sökning
    • \n
        \n
      • Välj datakällor som ska kopieras.
      • \n
      \n
    • Avancerad sökning
    • \n
        \n
      • Välj förbund för vilka konfiguration ska kopieras.
      • \n
      • Välj datakällor som ska kopieras.
      • \n
      \n
    • Öppen sökning
    • \n
        \n
      • Välj datakällor som ska kopieras.
      • \n
      \n
    • Klicka på Kopiera konfiguration
    • \n
        \n
      • \n Tjänsten kopierar konfiguration från testmiljö till produktionsmiljö\n för de vyer som har valts samt för valda förbund.\n
      • \n
      • \n All befintlig konfiguration för valda vyer och datakällor kommer att\n tas bort i produktionsmiljön och ersättas av konfiguration gjord i\n testmiljön. (Gäller konfiguration för samtliga år)\n
      • \n
      \n
    \n
    \n );\n};\n\nHelpBox.propTypes = {};\n\nHelpBox.defaultProps = {};\n\nexport default HelpBox;\n","/* eslint-disable camelcase */\nimport React from 'react';\nimport Loader from 'atoms/loader/Loader';\nimport { IconCircleCheck } from 'tabler-icons';\nimport styles from './StatusBox.module.css';\n\nconst StatusBox = ({ jobStatus }) => {\n return (\n <>\n
    \n

    Status

    \n\n {jobStatus !== null && jobStatus && jobStatus.isJobRunning ? (\n
    \n \n
    \n ) : (\n

    Inget jobb för att kopiera konfiguration körs för tillfället.

    \n )}\n {jobStatus !== null &&\n jobStatus &&\n jobStatus.isJobRunning &&\n jobStatus.currentSummaryStatus &&\n jobStatus.currentSummaryStatus !== null && (\n
    \n

    {`[${jobStatus.currentSummaryStatus.date}] ${jobStatus.currentSummaryStatus.statusMessage}`}

    \n
    \n )}\n\n {jobStatus !== null &&\n jobStatus &&\n jobStatus.summaryStatuses &&\n jobStatus.summaryStatuses.length > 0 ? (\n
      \n {jobStatus &&\n jobStatus.summaryStatuses.length > 0 &&\n jobStatus.summaryStatuses.map((\n status,\n index // Lägg till 'key' prop\n ) => (\n
    • \n
      \n \n \n {`[${status.date}] ${status.statusMessage} `}{' '}\n \n
      \n
    • \n ))}\n
    \n ) : (\n <>\n )}\n
    \n \n );\n};\n\nStatusBox.propTypes = {};\n\nStatusBox.defaultProps = {};\n\nexport default StatusBox;\n","import ButtonLink from 'atoms/buttonlink/ButtonLink';\nimport Panel from 'atoms/panel/Panel';\nimport Button from 'atoms/button/Button';\nimport ButtonBar from 'atoms/buttonbar/ButtonBar';\nimport Section from 'atoms/section/Section';\nimport Const from 'const';\nimport useScrollTo from 'hooks/useScrollTo';\nimport React, { useState, useEffect, useCallback, useRef } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport ApiService from 'services/ApiService';\nimport { useAuth } from 'services/UseAuth';\nimport Modal from 'atoms/modal/Modal';\nimport Accordion from 'atoms/accordion/Accordion';\nimport ActiveSelections from 'components/admin/copyconfiguration/activeselections/ActiveSelections';\nimport ActiveUnionSelections from 'components/admin/copyconfiguration/activeselections/ActiveUnionSelections';\nimport DataSource from 'components/admin/copyconfiguration/datasource/DataSource';\nimport UnionSelect from 'components/admin/copyconfiguration/unionselect/UnionSelect';\nimport Loader from 'atoms/loader/Loader';\nimport { ToastContainer, toast } from 'react-toastify';\nimport 'react-toastify/dist/ReactToastify.css';\n\nimport HelpBox from './helpbox/HelpBox';\nimport StatusBox from './statusbox/StatusBox';\nimport styles from './CopyConfiguration.module.css';\n\nconst CopyConfiguration = () => {\n const history = useHistory();\n const ref = useScrollTo('hjalp');\n const { user, signout, autoRefreshToken } = useAuth();\n const { token, forbund } = user;\n const [, setState] = useState();\n const [\n isLoadingSimpleConfiguration,\n setIsLoadingSimpleConfiguration,\n ] = useState(false);\n const [\n isLoadingAdvancedConfiguration,\n setIsLoadingAdvancedConfiguration,\n ] = useState(false);\n\n const [simpleConfiguration, setSimpleConfiguration] = useState();\n const [advancedConfiguration, setAdvancedConfiguration] = useState();\n const [previewConfiguration, setPreviewConfiguration] = useState();\n const [unionList, setUnionList] = useState([]);\n const [showModal, setShowModal] = useState(false);\n const [jobStatus, setJobStatus] = useState();\n const [hasAnySelectionsSimple, setHasAnySelectionsSimple] = useState(false);\n const [hasAnySelectionsPreview, setHasAnySelectionsPreview] = useState(false);\n const [hasAnySelectionsAdvanced, setHasAnySelectionsAdvanced] = useState(\n false\n );\n\n const jobStatusRef = useRef();\n\n useEffect(() => {\n jobStatusRef.current = jobStatus;\n }, [jobStatus]);\n\n const HasAnySelectionsSimple = () => {\n setHasAnySelectionsSimple(false);\n if (\n simpleConfiguration &&\n simpleConfiguration.dslConfigs &&\n simpleConfiguration.dslConfigs.length > 0\n ) {\n simpleConfiguration.dslConfigs.forEach(dslConfig => {\n dslConfig.dsL2Configs.forEach(dsl2Config => {\n if (dsl2Config.copyFromTestToProd === true) {\n setHasAnySelectionsSimple(true);\n }\n });\n });\n }\n };\n\n const HasAnySelectionsPreview = () => {\n setHasAnySelectionsPreview(false);\n\n if (\n previewConfiguration &&\n previewConfiguration.dslConfigs &&\n previewConfiguration.dslConfigs.length > 0\n ) {\n previewConfiguration.dslConfigs.forEach(dslConfig => {\n dslConfig.dsL2Configs.forEach(dsl2Config => {\n if (dsl2Config.copyFromTestToProd === true) {\n setHasAnySelectionsPreview(true);\n }\n });\n });\n }\n };\n\n const HasAnySelectionsAdvanced = () => {\n setHasAnySelectionsAdvanced(false);\n\n if (\n advancedConfiguration &&\n advancedConfiguration.dslConfigs &&\n advancedConfiguration.dslConfigs.length > 0\n ) {\n advancedConfiguration.dslConfigs.forEach(dslConfig => {\n dslConfig.dsL2Configs.forEach(dsl2Config => {\n if (dsl2Config.copyFromTestToProd === true) {\n setHasAnySelectionsAdvanced(true);\n }\n });\n });\n }\n };\n\n const triggerCopyConfiguration = () => {\n let advancedConfig = {\n configurationType: 'advanced',\n forbund: [],\n dslConfigs: [],\n };\n\n if (advancedConfiguration !== null) {\n advancedConfig = advancedConfiguration;\n }\n const copyConfigurationJobRequest = {\n copySimpleConfigurationJobRequest: simpleConfiguration,\n copyAdvancedConfigurationJobRequest: advancedConfig,\n copyPreviewConfigurationJobRequest: previewConfiguration,\n };\n\n ApiService.copyConfigurationExecute(copyConfigurationJobRequest, token)\n .then(() => {\n toast.success('Kopiering av konfiguration startad.');\n })\n .catch(error => {\n if (error.status === 501) {\n toast.error(\n 'Ett jobb för kopiering av konfiguration körs redan. Det är inte tillåtet att köra mer än ett jobb samtidigt.'\n );\n } else if (error.status === 502) {\n toast.error(error.message);\n } else {\n toast.error('Något gick fel vid kopiering av konfiguration.');\n }\n });\n };\n\n const handleUpdateUnionSelection = unions => {\n setUnionList(unions);\n };\n\n const handleUpdateConfiguration = (dslConfiguration, configurationType) => {\n let existingConfiguration = {};\n\n if (configurationType === 'Simple') {\n existingConfiguration = simpleConfiguration;\n } else if (configurationType === 'Advanced') {\n existingConfiguration = advancedConfiguration;\n } else if (configurationType === 'Preview') {\n existingConfiguration = previewConfiguration;\n }\n\n const newdslConfigList = existingConfiguration.dslConfigs.map(item => {\n if (item.dsL1Config.DSL1 === dslConfiguration.dsL1Config.DSL1) {\n const updateddslConfig = {\n ...item,\n dsL2Configs: dslConfiguration.dsL2Configs,\n };\n return updateddslConfig;\n }\n return item;\n });\n\n const newConfiguration = { ...existingConfiguration };\n newConfiguration.dslConfigs = newdslConfigList;\n\n if (configurationType === 'Simple') {\n setSimpleConfiguration(newConfiguration);\n } else if (configurationType === 'Advanced') {\n setAdvancedConfiguration(newConfiguration);\n } else if (configurationType === 'Preview') {\n setPreviewConfiguration(newConfiguration);\n }\n };\n\n const handleModalClose = resultOk => {\n if (resultOk === 'true') {\n setShowModal(false);\n triggerCopyConfiguration();\n } else {\n setShowModal(false);\n }\n };\n\n const unSelectAllUnions = () => {\n const newList = unionList.map(union => {\n const updatedUnion = {\n ...union,\n isSelected: false,\n };\n return updatedUnion;\n });\n setUnionList(newList);\n };\n\n const unSelectAllDataSources = configuration => {\n if (!configuration) return;\n if (!configuration.dslConfigs) return;\n const newdslConfigList = configuration.dslConfigs.map(dslConfig => {\n const newdsL2ConfigList = dslConfig.dsL2Configs.map(dsl2Config => {\n const updateddsl2Config = {\n ...dsl2Config,\n copyFromTestToProd: false,\n };\n return updateddsl2Config;\n });\n\n const updateddslConfig = {\n dsL1Config: dslConfig.dsL1Config,\n dsL2Configs: newdsL2ConfigList,\n };\n\n return updateddslConfig;\n });\n\n const newConfiguration = { ...configuration };\n newConfiguration.dslConfigs = newdslConfigList;\n\n if (configuration.configurationType === 'Simple') {\n setSimpleConfiguration(newConfiguration);\n } else if (configuration.configurationType === 'Advanced') {\n setAdvancedConfiguration(newConfiguration);\n } else if (configuration.configurationType === 'Preview') {\n setPreviewConfiguration(newConfiguration);\n }\n };\n\n const handleError = useCallback(error => {\n if (error.status === 401) {\n console.log('error 401');\n signout();\n history.push('/logga-ut');\n } else {\n setState(() => {\n throw error;\n });\n }\n }, []);\n\n const handleJobStatusUpdate = jobStatusUpdateMsg => {\n try {\n const jsonJobStatusUpdate = JSON.parse(jobStatusUpdateMsg);\n\n console.log('JobStatusUpdate:');\n console.log(jsonJobStatusUpdate);\n setJobStatus(prevState => jsonJobStatusUpdate);\n } catch (err) {\n console.log(err);\n }\n };\n\n useEffect(() => {\n console.log('Efter setJobStatus:');\n console.log(jobStatus);\n }, [jobStatus]);\n\n // INIT.\n useEffect(() => {\n ApiService.createEventSource(\n 'CopyConfigurationJob/status',\n handleJobStatusUpdate\n );\n\n setIsLoadingSimpleConfiguration(true);\n\n const simpleConfigurationRequest = {\n fds: {\n forbund: [forbund],\n dsl1: null,\n dsl2: null,\n year: null,\n },\n configurationtype: 'simple',\n };\n\n const previewConfigurationRequest = {\n fds: {\n forbund: [forbund],\n dsl1: null,\n dsl2: null,\n year: null,\n },\n configurationtype: 'preview',\n };\n\n const promiseUnions = new Promise((resolve, reject) =>\n ApiService.getUnions(user.token)\n .then(data => resolve(data))\n .catch(error => reject(handleError(error)))\n );\n\n const promiseSimpleConfiguration = new Promise((resolve, reject) =>\n ApiService.getConfiguration(simpleConfigurationRequest, token)\n .then(data => resolve(data))\n .catch(error => reject(handleError(error)))\n );\n\n const promisePreviewConfiguration = new Promise((resolve, reject) =>\n ApiService.getConfiguration(previewConfigurationRequest, token)\n .then(data => resolve(data))\n .catch(error => reject(handleError(error)))\n );\n\n Promise.all([\n promiseUnions,\n promiseSimpleConfiguration,\n promisePreviewConfiguration,\n ])\n .then(\n ([unionData, simpleConfigurationData, previewConfigurationData]) => {\n setUnionList(\n unionData\n .filter(a => a.forbundskodSas !== 'XX')\n .sort((a, b) => `${a.name}`.localeCompare(b.name, 'sv'))\n .map(union => ({ ...union, isSelected: false }))\n );\n setSimpleConfiguration(simpleConfigurationData);\n setPreviewConfiguration(previewConfigurationData);\n autoRefreshToken(token);\n }\n )\n .finally(() => setIsLoadingSimpleConfiguration(false));\n }, [token, forbund]);\n\n useEffect(() => {\n HasAnySelectionsSimple();\n }, [simpleConfiguration]);\n\n useEffect(() => {\n HasAnySelectionsPreview();\n }, [previewConfiguration]);\n\n useEffect(() => {\n HasAnySelectionsAdvanced();\n }, [advancedConfiguration]);\n\n useEffect(() => {\n if (unionList && unionList.filter(union => union.isSelected).length > 0) {\n const selectedUnions = unionList\n .filter(union => union.isSelected)\n .map(union => {\n return union.forbundskodSas;\n });\n\n const advancedConfigurationRequest = {\n fds: {\n forbund: selectedUnions,\n dsl1: null,\n dsl2: null,\n year: null,\n },\n configurationtype: 'advanced',\n };\n setIsLoadingAdvancedConfiguration(true);\n ApiService.getConfiguration(advancedConfigurationRequest, token)\n .then(data => setAdvancedConfiguration(data))\n .then(() => {\n autoRefreshToken(token);\n })\n .catch(error => {\n if (error.status === 401) {\n signout();\n history.push('/logga-ut');\n }\n })\n .finally(() => setIsLoadingAdvancedConfiguration(false));\n } else {\n setAdvancedConfiguration(null);\n }\n }, [unionList]);\n\n return (\n <>\n \n \n
    \n

    \n Här kan du kopiera konfiguration från testmiljö till\n produktionsmiljö. Välj datakällor för respektive vy och klicka på\n kopiera konfiguration.\n

    \n\n \n
    \n
    \n

    Välj datakällor

    \n\n {isLoadingSimpleConfiguration ? (\n
    \n \n
    \n ) : (\n <>\n {simpleConfiguration &&\n simpleConfiguration.dslConfigs.map((dslConfig, index) => (\n \n \n
    \n
    \n ))}\n\n
    \n {simpleConfiguration && (\n \n )}\n {\n unSelectAllDataSources(simpleConfiguration);\n }}\n />\n \n )}\n
    \n \n\n \n
    \n
    \n

    Välj förbund

    \n

    \n Välj ett eller flera förbund för vilka inställningarna för\n avancerad sökning ska kopieras.\n

    \n \n {unionList && (\n \n )}\n\n
    \n \n\n
    \n {unionList && (\n \n )}\n {\n unSelectAllUnions();\n }}\n />\n\n

    Välj datakällor

    \n {isLoadingAdvancedConfiguration ? (\n
    \n \n
    \n ) : (\n <>\n {advancedConfiguration &&\n advancedConfiguration.dslConfigs.map((dslConfig, index) => (\n \n \n
    \n
    \n ))}\n
    \n\n {advancedConfiguration && (\n <>\n \n \n )}\n {\n unSelectAllDataSources(advancedConfiguration);\n }}\n />\n \n )}\n
    \n \n\n
    \n
    \n \n {user.role === 'admin' && (\n setShowModal(true)}\n label=\"Kopiera konfiguration\"\n altText=\"Starta jobb för att kopiera konfiguration\"\n disabled={\n !(\n hasAnySelectionsSimple ||\n hasAnySelectionsPreview ||\n hasAnySelectionsAdvanced\n )\n }\n />\n )}\n \n
    \n\n
    \n \n
    \n\n
    \n \n
    \n\n \n {simpleConfiguration && hasAnySelectionsSimple && (\n <>\n

    Enkel sökning

    \n \n \n )}\n\n {advancedConfiguration && hasAnySelectionsAdvanced && (\n <>\n

    Avancerad sökning

    \n Förbund\n {unionList && (\n \n )}\n Datakällor\n \n \n )}\n\n {previewConfiguration && hasAnySelectionsPreview && (\n <>\n

    Öppen sökning

    \n \n \n )}\n \n
    \n
    \n \n );\n};\n\nexport default CopyConfiguration;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport styles from './NotificationRow.module.css';\nimport Button from '../../../../atoms/button/Button';\n\nconst NotificationRow = ({\n id,\n textId,\n unionId,\n value,\n deleteCb,\n updateCb,\n forbund,\n}) => {\n const [expand, setExpand] = useState(false);\n const [message, setMessage] = useState(value);\n const [editable, setEditable] = useState(false);\n\n const handleExpand = () => {\n if (!editable) setExpand(!expand);\n };\n\n const handleText = e => {\n // Return if user presses the enter key\n if (e.nativeEvent.inputType === 'insertLineBreak') return;\n\n setMessage(e.target.value);\n };\n\n const parseDataSources = json => {\n let dataSources;\n\n try {\n dataSources = Object.entries(JSON.parse(json)).map(\n ([k, v]) => ` ${k}:${v} `\n );\n } catch (e) {\n dataSources = [];\n }\n\n return dataSources.length ? dataSources : 'samtliga';\n };\n\n return (\n <>\n \n
    \n {(unionId &&

    {`endast förbund: ${forbund}`}

    ) || (\n

    samtliga förbund

    \n )}\n

    \n {`Källa: ${parseDataSources(textId)}`}\n

    \n
    \n

    meddelande

    \n {!editable ? (\n

    {`${message}`}

    \n ) : (\n