{"version":3,"file":"print_grouped_charts_controller-DqPnkmxM.js","sources":["../../../app/javascript/entrypoints/controllers/print_grouped_charts_controller.js"],"sourcesContent":["import {\n Chart,\n CategoryScale,\n LinearScale,\n PointElement,\n LineElement,\n Title,\n Tooltip,\n Legend,\n} from \"chart.js\";\nimport ChartDataLabels from \"chartjs-plugin-datalabels\";\n\nimport _ from \"lodash\";\n\nimport print from \"print-js\";\n\nChart.register(\n CategoryScale,\n LinearScale,\n PointElement,\n LineElement,\n Title,\n Tooltip,\n Legend,\n ChartDataLabels\n);\n\nimport { ticksCallback } from \"../utils\";\n\nimport BaseChartController from \"./base_chart_controller\";\n\nconst red = \"rgba(255, 0, 0, 1)\";\nconst black = \"rgb(0, 0, 0, 1)\";\n\nexport default class extends BaseChartController {\n connect() {\n this.element[\"chart\"] = this;\n }\n\n options = (data) => {\n return {\n elements: {\n line: {\n borderWidth: 8,\n },\n point: {\n radius: 4,\n },\n },\n clip: 50,\n layout: {\n padding: 15,\n },\n responsive: true,\n maintainAspectRatio: false,\n plugins: {\n legend: {\n display: false,\n },\n tooltip: {\n enabled: false,\n position: \"nearest\",\n external: this.externalTooltipHandler,\n },\n datalabels: {\n formatter: this.datalabelsFormatter,\n },\n },\n scales: {\n x: {\n grid: {\n color: \"rgb(0, 0, 0, .20)\",\n },\n ticks: {\n includeBounds: false,\n padding: 20,\n reverse: true,\n autoSkip: false,\n color: \"rgb(0, 0, 0)\",\n font: {\n size: 18,\n weight: \"bold\",\n },\n callback: (index) =>\n ticksCallback(index, this.tracking, this.labels, \"print\"),\n },\n },\n y: {\n suggestedMin: this.min || 0,\n suggestedMax: this.max || null,\n position: \"left\",\n reverse: this.reverse,\n ticks: {\n position: \"left\",\n precision: this.decimalPlaces,\n font: {\n family: \"Inter var\",\n size: 18,\n weight: \"bold\",\n },\n padding: 15,\n color: \"rgb(0, 0, 0)\",\n callback: this.yCallback,\n },\n },\n },\n };\n };\n\n datasetSettings = () => {\n return {\n display: window.gon.showValues == \"true\" ? true : false,\n color: \"rgb(0, 0, 0)\",\n backgroundColor: \"rgb(255, 255, 255, .6)\",\n textStrokeWidth: 0.5,\n clamp: true,\n anchor: \"end\",\n align: \"top\",\n font: {\n size: 20,\n weight: \"bold\",\n },\n offset: 12,\n };\n };\n\n chartTargetConnected(element) {\n const parsedData = this.jsonDataValue;\n\n if (_.isEmpty(parsedData) || _.isEmpty(parsedData.rows)) {\n return;\n }\n\n const ctx = element.getContext(\"2d\");\n this.setCommonVariables(this.jsonDataValue);\n\n this.createChart(ctx, this.rows, element);\n }\n}\n"],"names":["Chart","CategoryScale","LinearScale","PointElement","LineElement","Title","Tooltip","Legend","ChartDataLabels","print_grouped_charts_controller","BaseChartController","__publicField","data","index","ticksCallback","element","parsedData","_","ctx"],"mappings":"onBAgBAA,EAAM,SACJC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,CACF,EASe,MAAKC,UAASC,CAAoB,CAAlC,kCAKbC,EAAA,eAAWC,IACF,CACL,SAAU,CACR,KAAM,CACJ,YAAa,CACd,EACD,MAAO,CACL,OAAQ,CACT,CACF,EACD,KAAM,GACN,OAAQ,CACN,QAAS,EACV,EACD,WAAY,GACZ,oBAAqB,GACrB,QAAS,CACP,OAAQ,CACN,QAAS,EACV,EACD,QAAS,CACP,QAAS,GACT,SAAU,UACV,SAAU,KAAK,sBAChB,EACD,WAAY,CACV,UAAW,KAAK,mBACjB,CACF,EACD,OAAQ,CACN,EAAG,CACD,KAAM,CACJ,MAAO,mBACR,EACD,MAAO,CACL,cAAe,GACf,QAAS,GACT,QAAS,GACT,SAAU,GACV,MAAO,eACP,KAAM,CACJ,KAAM,GACN,OAAQ,MACT,EACD,SAAWC,GACTC,EAAcD,EAAO,KAAK,SAAU,KAAK,OAAQ,OAAO,CAC3D,CACF,EACD,EAAG,CACD,aAAc,KAAK,KAAO,EAC1B,aAAc,KAAK,KAAO,KAC1B,SAAU,OACV,QAAS,KAAK,QACd,MAAO,CACL,SAAU,OACV,UAAW,KAAK,cAChB,KAAM,CACJ,OAAQ,YACR,KAAM,GACN,OAAQ,MACT,EACD,QAAS,GACT,MAAO,eACP,SAAU,KAAK,SAChB,CACF,CACF,CACP,IAGEF,EAAA,uBAAkB,KACT,CACL,QAAS,OAAO,IAAI,YAAc,OAClC,MAAO,eACP,gBAAiB,yBACjB,gBAAiB,GACjB,MAAO,GACP,OAAQ,MACR,MAAO,MACP,KAAM,CACJ,KAAM,GACN,OAAQ,MACT,EACD,OAAQ,EACd,IAxFE,SAAU,CACR,KAAK,QAAQ,MAAW,IACzB,CAyFD,qBAAqBI,EAAS,CAC5B,MAAMC,EAAa,KAAK,cAExB,GAAIC,EAAE,QAAQD,CAAU,GAAKC,EAAE,QAAQD,EAAW,IAAI,EACpD,OAGF,MAAME,EAAMH,EAAQ,WAAW,IAAI,EACnC,KAAK,mBAAmB,KAAK,aAAa,EAE1C,KAAK,YAAYG,EAAK,KAAK,KAAMH,CAAO,CACzC,CACH"}