supercharts-bullet_train 0.1.7 → 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c7cad59827819bd0a67a91b29dc5d6f955a5b11b165c1b302a511290e2debb1b
4
- data.tar.gz: c1d3d14b0a4e8126aeb2434f44d55dd0d2c956e35ad2fcfafb2ad3a2a78548d7
3
+ metadata.gz: 7d0ed49f3fda3d5ca8d3f23fc427ba369afd68514aeeafa0401a443770fbbe09
4
+ data.tar.gz: 43fc5ca38b33d958edeb1b1b583d8569b2a6feb03953a5a8ee6841c3c5f48065
5
5
  SHA512:
6
- metadata.gz: 62a157a3bdd61fa9aa726abf86b7887adff48176e12160fb4406033d88100b07088a5c56f05c311d1168aff7ace84d55a55f73c27e6ff2c365e32f3d7f442292
7
- data.tar.gz: 39c9f574a8cbc22cd60d6581094118fc6a0e48f43723f3d4c722e7a3f40c3cb341b24b25413b6c3414e6967fe714b03f3184f7f5532677bcdf76fbff915f4375
6
+ metadata.gz: c600af705946b06d0b21d3df54b3f681a64d180c9a606a00e33a2e61751bac5078fa2700efcd7fef1902543c367333f6caf4711a6afacd0bf583e7c4cbb3f2b2
7
+ data.tar.gz: 572397ddc9223d19564a5a9ff4856979e8c8906a019859905b2cb160b6f8be9c5875b20317145e1971fb2c9def61f13359b8a36e456e2865803ab43c8e6cb057
@@ -1,2 +1,2 @@
1
- import{SuperchartChartjsController as t}from"@supercharts/stimulus-base";import*as e from"d3";import{Controller as r}from"@hotwired/stimulus";function a(t){const e=(t.match(/^(?:\.\/)?(.+)(?:[_-]controller\..+?)$/)||[])[1];if(e)return e.replace(/_/g,"-").replace(/\//g,"--")}class o extends t{connect(){super.connect()}updateChart(){super.updateChart()}get chartjsData(){if(this.hasChartJsDataTarget)return super.chartjsData();if(!this.hasCsvDataTarget)return console.warn("The chart needs data in a in a csv target or in a chartjsData target (in chart.js JSON)"),[];const t=e.csvParse(this.csvDataTarget.innerHTML.trim(),e.autoType);return{labels:t.map(e=>e[t.columns[0]]),datasets:[{type:this.typeValue,label:this.labelValue,data:t.map(e=>e[t.columns[1]])}]}}get chartjsOptions(){let t={...this.defaultOptions};return this.hasChartjsOptionsTarget&&(t={...t,...JSON.parse(this.chartjsOptionsTarget.innerHTML.trim())}),t}get defaultOptions(){const t=this.cssPropertyValue("--axis-color");return{maintainAspectRatio:!1,animation:{x:{type:"number",easing:"linear",duration:this.delayBetweenPoints,from:NaN,delay:t=>"data"!==t.type||t.xStarted?0:(t.xStarted=!0,t.index*this.delayBetweenPoints)},y:{type:"number",easing:"linear",duration:this.delayBetweenPoints,from:s,delay:t=>"data"!==t.type||t.yStarted?0:(t.yStarted=!0,t.index*this.delayBetweenPoints)}},plugins:{legend:{display:!1}},color:t,fill:!1,lineTension:.3,backgroundColor:"#fff",borderColor:this.cssPropertyValue("--line-color"),borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",pointBorderColor:this.cssPropertyValue("--point-stroke-color"),pointBackgroundColor:this.cssPropertyValue("--point-color"),pointBorderWidth:4,pointHoverRadius:10,pointHoverBackgroundColor:this.cssPropertyValue("--point-color"),pointHoverBorderColor:this.cssPropertyValue("--point-stroke-color-hover"),pointHoverBorderWidth:3,pointRadius:6,pointHitRadius:10,spanGaps:!1,scales:{x:{grid:{color:this.cssPropertyValue("--grid-color"),borderColor:t,tickColor:t},ticks:{color:t,tickColor:t}},y:{grid:{color:this.cssPropertyValue("--grid-color"),borderColor:t,tickColor:t},ticks:{color:t,tickColor:t}}}}}get delayBetweenPoints(){var t,e,r;return this.cssPropertyValue("--animation-duration")/(null==(t=this.chartjsData)||null==(e=t.datasets[0])||null==(r=e.data)?void 0:r.length)}}function s(t){return 0===t.index?t.chart.scales.y.getPixelForValue(100):t.chart.getDatasetMeta(t.datasetIndex).data[t.index-1].getProps(["y"],!0).y}o.targets=["chartjsOptions","chartjsData","chartjsCanvas","csvData"],o.values={type:{type:String,default:"line"},label:{type:String,default:"Value"}},o.defaultCssProperties={"--animation-duration":200,"--axis-color":"#999","--grid-color":"#eee","--line-color":"#aaa","--point-color":"#333","--point-stroke-color":"#fff","--point-stroke-color-hover":"#eee"};class n extends r{updateChart(t){this.chartSourceDataTarget.innerHTML=t.detail.dataElement.innerHTML,t.detail.dataElement.remove(),this.chartTarget.dispatchEvent(new CustomEvent(this.eventNameValue))}}n.targets=["chartSourceData","chart"],n.values={eventName:{type:String,default:"update-chart"}};class i extends r{connect(){this.element.dispatchEvent(new CustomEvent(this.eventNameValue,{detail:{dataElement:this.dataTarget},bubbles:!0,cancelable:!0}))}}i.targets=["data"],i.values={eventName:{type:String,default:"superchart:update-chart"}};const l=[[o,"superchart_controller.js"],[n,"supercharts/filterable_controller.js"],[i,"supercharts/filters_controller.js"]].map(function(t){const e=t[0];return{identifier:a(t[1]),controllerConstructor:e}});export{n as FilterableController,i as FiltersController,o as SuperchartController,l as controllerDefinitions};
1
+ import{SuperchartChartjsController as t,parseContentsAsJSON as e}from"@supercharts/stimulus-base";import*as r from"d3";import{Controller as a}from"@hotwired/stimulus";function o(t){const e=(t.match(/^(?:\.\/)?(.+)(?:[_-]controller\..+?)$/)||[])[1];if(e)return e.replace(/_/g,"-").replace(/\//g,"--")}class s extends t{connect(){super.connect()}updateChart(){super.updateChart()}get chartjsData(){if(this.hasChartJsDataTarget)return super.chartjsData();if(!this.hasCsvDataTarget)return console.warn("The chart needs data in a in a csv target or in a chartjsData target (in chart.js JSON)"),[];const t=r.csvParse(this.csvDataTarget.innerHTML.trim(),r.autoType);return{labels:t.map(e=>e[t.columns[0]]),datasets:[{type:this.typeValue,label:this.labelValue,data:t.map(e=>e[t.columns[1]])}]}}get chartjsOptions(){let t={...this.defaultOptions};return this.hasChartjsOptionsTarget&&(t={...t,...e(this.chartjsOptionsTarget)}),t}get defaultOptions(){const t=this.cssPropertyValue("--axis-color");return{maintainAspectRatio:!1,animation:{x:{type:"number",easing:"linear",duration:this.delayBetweenPoints,from:NaN,delay:t=>"data"!==t.type||t.xStarted?0:(t.xStarted=!0,t.index*this.delayBetweenPoints)},y:{type:"number",easing:"linear",duration:this.delayBetweenPoints,from:n,delay:t=>"data"!==t.type||t.yStarted?0:(t.yStarted=!0,t.index*this.delayBetweenPoints)}},plugins:{legend:{display:!1}},color:t,fill:!1,lineTension:.3,backgroundColor:"#fff",borderColor:this.cssPropertyValue("--line-color"),borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",pointBorderColor:this.cssPropertyValue("--point-stroke-color"),pointBackgroundColor:this.cssPropertyValue("--point-color"),pointBorderWidth:4,pointHoverRadius:10,pointHoverBackgroundColor:this.cssPropertyValue("--point-color"),pointHoverBorderColor:this.cssPropertyValue("--point-stroke-color-hover"),pointHoverBorderWidth:3,pointRadius:6,pointHitRadius:10,spanGaps:!1,scales:{x:{grid:{color:this.cssPropertyValue("--grid-color"),borderColor:t,tickColor:t},ticks:{color:t,tickColor:t}},y:{grid:{color:this.cssPropertyValue("--grid-color"),borderColor:t,tickColor:t},ticks:{color:t,tickColor:t}}}}}get delayBetweenPoints(){var t,e,r;return this.cssPropertyValue("--animation-duration")/(null==(t=this.chartjsData)||null==(e=t.datasets[0])||null==(r=e.data)?void 0:r.length)}}function n(t){return 0===t.index?t.chart.scales.y.getPixelForValue(100):t.chart.getDatasetMeta(t.datasetIndex).data[t.index-1].getProps(["y"],!0).y}s.targets=["chartjsOptions","chartjsData","chartjsCanvas","csvData"],s.values={type:{type:String,default:"line"},label:{type:String,default:"Value"}},s.defaultCssProperties={"--animation-duration":200,"--axis-color":"#999","--grid-color":"#eee","--line-color":"#aaa","--point-color":"#333","--point-stroke-color":"#fff","--point-stroke-color-hover":"#eee"};class i extends a{updateChart(t){this.chartSourceDataTarget.innerHTML=t.detail.dataElement.innerHTML,t.detail.dataElement.remove(),this.chartTarget.dispatchEvent(new CustomEvent(this.eventNameValue))}}i.targets=["chartSourceData","chart"],i.values={eventName:{type:String,default:"update-chart"}};class l extends a{connect(){this.element.dispatchEvent(new CustomEvent(this.eventNameValue,{detail:{dataElement:this.dataTarget},bubbles:!0,cancelable:!0}))}}l.targets=["data"],l.values={eventName:{type:String,default:"superchart:update-chart"}};const c=[[s,"superchart_controller.js"],[i,"supercharts/filterable_controller.js"],[l,"supercharts/filters_controller.js"]].map(function(t){const e=t[0];return{identifier:o(t[1]),controllerConstructor:e}});export{i as FilterableController,l as FiltersController,s as SuperchartController,c as controllerDefinitions};
2
2
  //# sourceMappingURL=supercharts-bullet-train.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"supercharts-bullet-train.esm.js","sources":["../../../node_modules/@hotwired/stimulus-webpack-helpers/dist/stimulus-webpack-helpers.js","../../javascript/controllers/superchart_controller.js","../../javascript/controllers/supercharts/filterable_controller.js","../../javascript/controllers/supercharts/filters_controller.js","../../javascript/controllers/index.js"],"sourcesContent":["/*\nStimulus Webpack Helpers 1.0.0\nCopyright © 2021 Basecamp, LLC\n */\nfunction definitionsFromContext(context) {\n return context.keys()\n .map((key) => definitionForModuleWithContextAndKey(context, key))\n .filter((value) => value);\n}\nfunction definitionForModuleWithContextAndKey(context, key) {\n const identifier = identifierForContextKey(key);\n if (identifier) {\n return definitionForModuleAndIdentifier(context(key), identifier);\n }\n}\nfunction definitionForModuleAndIdentifier(module, identifier) {\n const controllerConstructor = module.default;\n if (typeof controllerConstructor == \"function\") {\n return { identifier, controllerConstructor };\n }\n}\nfunction identifierForContextKey(key) {\n const logicalName = (key.match(/^(?:\\.\\/)?(.+)(?:[_-]controller\\..+?)$/) || [])[1];\n if (logicalName) {\n return logicalName.replace(/_/g, \"-\").replace(/\\//g, \"--\");\n }\n}\n\nexport { definitionForModuleAndIdentifier, definitionForModuleWithContextAndKey, definitionsFromContext, identifierForContextKey };\n","import { SuperchartChartjsController } from '@supercharts/stimulus-base'\nimport * as d3 from \"d3\"\n\nexport default class extends SuperchartChartjsController {\n static targets = [ \"chartjsOptions\", \"chartjsData\", \"chartjsCanvas\", \"csvData\" ]\n static values = {\n type: { \n type: String,\n default: \"line\"\n },\n label: {\n type: String,\n default: \"Value\"\n }\n }\n \n static defaultCssProperties = {\n '--animation-duration': 200, // milliseconds\n '--axis-color': '#999',\n '--grid-color': '#eee',\n '--line-color': '#aaa',\n '--point-color': '#333',\n '--point-stroke-color': '#fff',\n '--point-stroke-color-hover': '#eee',\n }\n \n connect() {\n super.connect()\n }\n \n updateChart() {\n super.updateChart()\n }\n \n get chartjsData() {\n if (this.hasChartJsDataTarget) {\n return super.chartjsData()\n }\n if (!this.hasCsvDataTarget) {\n console.warn(`The chart needs data in a in a csv target or in a chartjsData target (in chart.js JSON)`)\n return []\n }\n \n const csv = d3.csvParse(this.csvDataTarget.innerHTML.trim(), d3.autoType)\n return {\n labels: csv.map(d => d[csv.columns[0]]),\n datasets: [{\n type: this.typeValue,\n label: this.labelValue,\n data: csv.map(d => d[csv.columns[1]])\n }]\n }\n }\n \n get chartjsOptions() {\n let options = {\n ...this.defaultOptions\n }\n \n if (this.hasChartjsOptionsTarget) {\n options = {\n ...options,\n ...JSON.parse(this.chartjsOptionsTarget.innerHTML.trim())\n }\n }\n \n return options\n }\n\n // You can set default options in this getter for all your charts.\n get defaultOptions() {\n const axisColor = this.cssPropertyValue('--axis-color')\n return {\n maintainAspectRatio: false,\n animation: {\n x: {\n type: 'number',\n easing: 'linear',\n duration: this.delayBetweenPoints,\n from: NaN, // the point is initially skipped\n delay: (ctx) => {\n if (ctx.type !== 'data' || ctx.xStarted) {\n return 0;\n }\n ctx.xStarted = true;\n return ctx.index * this.delayBetweenPoints;\n }\n },\n y: {\n type: 'number',\n easing: 'linear',\n duration: this.delayBetweenPoints,\n from: previousY,\n delay: (ctx) => {\n if (ctx.type !== 'data' || ctx.yStarted) {\n return 0;\n }\n ctx.yStarted = true;\n return ctx.index * this.delayBetweenPoints;\n }\n }\n },\n plugins: {\n legend: {\n display: false,\n }\n },\n color: axisColor,\n fill: false,\n lineTension: 0.3,\n backgroundColor: \"#fff\",\n borderColor: this.cssPropertyValue('--line-color'),\n borderCapStyle: \"butt\",\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: \"miter\",\n pointBorderColor: this.cssPropertyValue('--point-stroke-color'),\n pointBackgroundColor: this.cssPropertyValue('--point-color'),\n pointBorderWidth: 4,\n pointHoverRadius: 10,\n pointHoverBackgroundColor: this.cssPropertyValue('--point-color'),\n pointHoverBorderColor: this.cssPropertyValue('--point-stroke-color-hover'),\n pointHoverBorderWidth: 3,\n pointRadius: 6,\n pointHitRadius: 10,\n spanGaps: false,\n scales: {\n x: {\n grid: {\n color: this.cssPropertyValue('--grid-color'),\n borderColor: axisColor,\n tickColor: axisColor,\n },\n ticks: {\n color: axisColor,\n tickColor: axisColor\n }\n },\n y: {\n grid: {\n color: this.cssPropertyValue('--grid-color'),\n borderColor: axisColor,\n tickColor: axisColor,\n },\n ticks: {\n color: axisColor,\n tickColor: axisColor\n }\n }\n }\n }\n }\n \n get delayBetweenPoints() {\n return this.cssPropertyValue('--animation-duration') / this.chartjsData?.datasets[0]?.data?.length\n }\n}\n\nfunction previousY (ctx) {\n return ctx.index === 0 ? ctx.chart.scales.y.getPixelForValue(100) : ctx.chart.getDatasetMeta(ctx.datasetIndex).data[ctx.index - 1].getProps(['y'], true).y;\n}","import { Controller } from '@hotwired/stimulus'\n\nexport default class extends Controller {\n static targets = [ \"chartSourceData\", \"chart\" ]\n static values = {\n eventName: {\n type: String,\n default: \"update-chart\"\n }\n }\n \n updateChart(event) {\n this.chartSourceDataTarget.innerHTML = event.detail.dataElement.innerHTML\n event.detail.dataElement.remove()\n this.chartTarget.dispatchEvent(new CustomEvent(this.eventNameValue))\n }\n}","import { Controller } from '@hotwired/stimulus'\n\nexport default class extends Controller {\n static targets = [ \"data\" ]\n static values = {\n eventName: {\n type: String,\n default: \"superchart:update-chart\"\n }\n }\n \n connect() {\n this.element.dispatchEvent(\n new CustomEvent(this.eventNameValue, {\n detail: { dataElement: this.dataTarget },\n bubbles: true,\n cancelable: true\n })\n )\n }\n}","import { identifierForContextKey } from \"@hotwired/stimulus-webpack-helpers\"\n\nimport SuperchartController from \"./superchart_controller\"\nimport FilterableController from \"./supercharts/filterable_controller\"\nimport FiltersController from \"./supercharts/filters_controller\"\n\nexport const controllerDefinitions = [\n [SuperchartController, \"superchart_controller.js\"],\n [FilterableController, \"supercharts/filterable_controller.js\"],\n [FiltersController, \"supercharts/filters_controller.js\"],\n].map(function(d) {\n const key = d[1]\n const controller = d[0]\n return {\n identifier: identifierForContextKey(key),\n controllerConstructor: controller\n }\n})\n\nexport {\n SuperchartController,\n FilterableController,\n FiltersController,\n}\n"],"names":["identifierForContextKey","key","logicalName","match","replace","SuperchartChartjsController","connect","super","updateChart","chartjsData","this","hasChartJsDataTarget","hasCsvDataTarget","console","warn","csv","d3","csvParse","csvDataTarget","innerHTML","trim","autoType","labels","map","d","columns","datasets","type","typeValue","label","labelValue","data","options","defaultOptions","hasChartjsOptionsTarget","JSON","parse","chartjsOptionsTarget","cssPropertyValue","maintainAspectRatio","animation","x","easing","duration","delayBetweenPoints","from","NaN","delay","ctx","xStarted","index","y","previousY","yStarted","plugins","legend","display","color","axisColor","fill","lineTension","backgroundColor","borderColor","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","pointBorderColor","pointBackgroundColor","pointBorderWidth","pointHoverRadius","pointHoverBackgroundColor","pointHoverBorderColor","pointHoverBorderWidth","pointRadius","pointHitRadius","spanGaps","scales","grid","tickColor","ticks","_this$chartjsData","_this$chartjsData$dat","_this$chartjsData$dat2","length","chart","getPixelForValue","getDatasetMeta","datasetIndex","getProps","targets","values","String","default","defaultCssProperties","Controller","event","chartSourceDataTarget","detail","dataElement","remove","chartTarget","dispatchEvent","CustomEvent","eventNameValue","eventName","_class","element","dataTarget","bubbles","cancelable","controllerDefinitions","SuperchartController","FilterableController","FiltersController","controller","identifier","controllerConstructor"],"mappings":"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"}
1
+ {"version":3,"file":"supercharts-bullet-train.esm.js","sources":["../../../node_modules/@hotwired/stimulus-webpack-helpers/dist/stimulus-webpack-helpers.js","../../javascript/controllers/superchart_controller.js","../../javascript/controllers/supercharts/filterable_controller.js","../../javascript/controllers/supercharts/filters_controller.js","../../javascript/controllers/index.js"],"sourcesContent":["/*\nStimulus Webpack Helpers 1.0.0\nCopyright © 2021 Basecamp, LLC\n */\nfunction definitionsFromContext(context) {\n return context.keys()\n .map((key) => definitionForModuleWithContextAndKey(context, key))\n .filter((value) => value);\n}\nfunction definitionForModuleWithContextAndKey(context, key) {\n const identifier = identifierForContextKey(key);\n if (identifier) {\n return definitionForModuleAndIdentifier(context(key), identifier);\n }\n}\nfunction definitionForModuleAndIdentifier(module, identifier) {\n const controllerConstructor = module.default;\n if (typeof controllerConstructor == \"function\") {\n return { identifier, controllerConstructor };\n }\n}\nfunction identifierForContextKey(key) {\n const logicalName = (key.match(/^(?:\\.\\/)?(.+)(?:[_-]controller\\..+?)$/) || [])[1];\n if (logicalName) {\n return logicalName.replace(/_/g, \"-\").replace(/\\//g, \"--\");\n }\n}\n\nexport { definitionForModuleAndIdentifier, definitionForModuleWithContextAndKey, definitionsFromContext, identifierForContextKey };\n","import { SuperchartChartjsController, parseContentsAsJSON } from '@supercharts/stimulus-base'\nimport * as d3 from \"d3\"\n\nexport default class extends SuperchartChartjsController {\n static targets = [ \"chartjsOptions\", \"chartjsData\", \"chartjsCanvas\", \"csvData\" ]\n static values = {\n type: { \n type: String,\n default: \"line\"\n },\n label: {\n type: String,\n default: \"Value\"\n }\n }\n \n static defaultCssProperties = {\n '--animation-duration': 200, // milliseconds\n '--axis-color': '#999',\n '--grid-color': '#eee',\n '--line-color': '#aaa',\n '--point-color': '#333',\n '--point-stroke-color': '#fff',\n '--point-stroke-color-hover': '#eee',\n }\n \n connect() {\n super.connect()\n }\n \n updateChart() {\n super.updateChart()\n }\n \n get chartjsData() {\n if (this.hasChartJsDataTarget) {\n return super.chartjsData()\n }\n if (!this.hasCsvDataTarget) {\n console.warn(`The chart needs data in a in a csv target or in a chartjsData target (in chart.js JSON)`)\n return []\n }\n \n const csv = d3.csvParse(this.csvDataTarget.innerHTML.trim(), d3.autoType)\n return {\n labels: csv.map(d => d[csv.columns[0]]),\n datasets: [{\n type: this.typeValue,\n label: this.labelValue,\n data: csv.map(d => d[csv.columns[1]])\n }]\n }\n }\n \n get chartjsOptions() {\n let options = {\n ...this.defaultOptions\n }\n \n if (this.hasChartjsOptionsTarget) {\n options = {\n ...options,\n ...parseContentsAsJSON(this.chartjsOptionsTarget)\n }\n }\n \n return options\n }\n\n // You can set default options in this getter for all your charts.\n get defaultOptions() {\n const axisColor = this.cssPropertyValue('--axis-color')\n return {\n maintainAspectRatio: false,\n animation: {\n x: {\n type: 'number',\n easing: 'linear',\n duration: this.delayBetweenPoints,\n from: NaN, // the point is initially skipped\n delay: (ctx) => {\n if (ctx.type !== 'data' || ctx.xStarted) {\n return 0;\n }\n ctx.xStarted = true;\n return ctx.index * this.delayBetweenPoints;\n }\n },\n y: {\n type: 'number',\n easing: 'linear',\n duration: this.delayBetweenPoints,\n from: previousY,\n delay: (ctx) => {\n if (ctx.type !== 'data' || ctx.yStarted) {\n return 0;\n }\n ctx.yStarted = true;\n return ctx.index * this.delayBetweenPoints;\n }\n }\n },\n plugins: {\n legend: {\n display: false,\n }\n },\n color: axisColor,\n fill: false,\n lineTension: 0.3,\n backgroundColor: \"#fff\",\n borderColor: this.cssPropertyValue('--line-color'),\n borderCapStyle: \"butt\",\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: \"miter\",\n pointBorderColor: this.cssPropertyValue('--point-stroke-color'),\n pointBackgroundColor: this.cssPropertyValue('--point-color'),\n pointBorderWidth: 4,\n pointHoverRadius: 10,\n pointHoverBackgroundColor: this.cssPropertyValue('--point-color'),\n pointHoverBorderColor: this.cssPropertyValue('--point-stroke-color-hover'),\n pointHoverBorderWidth: 3,\n pointRadius: 6,\n pointHitRadius: 10,\n spanGaps: false,\n scales: {\n x: {\n grid: {\n color: this.cssPropertyValue('--grid-color'),\n borderColor: axisColor,\n tickColor: axisColor,\n },\n ticks: {\n color: axisColor,\n tickColor: axisColor\n }\n },\n y: {\n grid: {\n color: this.cssPropertyValue('--grid-color'),\n borderColor: axisColor,\n tickColor: axisColor,\n },\n ticks: {\n color: axisColor,\n tickColor: axisColor\n }\n }\n }\n }\n }\n \n get delayBetweenPoints() {\n return this.cssPropertyValue('--animation-duration') / this.chartjsData?.datasets[0]?.data?.length\n }\n}\n\nfunction previousY (ctx) {\n return ctx.index === 0 ? ctx.chart.scales.y.getPixelForValue(100) : ctx.chart.getDatasetMeta(ctx.datasetIndex).data[ctx.index - 1].getProps(['y'], true).y;\n}","import { Controller } from '@hotwired/stimulus'\n\nexport default class extends Controller {\n static targets = [ \"chartSourceData\", \"chart\" ]\n static values = {\n eventName: {\n type: String,\n default: \"update-chart\"\n }\n }\n \n updateChart(event) {\n this.chartSourceDataTarget.innerHTML = event.detail.dataElement.innerHTML\n event.detail.dataElement.remove()\n this.chartTarget.dispatchEvent(new CustomEvent(this.eventNameValue))\n }\n}","import { Controller } from '@hotwired/stimulus'\n\nexport default class extends Controller {\n static targets = [ \"data\" ]\n static values = {\n eventName: {\n type: String,\n default: \"superchart:update-chart\"\n }\n }\n \n connect() {\n this.element.dispatchEvent(\n new CustomEvent(this.eventNameValue, {\n detail: { dataElement: this.dataTarget },\n bubbles: true,\n cancelable: true\n })\n )\n }\n}","import { identifierForContextKey } from \"@hotwired/stimulus-webpack-helpers\"\n\nimport SuperchartController from \"./superchart_controller\"\nimport FilterableController from \"./supercharts/filterable_controller\"\nimport FiltersController from \"./supercharts/filters_controller\"\n\nexport const controllerDefinitions = [\n [SuperchartController, \"superchart_controller.js\"],\n [FilterableController, \"supercharts/filterable_controller.js\"],\n [FiltersController, \"supercharts/filters_controller.js\"],\n].map(function(d) {\n const key = d[1]\n const controller = d[0]\n return {\n identifier: identifierForContextKey(key),\n controllerConstructor: controller\n }\n})\n\nexport {\n SuperchartController,\n FilterableController,\n FiltersController,\n}\n"],"names":["identifierForContextKey","key","logicalName","match","replace","SuperchartChartjsController","connect","super","updateChart","chartjsData","this","hasChartJsDataTarget","hasCsvDataTarget","console","warn","d3","csvParse","csvDataTarget","innerHTML","trim","autoType","labels","csv","map","d","columns","datasets","type","typeValue","label","labelValue","data","chartjsOptions","options","defaultOptions","hasChartjsOptionsTarget","parseContentsAsJSON","chartjsOptionsTarget","axisColor","cssPropertyValue","maintainAspectRatio","animation","x","easing","duration","delayBetweenPoints","from","NaN","delay","ctx","xStarted","index","y","previousY","yStarted","plugins","legend","display","color","fill","lineTension","backgroundColor","borderColor","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","pointBorderColor","pointBackgroundColor","pointBorderWidth","pointHoverRadius","pointHoverBackgroundColor","pointHoverBorderColor","pointHoverBorderWidth","pointRadius","pointHitRadius","spanGaps","scales","grid","tickColor","ticks","_this$chartjsData","_this$chartjsData$dat","_this$chartjsData$dat2","length","chart","getPixelForValue","getDatasetMeta","datasetIndex","getProps","targets","values","String","default","defaultCssProperties","Controller","event","chartSourceDataTarget","detail","dataElement","remove","chartTarget","dispatchEvent","CustomEvent","eventNameValue","eventName","_class","element","dataTarget","bubbles","cancelable","controllerDefinitions","SuperchartController","FilterableController","FiltersController","controller","identifier","controllerConstructor"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- var t=require("@supercharts/stimulus-base"),e=require("d3"),r=require("@hotwired/stimulus");function a(t){if(t&&t.__esModule)return t;var e=Object.create(null);return t&&Object.keys(t).forEach(function(r){if("default"!==r){var a=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,a.get?a:{enumerable:!0,get:function(){return t[r]}})}}),e.default=t,e}var o=/*#__PURE__*/a(e);function s(t){const e=(t.match(/^(?:\.\/)?(.+)(?:[_-]controller\..+?)$/)||[])[1];if(e)return e.replace(/_/g,"-").replace(/\//g,"--")}class n extends t.SuperchartChartjsController{connect(){super.connect()}updateChart(){super.updateChart()}get chartjsData(){if(this.hasChartJsDataTarget)return super.chartjsData();if(!this.hasCsvDataTarget)return console.warn("The chart needs data in a in a csv target or in a chartjsData target (in chart.js JSON)"),[];const t=o.csvParse(this.csvDataTarget.innerHTML.trim(),o.autoType);return{labels:t.map(e=>e[t.columns[0]]),datasets:[{type:this.typeValue,label:this.labelValue,data:t.map(e=>e[t.columns[1]])}]}}get chartjsOptions(){let t={...this.defaultOptions};return this.hasChartjsOptionsTarget&&(t={...t,...JSON.parse(this.chartjsOptionsTarget.innerHTML.trim())}),t}get defaultOptions(){const t=this.cssPropertyValue("--axis-color");return{maintainAspectRatio:!1,animation:{x:{type:"number",easing:"linear",duration:this.delayBetweenPoints,from:NaN,delay:t=>"data"!==t.type||t.xStarted?0:(t.xStarted=!0,t.index*this.delayBetweenPoints)},y:{type:"number",easing:"linear",duration:this.delayBetweenPoints,from:i,delay:t=>"data"!==t.type||t.yStarted?0:(t.yStarted=!0,t.index*this.delayBetweenPoints)}},plugins:{legend:{display:!1}},color:t,fill:!1,lineTension:.3,backgroundColor:"#fff",borderColor:this.cssPropertyValue("--line-color"),borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",pointBorderColor:this.cssPropertyValue("--point-stroke-color"),pointBackgroundColor:this.cssPropertyValue("--point-color"),pointBorderWidth:4,pointHoverRadius:10,pointHoverBackgroundColor:this.cssPropertyValue("--point-color"),pointHoverBorderColor:this.cssPropertyValue("--point-stroke-color-hover"),pointHoverBorderWidth:3,pointRadius:6,pointHitRadius:10,spanGaps:!1,scales:{x:{grid:{color:this.cssPropertyValue("--grid-color"),borderColor:t,tickColor:t},ticks:{color:t,tickColor:t}},y:{grid:{color:this.cssPropertyValue("--grid-color"),borderColor:t,tickColor:t},ticks:{color:t,tickColor:t}}}}}get delayBetweenPoints(){var t,e,r;return this.cssPropertyValue("--animation-duration")/(null==(t=this.chartjsData)||null==(e=t.datasets[0])||null==(r=e.data)?void 0:r.length)}}function i(t){return 0===t.index?t.chart.scales.y.getPixelForValue(100):t.chart.getDatasetMeta(t.datasetIndex).data[t.index-1].getProps(["y"],!0).y}n.targets=["chartjsOptions","chartjsData","chartjsCanvas","csvData"],n.values={type:{type:String,default:"line"},label:{type:String,default:"Value"}},n.defaultCssProperties={"--animation-duration":200,"--axis-color":"#999","--grid-color":"#eee","--line-color":"#aaa","--point-color":"#333","--point-stroke-color":"#fff","--point-stroke-color-hover":"#eee"};class l extends r.Controller{updateChart(t){this.chartSourceDataTarget.innerHTML=t.detail.dataElement.innerHTML,t.detail.dataElement.remove(),this.chartTarget.dispatchEvent(new CustomEvent(this.eventNameValue))}}l.targets=["chartSourceData","chart"],l.values={eventName:{type:String,default:"update-chart"}};class c extends r.Controller{connect(){this.element.dispatchEvent(new CustomEvent(this.eventNameValue,{detail:{dataElement:this.dataTarget},bubbles:!0,cancelable:!0}))}}c.targets=["data"],c.values={eventName:{type:String,default:"superchart:update-chart"}};const u=[[n,"superchart_controller.js"],[l,"supercharts/filterable_controller.js"],[c,"supercharts/filters_controller.js"]].map(function(t){const e=t[0];return{identifier:s(t[1]),controllerConstructor:e}});exports.FilterableController=l,exports.FiltersController=c,exports.SuperchartController=n,exports.controllerDefinitions=u;
1
+ var t=require("@supercharts/stimulus-base"),e=require("d3"),r=require("@hotwired/stimulus");function a(t){if(t&&t.__esModule)return t;var e=Object.create(null);return t&&Object.keys(t).forEach(function(r){if("default"!==r){var a=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,a.get?a:{enumerable:!0,get:function(){return t[r]}})}}),e.default=t,e}var o=/*#__PURE__*/a(e);function s(t){const e=(t.match(/^(?:\.\/)?(.+)(?:[_-]controller\..+?)$/)||[])[1];if(e)return e.replace(/_/g,"-").replace(/\//g,"--")}class n extends t.SuperchartChartjsController{connect(){super.connect()}updateChart(){super.updateChart()}get chartjsData(){if(this.hasChartJsDataTarget)return super.chartjsData();if(!this.hasCsvDataTarget)return console.warn("The chart needs data in a in a csv target or in a chartjsData target (in chart.js JSON)"),[];const t=o.csvParse(this.csvDataTarget.innerHTML.trim(),o.autoType);return{labels:t.map(e=>e[t.columns[0]]),datasets:[{type:this.typeValue,label:this.labelValue,data:t.map(e=>e[t.columns[1]])}]}}get chartjsOptions(){let e={...this.defaultOptions};return this.hasChartjsOptionsTarget&&(e={...e,...t.parseContentsAsJSON(this.chartjsOptionsTarget)}),e}get defaultOptions(){const t=this.cssPropertyValue("--axis-color");return{maintainAspectRatio:!1,animation:{x:{type:"number",easing:"linear",duration:this.delayBetweenPoints,from:NaN,delay:t=>"data"!==t.type||t.xStarted?0:(t.xStarted=!0,t.index*this.delayBetweenPoints)},y:{type:"number",easing:"linear",duration:this.delayBetweenPoints,from:i,delay:t=>"data"!==t.type||t.yStarted?0:(t.yStarted=!0,t.index*this.delayBetweenPoints)}},plugins:{legend:{display:!1}},color:t,fill:!1,lineTension:.3,backgroundColor:"#fff",borderColor:this.cssPropertyValue("--line-color"),borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",pointBorderColor:this.cssPropertyValue("--point-stroke-color"),pointBackgroundColor:this.cssPropertyValue("--point-color"),pointBorderWidth:4,pointHoverRadius:10,pointHoverBackgroundColor:this.cssPropertyValue("--point-color"),pointHoverBorderColor:this.cssPropertyValue("--point-stroke-color-hover"),pointHoverBorderWidth:3,pointRadius:6,pointHitRadius:10,spanGaps:!1,scales:{x:{grid:{color:this.cssPropertyValue("--grid-color"),borderColor:t,tickColor:t},ticks:{color:t,tickColor:t}},y:{grid:{color:this.cssPropertyValue("--grid-color"),borderColor:t,tickColor:t},ticks:{color:t,tickColor:t}}}}}get delayBetweenPoints(){var t,e,r;return this.cssPropertyValue("--animation-duration")/(null==(t=this.chartjsData)||null==(e=t.datasets[0])||null==(r=e.data)?void 0:r.length)}}function i(t){return 0===t.index?t.chart.scales.y.getPixelForValue(100):t.chart.getDatasetMeta(t.datasetIndex).data[t.index-1].getProps(["y"],!0).y}n.targets=["chartjsOptions","chartjsData","chartjsCanvas","csvData"],n.values={type:{type:String,default:"line"},label:{type:String,default:"Value"}},n.defaultCssProperties={"--animation-duration":200,"--axis-color":"#999","--grid-color":"#eee","--line-color":"#aaa","--point-color":"#333","--point-stroke-color":"#fff","--point-stroke-color-hover":"#eee"};class l extends r.Controller{updateChart(t){this.chartSourceDataTarget.innerHTML=t.detail.dataElement.innerHTML,t.detail.dataElement.remove(),this.chartTarget.dispatchEvent(new CustomEvent(this.eventNameValue))}}l.targets=["chartSourceData","chart"],l.values={eventName:{type:String,default:"update-chart"}};class c extends r.Controller{connect(){this.element.dispatchEvent(new CustomEvent(this.eventNameValue,{detail:{dataElement:this.dataTarget},bubbles:!0,cancelable:!0}))}}c.targets=["data"],c.values={eventName:{type:String,default:"superchart:update-chart"}};const u=[[n,"superchart_controller.js"],[l,"supercharts/filterable_controller.js"],[c,"supercharts/filters_controller.js"]].map(function(t){const e=t[0];return{identifier:s(t[1]),controllerConstructor:e}});exports.FilterableController=l,exports.FiltersController=c,exports.SuperchartController=n,exports.controllerDefinitions=u;
2
2
  //# sourceMappingURL=supercharts-bullet-train.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"supercharts-bullet-train.js","sources":["../../../node_modules/@hotwired/stimulus-webpack-helpers/dist/stimulus-webpack-helpers.js","../../javascript/controllers/superchart_controller.js","../../javascript/controllers/supercharts/filterable_controller.js","../../javascript/controllers/supercharts/filters_controller.js","../../javascript/controllers/index.js"],"sourcesContent":["/*\nStimulus Webpack Helpers 1.0.0\nCopyright © 2021 Basecamp, LLC\n */\nfunction definitionsFromContext(context) {\n return context.keys()\n .map((key) => definitionForModuleWithContextAndKey(context, key))\n .filter((value) => value);\n}\nfunction definitionForModuleWithContextAndKey(context, key) {\n const identifier = identifierForContextKey(key);\n if (identifier) {\n return definitionForModuleAndIdentifier(context(key), identifier);\n }\n}\nfunction definitionForModuleAndIdentifier(module, identifier) {\n const controllerConstructor = module.default;\n if (typeof controllerConstructor == \"function\") {\n return { identifier, controllerConstructor };\n }\n}\nfunction identifierForContextKey(key) {\n const logicalName = (key.match(/^(?:\\.\\/)?(.+)(?:[_-]controller\\..+?)$/) || [])[1];\n if (logicalName) {\n return logicalName.replace(/_/g, \"-\").replace(/\\//g, \"--\");\n }\n}\n\nexport { definitionForModuleAndIdentifier, definitionForModuleWithContextAndKey, definitionsFromContext, identifierForContextKey };\n","import { SuperchartChartjsController } from '@supercharts/stimulus-base'\nimport * as d3 from \"d3\"\n\nexport default class extends SuperchartChartjsController {\n static targets = [ \"chartjsOptions\", \"chartjsData\", \"chartjsCanvas\", \"csvData\" ]\n static values = {\n type: { \n type: String,\n default: \"line\"\n },\n label: {\n type: String,\n default: \"Value\"\n }\n }\n \n static defaultCssProperties = {\n '--animation-duration': 200, // milliseconds\n '--axis-color': '#999',\n '--grid-color': '#eee',\n '--line-color': '#aaa',\n '--point-color': '#333',\n '--point-stroke-color': '#fff',\n '--point-stroke-color-hover': '#eee',\n }\n \n connect() {\n super.connect()\n }\n \n updateChart() {\n super.updateChart()\n }\n \n get chartjsData() {\n if (this.hasChartJsDataTarget) {\n return super.chartjsData()\n }\n if (!this.hasCsvDataTarget) {\n console.warn(`The chart needs data in a in a csv target or in a chartjsData target (in chart.js JSON)`)\n return []\n }\n \n const csv = d3.csvParse(this.csvDataTarget.innerHTML.trim(), d3.autoType)\n return {\n labels: csv.map(d => d[csv.columns[0]]),\n datasets: [{\n type: this.typeValue,\n label: this.labelValue,\n data: csv.map(d => d[csv.columns[1]])\n }]\n }\n }\n \n get chartjsOptions() {\n let options = {\n ...this.defaultOptions\n }\n \n if (this.hasChartjsOptionsTarget) {\n options = {\n ...options,\n ...JSON.parse(this.chartjsOptionsTarget.innerHTML.trim())\n }\n }\n \n return options\n }\n\n // You can set default options in this getter for all your charts.\n get defaultOptions() {\n const axisColor = this.cssPropertyValue('--axis-color')\n return {\n maintainAspectRatio: false,\n animation: {\n x: {\n type: 'number',\n easing: 'linear',\n duration: this.delayBetweenPoints,\n from: NaN, // the point is initially skipped\n delay: (ctx) => {\n if (ctx.type !== 'data' || ctx.xStarted) {\n return 0;\n }\n ctx.xStarted = true;\n return ctx.index * this.delayBetweenPoints;\n }\n },\n y: {\n type: 'number',\n easing: 'linear',\n duration: this.delayBetweenPoints,\n from: previousY,\n delay: (ctx) => {\n if (ctx.type !== 'data' || ctx.yStarted) {\n return 0;\n }\n ctx.yStarted = true;\n return ctx.index * this.delayBetweenPoints;\n }\n }\n },\n plugins: {\n legend: {\n display: false,\n }\n },\n color: axisColor,\n fill: false,\n lineTension: 0.3,\n backgroundColor: \"#fff\",\n borderColor: this.cssPropertyValue('--line-color'),\n borderCapStyle: \"butt\",\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: \"miter\",\n pointBorderColor: this.cssPropertyValue('--point-stroke-color'),\n pointBackgroundColor: this.cssPropertyValue('--point-color'),\n pointBorderWidth: 4,\n pointHoverRadius: 10,\n pointHoverBackgroundColor: this.cssPropertyValue('--point-color'),\n pointHoverBorderColor: this.cssPropertyValue('--point-stroke-color-hover'),\n pointHoverBorderWidth: 3,\n pointRadius: 6,\n pointHitRadius: 10,\n spanGaps: false,\n scales: {\n x: {\n grid: {\n color: this.cssPropertyValue('--grid-color'),\n borderColor: axisColor,\n tickColor: axisColor,\n },\n ticks: {\n color: axisColor,\n tickColor: axisColor\n }\n },\n y: {\n grid: {\n color: this.cssPropertyValue('--grid-color'),\n borderColor: axisColor,\n tickColor: axisColor,\n },\n ticks: {\n color: axisColor,\n tickColor: axisColor\n }\n }\n }\n }\n }\n \n get delayBetweenPoints() {\n return this.cssPropertyValue('--animation-duration') / this.chartjsData?.datasets[0]?.data?.length\n }\n}\n\nfunction previousY (ctx) {\n return ctx.index === 0 ? ctx.chart.scales.y.getPixelForValue(100) : ctx.chart.getDatasetMeta(ctx.datasetIndex).data[ctx.index - 1].getProps(['y'], true).y;\n}","import { Controller } from '@hotwired/stimulus'\n\nexport default class extends Controller {\n static targets = [ \"chartSourceData\", \"chart\" ]\n static values = {\n eventName: {\n type: String,\n default: \"update-chart\"\n }\n }\n \n updateChart(event) {\n this.chartSourceDataTarget.innerHTML = event.detail.dataElement.innerHTML\n event.detail.dataElement.remove()\n this.chartTarget.dispatchEvent(new CustomEvent(this.eventNameValue))\n }\n}","import { Controller } from '@hotwired/stimulus'\n\nexport default class extends Controller {\n static targets = [ \"data\" ]\n static values = {\n eventName: {\n type: String,\n default: \"superchart:update-chart\"\n }\n }\n \n connect() {\n this.element.dispatchEvent(\n new CustomEvent(this.eventNameValue, {\n detail: { dataElement: this.dataTarget },\n bubbles: true,\n cancelable: true\n })\n )\n }\n}","import { identifierForContextKey } from \"@hotwired/stimulus-webpack-helpers\"\n\nimport SuperchartController from \"./superchart_controller\"\nimport FilterableController from \"./supercharts/filterable_controller\"\nimport FiltersController from \"./supercharts/filters_controller\"\n\nexport const controllerDefinitions = [\n [SuperchartController, \"superchart_controller.js\"],\n [FilterableController, \"supercharts/filterable_controller.js\"],\n [FiltersController, \"supercharts/filters_controller.js\"],\n].map(function(d) {\n const key = d[1]\n const controller = d[0]\n return {\n identifier: identifierForContextKey(key),\n controllerConstructor: controller\n }\n})\n\nexport {\n SuperchartController,\n FilterableController,\n FiltersController,\n}\n"],"names":["identifierForContextKey","key","logicalName","match","replace","SuperchartChartjsController","connect","super","updateChart","chartjsData","this","hasChartJsDataTarget","hasCsvDataTarget","console","warn","csv","d3","csvParse","csvDataTarget","innerHTML","trim","autoType","labels","map","d","columns","datasets","type","typeValue","label","labelValue","data","options","defaultOptions","hasChartjsOptionsTarget","JSON","parse","chartjsOptionsTarget","cssPropertyValue","maintainAspectRatio","animation","x","easing","duration","delayBetweenPoints","from","NaN","delay","ctx","xStarted","index","y","previousY","yStarted","plugins","legend","display","color","axisColor","fill","lineTension","backgroundColor","borderColor","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","pointBorderColor","pointBackgroundColor","pointBorderWidth","pointHoverRadius","pointHoverBackgroundColor","pointHoverBorderColor","pointHoverBorderWidth","pointRadius","pointHitRadius","spanGaps","scales","grid","tickColor","ticks","_this$chartjsData","_this$chartjsData$dat","_this$chartjsData$dat2","length","chart","getPixelForValue","getDatasetMeta","datasetIndex","getProps","targets","values","String","default","defaultCssProperties","Controller","event","chartSourceDataTarget","detail","dataElement","remove","chartTarget","dispatchEvent","CustomEvent","eventNameValue","eventName","_class","element","dataTarget","bubbles","cancelable","controllerDefinitions","SuperchartController","FilterableController","FiltersController","controller","identifier","controllerConstructor"],"mappings":"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"}
1
+ {"version":3,"file":"supercharts-bullet-train.js","sources":["../../../node_modules/@hotwired/stimulus-webpack-helpers/dist/stimulus-webpack-helpers.js","../../javascript/controllers/superchart_controller.js","../../javascript/controllers/supercharts/filterable_controller.js","../../javascript/controllers/supercharts/filters_controller.js","../../javascript/controllers/index.js"],"sourcesContent":["/*\nStimulus Webpack Helpers 1.0.0\nCopyright © 2021 Basecamp, LLC\n */\nfunction definitionsFromContext(context) {\n return context.keys()\n .map((key) => definitionForModuleWithContextAndKey(context, key))\n .filter((value) => value);\n}\nfunction definitionForModuleWithContextAndKey(context, key) {\n const identifier = identifierForContextKey(key);\n if (identifier) {\n return definitionForModuleAndIdentifier(context(key), identifier);\n }\n}\nfunction definitionForModuleAndIdentifier(module, identifier) {\n const controllerConstructor = module.default;\n if (typeof controllerConstructor == \"function\") {\n return { identifier, controllerConstructor };\n }\n}\nfunction identifierForContextKey(key) {\n const logicalName = (key.match(/^(?:\\.\\/)?(.+)(?:[_-]controller\\..+?)$/) || [])[1];\n if (logicalName) {\n return logicalName.replace(/_/g, \"-\").replace(/\\//g, \"--\");\n }\n}\n\nexport { definitionForModuleAndIdentifier, definitionForModuleWithContextAndKey, definitionsFromContext, identifierForContextKey };\n","import { SuperchartChartjsController, parseContentsAsJSON } from '@supercharts/stimulus-base'\nimport * as d3 from \"d3\"\n\nexport default class extends SuperchartChartjsController {\n static targets = [ \"chartjsOptions\", \"chartjsData\", \"chartjsCanvas\", \"csvData\" ]\n static values = {\n type: { \n type: String,\n default: \"line\"\n },\n label: {\n type: String,\n default: \"Value\"\n }\n }\n \n static defaultCssProperties = {\n '--animation-duration': 200, // milliseconds\n '--axis-color': '#999',\n '--grid-color': '#eee',\n '--line-color': '#aaa',\n '--point-color': '#333',\n '--point-stroke-color': '#fff',\n '--point-stroke-color-hover': '#eee',\n }\n \n connect() {\n super.connect()\n }\n \n updateChart() {\n super.updateChart()\n }\n \n get chartjsData() {\n if (this.hasChartJsDataTarget) {\n return super.chartjsData()\n }\n if (!this.hasCsvDataTarget) {\n console.warn(`The chart needs data in a in a csv target or in a chartjsData target (in chart.js JSON)`)\n return []\n }\n \n const csv = d3.csvParse(this.csvDataTarget.innerHTML.trim(), d3.autoType)\n return {\n labels: csv.map(d => d[csv.columns[0]]),\n datasets: [{\n type: this.typeValue,\n label: this.labelValue,\n data: csv.map(d => d[csv.columns[1]])\n }]\n }\n }\n \n get chartjsOptions() {\n let options = {\n ...this.defaultOptions\n }\n \n if (this.hasChartjsOptionsTarget) {\n options = {\n ...options,\n ...parseContentsAsJSON(this.chartjsOptionsTarget)\n }\n }\n \n return options\n }\n\n // You can set default options in this getter for all your charts.\n get defaultOptions() {\n const axisColor = this.cssPropertyValue('--axis-color')\n return {\n maintainAspectRatio: false,\n animation: {\n x: {\n type: 'number',\n easing: 'linear',\n duration: this.delayBetweenPoints,\n from: NaN, // the point is initially skipped\n delay: (ctx) => {\n if (ctx.type !== 'data' || ctx.xStarted) {\n return 0;\n }\n ctx.xStarted = true;\n return ctx.index * this.delayBetweenPoints;\n }\n },\n y: {\n type: 'number',\n easing: 'linear',\n duration: this.delayBetweenPoints,\n from: previousY,\n delay: (ctx) => {\n if (ctx.type !== 'data' || ctx.yStarted) {\n return 0;\n }\n ctx.yStarted = true;\n return ctx.index * this.delayBetweenPoints;\n }\n }\n },\n plugins: {\n legend: {\n display: false,\n }\n },\n color: axisColor,\n fill: false,\n lineTension: 0.3,\n backgroundColor: \"#fff\",\n borderColor: this.cssPropertyValue('--line-color'),\n borderCapStyle: \"butt\",\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: \"miter\",\n pointBorderColor: this.cssPropertyValue('--point-stroke-color'),\n pointBackgroundColor: this.cssPropertyValue('--point-color'),\n pointBorderWidth: 4,\n pointHoverRadius: 10,\n pointHoverBackgroundColor: this.cssPropertyValue('--point-color'),\n pointHoverBorderColor: this.cssPropertyValue('--point-stroke-color-hover'),\n pointHoverBorderWidth: 3,\n pointRadius: 6,\n pointHitRadius: 10,\n spanGaps: false,\n scales: {\n x: {\n grid: {\n color: this.cssPropertyValue('--grid-color'),\n borderColor: axisColor,\n tickColor: axisColor,\n },\n ticks: {\n color: axisColor,\n tickColor: axisColor\n }\n },\n y: {\n grid: {\n color: this.cssPropertyValue('--grid-color'),\n borderColor: axisColor,\n tickColor: axisColor,\n },\n ticks: {\n color: axisColor,\n tickColor: axisColor\n }\n }\n }\n }\n }\n \n get delayBetweenPoints() {\n return this.cssPropertyValue('--animation-duration') / this.chartjsData?.datasets[0]?.data?.length\n }\n}\n\nfunction previousY (ctx) {\n return ctx.index === 0 ? ctx.chart.scales.y.getPixelForValue(100) : ctx.chart.getDatasetMeta(ctx.datasetIndex).data[ctx.index - 1].getProps(['y'], true).y;\n}","import { Controller } from '@hotwired/stimulus'\n\nexport default class extends Controller {\n static targets = [ \"chartSourceData\", \"chart\" ]\n static values = {\n eventName: {\n type: String,\n default: \"update-chart\"\n }\n }\n \n updateChart(event) {\n this.chartSourceDataTarget.innerHTML = event.detail.dataElement.innerHTML\n event.detail.dataElement.remove()\n this.chartTarget.dispatchEvent(new CustomEvent(this.eventNameValue))\n }\n}","import { Controller } from '@hotwired/stimulus'\n\nexport default class extends Controller {\n static targets = [ \"data\" ]\n static values = {\n eventName: {\n type: String,\n default: \"superchart:update-chart\"\n }\n }\n \n connect() {\n this.element.dispatchEvent(\n new CustomEvent(this.eventNameValue, {\n detail: { dataElement: this.dataTarget },\n bubbles: true,\n cancelable: true\n })\n )\n }\n}","import { identifierForContextKey } from \"@hotwired/stimulus-webpack-helpers\"\n\nimport SuperchartController from \"./superchart_controller\"\nimport FilterableController from \"./supercharts/filterable_controller\"\nimport FiltersController from \"./supercharts/filters_controller\"\n\nexport const controllerDefinitions = [\n [SuperchartController, \"superchart_controller.js\"],\n [FilterableController, \"supercharts/filterable_controller.js\"],\n [FiltersController, \"supercharts/filters_controller.js\"],\n].map(function(d) {\n const key = d[1]\n const controller = d[0]\n return {\n identifier: identifierForContextKey(key),\n controllerConstructor: controller\n }\n})\n\nexport {\n SuperchartController,\n FilterableController,\n FiltersController,\n}\n"],"names":["identifierForContextKey","key","logicalName","match","replace","SuperchartChartjsController","connect","super","updateChart","chartjsData","this","hasChartJsDataTarget","hasCsvDataTarget","console","warn","d3","csvParse","csvDataTarget","innerHTML","trim","autoType","labels","csv","map","d","columns","datasets","type","typeValue","label","labelValue","data","chartjsOptions","options","defaultOptions","hasChartjsOptionsTarget","parseContentsAsJSON","chartjsOptionsTarget","axisColor","cssPropertyValue","maintainAspectRatio","animation","x","easing","duration","delayBetweenPoints","from","NaN","delay","ctx","xStarted","index","y","previousY","yStarted","plugins","legend","display","color","fill","lineTension","backgroundColor","borderColor","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","pointBorderColor","pointBackgroundColor","pointBorderWidth","pointHoverRadius","pointHoverBackgroundColor","pointHoverBorderColor","pointHoverBorderWidth","pointRadius","pointHitRadius","spanGaps","scales","grid","tickColor","ticks","_this$chartjsData","_this$chartjsData$dat","_this$chartjsData$dat2","length","chart","getPixelForValue","getDatasetMeta","datasetIndex","getProps","targets","values","String","default","defaultCssProperties","Controller","event","chartSourceDataTarget","detail","dataElement","remove","chartTarget","dispatchEvent","CustomEvent","eventNameValue","eventName","_class","element","dataTarget","bubbles","cancelable","controllerDefinitions","SuperchartController","FilterableController","FiltersController","controller","identifier","controllerConstructor"],"mappings":"kYAqBA,SAASA,EAAwBC,GAC7B,MAAMC,GAAeD,EAAIE,MAAM,2CAA6C,IAAI,GAChF,GAAID,EACA,OAAOA,EAAYE,QAAQ,KAAM,KAAKA,QAAQ,MAAO,KAE7D,CCvB6BC,MAAAA,UAAAA,EAAAA,4BAuB3BC,UACEC,MAAMD,SACP,CAEDE,cACED,MAAMC,aACP,CAEcC,kBACb,GAAIC,KAAKC,qBACP,aAAaF,cAEf,IAAKC,KAAKE,iBAER,OADAC,QAAQC,KAAM,2FACP,GAGT,QAAYC,EAAGC,SAASN,KAAKO,cAAcC,UAAUC,OAAQJ,EAAGK,UAChE,MAAO,CACLC,OAAQC,EAAIC,IAAIC,GAAKA,EAAEF,EAAIG,QAAQ,KACnCC,SAAU,CAAC,CACTC,KAAMjB,KAAKkB,UACXC,MAAOnB,KAAKoB,WACZC,KAAMT,EAAIC,IAAIC,GAAKA,EAAEF,EAAIG,QAAQ,OAGtC,CAEGO,qBACF,IAAWC,EAAG,IACTvB,KAAKwB,gBAUV,OAPIxB,KAAKyB,0BACPF,EAAU,IACLA,KACAG,EAAAA,oBAAoB1B,KAAK2B,wBAIzBJ,CACR,CAGGC,qBACF,MAAeI,EAAG5B,KAAK6B,iBAAiB,gBACxC,MAAO,CACLC,qBAAqB,EACrBC,UAAW,CACTC,EAAG,CACDf,KAAM,SACNgB,OAAQ,SACRC,SAAUlC,KAAKmC,mBACfC,KAAMC,IACNC,MAAQC,GACW,SAAbA,EAAItB,MAAmBsB,EAAIC,SAE9B,GACDD,EAAIC,UAAW,IACJC,MAAQzC,KAAKmC,qBAG5BO,EAAG,CACDzB,KAAM,SACNgB,OAAQ,SACRC,SAAUlC,KAAKmC,mBACfC,KAAMO,EACNL,MAAQC,GACW,SAAbA,EAAItB,MAAmBsB,EAAIK,SACtB,GAETL,EAAIK,UAAW,EACLL,EAACE,MAAQzC,KAAKmC,sBAI9BU,QAAS,CACPC,OAAQ,CACNC,SAAS,IAGbC,MAAOpB,EACPqB,MAAM,EACNC,YAAa,GACbC,gBAAiB,OACjBC,YAAapD,KAAK6B,iBAAiB,gBACnCwB,eAAgB,OAChBC,WAAY,GACZC,iBAAkB,EAClBC,gBAAiB,QACjBC,iBAAkBzD,KAAK6B,iBAAiB,wBACxC6B,qBAAsB1D,KAAK6B,iBAAiB,iBAC5C8B,iBAAkB,EAClBC,iBAAkB,GAClBC,0BAA2B7D,KAAK6B,iBAAiB,iBACjDiC,sBAAuB9D,KAAK6B,iBAAiB,8BAC7CkC,sBAAuB,EACvBC,YAAa,EACbC,eAAgB,GAChBC,UAAU,EACVC,OAAQ,CACNnC,EAAG,CACDoC,KAAM,CACJpB,MAAOhD,KAAK6B,iBAAiB,gBAC7BuB,YAAaxB,EACbyC,UAAWzC,GAEb0C,MAAO,CACLtB,MAAOpB,EACPyC,UAAWzC,IAGfc,EAAG,CACD0B,KAAM,CACJpB,MAAOhD,KAAK6B,iBAAiB,gBAC7BuB,YAAaxB,EACbyC,UAAWzC,GAEb0C,MAAO,CACLtB,MAAOpB,EACPyC,UAAWzC,KAKpB,CAEGO,yBAAqB,IAAAoC,EAAAC,EAAAC,EACvB,OAAY5C,KAAAA,iBAAiB,yBAA0B,SAAA7B,KAAKD,cAArD,OAAgDyE,EAAAD,EAAkBvD,SAAS,KAA3E,OAAAyD,EAAgDD,EAA+BnD,WAA/B,EAAAoD,EAAqCC,OAC7F,EAGH,WAAoBnC,GAClB,OAAqB,IAAXA,EAACE,MAAcF,EAAIoC,MAAMR,OAAOzB,EAAEkC,iBAAiB,KAAOrC,EAAIoC,MAAME,eAAetC,EAAIuC,cAAczD,KAAKkB,EAAIE,MAAQ,GAAGsC,SAAS,CAAC,MAAM,GAAMrC,CAC1J,GA5JQsC,QAAU,CAAE,iBAAkB,cAAe,gBAAiB,aAC9DC,OAAS,CACdhE,KAAM,CACJA,KAAMiE,OACNC,QAAS,QAEXhE,MAAO,CACLF,KAAMiE,OACNC,QAAS,UAINC,EAAAA,qBAAuB,CAC5B,uBAAwB,IACxB,eAAgB,OAChB,eAAgB,OAChB,eAAgB,OAChB,gBAAiB,OACjB,uBAAwB,OACxB,6BAA8B,QCrBLC,MAAAA,UAAAA,EAAWA,WAStCvF,YAAYwF,GACVtF,KAAKuF,sBAAsB/E,UAAY8E,EAAME,OAAOC,YAAYjF,UAChE8E,EAAME,OAAOC,YAAYC,SACzB1F,KAAK2F,YAAYC,cAAc,IAAIC,YAAY7F,KAAK8F,gBACrD,IAZMd,QAAU,CAAE,kBAAmB,SAC/BC,EAAAA,OAAS,CACdc,UAAW,CACT9E,KAAMiE,OACNC,QAAS,iBCLA,MAAAa,UAAyBX,EAAAA,WAStCzF,UACEI,KAAKiG,QAAQL,cACX,IAAAC,YAAgB7F,KAAK8F,eAAgB,CACnCN,OAAQ,CAAEC,YAAazF,KAAKkG,YAC5BC,SAAS,EACTC,YAAY,IAGjB,IAhBMpB,QAAU,CAAE,UACZC,OAAS,CACdc,UAAW,CACT9E,KAAMiE,OACNC,QAAS,4BCDFkB,MAAAA,EAAwB,CACnC,CAACC,EAAsB,4BACvB,CAACC,EAAsB,wCACvB,CAACC,EAAmB,sCACpB3F,IAAI,SAASC,GACb,MACM2F,EAAa3F,EAAE,GACrB,MAAO,CACL4F,WAAYpH,EAHFwB,EAAE,IAIZ6F,sBAAuBF,EAE1B"}
@@ -1,2 +1,2 @@
1
- import{SuperchartChartjsController as t}from"@supercharts/stimulus-base";import*as e from"d3";import{Controller as r}from"@hotwired/stimulus";function a(t){const e=(t.match(/^(?:\.\/)?(.+)(?:[_-]controller\..+?)$/)||[])[1];if(e)return e.replace(/_/g,"-").replace(/\//g,"--")}function o(){return o=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(t[a]=r[a])}return t},o.apply(this,arguments)}class s extends t{connect(){super.connect()}updateChart(){super.updateChart()}get chartjsData(){if(this.hasChartJsDataTarget)return super.chartjsData();if(!this.hasCsvDataTarget)return console.warn("The chart needs data in a in a csv target or in a chartjsData target (in chart.js JSON)"),[];const t=e.csvParse(this.csvDataTarget.innerHTML.trim(),e.autoType);return{labels:t.map(e=>e[t.columns[0]]),datasets:[{type:this.typeValue,label:this.labelValue,data:t.map(e=>e[t.columns[1]])}]}}get chartjsOptions(){let t=o({},this.defaultOptions);return this.hasChartjsOptionsTarget&&(t=o({},t,JSON.parse(this.chartjsOptionsTarget.innerHTML.trim()))),t}get defaultOptions(){const t=this.cssPropertyValue("--axis-color");return{maintainAspectRatio:!1,animation:{x:{type:"number",easing:"linear",duration:this.delayBetweenPoints,from:NaN,delay:t=>"data"!==t.type||t.xStarted?0:(t.xStarted=!0,t.index*this.delayBetweenPoints)},y:{type:"number",easing:"linear",duration:this.delayBetweenPoints,from:n,delay:t=>"data"!==t.type||t.yStarted?0:(t.yStarted=!0,t.index*this.delayBetweenPoints)}},plugins:{legend:{display:!1}},color:t,fill:!1,lineTension:.3,backgroundColor:"#fff",borderColor:this.cssPropertyValue("--line-color"),borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",pointBorderColor:this.cssPropertyValue("--point-stroke-color"),pointBackgroundColor:this.cssPropertyValue("--point-color"),pointBorderWidth:4,pointHoverRadius:10,pointHoverBackgroundColor:this.cssPropertyValue("--point-color"),pointHoverBorderColor:this.cssPropertyValue("--point-stroke-color-hover"),pointHoverBorderWidth:3,pointRadius:6,pointHitRadius:10,spanGaps:!1,scales:{x:{grid:{color:this.cssPropertyValue("--grid-color"),borderColor:t,tickColor:t},ticks:{color:t,tickColor:t}},y:{grid:{color:this.cssPropertyValue("--grid-color"),borderColor:t,tickColor:t},ticks:{color:t,tickColor:t}}}}}get delayBetweenPoints(){var t,e,r;return this.cssPropertyValue("--animation-duration")/(null==(t=this.chartjsData)||null==(e=t.datasets[0])||null==(r=e.data)?void 0:r.length)}}function n(t){return 0===t.index?t.chart.scales.y.getPixelForValue(100):t.chart.getDatasetMeta(t.datasetIndex).data[t.index-1].getProps(["y"],!0).y}s.targets=["chartjsOptions","chartjsData","chartjsCanvas","csvData"],s.values={type:{type:String,default:"line"},label:{type:String,default:"Value"}},s.defaultCssProperties={"--animation-duration":200,"--axis-color":"#999","--grid-color":"#eee","--line-color":"#aaa","--point-color":"#333","--point-stroke-color":"#fff","--point-stroke-color-hover":"#eee"};class i extends r{updateChart(t){this.chartSourceDataTarget.innerHTML=t.detail.dataElement.innerHTML,t.detail.dataElement.remove(),this.chartTarget.dispatchEvent(new CustomEvent(this.eventNameValue))}}i.targets=["chartSourceData","chart"],i.values={eventName:{type:String,default:"update-chart"}};class l extends r{connect(){this.element.dispatchEvent(new CustomEvent(this.eventNameValue,{detail:{dataElement:this.dataTarget},bubbles:!0,cancelable:!0}))}}l.targets=["data"],l.values={eventName:{type:String,default:"superchart:update-chart"}};const c=[[s,"superchart_controller.js"],[i,"supercharts/filterable_controller.js"],[l,"supercharts/filters_controller.js"]].map(function(t){const e=t[0];return{identifier:a(t[1]),controllerConstructor:e}});export{i as FilterableController,l as FiltersController,s as SuperchartController,c as controllerDefinitions};
1
+ import{SuperchartChartjsController as t,parseContentsAsJSON as e}from"@supercharts/stimulus-base";import*as r from"d3";import{Controller as a}from"@hotwired/stimulus";function o(t){const e=(t.match(/^(?:\.\/)?(.+)(?:[_-]controller\..+?)$/)||[])[1];if(e)return e.replace(/_/g,"-").replace(/\//g,"--")}function s(){return s=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(t[a]=r[a])}return t},s.apply(this,arguments)}class n extends t{connect(){super.connect()}updateChart(){super.updateChart()}get chartjsData(){if(this.hasChartJsDataTarget)return super.chartjsData();if(!this.hasCsvDataTarget)return console.warn("The chart needs data in a in a csv target or in a chartjsData target (in chart.js JSON)"),[];const t=r.csvParse(this.csvDataTarget.innerHTML.trim(),r.autoType);return{labels:t.map(e=>e[t.columns[0]]),datasets:[{type:this.typeValue,label:this.labelValue,data:t.map(e=>e[t.columns[1]])}]}}get chartjsOptions(){let t=s({},this.defaultOptions);return this.hasChartjsOptionsTarget&&(t=s({},t,e(this.chartjsOptionsTarget))),t}get defaultOptions(){const t=this.cssPropertyValue("--axis-color");return{maintainAspectRatio:!1,animation:{x:{type:"number",easing:"linear",duration:this.delayBetweenPoints,from:NaN,delay:t=>"data"!==t.type||t.xStarted?0:(t.xStarted=!0,t.index*this.delayBetweenPoints)},y:{type:"number",easing:"linear",duration:this.delayBetweenPoints,from:i,delay:t=>"data"!==t.type||t.yStarted?0:(t.yStarted=!0,t.index*this.delayBetweenPoints)}},plugins:{legend:{display:!1}},color:t,fill:!1,lineTension:.3,backgroundColor:"#fff",borderColor:this.cssPropertyValue("--line-color"),borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",pointBorderColor:this.cssPropertyValue("--point-stroke-color"),pointBackgroundColor:this.cssPropertyValue("--point-color"),pointBorderWidth:4,pointHoverRadius:10,pointHoverBackgroundColor:this.cssPropertyValue("--point-color"),pointHoverBorderColor:this.cssPropertyValue("--point-stroke-color-hover"),pointHoverBorderWidth:3,pointRadius:6,pointHitRadius:10,spanGaps:!1,scales:{x:{grid:{color:this.cssPropertyValue("--grid-color"),borderColor:t,tickColor:t},ticks:{color:t,tickColor:t}},y:{grid:{color:this.cssPropertyValue("--grid-color"),borderColor:t,tickColor:t},ticks:{color:t,tickColor:t}}}}}get delayBetweenPoints(){var t,e,r;return this.cssPropertyValue("--animation-duration")/(null==(t=this.chartjsData)||null==(e=t.datasets[0])||null==(r=e.data)?void 0:r.length)}}function i(t){return 0===t.index?t.chart.scales.y.getPixelForValue(100):t.chart.getDatasetMeta(t.datasetIndex).data[t.index-1].getProps(["y"],!0).y}n.targets=["chartjsOptions","chartjsData","chartjsCanvas","csvData"],n.values={type:{type:String,default:"line"},label:{type:String,default:"Value"}},n.defaultCssProperties={"--animation-duration":200,"--axis-color":"#999","--grid-color":"#eee","--line-color":"#aaa","--point-color":"#333","--point-stroke-color":"#fff","--point-stroke-color-hover":"#eee"};class l extends a{updateChart(t){this.chartSourceDataTarget.innerHTML=t.detail.dataElement.innerHTML,t.detail.dataElement.remove(),this.chartTarget.dispatchEvent(new CustomEvent(this.eventNameValue))}}l.targets=["chartSourceData","chart"],l.values={eventName:{type:String,default:"update-chart"}};class c extends a{connect(){this.element.dispatchEvent(new CustomEvent(this.eventNameValue,{detail:{dataElement:this.dataTarget},bubbles:!0,cancelable:!0}))}}c.targets=["data"],c.values={eventName:{type:String,default:"superchart:update-chart"}};const d=[[n,"superchart_controller.js"],[l,"supercharts/filterable_controller.js"],[c,"supercharts/filters_controller.js"]].map(function(t){const e=t[0];return{identifier:o(t[1]),controllerConstructor:e}});export{l as FilterableController,c as FiltersController,n as SuperchartController,d as controllerDefinitions};
2
2
  //# sourceMappingURL=supercharts-bullet-train.modern.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"supercharts-bullet-train.modern.mjs","sources":["../../../node_modules/@hotwired/stimulus-webpack-helpers/dist/stimulus-webpack-helpers.js","../../javascript/controllers/superchart_controller.js","../../javascript/controllers/supercharts/filterable_controller.js","../../javascript/controllers/supercharts/filters_controller.js","../../javascript/controllers/index.js"],"sourcesContent":["/*\nStimulus Webpack Helpers 1.0.0\nCopyright © 2021 Basecamp, LLC\n */\nfunction definitionsFromContext(context) {\n return context.keys()\n .map((key) => definitionForModuleWithContextAndKey(context, key))\n .filter((value) => value);\n}\nfunction definitionForModuleWithContextAndKey(context, key) {\n const identifier = identifierForContextKey(key);\n if (identifier) {\n return definitionForModuleAndIdentifier(context(key), identifier);\n }\n}\nfunction definitionForModuleAndIdentifier(module, identifier) {\n const controllerConstructor = module.default;\n if (typeof controllerConstructor == \"function\") {\n return { identifier, controllerConstructor };\n }\n}\nfunction identifierForContextKey(key) {\n const logicalName = (key.match(/^(?:\\.\\/)?(.+)(?:[_-]controller\\..+?)$/) || [])[1];\n if (logicalName) {\n return logicalName.replace(/_/g, \"-\").replace(/\\//g, \"--\");\n }\n}\n\nexport { definitionForModuleAndIdentifier, definitionForModuleWithContextAndKey, definitionsFromContext, identifierForContextKey };\n","import { SuperchartChartjsController } from '@supercharts/stimulus-base'\nimport * as d3 from \"d3\"\n\nexport default class extends SuperchartChartjsController {\n static targets = [ \"chartjsOptions\", \"chartjsData\", \"chartjsCanvas\", \"csvData\" ]\n static values = {\n type: { \n type: String,\n default: \"line\"\n },\n label: {\n type: String,\n default: \"Value\"\n }\n }\n \n static defaultCssProperties = {\n '--animation-duration': 200, // milliseconds\n '--axis-color': '#999',\n '--grid-color': '#eee',\n '--line-color': '#aaa',\n '--point-color': '#333',\n '--point-stroke-color': '#fff',\n '--point-stroke-color-hover': '#eee',\n }\n \n connect() {\n super.connect()\n }\n \n updateChart() {\n super.updateChart()\n }\n \n get chartjsData() {\n if (this.hasChartJsDataTarget) {\n return super.chartjsData()\n }\n if (!this.hasCsvDataTarget) {\n console.warn(`The chart needs data in a in a csv target or in a chartjsData target (in chart.js JSON)`)\n return []\n }\n \n const csv = d3.csvParse(this.csvDataTarget.innerHTML.trim(), d3.autoType)\n return {\n labels: csv.map(d => d[csv.columns[0]]),\n datasets: [{\n type: this.typeValue,\n label: this.labelValue,\n data: csv.map(d => d[csv.columns[1]])\n }]\n }\n }\n \n get chartjsOptions() {\n let options = {\n ...this.defaultOptions\n }\n \n if (this.hasChartjsOptionsTarget) {\n options = {\n ...options,\n ...JSON.parse(this.chartjsOptionsTarget.innerHTML.trim())\n }\n }\n \n return options\n }\n\n // You can set default options in this getter for all your charts.\n get defaultOptions() {\n const axisColor = this.cssPropertyValue('--axis-color')\n return {\n maintainAspectRatio: false,\n animation: {\n x: {\n type: 'number',\n easing: 'linear',\n duration: this.delayBetweenPoints,\n from: NaN, // the point is initially skipped\n delay: (ctx) => {\n if (ctx.type !== 'data' || ctx.xStarted) {\n return 0;\n }\n ctx.xStarted = true;\n return ctx.index * this.delayBetweenPoints;\n }\n },\n y: {\n type: 'number',\n easing: 'linear',\n duration: this.delayBetweenPoints,\n from: previousY,\n delay: (ctx) => {\n if (ctx.type !== 'data' || ctx.yStarted) {\n return 0;\n }\n ctx.yStarted = true;\n return ctx.index * this.delayBetweenPoints;\n }\n }\n },\n plugins: {\n legend: {\n display: false,\n }\n },\n color: axisColor,\n fill: false,\n lineTension: 0.3,\n backgroundColor: \"#fff\",\n borderColor: this.cssPropertyValue('--line-color'),\n borderCapStyle: \"butt\",\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: \"miter\",\n pointBorderColor: this.cssPropertyValue('--point-stroke-color'),\n pointBackgroundColor: this.cssPropertyValue('--point-color'),\n pointBorderWidth: 4,\n pointHoverRadius: 10,\n pointHoverBackgroundColor: this.cssPropertyValue('--point-color'),\n pointHoverBorderColor: this.cssPropertyValue('--point-stroke-color-hover'),\n pointHoverBorderWidth: 3,\n pointRadius: 6,\n pointHitRadius: 10,\n spanGaps: false,\n scales: {\n x: {\n grid: {\n color: this.cssPropertyValue('--grid-color'),\n borderColor: axisColor,\n tickColor: axisColor,\n },\n ticks: {\n color: axisColor,\n tickColor: axisColor\n }\n },\n y: {\n grid: {\n color: this.cssPropertyValue('--grid-color'),\n borderColor: axisColor,\n tickColor: axisColor,\n },\n ticks: {\n color: axisColor,\n tickColor: axisColor\n }\n }\n }\n }\n }\n \n get delayBetweenPoints() {\n return this.cssPropertyValue('--animation-duration') / this.chartjsData?.datasets[0]?.data?.length\n }\n}\n\nfunction previousY (ctx) {\n return ctx.index === 0 ? ctx.chart.scales.y.getPixelForValue(100) : ctx.chart.getDatasetMeta(ctx.datasetIndex).data[ctx.index - 1].getProps(['y'], true).y;\n}","import { Controller } from '@hotwired/stimulus'\n\nexport default class extends Controller {\n static targets = [ \"chartSourceData\", \"chart\" ]\n static values = {\n eventName: {\n type: String,\n default: \"update-chart\"\n }\n }\n \n updateChart(event) {\n this.chartSourceDataTarget.innerHTML = event.detail.dataElement.innerHTML\n event.detail.dataElement.remove()\n this.chartTarget.dispatchEvent(new CustomEvent(this.eventNameValue))\n }\n}","import { Controller } from '@hotwired/stimulus'\n\nexport default class extends Controller {\n static targets = [ \"data\" ]\n static values = {\n eventName: {\n type: String,\n default: \"superchart:update-chart\"\n }\n }\n \n connect() {\n this.element.dispatchEvent(\n new CustomEvent(this.eventNameValue, {\n detail: { dataElement: this.dataTarget },\n bubbles: true,\n cancelable: true\n })\n )\n }\n}","import { identifierForContextKey } from \"@hotwired/stimulus-webpack-helpers\"\n\nimport SuperchartController from \"./superchart_controller\"\nimport FilterableController from \"./supercharts/filterable_controller\"\nimport FiltersController from \"./supercharts/filters_controller\"\n\nexport const controllerDefinitions = [\n [SuperchartController, \"superchart_controller.js\"],\n [FilterableController, \"supercharts/filterable_controller.js\"],\n [FiltersController, \"supercharts/filters_controller.js\"],\n].map(function(d) {\n const key = d[1]\n const controller = d[0]\n return {\n identifier: identifierForContextKey(key),\n controllerConstructor: controller\n }\n})\n\nexport {\n SuperchartController,\n FilterableController,\n FiltersController,\n}\n"],"names":["identifierForContextKey","key","logicalName","match","replace","SuperchartChartjsController","connect","super","updateChart","chartjsData","this","hasChartJsDataTarget","hasCsvDataTarget","console","warn","csv","d3","csvParse","csvDataTarget","innerHTML","trim","autoType","labels","map","d","columns","datasets","type","typeValue","label","labelValue","data","options","defaultOptions","hasChartjsOptionsTarget","JSON","parse","chartjsOptionsTarget","axisColor","cssPropertyValue","maintainAspectRatio","animation","x","easing","duration","delayBetweenPoints","from","NaN","delay","ctx","xStarted","index","y","previousY","yStarted","plugins","legend","display","color","fill","lineTension","backgroundColor","borderColor","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","pointBorderColor","pointBackgroundColor","pointBorderWidth","pointHoverRadius","pointHoverBackgroundColor","pointHoverBorderColor","pointHoverBorderWidth","pointRadius","pointHitRadius","spanGaps","scales","grid","tickColor","ticks","_this$chartjsData","_this$chartjsData$dat","_this$chartjsData$dat2","length","chart","getPixelForValue","getDatasetMeta","datasetIndex","getProps","targets","values","String","default","defaultCssProperties","Controller","event","chartSourceDataTarget","detail","dataElement","remove","chartTarget","dispatchEvent","CustomEvent","eventNameValue","eventName","_class","element","dataTarget","bubbles","cancelable","controllerDefinitions","SuperchartController","FilterableController","FiltersController","controller","identifier","controllerConstructor"],"mappings":"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"}
1
+ {"version":3,"file":"supercharts-bullet-train.modern.mjs","sources":["../../../node_modules/@hotwired/stimulus-webpack-helpers/dist/stimulus-webpack-helpers.js","../../javascript/controllers/superchart_controller.js","../../javascript/controllers/supercharts/filterable_controller.js","../../javascript/controllers/supercharts/filters_controller.js","../../javascript/controllers/index.js"],"sourcesContent":["/*\nStimulus Webpack Helpers 1.0.0\nCopyright © 2021 Basecamp, LLC\n */\nfunction definitionsFromContext(context) {\n return context.keys()\n .map((key) => definitionForModuleWithContextAndKey(context, key))\n .filter((value) => value);\n}\nfunction definitionForModuleWithContextAndKey(context, key) {\n const identifier = identifierForContextKey(key);\n if (identifier) {\n return definitionForModuleAndIdentifier(context(key), identifier);\n }\n}\nfunction definitionForModuleAndIdentifier(module, identifier) {\n const controllerConstructor = module.default;\n if (typeof controllerConstructor == \"function\") {\n return { identifier, controllerConstructor };\n }\n}\nfunction identifierForContextKey(key) {\n const logicalName = (key.match(/^(?:\\.\\/)?(.+)(?:[_-]controller\\..+?)$/) || [])[1];\n if (logicalName) {\n return logicalName.replace(/_/g, \"-\").replace(/\\//g, \"--\");\n }\n}\n\nexport { definitionForModuleAndIdentifier, definitionForModuleWithContextAndKey, definitionsFromContext, identifierForContextKey };\n","import { SuperchartChartjsController, parseContentsAsJSON } from '@supercharts/stimulus-base'\nimport * as d3 from \"d3\"\n\nexport default class extends SuperchartChartjsController {\n static targets = [ \"chartjsOptions\", \"chartjsData\", \"chartjsCanvas\", \"csvData\" ]\n static values = {\n type: { \n type: String,\n default: \"line\"\n },\n label: {\n type: String,\n default: \"Value\"\n }\n }\n \n static defaultCssProperties = {\n '--animation-duration': 200, // milliseconds\n '--axis-color': '#999',\n '--grid-color': '#eee',\n '--line-color': '#aaa',\n '--point-color': '#333',\n '--point-stroke-color': '#fff',\n '--point-stroke-color-hover': '#eee',\n }\n \n connect() {\n super.connect()\n }\n \n updateChart() {\n super.updateChart()\n }\n \n get chartjsData() {\n if (this.hasChartJsDataTarget) {\n return super.chartjsData()\n }\n if (!this.hasCsvDataTarget) {\n console.warn(`The chart needs data in a in a csv target or in a chartjsData target (in chart.js JSON)`)\n return []\n }\n \n const csv = d3.csvParse(this.csvDataTarget.innerHTML.trim(), d3.autoType)\n return {\n labels: csv.map(d => d[csv.columns[0]]),\n datasets: [{\n type: this.typeValue,\n label: this.labelValue,\n data: csv.map(d => d[csv.columns[1]])\n }]\n }\n }\n \n get chartjsOptions() {\n let options = {\n ...this.defaultOptions\n }\n \n if (this.hasChartjsOptionsTarget) {\n options = {\n ...options,\n ...parseContentsAsJSON(this.chartjsOptionsTarget)\n }\n }\n \n return options\n }\n\n // You can set default options in this getter for all your charts.\n get defaultOptions() {\n const axisColor = this.cssPropertyValue('--axis-color')\n return {\n maintainAspectRatio: false,\n animation: {\n x: {\n type: 'number',\n easing: 'linear',\n duration: this.delayBetweenPoints,\n from: NaN, // the point is initially skipped\n delay: (ctx) => {\n if (ctx.type !== 'data' || ctx.xStarted) {\n return 0;\n }\n ctx.xStarted = true;\n return ctx.index * this.delayBetweenPoints;\n }\n },\n y: {\n type: 'number',\n easing: 'linear',\n duration: this.delayBetweenPoints,\n from: previousY,\n delay: (ctx) => {\n if (ctx.type !== 'data' || ctx.yStarted) {\n return 0;\n }\n ctx.yStarted = true;\n return ctx.index * this.delayBetweenPoints;\n }\n }\n },\n plugins: {\n legend: {\n display: false,\n }\n },\n color: axisColor,\n fill: false,\n lineTension: 0.3,\n backgroundColor: \"#fff\",\n borderColor: this.cssPropertyValue('--line-color'),\n borderCapStyle: \"butt\",\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: \"miter\",\n pointBorderColor: this.cssPropertyValue('--point-stroke-color'),\n pointBackgroundColor: this.cssPropertyValue('--point-color'),\n pointBorderWidth: 4,\n pointHoverRadius: 10,\n pointHoverBackgroundColor: this.cssPropertyValue('--point-color'),\n pointHoverBorderColor: this.cssPropertyValue('--point-stroke-color-hover'),\n pointHoverBorderWidth: 3,\n pointRadius: 6,\n pointHitRadius: 10,\n spanGaps: false,\n scales: {\n x: {\n grid: {\n color: this.cssPropertyValue('--grid-color'),\n borderColor: axisColor,\n tickColor: axisColor,\n },\n ticks: {\n color: axisColor,\n tickColor: axisColor\n }\n },\n y: {\n grid: {\n color: this.cssPropertyValue('--grid-color'),\n borderColor: axisColor,\n tickColor: axisColor,\n },\n ticks: {\n color: axisColor,\n tickColor: axisColor\n }\n }\n }\n }\n }\n \n get delayBetweenPoints() {\n return this.cssPropertyValue('--animation-duration') / this.chartjsData?.datasets[0]?.data?.length\n }\n}\n\nfunction previousY (ctx) {\n return ctx.index === 0 ? ctx.chart.scales.y.getPixelForValue(100) : ctx.chart.getDatasetMeta(ctx.datasetIndex).data[ctx.index - 1].getProps(['y'], true).y;\n}","import { Controller } from '@hotwired/stimulus'\n\nexport default class extends Controller {\n static targets = [ \"chartSourceData\", \"chart\" ]\n static values = {\n eventName: {\n type: String,\n default: \"update-chart\"\n }\n }\n \n updateChart(event) {\n this.chartSourceDataTarget.innerHTML = event.detail.dataElement.innerHTML\n event.detail.dataElement.remove()\n this.chartTarget.dispatchEvent(new CustomEvent(this.eventNameValue))\n }\n}","import { Controller } from '@hotwired/stimulus'\n\nexport default class extends Controller {\n static targets = [ \"data\" ]\n static values = {\n eventName: {\n type: String,\n default: \"superchart:update-chart\"\n }\n }\n \n connect() {\n this.element.dispatchEvent(\n new CustomEvent(this.eventNameValue, {\n detail: { dataElement: this.dataTarget },\n bubbles: true,\n cancelable: true\n })\n )\n }\n}","import { identifierForContextKey } from \"@hotwired/stimulus-webpack-helpers\"\n\nimport SuperchartController from \"./superchart_controller\"\nimport FilterableController from \"./supercharts/filterable_controller\"\nimport FiltersController from \"./supercharts/filters_controller\"\n\nexport const controllerDefinitions = [\n [SuperchartController, \"superchart_controller.js\"],\n [FilterableController, \"supercharts/filterable_controller.js\"],\n [FiltersController, \"supercharts/filters_controller.js\"],\n].map(function(d) {\n const key = d[1]\n const controller = d[0]\n return {\n identifier: identifierForContextKey(key),\n controllerConstructor: controller\n }\n})\n\nexport {\n SuperchartController,\n FilterableController,\n FiltersController,\n}\n"],"names":["identifierForContextKey","key","logicalName","match","replace","_class","connect","super","updateChart","chartjsData","this","hasChartJsDataTarget","hasCsvDataTarget","console","warn","csv","d3","csvParse","csvDataTarget","innerHTML","trim","autoType","labels","map","d","columns","datasets","type","typeValue","label","labelValue","data","chartjsOptions","options","_extends","defaultOptions","hasChartjsOptionsTarget","parseContentsAsJSON","chartjsOptionsTarget","axisColor","cssPropertyValue","maintainAspectRatio","animation","x","easing","duration","delayBetweenPoints","from","NaN","delay","ctx","xStarted","index","y","previousY","yStarted","plugins","legend","display","color","fill","lineTension","backgroundColor","borderColor","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","pointBorderColor","pointBackgroundColor","pointBorderWidth","pointHoverRadius","pointHoverBackgroundColor","pointHoverBorderColor","pointHoverBorderWidth","pointRadius","pointHitRadius","spanGaps","scales","grid","tickColor","ticks","_this$chartjsData","_this$chartjsData$dat","_this$chartjsData$dat2","length","chart","getPixelForValue","getDatasetMeta","datasetIndex","getProps","targets","values","String","default","defaultCssProperties","Controller","event","chartSourceDataTarget","detail","dataElement","remove","chartTarget","dispatchEvent","CustomEvent","eventNameValue","eventName","element","dataTarget","bubbles","cancelable","controllerDefinitions","SuperchartController","FilterableController","FiltersController","controller","identifier","controllerConstructor"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@supercharts/stimulus-base"),require("d3"),require("@hotwired/stimulus")):"function"==typeof define&&define.amd?define(["exports","@supercharts/stimulus-base","d3","@hotwired/stimulus"],e):e((t||self).superchartsBulletTrain={},t.stimulusBase,t.d3,t.stimulus)}(this,function(t,e,r,a){function o(t){if(t&&t.__esModule)return t;var e=Object.create(null);return t&&Object.keys(t).forEach(function(r){if("default"!==r){var a=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,a.get?a:{enumerable:!0,get:function(){return t[r]}})}}),e.default=t,e}var s=/*#__PURE__*/o(r);function n(t){const e=(t.match(/^(?:\.\/)?(.+)(?:[_-]controller\..+?)$/)||[])[1];if(e)return e.replace(/_/g,"-").replace(/\//g,"--")}class i extends e.SuperchartChartjsController{connect(){super.connect()}updateChart(){super.updateChart()}get chartjsData(){if(this.hasChartJsDataTarget)return super.chartjsData();if(!this.hasCsvDataTarget)return console.warn("The chart needs data in a in a csv target or in a chartjsData target (in chart.js JSON)"),[];const t=s.csvParse(this.csvDataTarget.innerHTML.trim(),s.autoType);return{labels:t.map(e=>e[t.columns[0]]),datasets:[{type:this.typeValue,label:this.labelValue,data:t.map(e=>e[t.columns[1]])}]}}get chartjsOptions(){let t={...this.defaultOptions};return this.hasChartjsOptionsTarget&&(t={...t,...JSON.parse(this.chartjsOptionsTarget.innerHTML.trim())}),t}get defaultOptions(){const t=this.cssPropertyValue("--axis-color");return{maintainAspectRatio:!1,animation:{x:{type:"number",easing:"linear",duration:this.delayBetweenPoints,from:NaN,delay:t=>"data"!==t.type||t.xStarted?0:(t.xStarted=!0,t.index*this.delayBetweenPoints)},y:{type:"number",easing:"linear",duration:this.delayBetweenPoints,from:l,delay:t=>"data"!==t.type||t.yStarted?0:(t.yStarted=!0,t.index*this.delayBetweenPoints)}},plugins:{legend:{display:!1}},color:t,fill:!1,lineTension:.3,backgroundColor:"#fff",borderColor:this.cssPropertyValue("--line-color"),borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",pointBorderColor:this.cssPropertyValue("--point-stroke-color"),pointBackgroundColor:this.cssPropertyValue("--point-color"),pointBorderWidth:4,pointHoverRadius:10,pointHoverBackgroundColor:this.cssPropertyValue("--point-color"),pointHoverBorderColor:this.cssPropertyValue("--point-stroke-color-hover"),pointHoverBorderWidth:3,pointRadius:6,pointHitRadius:10,spanGaps:!1,scales:{x:{grid:{color:this.cssPropertyValue("--grid-color"),borderColor:t,tickColor:t},ticks:{color:t,tickColor:t}},y:{grid:{color:this.cssPropertyValue("--grid-color"),borderColor:t,tickColor:t},ticks:{color:t,tickColor:t}}}}}get delayBetweenPoints(){var t,e,r;return this.cssPropertyValue("--animation-duration")/(null==(t=this.chartjsData)||null==(e=t.datasets[0])||null==(r=e.data)?void 0:r.length)}}function l(t){return 0===t.index?t.chart.scales.y.getPixelForValue(100):t.chart.getDatasetMeta(t.datasetIndex).data[t.index-1].getProps(["y"],!0).y}i.targets=["chartjsOptions","chartjsData","chartjsCanvas","csvData"],i.values={type:{type:String,default:"line"},label:{type:String,default:"Value"}},i.defaultCssProperties={"--animation-duration":200,"--axis-color":"#999","--grid-color":"#eee","--line-color":"#aaa","--point-color":"#333","--point-stroke-color":"#fff","--point-stroke-color-hover":"#eee"};class c extends a.Controller{updateChart(t){this.chartSourceDataTarget.innerHTML=t.detail.dataElement.innerHTML,t.detail.dataElement.remove(),this.chartTarget.dispatchEvent(new CustomEvent(this.eventNameValue))}}c.targets=["chartSourceData","chart"],c.values={eventName:{type:String,default:"update-chart"}};class u extends a.Controller{connect(){this.element.dispatchEvent(new CustomEvent(this.eventNameValue,{detail:{dataElement:this.dataTarget},bubbles:!0,cancelable:!0}))}}u.targets=["data"],u.values={eventName:{type:String,default:"superchart:update-chart"}};const d=[[i,"superchart_controller.js"],[c,"supercharts/filterable_controller.js"],[u,"supercharts/filters_controller.js"]].map(function(t){const e=t[0];return{identifier:n(t[1]),controllerConstructor:e}});t.FilterableController=c,t.FiltersController=u,t.SuperchartController=i,t.controllerDefinitions=d});
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@supercharts/stimulus-base"),require("d3"),require("@hotwired/stimulus")):"function"==typeof define&&define.amd?define(["exports","@supercharts/stimulus-base","d3","@hotwired/stimulus"],e):e((t||self).superchartsBulletTrain={},t.stimulusBase,t.d3,t.stimulus)}(this,function(t,e,r,a){function o(t){if(t&&t.__esModule)return t;var e=Object.create(null);return t&&Object.keys(t).forEach(function(r){if("default"!==r){var a=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,a.get?a:{enumerable:!0,get:function(){return t[r]}})}}),e.default=t,e}var s=/*#__PURE__*/o(r);function n(t){const e=(t.match(/^(?:\.\/)?(.+)(?:[_-]controller\..+?)$/)||[])[1];if(e)return e.replace(/_/g,"-").replace(/\//g,"--")}class i extends e.SuperchartChartjsController{connect(){super.connect()}updateChart(){super.updateChart()}get chartjsData(){if(this.hasChartJsDataTarget)return super.chartjsData();if(!this.hasCsvDataTarget)return console.warn("The chart needs data in a in a csv target or in a chartjsData target (in chart.js JSON)"),[];const t=s.csvParse(this.csvDataTarget.innerHTML.trim(),s.autoType);return{labels:t.map(e=>e[t.columns[0]]),datasets:[{type:this.typeValue,label:this.labelValue,data:t.map(e=>e[t.columns[1]])}]}}get chartjsOptions(){let t={...this.defaultOptions};return this.hasChartjsOptionsTarget&&(t={...t,...e.parseContentsAsJSON(this.chartjsOptionsTarget)}),t}get defaultOptions(){const t=this.cssPropertyValue("--axis-color");return{maintainAspectRatio:!1,animation:{x:{type:"number",easing:"linear",duration:this.delayBetweenPoints,from:NaN,delay:t=>"data"!==t.type||t.xStarted?0:(t.xStarted=!0,t.index*this.delayBetweenPoints)},y:{type:"number",easing:"linear",duration:this.delayBetweenPoints,from:l,delay:t=>"data"!==t.type||t.yStarted?0:(t.yStarted=!0,t.index*this.delayBetweenPoints)}},plugins:{legend:{display:!1}},color:t,fill:!1,lineTension:.3,backgroundColor:"#fff",borderColor:this.cssPropertyValue("--line-color"),borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",pointBorderColor:this.cssPropertyValue("--point-stroke-color"),pointBackgroundColor:this.cssPropertyValue("--point-color"),pointBorderWidth:4,pointHoverRadius:10,pointHoverBackgroundColor:this.cssPropertyValue("--point-color"),pointHoverBorderColor:this.cssPropertyValue("--point-stroke-color-hover"),pointHoverBorderWidth:3,pointRadius:6,pointHitRadius:10,spanGaps:!1,scales:{x:{grid:{color:this.cssPropertyValue("--grid-color"),borderColor:t,tickColor:t},ticks:{color:t,tickColor:t}},y:{grid:{color:this.cssPropertyValue("--grid-color"),borderColor:t,tickColor:t},ticks:{color:t,tickColor:t}}}}}get delayBetweenPoints(){var t,e,r;return this.cssPropertyValue("--animation-duration")/(null==(t=this.chartjsData)||null==(e=t.datasets[0])||null==(r=e.data)?void 0:r.length)}}function l(t){return 0===t.index?t.chart.scales.y.getPixelForValue(100):t.chart.getDatasetMeta(t.datasetIndex).data[t.index-1].getProps(["y"],!0).y}i.targets=["chartjsOptions","chartjsData","chartjsCanvas","csvData"],i.values={type:{type:String,default:"line"},label:{type:String,default:"Value"}},i.defaultCssProperties={"--animation-duration":200,"--axis-color":"#999","--grid-color":"#eee","--line-color":"#aaa","--point-color":"#333","--point-stroke-color":"#fff","--point-stroke-color-hover":"#eee"};class c extends a.Controller{updateChart(t){this.chartSourceDataTarget.innerHTML=t.detail.dataElement.innerHTML,t.detail.dataElement.remove(),this.chartTarget.dispatchEvent(new CustomEvent(this.eventNameValue))}}c.targets=["chartSourceData","chart"],c.values={eventName:{type:String,default:"update-chart"}};class u extends a.Controller{connect(){this.element.dispatchEvent(new CustomEvent(this.eventNameValue,{detail:{dataElement:this.dataTarget},bubbles:!0,cancelable:!0}))}}u.targets=["data"],u.values={eventName:{type:String,default:"superchart:update-chart"}};const d=[[i,"superchart_controller.js"],[c,"supercharts/filterable_controller.js"],[u,"supercharts/filters_controller.js"]].map(function(t){const e=t[0];return{identifier:n(t[1]),controllerConstructor:e}});t.FilterableController=c,t.FiltersController=u,t.SuperchartController=i,t.controllerDefinitions=d});
2
2
  //# sourceMappingURL=supercharts-bullet-train.umd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"supercharts-bullet-train.umd.js","sources":["../../../node_modules/@hotwired/stimulus-webpack-helpers/dist/stimulus-webpack-helpers.js","../../javascript/controllers/superchart_controller.js","../../javascript/controllers/supercharts/filterable_controller.js","../../javascript/controllers/supercharts/filters_controller.js","../../javascript/controllers/index.js"],"sourcesContent":["/*\nStimulus Webpack Helpers 1.0.0\nCopyright © 2021 Basecamp, LLC\n */\nfunction definitionsFromContext(context) {\n return context.keys()\n .map((key) => definitionForModuleWithContextAndKey(context, key))\n .filter((value) => value);\n}\nfunction definitionForModuleWithContextAndKey(context, key) {\n const identifier = identifierForContextKey(key);\n if (identifier) {\n return definitionForModuleAndIdentifier(context(key), identifier);\n }\n}\nfunction definitionForModuleAndIdentifier(module, identifier) {\n const controllerConstructor = module.default;\n if (typeof controllerConstructor == \"function\") {\n return { identifier, controllerConstructor };\n }\n}\nfunction identifierForContextKey(key) {\n const logicalName = (key.match(/^(?:\\.\\/)?(.+)(?:[_-]controller\\..+?)$/) || [])[1];\n if (logicalName) {\n return logicalName.replace(/_/g, \"-\").replace(/\\//g, \"--\");\n }\n}\n\nexport { definitionForModuleAndIdentifier, definitionForModuleWithContextAndKey, definitionsFromContext, identifierForContextKey };\n","import { SuperchartChartjsController } from '@supercharts/stimulus-base'\nimport * as d3 from \"d3\"\n\nexport default class extends SuperchartChartjsController {\n static targets = [ \"chartjsOptions\", \"chartjsData\", \"chartjsCanvas\", \"csvData\" ]\n static values = {\n type: { \n type: String,\n default: \"line\"\n },\n label: {\n type: String,\n default: \"Value\"\n }\n }\n \n static defaultCssProperties = {\n '--animation-duration': 200, // milliseconds\n '--axis-color': '#999',\n '--grid-color': '#eee',\n '--line-color': '#aaa',\n '--point-color': '#333',\n '--point-stroke-color': '#fff',\n '--point-stroke-color-hover': '#eee',\n }\n \n connect() {\n super.connect()\n }\n \n updateChart() {\n super.updateChart()\n }\n \n get chartjsData() {\n if (this.hasChartJsDataTarget) {\n return super.chartjsData()\n }\n if (!this.hasCsvDataTarget) {\n console.warn(`The chart needs data in a in a csv target or in a chartjsData target (in chart.js JSON)`)\n return []\n }\n \n const csv = d3.csvParse(this.csvDataTarget.innerHTML.trim(), d3.autoType)\n return {\n labels: csv.map(d => d[csv.columns[0]]),\n datasets: [{\n type: this.typeValue,\n label: this.labelValue,\n data: csv.map(d => d[csv.columns[1]])\n }]\n }\n }\n \n get chartjsOptions() {\n let options = {\n ...this.defaultOptions\n }\n \n if (this.hasChartjsOptionsTarget) {\n options = {\n ...options,\n ...JSON.parse(this.chartjsOptionsTarget.innerHTML.trim())\n }\n }\n \n return options\n }\n\n // You can set default options in this getter for all your charts.\n get defaultOptions() {\n const axisColor = this.cssPropertyValue('--axis-color')\n return {\n maintainAspectRatio: false,\n animation: {\n x: {\n type: 'number',\n easing: 'linear',\n duration: this.delayBetweenPoints,\n from: NaN, // the point is initially skipped\n delay: (ctx) => {\n if (ctx.type !== 'data' || ctx.xStarted) {\n return 0;\n }\n ctx.xStarted = true;\n return ctx.index * this.delayBetweenPoints;\n }\n },\n y: {\n type: 'number',\n easing: 'linear',\n duration: this.delayBetweenPoints,\n from: previousY,\n delay: (ctx) => {\n if (ctx.type !== 'data' || ctx.yStarted) {\n return 0;\n }\n ctx.yStarted = true;\n return ctx.index * this.delayBetweenPoints;\n }\n }\n },\n plugins: {\n legend: {\n display: false,\n }\n },\n color: axisColor,\n fill: false,\n lineTension: 0.3,\n backgroundColor: \"#fff\",\n borderColor: this.cssPropertyValue('--line-color'),\n borderCapStyle: \"butt\",\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: \"miter\",\n pointBorderColor: this.cssPropertyValue('--point-stroke-color'),\n pointBackgroundColor: this.cssPropertyValue('--point-color'),\n pointBorderWidth: 4,\n pointHoverRadius: 10,\n pointHoverBackgroundColor: this.cssPropertyValue('--point-color'),\n pointHoverBorderColor: this.cssPropertyValue('--point-stroke-color-hover'),\n pointHoverBorderWidth: 3,\n pointRadius: 6,\n pointHitRadius: 10,\n spanGaps: false,\n scales: {\n x: {\n grid: {\n color: this.cssPropertyValue('--grid-color'),\n borderColor: axisColor,\n tickColor: axisColor,\n },\n ticks: {\n color: axisColor,\n tickColor: axisColor\n }\n },\n y: {\n grid: {\n color: this.cssPropertyValue('--grid-color'),\n borderColor: axisColor,\n tickColor: axisColor,\n },\n ticks: {\n color: axisColor,\n tickColor: axisColor\n }\n }\n }\n }\n }\n \n get delayBetweenPoints() {\n return this.cssPropertyValue('--animation-duration') / this.chartjsData?.datasets[0]?.data?.length\n }\n}\n\nfunction previousY (ctx) {\n return ctx.index === 0 ? ctx.chart.scales.y.getPixelForValue(100) : ctx.chart.getDatasetMeta(ctx.datasetIndex).data[ctx.index - 1].getProps(['y'], true).y;\n}","import { Controller } from '@hotwired/stimulus'\n\nexport default class extends Controller {\n static targets = [ \"chartSourceData\", \"chart\" ]\n static values = {\n eventName: {\n type: String,\n default: \"update-chart\"\n }\n }\n \n updateChart(event) {\n this.chartSourceDataTarget.innerHTML = event.detail.dataElement.innerHTML\n event.detail.dataElement.remove()\n this.chartTarget.dispatchEvent(new CustomEvent(this.eventNameValue))\n }\n}","import { Controller } from '@hotwired/stimulus'\n\nexport default class extends Controller {\n static targets = [ \"data\" ]\n static values = {\n eventName: {\n type: String,\n default: \"superchart:update-chart\"\n }\n }\n \n connect() {\n this.element.dispatchEvent(\n new CustomEvent(this.eventNameValue, {\n detail: { dataElement: this.dataTarget },\n bubbles: true,\n cancelable: true\n })\n )\n }\n}","import { identifierForContextKey } from \"@hotwired/stimulus-webpack-helpers\"\n\nimport SuperchartController from \"./superchart_controller\"\nimport FilterableController from \"./supercharts/filterable_controller\"\nimport FiltersController from \"./supercharts/filters_controller\"\n\nexport const controllerDefinitions = [\n [SuperchartController, \"superchart_controller.js\"],\n [FilterableController, \"supercharts/filterable_controller.js\"],\n [FiltersController, \"supercharts/filters_controller.js\"],\n].map(function(d) {\n const key = d[1]\n const controller = d[0]\n return {\n identifier: identifierForContextKey(key),\n controllerConstructor: controller\n }\n})\n\nexport {\n SuperchartController,\n FilterableController,\n FiltersController,\n}\n"],"names":["identifierForContextKey","key","logicalName","match","replace","SuperchartChartjsController","connect","super","updateChart","chartjsData","this","hasChartJsDataTarget","hasCsvDataTarget","console","warn","csv","d3","csvParse","csvDataTarget","innerHTML","trim","autoType","labels","map","d","columns","datasets","type","typeValue","label","labelValue","data","options","defaultOptions","hasChartjsOptionsTarget","JSON","parse","chartjsOptionsTarget","cssPropertyValue","maintainAspectRatio","animation","x","easing","duration","delayBetweenPoints","from","NaN","delay","ctx","xStarted","index","y","previousY","yStarted","plugins","legend","display","color","axisColor","fill","lineTension","backgroundColor","borderColor","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","pointBorderColor","pointBackgroundColor","pointBorderWidth","pointHoverRadius","pointHoverBackgroundColor","pointHoverBorderColor","pointHoverBorderWidth","pointRadius","pointHitRadius","spanGaps","scales","grid","tickColor","ticks","_this$chartjsData","_this$chartjsData$dat","_this$chartjsData$dat2","length","chart","getPixelForValue","getDatasetMeta","datasetIndex","getProps","targets","values","String","default","defaultCssProperties","Controller","event","chartSourceDataTarget","detail","dataElement","remove","chartTarget","dispatchEvent","CustomEvent","eventNameValue","eventName","_class","element","dataTarget","bubbles","cancelable","controllerDefinitions","SuperchartController","FilterableController","FiltersController","controller","identifier","controllerConstructor"],"mappings":"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"}
1
+ {"version":3,"file":"supercharts-bullet-train.umd.js","sources":["../../../node_modules/@hotwired/stimulus-webpack-helpers/dist/stimulus-webpack-helpers.js","../../javascript/controllers/superchart_controller.js","../../javascript/controllers/supercharts/filterable_controller.js","../../javascript/controllers/supercharts/filters_controller.js","../../javascript/controllers/index.js"],"sourcesContent":["/*\nStimulus Webpack Helpers 1.0.0\nCopyright © 2021 Basecamp, LLC\n */\nfunction definitionsFromContext(context) {\n return context.keys()\n .map((key) => definitionForModuleWithContextAndKey(context, key))\n .filter((value) => value);\n}\nfunction definitionForModuleWithContextAndKey(context, key) {\n const identifier = identifierForContextKey(key);\n if (identifier) {\n return definitionForModuleAndIdentifier(context(key), identifier);\n }\n}\nfunction definitionForModuleAndIdentifier(module, identifier) {\n const controllerConstructor = module.default;\n if (typeof controllerConstructor == \"function\") {\n return { identifier, controllerConstructor };\n }\n}\nfunction identifierForContextKey(key) {\n const logicalName = (key.match(/^(?:\\.\\/)?(.+)(?:[_-]controller\\..+?)$/) || [])[1];\n if (logicalName) {\n return logicalName.replace(/_/g, \"-\").replace(/\\//g, \"--\");\n }\n}\n\nexport { definitionForModuleAndIdentifier, definitionForModuleWithContextAndKey, definitionsFromContext, identifierForContextKey };\n","import { SuperchartChartjsController, parseContentsAsJSON } from '@supercharts/stimulus-base'\nimport * as d3 from \"d3\"\n\nexport default class extends SuperchartChartjsController {\n static targets = [ \"chartjsOptions\", \"chartjsData\", \"chartjsCanvas\", \"csvData\" ]\n static values = {\n type: { \n type: String,\n default: \"line\"\n },\n label: {\n type: String,\n default: \"Value\"\n }\n }\n \n static defaultCssProperties = {\n '--animation-duration': 200, // milliseconds\n '--axis-color': '#999',\n '--grid-color': '#eee',\n '--line-color': '#aaa',\n '--point-color': '#333',\n '--point-stroke-color': '#fff',\n '--point-stroke-color-hover': '#eee',\n }\n \n connect() {\n super.connect()\n }\n \n updateChart() {\n super.updateChart()\n }\n \n get chartjsData() {\n if (this.hasChartJsDataTarget) {\n return super.chartjsData()\n }\n if (!this.hasCsvDataTarget) {\n console.warn(`The chart needs data in a in a csv target or in a chartjsData target (in chart.js JSON)`)\n return []\n }\n \n const csv = d3.csvParse(this.csvDataTarget.innerHTML.trim(), d3.autoType)\n return {\n labels: csv.map(d => d[csv.columns[0]]),\n datasets: [{\n type: this.typeValue,\n label: this.labelValue,\n data: csv.map(d => d[csv.columns[1]])\n }]\n }\n }\n \n get chartjsOptions() {\n let options = {\n ...this.defaultOptions\n }\n \n if (this.hasChartjsOptionsTarget) {\n options = {\n ...options,\n ...parseContentsAsJSON(this.chartjsOptionsTarget)\n }\n }\n \n return options\n }\n\n // You can set default options in this getter for all your charts.\n get defaultOptions() {\n const axisColor = this.cssPropertyValue('--axis-color')\n return {\n maintainAspectRatio: false,\n animation: {\n x: {\n type: 'number',\n easing: 'linear',\n duration: this.delayBetweenPoints,\n from: NaN, // the point is initially skipped\n delay: (ctx) => {\n if (ctx.type !== 'data' || ctx.xStarted) {\n return 0;\n }\n ctx.xStarted = true;\n return ctx.index * this.delayBetweenPoints;\n }\n },\n y: {\n type: 'number',\n easing: 'linear',\n duration: this.delayBetweenPoints,\n from: previousY,\n delay: (ctx) => {\n if (ctx.type !== 'data' || ctx.yStarted) {\n return 0;\n }\n ctx.yStarted = true;\n return ctx.index * this.delayBetweenPoints;\n }\n }\n },\n plugins: {\n legend: {\n display: false,\n }\n },\n color: axisColor,\n fill: false,\n lineTension: 0.3,\n backgroundColor: \"#fff\",\n borderColor: this.cssPropertyValue('--line-color'),\n borderCapStyle: \"butt\",\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: \"miter\",\n pointBorderColor: this.cssPropertyValue('--point-stroke-color'),\n pointBackgroundColor: this.cssPropertyValue('--point-color'),\n pointBorderWidth: 4,\n pointHoverRadius: 10,\n pointHoverBackgroundColor: this.cssPropertyValue('--point-color'),\n pointHoverBorderColor: this.cssPropertyValue('--point-stroke-color-hover'),\n pointHoverBorderWidth: 3,\n pointRadius: 6,\n pointHitRadius: 10,\n spanGaps: false,\n scales: {\n x: {\n grid: {\n color: this.cssPropertyValue('--grid-color'),\n borderColor: axisColor,\n tickColor: axisColor,\n },\n ticks: {\n color: axisColor,\n tickColor: axisColor\n }\n },\n y: {\n grid: {\n color: this.cssPropertyValue('--grid-color'),\n borderColor: axisColor,\n tickColor: axisColor,\n },\n ticks: {\n color: axisColor,\n tickColor: axisColor\n }\n }\n }\n }\n }\n \n get delayBetweenPoints() {\n return this.cssPropertyValue('--animation-duration') / this.chartjsData?.datasets[0]?.data?.length\n }\n}\n\nfunction previousY (ctx) {\n return ctx.index === 0 ? ctx.chart.scales.y.getPixelForValue(100) : ctx.chart.getDatasetMeta(ctx.datasetIndex).data[ctx.index - 1].getProps(['y'], true).y;\n}","import { Controller } from '@hotwired/stimulus'\n\nexport default class extends Controller {\n static targets = [ \"chartSourceData\", \"chart\" ]\n static values = {\n eventName: {\n type: String,\n default: \"update-chart\"\n }\n }\n \n updateChart(event) {\n this.chartSourceDataTarget.innerHTML = event.detail.dataElement.innerHTML\n event.detail.dataElement.remove()\n this.chartTarget.dispatchEvent(new CustomEvent(this.eventNameValue))\n }\n}","import { Controller } from '@hotwired/stimulus'\n\nexport default class extends Controller {\n static targets = [ \"data\" ]\n static values = {\n eventName: {\n type: String,\n default: \"superchart:update-chart\"\n }\n }\n \n connect() {\n this.element.dispatchEvent(\n new CustomEvent(this.eventNameValue, {\n detail: { dataElement: this.dataTarget },\n bubbles: true,\n cancelable: true\n })\n )\n }\n}","import { identifierForContextKey } from \"@hotwired/stimulus-webpack-helpers\"\n\nimport SuperchartController from \"./superchart_controller\"\nimport FilterableController from \"./supercharts/filterable_controller\"\nimport FiltersController from \"./supercharts/filters_controller\"\n\nexport const controllerDefinitions = [\n [SuperchartController, \"superchart_controller.js\"],\n [FilterableController, \"supercharts/filterable_controller.js\"],\n [FiltersController, \"supercharts/filters_controller.js\"],\n].map(function(d) {\n const key = d[1]\n const controller = d[0]\n return {\n identifier: identifierForContextKey(key),\n controllerConstructor: controller\n }\n})\n\nexport {\n SuperchartController,\n FilterableController,\n FiltersController,\n}\n"],"names":["identifierForContextKey","key","logicalName","match","replace","SuperchartChartjsController","connect","super","updateChart","chartjsData","this","hasChartJsDataTarget","hasCsvDataTarget","console","warn","d3","csvParse","csvDataTarget","innerHTML","trim","autoType","labels","csv","map","d","columns","datasets","type","typeValue","label","labelValue","data","chartjsOptions","options","defaultOptions","hasChartjsOptionsTarget","parseContentsAsJSON","chartjsOptionsTarget","axisColor","cssPropertyValue","maintainAspectRatio","animation","x","easing","duration","delayBetweenPoints","from","NaN","delay","ctx","xStarted","index","y","previousY","yStarted","plugins","legend","display","color","fill","lineTension","backgroundColor","borderColor","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","pointBorderColor","pointBackgroundColor","pointBorderWidth","pointHoverRadius","pointHoverBackgroundColor","pointHoverBorderColor","pointHoverBorderWidth","pointRadius","pointHitRadius","spanGaps","scales","grid","tickColor","ticks","_this$chartjsData","_this$chartjsData$dat","_this$chartjsData$dat2","length","chart","getPixelForValue","getDatasetMeta","datasetIndex","getProps","targets","values","String","default","defaultCssProperties","Controller","event","chartSourceDataTarget","detail","dataElement","remove","chartTarget","dispatchEvent","CustomEvent","eventNameValue","eventName","_class","element","dataTarget","bubbles","cancelable","controllerDefinitions","SuperchartController","FilterableController","FiltersController","controller","identifier","controllerConstructor"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { SuperchartChartjsController } from '@supercharts/stimulus-base'
1
+ import { SuperchartChartjsController, parseContentsAsJSON } from '@supercharts/stimulus-base'
2
2
  import * as d3 from "d3"
3
3
 
4
4
  export default class extends SuperchartChartjsController {
@@ -60,7 +60,7 @@ export default class extends SuperchartChartjsController {
60
60
  if (this.hasChartjsOptionsTarget) {
61
61
  options = {
62
62
  ...options,
63
- ...JSON.parse(this.chartjsOptionsTarget.innerHTML.trim())
63
+ ...parseContentsAsJSON(this.chartjsOptionsTarget)
64
64
  }
65
65
  }
66
66
 
@@ -52,7 +52,8 @@
52
52
  data-action="update-chart->superchart#updateChart"
53
53
  >
54
54
  <canvas data-superchart-target="chartjsCanvas" style="height: 200px"></canvas>
55
- <template data-superchart-target="csvData" data-supercharts--filterable-target="chartSourceData" />
55
+ <template data-superchart-target="csvData" data-supercharts--filterable-target="chartSourceData"></template>
56
+ <template data-superchart-target="chartjsOptions"></template>
56
57
  </div>
57
58
  </div>
58
59
  <% end %>
@@ -1,5 +1,5 @@
1
1
  module BulletTrain
2
2
  module Supercharts
3
- VERSION = "0.1.7"
3
+ VERSION = "0.1.8"
4
4
  end
5
5
  end
@@ -35,6 +35,9 @@ class Scaffolding::SuperchartsChartTransformer < Scaffolding::SuperchartsTransfo
35
35
  )
36
36
  end
37
37
 
38
+ # add user permissions.
39
+ add_ability_line_to_roles_yml
40
+
38
41
  # apply routes.
39
42
  # TODO this is a hack and should be in its own RouteFileManipulator class
40
43
  lines = File.read("config/routes.rb").lines.map(&:chomp)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: supercharts-bullet_train
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pascal Laliberté
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-20 00:00:00.000000000 Z
11
+ date: 2022-09-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails