qauMaWeb/node_modules/.cache/babel-loader/eca5ca71e86f5fc8abe8ee04475...

1 line
32 KiB
JSON

{"ast":null,"code":"import \"core-js/modules/es.function.name.js\";\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport BoundingRect from 'zrender/lib/core/BoundingRect.js';\nimport * as visualSolution from '../../visual/visualSolution.js';\nimport { makeBrushCommonSelectorForSeries } from './selector.js';\nimport * as throttleUtil from '../../util/throttle.js';\nimport BrushTargetManager from '../helper/BrushTargetManager.js';\nvar STATE_LIST = ['inBrush', 'outOfBrush'];\nvar DISPATCH_METHOD = '__ecBrushSelect';\nvar DISPATCH_FLAG = '__ecInBrushSelectEvent';\n;\nexport function layoutCovers(ecModel) {\n ecModel.eachComponent({\n mainType: 'brush'\n }, function (brushModel) {\n var brushTargetManager = brushModel.brushTargetManager = new BrushTargetManager(brushModel.option, ecModel);\n brushTargetManager.setInputRanges(brushModel.areas, ecModel);\n });\n}\n/**\n * Register the visual encoding if this modules required.\n */\n\nexport default function brushVisual(ecModel, api, payload) {\n var brushSelected = [];\n var throttleType;\n var throttleDelay;\n ecModel.eachComponent({\n mainType: 'brush'\n }, function (brushModel) {\n payload && payload.type === 'takeGlobalCursor' && brushModel.setBrushOption(payload.key === 'brush' ? payload.brushOption : {\n brushType: false\n });\n });\n layoutCovers(ecModel);\n ecModel.eachComponent({\n mainType: 'brush'\n }, function (brushModel, brushIndex) {\n var thisBrushSelected = {\n brushId: brushModel.id,\n brushIndex: brushIndex,\n brushName: brushModel.name,\n areas: zrUtil.clone(brushModel.areas),\n selected: []\n }; // Every brush component exists in event params, convenient\n // for user to find by index.\n\n brushSelected.push(thisBrushSelected);\n var brushOption = brushModel.option;\n var brushLink = brushOption.brushLink;\n var linkedSeriesMap = [];\n var selectedDataIndexForLink = [];\n var rangeInfoBySeries = [];\n var hasBrushExists = false;\n\n if (!brushIndex) {\n // Only the first throttle setting works.\n throttleType = brushOption.throttleType;\n throttleDelay = brushOption.throttleDelay;\n } // Add boundingRect and selectors to range.\n\n\n var areas = zrUtil.map(brushModel.areas, function (area) {\n var builder = boundingRectBuilders[area.brushType];\n var selectableArea = zrUtil.defaults({\n boundingRect: builder ? builder(area) : void 0\n }, area);\n selectableArea.selectors = makeBrushCommonSelectorForSeries(selectableArea);\n return selectableArea;\n });\n var visualMappings = visualSolution.createVisualMappings(brushModel.option, STATE_LIST, function (mappingOption) {\n mappingOption.mappingMethod = 'fixed';\n });\n zrUtil.isArray(brushLink) && zrUtil.each(brushLink, function (seriesIndex) {\n linkedSeriesMap[seriesIndex] = 1;\n });\n\n function linkOthers(seriesIndex) {\n return brushLink === 'all' || !!linkedSeriesMap[seriesIndex];\n } // If no supported brush or no brush on the series,\n // all visuals should be in original state.\n\n\n function brushed(rangeInfoList) {\n return !!rangeInfoList.length;\n }\n /**\n * Logic for each series: (If the logic has to be modified one day, do it carefully!)\n *\n * ( brushed ┬ && ┬hasBrushExist ┬ && linkOthers ) => StepA: ┬record, ┬ StepB: ┬visualByRecord.\n * !brushed┘ ├hasBrushExist ┤ └nothing,┘ ├visualByRecord.\n * └!hasBrushExist┘ └nothing.\n * ( !brushed && ┬hasBrushExist ┬ && linkOthers ) => StepA: nothing, StepB: ┬visualByRecord.\n * └!hasBrushExist┘ └nothing.\n * ( brushed ┬ && !linkOthers ) => StepA: nothing, StepB: ┬visualByCheck.\n * !brushed┘ └nothing.\n * ( !brushed && !linkOthers ) => StepA: nothing, StepB: nothing.\n */\n // Step A\n\n\n ecModel.eachSeries(function (seriesModel, seriesIndex) {\n var rangeInfoList = rangeInfoBySeries[seriesIndex] = [];\n seriesModel.subType === 'parallel' ? stepAParallel(seriesModel, seriesIndex) : stepAOthers(seriesModel, seriesIndex, rangeInfoList);\n });\n\n function stepAParallel(seriesModel, seriesIndex) {\n var coordSys = seriesModel.coordinateSystem;\n hasBrushExists = hasBrushExists || coordSys.hasAxisBrushed();\n linkOthers(seriesIndex) && coordSys.eachActiveState(seriesModel.getData(), function (activeState, dataIndex) {\n activeState === 'active' && (selectedDataIndexForLink[dataIndex] = 1);\n });\n }\n\n function stepAOthers(seriesModel, seriesIndex, rangeInfoList) {\n if (!seriesModel.brushSelector || brushModelNotControll(brushModel, seriesIndex)) {\n return;\n }\n\n zrUtil.each(areas, function (area) {\n if (brushModel.brushTargetManager.controlSeries(area, seriesModel, ecModel)) {\n rangeInfoList.push(area);\n }\n\n hasBrushExists = hasBrushExists || brushed(rangeInfoList);\n });\n\n if (linkOthers(seriesIndex) && brushed(rangeInfoList)) {\n var data_1 = seriesModel.getData();\n data_1.each(function (dataIndex) {\n if (checkInRange(seriesModel, rangeInfoList, data_1, dataIndex)) {\n selectedDataIndexForLink[dataIndex] = 1;\n }\n });\n }\n } // Step B\n\n\n ecModel.eachSeries(function (seriesModel, seriesIndex) {\n var seriesBrushSelected = {\n seriesId: seriesModel.id,\n seriesIndex: seriesIndex,\n seriesName: seriesModel.name,\n dataIndex: []\n }; // Every series exists in event params, convenient\n // for user to find series by seriesIndex.\n\n thisBrushSelected.selected.push(seriesBrushSelected);\n var rangeInfoList = rangeInfoBySeries[seriesIndex];\n var data = seriesModel.getData();\n var getValueState = linkOthers(seriesIndex) ? function (dataIndex) {\n return selectedDataIndexForLink[dataIndex] ? (seriesBrushSelected.dataIndex.push(data.getRawIndex(dataIndex)), 'inBrush') : 'outOfBrush';\n } : function (dataIndex) {\n return checkInRange(seriesModel, rangeInfoList, data, dataIndex) ? (seriesBrushSelected.dataIndex.push(data.getRawIndex(dataIndex)), 'inBrush') : 'outOfBrush';\n }; // If no supported brush or no brush, all visuals are in original state.\n\n (linkOthers(seriesIndex) ? hasBrushExists : brushed(rangeInfoList)) && visualSolution.applyVisual(STATE_LIST, visualMappings, data, getValueState);\n });\n });\n dispatchAction(api, throttleType, throttleDelay, brushSelected, payload);\n}\n;\n\nfunction dispatchAction(api, throttleType, throttleDelay, brushSelected, payload) {\n // This event will not be triggered when `setOpion`, otherwise dead lock may\n // triggered when do `setOption` in event listener, which we do not find\n // satisfactory way to solve yet. Some considered resolutions:\n // (a) Diff with prevoius selected data ant only trigger event when changed.\n // But store previous data and diff precisely (i.e., not only by dataIndex, but\n // also detect value changes in selected data) might bring complexity or fragility.\n // (b) Use spectial param like `silent` to suppress event triggering.\n // But such kind of volatile param may be weird in `setOption`.\n if (!payload) {\n return;\n }\n\n var zr = api.getZr();\n\n if (zr[DISPATCH_FLAG]) {\n return;\n }\n\n if (!zr[DISPATCH_METHOD]) {\n zr[DISPATCH_METHOD] = doDispatch;\n }\n\n var fn = throttleUtil.createOrUpdate(zr, DISPATCH_METHOD, throttleDelay, throttleType);\n fn(api, brushSelected);\n}\n\nfunction doDispatch(api, brushSelected) {\n if (!api.isDisposed()) {\n var zr = api.getZr();\n zr[DISPATCH_FLAG] = true;\n api.dispatchAction({\n type: 'brushSelect',\n batch: brushSelected\n });\n zr[DISPATCH_FLAG] = false;\n }\n}\n\nfunction checkInRange(seriesModel, rangeInfoList, data, dataIndex) {\n for (var i = 0, len = rangeInfoList.length; i < len; i++) {\n var area = rangeInfoList[i];\n\n if (seriesModel.brushSelector(dataIndex, data, area.selectors, area)) {\n return true;\n }\n }\n}\n\nfunction brushModelNotControll(brushModel, seriesIndex) {\n var seriesIndices = brushModel.option.seriesIndex;\n return seriesIndices != null && seriesIndices !== 'all' && (zrUtil.isArray(seriesIndices) ? zrUtil.indexOf(seriesIndices, seriesIndex) < 0 : seriesIndex !== seriesIndices);\n}\n\nvar boundingRectBuilders = {\n rect: function rect(area) {\n return getBoundingRectFromMinMax(area.range);\n },\n polygon: function polygon(area) {\n var minMax;\n var range = area.range;\n\n for (var i = 0, len = range.length; i < len; i++) {\n minMax = minMax || [[Infinity, -Infinity], [Infinity, -Infinity]];\n var rg = range[i];\n rg[0] < minMax[0][0] && (minMax[0][0] = rg[0]);\n rg[0] > minMax[0][1] && (minMax[0][1] = rg[0]);\n rg[1] < minMax[1][0] && (minMax[1][0] = rg[1]);\n rg[1] > minMax[1][1] && (minMax[1][1] = rg[1]);\n }\n\n return minMax && getBoundingRectFromMinMax(minMax);\n }\n};\n\nfunction getBoundingRectFromMinMax(minMax) {\n return new BoundingRect(minMax[0][0], minMax[1][0], minMax[0][1] - minMax[0][0], minMax[1][1] - minMax[1][0]);\n}","map":{"version":3,"sources":["D:/Work/WorkSpace/GitWorkSpace/TenShop/resource/ElectronicMall/src啊/ElectronicMallVue/node_modules/echarts/lib/component/brush/visualEncoding.js"],"names":["zrUtil","BoundingRect","visualSolution","makeBrushCommonSelectorForSeries","throttleUtil","BrushTargetManager","STATE_LIST","DISPATCH_METHOD","DISPATCH_FLAG","layoutCovers","ecModel","eachComponent","mainType","brushModel","brushTargetManager","option","setInputRanges","areas","brushVisual","api","payload","brushSelected","throttleType","throttleDelay","type","setBrushOption","key","brushOption","brushType","brushIndex","thisBrushSelected","brushId","id","brushName","name","clone","selected","push","brushLink","linkedSeriesMap","selectedDataIndexForLink","rangeInfoBySeries","hasBrushExists","map","area","builder","boundingRectBuilders","selectableArea","defaults","boundingRect","selectors","visualMappings","createVisualMappings","mappingOption","mappingMethod","isArray","each","seriesIndex","linkOthers","brushed","rangeInfoList","length","eachSeries","seriesModel","subType","stepAParallel","stepAOthers","coordSys","coordinateSystem","hasAxisBrushed","eachActiveState","getData","activeState","dataIndex","brushSelector","brushModelNotControll","controlSeries","data_1","checkInRange","seriesBrushSelected","seriesId","seriesName","data","getValueState","getRawIndex","applyVisual","dispatchAction","zr","getZr","doDispatch","fn","createOrUpdate","isDisposed","batch","i","len","seriesIndices","indexOf","rect","getBoundingRectFromMinMax","range","polygon","minMax","Infinity","rg"],"mappings":";;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,KAAKA,MAAZ,MAAwB,0BAAxB;AACA,OAAOC,YAAP,MAAyB,kCAAzB;AACA,OAAO,KAAKC,cAAZ,MAAgC,gCAAhC;AACA,SAASC,gCAAT,QAAiD,eAAjD;AACA,OAAO,KAAKC,YAAZ,MAA8B,wBAA9B;AACA,OAAOC,kBAAP,MAA+B,iCAA/B;AACA,IAAIC,UAAU,GAAG,CAAC,SAAD,EAAY,YAAZ,CAAjB;AACA,IAAIC,eAAe,GAAG,iBAAtB;AACA,IAAIC,aAAa,GAAG,wBAApB;AACA;AACA,OAAO,SAASC,YAAT,CAAsBC,OAAtB,EAA+B;AACpCA,EAAAA,OAAO,CAACC,aAAR,CAAsB;AACpBC,IAAAA,QAAQ,EAAE;AADU,GAAtB,EAEG,UAAUC,UAAV,EAAsB;AACvB,QAAIC,kBAAkB,GAAGD,UAAU,CAACC,kBAAX,GAAgC,IAAIT,kBAAJ,CAAuBQ,UAAU,CAACE,MAAlC,EAA0CL,OAA1C,CAAzD;AACAI,IAAAA,kBAAkB,CAACE,cAAnB,CAAkCH,UAAU,CAACI,KAA7C,EAAoDP,OAApD;AACD,GALD;AAMD;AACD;AACA;AACA;;AAEA,eAAe,SAASQ,WAAT,CAAqBR,OAArB,EAA8BS,GAA9B,EAAmCC,OAAnC,EAA4C;AACzD,MAAIC,aAAa,GAAG,EAApB;AACA,MAAIC,YAAJ;AACA,MAAIC,aAAJ;AACAb,EAAAA,OAAO,CAACC,aAAR,CAAsB;AACpBC,IAAAA,QAAQ,EAAE;AADU,GAAtB,EAEG,UAAUC,UAAV,EAAsB;AACvBO,IAAAA,OAAO,IAAIA,OAAO,CAACI,IAAR,KAAiB,kBAA5B,IAAkDX,UAAU,CAACY,cAAX,CAA0BL,OAAO,CAACM,GAAR,KAAgB,OAAhB,GAA0BN,OAAO,CAACO,WAAlC,GAAgD;AAC1HC,MAAAA,SAAS,EAAE;AAD+G,KAA1E,CAAlD;AAGD,GAND;AAOAnB,EAAAA,YAAY,CAACC,OAAD,CAAZ;AACAA,EAAAA,OAAO,CAACC,aAAR,CAAsB;AACpBC,IAAAA,QAAQ,EAAE;AADU,GAAtB,EAEG,UAAUC,UAAV,EAAsBgB,UAAtB,EAAkC;AACnC,QAAIC,iBAAiB,GAAG;AACtBC,MAAAA,OAAO,EAAElB,UAAU,CAACmB,EADE;AAEtBH,MAAAA,UAAU,EAAEA,UAFU;AAGtBI,MAAAA,SAAS,EAAEpB,UAAU,CAACqB,IAHA;AAItBjB,MAAAA,KAAK,EAAEjB,MAAM,CAACmC,KAAP,CAAatB,UAAU,CAACI,KAAxB,CAJe;AAKtBmB,MAAAA,QAAQ,EAAE;AALY,KAAxB,CADmC,CAOhC;AACH;;AAEAf,IAAAA,aAAa,CAACgB,IAAd,CAAmBP,iBAAnB;AACA,QAAIH,WAAW,GAAGd,UAAU,CAACE,MAA7B;AACA,QAAIuB,SAAS,GAAGX,WAAW,CAACW,SAA5B;AACA,QAAIC,eAAe,GAAG,EAAtB;AACA,QAAIC,wBAAwB,GAAG,EAA/B;AACA,QAAIC,iBAAiB,GAAG,EAAxB;AACA,QAAIC,cAAc,GAAG,KAArB;;AAEA,QAAI,CAACb,UAAL,EAAiB;AACf;AACAP,MAAAA,YAAY,GAAGK,WAAW,CAACL,YAA3B;AACAC,MAAAA,aAAa,GAAGI,WAAW,CAACJ,aAA5B;AACD,KAtBkC,CAsBjC;;;AAGF,QAAIN,KAAK,GAAGjB,MAAM,CAAC2C,GAAP,CAAW9B,UAAU,CAACI,KAAtB,EAA6B,UAAU2B,IAAV,EAAgB;AACvD,UAAIC,OAAO,GAAGC,oBAAoB,CAACF,IAAI,CAAChB,SAAN,CAAlC;AACA,UAAImB,cAAc,GAAG/C,MAAM,CAACgD,QAAP,CAAgB;AACnCC,QAAAA,YAAY,EAAEJ,OAAO,GAAGA,OAAO,CAACD,IAAD,CAAV,GAAmB,KAAK;AADV,OAAhB,EAElBA,IAFkB,CAArB;AAGAG,MAAAA,cAAc,CAACG,SAAf,GAA2B/C,gCAAgC,CAAC4C,cAAD,CAA3D;AACA,aAAOA,cAAP;AACD,KAPW,CAAZ;AAQA,QAAII,cAAc,GAAGjD,cAAc,CAACkD,oBAAf,CAAoCvC,UAAU,CAACE,MAA/C,EAAuDT,UAAvD,EAAmE,UAAU+C,aAAV,EAAyB;AAC/GA,MAAAA,aAAa,CAACC,aAAd,GAA8B,OAA9B;AACD,KAFoB,CAArB;AAGAtD,IAAAA,MAAM,CAACuD,OAAP,CAAejB,SAAf,KAA6BtC,MAAM,CAACwD,IAAP,CAAYlB,SAAZ,EAAuB,UAAUmB,WAAV,EAAuB;AACzElB,MAAAA,eAAe,CAACkB,WAAD,CAAf,GAA+B,CAA/B;AACD,KAF4B,CAA7B;;AAIA,aAASC,UAAT,CAAoBD,WAApB,EAAiC;AAC/B,aAAOnB,SAAS,KAAK,KAAd,IAAuB,CAAC,CAACC,eAAe,CAACkB,WAAD,CAA/C;AACD,KA1CkC,CA0CjC;AACF;;;AAGA,aAASE,OAAT,CAAiBC,aAAjB,EAAgC;AAC9B,aAAO,CAAC,CAACA,aAAa,CAACC,MAAvB;AACD;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI;;;AAGAnD,IAAAA,OAAO,CAACoD,UAAR,CAAmB,UAAUC,WAAV,EAAuBN,WAAvB,EAAoC;AACrD,UAAIG,aAAa,GAAGnB,iBAAiB,CAACgB,WAAD,CAAjB,GAAiC,EAArD;AACAM,MAAAA,WAAW,CAACC,OAAZ,KAAwB,UAAxB,GAAqCC,aAAa,CAACF,WAAD,EAAcN,WAAd,CAAlD,GAA+ES,WAAW,CAACH,WAAD,EAAcN,WAAd,EAA2BG,aAA3B,CAA1F;AACD,KAHD;;AAKA,aAASK,aAAT,CAAuBF,WAAvB,EAAoCN,WAApC,EAAiD;AAC/C,UAAIU,QAAQ,GAAGJ,WAAW,CAACK,gBAA3B;AACA1B,MAAAA,cAAc,GAAGA,cAAc,IAAIyB,QAAQ,CAACE,cAAT,EAAnC;AACAX,MAAAA,UAAU,CAACD,WAAD,CAAV,IAA2BU,QAAQ,CAACG,eAAT,CAAyBP,WAAW,CAACQ,OAAZ,EAAzB,EAAgD,UAAUC,WAAV,EAAuBC,SAAvB,EAAkC;AAC3GD,QAAAA,WAAW,KAAK,QAAhB,KAA6BhC,wBAAwB,CAACiC,SAAD,CAAxB,GAAsC,CAAnE;AACD,OAF0B,CAA3B;AAGD;;AAED,aAASP,WAAT,CAAqBH,WAArB,EAAkCN,WAAlC,EAA+CG,aAA/C,EAA8D;AAC5D,UAAI,CAACG,WAAW,CAACW,aAAb,IAA8BC,qBAAqB,CAAC9D,UAAD,EAAa4C,WAAb,CAAvD,EAAkF;AAChF;AACD;;AAEDzD,MAAAA,MAAM,CAACwD,IAAP,CAAYvC,KAAZ,EAAmB,UAAU2B,IAAV,EAAgB;AACjC,YAAI/B,UAAU,CAACC,kBAAX,CAA8B8D,aAA9B,CAA4ChC,IAA5C,EAAkDmB,WAAlD,EAA+DrD,OAA/D,CAAJ,EAA6E;AAC3EkD,UAAAA,aAAa,CAACvB,IAAd,CAAmBO,IAAnB;AACD;;AAEDF,QAAAA,cAAc,GAAGA,cAAc,IAAIiB,OAAO,CAACC,aAAD,CAA1C;AACD,OAND;;AAQA,UAAIF,UAAU,CAACD,WAAD,CAAV,IAA2BE,OAAO,CAACC,aAAD,CAAtC,EAAuD;AACrD,YAAIiB,MAAM,GAAGd,WAAW,CAACQ,OAAZ,EAAb;AACAM,QAAAA,MAAM,CAACrB,IAAP,CAAY,UAAUiB,SAAV,EAAqB;AAC/B,cAAIK,YAAY,CAACf,WAAD,EAAcH,aAAd,EAA6BiB,MAA7B,EAAqCJ,SAArC,CAAhB,EAAiE;AAC/DjC,YAAAA,wBAAwB,CAACiC,SAAD,CAAxB,GAAsC,CAAtC;AACD;AACF,SAJD;AAKD;AACF,KAlGkC,CAkGjC;;;AAGF/D,IAAAA,OAAO,CAACoD,UAAR,CAAmB,UAAUC,WAAV,EAAuBN,WAAvB,EAAoC;AACrD,UAAIsB,mBAAmB,GAAG;AACxBC,QAAAA,QAAQ,EAAEjB,WAAW,CAAC/B,EADE;AAExByB,QAAAA,WAAW,EAAEA,WAFW;AAGxBwB,QAAAA,UAAU,EAAElB,WAAW,CAAC7B,IAHA;AAIxBuC,QAAAA,SAAS,EAAE;AAJa,OAA1B,CADqD,CAMlD;AACH;;AAEA3C,MAAAA,iBAAiB,CAACM,QAAlB,CAA2BC,IAA3B,CAAgC0C,mBAAhC;AACA,UAAInB,aAAa,GAAGnB,iBAAiB,CAACgB,WAAD,CAArC;AACA,UAAIyB,IAAI,GAAGnB,WAAW,CAACQ,OAAZ,EAAX;AACA,UAAIY,aAAa,GAAGzB,UAAU,CAACD,WAAD,CAAV,GAA0B,UAAUgB,SAAV,EAAqB;AACjE,eAAOjC,wBAAwB,CAACiC,SAAD,CAAxB,IAAuCM,mBAAmB,CAACN,SAApB,CAA8BpC,IAA9B,CAAmC6C,IAAI,CAACE,WAAL,CAAiBX,SAAjB,CAAnC,GAAiE,SAAxG,IAAqH,YAA5H;AACD,OAFmB,GAEhB,UAAUA,SAAV,EAAqB;AACvB,eAAOK,YAAY,CAACf,WAAD,EAAcH,aAAd,EAA6BsB,IAA7B,EAAmCT,SAAnC,CAAZ,IAA6DM,mBAAmB,CAACN,SAApB,CAA8BpC,IAA9B,CAAmC6C,IAAI,CAACE,WAAL,CAAiBX,SAAjB,CAAnC,GAAiE,SAA9H,IAA2I,YAAlJ;AACD,OAJD,CAZqD,CAgBlD;;AAEH,OAACf,UAAU,CAACD,WAAD,CAAV,GAA0Bf,cAA1B,GAA2CiB,OAAO,CAACC,aAAD,CAAnD,KAAuE1D,cAAc,CAACmF,WAAf,CAA2B/E,UAA3B,EAAuC6C,cAAvC,EAAuD+B,IAAvD,EAA6DC,aAA7D,CAAvE;AACD,KAnBD;AAoBD,GA3HD;AA4HAG,EAAAA,cAAc,CAACnE,GAAD,EAAMG,YAAN,EAAoBC,aAApB,EAAmCF,aAAnC,EAAkDD,OAAlD,CAAd;AACD;AACD;;AAEA,SAASkE,cAAT,CAAwBnE,GAAxB,EAA6BG,YAA7B,EAA2CC,aAA3C,EAA0DF,aAA1D,EAAyED,OAAzE,EAAkF;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAI,CAACA,OAAL,EAAc;AACZ;AACD;;AAED,MAAImE,EAAE,GAAGpE,GAAG,CAACqE,KAAJ,EAAT;;AAEA,MAAID,EAAE,CAAC/E,aAAD,CAAN,EAAuB;AACrB;AACD;;AAED,MAAI,CAAC+E,EAAE,CAAChF,eAAD,CAAP,EAA0B;AACxBgF,IAAAA,EAAE,CAAChF,eAAD,CAAF,GAAsBkF,UAAtB;AACD;;AAED,MAAIC,EAAE,GAAGtF,YAAY,CAACuF,cAAb,CAA4BJ,EAA5B,EAAgChF,eAAhC,EAAiDgB,aAAjD,EAAgED,YAAhE,CAAT;AACAoE,EAAAA,EAAE,CAACvE,GAAD,EAAME,aAAN,CAAF;AACD;;AAED,SAASoE,UAAT,CAAoBtE,GAApB,EAAyBE,aAAzB,EAAwC;AACtC,MAAI,CAACF,GAAG,CAACyE,UAAJ,EAAL,EAAuB;AACrB,QAAIL,EAAE,GAAGpE,GAAG,CAACqE,KAAJ,EAAT;AACAD,IAAAA,EAAE,CAAC/E,aAAD,CAAF,GAAoB,IAApB;AACAW,IAAAA,GAAG,CAACmE,cAAJ,CAAmB;AACjB9D,MAAAA,IAAI,EAAE,aADW;AAEjBqE,MAAAA,KAAK,EAAExE;AAFU,KAAnB;AAIAkE,IAAAA,EAAE,CAAC/E,aAAD,CAAF,GAAoB,KAApB;AACD;AACF;;AAED,SAASsE,YAAT,CAAsBf,WAAtB,EAAmCH,aAAnC,EAAkDsB,IAAlD,EAAwDT,SAAxD,EAAmE;AACjE,OAAK,IAAIqB,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGnC,aAAa,CAACC,MAApC,EAA4CiC,CAAC,GAAGC,GAAhD,EAAqDD,CAAC,EAAtD,EAA0D;AACxD,QAAIlD,IAAI,GAAGgB,aAAa,CAACkC,CAAD,CAAxB;;AAEA,QAAI/B,WAAW,CAACW,aAAZ,CAA0BD,SAA1B,EAAqCS,IAArC,EAA2CtC,IAAI,CAACM,SAAhD,EAA2DN,IAA3D,CAAJ,EAAsE;AACpE,aAAO,IAAP;AACD;AACF;AACF;;AAED,SAAS+B,qBAAT,CAA+B9D,UAA/B,EAA2C4C,WAA3C,EAAwD;AACtD,MAAIuC,aAAa,GAAGnF,UAAU,CAACE,MAAX,CAAkB0C,WAAtC;AACA,SAAOuC,aAAa,IAAI,IAAjB,IAAyBA,aAAa,KAAK,KAA3C,KAAqDhG,MAAM,CAACuD,OAAP,CAAeyC,aAAf,IAAgChG,MAAM,CAACiG,OAAP,CAAeD,aAAf,EAA8BvC,WAA9B,IAA6C,CAA7E,GAAiFA,WAAW,KAAKuC,aAAtJ,CAAP;AACD;;AAED,IAAIlD,oBAAoB,GAAG;AACzBoD,EAAAA,IAAI,EAAE,cAAUtD,IAAV,EAAgB;AACpB,WAAOuD,yBAAyB,CAACvD,IAAI,CAACwD,KAAN,CAAhC;AACD,GAHwB;AAIzBC,EAAAA,OAAO,EAAE,iBAAUzD,IAAV,EAAgB;AACvB,QAAI0D,MAAJ;AACA,QAAIF,KAAK,GAAGxD,IAAI,CAACwD,KAAjB;;AAEA,SAAK,IAAIN,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGK,KAAK,CAACvC,MAA5B,EAAoCiC,CAAC,GAAGC,GAAxC,EAA6CD,CAAC,EAA9C,EAAkD;AAChDQ,MAAAA,MAAM,GAAGA,MAAM,IAAI,CAAC,CAACC,QAAD,EAAW,CAACA,QAAZ,CAAD,EAAwB,CAACA,QAAD,EAAW,CAACA,QAAZ,CAAxB,CAAnB;AACA,UAAIC,EAAE,GAAGJ,KAAK,CAACN,CAAD,CAAd;AACAU,MAAAA,EAAE,CAAC,CAAD,CAAF,GAAQF,MAAM,CAAC,CAAD,CAAN,CAAU,CAAV,CAAR,KAAyBA,MAAM,CAAC,CAAD,CAAN,CAAU,CAAV,IAAeE,EAAE,CAAC,CAAD,CAA1C;AACAA,MAAAA,EAAE,CAAC,CAAD,CAAF,GAAQF,MAAM,CAAC,CAAD,CAAN,CAAU,CAAV,CAAR,KAAyBA,MAAM,CAAC,CAAD,CAAN,CAAU,CAAV,IAAeE,EAAE,CAAC,CAAD,CAA1C;AACAA,MAAAA,EAAE,CAAC,CAAD,CAAF,GAAQF,MAAM,CAAC,CAAD,CAAN,CAAU,CAAV,CAAR,KAAyBA,MAAM,CAAC,CAAD,CAAN,CAAU,CAAV,IAAeE,EAAE,CAAC,CAAD,CAA1C;AACAA,MAAAA,EAAE,CAAC,CAAD,CAAF,GAAQF,MAAM,CAAC,CAAD,CAAN,CAAU,CAAV,CAAR,KAAyBA,MAAM,CAAC,CAAD,CAAN,CAAU,CAAV,IAAeE,EAAE,CAAC,CAAD,CAA1C;AACD;;AAED,WAAOF,MAAM,IAAIH,yBAAyB,CAACG,MAAD,CAA1C;AACD;AAlBwB,CAA3B;;AAqBA,SAASH,yBAAT,CAAmCG,MAAnC,EAA2C;AACzC,SAAO,IAAIrG,YAAJ,CAAiBqG,MAAM,CAAC,CAAD,CAAN,CAAU,CAAV,CAAjB,EAA+BA,MAAM,CAAC,CAAD,CAAN,CAAU,CAAV,CAA/B,EAA6CA,MAAM,CAAC,CAAD,CAAN,CAAU,CAAV,IAAeA,MAAM,CAAC,CAAD,CAAN,CAAU,CAAV,CAA5D,EAA0EA,MAAM,CAAC,CAAD,CAAN,CAAU,CAAV,IAAeA,MAAM,CAAC,CAAD,CAAN,CAAU,CAAV,CAAzF,CAAP;AACD","sourcesContent":["\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport BoundingRect from 'zrender/lib/core/BoundingRect.js';\nimport * as visualSolution from '../../visual/visualSolution.js';\nimport { makeBrushCommonSelectorForSeries } from './selector.js';\nimport * as throttleUtil from '../../util/throttle.js';\nimport BrushTargetManager from '../helper/BrushTargetManager.js';\nvar STATE_LIST = ['inBrush', 'outOfBrush'];\nvar DISPATCH_METHOD = '__ecBrushSelect';\nvar DISPATCH_FLAG = '__ecInBrushSelectEvent';\n;\nexport function layoutCovers(ecModel) {\n ecModel.eachComponent({\n mainType: 'brush'\n }, function (brushModel) {\n var brushTargetManager = brushModel.brushTargetManager = new BrushTargetManager(brushModel.option, ecModel);\n brushTargetManager.setInputRanges(brushModel.areas, ecModel);\n });\n}\n/**\n * Register the visual encoding if this modules required.\n */\n\nexport default function brushVisual(ecModel, api, payload) {\n var brushSelected = [];\n var throttleType;\n var throttleDelay;\n ecModel.eachComponent({\n mainType: 'brush'\n }, function (brushModel) {\n payload && payload.type === 'takeGlobalCursor' && brushModel.setBrushOption(payload.key === 'brush' ? payload.brushOption : {\n brushType: false\n });\n });\n layoutCovers(ecModel);\n ecModel.eachComponent({\n mainType: 'brush'\n }, function (brushModel, brushIndex) {\n var thisBrushSelected = {\n brushId: brushModel.id,\n brushIndex: brushIndex,\n brushName: brushModel.name,\n areas: zrUtil.clone(brushModel.areas),\n selected: []\n }; // Every brush component exists in event params, convenient\n // for user to find by index.\n\n brushSelected.push(thisBrushSelected);\n var brushOption = brushModel.option;\n var brushLink = brushOption.brushLink;\n var linkedSeriesMap = [];\n var selectedDataIndexForLink = [];\n var rangeInfoBySeries = [];\n var hasBrushExists = false;\n\n if (!brushIndex) {\n // Only the first throttle setting works.\n throttleType = brushOption.throttleType;\n throttleDelay = brushOption.throttleDelay;\n } // Add boundingRect and selectors to range.\n\n\n var areas = zrUtil.map(brushModel.areas, function (area) {\n var builder = boundingRectBuilders[area.brushType];\n var selectableArea = zrUtil.defaults({\n boundingRect: builder ? builder(area) : void 0\n }, area);\n selectableArea.selectors = makeBrushCommonSelectorForSeries(selectableArea);\n return selectableArea;\n });\n var visualMappings = visualSolution.createVisualMappings(brushModel.option, STATE_LIST, function (mappingOption) {\n mappingOption.mappingMethod = 'fixed';\n });\n zrUtil.isArray(brushLink) && zrUtil.each(brushLink, function (seriesIndex) {\n linkedSeriesMap[seriesIndex] = 1;\n });\n\n function linkOthers(seriesIndex) {\n return brushLink === 'all' || !!linkedSeriesMap[seriesIndex];\n } // If no supported brush or no brush on the series,\n // all visuals should be in original state.\n\n\n function brushed(rangeInfoList) {\n return !!rangeInfoList.length;\n }\n /**\n * Logic for each series: (If the logic has to be modified one day, do it carefully!)\n *\n * ( brushed ┬ && ┬hasBrushExist ┬ && linkOthers ) => StepA: ┬record, ┬ StepB: ┬visualByRecord.\n * !brushed┘ ├hasBrushExist ┤ └nothing,┘ ├visualByRecord.\n * └!hasBrushExist┘ └nothing.\n * ( !brushed && ┬hasBrushExist ┬ && linkOthers ) => StepA: nothing, StepB: ┬visualByRecord.\n * └!hasBrushExist┘ └nothing.\n * ( brushed ┬ && !linkOthers ) => StepA: nothing, StepB: ┬visualByCheck.\n * !brushed┘ └nothing.\n * ( !brushed && !linkOthers ) => StepA: nothing, StepB: nothing.\n */\n // Step A\n\n\n ecModel.eachSeries(function (seriesModel, seriesIndex) {\n var rangeInfoList = rangeInfoBySeries[seriesIndex] = [];\n seriesModel.subType === 'parallel' ? stepAParallel(seriesModel, seriesIndex) : stepAOthers(seriesModel, seriesIndex, rangeInfoList);\n });\n\n function stepAParallel(seriesModel, seriesIndex) {\n var coordSys = seriesModel.coordinateSystem;\n hasBrushExists = hasBrushExists || coordSys.hasAxisBrushed();\n linkOthers(seriesIndex) && coordSys.eachActiveState(seriesModel.getData(), function (activeState, dataIndex) {\n activeState === 'active' && (selectedDataIndexForLink[dataIndex] = 1);\n });\n }\n\n function stepAOthers(seriesModel, seriesIndex, rangeInfoList) {\n if (!seriesModel.brushSelector || brushModelNotControll(brushModel, seriesIndex)) {\n return;\n }\n\n zrUtil.each(areas, function (area) {\n if (brushModel.brushTargetManager.controlSeries(area, seriesModel, ecModel)) {\n rangeInfoList.push(area);\n }\n\n hasBrushExists = hasBrushExists || brushed(rangeInfoList);\n });\n\n if (linkOthers(seriesIndex) && brushed(rangeInfoList)) {\n var data_1 = seriesModel.getData();\n data_1.each(function (dataIndex) {\n if (checkInRange(seriesModel, rangeInfoList, data_1, dataIndex)) {\n selectedDataIndexForLink[dataIndex] = 1;\n }\n });\n }\n } // Step B\n\n\n ecModel.eachSeries(function (seriesModel, seriesIndex) {\n var seriesBrushSelected = {\n seriesId: seriesModel.id,\n seriesIndex: seriesIndex,\n seriesName: seriesModel.name,\n dataIndex: []\n }; // Every series exists in event params, convenient\n // for user to find series by seriesIndex.\n\n thisBrushSelected.selected.push(seriesBrushSelected);\n var rangeInfoList = rangeInfoBySeries[seriesIndex];\n var data = seriesModel.getData();\n var getValueState = linkOthers(seriesIndex) ? function (dataIndex) {\n return selectedDataIndexForLink[dataIndex] ? (seriesBrushSelected.dataIndex.push(data.getRawIndex(dataIndex)), 'inBrush') : 'outOfBrush';\n } : function (dataIndex) {\n return checkInRange(seriesModel, rangeInfoList, data, dataIndex) ? (seriesBrushSelected.dataIndex.push(data.getRawIndex(dataIndex)), 'inBrush') : 'outOfBrush';\n }; // If no supported brush or no brush, all visuals are in original state.\n\n (linkOthers(seriesIndex) ? hasBrushExists : brushed(rangeInfoList)) && visualSolution.applyVisual(STATE_LIST, visualMappings, data, getValueState);\n });\n });\n dispatchAction(api, throttleType, throttleDelay, brushSelected, payload);\n}\n;\n\nfunction dispatchAction(api, throttleType, throttleDelay, brushSelected, payload) {\n // This event will not be triggered when `setOpion`, otherwise dead lock may\n // triggered when do `setOption` in event listener, which we do not find\n // satisfactory way to solve yet. Some considered resolutions:\n // (a) Diff with prevoius selected data ant only trigger event when changed.\n // But store previous data and diff precisely (i.e., not only by dataIndex, but\n // also detect value changes in selected data) might bring complexity or fragility.\n // (b) Use spectial param like `silent` to suppress event triggering.\n // But such kind of volatile param may be weird in `setOption`.\n if (!payload) {\n return;\n }\n\n var zr = api.getZr();\n\n if (zr[DISPATCH_FLAG]) {\n return;\n }\n\n if (!zr[DISPATCH_METHOD]) {\n zr[DISPATCH_METHOD] = doDispatch;\n }\n\n var fn = throttleUtil.createOrUpdate(zr, DISPATCH_METHOD, throttleDelay, throttleType);\n fn(api, brushSelected);\n}\n\nfunction doDispatch(api, brushSelected) {\n if (!api.isDisposed()) {\n var zr = api.getZr();\n zr[DISPATCH_FLAG] = true;\n api.dispatchAction({\n type: 'brushSelect',\n batch: brushSelected\n });\n zr[DISPATCH_FLAG] = false;\n }\n}\n\nfunction checkInRange(seriesModel, rangeInfoList, data, dataIndex) {\n for (var i = 0, len = rangeInfoList.length; i < len; i++) {\n var area = rangeInfoList[i];\n\n if (seriesModel.brushSelector(dataIndex, data, area.selectors, area)) {\n return true;\n }\n }\n}\n\nfunction brushModelNotControll(brushModel, seriesIndex) {\n var seriesIndices = brushModel.option.seriesIndex;\n return seriesIndices != null && seriesIndices !== 'all' && (zrUtil.isArray(seriesIndices) ? zrUtil.indexOf(seriesIndices, seriesIndex) < 0 : seriesIndex !== seriesIndices);\n}\n\nvar boundingRectBuilders = {\n rect: function (area) {\n return getBoundingRectFromMinMax(area.range);\n },\n polygon: function (area) {\n var minMax;\n var range = area.range;\n\n for (var i = 0, len = range.length; i < len; i++) {\n minMax = minMax || [[Infinity, -Infinity], [Infinity, -Infinity]];\n var rg = range[i];\n rg[0] < minMax[0][0] && (minMax[0][0] = rg[0]);\n rg[0] > minMax[0][1] && (minMax[0][1] = rg[0]);\n rg[1] < minMax[1][0] && (minMax[1][0] = rg[1]);\n rg[1] > minMax[1][1] && (minMax[1][1] = rg[1]);\n }\n\n return minMax && getBoundingRectFromMinMax(minMax);\n }\n};\n\nfunction getBoundingRectFromMinMax(minMax) {\n return new BoundingRect(minMax[0][0], minMax[1][0], minMax[0][1] - minMax[0][0], minMax[1][1] - minMax[1][0]);\n}"]},"metadata":{},"sourceType":"module"}