{"version":3,"sources":["webpack:///./src/components/dashboards/comision_x_incentivo.vue","webpack:///src/components/dashboards/comision_x_incentivo.vue","webpack:///./src/components/dashboards/comision_x_incentivo.vue?9975","webpack:///./src/components/dashboards/comision_x_incentivo.vue?d136","webpack:///./node_modules/@amcharts/amcharts4/.internal/themes/material.js","webpack:///./src/components/dashboards/comision_x_incentivo.vue?abc8","webpack:///./node_modules/@amcharts/amcharts4/.internal/plugins/sliceGrouper/SliceGrouper.js"],"names":["attrs","processing","_e","staticStyle","_v","ref","_c","directives","rawName","value","_vm","render","am4core","props","data","chartData","chart","headers","text","computed","isChartEmpty","methods","mapActions","generateChart","dataParam","Componente","Monto","serie","grouper","refresh","CorteId","TipoProductoList","Chart","AsociadoId","apiDashboard","getChart","then","_this","catch","watch","corteId","tipoProducto","mounted","beforeDestroy","component","staticRenderFns","theme","object","list","minLightness","maxLightness","reuse","background","cornerRadiusTopLeft","cornerRadiusTopRight","cornerRadiusBottomLeft","cornerRadiusBottomRight","animationDuration","_super","SliceGrouper","call","this","smallSlices","List","bigSlices","groupName","groupProperties","syncLegend","_threshold","_clickDisposers","_clickBehavior","_ignoreDataUpdate","_closed","prototype","init","processSeries","series","target","dataProvider","length","_dataProvider","event","queue","onlyShowOnViewport","inited","_disposers","push","events","on","ev","groupSlice","undefined","clear","groupSliceItem","groupValue","dataItems","each","item","index","values","percent","dataContext","sliceGrouperOther","limit","Math","abs","threshold","hiddenInLegend","hide","hidden","label","slice","dataFields","validateRawData","groupData","category","addData","slices","dataItem","initSlices","key","val","clickBehavior","has","toggleGroupOn","once","toggleGroupOff","show","baseSprite","feedLegend","zoomOutButton","disableType","enableType","Object","defineProperty","get","set","enumerable","configurable","_limit","_zoomOutButton","tooltipContainer","createChild","ZoomOutButton","shouldClone","align","valign","zIndex","Number","MAX_SAFE_INTEGER","marginTop","marginRight","dispose","disposeClickEvents","i","row","splice","invalidateData","a","disposer","shift","Plugin","registeredClasses"],"mappings":"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","file":"js/chunk-fdb80b9e.7be7f7a5.js","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',{staticClass:\"mb-2 pa-2 lighten-5\",attrs:{\"flat\":\"\"}},[_c('v-card-text',[_c('v-row',[_c('v-col',{attrs:{\"xs\":\"12\"}},[(_vm.processing)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\",\"color\":\"primary\"}}):_vm._e(),_c('v-subheader',{staticStyle:{\"font-size\":\"16px !important\"}},[_vm._v(\"Detalle Incentivos\")]),_c('div',{ref:\"amchart\",staticStyle:{\"height\":\"45vh\"}}),_c('br'),_c('v-alert',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.processing && _vm.isChartEmpty),expression:\"!processing && isChartEmpty\"}],attrs:{\"dense\":\"\",\"type\":\"warning\",\"text\":\"\"}},[_vm._v(\"No existe información para esta gráfica\")])],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n \r\n \r\n \r\n Detalle Incentivos\r\n \r\n
\r\n No existe información para esta gráfica\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./comision_x_incentivo.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./comision_x_incentivo.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./comision_x_incentivo.vue?vue&type=template&id=683c743a\"\nimport script from \"./comision_x_incentivo.vue?vue&type=script&lang=js\"\nexport * from \"./comision_x_incentivo.vue?vue&type=script&lang=js\"\nimport style0 from \"./comision_x_incentivo.vue?vue&type=style&index=0&id=683c743a&prod&scope=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { is } from \"../core/Registry\";\r\nimport { color } from \"../core/utils/Color\";\r\nvar theme = function (object) {\r\n if (is(object, \"ColorSet\")) {\r\n object.list = [\r\n color(\"#F44336\"),\r\n color(\"#E91E63\"),\r\n color(\"#9C27B0\"),\r\n color(\"#673AB7\"),\r\n color(\"#3F51B5\"),\r\n color(\"#2196F3\"),\r\n color(\"#03A9F4\"),\r\n color(\"#00BCD4\"),\r\n color(\"#009688\"),\r\n color(\"#4CAF50\"),\r\n color(\"#8BC34A\"),\r\n color(\"#CDDC39\"),\r\n color(\"#FFEB3B\"),\r\n color(\"#FFC107\"),\r\n color(\"#FF9800\"),\r\n color(\"#FF5722\"),\r\n color(\"#795548\"),\r\n color(\"#9E9E9E\"),\r\n color(\"#607D8B\")\r\n ];\r\n object.minLightness = 0.2;\r\n object.maxLightness = 0.7;\r\n object.reuse = true;\r\n }\r\n if (is(object, \"ResizeButton\")) {\r\n object.background.cornerRadiusTopLeft = 20;\r\n object.background.cornerRadiusTopRight = 20;\r\n object.background.cornerRadiusBottomLeft = 20;\r\n object.background.cornerRadiusBottomRight = 20;\r\n }\r\n if (is(object, \"Tooltip\")) {\r\n object.animationDuration = 800;\r\n }\r\n};\r\nexport default theme;\r\n//# sourceMappingURL=material.js.map","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./comision_x_incentivo.vue?vue&type=style&index=0&id=683c743a&prod&scope=true&lang=css\"","/**\r\n * Plugin for automatically grouping small chart slices into single group.\r\n */\r\nimport { __extends } from \"tslib\";\r\n/**\r\n * ============================================================================\r\n * IMPORTS\r\n * ============================================================================\r\n * @hidden\r\n */\r\nimport { Plugin } from \"../../core/utils/Plugin\";\r\nimport { List } from \"../../core/utils/List\";\r\nimport { registry } from \"../../core/Registry\";\r\nimport { ZoomOutButton } from \"../../core/elements/ZoomOutButton\";\r\nimport * as $object from \"../../core/utils/Object\";\r\nimport * as $type from \"../../core/utils/Type\";\r\nimport { options } from \"../../core/Options\";\r\n/**\r\n * ============================================================================\r\n * MAIN CLASS\r\n * ============================================================================\r\n * @hidden\r\n */\r\n/**\r\n * A plugin which automatically groups [[PercenSeries]] slices that are smaller\r\n * than certain percent into one \"Other\" slice.\r\n *\r\n * By pushing an instance of [[SliceGrouper]] into `plugin` list of\r\n * any [[PercentSeries]], it automatically applies the functionality.\r\n *\r\n * Example:\r\n *\r\n * ```TypeScript\r\n * let series = chart.series.push(new am4charts.PieSeries());\r\n * series.dataFields.valueY = \"value\";\r\n * series.dataFields.dateX = \"date\";\r\n *\r\n * let grouper = series.plugins.push(new am4plugins_sliceGrouper.SliceGrouper());\r\n * ```\r\n * ```JavaScript\r\n * var series = chart.series.push(new am4charts.PieSeries());\r\n * series.dataFields.valueY = \"value\";\r\n * series.dataFields.dateX = \"date\";\r\n *\r\n * var grouper = series.plugins.push(new am4plugins_sliceGrouper.SliceGrouper());\r\n * ```\r\n * ```JSON\r\n * {\r\n * // ...\r\n * \"series\": [{\r\n * // ...\r\n * }, {\r\n * \"type\": \"PieSeries\",\r\n * \"dataFields\": {\r\n * \"valueY\": \"value\",\r\n * \"dateX\": \"date\"\r\n * },\r\n * \"plugins\": [{\r\n * \"type\": \"SliceGrouper\"\r\n * }]\r\n * }]\r\n * }\r\n * ```\r\n *\r\n * @since 4.3.11\r\n */\r\nvar SliceGrouper = /** @class */ (function (_super) {\r\n __extends(SliceGrouper, _super);\r\n /**\r\n * Constructor\r\n */\r\n function SliceGrouper() {\r\n var _this = \r\n // Nothing to do here\r\n _super.call(this) || this;\r\n /**\r\n * A list of small slices that do not satisfy `threshold`.\r\n */\r\n _this.smallSlices = new List();\r\n /**\r\n * A list of big slices that do not satisfy `threshold`.\r\n */\r\n _this.bigSlices = new List();\r\n /**\r\n * A name to use for the \"Other\" slice.\r\n *\r\n * @default \"Other\"\r\n */\r\n _this.groupName = \"Other\";\r\n /**\r\n * Custom properties to apply to the \"Other\" slice.\r\n *\r\n * @since 4.5.3\r\n * @type {IFunnelSliceProperties}\r\n */\r\n _this.groupProperties = {};\r\n /**\r\n * If set to `true` the legend will be synced to show currently visible\r\n * slices only.\r\n *\r\n * @defaylt false\r\n */\r\n _this.syncLegend = false;\r\n /**\r\n * Threshold percent.\r\n */\r\n _this._threshold = 5;\r\n /**\r\n * Disposer for click events.\r\n */\r\n _this._clickDisposers = [];\r\n /**\r\n * What happens when \"Other\" slice is cicked.\r\n */\r\n _this._clickBehavior = \"none\";\r\n _this._ignoreDataUpdate = false;\r\n /**\r\n * Is group slice currently closed or expanded?\r\n */\r\n _this._closed = true;\r\n return _this;\r\n }\r\n SliceGrouper.prototype.init = function () {\r\n _super.prototype.init.call(this);\r\n this.processSeries();\r\n };\r\n /**\r\n * Decorates series with required events and adapters used to hijack its\r\n * data.\r\n */\r\n SliceGrouper.prototype.processSeries = function () {\r\n var _this = this;\r\n var series = this.target;\r\n var chart = series.chart;\r\n var dataProvider = series.data && series.data.length ? series : chart;\r\n this._dataProvider = dataProvider;\r\n // Invalidate calculated data whenever data updates\r\n var event = (options.queue || options.onlyShowOnViewport) && !chart.inited ? \"inited\" : \"datavalidated\";\r\n this._disposers.push(dataProvider.events.on(event, function (ev) {\r\n if (_this._ignoreDataUpdate) {\r\n _this._ignoreDataUpdate = false;\r\n return;\r\n }\r\n _this.groupSlice = undefined;\r\n _this.smallSlices.clear();\r\n _this.bigSlices.clear();\r\n // Collect and prepare small slices\r\n var groupValue = 0;\r\n var groupSliceItem;\r\n series.dataItems.each(function (item, index) {\r\n var value = item.values.value.percent;\r\n if (item.dataContext.sliceGrouperOther) {\r\n groupSliceItem = item.dataContext;\r\n }\r\n else if ((_this.limit && (index >= _this.limit)) || (!_this.limit && (Math.abs(value) <= Math.abs(_this.threshold)))) {\r\n groupValue += item.value;\r\n item.hiddenInLegend = true;\r\n item.hide();\r\n item.hidden = true;\r\n // We need this in order to handle conflict with responsive\r\n // functionality\r\n item.label.events.on(\"transitionended\", function (ev) {\r\n if (_this._closed) {\r\n item.hide();\r\n }\r\n });\r\n _this.smallSlices.push(item.slice);\r\n }\r\n else {\r\n _this.bigSlices.push(item.slice);\r\n }\r\n });\r\n // Create \"Other\" slice\r\n if (groupValue != 0) {\r\n if (groupSliceItem) {\r\n groupSliceItem[series.dataFields.value] = groupValue;\r\n _this._ignoreDataUpdate = true;\r\n dataProvider.validateRawData();\r\n }\r\n else {\r\n var groupData = {\r\n sliceGrouperOther: true\r\n };\r\n groupData[series.dataFields.category] = _this.groupName;\r\n groupData[series.dataFields.value] = groupValue;\r\n _this._ignoreDataUpdate = true;\r\n dataProvider.addData(groupData);\r\n }\r\n }\r\n }));\r\n this._disposers.push(series.events.on(\"validated\", function (ev) {\r\n series.slices.each(function (slice) {\r\n if (slice.dataItem.dataContext.sliceGrouperOther) {\r\n if (!_this.groupSlice) {\r\n _this.groupSlice = slice;\r\n _this.initSlices();\r\n }\r\n }\r\n });\r\n }));\r\n };\r\n /**\r\n * Initializes group slice.\r\n */\r\n SliceGrouper.prototype.initSlices = function () {\r\n var _this = this;\r\n if (!this.groupSlice) {\r\n return;\r\n }\r\n // Apply custom peroperties\r\n $object.each(this.groupProperties, function (key, val) {\r\n _this.groupSlice[key] = val;\r\n });\r\n // Set up click\r\n if (this.clickBehavior != \"none\") {\r\n if (!this.groupSlice.events.has(\"hit\", this.toggleGroupOn, this)) {\r\n this._clickDisposers.push(this.groupSlice.events.on(\"hit\", this.toggleGroupOn, this));\r\n }\r\n }\r\n };\r\n /**\r\n * Toggles group on.\r\n */\r\n SliceGrouper.prototype.toggleGroupOn = function () {\r\n var _this = this;\r\n if (this.clickBehavior == \"none\") {\r\n return;\r\n }\r\n this._closed = false;\r\n // Hide \"Other\" slice\r\n this.groupSlice.dataItem.hide();\r\n if (this.syncLegend) {\r\n this.groupSlice.dataItem.hiddenInLegend = true;\r\n }\r\n this._clickDisposers.push(this.groupSlice.events.once(\"shown\", function (ev) {\r\n _this.toggleGroupOff();\r\n }));\r\n // Unhide hidden slices\r\n this.smallSlices.each(function (slice) {\r\n slice.dataItem.hidden = false;\r\n slice.dataItem.show();\r\n if (_this.syncLegend) {\r\n slice.dataItem.hiddenInLegend = false;\r\n }\r\n });\r\n // Maybe hide big slices\r\n if (this.clickBehavior == \"zoom\") {\r\n this.bigSlices.each(function (slice) {\r\n slice.dataItem.hide();\r\n if (_this.syncLegend) {\r\n slice.dataItem.hiddenInLegend = true;\r\n }\r\n });\r\n }\r\n if (this.syncLegend) {\r\n this.target.baseSprite.feedLegend();\r\n }\r\n // Show zoomout button\r\n this.zoomOutButton.show();\r\n };\r\n /**\r\n * Toggles group off.\r\n */\r\n SliceGrouper.prototype.toggleGroupOff = function () {\r\n var _this = this;\r\n if (this.clickBehavior == \"none\") {\r\n return;\r\n }\r\n this._closed = true;\r\n // Toggle \"Other\" slice back on\r\n this.groupSlice.events.disableType(\"shown\");\r\n this.groupSlice.dataItem.show();\r\n this.groupSlice.events.enableType(\"shown\");\r\n if (this.syncLegend) {\r\n this.groupSlice.dataItem.hiddenInLegend = false;\r\n }\r\n // Maybe unhide big slices\r\n if (this.clickBehavior == \"zoom\") {\r\n this.bigSlices.each(function (slice) {\r\n slice.dataItem.hidden = false;\r\n slice.dataItem.show();\r\n if (_this.syncLegend) {\r\n slice.dataItem.hiddenInLegend = false;\r\n }\r\n });\r\n }\r\n // Hide small slices\r\n this.smallSlices.each(function (slice) {\r\n slice.dataItem.hide();\r\n if (_this.syncLegend) {\r\n slice.dataItem.hiddenInLegend = true;\r\n }\r\n });\r\n if (this.syncLegend) {\r\n this.target.baseSprite.feedLegend();\r\n }\r\n // Hide zoomout button\r\n this.zoomOutButton.hide();\r\n };\r\n Object.defineProperty(SliceGrouper.prototype, \"threshold\", {\r\n /**\r\n * @return Threshold\r\n */\r\n get: function () {\r\n return this._threshold;\r\n },\r\n /**\r\n * Percent threshold which slices to group. If a slice is less than\r\n * `threshold` percent, it will be moved into \"Other\" group.\r\n *\r\n * @default 5\r\n * @param value Threshold\r\n */\r\n set: function (value) {\r\n if (this._threshold != value) {\r\n this._threshold = value;\r\n }\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(SliceGrouper.prototype, \"limit\", {\r\n /**\r\n * @return Limit\r\n */\r\n get: function () {\r\n return this._limit;\r\n },\r\n /**\r\n * Maximum number of ungrouped slices to show. Any slice beyond `limit` will\r\n * go into the \"Other\" group.\r\n *\r\n * NOTE: if `limit` is set, `threshold` setting will be ignored.\r\n *\r\n * @default undefined\r\n * @since 4.9.14\r\n * @param value Limit\r\n */\r\n set: function (value) {\r\n if (this._limit != value) {\r\n this._limit = value;\r\n }\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(SliceGrouper.prototype, \"zoomOutButton\", {\r\n /**\r\n * @return Button\r\n */\r\n get: function () {\r\n var _this = this;\r\n if (!this._zoomOutButton) {\r\n var chart = this.target.baseSprite;\r\n var zoomOutButton = chart.tooltipContainer.createChild(ZoomOutButton);\r\n zoomOutButton.shouldClone = false;\r\n zoomOutButton.align = \"right\";\r\n zoomOutButton.valign = \"top\";\r\n zoomOutButton.zIndex = Number.MAX_SAFE_INTEGER;\r\n zoomOutButton.marginTop = 5;\r\n zoomOutButton.marginRight = 5;\r\n zoomOutButton.hide(0);\r\n this.zoomOutButton = zoomOutButton;\r\n this._disposers.push(this._zoomOutButton);\r\n zoomOutButton.events.on(\"hit\", function () {\r\n _this.toggleGroupOff();\r\n }, this);\r\n }\r\n return this._zoomOutButton;\r\n },\r\n /**\r\n * An instance of [[ZoomOutButton]] that is shown when \"Other\" slice is\r\n * broken down, to get back to grouped state.\r\n *\r\n * @param value Button\r\n */\r\n set: function (value) {\r\n this._zoomOutButton = value;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(SliceGrouper.prototype, \"clickBehavior\", {\r\n /**\r\n * @returns Click behavior\r\n */\r\n get: function () {\r\n return this._clickBehavior;\r\n },\r\n /**\r\n * What happens when \"Other\" slice is clicked/tapped:\r\n *\r\n * * \"none\": nothing (default)\r\n * * \"break\": the slice is broken down into actual slices it consists of\r\n * * \"zoom\": actual small slices are shown and the rest of the slices are hidden\r\n *\r\n * @param value Click behavior\r\n */\r\n set: function (value) {\r\n if (this._clickBehavior != value) {\r\n this._clickBehavior = value;\r\n this.initSlices();\r\n }\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * Disposes the element\r\n */\r\n SliceGrouper.prototype.dispose = function () {\r\n this.disposeClickEvents();\r\n this.groupSlice = undefined;\r\n this.smallSlices.clear();\r\n this.bigSlices.clear();\r\n if (this._dataProvider && $type.isArray(this._dataProvider.data)) {\r\n for (var i = 0; i < this._dataProvider.data.length; i++) {\r\n var row = this._dataProvider.data[i];\r\n if (row.sliceGrouperOther) {\r\n this._dataProvider.data.splice(i, 1);\r\n this._dataProvider.invalidateData();\r\n break;\r\n }\r\n }\r\n }\r\n _super.prototype.dispose.call(this);\r\n };\r\n SliceGrouper.prototype.disposeClickEvents = function () {\r\n var a = this._clickDisposers;\r\n this._clickDisposers = null;\r\n while (a.length !== 0) {\r\n var disposer = a.shift();\r\n disposer.dispose();\r\n }\r\n };\r\n return SliceGrouper;\r\n}(Plugin));\r\nexport { SliceGrouper };\r\n/**\r\n * Register class in system, so that it can be instantiated using its name from\r\n * anywhere.\r\n *\r\n * @ignore\r\n */\r\nregistry.registeredClasses[\"SliceGrouper\"] = SliceGrouper;\r\n//# sourceMappingURL=SliceGrouper.js.map"],"sourceRoot":""}