{"version":3,"file":"assets/js/app.js","mappings":"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AM,CAAC,cAAc,CAAC;;IAE7C;IACA,IAAI,CAACqB,WAAW,GAAG,CAAC,CAAC;;IAErB;IACA,IAAI,CAACC,iBAAiB,GAAG,IAAI,CAACA,iBAAiB,CAACpF,IAAI,CAAC,IAAI,CAAC;IAC1D,IAAI,CAACqF,mBAAmB,GAAG,IAAI,CAACA,mBAAmB,CAACrF,IAAI,CAAC,IAAI,CAAC;IAC9D,IAAI,CAACsF,eAAe,GAAG,IAAI,CAACA,eAAe,CAACtF,IAAI,CAAC,IAAI,CAAC;IACtD,IAAI,CAACuF,QAAQ,GAAG,IAAI,CAACA,QAAQ,CAACvF,IAAI,CAAC,IAAI,CAAC;IACxC,IAAI,CAACC,IAAI,EAAE;EACb;EAAC;IAAA;IAAA,OAED,gBACA;MACE,IAAG4B,EAAE,EACL;QACG;;QAED,IAAI,CAAC2D,QAAQ,EAAE;MACjB;IACF;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EA5GE;IAAA;IAAA,OAmJA,6BAAoBtB,IAAI,EACxB;MACE;MACA,IAAI,CAACiB,WAAW,GAAG7H,MAAM,CAACmI,MAAM,CAAC,IAAI,CAACN,WAAW,EAC/C;QACEZ,MAAM,EAAG;UAACC,GAAG,EAAE,EAAE;UAAEC,KAAK,EAA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SAAS,CAACN,KAAK,CAACQ,QAAQ,CAAC,CAAC;QAC3C,CAAC,CAAC;;QAEF;QACA,IAAIrC,KAAK,CAAC7d,MAAM,EAAE,KAAI,CAAC+f,sBAAsB,CAACC,SAAS,CAACL,YAAY,CAAC,GAAG9B,KAAK;MAC/E,CAAC,CAAC;IACJ;EAAC;IAAA;IAAA,OAED,yBAAgB;MACd,IAAMrhB,KAAK,GAAG,IAAIoW,WAAW,CAACpZ,+BAA+B,CAAC;MAC9DH,sBAAsB,CAACmD,KAAK,CAAC;IAC/B;EAAC;IAAA;IAAA,OAED,uBAAcmjB,YAAY,EAAE;MAC1B,OAAOA,YAAY,GAAG,IAAI,CAACI,sBAAsB,CAACJ,YAAY,CAAC,GAAG,IAAI,CAACI,sBAAsB;IAC/F;EAAC;EAAA;AAAA;AAGH;AACA9iB,MAAM,CAAClB,GAAG,GAAG,IAAI6jB,qBAAqB,EAAE;;AAExC;AACA;;;;;;;ACjFA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,MAAM;AACN,eAAe;AACf;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;;AAEA;AACA;AACA,wCAAwC,WAAW;AACnD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,UAAU;AACV;AACA;AACA;AACA;;AAEA;;AAEA,UAAU;AACV;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qCAAqC,cAAc;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,mBAAmB;AACpD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kBAAkB;;AAElB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yBAAyB,gBAAgB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;;AAEA;AACA,aAAa;AACb;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,+CAA+C,QAAQ;AACvD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA,YAAY;AACZ;AACA;AACA;;AAEA,YAAY;AACZ;AACA;AACA;;AAEA,YAAY;AACZ;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA,KAAK;;AAEL;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD;AACA;AACA;AACA;AACA,EAAE,KAA0B,oBAAoB,CAAE;AAClD;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;UCrtBA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;UEtBA;UACA;UACA;UACA","sources":["webpack://project-template-webpack/./src/consts/const-event-types.js","webpack://project-template-webpack/./src/services/service-some-api.js","webpack://project-template-webpack/./src/components/app.js","webpack://project-template-webpack/./src/components/header/header.js","webpack://project-template-webpack/./src/components/chart-component/chart-component.js","webpack://project-template-webpack/./src/components/chart-component/chart-component-example.js","webpack://project-template-webpack/./src/consts/const-utils.js","webpack://project-template-webpack/./src/components/chartjs-component/custom-tooltip.js","webpack://project-template-webpack/./src/services/service-utils.js","webpack://project-template-webpack/./src/components/chartjs-component/chartjs-const.js","webpack://project-template-webpack/./src/components/chartjs-component/chartjs-component.js","webpack://project-template-webpack/./src/components/chartjs-component/custom-legend.js","webpack://project-template-webpack/./src/consts/const-salary-hierarchy.js","webpack://project-template-webpack/./src/components/chartjs-component/chartjs-stacked-component.js","webpack://project-template-webpack/./src/components/chartjs-component/chartjs-line-comparison-component.js","webpack://project-template-webpack/./src/components/readmore-component/readmore-component.js","webpack://project-template-webpack/./src/components/chartjs-component/chartjs-line-component.js","webpack://project-template-webpack/./src/components/chartjs-component/chartjs-stacked-del-component.js","webpack://project-template-webpack/./src/components/filter-component/filter-component.js","webpack://project-template-webpack/./src/components/salary-legend-component/salary-legend-component.js","webpack://project-template-webpack/./src/components/jump-to-component/jump-to-component.js","webpack://project-template-webpack/./src/index.js","webpack://project-template-webpack/./node_modules/regenerator-runtime/runtime.js","webpack://project-template-webpack/webpack/bootstrap","webpack://project-template-webpack/webpack/before-startup","webpack://project-template-webpack/webpack/startup","webpack://project-template-webpack/webpack/after-startup"],"sourcesContent":["export const EventBus = document.body;\n\nexport const EventTypes = Object.freeze({\n ALL_COMPONENTS_READY: 'ALL_COMPONENTS_READY',\n CHART_DATASETS_UPDATE: 'CHART_DATASETS_UPDATE',\n CHART_GLOBALFILTER_UPDATE: 'CHART_GLOBALFILTER_UPDATE',\n CHART_GLOBALFILTER_REQUEST: 'CHART_GLOBALFILTER_REQUEST',\n SALARY_LEGEND_UPDATE: 'SALARY_LEGEND_UPDATE',\n CHART_LEGEND_UPDATE: 'CHART_LEGEND_UPDATE',\n CHART_LEGEND_RENDERING_DONE: 'CHART_LEGEND_RENDERING_DONE',\n})\n","const BASE_URL = '/assets/data/'\n\nexport const ENDPOINT_GENNEMSNITLON_PERSONGRUPPER = `${BASE_URL}gnslon_persgrupper.min.json`\nexport const ENDPOINT_UNDERGRUPPER = `${BASE_URL}undergrupper.min.json`\nexport const ENDPOINT_STATISTICS_EXPERIENCE = `${BASE_URL}statistics-experience.min.json`\nexport const ENDPOINT_STATISTICS_EDUCATION = `${BASE_URL}statistics-education.min.json`\nexport const ENDPOINT_LOENSEKTORER = `${BASE_URL}loen-sektorer.min.json`\nexport const ENDPOINT_FORDELINGSTAL = `${BASE_URL}fordelingstal.min.json` \nexport const ENDPOINT_FORDELINGSTAL_ACCUMULATED = `${BASE_URL}fordelingstal-accumulated-numbers.min.json` \nexport const ENDPOINT_DELELEMENTER = `${BASE_URL}delelementer.min.json`\nexport const ENDPOINT_GROUPS = `${BASE_URL}groups.min.json`\n\n\nconst headersDefault = Object.freeze({\n 'Content-Type': 'application/json'\n})\n\n\nexport const getEndpoint = (ENDPOINT, POST = false, payload) => {\n const options = {\n method: POST ? 'POST' : 'GET',\n headers: {...{}, ...headersDefault},\n ...POST && payload && {body: JSON.stringify({...{}, ...payload})}\n }\n\n return fetch(ENDPOINT, options)\n .then(res => res)\n .then(res => res.json())\n .catch(error => console.log(error))\n}\n","import users from '../json/mockdata.json'\nimport {EventBus, EventTypes} from '../consts/const-event-types'\nimport {getEndpoint} from '../services/service-some-api'\n\n/*\nUse App.js for global functionality\n*/\n\nexport default class App {\n constructor(element) {\n // save a reference of your component-element so you can access it from your methods:\n this.el = element\n\n // bind your methods to 'this' when calling them from event-listeners:\n this.onAppReady = this.onAppReady.bind(this)\n\n this.init()\n }\n\n init() {\n // Use init-method to store DOM-references and setup initial event-listeners:\n if(this.el) this.someElement = this.el.querySelector('[data-example-js-selector]')\n\n // You could listen for all components to be instantiated to make sure events between components are captured:\n EventBus.addEventListener(EventTypes.ALL_COMPONENTS_READY, this.onAppReady);\n }\n\n onAppReady(event) {\n\n\n\n\n }\n\n\n \n}\n","import {EventBus, EventTypes} from '../../consts/const-event-types'\n\nexport default class Header {\n constructor(element) {\n this.el = element\n this.init()\n }\n\n init() {\n this.nav = this.el.querySelector('nav')\n\n\n\n this.setActiveLink()\n }\n\n setActiveLink() {\n const links = [...this.nav.querySelectorAll('.menulink')]\n\n links.forEach(link => {\n if(link.href === window.location.href) {\n link.classList.add('active')\n } else {\n link.classList.remove('active')\n }\n })\n }\n}\n","\n\n\nexport default class ChartComponent {\n constructor(element) {\n this.el = element\n \n this.dataset = [80,100,56,120,180,30,40,120,160,10,250];\n //this.dataset = [1,5,2,6,2];\n this.datasetLineChart = [\n { \n x: 1,\n y: 200\n }, \n {\n x: 2,\n y: 100\n },\n {\n x: 3,\n y: 300\n },\n { \n x: 4,\n y: 200\n }, \n {\n x: 5,\n y: 100\n },\n {\n x: 6,\n y: 300\n }\n ];\n\n this.chartconfig = \n {\n svgWidth: 800,\n svgHeight: 300,\n barPadding: 5,\n }\n\n this.createBarChart = this.createBarChart.bind(this);\n\n\n this.init()\n }\n\n init()\n { \n if(d3)\n { \n /* d3.select(\".chart-component\")\n .selectAll(\"p\")\n .data(this.dataset)\n .enter()\n .append(\"span\")\n .text((d) => {\n return d;\n }) */\n //.text(\"this is awesome\");\n\n this.createBarChart();\n\n this.createLineChart();\n\n var chart = this.BarChart(alphabet, {\n x: d => d.letter,\n y: d => d.frequency,\n yFormat: \"%\",\n yLabel: \"↑ Frequency\",\n width: 800,\n height: 500,\n color: \"steelblue\",\n duration: 750 // slow transition for demonstration\n })\n }\n \n }\n\n setChartScaleAccordingToData(svg, addScales)\n {\n const {\n svgWidth,\n svgHeight \n } = this.chartconfig\n\n // calculate yScale\n this.chartconfig.yScale = d3.scaleLinear()\n .domain([0, d3.max(this.dataset)])\n .range([0, svgHeight]);\n\n // set xScale\n this.chartconfig.xScale = d3.scaleLinear()\n .domain([0, d3.max(this.dataset)])\n .range([0, svgWidth]); \n\n // Optional add scales\n if(addScales)\n {\n var x_axis = d3.axisBottom().\n scale(this.chartconfig.xScale); \n \n var y_axis = d3.axisLeft()\n .scale(this.chartconfig.yScale);\n\n svg.append(\"g\")\n .attr(\"transform\", \"translate(50,10)\")\n .call(y_axis); \n\n var xAxisTranslate = svgHeight - 20;\n\n svg.append(\"g\")\n .attr(\"transform\", `translate(50,${xAxisTranslate})`)\n .call(x_axis); \n }\n }\n\n createBarChart()\n { \n const {\n svgWidth,\n svgHeight,\n barPadding \n } = this.chartconfig\n \n var barWidth = (svgWidth / this.dataset.length);\n\n var svg = d3.select(\"#svg-chart\")\n .attr(\"width\", svgWidth)\n .attr(\"height\", svgHeight);\n \n // Adjust scaling according to data\n this.setChartScaleAccordingToData(svg);\n\n // Create bar columns\n var barChart = svg.selectAll(\"rect\")\n .data(this.dataset)\n .enter()\n .append(\"rect\")\n .attr(\"y\", (d) => {\n return svgHeight - this.chartconfig.yScale(d)\n })\n .attr(\"height\", (d) => {\n return this.chartconfig.yScale(d)\n })\n .attr(\"width\", barWidth - barPadding)\n .attr(\"transform\", (d, i) => \n {\n var translate = barWidth * i;\n return `translate(${translate}, 0)`;\n });\n\n // Create text labels for each bar\n var text = svg.selectAll(\"text\")\n .data(this.dataset)\n .enter()\n .append(\"text\")\n .text((d) => \n {\n return d\n })\n .attr(\"y\", (d, i) => {\n return svgHeight - this.chartconfig.yScale(d) - 5;\n })\n .attr(\"x\", (d, i) => {\n return (barWidth * i) + (barWidth / 3)\n })\n\n }\n\n createLineChart()\n {\n const {\n svgWidth,\n svgHeight, \n } = this.chartconfig \n\n var margin = { top: 20, right: 20, bottom: 20, left: 50 };\n var width = svgWidth - margin.left - margin.right;\n var height = svgHeight - margin.top - margin.bottom;\n\n\n var svg = d3.select(\"#svg-chart-line\")\n .attr(\"width\", svgWidth)\n .attr(\"height\", svgHeight);\n \n var g = svg.append(\"g\")\n .attr(\"transform\", `translate(${margin.left},${margin.top})`);\n\n var x = d3.scaleLinear().rangeRound([0, width]); \n var y = d3.scaleLinear().rangeRound([height, 0]); \n\n // create line\n var line = d3.line()\n .x((d, i) => {\n return x(d.x)\n })\n .y((d) => {\n return y(d.y)\n })\n x.domain(d3.extent(this.datasetLineChart, (d) => {\n return d.x\n }))\n y.domain(d3.extent(this.datasetLineChart, (d) => {\n return d.y\n }));\n\n g.append(\"g\")\n .attr(\"transform\", `translate(0,${height})`)\n .call(d3.axisBottom(x))\n .select(\".domain\")\n .remove();\n\n g.append(\"g\")\n .call(d3.axisLeft(y))\n .append(\"text\")\n .attr(\"fill\", \"#000\")\n .attr(\"transform\", \"rotate(-90)\")\n .attr(\"y\", 6)\n .attr(\"dy\", \"0.71em\")\n .attr(\"text-anchor\", \"end\")\n .attr(\"Price ($)\");\n\n\n g.append(\"path\")\n .datum(this.datasetLineChart)\n .attr(\"fill\", \"none\")\n .attr(\"stroke\", \"#FFFFFF\")\n .attr(\"stroke-linejoin\", \"round\")\n .attr(\"stroke-linecap\", \"round\")\n .attr(\"stroke-width\", 1.5)\n .attr(\"d\", line);\n }\n\n\n \n\n}\n","\n\n\nexport default class ChartComponentExample\n{\n constructor(element) {\n\n // Elements\n this.el = element\n this.menuDropdown = d3.select(\"#menu select\");\n\n // Var\n this.chartConfig = {}\n\n // Function bindings\n this.setupDropdownMenu = this.setupDropdownMenu.bind(this);\n this.setupBarChartConfig = this.setupBarChartConfig.bind(this);\n this.createBarChart2 = this.createBarChart2.bind(this);\n this.drawBars = this.drawBars.bind(this);\n this.init();\n }\n\n init()\n { \n if(d3)\n { \n //this.createBarChart(); \n\n this.loadData(); \n } \n } \n\n /* createBarChart()\n {\n var margin = {top: 20, right: 40, bottom: 10, left: 40},\n width = 960,\n height = 250 - margin.top - margin.bottom;\n\n var format = d3.format(\".1%\"),\n states,\n age;\n\n var x = d3.scale.linear()\n .range([0, width]);\n\n var y = d3.scale.ordinal()\n .rangeRoundBands([0, height], .1);\n\n var xAxis = d3.svg.axis()\n .scale(x)\n .orient(\"top\")\n .tickSize(-height - margin.bottom)\n .tickFormat(format);\n\n var svg = d3.select(\"#chart\").append(\"svg\")\n .attr(\"width\", width + margin.left + margin.right)\n .attr(\"height\", height + margin.top + margin.bottom)\n .style(\"margin-left\", -margin.left + \"px\")\n .append(\"g\")\n .attr(\"transform\", \"translate(\" + margin.left + \",\" + margin.top + \")\");\n\n svg.append(\"g\")\n .attr(\"class\", \"x axis\");\n\n svg.append(\"g\")\n .attr(\"class\", \"y axis\")\n .append(\"line\")\n .attr(\"class\", \"domain\")\n .attr(\"y2\", height);\n\n var menu = d3.select(\"#menu select\")\n .on(\"change\", change);\n\n d3.csv(\"/assets/data/states-age.csv\", (data) => {\n\n states = data;\n\n\n\n console.log(\"states\",states)\n\n var ages = d3.keys(states[0]).filter((key) => {\n return key != \"State\" && key != \"Total\";\n });\n\n states.forEach((state) => {\n ages.forEach((age) => {\n state[age] = state[age] / state.Total;\n });\n });\n\n menu.selectAll(\"option\")\n .data(ages)\n .enter().append(\"option\")\n .text((d) => { return d; });\n\n menu.property(\"value\", \"18 to 24 Years\");\n\n redraw();\n });\n\n var altKey;\n\n d3.select(window)\n .on(\"keydown\", () => { altKey = d3.event.altKey; })\n .on(\"keyup\", () => { altKey = false; });\n\n function change() {\n \n\n d3.transition()\n .duration(altKey ? 7500 : 750)\n .each(redraw);\n }\n\n function redraw() {\n var age1 = menu.property(\"value\"),\n top = states.sort((a, b) => { return b[age1] - a[age1]; }).slice(0, 10);\n\n y.domain(top.map((d) => { return d.State; }));\n\n var bar = svg.selectAll(\".bar\")\n .data(top, (d) => { return d.State; });\n\n var barEnter = bar.enter().insert(\"g\", \".axis\")\n .attr(\"class\", \"bar\")\n .attr(\"transform\", (d) => { return \"translate(0,\" + (y(d.State) + height) + \")\"; })\n .style(\"fill-opacity\", 0);\n\n barEnter.append(\"rect\")\n .attr(\"width\", age && function(d) { return x(d[age]); })\n .attr(\"height\", y.rangeBand());\n\n barEnter.append(\"text\")\n .attr(\"class\", \"label\")\n .attr(\"x\", -3)\n .attr(\"y\", y.rangeBand() / 2)\n .attr(\"dy\", \".35em\")\n .attr(\"text-anchor\", \"end\")\n .text((d) => { return d.State; });\n\n barEnter.append(\"text\")\n .attr(\"class\", \"value\")\n .attr(\"x\", age && function(d) { return x(d[age]) - 3; })\n .attr(\"y\", y.rangeBand() / 2)\n .attr(\"dy\", \".35em\")\n .attr(\"text-anchor\", \"end\");\n\n x.domain([0, top[0][age = age1]]);\n\n var barUpdate = d3.transition(bar)\n .attr(\"transform\", (d) => { return \"translate(0,\" + (d.y0 = y(d.State)) + \")\"; })\n .style(\"fill-opacity\", 1);\n\n barUpdate.select(\"rect\")\n .attr(\"width\", (d) => { return x(d[age]); });\n\n barUpdate.select(\".value\")\n .attr(\"x\", (d) => { return x(d[age]) - 3; })\n .text((d) => { return format(d[age]); });\n\n var barExit = d3.transition(bar.exit())\n .attr(\"transform\", (d) => { return \"translate(0,\" + (d.y0 + height) + \")\"; })\n .style(\"fill-opacity\", 0)\n .remove();\n\n barExit.select(\"rect\")\n .attr(\"width\", (d) => { return x(d[age]); });\n\n barExit.select(\".value\")\n .attr(\"x\", (d) => { return x(d[age]) - 3; })\n .text((d) => { return format(d[age]); });\n\n d3.transition(svg).select(\".x.axis\")\n .call(xAxis);\n } \n } */\n\n\n setupBarChartConfig(data)\n {\n // define styling of chart \n this.chartConfig = Object.assign(this.chartConfig, \n { \n margin : {top: 20, right: 40, bottom: 10, left: 40 },\n barHeight : 20 \n }); \n\n \n this.chartConfig = Object.assign(this.chartConfig, \n {\n width: 960,\n height: (this.chartConfig.barHeight * data.length) - this.chartConfig.margin.top - this.chartConfig.margin.bottom,\n dataset : data,\n format: d3.format(\"0.1\"),\n salary: null,\n x: null,\n y: null,\n xAxis: null\n });\n }\n\n\n setupDropdownMenu()\n {\n this.menuDropdown.on(\"change\", () => {\n d3.transition().duration(this.chartConfig.altKey ? 7500 : 750).each(this.drawBars);\n }\n ); \n\n // Create options in menu\n var dataNames = d3.keys(this.chartConfig.dataset[0]).filter((key) => {\n return key != \"Persongrupper\";\n });\n\n this.menuDropdown.selectAll(\"option\")\n .data(dataNames)\n .enter().append(\"option\")\n .text((d) => { return d; });\n\n // Select the first option\n this.menuDropdown.property(\"value\", dataNames[0]); \n }\n\n loadData()\n {\n // Read data\n d3.csv(\"/assets/data/1508_gnslon_persgrupper_cleaned.csv\", (data) => \n {\n if(data)\n {\n console.log(\"data\", data)\n\n this.setupBarChartConfig(data);\n \n this.setupDropdownMenu();\n \n this.createBarChart2()\n \n this.drawBars(); \n\n //this.drawHTMLBars();\n } \n }); \n }\n\n\n createBarChart2()\n { \n var {\n width,\n height, \n format,\n margin,\n } = this.chartConfig;\n\n\n // setup x axis and y axis scaling and format of values\n this.chartConfig.x = d3.scale.linear().range([0, width]),\n this.chartConfig.y = d3.scale.ordinal().rangeRoundBands([0, height], .1) \n\n this.chartConfig.xAxis = d3.svg.axis()\n .scale(this.chartConfig.x)\n .orient(\"top\")\n .tickSize(-height - margin.bottom)\n .tickFormat(format);\n \n\n this.chartConfig.svg = d3.select(\"#chart\").append(\"svg\")\n .attr(\"width\", width + margin.left + margin.right)\n .attr(\"height\", height + margin.top + margin.bottom)\n .style(\"margin-left\", -margin.left + \"px\")\n .append(\"g\")\n .attr(\"transform\", \"translate(\" + margin.left + \",\" + margin.top + \")\");\n\n this.chartConfig.svg.append(\"g\").attr(\"class\", \"x axis\");\n this.chartConfig.svg.append(\"g\").attr(\"class\", \"y axis\").append(\"line\").attr(\"class\", \"domain\").attr(\"y2\", height);\n\n }\n\n drawHTMLBars()\n {\n\n }\n\n drawBars()\n {\n var {\n height,\n format,\n dataset,\n salary,\n y,\n x,\n svg,\n xAxis\n } = this.chartConfig;\n\n\n var selectedValue = this.menuDropdown.property(\"value\");\n\n var top = this.chartConfig.dataset.sort((a, b) => { return b[selectedValue] - a[selectedValue]; });\n\n y.domain(top.map((d) => { return d.Persongrupper; }));\n\n var bar = svg.selectAll(\".bar\").data(top, (d) => { return d.Persongrupper; }); \n\n console.log(\"bar\", bar)\n\n var barEnter = bar.enter().insert(\"g\", \".axis\")\n .attr(\"class\", \"bar\")\n .attr(\"transform\", (d) => { \n var yTranslate = (y(d.Persongrupper) + height); \n return `translate(0,${yTranslate})`; \n \n })\n .style(\"fill-opacity\", 0);\n\n\n\n\n barEnter.append(\"rect\")\n .attr(\"width\", salary && function(d) { return x(d[salary]); })\n .attr(\"height\", y.rangeBand());\n\n barEnter.append(\"text\")\n .attr(\"class\", \"label\")\n .attr(\"x\", 2)\n .attr(\"y\", 0)\n .attr(\"dy\", \"0\")\n .text((d) => { return d.Persongrupper; });\n\n barEnter.append(\"text\")\n .attr(\"class\", \"value\")\n .attr(\"x\", salary && function(d) { return x(d[salary]) - 3; })\n .attr(\"y\", y.rangeBand() / 2)\n .attr(\"dy\", \".35em\")\n .attr(\"text-anchor\", \"end\");\n\n x.domain([0, top[0][salary = selectedValue]]);\n\n var barUpdate = d3.transition(bar)\n .attr(\"transform\", (d) => { \n\n //var test = (d.y0 = y(d.Persongrupper)) \n d.y0 = y(d.Persongrupper + 30);\n console.log(\"test\", d)\n return `translate(0,${d.y0})`; \n })\n .style(\"fill-opacity\", 1);\n\n barUpdate.select(\"rect\")\n .attr(\"width\", (d) => { return x(d[salary]); });\n\n barUpdate.select(\".value\")\n .attr(\"x\", (d) => { return x(d[salary]) - 3; })\n .text((d) => { return format(d[salary]); });\n \n var barExit = d3.transition(bar.exit())\n .attr(\"transform\", (d) => { \n console.log(\"bar exit\", d.y0);\n return \"translate(0,\" + (d.y0 + height + 20) + \")\"; })\n .style(\"fill-opacity\", 0)\n .remove();\n\n barExit.select(\"rect\")\n .attr(\"width\", (d) => { return x(d[salary]); });\n\n barExit.select(\".value\")\n .attr(\"x\", (d) => { return x(d[salary]) - 3; })\n .text((d) => { return format(d[salary]); });\n\n d3.transition(svg).select(\".x.axis\").call(xAxis);\n }\n\n\n}\n","export const isDevEnvironment = !process.env.NODE_ENV || process.env.NODE_ENV === 'development'\n\nexport const root = document.querySelector(':root');\n\nexport const ChartColors = [\n getComputedStyle(root).getPropertyValue('--color-purple-1'),\n getComputedStyle(root).getPropertyValue('--color-red-1'), \n getComputedStyle(root).getPropertyValue('--color-yellow-1'), \n getComputedStyle(root).getPropertyValue('--color-green-1'), \n getComputedStyle(root).getPropertyValue('--color-blue-1'), \n getComputedStyle(root).getPropertyValue('--color-red-2'), \n getComputedStyle(root).getPropertyValue('--color-green-2'), \n getComputedStyle(root).getPropertyValue('--color-purple-2'), \n getComputedStyle(root).getPropertyValue('--color-blue-2'), \n getComputedStyle(root).getPropertyValue('--color-yellow-2'), \n];\n\n\nexport const ChartColorsUndergrupper = [\n getComputedStyle(root).getPropertyValue('--color-red-1'), \n getComputedStyle(root).getPropertyValue('--color-purple-1'), \n getComputedStyle(root).getPropertyValue('--color-yellow-1'), \n getComputedStyle(root).getPropertyValue('--color-green-1'), \n getComputedStyle(root).getPropertyValue('--color-blue-1'), \n];\n\nexport const SectorColors = {\n Regioner: getComputedStyle(root).getPropertyValue('--color-blue-1'), \n Kommuner: getComputedStyle(root).getPropertyValue('--color-red-1'), \n Staten: getComputedStyle(root).getPropertyValue('--color-purple-1'), \n}\n\nexport const ChartColorsDelElementer = [\n getComputedStyle(root).getPropertyValue('--color-purple-1'), \n getComputedStyle(root).getPropertyValue('--color-red-1'), \n getComputedStyle(root).getPropertyValue('--color-yellow-1'), \n getComputedStyle(root).getPropertyValue('--color-green-1'), \n getComputedStyle(root).getPropertyValue('--color-blue-1'), \n getComputedStyle(root).getPropertyValue('--color-red-2'), \n getComputedStyle(root).getPropertyValue('--color-green-2'), \n];\n\n\nexport const Educations = Object.freeze([\n {\n shortname: 'PrimarySchool',\n name: 'Grundskoleuddannelse',\n color: getComputedStyle(root).getPropertyValue('--color-purple-1'),\n },\n {\n shortname: 'Gymnasium',\n name: 'Gymnasial uddannelse',\n color: getComputedStyle(root).getPropertyValue('--color-red-1'),\n },\n {\n shortname: 'Erhversfaglig',\n name: 'Erhvervsfaglig uddannelse',\n color: getComputedStyle(root).getPropertyValue('--color-yellow-1'),\n },\n {\n shortname: 'KVU',\n name: 'Kort videregående uddannelse',\n color: getComputedStyle(root).getPropertyValue('--color-green-1'),\n },\n {\n shortname: 'MVU',\n name: 'Mellemlang videregående uddannelse',\n color: getComputedStyle(root).getPropertyValue('--color-blue-1'),\n },\n {\n shortname: 'Bachelor',\n name: 'Bacheloruddannelse',\n color: getComputedStyle(root).getPropertyValue('--color-red-2'),\n },\n {\n shortname: 'LVU',\n name: 'Lang videregående uddannelse',\n color: getComputedStyle(root).getPropertyValue('--color-green-2'),\n },\n {\n shortname: 'PHD',\n name: 'Ph.d.',\n color: getComputedStyle(root).getPropertyValue('--color-purple-2'),\n }\n]);\n","import { Educations } from '../../consts/const-utils';\n\nexport const getOrCreateTooltip = (chart) => \n{ \n let tooltipEl = chart.canvas.parentNode.querySelector('.custom-tooltip');\n\n if (!tooltipEl)\n {\n tooltipEl = document.createElement('div');\n tooltipEl.className = \"custom-tooltip\";\n tooltipEl.style.pointerEvents = 'none';\n\n const table = document.createElement('table');\n table.style.margin = '0px';\n\n tooltipEl.appendChild(table);\n chart.canvas.parentNode.appendChild(tooltipEl);\n }\n\n return tooltipEl;\n};\n\nexport const getOrCreateTooltipCustom = (chart) => \n{ \n let tooltipEl = chart.canvas.parentNode.querySelector('.custom-tooltip-2');\n\n if (!tooltipEl)\n {\n tooltipEl = document.createElement('div');\n tooltipEl.className = \"custom-tooltip-2\";\n tooltipEl.style.pointerEvents = 'none';\n\n const wrapper = document.createElement('div');\n wrapper.className = 'tooltip-content';\n tooltipEl.appendChild(wrapper);\n chart.canvas.parentNode.appendChild(tooltipEl);\n }\n\n return tooltipEl;\n};\n\nexport const externalTooltipHandler = (context, statsHTML) => {\n\n // Tooltip Element\n const {chart, tooltip} = context;\n\n const tooltipEl = getOrCreateTooltip(chart);\n\n // Hide if no tooltip\n if (tooltip.opacity === 0) {\n tooltipEl.style.opacity = 0;\n return;\n }\n\n // Set Text\n if (tooltip.body)\n {\n const titleLines = tooltip.title || [];\n\n const bodyLines = tooltip.body.map(b => b.lines);\n\n\n const tableHead = document.createElement('thead');\n\n titleLines.forEach(title => \n {\n const tr = document.createElement('tr');\n tr.style.borderWidth = 0;\n\n const th = document.createElement('th');\n th.style.borderWidth = 0;\n const text = document.createTextNode(title);\n\n th.appendChild(text);\n tr.appendChild(th);\n tableHead.appendChild(tr);\n\n });\n\n const tableBody = document.createElement('tbody');\n\n bodyLines.forEach((body, i) => \n {\n const colors = tooltip.labelColors[i];\n\n const span = document.createElement('span');\n span.style.background = colors.backgroundColor;\n span.style.borderColor = colors.borderColor;\n span.style.borderWidth = '2px';\n span.style.marginRight = '10px';\n span.style.height = '10px';\n span.style.width = '10px';\n span.style.display = 'inline-block';\n\n const tr = document.createElement('tr');\n tr.style.backgroundColor = 'inherit';\n tr.style.borderWidth = 0;\n\n const td = document.createElement('td');\n td.style.borderWidth = 0;\n\n\n let roundedNumber = body; // body contains value\n\n // Check if string or body is is comma separated\n const bodyArray = body[0].split(\":\");\n if(bodyArray.length == 2)\n {\n roundedNumber = parseFloat(bodyArray[1].trim().replace(\",\",\".\")); \n }\n else{\n roundedNumber = body[0].replace(\",\", \".\");\n }\n\n\n var newRoundedNumber = Math.round(roundedNumber);\n\n\n const text = document.createTextNode(`${newRoundedNumber} kr.`);\n\n td.appendChild(span);\n\n\n td.appendChild(text);\n\n tr.appendChild(td);\n\n // Stats row\n const tdStats = document.createElement('td');\n const divStats = document.createElement(\"div\");\n divStats.innerHTML = statsHTML\n tdStats.appendChild(divStats);\n\n\n const trStats = document.createElement('tr');\n trStats.appendChild(tdStats);\n\n tableBody.appendChild(tr);\n tableBody.appendChild(trStats);\n });\n\n const tableRoot = tooltipEl.querySelector('table');\n\n \n // Remove old children\n while (tableRoot.firstChild) {\n tableRoot.firstChild.remove();\n }\n\n // Add new children\n tableRoot.appendChild(tableHead);\n tableRoot.appendChild(tableBody);\n }\n\n const {\n offsetLeft: positionX, \n offsetTop: positionY\n } = chart.canvas;\n\n const slightOffset = 10;\n\n // Display, position, and set styles for font\n tooltipEl.style.opacity = 1;\n\n tooltipEl.style.top = positionY + tooltip.caretY + 10 + 'px'; \n\n const tooltipSpace = chart.canvas.getBoundingClientRect().left + tooltip.caretX + tooltipEl.clientWidth;\n\n if(tooltipSpace < window.innerWidth)\n {\n tooltipEl.style.left = positionX + tooltip.caretX + slightOffset + 'px';\n }\n else{\n tooltipEl.style.left = positionX + tooltip.caretX - slightOffset - 200 + 'px';;\n }\n \n \n tooltipEl.style.font = tooltip.options.bodyFont.string;\n tooltipEl.style.padding = tooltip.options.padding + 'px ' + tooltip.options.padding + 'px';\n};\n\nexport const externalTooltipHandlerCustom = (context, pointTitle, pointValue) => \n{\n // Tooltip Element\n const {chart, tooltip} = context;\n\n const tooltipEl = getOrCreateTooltipCustom(chart);\n\n // Hide if no tooltip\n if (tooltip.opacity === 0) {\n tooltipEl.style.opacity = 0;\n return;\n }\n\n // Set Text\n if (tooltip.body)\n {\n const titleLines = tooltip.title || [];\n\n const bodyLines = tooltip.body.map(b => b.lines);\n\n const headline = document.createElement('h4');\n\n titleLines.forEach(title => \n {\n const text = document.createTextNode(title);\n headline.appendChild(text);\n });\n\n const ul = document.createElement('ul');\n bodyLines.forEach((body, i) => \n {\n const colors = tooltip.labelColors[i];\n\n const li = document.createElement('li');\n li.innerHTML = \n `\n ${pointTitle && pointValue ? `${pointTitle} ${pointValue}` : body}\n `;\n ul.appendChild(li);\n });\n\n const wrapper = tooltipEl.querySelector('.tooltip-content');\n\n \n // Remove old children\n while (wrapper.firstChild) {\n wrapper.firstChild.remove();\n } \n\n // Add new children\n wrapper.appendChild(headline);\n wrapper.appendChild(ul);\n }\n\n const {\n offsetLeft: positionX, \n offsetTop: positionY\n } = chart.canvas;\n\n const slightOffset = 10;\n\n // Display, position, and set styles for font\n tooltipEl.style.opacity = 1;\n\n const tooltipSpace = chart.canvas.getBoundingClientRect().left + tooltip.caretX + tooltipEl.clientWidth;\n\n if(tooltipSpace < window.innerWidth)\n {\n tooltipEl.style.left = positionX + tooltip.caretX + slightOffset + 'px';\n }\n else{\n tooltipEl.style.left = positionX + tooltip.caretX - slightOffset - 200 + 'px';;\n }\n\n\n tooltipEl.style.top = positionY + tooltip.caretY + 10 + 'px'; \n tooltipEl.style.font = tooltip.options.bodyFont.string;\n \n\n};\n\n\nexport const getTooltipStatistics = (context, dataStatisticsExperience) => \n{\n var html = ``; \n const { tooltip} = context;\n const title = tooltip.title ? tooltip.title[0] : \"\";\n \n dataStatisticsExperience && dataStatisticsExperience.Sheet1.forEach((p) => \n {\n if(p.Group === title && p.Education)\n {\n let educationKeys = Object.keys(p.Education).filter(e => \n {\n if(e != 'Group' && e != 'Color') return true\n else return false\n });\n let educationText = ``;\n let educationPhrase = ``;\n \n\n\n // generate education text based on amount of educations and percentage\n educationKeys.forEach((eduKey, index) => \n {\n\n const educationName = Educations.filter(e => e.shortname === eduKey)[0];\n\n educationText += `${educationName.name}`;\n \n if((index + 2) < educationKeys.length)\n {\n educationText += `, en `;\n }\n else if((index + 1) < educationKeys.length)\n {\n educationText += ` eller en `;\n }\n\n/* let percentage = p.Education[eduKey];\n percentage = parseInt(percentage);\n \n if(percentage <= 80)\n {\n educationPhrase = `typisk `\n } */\n })\n\n // put it all together\n html = `
${p.Group} har typisk ${p.WorkExperience.replace('.',',')} års erhvervserfaring, er ${p.Age ? Math.round(p.Age) : null} år og har typisk en ${educationText.toLowerCase()}
`;\n }\n })\n \n return html;\n }\n\n\nexport const externalTooltipHandlerFordelingstal = (context, dataAccumulatedStats, salaryGroup) => \n{\n // Tooltip Element\n const {chart, tooltip} = context;\n\n const tooltipEl = getOrCreateTooltipCustom(chart);\n\n // Hide if no tooltip\n if (tooltip.opacity === 0) {\n tooltipEl.style.opacity = 0;\n return;\n }\n\n\n // Set Text\n if (tooltip.body)\n {\n const bodyLines = tooltip.body.map(b => b.lines);\n\n const uniqueBodyLines = [];\n\n bodyLines.forEach(bodyLine =>\n {\n bodyLine.forEach(line =>\n {\n if(!uniqueBodyLines.includes(line))\n {\n uniqueBodyLines.push(line);\n }\n })\n }); \n\n var li = ``;\n\n uniqueBodyLines.forEach((b, i) => \n {\n const colors = tooltip.labelColors[i];\n const myArray = b.split(\":\");\n var pointValue = parseFloat(myArray[1].trim().replace(\",\", \".\"));\n\n var groupName = myArray[0];\n\n // Find accumulated percent\n var percentageAccumulated = null;\n\n if(dataAccumulatedStats)\n {\n const selectedStat = dataAccumulatedStats[salaryGroup].filter(g => g.Group === groupName);\n if(selectedStat && selectedStat[0] != null)\n {\n const label = tooltip.dataPoints[0].label;\n percentageAccumulated = selectedStat[0][label];\n } \n }\n // end of accumulated percent\n\n\n li += `
  • \n ${formatDecimal(pointValue)}% af alle \n ${groupName.trim().toLowerCase()} tjener ${tooltip.title} kr. i timen \n ${percentageAccumulated != null ? ` og ${formatDecimal(percentageAccumulated)}% af alle ${groupName.trim().toLowerCase()} tjener mindst ${tooltip.title} kr. i timen.`: ``}\n
  • \n `;\n });\n\n const ul = document.createElement('ul');\n ul.innerHTML = li;\n\n const wrapper = tooltipEl.querySelector('.tooltip-content');\n\n // Remove old children\n while (wrapper.firstChild) {\n wrapper.firstChild.remove();\n } \n\n // Add new children\n wrapper.appendChild(ul);\n }\n\n const {\n offsetLeft: positionX, \n offsetTop: positionY\n } = chart.canvas;\n\n const slightOffset = 10;\n\n // Display, position, and set styles for font\n tooltipEl.style.opacity = 1;\n\n\n const tooltipSpace = chart.canvas.getBoundingClientRect().left + tooltip.caretX + tooltipEl.clientWidth;\n\n if(tooltipSpace < window.innerWidth)\n {\n tooltipEl.style.left = positionX + tooltip.caretX + slightOffset + 'px';\n }\n else{\n tooltipEl.style.left = positionX + tooltip.caretX - slightOffset - 200 + 'px';;\n }\n\n\n tooltipEl.style.top = positionY + tooltip.caretY + 10 + 'px'; \n \n tooltipEl.style.font = tooltip.options.bodyFont.string;\n\n};\n\nexport const formatDecimal = (value) => {\n return parseFloat(value).toFixed(1).replace('.', ',')\n};\n\n\nexport const externalTooltipHandlerStacked = (context, myChart, dataArrays, addressAs, useAlternativeTotalsum) => \n{\n // Tooltip Element\n const {chart, tooltip} = context;\n\n const tooltipEl = getOrCreateTooltipCustom(chart);\n\n // Hide if no tooltip\n if (tooltip.opacity === 0) {\n tooltipEl.style.opacity = 0;\n return;\n }\n\n // Set Text\n if (tooltip.body)\n {\n const bodyLines = tooltip.body.map(b => b.lines);\n var li = ``;\n\n bodyLines.forEach((b, i) => \n {\n const colors = tooltip.labelColors[i];\n const myArray = b[0].split(\":\");\n\n // Account for decimals\n var pointValue = myArray[1].trim().replace(\",\", \".\");\n\n // Calculate total\n if(tooltip.title)\n {\n let totalSum = 0;\n var labelName = tooltip.title[0];\n // Loop to find label index\n myChart.data.labels.forEach((label, index) =>\n {\n if(label == labelName)\n {\n const dataSalaries = dataArrays[index];\n\n let isFound = false;\n\n Object.keys(dataSalaries).forEach(key => \n {\n if(isFound == false)\n { \n // Convert to floating number\n var keyValue = parseFloat(dataSalaries[key]);\n\n var currentGroup = myArray[0].trim();\n\n totalSum += Math.round(keyValue);\n\n // Depending on how we want to display the total sum, either always show the total for all groups, or we only show total up to the selected group\n // useAlternativeTotalsum decides this\n if(!useAlternativeTotalsum)\n {\n if(currentGroup == key)\n {\n isFound = true;\n }\n }\n }\n });\n\n\n // round numbers\n totalSum = Math.round(totalSum);\n pointValue = Math.round(pointValue);\n\n\n // This is \"delsektorer\" where we want to show the \n if(useAlternativeTotalsum)\n {\n li += `
  • ${tooltip.title}s \n ${myArray[0].trim().toLowerCase()} udgør ${pointValue} kr. i timen og de tjener i alt ${totalSum} kr. pr. time`;\n }\n else\n {\n li += `
  • ${tooltip.title} ${addressAs ? addressAs : \"\"} \n ${myArray[0].trim().toLowerCase()} tjener \n\n ${totalSum == pointValue ? \"i alt\" : \"\"} ${pointValue} kr. ${totalSum == pointValue ? \"i timen\" : \"mere\"}`;\n \n if(totalSum > pointValue)\n {\n li += ` og tjener i alt ${totalSum} kr. i timen`\n }\n }\n\n li += `
  • `;\n }\n })\n }\n });\n\n const ul = document.createElement('ul');\n ul.innerHTML = li;\n\n const wrapper = tooltipEl.querySelector('.tooltip-content');\n\n // Remove old children\n while (wrapper.firstChild) {\n wrapper.firstChild.remove();\n } \n\n // Add new children\n wrapper.appendChild(ul);\n }\n\n const {\n offsetLeft: positionX, \n offsetTop: positionY\n } = chart.canvas;\n\n const slightOffset = 15;\n\n // Display, position, and set styles for font\n tooltipEl.style.opacity = 1;\n\n\n const tooltipSpace = chart.canvas.getBoundingClientRect().left + tooltip.caretX + tooltipEl.clientWidth;\n\n if(tooltipSpace < window.innerWidth)\n {\n tooltipEl.style.left = positionX + tooltip.caretX + slightOffset + 'px';\n }\n else{\n tooltipEl.style.left = positionX + tooltip.caretX - slightOffset - 200 + 'px';;\n }\n\n tooltipEl.style.top = positionY + tooltip.caretY + 10 + 'px'; \n tooltipEl.style.font = tooltip.options.bodyFont.string;\n};","export const isMobile = () => {\n return window.matchMedia(\"(max-width: 767px)\").matches\n}\nexport const isDesktop = () => {\n return window.matchMedia(\"(min-width: 1024px)\").matches\n}\n\nexport const getViewPortWidth = () => {\n return Math.max(document.documentElement.clientWidth, window.innerWidth || 0)\n}\n\nexport const getViewPortHeight = () => {\n return Math.max(document.documentElement.clientHeight, window.innerHeight || 0)\n}\n\nexport const getRootVariable = (name) => {\n // Example --color-grey\n return getComputedStyle(document.documentElement).getPropertyValue(name)\n}\n\n\nexport const setGlobalChartConfig = () => {\n\n if(Chart)\n {\n // Global config\n Chart.defaults.font = {\n family: \"Arial, 'Helvetica', 'Arial', sans-serif\",\n size: 13,\n weight: \"normal\",\n }\n Chart.defaults.color = getRootVariable(\"--color-gray-dark\");\n }\n\n}\n\nexport const getHEXAlpha = (color, opacity) => \n{\n // coerce values so ti is between 0 and 1.\n const _opacity = Math.round(Math.min(Math.max(opacity || 1, 0), 1) * 255);\n return color + _opacity.toString(16).toUpperCase();\n}\n\nexport const convertHEXtoRGB = (hex) => \n{\n\n if(!hex.includes(\"#\"))\n return hex;\n\n hex = hex.replace(\"#\",\"\");\n\n var aRgbHex = hex.match(/.{1,2}/g);\n var aRgb = `rgb(${parseInt(aRgbHex[0], 16)},${parseInt(aRgbHex[1], 16)},${parseInt(aRgbHex[2], 16)})`;\n\n return aRgb;\n}\n\nexport const setRGBTransparency = (color) => \n{\n if(color.includes(\"rgba\"))\n return color;\n\n var rgba = color.replace(')', ',0.2)');\n rgba = rgba.replace('rgb', 'rgba');\n return rgba;\n}\n","\nimport { getRootVariable } from '../../services/service-utils';\nimport { ChartColors } from '../../consts/const-utils';\n\n\nexport const setChartScaleTitle = (titleOptional) =>\n{ \n return {\n display: true,\n text: titleOptional ? titleOptional : \"Kr. pr. time\",\n font: {\n weight: 'bold',\n },\n padding: 20\n }\n}\n\n\nexport const setXScaleProps = (gridDisplay) =>\n{ \n return {\n min: 0, \n title: setChartScaleTitle(),\n ticks:\n {\n autoSkip: true,\n autoSkipPadding: 100,\n maxRotation: 0,\n major: {\n enabled: true\n },\n padding: 10,\n },\n grid: {\n display: gridDisplay ? gridDisplay : true,\n drawBorder: false,\n drawOnChartArea: true,\n drawTicks: false,\n \n/* color: (context) => {\n return context.tick.value == 0 ? \"rgba(0,0,0,0)\" : \"#737373\";\n } */\n },\n }\n}\n\nexport const updateSalaryLegendStyle = (el, salaryGroup) =>\n{ \n var salaryLegend = el.querySelector(`.salary-legend-container`);\n if(salaryLegend)\n {\n const listItems = salaryLegend.querySelectorAll(\"li\");\n listItems && listItems.forEach(l => {\n if(l.getAttribute(\"data-salary\") != salaryGroup)\n {\n l.classList.remove(\"selected\")\n }\n else{\n l.classList.add(\"selected\")\n } \n });\n }\n\n}","import { getEndpoint, ENDPOINT_GENNEMSNITLON_PERSONGRUPPER, ENDPOINT_STATISTICS_EXPERIENCE, ENDPOINT_STATISTICS_EDUCATION } from '../../services/service-some-api';\nimport { externalTooltipHandler, getTooltipStatistics } from './custom-tooltip';\nimport { setGlobalChartConfig, convertHEXtoRGB, setRGBTransparency } from '../../services/service-utils';\nimport { Educations, ChartColors } from '../../consts/const-utils';\nimport { setXScaleProps, updateSalaryLegendStyle } from './chartjs-const';\nimport { EventBus, EventTypes } from '../../consts/const-event-types';\n\nexport default class ChartJSComponent {\n constructor(element) {\n this.el = element\n \n // Variables and config\n this.ctx = this.el.querySelector('.chart-canvas').getContext('2d');\n this.myChart = null;\n\n this.barThickness = 10;\n\n this.salaryGroup = \"Standard\";\n this.backgroundEducationColors = [];\n\n this.checkboxEducationsLegend = this.el.querySelector(\"[data-checkbox-education-legend]\");\n\n this.savedDataPoint = {\n label: null,\n datasets: []\n }\n\n // Bindings\n this.loadData = this.loadData.bind(this);\n this.loadStatistics = this.loadStatistics.bind(this);\n this.setupChart = this.setupChart.bind(this);\n this.externalTooltipHandlerWrapper = this.externalTooltipHandlerWrapper.bind(this);\n \n // Functions\n this.init()\n }\n\n init()\n { \n this.loadStatistics(); \n }\n\n setupGlobalEvents()\n {\n EventBus.addEventListener(EventTypes.CHART_GLOBALFILTER_UPDATE, event => \n {\n const { \n dataComponent,\n highlightedGroups,\n hidePublicLeaders\n } = event.detail;\n\n\n if(dataComponent === this.el.getAttribute(\"data-component\") || dataComponent == \"all\")\n {\n\n\n // Remove / Add leaders depending of what is selectdd\n this.toggleLeadersVisibility(hidePublicLeaders);\n\n\n this.setHighlightedData(highlightedGroups);\n }\n });\n\n EventBus.addEventListener(EventTypes.SALARY_LEGEND_UPDATE, event => \n {\n const { \n chartElement,\n salaryGroup \n } = event.detail;\n\n // We update the salary legend on every chart that has the salary legend, whenever we click on it\n // This below updates the salary \"selected\" state on any other salary legend than the one you click on\n if(chartElement.getAttribute(\"data-component\") != this.el.getAttribute(\"data-component\"))\n {\n updateSalaryLegendStyle(this.el, salaryGroup);\n }\n\n // Whenever somebody switched the salary legend on this chart of any other, we will also change this one\n this.salaryGroup = salaryGroup;\n this.setupChart();\n\n });\n }\n\n\n\n setupChart()\n {\n if(this.myChart){ \n this.savedDataPoint.label = null;\n this.myChart.destroy();\n \n }\n\n if(this.ctx)\n {\n setGlobalChartConfig();\n\n Chart.Tooltip.positioners.custom = function(elements, eventPosition) {\n /** @type {Chart.Tooltip} */\n var tooltip = this;\n \n return {\n x: eventPosition.x,\n y: eventPosition.y\n };\n }\n\n const dataSorted = this.data[this.salaryGroup].sort((a, b) => b.Value - a.Value);\n const dataLabels = dataSorted.map(p => p.Group);\n const dataValues = dataSorted.map(p => p.Value);\n\n this.getDatasetColors(dataLabels); \n\n\n // Calculate height of chart based on amount of data\n this.el.style.height = `${(dataLabels.length * 2) * (this.barThickness * 2)}px`;\n\n\n\n this.myChart = new Chart(this.ctx, \n {\n type: 'bar',\n data: \n {\n labels: dataLabels,\n datasets: [\n {\n data: dataValues,\n backgroundColor: this.checkboxEducationsLegend.checked && this.backgroundEducationColors.length > 0 ? this.backgroundEducationColors : ChartColors[0],\n barThickness: this.barThickness,\n },\n ]\n },\n options: \n {\n responsive: true,\n maintainAspectRatio: false,\n indexAxis: 'y',\n barPercentage: 1,\n interaction: {\n intersect: true,\n mode: 'nearest',\n },\n layout: {\n padding: 0\n \n },\n scales:\n {\n x:{\n position: \"top\",\n ...setXScaleProps()\n },\n x2:{\n ...setXScaleProps(false),\n },\n y:{\n \n grace: \"5%\",\n grid: {\n display: false,\n drawBorder: false\n },\n ticks: {\n mirror: true,\n z: 1,\n padding: 0,\n labelOffset: -(this.barThickness * 1.40),\n font: {\n size: 13,\n weight: \"bold\"\n },\n \n }, \n }\n },\n plugins: {\n legend: {\n display: false,\n },\n tooltip: {\n enabled: false, \n position : 'custom', \n external: this.externalTooltipHandlerWrapper\n },\n }\n },\n plugins: [],\n });\n\n // Set same Y scale values\n this.myChart.options.scales.x.max = this.getHighestXValue();\n this.myChart.options.scales.x2.max = this.myChart.options.scales.x.max; \n this.myChart.update();\n\n\n // Check for Global filter\n const eventData = {\n detail: this.el.getAttribute(\"data-component\")\n }\n const ev = new CustomEvent(EventTypes.CHART_GLOBALFILTER_REQUEST, eventData)\n EventBus.dispatchEvent(ev);\n\n \n }\n }\n\n\n setHighlightedData(highlightedGroups)\n { \n\n var backgroundColors = [];\n\n let highlightedIndex;\n\n\n this.myChart.data.labels.forEach((label, index) => \n {\n highlightedGroups.forEach(h => \n {\n if(h === label)\n {\n highlightedIndex = index;\n }\n })\n\n // Update colors\n if(index == highlightedIndex || highlightedGroups.length == 0)\n {\n var color = this.checkboxEducationsLegend.checked ? this.backgroundEducationColors[index] : ChartColors[0];\n backgroundColors.push(color);\n }\n else\n { \n var color = this.checkboxEducationsLegend.checked ? this.backgroundEducationColors[index] : ChartColors[0];\n color = convertHEXtoRGB(color);\n backgroundColors.push(setRGBTransparency(color)); \n }\n });\n\n // Set colors\n this.myChart.data.datasets.forEach((dataset) => \n {\n dataset.backgroundColor = backgroundColors;\n });\n\n // Update rendering\n this.myChart.update();\n }\n\n toggleLeadersVisibility(hidePublicLeaders)\n {\n if(hidePublicLeaders)\n {\n this.myChart.data.labels.forEach((label, index) => \n {\n if(label == \"Offentlige chefer\")\n {\n this.removeData(index);\n }\n });\n }\n else{\n // Show\n this.addData();\n }\n\n }\n\n addData()\n {\n // Only add if data is there\n if(this.savedDataPoint.label)\n {\n // Insert label at right place\n this.myChart.data.labels.splice(this.savedDataPoint.index,0, this.savedDataPoint.label);\n\n // insert datapoints at right place\n this.myChart.data.datasets.forEach((dataset, index) => {\n\n dataset.data.splice(this.savedDataPoint.index,0, this.savedDataPoint.datasets[index]);\n\n \n\n dataset.backgroundColor = this.backgroundEducationColors.splice(this.savedDataPoint.index,0, this.savedDataPoint.backgroundColor[index]);\n\n \n });\n\n this.myChart.update();\n\n // Reset\n this.savedDataPoint.label = null;\n this.savedDataPoint.backgroundColor = null;\n }\n }\n\n\n\n removeData(index)\n {\n if(this.savedDataPoint.label == null)\n {\n this.savedDataPoint = {\n index: index,\n label: this.myChart.data.labels[index],\n datasets: [],\n backgroundColor: [],\n }\n\n // Remove label\n this.myChart.data.labels.splice(index, 1);\n\n\n this.myChart.data.datasets.forEach((dataset) => {\n \n // Add to saved\n this.savedDataPoint.datasets.push(dataset.data[index]);\n this.savedDataPoint.backgroundColor.push(dataset.backgroundColor[index]);\n\n // remove it\n dataset.data.splice(index, 1);\n\n dataset.backgroundColor = this.backgroundEducationColors.splice(index, 1); \n });\n\n this.myChart.update();\n\n }\n }\n\n\n\n getHighestXValue()\n {\n var value = 0;\n\n this.myChart.data.datasets.forEach((dataset) => \n {\n if(dataset.hidden == false || dataset.hidden == null)\n {\n const highestY = Math.max(...dataset.data.map(d => d));\n\n if(value < highestY)\n {\n value = highestY;\n }\n }\n });\n\n // Buffer on top\n value = Math.ceil(value / 100) * 100;\n\n return value;\n }\n\n renderCustomLegend()\n {\n const legend = this.el.querySelector(\"[data-custom-legend]\");\n\n const template = `\n