{"version":3,"sources":["webpack:///./node_modules/echarts/lib/chart/parallel/ParallelSeries.js","webpack:///./node_modules/echarts/lib/component/visualMap/PiecewiseView.js","webpack:///./node_modules/echarts/lib/component/tooltip.js","webpack:///./node_modules/echarts/lib/chart/funnel/FunnelSeries.js","webpack:///./node_modules/echarts/lib/coord/geo/prepareCustom.js","webpack:///./node_modules/echarts/lib/coord/geo/Geo.js","webpack:///./node_modules/core-js/library/modules/es6.symbol.js","webpack:///./node_modules/echarts/lib/coord/cartesian/cartesianAxisHelper.js","webpack:///./node_modules/xe-utils/methods/string/startsWith.js","webpack:///./node_modules/echarts/lib/component/gridSimple.js","webpack:///./node_modules/echarts/lib/component/helper/roamHelper.js","webpack:///./node_modules/core-js/modules/_iter-define.js","webpack:///./node_modules/plxy-grid/lib/keyboard/index.js","webpack:///./node_modules/xe-utils/methods/function/before.js","webpack:///./node_modules/core-js/modules/_string-at.js","webpack:///./node_modules/echarts/lib/component/dataset.js","webpack:///./node_modules/plxy-grid/lib/header/index.js","webpack:///./node_modules/core-js/modules/_advance-string-index.js","webpack:///./node_modules/core-js/library/modules/_object-gopn-ext.js","webpack:///./node_modules/plxy-grid/lib/menu/index.js","webpack:///./node_modules/is-buffer/index.js","webpack:///./node_modules/zrender/lib/core/timsort.js","webpack:///./node_modules/zrender/lib/contain/polygon.js","webpack:///./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack:///./node_modules/xe-utils/methods/number/helperNumberAdd.js","webpack:///./node_modules/zrender/lib/animation/Animator.js","webpack:///./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack:///./node_modules/echarts/lib/data/Tree.js","webpack:///./node_modules/echarts/lib/component/visualMap/PiecewiseModel.js","webpack:///./node_modules/echarts/lib/component/tooltip/TooltipContent.js","webpack:///./node_modules/core-js/library/modules/_has.js","webpack:///./node_modules/echarts/lib/chart/gauge.js","webpack:///./node_modules/echarts/lib/chart/parallel.js","webpack:///./node_modules/echarts/lib/chart/candlestick.js","webpack:///./node_modules/pl-table/lib/utils/clickoutside.js","webpack:///./node_modules/echarts/lib/component/timeline/TimelineAxis.js","webpack:///./node_modules/core-js/modules/es7.promise.finally.js","webpack:///./node_modules/echarts/lib/chart/candlestick/candlestickLayout.js","webpack:///./node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/xe-utils/methods/base/has.js","webpack:///./node_modules/xe-utils/methods/web/locat.js","webpack:///./node_modules/core-js/modules/_array-methods.js","webpack:///./node_modules/echarts-wordcloud/src/wordCloud.js","webpack:///./node_modules/echarts/lib/component/dataZoom.js","webpack:///./node_modules/xe-utils/methods/string/camelCase.js","webpack:///./node_modules/zrender/lib/core/GestureMgr.js","webpack:///./node_modules/echarts/lib/component/legendScroll.js","webpack:///./node_modules/xe-utils/methods/base/helperCreatePickOmit.js","webpack:///./node_modules/plxy-grid/lib/resize/src/resize.js","webpack:///./node_modules/core-js/modules/_flags.js","webpack:///./node_modules/zrender/lib/core/arrayDiff2.js","webpack:///./node_modules/echarts/lib/chart/helper/multipleGraphEdgeHelper.js","webpack:///./node_modules/echarts/lib/component/helper/MapDraw.js","webpack:///./node_modules/zrender/lib/mixin/Transformable.js","webpack:///./node_modules/plxy-grid/lib/v-x-e-table/src/buttons.js","webpack:///./node_modules/core-js/modules/_object-keys.js","webpack:///./node_modules/zrender/lib/graphic/Image.js","webpack:///./node_modules/axios/lib/helpers/spread.js","webpack:///./node_modules/echarts/lib/chart/sankey/sankeyVisual.js","webpack:///./node_modules/throttle-debounce/debounce.js","webpack:///./node_modules/xe-utils/methods/date/getWhatDay.js","webpack:///./node_modules/xe-utils/methods/base/omit.js","webpack:///./node_modules/echarts/lib/component/legend/ScrollableLegendView.js","webpack:///./node_modules/echarts/lib/coord/parallel/ParallelAxis.js","webpack:///./node_modules/echarts/lib/data/helper/sourceHelper.js","webpack:///./node_modules/core-js/library/modules/_to-absolute-index.js","webpack:///./node_modules/echarts/lib/chart/helper/EffectLine.js","webpack:///./node_modules/plxy-grid/lib/body/index.js","webpack:///./node_modules/babel-runtime/helpers/typeof.js","webpack:///./node_modules/echarts/lib/component/brush/visualEncoding.js","webpack:///./node_modules/echarts-amap/index.js","webpack:///./node_modules/xe-utils/methods/base/eqNull.js","webpack:///./node_modules/echarts/lib/chart/effectScatter.js","webpack:///./node_modules/core-js/modules/_is-array.js","webpack:///./node_modules/xe-utils/methods/array/copyWithin.js","webpack:///./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack:///./node_modules/core-js/modules/_object-gopd.js","webpack:///./node_modules/pl-table/lib/pl-table.common.js","webpack:///./node_modules/echarts/lib/component/axisPointer/findPointFromSeries.js","webpack:///./node_modules/xe-utils/methods/date/helperGetUTCDateTime.js","webpack:///./node_modules/plxy-grid/lib/table/index.js","webpack:///./node_modules/echarts/lib/chart/helper/Symbol.js","webpack:///./node_modules/echarts/lib/chart/radar/RadarView.js","webpack:///./node_modules/core-js/modules/_object-dps.js","webpack:///./node_modules/echarts/lib/component/axis/RadiusAxisView.js","webpack:///./node_modules/echarts/lib/helper.js","webpack:///./node_modules/plxy-grid/lib/tools/index.js","webpack:///./node_modules/echarts/lib/chart/scatter.js","webpack:///./node_modules/core-js/library/modules/es6.string.iterator.js","webpack:///./node_modules/zrender/lib/core/matrix.js","webpack:///./node_modules/core-js/library/modules/_enum-bug-keys.js","webpack:///./node_modules/xe-utils/methods/array/union.js","webpack:///./node_modules/plxy-grid/lib/v-x-e-table/index.js","webpack:///./node_modules/echarts/lib/coord/radar/RadarModel.js","webpack:///./node_modules/echarts/lib/coord/geo/fix/textCoord.js","webpack:///./node_modules/echarts/lib/chart/bar/BarSeries.js","webpack:///./node_modules/echarts/lib/component/axisPointer/globalListener.js","webpack:///./node_modules/babel-runtime/core-js/symbol/iterator.js","webpack:///./node_modules/xe-utils/methods/base/isNull.js","webpack:///./node_modules/xe-utils/methods/base/isMatch.js","webpack:///./node_modules/echarts/lib/scale/Ordinal.js","webpack:///./node_modules/xe-utils/methods/base/helperCreateiterateIndexOf.js","webpack:///./node_modules/plxy-grid/lib/edit/index.js","webpack:///./node_modules/xe-utils/methods/array/sample.js","webpack:///./node_modules/echarts/lib/component/marker/MarkLineModel.js","webpack:///./node_modules/core-js/modules/_task.js","webpack:///./node_modules/echarts/lib/chart/candlestick/CandlestickView.js","webpack:///./node_modules/zrender/lib/graphic/Displayable.js","webpack:///./node_modules/echarts/lib/chart/pie/PieView.js","webpack:///./node_modules/xe-utils/methods/base/isArray.js","webpack:///./node_modules/xe-utils/methods/number/subtract.js","webpack:///./node_modules/core-js/library/modules/_to-primitive.js","webpack:///./node_modules/core-js/modules/es6.array.from.js","webpack:///./node_modules/echarts/lib/chart/graph/simpleLayoutHelper.js","webpack:///./node_modules/echarts/lib/coord/polar/polarCreator.js","webpack:///./node_modules/xe-utils/methods/array/invoke.js","webpack:///./node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///./node_modules/echarts/lib/layout/barPolar.js","webpack:///./node_modules/xe-utils/methods/static/staticDecodeURIComponent.js","webpack:///./node_modules/xe-utils/methods/date/helperNewDate.js","webpack:///./node_modules/core-js/library/modules/_dom-create.js","webpack:///./node_modules/plxy-grid/lib/toolbar/src/toolbar.js","webpack:///./node_modules/echarts/lib/chart/gauge/PointerPath.js","webpack:///./node_modules/echarts/lib/coord/geo/GeoModel.js","webpack:///./node_modules/xe-utils/methods/base/isSet.js","webpack:///./node_modules/core-js/modules/_iter-call.js","webpack:///./node_modules/zrender/lib/mixin/Eventful.js","webpack:///./node_modules/xe-utils/methods/base/indexOf.js","webpack:///./node_modules/echarts/lib/coord/axisModelCommonMixin.js","webpack:///./node_modules/echarts/lib/CoordinateSystem.js","webpack:///./node_modules/zrender/lib/core/PathProxy.js","webpack:///./node_modules/core-js/modules/es6.array.find-index.js","webpack:///./node_modules/plxy-grid/lib/export/src/import-panel.js","webpack:///./node_modules/echarts/extension/bmap/BMapView.js","webpack:///./node_modules/echarts/lib/component/toolbox/featureManager.js","webpack:///./node_modules/core-js/modules/_fix-re-wks.js","webpack:///./node_modules/echarts/lib/chart/tree/TreeSeries.js","webpack:///./node_modules/echarts/lib/scale/Time.js","webpack:///./node_modules/echarts/lib/chart/line/LineSeries.js","webpack:///./node_modules/echarts/lib/coord/parallel/ParallelModel.js","webpack:///./node_modules/svg-sprite-loader/runtime/browser-sprite.build.js","webpack:///./node_modules/plxy-grid/lib/modal/src/modal.js","webpack:///./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack:///./node_modules/zrender/lib/core/env.js","webpack:///./node_modules/echarts/lib/chart/tree/layoutHelper.js","webpack:///./node_modules/xe-utils/methods/base/helperGetHGSKeys.js","webpack:///./node_modules/echarts/lib/util/graphic.js","webpack:///./node_modules/core-js/modules/_dom-create.js","webpack:///./node_modules/echarts/lib/component/dataZoom/SliderZoomView.js","webpack:///./node_modules/plxy-grid/lib/resize/index.js","webpack:///./node_modules/plxy-grid/lib/conf/index.js","webpack:///./node_modules/echarts/lib/chart/helper/createGraphFromNodeEdge.js","webpack:///./node_modules/core-js/modules/_classof.js","webpack:///./node_modules/echarts/lib/coord/radar/Radar.js","webpack:///./node_modules/echarts/lib/chart/graph.js","webpack:///./node_modules/core-js/library/modules/_to-object.js","webpack:///./node_modules/axios/lib/defaults.js","webpack:///./node_modules/echarts/lib/component/marker/MarkerModel.js","webpack:///./node_modules/xe-utils/methods/date/getYearWeek.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/echarts/lib/chart/funnel/funnelLayout.js","webpack:///./node_modules/echarts-amap/dist/echarts-amap.min.js","webpack:///./node_modules/echarts/lib/chart/themeRiver/ThemeRiverView.js","webpack:///./node_modules/core-js/library/modules/_defined.js","webpack:///./node_modules/xe-utils/methods/function/property.js","webpack:///./node_modules/core-js/modules/_object-gops.js","webpack:///./node_modules/echarts/lib/preprocessor/helper/compatStyle.js","webpack:///./node_modules/core-js/modules/core.get-iterator-method.js","webpack:///./node_modules/v-charts/lib/index.js","webpack:///./node_modules/echarts/lib/model/mixin/makeStyleMapper.js","webpack:///./node_modules/xe-utils/methods/base/forOf.js","webpack:///./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///./node_modules/plxy-grid/lib/cell/index.js","webpack:///./node_modules/core-js/modules/es6.regexp.split.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack:///./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack:///./node_modules/echarts/lib/chart/pie/pieLayout.js","webpack:///./node_modules/echarts/lib/chart/graph/categoryVisual.js","webpack:///./node_modules/core-js/library/modules/_fails.js","webpack:///./node_modules/echarts/lib/lang.js","webpack:///./node_modules/echarts/lib/component/visualMapPiecewise.js","webpack:///./node_modules/xe-utils/methods/array/slice.js","webpack:///./node_modules/xe-utils/methods/number/divide.js","webpack:///./node_modules/xe-utils/methods/url/serialize.js","webpack:///./node_modules/core-js/modules/_redefine.js","webpack:///./node_modules/core-js/modules/_object-create.js","webpack:///./node_modules/vue/dist/vue.runtime.esm.js","webpack:///./node_modules/echarts/lib/data/helper/dataProvider.js","webpack:///./node_modules/core-js/modules/_wks.js","webpack:///./node_modules/zrender/lib/graphic/Style.js","webpack:///./node_modules/xe-utils/methods/array/includes.js","webpack:///./node_modules/echarts/lib/visual/visualSolution.js","webpack:///./node_modules/pl-table/lib/utils/popup/popup-manager.js","webpack:///./node_modules/echarts/lib/component/dataZoom/dataZoomProcessor.js","webpack:///./node_modules/xe-utils/methods/static/staticWeekTime.js","webpack:///./node_modules/xe-utils/methods/base/isString.js","webpack:///./node_modules/xe-utils/methods/base/groupBy.js","webpack:///./node_modules/xe-utils/methods/base/countBy.js","webpack:///./node_modules/zrender/lib/config.js","webpack:///./node_modules/echarts/lib/component/singleAxis.js","webpack:///./node_modules/core-js/modules/_library.js","webpack:///./node_modules/plxy-grid/lib/v-x-e-table/src/interceptor.js","webpack:///./node_modules/axios/lib/core/createError.js","webpack:///./node_modules/core-js/modules/_cof.js","webpack:///./node_modules/core-js/modules/_string-pad.js","webpack:///./node_modules/plxy-grid/lib/pager/src/pager.js","webpack:///./node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/echarts/lib/component/brush.js","webpack:///./node_modules/echarts/lib/data/helper/dimensionHelper.js","webpack:///./node_modules/vuex/dist/vuex.esm.js","webpack:///./node_modules/echarts/lib/component/polar.js","webpack:///./node_modules/echarts/lib/chart/boxplot/boxplotVisual.js","webpack:///./node_modules/core-js/modules/es6.string.includes.js","webpack:///./node_modules/echarts/lib/chart/bar/BaseBarSeries.js","webpack:///./node_modules/zrender/lib/tool/parseSVG.js","webpack:///./node_modules/echarts/lib/component/visualMap/ContinuousModel.js","webpack:///./node_modules/echarts/lib/coord/single/prepareCustom.js","webpack:///./node_modules/echarts/lib/component/marker/MarkLineView.js","webpack:///./node_modules/zrender/lib/animation/Animation.js","webpack:///./node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/xe-utils/methods/string/endsWith.js","webpack:///./node_modules/core-js/library/modules/_iter-define.js","webpack:///./node_modules/echarts/lib/chart/sankey.js","webpack:///./node_modules/echarts/index.js","webpack:///./node_modules/echarts/lib/data/helper/linkList.js","webpack:///./node_modules/core-js/modules/_invoke.js","webpack:///./node_modules/echarts/lib/coord/geo/fix/nanhai.js","webpack:///./node_modules/nprogress/nprogress.js","webpack:///./node_modules/echarts/lib/component/dataZoom/InsideZoomView.js","webpack:///./node_modules/xe-utils/methods/web/browse.js","webpack:///./node_modules/xe-utils/methods/date/helperGetDateMonth.js","webpack:///./node_modules/core-js/modules/_hide.js","webpack:///./node_modules/echarts-liquidfill/src/liquidFillSeries.js","webpack:///./node_modules/core-js/library/modules/_html.js","webpack:///./node_modules/echarts/lib/chart/helper/createListFromArray.js","webpack:///./node_modules/echarts/lib/chart/bar/PictorialBarView.js","webpack:///./node_modules/core-js/library/modules/_iobject.js","webpack:///./node_modules/core-js/modules/_is-array-iter.js","webpack:///./node_modules/plxy-grid/lib/tools/src/dom.js","webpack:///./node_modules/echarts/lib/chart/sunburst/SunburstView.js","webpack:///./node_modules/zrender/lib/tool/path.js","webpack:///./node_modules/xe-utils/methods/static/staticObjectToString.js","webpack:///./node_modules/echarts/lib/component/timeline/SliderTimelineView.js","webpack:///./node_modules/xe-utils/methods/number/toInteger.js","webpack:///./node_modules/xe-utils/methods/number/helperNumberDecimal.js","webpack:///./node_modules/core-js/library/modules/_object-pie.js","webpack:///./node_modules/xe-utils/methods/array/arrayLastIndexOf.js","webpack:///./node_modules/core-js/library/modules/_hide.js","webpack:///./node_modules/echarts-wordcloud/src/WordCloudSeries.js","webpack:///./node_modules/xe-utils/methods/number/commafy.js","webpack:///./node_modules/xe-utils/methods/base/isNaN.js","webpack:///./node_modules/core-js/library/modules/_to-iobject.js","webpack:///./node_modules/xe-utils/methods/base/isRegExp.js","webpack:///./node_modules/echarts/lib/component/dataZoom/SliderZoomModel.js","webpack:///./node_modules/core-js/modules/_wks-ext.js","webpack:///./node_modules/xe-utils/methods/base/findLastIndexOf.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack:///./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack:///./node_modules/echarts/lib/util/number.js","webpack:///./node_modules/xe-utils/methods/base/helperDeleteProperty.js","webpack:///./node_modules/core-js/modules/es6.regexp.flags.js","webpack:///./node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/echarts/lib/model/mixin/dataFormat.js","webpack:///./node_modules/xe-utils/methods/base/lastEach.js","webpack:///./node_modules/core-js/modules/_object-gpo.js","webpack:///./node_modules/echarts/lib/model/mixin/lineStyle.js","webpack:///./node_modules/zrender/lib/graphic/IncrementalDisplayable.js","webpack:///./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/echarts/lib/component/timeline/timelineAction.js","webpack:///./node_modules/echarts/lib/chart/heatmap/HeatmapSeries.js","webpack:///./node_modules/xe-utils/methods/static/staticLocation.js","webpack:///./node_modules/core-js/library/modules/_to-integer.js","webpack:///./node_modules/echarts/lib/component/dataZoom/DataZoomModel.js","webpack:///./node_modules/core-js/modules/_wks-define.js","webpack:///./node_modules/xe-utils/methods/static/staticEncodeURIComponent.js","webpack:///./node_modules/core-js/modules/es6.regexp.constructor.js","webpack:///./node_modules/deepmerge/dist/cjs.js","webpack:///./node_modules/plxy-grid/lib/validator/index.js","webpack:///./node_modules/xe-utils/methods/base/clear.js","webpack:///./node_modules/echarts/lib/component/visualMap/ContinuousView.js","webpack:///./node_modules/xe-utils/methods/base/isArguments.js","webpack:///./node_modules/echarts/lib/echarts.js","webpack:///./node_modules/plxy-grid/lib/filter/src/panel.js","webpack:///./node_modules/babel-runtime/core-js/object/assign.js","webpack:///./node_modules/zrender/lib/svg/graphic.js","webpack:///./node_modules/xe-utils/methods/date/toStringDate.js","webpack:///./node_modules/zrender/lib/core/vector.js","webpack:///./node_modules/xe-utils/methods/array/filterTree.js","webpack:///./node_modules/plxy-grid/lib/keyboard/src/mixin.js","webpack:///./node_modules/xe-utils/methods/url/parseUrl.js","webpack:///./node_modules/plxy-grid/lib/header/src/header.js","webpack:///./node_modules/echarts/lib/component/dataZoom/SelectZoomModel.js","webpack:///./node_modules/core-js/modules/_iter-create.js","webpack:///./node_modules/babel-runtime/helpers/extends.js","webpack:///./node_modules/plxy-grid/lib/filter/src/mixin.js","webpack:///./node_modules/zrender/lib/tool/color.js","webpack:///./node_modules/xe-utils/methods/base/entries.js","webpack:///./node_modules/xe-utils/methods/object/lastObjectEach.js","webpack:///./node_modules/xe-utils/methods/base/isFinite.js","webpack:///./node_modules/zrender/lib/graphic/Gradient.js","webpack:///./node_modules/echarts/lib/component/tooltip/TooltipView.js","webpack:///./node_modules/echarts/lib/model/Model.js","webpack:///./node_modules/xe-utils/methods/string/helperFormatEscaper.js","webpack:///./node_modules/echarts/lib/coord/single/singleCreator.js","webpack:///./node_modules/node-libs-browser/mock/process.js","webpack:///./node_modules/echarts/lib/component/marker/MarkAreaModel.js","webpack:///./node_modules/echarts/lib/chart/treemap/treemapAction.js","webpack:///./node_modules/zrender/lib/animation/Clip.js","webpack:///./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack:///./node_modules/xe-utils/methods/base/isDate.js","webpack:///./node_modules/echarts/lib/chart/sunburst/sunburstAction.js","webpack:///./node_modules/echarts/lib/chart/helper/Polyline.js","webpack:///./node_modules/core-js/modules/es6.object.keys.js","webpack:///./node_modules/zrender/lib/graphic/shape/Ring.js","webpack:///./node_modules/core-js/modules/_to-integer.js","webpack:///./node_modules/core-js/library/modules/_set-to-string-tag.js","webpack:///./node_modules/pl-table/lib/utils/scroll-into-view.js","webpack:///./node_modules/core-js/modules/_property-desc.js","webpack:///./node_modules/echarts/lib/component/legend/legendAction.js","webpack:///./node_modules/axios/lib/core/settle.js","webpack:///./node_modules/xe-utils/methods/base/getType.js","webpack:///./node_modules/echarts/lib/coord/calendar/prepareCustom.js","webpack:///./node_modules/echarts/lib/chart/effectScatter/EffectScatterView.js","webpack:///./node_modules/xe-utils/methods/array/filter.js","webpack:///./node_modules/core-js/library/modules/_enum-keys.js","webpack:///./node_modules/xe-utils/methods/number/toNumber.js","webpack:///./node_modules/echarts/lib/chart/heatmap/HeatmapView.js","webpack:///./node_modules/echarts/lib/chart/graph/adjustEdge.js","webpack:///./node_modules/core-js/library/modules/_iterators.js","webpack:///./node_modules/pl-table/lib/utils/popup/index.js","webpack:///./node_modules/zrender/lib/graphic/LinearGradient.js","webpack:///./node_modules/echarts/lib/component/axisPointer/AxisPointerModel.js","webpack:///./node_modules/echarts/lib/coord/cartesian/AxisModel.js","webpack:///./node_modules/xe-utils/methods/base/isSymbol.js","webpack:///./node_modules/core-js/modules/es6.regexp.match.js","webpack:///./node_modules/zrender/lib/core/log.js","webpack:///./node_modules/xe-utils/methods/function/after.js","webpack:///./node_modules/echarts/lib/action/geoRoam.js","webpack:///./node_modules/echarts/lib/component/helper/RoamController.js","webpack:///./node_modules/zrender/lib/core/curve.js","webpack:///./node_modules/core-js/modules/_for-of.js","webpack:///./node_modules/echarts/lib/component/axisPointer/CartesianAxisPointer.js","webpack:///./node_modules/zrender/lib/graphic/shape/Sector.js","webpack:///./node_modules/zrender/lib/svg/helper/Definable.js","webpack:///./node_modules/echarts/extension/bmap/BMapCoordSys.js","webpack:///./node_modules/echarts/lib/component/dataZoom/SelectZoomView.js","webpack:///./node_modules/xe-utils/methods/web/helperGetLocatOrigin.js","webpack:///./node_modules/xe-utils/methods/base/getSize.js","webpack:///./node_modules/echarts/lib/coord/single/Single.js","webpack:///./node_modules/core-js/modules/_to-object.js","webpack:///./node_modules/xe-utils/methods/base/isNumber.js","webpack:///./node_modules/echarts/lib/coord/geo/geoJSONLoader.js","webpack:///./node_modules/echarts/lib/chart/candlestick/candlestickVisual.js","webpack:///./node_modules/echarts/lib/chart/funnel/FunnelView.js","webpack:///./node_modules/echarts/lib/chart/gauge/GaugeSeries.js","webpack:///./node_modules/xe-utils/methods/array/toArrayTree.js","webpack:///./node_modules/echarts/lib/config.js","webpack:///./node_modules/echarts/lib/chart/map/MapSeries.js","webpack:///./node_modules/echarts/lib/chart/sunburst/SunburstPiece.js","webpack:///./node_modules/xe-utils/methods/date/helperGetDateTime.js","webpack:///./node_modules/echarts/lib/component/toolbox/feature/SaveAsImage.js","webpack:///./node_modules/xe-utils/methods/static/staticDocument.js","webpack:///./node_modules/echarts/lib/model/Series.js","webpack:///./node_modules/xe-utils/methods/array/toTreeArray.js","webpack:///./node_modules/zrender/lib/graphic/helper/poly.js","webpack:///./node_modules/xe-utils/methods/array/uniq.js","webpack:///./node_modules/xe-utils/methods/date/getDayOfMonth.js","webpack:///./node_modules/xe-utils/methods/function/once.js","webpack:///./node_modules/echarts/lib/component/dataZoom/helper.js","webpack:///./node_modules/core-js/library/modules/_iter-step.js","webpack:///./node_modules/core-js/modules/_fails-is-regexp.js","webpack:///./node_modules/core-js/library/modules/_wks.js","webpack:///./node_modules/xe-utils/methods/string/repeat.js","webpack:///./node_modules/xe-utils/methods/array/arrayIndexOf.js","webpack:///./node_modules/core-js/library/fn/object/assign.js","webpack:///./node_modules/core-js/modules/_regexp-exec.js","webpack:///./node_modules/xe-utils/methods/string/helperStringUpperCase.js","webpack:///./node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/echarts/lib/chart/themeRiver/themeRiverLayout.js","webpack:///./node_modules/core-js/modules/_object-pie.js","webpack:///./node_modules/plxy-grid/lib/resize/src/mixin.js","webpack:///./node_modules/xe-utils/methods/array/helperCreateTreeFunc.js","webpack:///./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./node_modules/core-js/library/modules/_object-gpo.js","webpack:///./node_modules/echarts/lib/chart/graph/graphHelper.js","webpack:///./node_modules/echarts/lib/component/visualMap.js","webpack:///./node_modules/xe-utils/methods/base/helperCreateIndexOf.js","webpack:///./node_modules/echarts/lib/chart/map/mapVisual.js","webpack:///./node_modules/core-js/modules/es6.promise.js","webpack:///./node_modules/echarts/lib/model/mixin/itemStyle.js","webpack:///./node_modules/echarts/lib/component/radar.js","webpack:///./node_modules/core-js/modules/_shared.js","webpack:///./node_modules/core-js/library/modules/_shared-key.js","webpack:///./node_modules/plxy-grid/lib/input/src/textarea.js","webpack:///./node_modules/echarts/lib/component/dataZoom/roams.js","webpack:///./node_modules/echarts/lib/chart/helper/treeHelper.js","webpack:///./node_modules/echarts/lib/data/DataDimensionInfo.js","webpack:///./node_modules/zrender/lib/graphic/helper/roundRect.js","webpack:///./node_modules/core-js/library/modules/_core.js","webpack:///./node_modules/echarts/lib/chart/graph/forceLayout.js","webpack:///./node_modules/echarts/lib/component/axis/axisSplitHelper.js","webpack:///./node_modules/xe-utils/methods/function/debounce.js","webpack:///./node_modules/throttle-debounce/throttle.js","webpack:///./node_modules/xe-utils/methods/number/max.js","webpack:///./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack:///./node_modules/xe-utils/methods/array/eachTree.js","webpack:///./node_modules/echarts/lib/coord/cartesian/Grid.js","webpack:///./node_modules/pl-table/lib/utils/merge.js","webpack:///./node_modules/core-js/library/modules/_array-includes.js","webpack:///./node_modules/echarts/lib/chart/sankey/SankeyView.js","webpack:///./node_modules/echarts/lib/coord/geo/geoSourceManager.js","webpack:///./node_modules/xe-utils/methods/array/chunk.js","webpack:///./node_modules/core-js/modules/_export.js","webpack:///./node_modules/core-js/modules/_iter-detect.js","webpack:///./node_modules/echarts/lib/chart/heatmap.js","webpack:///./node_modules/xe-utils/methods/array/findLast.js","webpack:///./node_modules/echarts/extension/bmap/BMapModel.js","webpack:///./node_modules/plxy-grid/lib/checkbox/src/checkbox.js","webpack:///./node_modules/core-js/modules/_inherit-if-required.js","webpack:///./node_modules/plxy-grid/lib/tools/src/utils.js","webpack:///./node_modules/core-js/modules/es6.string.iterator.js","webpack:///./node_modules/zrender/lib/Layer.js","webpack:///./node_modules/plxy-grid/lib/modal/src/queue.js","webpack:///./node_modules/zrender/lib/graphic/helper/image.js","webpack:///./node_modules/echarts/lib/component/legend/LegendView.js","webpack:///./node_modules/core-js/modules/_object-sap.js","webpack:///./node_modules/echarts/lib/visual/VisualMapping.js","webpack:///./node_modules/core-js/modules/_regexp-exec-abstract.js","webpack:///./node_modules/xe-utils/methods/array/zip.js","webpack:///./node_modules/xe-utils/methods/base/hasOwnProp.js","webpack:///./node_modules/zrender/lib/core/event.js","webpack:///./node_modules/echarts/lib/chart/parallel/ParallelView.js","webpack:///./node_modules/echarts/lib/visual/visualDefault.js","webpack:///./node_modules/core-js/modules/_shared-key.js","webpack:///./node_modules/echarts/lib/data/List.js","webpack:///./node_modules/plxy-grid/lib/v-x-e-table/src/renderer.js","webpack:///./node_modules/zrender/lib/graphic/helper/smoothSpline.js","webpack:///./node_modules/xe-utils/methods/base/clone.js","webpack:///./node_modules/echarts/lib/util/clazz.js","webpack:///./node_modules/core-js/modules/_iobject.js","webpack:///./node_modules/echarts/lib/component/title.js","webpack:///./node_modules/xe-utils/methods/array/every.js","webpack:///./node_modules/core-js/library/modules/_uid.js","webpack:///./node_modules/core-js/library/modules/_export.js","webpack:///./node_modules/plxy-grid/lib/export/src/mixin.js","webpack:///./node_modules/xe-utils/methods/base/toStringJSON.js","webpack:///./node_modules/echarts/lib/coord/parallel/parallelPreprocessor.js","webpack:///./node_modules/echarts/lib/chart/lines/linesLayout.js","webpack:///./node_modules/zrender/lib/core/dom.js","webpack:///./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack:///./node_modules/xe-utils/methods/base/isElement.js","webpack:///./node_modules/echarts/lib/component/axis/AxisView.js","webpack:///./node_modules/echarts/lib/component/timeline/preprocessor.js","webpack:///./node_modules/echarts/lib/coord/single/SingleAxis.js","webpack:///./node_modules/core-js/library/modules/_wks-define.js","webpack:///./node_modules/echarts/lib/chart/graph/categoryFilter.js","webpack:///./node_modules/echarts/lib/chart/map.js","webpack:///./node_modules/core-js/modules/es7.array.includes.js","webpack:///./node_modules/echarts/lib/chart/effectScatter/EffectScatterSeries.js","webpack:///./node_modules/core-js/modules/_meta.js","webpack:///./node_modules/echarts/lib/chart/bar/BarView.js","webpack:///./node_modules/xe-utils/methods/array/helperCreateIterateHandle.js","webpack:///./node_modules/core-js/modules/_to-iobject.js","webpack:///./node_modules/zrender/lib/contain/quadratic.js","webpack:///./node_modules/echarts/lib/component/dataZoom/typeDefaulter.js","webpack:///./node_modules/echarts/lib/coord/axisHelper.js","webpack:///./node_modules/zrender/lib/zrender.js","webpack:///./node_modules/core-js/modules/_has.js","webpack:///./node_modules/core-js/library/modules/es7.symbol.async-iterator.js","webpack:///./node_modules/echarts/lib/stream/Scheduler.js","webpack:///./node_modules/xe-utils/methods/date/now.js","webpack:///./node_modules/echarts/lib/chart/helper/EffectPolyline.js","webpack:///./node_modules/core-js/modules/_to-primitive.js","webpack:///./node_modules/core-js/library/modules/_object-gopn.js","webpack:///./node_modules/echarts/lib/component/axisPointer/PolarAxisPointer.js","webpack:///./node_modules/core-js/library/modules/_cof.js","webpack:///./node_modules/core-js/modules/es6.regexp.to-string.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack:///./node_modules/xe-utils/methods/base/pick.js","webpack:///./node_modules/echarts/lib/coord/geo/fix/geoCoord.js","webpack:///./node_modules/echarts/lib/component/radar/RadarView.js","webpack:///./node_modules/echarts/lib/chart/themeRiver.js","webpack:///./node_modules/core-js/library/modules/web.dom.iterable.js","webpack:///./node_modules/plxy-grid/lib/pager/index.js","webpack:///./node_modules/xe-utils/methods/number/toFixed.js","webpack:///./node_modules/echarts/lib/model/Component.js","webpack:///./node_modules/echarts/lib/coord/View.js","webpack:///./node_modules/echarts/lib/chart/tree/TreeView.js","webpack:///./node_modules/xe-utils/methods/array/pluck.js","webpack:///./node_modules/xe-utils/methods/static/staticStrUndefined.js","webpack:///./node_modules/zrender/lib/core/util.js","webpack:///./node_modules/echarts/lib/chart/tree/traversalHelper.js","webpack:///./node_modules/xe-utils/methods/array/shuffle.js","webpack:///./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack:///./node_modules/echarts/lib/component/dataZoom/history.js","webpack:///./node_modules/echarts/lib/component/helper/selectableMixin.js","webpack:///./node_modules/plxy-grid/lib/v-x-e-table/src/setup.js","webpack:///./node_modules/plxy-grid/lib/grid/src/grid.js","webpack:///./node_modules/xe-utils/methods/array/sortBy.js","webpack:///./node_modules/plxy-grid/lib/button/src/button.js","webpack:///./node_modules/echarts/lib/coord/axisDefault.js","webpack:///./node_modules/echarts/lib/chart/themeRiver/themeRiverVisual.js","webpack:///./node_modules/xe-utils/methods/base/uniqueId.js","webpack:///./node_modules/core-js/library/modules/_string-at.js","webpack:///./node_modules/xe-utils/methods/number/add.js","webpack:///./node_modules/echarts/lib/chart/lines/LinesSeries.js","webpack:///./node_modules/echarts/lib/component/visualMap/VisualMapView.js","webpack:///./node_modules/core-js/modules/_object-assign.js","webpack:///./node_modules/echarts/lib/data/Graph.js","webpack:///./node_modules/xe-utils/methods/date/isDateSame.js","webpack:///./node_modules/pl-table/lib/utils/types.js","webpack:///./node_modules/echarts/lib/chart/helper/LineDraw.js","webpack:///./node_modules/plxy-grid/lib/grid/index.js","webpack:///./node_modules/echarts/lib/component/visualMapContinuous.js","webpack:///./node_modules/zrender/lib/animation/easing.js","webpack:///./node_modules/plxy-grid/lib/table/src/methods.js","webpack:///./node_modules/xe-utils/methods/date/helperGetYMDTime.js","webpack:///./node_modules/plxy-grid/lib/edit/src/mixin.js","webpack:///./node_modules/pl-table/lib/utils/shared.js","webpack:///./node_modules/core-js/library/modules/es7.symbol.observable.js","webpack:///./node_modules/echarts/lib/component/geo/GeoView.js","webpack:///./node_modules/echarts/lib/component/toolbox/feature/DataView.js","webpack:///./node_modules/zrender/lib/graphic/Text.js","webpack:///./node_modules/core-js/modules/_global.js","webpack:///./node_modules/xe-utils/methods/array/invokeMap.js","webpack:///./node_modules/echarts/lib/action/createDataSelectAction.js","webpack:///./node_modules/core-js/modules/_to-absolute-index.js","webpack:///./node_modules/xe-utils/methods/base/isEqualWith.js","webpack:///./node_modules/plxy-grid/lib/footer/src/footer.js","webpack:///./node_modules/echarts/lib/coord/radar/IndicatorAxis.js","webpack:///./node_modules/plxy-grid/lib/tooltip/index.js","webpack:///./node_modules/echarts/lib/chart/radar/backwardCompat.js","webpack:///./node_modules/echarts/lib/coord/polar/PolarModel.js","webpack:///./node_modules/xe-utils/methods/string/helperStringLowerCase.js","webpack:///./node_modules/echarts/lib/component/helper/listComponent.js","webpack:///./node_modules/echarts/lib/component/radiusAxis.js","webpack:///./node_modules/echarts-wordcloud/src/layout.js","webpack:///./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack:///./node_modules/core-js/library/modules/_a-function.js","webpack:///./node_modules/xe-utils/methods/array/unzip.js","webpack:///./node_modules/core-js/modules/_fails.js","webpack:///./node_modules/core-js/modules/_set-species.js","webpack:///./node_modules/axios/lib/cancel/Cancel.js","webpack:///./node_modules/plxy-grid/lib/input/index.js","webpack:///./node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/echarts/lib/chart/graph/createView.js","webpack:///./node_modules/normalize-wheel/src/isEventSupported.js","webpack:///./node_modules/xe-utils/methods/function/delay.js","webpack:///./node_modules/core-js/modules/_object-gopn-ext.js","webpack:///./node_modules/xe-utils/methods/web/getBaseURL.js","webpack:///./node_modules/echarts/lib/component/toolbox/feature/DataZoom.js","webpack:///./node_modules/zrender/lib/graphic/helper/fixShadow.js","webpack:///./node_modules/echarts/lib/component/dataZoom/DataZoomView.js","webpack:///./node_modules/xe-utils/methods/number/helperCreateMathNumber.js","webpack:///./node_modules/echarts/lib/component/markArea.js","webpack:///./node_modules/echarts/lib/chart/helper/Line.js","webpack:///./node_modules/echarts/lib/model/Global.js","webpack:///./node_modules/core-js/library/modules/_object-dps.js","webpack:///./node_modules/pl-table/lib/pl-table-column.js","webpack:///./node_modules/core-js/modules/_set-to-string-tag.js","webpack:///./node_modules/echarts/lib/component/graphic.js","webpack:///./node_modules/echarts/lib/component/dataZoomInside.js","webpack:///./node_modules/core-js/modules/es6.function.name.js","webpack:///./node_modules/echarts/lib/chart/helper/LinePath.js","webpack:///./node_modules/echarts/lib/visual/symbol.js","webpack:///./node_modules/xe-utils/methods/number/floor.js","webpack:///./node_modules/xe-utils/methods/string/padStart.js","webpack:///./node_modules/core-js/modules/_microtask.js","webpack:///./node_modules/echarts/lib/data/DataDiffer.js","webpack:///./node_modules/xe-utils/methods/base/isFloat.js","webpack:///./node_modules/echarts/lib/chart/sankey/sankeyLayout.js","webpack:///./node_modules/js-md5/src/md5.js","webpack:///./node_modules/plxy-grid/lib/loading/src/loading.js","webpack:///./node_modules/zrender/lib/graphic/constant.js","webpack:///./node_modules/echarts/lib/component/tooltip/TooltipRichContent.js","webpack:///./node_modules/echarts/lib/component/marker/MarkPointView.js","webpack:///./node_modules/core-js/modules/_core.js","webpack:///./node_modules/xe-utils/methods/base/isWeakSet.js","webpack:///./node_modules/echarts/lib/coord/calendar/CalendarModel.js","webpack:///./node_modules/core-js/library/modules/_add-to-unscopables.js","webpack:///./node_modules/echarts/lib/ExtensionAPI.js","webpack:///./node_modules/echarts/lib/component/axis/parallelAxisAction.js","webpack:///./node_modules/echarts/lib/coord/parallel/parallelCreator.js","webpack:///./node_modules/xe-utils/methods/number/multiply.js","webpack:///./node_modules/echarts/lib/coord/Axis.js","webpack:///./node_modules/echarts/lib/component/legend/LegendModel.js","webpack:///./node_modules/zrender/lib/core/fourPointsTransform.js","webpack:///./node_modules/core-js/modules/_iterators.js","webpack:///./node_modules/zrender/lib/contain/util.js","webpack:///./node_modules/echarts/lib/data/helper/completeDimensions.js","webpack:///./node_modules/core-js/modules/_object-dp.js","webpack:///./node_modules/plxy-grid/lib/menu/src/panel.js","webpack:///./node_modules/echarts/lib/chart/radar/radarLayout.js","webpack:///./node_modules/zrender/lib/svg/core.js","webpack:///./node_modules/zrender/lib/contain/windingLine.js","webpack:///./node_modules/echarts/lib/chart/graph/GraphSeries.js","webpack:///./node_modules/echarts-wordcloud/index.js","webpack:///./node_modules/zrender/lib/graphic/shape/Polygon.js","webpack:///./node_modules/xe-utils/methods/object/objectEach.js","webpack:///./node_modules/echarts/lib/layout/points.js","webpack:///./node_modules/pl-table/lib/mixins/emitter.js","webpack:///./node_modules/echarts/lib/util/throttle.js","webpack:///./node_modules/echarts/lib/component/marker/MarkerView.js","webpack:///./node_modules/plxy-grid/lib/column/src/column.js","webpack:///./node_modules/echarts/lib/util/component.js","webpack:///./node_modules/xe-utils/methods/static/staticParseInt.js","webpack:///./node_modules/echarts/lib/model/globalDefault.js","webpack:///./node_modules/zrender/lib/graphic/helper/fixClipWithShadow.js","webpack:///./node_modules/echarts/lib/scale/Interval.js","webpack:///./node_modules/z-loading/dist/z-loading.js","webpack:///./node_modules/core-js/modules/es6.symbol.js","webpack:///./node_modules/echarts/lib/model/referHelper.js","webpack:///./node_modules/core-js/modules/_set-proto.js","webpack:///./node_modules/plxy-grid/lib/radio/src/radio.js","webpack:///./node_modules/echarts/lib/scale/Log.js","webpack:///./node_modules/vue-router/dist/vue-router.esm.js","webpack:///./node_modules/xe-utils/methods/base/helperCreateInInObjectString.js","webpack:///./node_modules/plxy-grid/lib/table/src/table.js","webpack:///./node_modules/plxy-grid/lib/v-x-e-table/src/menus.js","webpack:///./node_modules/xe-utils/methods/array/reduce.js","webpack:///./node_modules/zrender/lib/graphic/shape/Arc.js","webpack:///./node_modules/xe-utils/methods/number/helperNumberDivide.js","webpack:///./node_modules/xe-utils/methods/base/get.js","webpack:///./node_modules/echarts/lib/chart/radar.js","webpack:///./node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/xe-utils/methods/string/trimLeft.js","webpack:///./node_modules/echarts/lib/data/OrdinalMeta.js","webpack:///./node_modules/core-js/library/modules/_descriptors.js","webpack:///./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js","webpack:///./node_modules/echarts/lib/component/marker/MarkAreaView.js","webpack:///./node_modules/normalize-wheel/src/UserAgent_DEPRECATED.js","webpack:///./node_modules/echarts/lib/component/toolbox/ToolboxModel.js","webpack:///./node_modules/echarts/lib/coord/cartesian/GridModel.js","webpack:///./node_modules/zrender/lib/svg/svg.js","webpack:///./node_modules/core-js/library/modules/_iter-create.js","webpack:///./node_modules/pl-table/lib/mixins/focus.js","webpack:///./node_modules/core-js/library/modules/_is-array.js","webpack:///./node_modules/echarts/lib/component/legend/legendFilter.js","webpack:///./node_modules/plxy-grid/lib/locale/lang/zh-CN.js","webpack:///./node_modules/core-js/modules/_object-gopn.js","webpack:///./node_modules/echarts/lib/chart/treemap/treemapVisual.js","webpack:///./node_modules/xe-utils/methods/base/values.js","webpack:///./node_modules/core-js/library/modules/_redefine.js","webpack:///(webpack)/buildin/amd-options.js","webpack:///./node_modules/xe-utils/methods/date/getMonthWeek.js","webpack:///./node_modules/echarts/lib/component/marker/markerHelper.js","webpack:///./node_modules/echarts/lib/coord/polar/RadiusAxis.js","webpack:///./node_modules/echarts/lib/chart/treemap/TreemapSeries.js","webpack:///./node_modules/babel-helper-vue-jsx-merge-props/index.js","webpack:///./node_modules/core-js/library/modules/_object-assign.js","webpack:///./node_modules/echarts/lib/component/timeline/TimelineView.js","webpack:///./node_modules/echarts/lib/component/calendar.js","webpack:///./node_modules/xe-utils/methods/setupDefaults.js","webpack:///./node_modules/screenfull/dist/screenfull.js","webpack:///./node_modules/echarts/lib/data/helper/sourceType.js","webpack:///./node_modules/echarts/lib/chart/map/backwardCompat.js","webpack:///./node_modules/echarts/lib/scale/helper.js","webpack:///./node_modules/xe-utils/methods/base/toJSONString.js","webpack:///./node_modules/echarts/lib/chart/bar.js","webpack:///./node_modules/echarts/lib/chart/graph/circularLayoutHelper.js","webpack:///./node_modules/echarts/lib/component/markLine.js","webpack:///./node_modules/plxy-grid/lib/body/src/body.js","webpack:///./node_modules/pl-table/lib/utils/vue-popper.js","webpack:///./node_modules/throttle-debounce/index.js","webpack:///./node_modules/pl-table/lib/utils/resize-event.js","webpack:///./node_modules/zrender/lib/contain/line.js","webpack:///./node_modules/xe-utils/methods/number/toNumberString.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/mockjs/dist/mock.js","webpack:///./node_modules/echarts/lib/chart/graph/GraphView.js","webpack:///./node_modules/xe-utils/methods/number/toFixedString.js","webpack:///./node_modules/core-js/modules/_string-repeat.js","webpack:///./node_modules/xe-utils/methods/base/isPlainObject.js","webpack:///./node_modules/zrender/lib/core/BoundingRect.js","webpack:///./node_modules/zrender/lib/animation/requestAnimationFrame.js","webpack:///./node_modules/echarts/lib/visual/dataColor.js","webpack:///./node_modules/core-js/modules/_own-keys.js","webpack:///./node_modules/xe-utils/methods/base/isLeapYear.js","webpack:///./node_modules/echarts/lib/loading/default.js","webpack:///./node_modules/xe-utils/methods/array/findKey.js","webpack:///./node_modules/xe-utils/methods/base/isEqual.js","webpack:///./node_modules/xe-utils/methods/string/escape.js","webpack:///./node_modules/xe-utils/methods/string/toString.js","webpack:///./node_modules/core-js/library/modules/_object-gops.js","webpack:///./node_modules/core-js/modules/_ctx.js","webpack:///./node_modules/xe-utils/methods/index.js","webpack:///./node_modules/xe-utils/methods/base/isUndefined.js","webpack:///./node_modules/echarts/lib/model/mixin/areaStyle.js","webpack:///./node_modules/zrender/lib/graphic/helper/smoothBezier.js","webpack:///./node_modules/core-js/modules/_add-to-unscopables.js","webpack:///./node_modules/core-js/modules/_perform.js","webpack:///./node_modules/plxy-grid/lib/validator/src/mixin.js","webpack:///./node_modules/echarts/lib/chart/treemap/treemapLayout.js","webpack:///./node_modules/zrender/lib/graphic/helper/subPixelOptimize.js","webpack:///./node_modules/xe-utils/methods/static/staticStrFirst.js","webpack:///./node_modules/echarts/lib/layout/barGrid.js","webpack:///./node_modules/core-js/modules/_to-length.js","webpack:///./node_modules/core-js/modules/_descriptors.js","webpack:///./node_modules/zrender/lib/graphic/mixin/RectText.js","webpack:///./node_modules/echarts/lib/coord/axisModelCreator.js","webpack:///./node_modules/echarts/lib/component/dataZoom/dataZoomAction.js","webpack:///./node_modules/xe-utils/methods/string/template.js","webpack:///./node_modules/zrender/lib/contain/arc.js","webpack:///./node_modules/xe-utils/methods/date/getDateDiff.js","webpack:///./node_modules/echarts/lib/chart/line/helper.js","webpack:///./node_modules/zrender/lib/svg/helper/ClippathManager.js","webpack:///./node_modules/echarts/extension/bmap/bmap.js","webpack:///./node_modules/echarts/lib/chart/radar/RadarSeries.js","webpack:///./node_modules/echarts/lib/component/timeline/typeDefaulter.js","webpack:///./node_modules/xe-utils/methods/base/set.js","webpack:///./node_modules/core-js/library/modules/_object-create.js","webpack:///./node_modules/echarts/lib/util/symbol.js","webpack:///./node_modules/async-validator/es/util.js","webpack:///./node_modules/async-validator/es/rule/required.js","webpack:///./node_modules/async-validator/es/rule/whitespace.js","webpack:///./node_modules/async-validator/es/rule/type.js","webpack:///./node_modules/async-validator/es/rule/range.js","webpack:///./node_modules/async-validator/es/rule/enum.js","webpack:///./node_modules/async-validator/es/rule/pattern.js","webpack:///./node_modules/async-validator/es/rule/index.js","webpack:///./node_modules/async-validator/es/validator/string.js","webpack:///./node_modules/async-validator/es/validator/method.js","webpack:///./node_modules/async-validator/es/validator/number.js","webpack:///./node_modules/async-validator/es/validator/boolean.js","webpack:///./node_modules/async-validator/es/validator/regexp.js","webpack:///./node_modules/async-validator/es/validator/integer.js","webpack:///./node_modules/async-validator/es/validator/float.js","webpack:///./node_modules/async-validator/es/validator/array.js","webpack:///./node_modules/async-validator/es/validator/object.js","webpack:///./node_modules/async-validator/es/validator/enum.js","webpack:///./node_modules/async-validator/es/validator/pattern.js","webpack:///./node_modules/async-validator/es/validator/date.js","webpack:///./node_modules/async-validator/es/validator/required.js","webpack:///./node_modules/async-validator/es/validator/type.js","webpack:///./node_modules/async-validator/es/validator/index.js","webpack:///./node_modules/async-validator/es/messages.js","webpack:///./node_modules/async-validator/es/index.js","webpack:///./node_modules/echarts/lib/component/dataZoom/InsideZoomModel.js","webpack:///./node_modules/xe-utils/methods/string/padEnd.js","webpack:///./node_modules/xe-utils/methods/xe-utils.js","webpack:///./node_modules/xe-utils/methods/base/isObject.js","webpack:///./node_modules/xe-utils/methods/static/staticHGKeyRE.js","webpack:///./node_modules/core-js/modules/_user-agent.js","webpack:///./node_modules/xe-utils/methods/string/toFormatString.js","webpack:///./node_modules/echarts/lib/chart/helper/LargeLineDraw.js","webpack:///./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///./node_modules/core-js/library/modules/es6.object.assign.js","webpack:///./node_modules/normalize-wheel/src/ExecutionEnvironment.js","webpack:///./node_modules/core-js/modules/es6.regexp.replace.js","webpack:///./node_modules/echarts/lib/chart/funnel.js","webpack:///./node_modules/plxy-grid/lib/input/src/input.js","webpack:///./node_modules/echarts/lib/component/helper/interactionMutex.js","webpack:///./node_modules/xe-utils/methods/number/round.js","webpack:///./node_modules/core-js/modules/_new-promise-capability.js","webpack:///./node_modules/plxy-grid/lib/tooltip/src/tooltip.js","webpack:///./node_modules/echarts/lib/chart/map/MapView.js","webpack:///./node_modules/plxy-grid/lib/filter/index.js","webpack:///./node_modules/zrender/lib/graphic/helper/text.js","webpack:///./node_modules/echarts/lib/chart/gauge/GaugeView.js","webpack:///./node_modules/xe-utils/methods/date/toDateString.js","webpack:///./node_modules/js-cookie/src/js.cookie.js","webpack:///./node_modules/xe-utils/methods/date/isValidDate.js","webpack:///./node_modules/pl-table/lib/mixins/migrating.js","webpack:///./node_modules/echarts/lib/chart/lines.js","webpack:///./node_modules/echarts/lib/coord/geo/fix/diaoyuIsland.js","webpack:///./node_modules/plxy-grid/lib/column/index.js","webpack:///./node_modules/zrender/lib/vml/graphic.js","webpack:///./node_modules/echarts/lib/component/brush/selector.js","webpack:///./node_modules/echarts/lib/component/marker/MarkPointModel.js","webpack:///./node_modules/echarts/lib/component/tooltip/TooltipModel.js","webpack:///./node_modules/echarts-liquidfill/src/liquidFill.js","webpack:///./node_modules/echarts/lib/coord/polar/AngleAxis.js","webpack:///./node_modules/echarts/lib/chart/sunburst/SunburstSeries.js","webpack:///./node_modules/echarts/lib/coord/cartesian/prepareCustom.js","webpack:///./node_modules/sortablejs/modular/sortable.esm.js","webpack:///./node_modules/core-js/modules/_string-trim.js","webpack:///./node_modules/echarts/lib/chart/pictorialBar.js","webpack:///./node_modules/core-js/modules/_is-regexp.js","webpack:///./node_modules/echarts/lib/component/visualMap/visualEncoding.js","webpack:///./node_modules/xe-utils/methods/number/helperNumberOffsetPoint.js","webpack:///./node_modules/echarts/lib/chart/parallel/parallelVisual.js","webpack:///./node_modules/xe-utils/methods/base/helperCreateGetObjects.js","webpack:///./node_modules/echarts/lib/chart/scatter/ScatterView.js","webpack:///./node_modules/zrender/lib/graphic/shape/BezierCurve.js","webpack:///./node_modules/core-js/modules/es7.symbol.async-iterator.js","webpack:///./node_modules/core-js/modules/web.dom.iterable.js","webpack:///./node_modules/echarts/lib/chart/graph/circularLayout.js","webpack:///./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./node_modules/echarts/lib/chart/themeRiver/ThemeRiverSeries.js","webpack:///./node_modules/xe-utils/methods/static/staticWindow.js","webpack:///./node_modules/echarts/lib/chart/lines/LinesView.js","webpack:///./node_modules/zrender/lib/graphic/shape/Ellipse.js","webpack:///./node_modules/echarts/lib/component/brush/preprocessor.js","webpack:///./node_modules/core-js/library/modules/_property-desc.js","webpack:///./node_modules/xe-utils/methods/number/mean.js","webpack:///./node_modules/echarts/lib/component/axis.js","webpack:///./node_modules/xe-utils/methods/base/isFormData.js","webpack:///./node_modules/zrender/lib/Storage.js","webpack:///./node_modules/echarts/lib/component/axis/ParallelAxisView.js","webpack:///./node_modules/xe-utils/methods/date/getWhatYear.js","webpack:///./node_modules/echarts/lib/chart/helper/createClipPathFromCoordSys.js","webpack:///./node_modules/core-js/modules/es6.regexp.exec.js","webpack:///./node_modules/echarts/lib/component/toolbox.js","webpack:///./node_modules/echarts/lib/view/Component.js","webpack:///./node_modules/xe-utils/methods/function/bind.js","webpack:///./node_modules/zrender/lib/svg/helper/GradientManager.js","webpack:///./node_modules/xe-utils/methods/array/toArray.js","webpack:///./node_modules/echarts/lib/data/helper/createDimensions.js","webpack:///./node_modules/xe-utils/methods/base/lastIndexOf.js","webpack:///./node_modules/plxy-grid/lib/cell/src/cell.js","webpack:///./node_modules/echarts/lib/component/visualMap/preprocessor.js","webpack:///./node_modules/echarts/lib/chart/treemap/TreemapView.js","webpack:///./node_modules/echarts/lib/component/axis/AngleAxisView.js","webpack:///./node_modules/core-js/library/modules/_to-length.js","webpack:///./node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/xe-utils/methods/base/isEmpty.js","webpack:///./node_modules/xe-utils/methods/array/flatten.js","webpack:///./node_modules/echarts/lib/chart/bar/barItemStyle.js","webpack:///./node_modules/echarts/lib/export.js","webpack:///./node_modules/vuedraggable/dist/vuedraggable.umd.js","webpack:///./node_modules/echarts/lib/visual/aria.js","webpack:///./node_modules/xe-utils/methods/base/remove.js","webpack:///./node_modules/core-js/library/modules/_library.js","webpack:///./node_modules/echarts/lib/component/brush/brushAction.js","webpack:///./node_modules/xe-utils/methods/url/unserialize.js","webpack:///./node_modules/pl-table/lib/utils/scrollbar-width.js","webpack:///./node_modules/xe-utils/methods/number/min.js","webpack:///./node_modules/plxy-grid/lib/toolbar/index.js","webpack:///./node_modules/xe-utils/methods/base/findIndexOf.js","webpack:///./node_modules/echarts/lib/chart/pie/labelLayout.js","webpack:///./node_modules/xe-utils/methods/function/noop.js","webpack:///./node_modules/xe-utils/methods/base/isError.js","webpack:///./node_modules/axios/index.js","webpack:///./node_modules/echarts/lib/component/visualMap/typeDefaulter.js","webpack:///./node_modules/pl-table/lib/utils/dom.js","webpack:///./node_modules/core-js/modules/_promise-resolve.js","webpack:///./node_modules/zrender/lib/svg/helper/ShadowManager.js","webpack:///./node_modules/echarts/lib/component/axis/SingleAxisView.js","webpack:///./node_modules/xe-utils/methods/number/random.js","webpack:///./node_modules/path-to-regexp/index.js","webpack:///./node_modules/xe-utils/methods/object/objectMap.js","webpack:///./node_modules/zrender/lib/mixin/Animatable.js","webpack:///./node_modules/xe-utils/methods/object/merge.js","webpack:///./node_modules/echarts/lib/chart/candlestick/CandlestickSeries.js","webpack:///./node_modules/echarts/lib/component/helper/BrushTargetManager.js","webpack:///./node_modules/echarts/lib/coord/geo/parseGeoJson.js","webpack:///./node_modules/echarts/lib/chart/sankey/sankeyAction.js","webpack:///./node_modules/core-js/modules/_defined.js","webpack:///./node_modules/core-js/library/modules/_object-gopd.js","webpack:///./node_modules/xe-utils/methods/array/includeArrays.js","webpack:///./node_modules/xe-utils/methods/base/isBoolean.js","webpack:///./node_modules/echarts/lib/chart/tree/treeAction.js","webpack:///./node_modules/xe-utils/methods/base/helperDefaultCompare.js","webpack:///./node_modules/echarts/lib/chart/pie.js","webpack:///./node_modules/echarts-wordcloud/src/WordCloudView.js","webpack:///./node_modules/xe-utils/methods/object/extend.js","webpack:///./node_modules/normalize-wheel/index.js","webpack:///./node_modules/xe-utils/methods/array/zipObject.js","webpack:///./node_modules/xe-utils/methods/base/first.js","webpack:///./node_modules/xe-utils/methods/function/throttle.js","webpack:///./node_modules/echarts/lib/util/shape/sausage.js","webpack:///./node_modules/echarts/lib/component/brush/BrushView.js","webpack:///./node_modules/pl-table/lib/locale/lang/zh-CN.js","webpack:///./node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/core-js/modules/_array-includes.js","webpack:///./node_modules/core-js/library/modules/es6.array.iterator.js","webpack:///./node_modules/core-js/library/modules/_object-keys.js","webpack:///./node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/echarts/lib/visual/LegendVisualProvider.js","webpack:///./node_modules/echarts/lib/component/parallelAxis.js","webpack:///./node_modules/echarts/lib/component/helper/cursorHelper.js","webpack:///./node_modules/axios/lib/utils.js","webpack:///./node_modules/echarts/lib/theme/light.js","webpack:///./node_modules/core-js/modules/es6.number.constructor.js","webpack:///./node_modules/echarts/lib/coord/single/AxisModel.js","webpack:///./node_modules/xe-utils/index.js","webpack:///./node_modules/core-js/modules/_ie8-dom-define.js","webpack:///./node_modules/xe-utils/methods/array/arrayEach.js","webpack:///./node_modules/xe-utils/methods/base/helperEqualCompare.js","webpack:///./node_modules/echarts/lib/chart/helper/labelHelper.js","webpack:///./node_modules/zrender/lib/graphic/shape/Rect.js","webpack:///./node_modules/xe-utils/methods/string/helperStringSubstring.js","webpack:///./node_modules/plxy-grid/lib/footer/index.js","webpack:///./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///./node_modules/xe-utils/methods/base/range.js","webpack:///./node_modules/echarts/lib/chart/helper/EffectSymbol.js","webpack:///./node_modules/xe-utils/methods/base/lastForOf.js","webpack:///./node_modules/echarts/lib/coord/geo/geoSVGLoader.js","webpack:///./node_modules/echarts/lib/chart/helper/LargeSymbolDraw.js","webpack:///./node_modules/echarts/lib/chart/tree/treeLayout.js","webpack:///./node_modules/pl-table/lib/mixins/locale.js","webpack:///./node_modules/core-js/modules/_uid.js","webpack:///./node_modules/echarts/lib/model/OptionManager.js","webpack:///./node_modules/core-js/modules/es6.array.iterator.js","webpack:///./node_modules/zrender/lib/graphic/shape/Line.js","webpack:///./node_modules/echarts/lib/chart/scatter/ScatterSeries.js","webpack:///./node_modules/zrender/lib/mixin/Draggable.js","webpack:///./node_modules/echarts/lib/chart/sunburst/sunburstLayout.js","webpack:///./node_modules/core-js/modules/_an-object.js","webpack:///./node_modules/echarts-liquidfill/src/liquidFillView.js","webpack:///./node_modules/echarts/lib/component/axisPointer.js","webpack:///./node_modules/echarts/lib/component/visualMap/helper.js","webpack:///./node_modules/zrender/lib/graphic/Path.js","webpack:///./node_modules/echarts/lib/coord/cartesian/Cartesian2D.js","webpack:///./node_modules/echarts/lib/component/dataZoom/AxisProxy.js","webpack:///./node_modules/core-js/library/modules/_wks-ext.js","webpack:///./node_modules/echarts/lib/chart/helper/createRenderPlanner.js","webpack:///./node_modules/echarts-liquidfill/src/liquidFillLayout.js","webpack:///./node_modules/echarts/lib/component/grid.js","webpack:///./node_modules/core-js/modules/_array-species-create.js","webpack:///./node_modules/echarts/lib/component/axisPointer/modelHelper.js","webpack:///./node_modules/echarts/lib/chart/heatmap/HeatmapLayer.js","webpack:///./node_modules/zrender/lib/dom/HandlerProxy.js","webpack:///./node_modules/core-js/modules/_object-keys-internal.js","webpack:///./node_modules/xe-utils/methods/array/findTree.js","webpack:///./node_modules/echarts/lib/chart/map/mapSymbolLayout.js","webpack:///./node_modules/axios/lib/axios.js","webpack:///./node_modules/echarts/lib/coord/cartesian/Cartesian.js","webpack:///./node_modules/echarts-liquidfill/index.js","webpack:///./node_modules/echarts/lib/chart/sankey/SankeySeries.js","webpack:///./node_modules/echarts/lib/component/geo.js","webpack:///./node_modules/xe-utils/methods/base/each.js","webpack:///./node_modules/xe-utils/methods/array/find.js","webpack:///./node_modules/echarts/lib/coord/calendar/Calendar.js","webpack:///./node_modules/echarts/lib/processor/dataStack.js","webpack:///./node_modules/plxy-grid/lib/radio/index.js","webpack:///./node_modules/xe-utils/methods/base/isTypeError.js","webpack:///./node_modules/xe-utils/methods/web/cookie.js","webpack:///./node_modules/xe-utils/methods/string/trim.js","webpack:///./node_modules/plxy-grid/lib/checkbox/index.js","webpack:///./node_modules/echarts/lib/component/legend.js","webpack:///./node_modules/echarts/lib/chart/helper/focusNodeAdjacencyAction.js","webpack:///./node_modules/core-js/modules/_string-context.js","webpack:///./node_modules/zrender/lib/Handler.js","webpack:///./node_modules/xe-utils/methods/number/toFixedNumber.js","webpack:///./node_modules/echarts/lib/chart/graph/simpleLayout.js","webpack:///./node_modules/xe-utils/methods/base/helperCreateInTypeof.js","webpack:///./node_modules/echarts/lib/component/toolbox/feature/MagicType.js","webpack:///./node_modules/zrender/lib/vml/core.js","webpack:///./node_modules/core-js/modules/_is-object.js","webpack:///./node_modules/echarts/lib/processor/dataFilter.js","webpack:///./node_modules/zrender/lib/graphic/shape/Polyline.js","webpack:///./node_modules/normalize-wheel/src/normalizeWheel.js","webpack:///./node_modules/echarts/lib/component/axisPointer/AxisPointerView.js","webpack:///./node_modules/core-js/modules/_enum-keys.js","webpack:///./node_modules/zrender/lib/graphic/CompoundPath.js","webpack:///./node_modules/echarts/lib/chart/line/poly.js","webpack:///./node_modules/zrender/lib/core/LRU.js","webpack:///./node_modules/core-js/modules/_iter-step.js","webpack:///./node_modules/zrender/lib/Element.js","webpack:///./node_modules/xe-utils/methods/number/helperCreateMinMax.js","webpack:///./node_modules/echarts/lib/chart/bar/PictorialBarSeries.js","webpack:///./node_modules/echarts/lib/component/visualMap/visualMapAction.js","webpack:///./node_modules/echarts/lib/chart/sunburst.js","webpack:///./node_modules/echarts/lib/chart/graph/graphAction.js","webpack:///./node_modules/plxy-grid/lib/tools/src/event.js","webpack:///./node_modules/xe-utils/methods/string/unescape.js","webpack:///./node_modules/echarts/lib/action/roamHelper.js","webpack:///./node_modules/zrender/lib/contain/path.js","webpack:///./node_modules/core-js/library/modules/_ctx.js","webpack:///./node_modules/plxy-grid/lib/modal/index.js","webpack:///./node_modules/core-js/library/fn/symbol/iterator.js","webpack:///./node_modules/core-js/modules/_a-function.js","webpack:///./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/xe-utils/methods/static/staticEscapeMap.js","webpack:///./node_modules/echarts/lib/coord/parallel/Parallel.js","webpack:///./node_modules/echarts/lib/coord/polar/AxisModel.js","webpack:///./node_modules/core-js/library/modules/_object-dp.js","webpack:///./node_modules/zrender/lib/graphic/shape/Circle.js","webpack:///./node_modules/xe-utils/methods/base/isInteger.js","webpack:///./node_modules/xe-utils/methods/array/some.js","webpack:///./node_modules/echarts/lib/chart/treemap.js","webpack:///./node_modules/echarts/lib/component/markPoint.js","webpack:///./node_modules/xe-utils/methods/date/helperGetYMD.js","webpack:///./node_modules/echarts/lib/component/toolbox/ToolboxView.js","webpack:///./node_modules/core-js/library/modules/_shared.js","webpack:///./node_modules/zrender/lib/svg/Painter.js","webpack:///./node_modules/zrender/lib/graphic/Pattern.js","webpack:///./node_modules/xe-utils/methods/date/timestamp.js","webpack:///./node_modules/echarts/lib/component/axisPointer/BaseAxisPointer.js","webpack:///./node_modules/core-js/modules/_redefine-all.js","webpack:///./node_modules/echarts/lib/chart/boxplot/BoxplotView.js","webpack:///./node_modules/echarts/lib/component/dataZoomSelect.js","webpack:///./node_modules/echarts/lib/component/timeline/SliderTimelineModel.js","webpack:///./node_modules/zrender/lib/graphic/RadialGradient.js","webpack:///./node_modules/zrender/lib/core/guid.js","webpack:///./node_modules/echarts/lib/model/mixin/boxLayout.js","webpack:///./node_modules/echarts/lib/chart/graph/edgeVisual.js","webpack:///./node_modules/plxy-grid/lib/export/src/export-panel.js","webpack:///./node_modules/echarts/lib/coord/parallel/AxisModel.js","webpack:///./node_modules/echarts/lib/component/toolbox/feature/Restore.js","webpack:///./node_modules/path-browserify/index.js","webpack:///./node_modules/svg-baker-runtime/browser-symbol.js","webpack:///./node_modules/echarts/lib/chart/custom.js","webpack:///./node_modules/echarts/lib/coord/axisTickLabelBuilder.js","webpack:///./node_modules/pl-table/lib/utils/util.js","webpack:///./node_modules/xe-utils/methods/base/isFunction.js","webpack:///./node_modules/echarts/lib/util/model.js","webpack:///./node_modules/echarts/lib/scale/Scale.js","webpack:///./node_modules/core-js/modules/_enum-bug-keys.js","webpack:///./node_modules/zrender/lib/container/Group.js","webpack:///./node_modules/zrender/lib/core/bbox.js","webpack:///./node_modules/xe-utils/methods/date/getYearDay.js","webpack:///./node_modules/xe-utils/methods/base/keys.js","webpack:///./node_modules/echarts/lib/chart/helper/whiskerBoxCommon.js","webpack:///./node_modules/echarts/lib/chart/helper/createListSimply.js","webpack:///./node_modules/echarts/lib/model/mixin/colorPalette.js","webpack:///./node_modules/core-js/library/modules/_an-object.js","webpack:///./node_modules/echarts/lib/component/dataZoomSlider.js","webpack:///./node_modules/xe-utils/methods/number/ceil.js","webpack:///./node_modules/core-js/library/modules/_global.js","webpack:///./node_modules/xe-utils/methods/static/staticStrLast.js","webpack:///./node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/echarts/lib/util/animation.js","webpack:///./node_modules/core-js/library/modules/_object-keys-internal.js","webpack:///./node_modules/echarts/lib/chart/bar/helper.js","webpack:///./node_modules/zrender/lib/contain/cubic.js","webpack:///./node_modules/core-js/modules/_array-species-constructor.js","webpack:///./node_modules/zrender/lib/contain/text.js","webpack:///./node_modules/echarts/lib/view/Chart.js","webpack:///./node_modules/xe-utils/methods/static/staticDayTime.js","webpack:///./node_modules/xe-utils/methods/base/isDocument.js","webpack:///./node_modules/xe-utils/methods/number/sum.js","webpack:///./node_modules/zrender/lib/vml/Painter.js","webpack:///./node_modules/xe-utils/methods/number/helperCreateToNumber.js","webpack:///./node_modules/echarts/lib/chart/candlestick/preprocessor.js","webpack:///./node_modules/echarts/lib/component/visualMap/VisualMapModel.js","webpack:///./node_modules/echarts/lib/coord/polar/prepareCustom.js","webpack:///./node_modules/xe-utils/methods/array/lastArrayEach.js","webpack:///./node_modules/echarts/lib/component/axisPointer/axisTrigger.js","webpack:///./node_modules/xe-utils/methods/date/getWhatMonth.js","webpack:///./node_modules/core-js/modules/_species-constructor.js","webpack:///./node_modules/echarts/lib/component/legend/scrollableLegendAction.js","webpack:///./node_modules/core-js/library/modules/_meta.js","webpack:///./node_modules/echarts/lib/coord/cartesian/Axis2D.js","webpack:///./node_modules/echarts/lib/coord/geo/mapDataStorage.js","webpack:///./node_modules/echarts/lib/data/Source.js","webpack:///./node_modules/plxy-grid/lib/menu/src/mixin.js","webpack:///./node_modules/plxy-grid/lib/vxe-table.js","webpack:///./node_modules/echarts/lib/chart/boxplot/boxplotLayout.js","webpack:///./node_modules/zrender/lib/Painter.js","webpack:///./node_modules/xe-utils/methods/string/kebabCase.js","webpack:///./node_modules/echarts/lib/util/format.js","webpack:///./node_modules/xe-utils/methods/array/searchTree.js","webpack:///./node_modules/echarts/lib/component/timeline/TimelineModel.js","webpack:///./node_modules/xe-utils/methods/array/map.js","webpack:///./node_modules/echarts/lib/coord/single/singleAxisHelper.js","webpack:///./node_modules/echarts/lib/data/helper/dataStackHelper.js","webpack:///./node_modules/pl-table/lib/locale/format.js","webpack:///./node_modules/echarts/lib/component/calendar/CalendarView.js","webpack:///./node_modules/zrender/lib/tool/transformPath.js","webpack:///./node_modules/echarts/lib/component/timeline.js","webpack:///./node_modules/echarts/lib/chart/lines/linesVisual.js","webpack:///./node_modules/xe-utils/methods/array/orderBy.js","webpack:///./node_modules/echarts/lib/coord/geo/geoCreator.js","webpack:///./node_modules/echarts/lib/chart/graph/forceHelper.js","webpack:///./node_modules/echarts/lib/component/helper/sliderMove.js","webpack:///./node_modules/echarts/lib/chart/line.js","webpack:///./node_modules/echarts/lib/chart/tree.js","webpack:///./node_modules/xe-utils/methods/base/isWindow.js","webpack:///./node_modules/xe-utils/methods/base/destructuring.js","webpack:///./node_modules/echarts/lib/chart/line/lineAnimationDiff.js","webpack:///./node_modules/echarts/lib/component/axisPointer/SingleAxisPointer.js","webpack:///./node_modules/echarts/lib/component/legend/ScrollableLegendModel.js","webpack:///./node_modules/zrender/lib/vml/vml.js","webpack:///./node_modules/echarts/lib/chart/line/LineView.js","webpack:///./node_modules/core-js/modules/_create-property.js","webpack:///./node_modules/xe-utils/methods/string/helperStringRepeat.js","webpack:///./node_modules/echarts/lib/theme/dark.js","webpack:///./node_modules/echarts/lib/component/axis/CartesianAxisView.js","webpack:///./node_modules/echarts/lib/coord/geo/Region.js","webpack:///./node_modules/xe-utils/methods/array/mapTree.js","webpack:///./node_modules/echarts/lib/component/parallel.js","webpack:///./node_modules/xe-utils/methods/string/trimRight.js","webpack:///./node_modules/echarts/lib/component/brush/BrushModel.js","webpack:///./node_modules/plxy-grid/lib/export/index.js","webpack:///./node_modules/xe-utils/methods/date/helperGetDateFullYear.js","webpack:///./node_modules/echarts/lib/stream/task.js","webpack:///./node_modules/echarts/lib/component/helper/brushHelper.js","webpack:///./node_modules/xe-utils/methods/date/getWhatWeek.js","webpack:///./node_modules/core-js/modules/es7.string.pad-start.js","webpack:///./node_modules/xe-utils/methods/base/isWeakMap.js","webpack:///./node_modules/echarts/lib/component/angleAxis.js","webpack:///./node_modules/core-js/modules/_an-instance.js","webpack:///./node_modules/echarts/lib/chart/treemap/Breadcrumb.js","webpack:///./node_modules/xe-utils/methods/base/isMap.js","webpack:///./node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/echarts/lib/chart/map/mapDataStatistic.js","webpack:///./node_modules/echarts/lib/chart/helper/SymbolDraw.js","webpack:///./node_modules/core-js/modules/es6.object.assign.js","webpack:///./node_modules/pl-table/lib/utils/popper.js","webpack:///./node_modules/core-js/library/modules/_is-object.js","webpack:///./node_modules/xe-utils/methods/date/getDayOfYear.js","webpack:///./node_modules/echarts/lib/chart/pie/PieSeries.js","webpack:///./node_modules/plxy-grid/lib/input/src/create.js","webpack:///./node_modules/babel-runtime/core-js/symbol.js","webpack:///./node_modules/core-js/library/fn/symbol/index.js","webpack:///./node_modules/echarts/lib/util/layout.js","webpack:///./node_modules/xe-utils/methods/base/last.js","webpack:///./node_modules/echarts/lib/chart/boxplot.js","webpack:///./node_modules/core-js/modules/_function-to-string.js","webpack:///./node_modules/echarts/lib/component/axis/AxisBuilder.js","webpack:///./node_modules/core-js/modules/_html.js","webpack:///./node_modules/echarts/lib/preprocessor/backwardCompat.js","webpack:///./node_modules/plxy-grid/lib/button/index.js","webpack:///./node_modules/echarts/lib/component/helper/BrushController.js","webpack:///./node_modules/xe-utils/methods/object/assign.js","webpack:///./node_modules/pl-table/lib/locale/index.js","webpack:///./node_modules/echarts/lib/coord/polar/Polar.js","webpack:///./node_modules/echarts/lib/visual/seriesColor.js","webpack:///./node_modules/echarts/lib/processor/dataSample.js","webpack:///./node_modules/core-js/modules/_string-ws.js","webpack:///./node_modules/echarts/lib/model/mixin/textStyle.js","webpack:///./node_modules/echarts/lib/chart/boxplot/BoxplotSeries.js","webpack:///./node_modules/echarts/lib/component/toolbox/feature/Brush.js","webpack:///./node_modules/echarts/lib/component/axisPointer/viewHelper.js","webpack:///./node_modules/plxy-grid/lib/loading/index.js"],"names":["_util","each","createHashMap","SeriesModel","createListFromArray","_default","extend","type","dependencies","visualColorAccessPath","getInitialData","option","ecModel","source","this","getSource","setEncodeAndDimensions","getRawIndicesByActiveState","activeState","coordSys","coordinateSystem","data","getData","indices","eachActiveState","theActiveState","dataIndex","push","getRawIndex","defaultOption","zlevel","z","parallelIndex","label","show","inactiveOpacity","activeOpacity","lineStyle","width","opacity","emphasis","progressive","smooth","animationEasing","seriesModel","encodeDefine","parallelModel","getComponent","get","dimensions","axisDim","dataDimIndex","convertDimNameToNumber","set","dimName","replace","module","exports","zrUtil","VisualMapView","graphic","_symbol","createSymbol","layout","helper","PiecewiseVisualMapView","doRender","thisGroup","group","removeAll","visualMapModel","textGap","textStyleModel","textFont","getFont","textFill","getTextColor","itemAlign","_getItemAlign","itemSize","viewData","_getViewData","endsText","showLabel","retrieve","renderItem","item","piece","itemGroup","Group","onclick","bind","_onItemClick","_enableHoverLink","indexInModelPieceList","representValue","getRepresentValue","_createItemSymbol","visualState","getValueState","add","Text","style","x","y","text","textVerticalAlign","textAlign","_renderEndsText","viewPieceList","box","renderBackground","positionGroup","pieceIndex","onHoverLink","method","hoverLink","api","dispatchAction","batch","makeHighDownBatch","findTargetDataIndices","on","modelOption","orient","getItemAlign","align","map","getPieceList","index","inverse","reverse","slice","shapeParam","getControllerVisual","selected","clone","newKey","getSelectedMapKey","selectedMode","o","key","from","uid","visualMapId","id","echarts","registerAction","event","update","createListSimply","_model","defaultEmphasis","_sourceHelper","makeSeriesEncodeForNameBased","LegendVisualProvider","FunnelSeries","extendSeriesModel","init","superApply","arguments","legendVisualProvider","getRawData","_defaultLabelLine","coordDimensions","encodeDefaulter","curry","labelLineNormalOpt","labelLine","labelLineEmphasisOpt","getDataParams","params","superCall","valueDim","mapDimension","sum","getSum","percent","toFixed","$vars","legendHoverLink","left","top","right","bottom","minSize","maxSize","sort","gap","funnelAlign","position","length","itemStyle","borderColor","borderWidth","dataToCoordSize","dataSize","dataItem","dimIdx","val","halfSize","p1","p2","Math","abs","dataToPoint","rect","getBoundingRect","height","zoom","getZoom","coord","size","BoundingRect","View","geoSourceManager","Geo","name","nameMap","invertLongitute","call","load","_nameCoordMap","nameCoordMap","_regionsMap","regionsMap","_invertLongitute","regions","_rect","boundingRect","doConvert","methodName","finder","value","geoModel","getReferringComponents","prototype","constructor","containCoord","i","contain","transformTo","rawTransformable","_rawTransformable","transform","calculateTransform","decomposeTransform","scale","updateTransform","_updateTransform","getRegion","getRegionByCoord","addGeoCoord","geoCoord","getGeoCoord","noRoam","out","convertToPixel","convertFromPixel","mixin","global","has","DESCRIPTORS","$export","redefine","META","KEY","$fails","shared","setToStringTag","wks","wksExt","wksDefine","enumKeys","isArray","anObject","isObject","toObject","toIObject","toPrimitive","createDesc","_create","gOPNExt","$GOPD","$GOPS","$DP","$keys","gOPD","f","dP","gOPN","$Symbol","Symbol","$JSON","JSON","_stringify","stringify","PROTOTYPE","HIDDEN","TO_PRIMITIVE","isEnum","propertyIsEnumerable","SymbolRegistry","AllSymbols","OPSymbols","ObjectProto","Object","USE_NATIVE","QObject","setter","findChild","setSymbolDesc","a","it","D","protoDesc","wrap","tag","sym","_k","isSymbol","iterator","$defineProperty","enumerable","$defineProperties","P","keys","l","$create","undefined","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","names","result","$getOwnPropertySymbols","IS_OP","TypeError","$set","configurable","G","W","F","es6Symbols","split","j","wellKnownSymbols","store","k","S","keyFor","useSetter","useSimple","create","defineProperty","defineProperties","getOwnPropertyDescriptor","getOwnPropertyNames","getOwnPropertySymbols","FAILS_ON_PRIMITIVES","replacer","$replacer","args","apply","valueOf","gridModel","axisModel","opt","grid","axis","otherAxisOnZeroOf","getAxesOnZeroOf","rawAxisPosition","axisPosition","dim","getRect","rectBound","idx","onZero","axisOffset","posBound","onZeroCoord","toGlobalCoord","dataToCoord","max","min","rotation","PI","dirMap","labelDirection","tickDirection","nameDirection","labelOffset","labelInside","labelRotate","z2","toValString","startsWith","str","startIndex","rest","substring","indexOf","extendComponentView","render","Rect","shape","defaults","fill","getItemStyle","silent","registerPreprocessor","xAxis","yAxis","updateViewOnPan","controllerHost","dx","dy","target","pos","dirty","updateViewOnZoom","zoomDelta","zoomX","zoomY","zoomLimit","newZoom","zoomMin","zoomMax","Infinity","zoomScale","LIBRARY","hide","Iterators","$iterCreate","getPrototypeOf","ITERATOR","BUGGY","FF_ITERATOR","KEYS","VALUES","returnThis","Base","NAME","Constructor","next","DEFAULT","IS_SET","FORCED","methods","IteratorPrototype","getMethod","kind","proto","TAG","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","entries","values","default","Keyboard","_table","_interopRequireDefault","_mixin","_vXETable","obj","__esModule","install","reg","mixins","before","count","callback","context","runCount","rests","concat","toInteger","defined","TO_STRING","that","b","s","String","charCodeAt","charAt","ComponentModel","ComponentView","detectSourceFormat","_sourceType","SERIES_LAYOUT_BY_COLUMN","seriesLayoutBy","sourceHeader","optionUpdated","Header","_header","Vue","component","at","unicode","toString","windowNames","window","getWindowNames","e","Menu","_panel","isBuffer","DEFAULT_MIN_MERGE","DEFAULT_MIN_GALLOPING","minRunLength","n","r","makeAscendingRun","array","lo","hi","compare","runHi","reverseRun","t","binaryInsertionSort","start","mid","pivot","gallopLeft","hint","lastOffset","maxOffset","offset","tmp","m","gallopRight","TimSort","runStart","runLength","minGallop","stackSize","pushRun","_runStart","_runLength","mergeRuns","mergeAt","forceMergeRuns","start1","length1","start2","length2","mergeLow","mergeHigh","cursor1","cursor2","dest","count1","count2","exit","_minGallop","Error","customCursor","customDest","remaining","ts","minRun","force","windingLine","EPSILON","isAroundEqual","points","w","p","p0","_nonIterableSpread","helperNumberDecimal","toNumberString","multiply","helperNumberAdd","addend","augend","str1","str2","ratio","pow","Clip","color","isArrayLike","arraySlice","Array","defaultGetter","defaultSetter","interpolateNumber","interpolateString","interpolateArray","arrDim","len","len2","fillArr","arr0","arr1","arr0Len","arr1Len","isPreviousLarger","isNaN","isArraySame","catmullRomInterpolateArray","p3","t2","t3","catmullRomInterpolate","v0","v1","cloneValue","ret","rgba2String","rgba","floor","join","getArrayDim","keyframes","lastValue","createTrackClip","animator","easing","oneTrackDone","propName","forceAnimate","getter","_getter","_setter","useSpline","trackLen","trackMaxTime","firstVal","isValueArray","isValueColor","isValueString","time","kfPercents","kfValues","prevValue","isAllValueEqual","colorArray","parse","_target","lastFrame","lastFramePercent","onframe","frame","range","clip","life","loop","_loop","delay","_delay","ondestroy","Animator","_tracks","_clipCount","_doneList","_onframeList","_clipList","when","props","tracks","hasOwnProperty","during","pause","_paused","resume","isPaused","_doneCallback","doneList","lastClip","self","clipCount","animation","addClip","oldOnFrame","stop","forwardToLast","clipList","removeClip","done","cb","getClips","_unsupportedIterableToArray","minLen","test","linkList","List","createDimensions","TreeNode","hostTree","depth","parentNode","children","viewChildren","Tree","hostModel","root","_nodes","addChild","child","node","isRemoved","eachNode","options","isString","order","suppressVisitSub","attr","updateDepthAndHeight","getNodeById","getId","res","contains","getAncestors","includeSelf","ancestors","getValue","dimension","getDimension","setLayout","merge","setItemLayout","getLayout","getItemLayout","getModel","path","itemModel","getItemModel","setVisual","setItemVisual","getVisual","ignoreParent","getItemVisual","isAncestorOf","parent","isDescendantOf","getNodeByDataIndex","rawIndex","getNodeByName","nodes","clearLayouts","clearItemLayouts","createTree","dataRoot","beforeLink","tree","listData","dimMax","buildHierarchy","dataNode","dimensionsInfo","dimensionsCount","list","initData","mainData","struct","structAttr","_config","__DEV__","VisualMapModel","VisualMapping","visualDefault","_number","reformIntervals","PiecewiseModel","minOpen","maxOpen","itemWidth","itemHeight","itemSymbol","pieceList","categories","splitNumber","itemGap","newOption","isInit","_pieceList","resetExtent","mode","_mode","_determineMode","resetMethods","_resetSelected","resetVisual","mappingOption","state","mappingMethod","dataExtent","getExtent","visual","completeVisualOption","visualTypesInPieces","visualTypes","listVisualTypes","isCategory","visualType","pieces","v","exists","stateList","thisOption","hasSel","setSelected","findPieceIndex","eachTargetSeries","dataIndices","getDataDimension","pIdx","seriesId","pieceInterval","interval","getVisualMeta","getColorVisual","stops","outerColors","edge","unshift","curr","setStop","valueState","precision","parseInt","splitStep","close","formatValueText","cate","normalizeReverse","pieceListItem","closeList","infinityList","useMinMax","lg","retrieveVisuals","edgeSymbols","zrColor","eventUtil","domUtil","env","formatUtil","toCamelCase","vendors","gCssText","assembleTransition","duration","transitionCurve","transitionText","vendorPrefix","assembleFont","cssText","fontSize","lineHeight","round","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","assembleCssText","tooltipModel","transitionDuration","backgroundColor","padding","canvasSupported","toHex","borderName","camelCase","normalizeCssArray","makeStyleCoord","zr","appendToBody","zrX","zrY","zrPainter","painter","zrViewportRoot","getViewportRoot","transformLocalCoord","document","body","viewportRootOffset","getViewportRootOffset","offsetLeft","offsetTop","getWidth","getHeight","TooltipContent","container","wxa","el","createElement","domBelongToZr","_zr","getZr","_appendToBody","_styleCoord","appendChild","_container","_show","_hideTimeout","onmouseenter","_enterable","clearTimeout","_inContent","onmousemove","handler","normalizeEvent","dispatch","onmouseleave","hideLater","_hideDelay","stl","currentStyle","defaultView","getComputedStyle","domStyle","alwaysShowContent","_moveTooltipIfResized","ratioX","ratioY","realX","realY","moveTo","styleCoord","display","innerHTML","pointerEvents","setContent","content","setEnterable","enterable","getSize","clientWidth","clientHeight","setTimeout","isShow","dispose","removeChild","getOuterSize","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","parallelVisual","registerVisual","preprocessor","candlestickVisual","candlestickLayout","registerLayout","_vue","_vue2","_dom","nodeList","ctx","startClick","seed","createDocumentHandler","binding","vnode","mouseup","mousedown","popperElm","expression","bindingFn","$isServer","forEach","documentHandler","unbind","splice","Axis","TimelineAxis","coordExtent","axisType","model","getLabelModel","isHorizontal","inherits","core","speciesConstructor","promiseResolve","R","onFinally","C","Promise","isFunction","then","_graphic","subPixelOptimize","createRenderPlanner","parsePercent","retrieve2","LargeArr","Float32Array","seriesType","plan","reset","candleWidth","calculateCandleWidth","cDimIdx","vDimIdx","coordDims","cDim","vDims","openDim","closeDim","lowestDim","highestDim","isSimpleBox","progress","pipelineContext","large","largeProgress","normalProgress","axisDimVal","openVal","closeVal","lowestVal","highestVal","ocLow","ocHigh","ocLowPoint","getPoint","ocHighPoint","lowestPoint","highestPoint","ends","addBodyEnd","subPixelOptimizePoint","sign","getSign","initBaseline","brushRect","makeBrushRect","NaN","point","point1","point2","pmin","pmax","tmpIn","tmpOut","extent","baseAxis","getBaseAxis","bandWidth","getBandWidth","barMaxWidth","barMinWidth","barWidth","utils","InterceptorManager","dispatchRequest","Axios","instanceConfig","interceptors","request","response","config","url","toLowerCase","chain","promise","resolve","interceptor","fulfilled","rejected","shift","staticHGKeyRE","helperGetHGSKeys","hasOwnProp","property","prop","arrIndex","objProp","matchs","isHas","match","staticLocation","parseUrl","locat","href","IObject","toLength","asc","TYPE","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","$this","callbackfn","O","layoutUtil","wordCloudLayoutHelper","isSupported","updateCanvasMask","maskCanvas","getContext","imageData","getImageData","newImageData","createImageData","toneSum","toneCnt","alpha","tone","threshold","putImageData","eachSeriesByType","gridRect","getLayoutRect","getBoxLayoutParams","canvas","maskImage","drawImage","console","error","sizeRange","rotationRange","valueExtent","getDataExtent","DEGREE_TO_RAD","gridSize","onWordCloudDrawn","detail","drawn","layoutInstance","ondraw","gx","gy","mapArray","getName","number","linearMap","fontFamily","fontWeight","ellipticity","minRotation","maxRotation","clearCanvas","rotateRatio","rotationStep","drawOutOfBound","shuffle","addEventListener","removeEventListener","preventDefault","series","util","compats","compatTextStyle","textStyle","format","capitalFirst","seriesItem","normal","helperStringSubstring","helperStringUpperCase","helperStringLowerCase","camelCacheMaps","strLen","flag","upper","upperLen","GestureMgr","_track","dist","pointPair","sqrt","center","recognize","_doTrack","_recognize","clear","touches","trackItem","touch","clientToLocal","eventName","recognizers","gestureInfo","pinch","track","pinchEnd","pinchPre","pinchScale","isFinite","pinchCenter","pinchX","pinchY","findIndexOf","helperCreatePickOmit","case1","case2","resizeTimeout","_xeUtils","_conf","_classCallCheck","instance","_defineProperties","descriptor","writable","_createClass","protoProps","staticProps","eventStore","defaultInterval","ResizeObserverPolyfill","tarList","_this","heighe","eventListener","some","remove","_this2","Resize","browse","isDoc","ResizeObserver","eventHandle","resizeInterval","observer","rWidth","rHeight","requestAnimationFrame","ignoreCase","multiline","sticky","Diff","buildValues","diff","components","newArr","oldArr","componentPos","componentLen","newPos","oldPos","removed","added","clonePath","equals","newLen","oldLen","editLength","maxEditLength","bestPath","extractCommon","execEditLength","diagonalPath","basePath","addPath","removePath","canAdd","canRemove","pushComponent","last","commonCount","tokenize","arrayDiff","KEY_DELIMITER","getAutoCurvenessParams","createCurveness","appendLength","autoCurvenessParmas","curvenessList","__curvenessList","getKeyOfEdges","n1","n2","getOppositeKey","getEdgeFromMap","node1","node2","__edgeMap","getTotalLengthBetweenNodes","getEdgeMapLengthWithKey","lenV","edgeMap","initCurvenessList","createEdgeMapForCurveness","oppositeEdges","isForward","getCurvenessForEdge","needReverse","autoCurvenessParams","isArrayParam","edgeArray","edgeIndex","totalLen","curKey","parityCorrection","oppositeKey","resValue","RoamController","roamHelper","_cursorHelper","onIrrelevantElement","_component","getUID","Transformable","getFixedItemStyle","areaColor","updateMapSelectHandler","mapDraw","mapOrGeoModel","regionsGroup","fromView","off","_mouseDownFlag","__regions","action","mainType","region","updateMapSelected","eachChild","otherRegionEl","trigger","isSelected","MapDraw","updateGroup","_controller","_controllerHost","_updateGroup","_mapName","_initialized","_regionsGroup","_backgroundGroup","draw","payload","isGeo","eachComponent","subType","mapSeries","getHostGeoModel","geo","_updateBackground","targetScale","transformInfo","getTransformInfo","isFirstDraw","childAt","roamTransform","updateProps","rawScale","rawPosition","itemStyleAccessPath","hoverItemStyleAccessPath","labelAccessPath","hoverLabelAccessPath","regionGroup","compoundPath","CompoundPath","segmentIgnoreThreshold","paths","dataIdx","regionModel","getRegionModel","itemStyleModel","hoverItemStyleModel","hoverItemStyle","labelModel","hoverLabelModel","indexOfName","visualColor","transformPoint","geometries","geometry","exterior","Polygon","interiors","interior","setStyle","strokeNoScale","culling","hoverShowLabel","isDataNaN","itemLayout","labelFetcher","query","textEl","setLabelStyle","hoverStyle","labelDataIndex","defaultText","useInsideStyle","textScale","setItemGraphicEl","eventData","componentType","componentIndex","geoIndex","groupRegions","highDownSilentOnTouch","setHoverStyle","_updateController","removeGraphic","mapName","makeGraphic","controller","enable","makeActionBase","originX","originY","traverse","setPointerChecker","getViewRectAfterRoam","matrix","vector","mIdentity","identity","isNotAroundZero","opts","origin","transformableProto","needLocalTransform","scaleTmp","parentHasTransform","getLocalTransform","mul","copy","globalScaleRatio","getGlobalScale","relX","relY","sx","sy","invTransform","invert","setTransform","dpr","restoreTransform","tmpTransform","originTransform","setLocalTransform","atan2","transformCoordToLocal","v2","applyTransform","transformCoordToGlobal","rotate","Buttons","_storeMap","assign","delete","enumBugKeys","Displayable","imageHelper","ZImage","brush","prevEl","src","image","_image","createOrUpdateImage","onload","isImageReady","aspect","sWidth","sHeight","drawRectText","arr","graph","getGraph","minValue","maxValue","nodeValue","mapping","mapValueToColor","mapValueToVisual","customColor","throttle","atBegin","staticStrFirst","staticStrLast","staticParseInt","helperGetDateFullYear","helperGetDateMonth","helperGetDateTime","toStringDate","isValidDate","getWhatDay","date","day","setDate","getDate","Date","omit","LegendView","WH","XY","ScrollableLegendView","newlineDisabled","_currentIndex","_containerGroup","getContentGroup","_controllerGroup","_showController","resetInner","removeClipPath","__rectSize","renderInner","legendModel","selector","selectorPosition","me","controllerGroup","pageIconSize","createPageButton","pageTextStyleModel","iconIdx","pageDataIndexName","icon","createIcon","getOrient","_pageGo","font","layoutInner","isFirstRender","selectorGroup","getSelectorGroup","orientIdx","wh","xy","hw","yx","selectorButtonGap","selectorRect","selectorPos","processMaxSize","mainRect","_layoutContentAndController","contentGroup","containerGroup","contentRect","controllerRect","showController","contentPos","containerPos","controllerPos","pageButtonGap","pageButtonPosition","clipShape","setClipPath","invisible","pageInfo","_getPageInfo","pageIndex","contentPosition","_updatePageInfoView","to","scrollDataIndex","legendId","canJump","childOfName","cursor","pageText","pageFormatter","current","total","pageCount","containerRectSize","targetItemIndex","_findTargetItemIndex","targetItem","itemCount","pCount","pagePrevDataIndex","pageNextDataIndex","targetItemInfo","getItemInfo","winStartItemInfo","winEndItemInfo","currItemInfo","intersect","itemRect","__legendDataIndex","itemInfo","winStart","targetDataIndex","defaultIndex","legendDataIdx","ParallelAxis","axisIndex","makeInner","getDataItemValue","isTypedArray","Source","assert","SOURCE_FORMAT_ORIGINAL","SOURCE_FORMAT_ARRAY_ROWS","SOURCE_FORMAT_OBJECT_ROWS","SOURCE_FORMAT_KEYED_COLUMNS","SOURCE_FORMAT_UNKNOWN","SOURCE_FORMAT_TYPED_ARRAY","SERIES_LAYOUT_BY_ROW","BE_ORDINAL","Must","Might","Not","inner","datasetModel","sourceFormat","resetSourceDefaulter","datasetMap","prepareSource","seriesOption","fromDataset","dimensionsDefine","getDatasetModel","datasetOption","completeResult","completeBySourceData","dimensionsDetectCount","encode","normalizeDimensionsDefine","arrayRowsTravelFirst","objectRowsCollectDimensions","colArr","value0","displayName","exist","maxLoop","firstIndex","makeSeriesEncodeForAxisCoordSys","baseCategoryDimIndex","categoryWayValueDimStart","encodeItemName","encodeSeriesName","coordDimInfo","coordDimIdx","getDataDimCountOnCoordDim","datasetRecord","categoryWayDim","valueWayDim","pushDim","dimIdxArr","idxFrom","idxCount","dimsDef","coordDimName","itemName","seriesName","dimCount","potentialNameDimIndex","idxResult","idxRes0","idxRes1","guessRecords","guessResult","doGuessOrdinal","isPureNumber","nameDimIndex","thisData","datasetIndex","guessOrdinal","dimIndex","dimType","dimDefItem","sample","detectValue","row","beStr","Line","vec2","curveUtil","EffectLine","lineData","seriesScope","createLine","_updateEffectSymbol","effectLineProto","effectModel","symbolType","symbol","_symbolType","setColor","_symbolScale","_updateEffectAnimation","period","constantSpeed","delayExpr","isDelayFunc","ignore","updateAnimationPoints","getLineLength","_period","stopAnimation","__t","animate","updateSymbolPosition","__p1","__cp1","__p2","updateData","cp1","lastPos","quadraticAt","quadraticDerivativeAt","tx","ty","__lastT","scaleY","updateLayout","Body","_body","_iterator","_iterator2","_symbol2","_typeof","visualSolution","throttleUtil","BrushTargetManager","STATE_LIST","DISPATCH_METHOD","DISPATCH_FLAG","PRIORITY_BRUSH","PRIORITY","VISUAL","BRUSH","layoutCovers","brushModel","brushTargetManager","setInputRanges","areas","throttleType","throttleDelay","brushSelected","doDispatch","fn","createOrUpdate","isDisposed","checkInRange","selectorsByBrushType","rangeInfoList","area","brushType","selectors","getSelectorsByBrushType","brushSelector","sels","selectorsByElementType","bSelector","sel","brushModelNotControll","seriesIndex","seriesIndices","bindSelector","selFn","elType","setBrushOption","brushOption","brushIndex","thisBrushSelected","brushId","brushName","brushLink","linkedSeriesMap","selectedDataIndexForLink","rangeInfoBySeries","hasBrushExists","boundingRectBuilders","visualMappings","createVisualMappings","linkOthers","brushed","stepAParallel","hasAxisBrushed","stepAOthers","controlSeries","eachSeries","seriesBrushSelected","applyVisual","lineX","noop","lineY","getBoundingRectFromMinMax","polygon","minMax","rg","isNull","isUndefined","eqNull","visualSymbol","layoutPoints","cof","arg","copyWithin","end","replaceIndex","replaceArray","targetIndex","endIndex","_iterableToArray","iter","pIE","IE8_DOM_DEFINE","c","d","toStringTag","selection","minWidth","realWidth","className","expand","renderHeader","attrs","disabled","states","indeterminate","isAllSelected","nativeOn","click","toggleAllSelection","renderCell","column","$index","stopPropagation","selectable","input","commit","sortable","resizable","expandRows","class","toggleRowExpansion","getPropByPath","formatter","u","tagName","toUpperCase","h","getValueByPath","$value","columns","g","$createElement","_self","_c","staticClass","border","checkboxSize","isDisabled","isChecked","focus","tabindex","role","trueLabel","falseLabel","directives","rawName","domProps","checked","_i","_q","change","handleChange","blur","$slots","_t","_e","_v","_s","_withStripped","staticRenderFns","_compiled","functional","_scopeId","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$root","$options","shadowRoot","_injectStyles","beforeCreate","_","inject","elForm","elFormItem","componentName","selfModel","isLimitExceeded","computed","isGroup","_checkboxGroup","$emit","$parent","isLimitDisabled","_elFormItemSize","elFormItemSize","$ELEMENT","checkboxGroupSize","Boolean","Number","controls","addToStore","$nextTick","created","mounted","$el","setAttribute","watch","__file","$","T","dropAction","borderLine","treeNode","labelClassName","Function","sortMethod","sortBy","columnKey","headerAlign","showTooltipWhenOverflow","showOverflowTooltip","fixed","reserveSelection","filterMethod","filteredValue","filters","filterPlacement","filterMultiple","sortOrders","validator","every","isSubColumn","owner","tableId","columnOrTableParent","columnId","realMinWidth","realAlign","realHeaderAlign","getPropsData","reduce","getColumnElIndex","setColumnWidth","setColumnForcedProps","setColumnRenders","warn","$scopedSlots","header","renderExpanded","indent","expanded","noLazyChildren","loading","loadOrToggle","useVirtual","thtdBeyondHiding","rowKey","paddingLeft","getTreeLevel","treeOpts","isTreeExpandByRow","triggerTreeExpandEvent","registerNormalWatchers","$watch","columnConfig","registerComplexWatchers","scheduleLayout","ElCheckbox","filterable","isColumnGroup","filterOpened","$refs","hiddenColumns","destroyed","H","fixedColumnsRoll","showSummary","fit","stripe","isHidden","maxHeight","scrollX","scrollY","isComplex","tableSize","mouseleave","handleMouseLeave","ref","showHeader","handleHeaderFooterMousewheel","bodyWidth","defaultSort","scrollPosition","bodyHeight","rowClassName","rowStyle","highlight","highlightCurrentRow","emptyText","append","sumText","summaryMethod","fixedColumns","handleFixedMousewheel","fixedWidth","fixedHeight","headerHeight","fixedBodyHeight","appendHeight","rightFixedColumns","rightFixedWidth","gutterWidth","resizeProxyVisible","fixedColumnsRollHeight","L","I","__resizeListeners__","N","B","navigator","userAgent","A","M","V","getMigratingConfig","events","K","q","Y","X","J","Q","defaultExpandAll","updateExpandRows","table","setExpandRowKeys","assertRowKey","isRowExpanded","U","_currentRowKey","currentRow","setCurrentRowKey","setCurrentRowByKey","restoreCurrentRowKey","arrayFind","updateCurrentRow","Z","ee","expandRowKeys","treeData","lazy","lazyTreeNodeMap","lazyColumnIdentifier","childrenColumnName","normalizedData","normalize","normalizedLazyNode","level","updateTreeData","loaded","updateTableScrollY","updateTreeExpandKeys","toggleTreeExpansion","loadData","te","ie","_columns","originColumns","leafColumns","fixedLeafColumns","rightFixedLeafColumns","leafColumnsLength","fixedLeafColumnsLength","rightFixedLeafColumnsLength","selectOnIndeterminate","filteredData","sortingColumn","sortProp","sortOrder","hoverRow","bigDataCheckbox","updateColumns","filter","debouncedUpdateLayout","clearSelection","cleanSelection","toggleRowSelection","updateSelectionByRowKey","updateAllSelected","updateFilters","updateSort","execFilter","_data","execSort","execQuery","clearFilter","tableHeader","fixedTableHeader","rightFixedTableHeader","filterPanels","find","multi","clearSort","setExpandRowKeysAdapter","toggleRowExpansionAdapter","ne","mutations","setData","insertColumn","$ready","removeColumn","changeSortCondition","filterChange","rowSelectedChanged","setHoverRow","setCurrentRow","nextTick","updateScrollY","re","le","oe","se","observers","tableHeight","footerHeight","viewportHeight","visibility","offsetWidth","overflow","bodyWrapper","querySelector","offsetHeight","setHeight","updateElsHeight","setMaxHeight","getFlattenColumns","headerWrapper","appendWrapper","footerWrapper","notifyObservers","updateColumnsWidth","resizeState","addObserver","removeObserver","onColumnsChange","onScrollableChange","ae","ue","ce","he","documentMode","de","pe","classList","fe","ge","be","ve","openDelay","manual","effect","arrowOffset","popperClass","visibleArrow","transition","popperOptions","boundariesPadding","gpuAcceleration","hideAfter","tooltipId","generateId","timeoutPending","focusing","popperVM","$mount","debounceClose","handleClosePopper","afterLeave","doDestroy","setExpectedState","mouseenter","showPopper","getFirstElement","addTooltipClass","referenceElm","nodeType","componentInstance","handleFocus","handleBlur","removeFocusing","updatePopper","addClass","removeClass","handleShowPopper","expectedState","timeout","beforeDestroy","$destroy","ye","xe","tableLayout","updated","__updated__","querySelectorAll","getAttribute","we","Ce","Se","ElTooltip","required","cellspacing","cellpadding","wrappedRowRender","tooltipEffect","placement","tooltipContent","treeIndent","leftFixedLeafCount","rightFixedLeafCount","columnsCount","leftFixedCount","rightFixedCount","hasExpandColumn","firstDefaultColumnIndex","activateTooltip","getKeyOfRow","isColumnHidden","getSpan","spanMethod","rowIndex","columnIndex","rowspan","colspan","getRowStyle","getRowClass","selectTrClass","getCellStyle","cellStyle","getCellClass","cellClassName","getColspanRealWidth","handleCellMouseEnter","hoverState","cell","childNodes","createRange","setStart","setEnd","getBoundingClientRect","scrollWidth","tooltip","innerText","textContent","popper","handleCellMouseLeave","handleMouseEnter","handleContextMenu","handleEvent","handleDoubleClick","handleClick","rowRender","dblclick","contextmenu","_renderProxy","multiple","handleOutsideClick","_l","handleConfirm","handleReset","filterValue","handleSelect","isActive","$e","ke","Te","Ee","Oe","Pe","He","ze","De","Le","textColor","Fe","Ie","Ne","Re","Be","Ae","vertical","scroll","scrollSize","client","direction","horizontal","Me","move","bar","msTransform","webkitTransform","We","clickTrackHandler","clickThumbHandler","ctrlKey","button","startDrag","currentTarget","thumb","stopImmediatePropagation","cursorDown","mouseMoveDocumentHandler","mouseUpDocumentHandler","onselectstart","je","Bar","native","wrapStyle","wrapClass","viewClass","viewStyle","noresize","sizeWidth","sizeHeight","moveX","moveY","marginRight","marginBottom","handleScroll","scrollTop","scrollLeft","scrollHeight","addResizeListener","resize","removeResizeListener","Ve","Ke","Clickoutside","ElCheckboxGroup","ElScrollbar","confirmFilter","popperJS","_popper","zIndex","PopupManager","nextZIndex","qe","Ge","Ye","colSpan","rowSpan","Xe","hasGutter","getHeaderRowStyle","getHeaderRowClass","mousemove","handleMouseMove","mouseout","handleMouseOut","handleMouseDown","handleHeaderClick","handleHeaderContextMenu","getHeaderCellStyle","getHeaderCellClass","headerDragStyle","handleSortClick","handleFilterClick","isCellHidden","headerRowStyle","headerRowClassName","headerCellStyle","headerCellClassName","draggingColumn","dragging","dragState","startMouseLeft","clientX","startLeft","startColumnLeft","tableLeft","resizeProxy","ondragstart","pageX","hasClass","toggleOrder","Je","Qe","parseFloat","getRowClasses","Ue","Ze","et","Mousewheel","currentRowKey","treeProps","hasChildren","TableHeader","TableFooter","TableBody","spinY","pixelY","ceil","pixelX","syncPostion","fixedBodyWrapper","rightFixedBodyWrapper","bindEvents","passive","resizeListener","__ro__","observe","unbindEvents","disconnect","shouldUpdateHeight","doLayout","tableData","immediate","debounce","tt","nt","getRowKey","virtualBodyHeight","innerTop","getIndex","rowHeight","tooltipPlacement","rt","lt","ot","st","excessRows","dataChangesScrollTop","visibleCount","computeScrollToRow","plTreeInit","pagingScrollTop","newTableStore","bindEvent","binded","scrollBottom","getVisibleRange","srcElement","reloadData","activated","deactivated","ut","ct","ht","dt","setTreeExpansion","plTreeData","accordion","pl_table_expand","findIndex","eachTreeExpand","treeExpandeds","setTreeTableData","setAllTreeExpansion","copyPlTreeData","eachTree","clearTreeExpand","getTreeExpandRecords","pl_table_level","setPlTreeExpansion","pt","ft","treeConfig","expandAll","handleDefaults","handleDefaultTreeExpand","findTree","setDataLevel","mt","plTableHeight","isArrayFn","newMaxHeight","newHeight","arraySpanMethod","getSummaries","rowClick","rowDblclick","expChang","tableBodyScroll","headerDragend","cellMouseEnter","cellMouseLeave","cellClick","cellDblclick","rowContextmenu","headerContextmenu","headerClick","select","plSelect","selectAll","handleSelectionChange","currentChange","sortChange","slot","paginationShow","newcurrentPage","pagerCount","pageSizes","newPageSize","handleSizeChange","handleCurrentChange","plDialogFals","staticStyle","fieldTitle","fieldSort","newDialogData","showAmend","amendBtnIcon","amendField","closeModal","confirmField","gt","bt","vt","yt","xt","onPagerClick","active","currentPage","showPrevMore","quickprevIconClass","onMouseenter","pagers","showNextMore","quicknextIconClass","wt","Ct","St","handleClose","selectSize","toggleMenu","inputWidth","collapseTags","closable","selectDisabled","collapseTagSize","hit","hitState","deleteTag","currentLabel","resetInputHeight","getValueKey","inputLength","autocomplete","autoComplete","softFocus","keyup","managePlaceholder","keydown","resetInputState","keyCode","navigateOptions","selectOption","visible","deletePrevTag","compositionstart","handleComposition","compositionupdate","compositionend","composing","debouncedQueryChange","placeholder","currentPlaceholder","readonly","debouncedOnInputChange","paste","inputHovering","selectedLabel","prefix","showClose","iconClass","handleClearClick","handleMenuEnter","popperAppendToBody","allowCreate","filteredOptionsCount","showNewOption","empty","$t","kt","inputSize","inputDisabled","inputExceed","prepend","prefixIcon","suffix","suffixIcon","clearable","showPassword","hovering","_b","passwordVisible","handleCompositionStart","handleCompositionEnd","handleInput","$attrs","getSuffixVisible","showClear","showPwdVisible","isWordLimitVisible","handlePasswordVisible","textLength","upperLimit","validateState","validateIcon","textareaStyle","Tt","Et","Ot","Pt","Ht","zt","getPropertyValue","contextStyle","paddingSize","borderSize","boxSizing","Dt","minHeight","Lt","inheritAttrs","textareaCalcStyle","focused","isComposing","form","autosize","validateEvent","showWordLimit","needStatusIcon","statusIcon","validating","success","nativeInputValue","maxlength","resizeTextarea","setNativeInputValue","updateIconOffset","getInput","minRows","maxRows","textarea","calcIconOffset","removeAttribute","$on","Ft","It","Nt","reference","destroyPopper","Rt","Bt","itemSelected","groupDisabled","limitReached","hover","hoverItem","selectOptionClick","At","Mt","currentValue","isEqual","multipleLimit","remote","valueKey","handleGroupDisabled","hoverIndex","queryChange","RegExp","escapeRegexpString","cachedOptions","optionsCount","onOptionDestroy","Wt","jt","disableTransitions","tagSize","Vt","Kt","qt","Gt","Yt","Xt","hoverOption","optionsAllDisabled","scrollToOption","provide","isIE","isEdge","loadingText","noMatchText","noDataText","ElInput","ElSelectMenu","ElOption","ElTag","automaticDropdown","remoteMethod","defaultFirstOption","reserveKeyword","createdLabel","createdSelected","initialInputHeight","cachedPlaceHolder","previousQuery","menuVisibleOnFocus","isOnComposition","isSilentBlur","handleQueryChange","valueEquals","broadcast","resetHoverIndex","activeElement","checkDefaultFirstOption","isKorean","scrollbar","emitChange","getOption","deleteSelected","toggleLastOptionHitState","pop","tags","handleOptionSelect","getValueIndex","setSoftFocus","onInputChange","resetInputWidth","handleResize","medium","small","mini","Jt","Qt","Ut","pageSize","prevText","nextText","background","hideOnSinglePage","internalCurrentPage","internalPageSize","lastEmittedPage","userChangePageSize","internalPageCount","prev","jumper","pager","sizes","trim","Prev","Next","Sizes","ElSelect","Jumper","userInput","handleKeyup","getValidCurrentPage","Total","Pager","Zt","dialogData","totalOption","inverseCurrentRow","recordTableSelect","page","singleTable","removal","tableSelectData","newtoggleRowSelections","pagingScrollTopLeft","unit","plDialogOpens","_times","plDialog","aBox","clearNode","getElementsByClassName","deep","draggable","ElTable","PlTableColumn","ElPagination","myPagination","ei","ti","ii","ni","ri","showOverflow","footerMethod","showHeaderOverflow","radioChange","li","oi","removalDataObj","setCheckboxRow","getCheckboxRecords","setAllCheckboxRow","clearCheckboxRow","recalculate","scrollTo","isX","isY","reserves","$rowIndex","$columnIndex","datas","log","triggerResizable","triggerSort","triggerFilter","si","use","ai","Column","ui","ci","locale","i18n","version","PlTable","PlxTableGrid","PlxTableColumn","modelUtil","getSeriesByIndex","queryDataIndex","getItemGraphicEl","getTooltipPosition","getValues","helperGetUTCDateTime","dates","UTC","Table","_labelHelper","getDefaultLabel","SymbolClz","symbolProto","getSymbolSize","symbolSize","getScale","driftSymbol","drift","_createSymbol","keepAspect","symbolPath","stopSymbolAnimation","toLastFrame","getSymbolPath","downplay","setZ","setDraggable","_updateCommon","fadeIn","initProps","_seriesModel","normalStyleAccessPath","emphasisStyleAccessPath","normalLabelAccessPath","emphasisLabelAccessPath","highDownOnUpdate","fromState","toState","incremental","useHoverLayer","__symbolOriginalScale","emphasisOpt","animateTo","useStyle","symbolOffset","hoverAnimation","cursorStyle","hasItemOption","getShallow","elStyle","symbolRotate","symbolInnerColor","liftZ","z2Origin","__z2Origin","useNameLabel","getLabelDefaultText","isRectText","autoColor","isAnimationEnabled","fadeOut","keepLabel","symbolUtil","normalizeSymbolSize","extendChartView","polar","oldData","updateSymbols","oldPoints","newPoints","symbolGroup","__dimIdx","getInitialPoints","cx","cy","polyline","Polyline","newIdx","oldIdx","execute","eachItemGraphicEl","getLineStyle","stroke","areaStyleModel","hoverAreaStyleModel","polygonIgnore","isEmpty","parentModel","hoverPolygonIgnore","getAreaStyle","itemHoverStyle","labelHoverModel","labelDimIndex","getKeys","Properties","AxisBuilder","AxisView","axisBuilderAttrs","selfBuilderAttrs","axisPointerClass","radiusAxisModel","radiusAxis","angleAxis","getAngleAxis","ticksCoords","getTicksCoords","minorTicksCoords","getMinorTicksCoords","axisAngle","radiusExtent","layoutAxis","axisBuilder","getGroup","isBlank","_splitLine","splitLineModel","lineStyleModel","lineColors","lineCount","splitLines","colorIndex","Circle","mergePath","_minorSplitLine","minorSplitLineModel","lines","_splitArea","splitAreaModel","areaColors","splitAreas","prevRadius","Sector","r0","startAngle","endAngle","axisHelper","axisModelCommonMixin","Model","_layout","_dataStackHelper","enableDataStack","isDimensionStacked","getStackedDimension","_completeDimensions","completeDimensions","_createDimensions","createList","dataStack","createScale","isInstance","createScaleByModel","setExtent","niceScaleExtent","mixinAxisModelCommonMethods","_exportNames","_utils","_interopRequireWildcard","_event","_getRequireWildcardCache","WeakMap","cache","newObj","hasPropertyDescriptor","desc","UtilTools","DomTools","GlobalEvent","$at","iterated","ArrayCtor","m1","m2","out0","out1","out2","out3","out4","out5","translate","rad","aa","ac","atx","ab","ad","aty","sin","cos","vx","vy","det","uniq","toArray","union","VXETable","_interceptor","_renderer","_buttons","_menus","_setup","_tools","installedPlugins","Plugin","types","setup","renderer","buttons","menus","getLastZIndex","axisDefault","valueAxisDefault","valueAxis","defaultsShow","RadarModel","extendComponentModel","boundaryGap","axisLine","axisTick","axisLabel","nameTextStyle","showName","nameFormatter","nameGap","triggerEvent","indicatorModels","indicatorOpt","iNameTextStyle","nameLocation","indName","getIndicatorModels","radius","splitLine","splitArea","indicator","coordsOffsetMap","mapType","coordFix","cp","BaseBarSeries","getProgressive","getProgressiveThreshold","progressiveThreshold","largeThreshold","roundCap","showBackground","backgroundStyle","borderType","borderRadius","register","records","initGlobalListeners","record","useHandler","eventType","dis","makeDispatchAction","dispatchTooltipFinally","pendings","initialized","doEnter","onLeave","actuallyPayload","showLen","showTip","hideLen","hideTip","currTrigger","pendingList","unregister","includeArrays","isMatch","objKeys","sourceKeys","key2","key1","Scale","OrdinalMeta","scaleProto","OrdinalScale","ordinalMeta","_ordinalMeta","_extent","getOrdinal","rank","getTicks","ticks","getLabel","unionExtentFromData","unionExtent","getApproximateExtent","getOrdinalMeta","niceTicks","niceExtent","helperCreateiterateIndexOf","iterate","Edit","MarkerModel","distance","defer","channel","port","invoke","html","cel","process","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","counter","queue","ONREADYSTATECHANGE","run","listener","now","port2","port1","onmessage","postMessage","importScripts","ChartView","Path","_createClipPathFromCoordSys","createClipPath","NORMAL_ITEM_STYLE_PATH","EMPHASIS_ITEM_STYLE_PATH","SKIP_PROPS","CandlestickView","_updateDrawMode","_isLargeDraw","_renderLarge","_renderNormal","incrementalPrepareRender","_clear","incrementalRender","_incrementalRenderLarge","_incrementalRenderNormal","isLargeDraw","needsClip","clipArea","getArea","hasValue","isNormalBoxClipped","createNormalBox","setBoxCommon","createLarge","clipPath","NormalBoxPath","buildPath","__simpleBox","lineTo","closePath","transInit","clipped","normalItemStyleModel","LargeBoxPath","__sign","largePoints","elP","elN","setLargeStyle","Style","Element","RectText","__clipPaths","__dirty","rectHover","beforeBrush","afterBrush","rectContain","__dirtyText","__zr","refresh","animateStyle","attrKV","calculateTextPosition","updateDataSelected","hasAnimation","selectedOffset","toggleItemSelected","midAngle","PiePiece","sector","piePieceProto","firstCreate","labelText","sectorShape","animationTypeUpdate","setShape","animationType","lineJoin","withAnimation","_updateLabel","hoverIgnore","normalIgnore","labelLayout","targetLineShape","linePoints","targetTextStyle","labelLineModel","labelLineHoverModel","inside","verticalAlign","PieView","sectorGroup","_sectorGroup","onSectorClick","piePiece","_createClipPath","clockwise","initOrUpdate","containPoint","helperCreateInInObjectString","toNumber","subtract","num1","num2","subtrahend","minuend","digit1","digit2","isArrayIter","createProperty","getIterFn","arrayLike","step","aLen","mapfn","iterFn","_multipleGraphEdgeHelper","simpleLayout","simpleLayoutEdge","eachEdge","curveness","retrieve3","Polar","_axisHelper","CoordinateSystem","resizePolar","polarModel","getRadiusAxis","updatePolarScale","onBand","setAxis","polarCreator","polarList","findAxisModel","angleAxisModel","queryComponents","deepGetObj","func","thisArg","asyncGeneratorStep","gen","reject","_next","_throw","info","_asyncToGenerator","err","getSeriesStackId","getAxisKey","barLayoutPolar","lastStackCoords","barWidthAndOffset","calRadialBar","getSeriesByType","isSeriesFiltered","axisKey","stackId","columnLayoutInfo","columnOffset","columnWidth","getOtherAxis","barMinHeight","barMinAngle","baseDim","stacked","clampLayout","valueAxisStart","dataToRadius","dataToAngle","baseValue","baseCoord","radiusSpan","angle","angleSpan","barSeries","columnsMap","axisExtent","columnsOnAxis","remainedWidth","autoWidthCount","categoryGap","stacks","maxWidth","barGap","barCategoryGap","coordSysName","barGapPercent","autoWidth","stack","lastColumn","widthSum","staticDecodeURIComponent","decodeURIComponent","helperNewDate","is","_defineProperty","_default2","import","export","setting","custom","toolbar","$grid","$table","isRefresh","tableFullColumn","customStore","isAll","isIndeterminate","vSize","refreshOpts","importOpts","exportOpts","resizableOpts","storageKey","zoomOpts","customOpts","storage","_export","updateConf","loadStorage","handleGlobalKeydownEvent","handleGlobalMousedownEvent","handleGlobalBlurEvent","_ref","_this$buttons","customBtnOns","customWrapperOns","$buttons","$tools","tools","handleMouseenterSettingEvent","handleMouseleaveSettingEvent","handleWrapperMouseenterEvent","handleWrapperMouseleaveEvent","handleClickSettingEvent","evnt","btnEvent","scopedSlots","dropdowns","getFuncText","title","importEvent","exportEvent","refreshEvent","iconLoading","refreshLoading","isMaximized","iconOut","zoomOut","iconIn","zoomIn","allCustomEvent","headerTitle","getTitle","checkMethod","handleCustoms","checkCustomStatus","isFooter","confirmCustomEvent","resetCustomEvent","$children","selfIndex","comp","refreshColumn","componentOptions","openCustom","closeCustom","connect","getLog","customMap","columnWidthStorage","getStorageMap","resizeWidth","field","columnHideStorage","customList","updateCustoms","updateColumn","fullColumn","customs","_this3","reloadCustoms","toStringJSON","localStorage","getItem","saveColumnHide","columnHideStorageMap","colHides","setItem","toJSONString","saveColumnWidth","isReset","columnWidthStorageMap","isPlainObject","_ref2","renderWidth","hideColumn","showColumn","resetCustoms","resetResizable","updateResizable","analyColumnWidth","isEsc","escRestore","getEventTargetNode","customWrapper","activeBtn","_this4","activeWrapper","_this5","_this6","catch","commitProxy","code","triggerToolbarBtnEvent","btnMethod","emitEvent","openImport","openExport","mathCos","mathSin","selectableMixin","geoCreator","GeoModel","layoutMode","getFilledRegions","_optionModelMap","optionModelMap","regionOpt","updateSelectedMap","aspectScale","boundingCoords","scaleLimit","getFormattedLabel","status","setZoom","setCenter","staticStrUndefined","supportSet","Set","isSet","arrySlice","Eventful","eventProcessor","_$handlers","_$eventProcessor","normalizeQuery","host","eventful","isOnce","_h","one","callAtLast","zrEventfulCallAtLast","lastIndex","lastWrap","isSilent","newList","argLen","hItem","afterTrigger","triggerWithContext","helperCreateIndexOf","arrayIndexOf","getMin","rangeStart","eqNaN","getMax","rangeEnd","getNeedCrossZero","getCoordSysModel","setRange","resetRange","coordinateSystemCreators","CoordinateSystemManager","_coordinateSystems","coordinateSystems","creater","getCoordinateSystems","coordinateSystemCreator","curve","bbox","devicePixelRatio","CMD","min2","max2","mathMin","mathMax","mathSqrt","mathAbs","hasTypedArray","PathProxy","notSaveData","_saveData","_ctx","_xi","_yi","_x0","_y0","_ux","_uy","_len","_lineDash","_dashOffset","_dashIdx","_dashSum","setScale","beginPath","addData","exceedUnit","_needsDash","_dashedLineTo","bezierCurveTo","x1","y1","x2","y2","x3","y3","_dashedBezierTo","quadraticCurveTo","_dashedQuadraticTo","arc","anticlockwise","arcTo","x0","y0","toStatic","setLineDash","lineDash","lineDashSum","setLineDashOffset","appendPath","appendSize","appendPathData","cmd","_expandData","_prevCmd","newData","dash","dashSum","nDash","cubicAt","bezierLen","tmpLen","MAX_VALUE","xi","yi","fromLine","fromCubic","fromQuadratic","rx","ry","fromArc","rebuildPath","ux","uy","theta","dTheta","psi","fs","scaleX","isEllipse","$find","forced","defaultOptions","storeData","selectName","filename","hasFile","file","parseTypeLabel","importTypes","mask","lockView","showFooter","escClosable","maskClosable","importRemove","clearFileEvent","selectFileEvent","sheetName","_this$$parent","readFile","files","parseFile","isEmptyObject","bMapModel","rendering","bmap","getBMap","viewportRoot","moveHandler","offsetEl","mapOffset","setMapOffset","__mapOffset","zoomEndHandler","_oldMoveHandler","_oldZoomEndHandler","roam","enableDragging","disableDragging","enableScrollWheelZoom","enableDoubleClickZoom","enablePinchToZoom","disableScrollWheelZoom","disableDoubleClickZoom","disablePinchToZoom","originalStyle","__mapStyle","newMapStyle","mapStyleStr","newMapStyle2","setMapStyle","originalStyle2","__mapStyle2","mapStyleStr2","setMapStyleV2","features","ctor","fails","regexpExec","SPECIES","REPLACE_SUPPORTS_NAMED_GROUPS","exec","groups","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","fns","nativeMethod","regexp","arg2","forceStringMethod","strfn","rxfn","string","_format","encodeHTML","layoutInfo","leaves","leavesModel","nodeData","wrapMethod","isExpand","treeDepth","expandAndCollapse","expandTreeDepth","initialTreeDepth","getRawDataItem","collapsed","formatTooltip","realRoot","edgeShape","edgeForkPosition","nodeScaleRatio","animationDuration","animationDurationUpdate","numberUtil","scaleHelper","IntervalScale","intervalScaleProto","mathCeil","mathFloor","ONE_SECOND","ONE_MINUTE","ONE_HOUR","ONE_DAY","bisect","TimeScale","stepLvl","_stepLvl","formatTime","getSetting","getFullYear","getMonth","minInterval","maxInterval","_interval","fixMin","fixMax","approxTickNum","span","approxInterval","scaleLevelsLen","scaleLevels","yearSpan","yearStep","nice","timezoneOffset","getTimezoneOffset","fixExtent","_niceExtent","parseDate","useUTC","useEncodeDefaulter","smoothMonotone","showSymbol","showAllSymbol","connectNulls","sampling","hoverLayerThreshold","Component","parallelAxisIndex","axisExpandable","axisExpandCenter","axisExpandCount","axisExpandWidth","axisExpandRate","axisExpandDebounce","axisExpandSlideTriggerArea","axisExpandTriggerOn","parallelAxisDefault","mergeOption","_initDimensions","setAxisExpand","axisModels","dependentModels","parallelAxis","factory","createCommonjsModule","deepmerge","commonjsGlobal","isMergeableObject","nonNullObject","emptyTarget","cloneIfNecessary","optionsArgument","defaultArrayMerge","destination","mergeObject","arrayMerge","all","mitt","emit","evt","namespaces_1","namespaces","svg","uri","xlink","objectToAttrsString","defaultAttrs","wrapInSvgString","attributes","attrsRendered","svg$1","xlink$1","defaultConfig","Sprite","symbols","existing","destroy","stringifiedSymbols","SpriteSymbol","viewBox","this$1","hasImportNode","importNode","doc","DOMParser","parseFromString","documentElement","BrowserSpriteSymbol","SpriteSymbol$$1","__proto__","prototypeAccessors","isMounted","createFromExistingNode","outerHTML","unmount","mount","mountTarget","defaultConfig$1","autoConfigure","mountTo","syncUrlsWithBaseTag","listenLocationChangeEvent","locationChangeEvent","locationChangeAngularEmitter","usagesToUpdate","moveGradientsOutsideSymbol","arrayFrom","ua","browser","isChrome","isFirefox","dispatchEvent","createEvent","initCustomEvent","evalStylesIEWorkaround","updatedNodes","getUrlWithoutFragment","location","angular","$rootScope","newUrl","oldUrl","defaultSelector","insertBefore","selectAttributes","matcher","acc","arrayfied","matched","xLinkNS","xLinkAttrName","specialUrlCharsPattern","encoder","updateReferences","replaceWith","setAttributeNS","sprite","attList","attSelector","updateUrls","references","startsWithEncoded","replaceWithEncoded","localName","Events","MOUNT","SYMBOL_MOUNT","BrowserSprite","Sprite$$1","cfg","emitter","_emitter","_autoConfigure","baseUrl","getElementsByTagName","handleLocationChange","_handleLocationChange","spriteNode","symbolNode","isNewSymbol","attach","mountNode","usages","ready$1","definition","hack","doScroll","domContentLoaded","readyState","spriteNodeId","spriteGlobalVarName","isSpriteExists","loadSprite","getElementById","sprite$1","_queue","iconStatus","modal","message","lockScroll","dblclickZoom","marginSize","fullscreen","remember","destroyOnClose","animat","slots","contentVisible","modalTop","modalZindex","zoomLocat","inited","isMsg","$listeners","_this$events","open","$modal","inserted","removeMsgQueue","_this$slots","defaultSlot","footerSlot","footer","headerSlot","titleSlot","headerOns","mousedownEvent","toggleZoomEvent","selfClickEvent","updateZindex","modalZoomOut","modalZoomIn","modalClose","closeEvent","word","cancelEvent","confirmEvent","dragEvent","modalBoxElem","getBox","_this$events2","addMsgQueue","clientVisibleWidth","clientVisibleHeight","maximize","updateStyle","modalBox","_this$events3","_DomTools$getDomNode","getDomNode","visibleHeight","visibleWidth","revert","_this7","_this$events4","_this8","demMousemove","demMouseup","onmouseup","disX","disY","clientY","_DomTools$getDomNode2","minX","maxX","minY","maxY","_this9","_this$events5","_DomTools$getDomNode3","dataset","dragLeft","dragTop","arrayLikeToArray","_arrayWithoutHoles","wx","getSystemInfoSync","os","svgSupported","touchEventsSupported","domSupported","worker","detect","firefox","weChat","SVGRect","pointerEventsSupported","hierNode","defaultAncestor","ancestor","prelim","modifier","thread","firstWalk","separation","siblings","subtreeW","executeShifts","midPoint","apportion","secondWalk","nodeX","defaultSeparation","radialCoordinate","radialCoor","getViewRect","subtreeV","nodeOutRight","nodeInRight","nodeOutLeft","nodeInLeft","sumOutRight","sumInRight","sumOutLeft","sumInLeft","nextRight","nextLeft","moveSubtree","nextAncestor","wl","wr","pathTool","colorTool","Image","Ring","BezierCurve","Arc","LinearGradient","RadialGradient","IncrementalDisplayable","subPixelOptimizeUtil","EMPTY_OBJ","Z2_EMPHASIS_LIFT","CACHED_LABEL_STYLE_PROPERTIES","textBorderColor","textBorderWidth","EMPHASIS","NORMAL","_highlightNextDigit","_highlightKeyMap","_customShapeMap","extendShape","extendPath","pathData","extendFromString","registerShape","ShapeClass","getShapeClass","makePath","createFromString","centerGraphic","resizePath","makeImage","imageUrl","img","pathRect","subPixelOptimizeLine","param","subPixelOptimizeRect","hasFillOrStroke","fillOrStroke","liftedColorMap","liftedColorCount","liftColor","liftedColor","lift","cacheElementStl","__hoverStlDirty","__hoverStl","normalStyle","__cachedNormalStl","__cachedNormalZ2","singleEnterEmphasis","hoverStl","__highlighted","elTarget","targetStyle","addHover","rollbackDefaultTextStyle","extendFrom","setDefaultHoverFillStroke","applyDefaultTextStyle","singleEnterNormal","highlighted","removeHover","normalStl","normalZ2","traverseUpdate","updater","commonParam","__highDownOnUpdate","setElementHoverStyle","onElementMouseOver","shouldSilent","__highByOuter","onElementMouseOut","onElementEmphasisEvent","highlightDigit","onElementNormalEvent","__highDownSilentOnTouch","zrByTouch","setAsHighDownDispatcher","asDispatcher","disable","__highDownDispatcher","isHighDownDispatcher","getHighlightDigit","highlightKey","emphasisStyle","normalModel","emphasisModel","normalSpecified","emphasisSpecified","baseText","labelProp","showNormal","showEmphasis","normalStyleText","emphasisStyleText","setTextStyle","modifyLabelStyle","normalStyleProps","emphasisStyleProps","specifiedTextStyle","isEmphasis","setTextStyleCommon","setText","defaultColor","textPosition","getTextPosition","textOffset","textRotation","textDistance","richResult","globalTextStyle","richItemNames","getRichItemNames","richTextStyle","setTokenTextStyle","rich","forceRich","richItemNameMap","isBlock","getAutoColor","textStroke","textStrokeWidth","insideRollbackOpt","fontStyle","textLineHeight","textWidth","textHeight","textTag","disableBox","textBackgroundColor","textPadding","textBorderRadius","textBoxShadowColor","textBoxShadowBlur","textBoxShadowOffsetX","textBoxShadowOffsetY","textShadowColor","textShadowBlur","textShadowOffsetX","textShadowOffsetY","insideRollback","useInsideStyleCache","useAutoColorCache","gTextStyleModel","animateOrSetProps","isUpdate","animatableModel","animationEnabled","postfix","animationDelay","getAnimationDelayParams","getTransform","mat","transformDirection","hBase","vBase","vertex","groupTransition","g1","g2","elMap1","getElMap","anid","oldEl","newProp","getAnimatableProps","elMap","clipPointsByRect","clipRectByRect","targetRect","iconStr","linePolygonIntersect","a1x","a1y","a2x","a2y","lineLineIntersect","b1x","b1y","b2x","b2y","mx","my","nx","ny","nmCrossProduct","crossProduct2d","nearZero","b1a1x","b1a1y","eventTool","DataZoomView","sliderMove","DEFAULT_LOCATION_EDGE_GAP","DEFAULT_FRAME_BORDER_WIDTH","DEFAULT_FILLER_SIZE","HORIZONTAL","VERTICAL","LABEL_GAP","SHOW_DATA_SHADOW_SERIES_TYPE","SliderZoomView","_displayables","_orient","_range","_handleEnds","_size","_handleWidth","_handleHeight","_location","_dragging","_dataShadowInfo","dataZoomModel","_buildView","_updateView","_resetLocation","_resetInterval","barGroup","_renderBackground","_renderHandle","_renderDataShadow","_positionGroup","coordRect","_findCoordRect","ecSize","positionInfo","layoutParams","getLayoutParams","layoutRect","targetAxisModel","getFirstTargetAxisModel","otherAxisInverse","_getViewExtent","_onClickPanelClick","_prepareDataShadowInfo","otherDim","getShadowDim","otherDataExtent","otherOffset","lastIsEmpty","otherShadowExtent","thisShadowExtent","areaPoints","thisCoord","stride","otherCoord","showDataShadow","eachTargetAxis","dimNames","seriesModels","getAxisProxy","getTargetSeriesModels","thisAxis","getOtherDim","thisDim","displaybles","handles","handleLabels","filler","getCursor","_onDragMove","_showDataInfo","ondragend","_onDragEnd","onmouseover","onmouseout","lineWidth","handleIndex","bRect","handleColor","getPercentRange","viewExtent","_updateInterval","delta","handleEnds","viewExtend","minMaxSpan","findRepresentativeAxisProxy","getMinMaxSpan","percentExtent","minSpan","maxSpan","lastRange","nonRealtime","handleInterval","handle","handleHeight","_updateDataInfo","labelTexts","axisProxy","getAxisModel","dataInterval","calculateDataWindow","valueWindow","getDataValueWindow","_formatLabel","orderedHandleEnds","setLabel","barTransform","textPoint","labelFormatter","labelPrecision","getPixelPrecision","valueStr","showOrHide","changed","realtime","_dispatchZoomAction","localPoint","offsetX","offsetY","dataZoomId","getTargetCoordInfo","coordInfoList","GlobalConfig","emptyCell","rowId","optimization","delayHover","sortAsc","sortDesc","filterNone","filterMatch","edit","treeLoaded","treeOpen","treeClose","expandLoaded","expandOpen","expandClose","jumpPrev","jumpNext","prevPage","nextPage","jumpMore","modalInfo","modalSuccess","modalWarning","modalError","modalQuestion","modalLoading","caretBottom","dropdownBottom","btnLoading","proxyConfig","autoLoad","beforeColumn","beforeQuery","beforeDelete","beforeSave","menu","theme","leaveDelay","Graph","edges","directed","addNode","linkNameList","validEdges","linkCount","link","addEdge","coordSysCtor","dimensionNames","edgeData","datasAttr","ARG","tryGet","callee","IndicatorAxis","getScaleExtent","LogScale","Radar","radarModel","_indicatorAxes","indicatorModel","indicatorAxis","getIndicatorAxes","indicatorIndex","coordToPoint","pointToData","closestAxis","radian","minRadianDiff","closestAxisIdx","coordToData","viewWidth","viewHeight","viewSize","indicatorAxes","radarSeries","increaseInterval","exp10","LN10","rawExtent","fixedMin","fixedMax","getInterval","setInterval","nicedSplitNumber","radarList","radar","categoryFilter","categoryVisual","edgeVisual","circularLayout","forceLayout","createView","registerProcessor","POST_CHART_LAYOUT","registerCoordinateSystem","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","headers","getDefaultAdapter","adapter","XMLHttpRequest","transformRequest","isFormData","isArrayBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","transformResponse","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","common","dataFormatMixin","addCommas","fillLabel","mergeDefaultAndTheme","_mergeOption","hostSeries","__hostSeries","newOpt","createdBySelf","modelPropName","markerOpt","markerModel","multipleSeries","dataType","renderMode","getRawValue","formattedValue","newLine","staticDayTime","getYearWeek","setHours","getDay","week","getTime","getSortedIndices","valueArr","isAscending","textX","textY","labelPosition","isLabelInside","labelLineLen","viewRect","sizeExtent","getLinePoints","nextIdx","_amap","_mapOffset","_api","_zoom","_center","lnglatToPixel","getAMap","AMap","LngLat","lngLatToContainer","containerToLngLat","lng","lat","getRoamTransform","getDom","__amap","__options","Map","__layer","CustomLayer","setMap","getLayer","getCenter","getMapOptions","setCenterAndZoom","centerOrZoomChanged","getInstanceByDom","_oldResizeHandler","_poly","DataDiffer","_layers","layerSeries","getLayerSeries","keyGetter","dataDiffer","_layersSeries","newLayersGroups","oldLayersGroups","points0","points1","textLayout","margin","layerGroup","stackedOnPoints","stackedOnSmooth","smoothConstraint","createGridClipShape","rectEl","defs","POSSIBLE_STYLES","compatEC2ItemStyle","itemStyleOpt","styleName","normalItemStyleOpt","emphasisItemStyleOpt","convertNormalEmphasis","optType","useExtend","normalOpt","removeEC3NormalStatus","labelOptSingle","TEXT_STYLE_OPTIONS","compatEC3CommonStyles","processSeries","seriesOpt","markPoint","markLine","markArea","links","mpData","mlData","breadcrumb","levels","toArr","toObj","isTheme","axes","axisName","axisOpt","axisPointer","parallel","parallelOpt","calendar","calendarOpt","radarOpt","geoOpt","regionObj","timeline","timelineOpt","toolbox","toolboxOpt","feature","featureOpt","classof","getIteratorMethod","echartsLib","DEFAULT_THEME","categoryAxis","line","containLabel","DEFAULT_COLORS","HEAT_MAP_COLOR","HEAT_BMAP_COLOR","itemPoint","STATIC_PROPS","ECHARTS_SETTINGS","ABBR","th","mi","bi","tr","DEFAULT_OPTIONS","zeroFormat","nullFormat","defaultFormat","scalePercentBy100","abbrLabel","TRILLION","BILLION","MILLION","THOUSAND","numIsNaN","maxDecimals","roundingFunction","optionals","splitValue","minDecimals","boundedPrecision","power","output","optionalsRegExp","numberToFormat","negP","optDec","abbr","decimal","neg","abbrForce","signed","int","thousands","leadingCount","trillion","million","sub","numerifyPercent","formatType","numerify","space","_numberToFormat","formats","formatFunction","setOptions","_extends","timer","set$1","targetTemp","pathArr","get$1","defaultValue","_typeof$1","getType","getTypeof","cloneDeep","camelToKebab","hasOwn","alice","bob","aliceValue","bobValue","aliceType","_key","getFormated","digit","defaultVal","digitStr","getStackMap","stackMap","$get","xhr","send","responseText","onerror","mapPromise","getMapJSON","positionJsonLink","beforeRegisterMapOnce","mapURLProfix","bmapPromise","amapPromise","getBmap","callbackName","script","getAmap","setArrayValue","VALUE_AXIS_OPACITY","getBarDimAxis","innerRows","dimAxisName","axisVisible","dimAxisType","dims","getValueAxisData","getBarMeaAxis","meaAxisName","meaAxisType","meaAxisBase","meaAxis","getBarTooltip","axisSite","isHistogram","labelMap","secondAxis","items","tpl","getValueData","seriesTemp","getBarSeries","metrics","_args$showLine","showLine","secondDimAxisIndex","itemOpacity","getLegend","legendName","getDims","rows","bar$1","settings","extra","_settings$axisSite","_settings$dimension","_settings$stack","_settings$axisVisible","_settings$digit","_settings$dataOrder","dataOrder","_settings$scale","_settings$min","_settings$max","_settings$legendName","_settings$labelMap","_settings$barGap","tooltipVisible","legendVisible","xAxisType","yAxisType","xAxisName","yAxisName","_label","legend$$1","tooltipParams","tooltip$$1","legend","histogram","_settings$axisSite2","_settings$dimension2","_settings$stack2","_settings$axisVisible2","_settings$digit2","_settings$dataOrder2","_settings$scale2","_settings$min2","_settings$max2","_settings$labelMap2","_settings$legendName2","_settings$barGap2","_label2","Loading","_vm","DataEmpty","setExtend","setMark","marks","setAnimation","Core","_componentTag","canvasStyle","dataEmpty","beforeConfig","afterConfig","afterSetOption","afterSetOptionOnce","colors","legendPosition","visualMap","dataZoom","initOptions","themeName","judgeWidth","widthChangeDelay","tooltipFormatter","resizeable","resizeDelay","changeDelay","setOptionOpts","cancelResizeCheck","notSetUnchange","changeHandler","chartLib","chartHandler","chartColor","dataHandler","_data$columns","_data$rows","_once","optionsHandler","nextTickResize","echartsResize","amap","_store","notMerge","_isDestroyed","setOption","judgeWidthHandler","resizeableHandler","onresize","createEventProxy","resizeHandler","addWatchToProps","watchedVariable","_watchers","watcher","$props","ev","registeredEvents","themeChange","clean","_numerify","VeBar","VeHistogram","getLineXAxis","getLineSeries","nullAddZero","areaStyle","dataTemp","yAxisIndex","getLineYAxis","yAxisBase","getLineTooltip","rightItems","rightList","_items$","axisValueLabel","marker","showData","itemData","getLegend$1","line$1","_settings$yAxisType","_settings$xAxisType","_settings$yAxisName","_settings$xAxisName","_settings$nullAddZero","VeLine","pieRadius","ringRadius","roseRingRadius","pieOffsetY","getPieSeries","percentShow","roseType","limitShowNum","isRing","levelTemp","rowsTemp","levelItems","itemLevel","levelItem","seriesBase","rowsTempLength","dataRows","centerWidth","outerWidth","innerWidth","firstData","remainArr","getPieLegend","legendLimit","getPieTooltip","pie$1","_settings$dataType","_settings$metrics","_settings$roseType","_settings$radius","_settings$offsetY","_settings$legendLimit","_settings$selectedMod","_settings$hoverAnimat","_settings$label","_settings$level","_settings$limitShowNu","seriesParams","legendParams","ring","VePie","VeRing","getWaterfallTooltip","getWaterfallXAxis","remainStatus","totalName","remainName","xAxisData","getWaterfallYAxis","getWaterfallSeries","totalNum","dataSum","dataSumTemp","totalNumTemp","assistData","rowData","getWaterfallRemainStatus","waterfall","_settings$totalName","_settings$remainName","metricsTemp","pre","cur","xAxisParams","VeWaterfall","getFunnelTooltip","realValue","getFunnelLegend","getFunnelSeries","sequence","ascending","filterZero","useDefaultOrder","falseFunnel","funnel$1","outerColumns","outerRows","_settings$sequence","VeFunnel","getRadarLegend","legendData","getRadarTooltip","radar$$1","typeTemp","nameTemp","getRadarSetting","settingBase","indicatorTemp","getRadarSeries","radarIndexObj","seriesData","serieData","radar$1","VeRadar","VeChart","pie","funnel","getTooltip","dataStore","getSeries","selectData","mapGrid","mapBase","itemResult","setGeoLabel","getLegendMap","registerMap","mapOrigin","registerSign","beforeRegisterMap","registerSignOnce","specialAreas","map$1","_settings$position","_settings$selectData","_settings$mapURLProfi","_settings$specialArea","registerOptions","json","VeMap","bmap$1","__","bmap$$1","useOuterMap","VeBmap","VeAmap","getTooltip$1","itemDataType","linksDataType","getSeries$1","valueFull","useDataValue","dataMap","innerLinks","sankey$1","_settings$valueFull","_settings$useDataValu","VeSankey","getAxisList","innerXAxisList","innerYAxisList","xDim","yDim","extraMetrics","xIndex","yIndex","extraData","getAxis","getVisualMap","innerMin","innerMax","heatColor","calculable","inRange","getSeries$2","chartData","getTooltip$2","_ref$data$value","heatmap$1","_settings$type","xAxisList","yAxisList","_settings$v","_settings$pointSize","pointSize","_settings$blurSize","blurSize","mainColumn","metricsList","visualMap$$1","geoAttr","VeHeatmap","getScatterLegend","dataLabels","getScatterTooltip","tooltipTrigger","getTooltipContent","num","getScatterXAxis","dataLabel","getScatterYAxis","getScatterSeries","symbolSizeMax","numbers","maxNum","ext","scatter$1","_settings$tooltipTrig","_settings$symbolSizeM","lineSettings","VeScatter","DEFAULT_MA","DEFAULT_K_NAME","DEFAULT_DOWN_COLOR","DEFAULT_UP_COLOR","DEFAULT_START","DEFAULT_END","SHOW_FALSE","getCandleLegend","showMA","MA","getCandleTooltip","elRect","side","axisValue","componentSubType","_val","getCandleVisualMap","downColor","upColor","getCandleGrid","showVol","getCandleXAxis","gridIndex","getCandleYAxis","getCandleDataZoom","xAxisIndex","getCandleSeries","volumes","color0","borderColor0","calculateMA","dayCount","candle","_settings$MA","_settings$showMA","_settings$showVol","_settings$showDataZoo","showDataZoom","_settings$downColor","_settings$upColor","_settings$start","_settings$end","isLiteData","candleMetrics","volumeMetrics","_status","dataZoom$$1","VeCandle","getTooltip$3","_options$data","getSeries$3","seriesMap","dataName","gauge$1","_settings$seriesMap","_settings$dataName","VeGauge","getTreeLegend","getTreeTooltip","triggerOn","getTreeSeries","tree$1","VeTree","getTooltip$4","getSeries$4","wave","itemWave","itemMap","liquidfill","_settings$wave","VeLiquidfill","getSeries$5","sizeMax","sizeMin","baseType","random","getTooltip$5","_params$data","wordcloud","_settings$color","_settings$sizeMax","_settings$sizeMin","_settings$shape","VeWordcloud","properties","excludes","includes","forOf","normalizeComponent","scriptExports","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","originalRender","_cell","isRegExp","advanceStringIndex","callRegExpExec","$min","$push","$SPLIT","LENGTH","LAST_INDEX","MAX_UINT32","SUPPORTS_Y","SPLIT","$split","maybeCallNative","internalSplit","separator","limit","lastLength","flags","lastLastIndex","splitLimit","separatorCopy","splitter","unicodeMatching","lim","_toConsumableArray","unsupportedIterableToArray","PI2","RADIAN","minAngle","validDataCount","unitRadian","stillShowZeroSum","restAngle","valueSumLargerThanMinAngle","currentAngle","dir","paletteScope","categoriesData","getCategoriesData","categoryNameIdxMap","getColorFromPalette","itemStyleList","category","keep","dataView","lang","back","magicType","tiled","restore","saveAsImage","typeNames","scatter","effectScatter","treemap","boxplot","candlestick","heatmap","sankey","gauge","pictorialBar","themeRiver","sunburst","aria","general","withTitle","withoutTitle","single","withName","withoutName","middle","allData","partialData","argsSize","helperNumberDivide","divide","staticEncodeURIComponent","stringifyParams","resultVal","resultKey","isArr","_arr","serialize","SRC","$toString","TPL","inspectSource","safe","dPs","IE_PROTO","Empty","createDict","iframeDocument","iframe","contentWindow","write","emptyObject","freeze","isUndef","isDef","isTrue","isFalse","isPrimitive","_toString","isValidArrayIndex","isPromise","makeMap","expectsLowerCase","isReservedAttribute","cached","camelizeRE","camelize","capitalize","hyphenateRE","hyphenate","polyfillBind","boundFn","_length","nativeBind","_from","no","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","keysA","keysB","looseIndexOf","once","called","SSR_ATTR","ASSET_TYPES","LIFECYCLE_HOOKS","optionMergeStrategies","productionTip","devtools","performance","errorHandler","warnHandler","ignoredElements","keyCodes","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","async","_lifecycleHooks","unicodeRegExp","isReserved","def","bailRE","parsePath","segments","_isServer","hasProto","inBrowser","inWeex","WXEnvironment","platform","weexPlatform","UA","isIE9","isIOS","isFF","nativeWatch","supportsPassive","isServerRendering","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","isNative","Ctor","_Set","hasSymbol","Reflect","ownKeys","Dep","subs","addSub","removeSub","depend","addDep","notify","targetStack","pushTarget","popTarget","VNode","elm","asyncFactory","ns","fnContext","fnOptions","fnScopeId","raw","isStatic","isRootInsert","isComment","isCloned","asyncMeta","isAsyncPlaceholder","createEmptyVNode","createTextVNode","cloneVNode","cloned","arrayProto","arrayMethods","methodsToPatch","original","ob","__ob__","observeArray","dep","arrayKeys","shouldObserve","toggleObserving","Observer","vmCount","protoAugment","copyAugment","walk","asRootData","isExtensible","_isVue","defineReactive$$1","customSetter","shallow","childOb","dependArray","newVal","del","strats","mergeData","toVal","fromVal","mergeDataOrFn","parentVal","childVal","vm","instanceData","defaultData","mergeHook","dedupeHooks","hooks","mergeAssets","key$1","defaultStrat","normalizeProps","normalizeInject","normalized","normalizeDirectives","dirs","def$$1","mergeOptions","_base","extends","mergeField","strat","resolveAsset","warnMissing","assets","camelizedId","PascalCaseId","validateProp","propOptions","propsData","absent","booleanIndex","getTypeIndex","stringIndex","getPropDefaultValue","prevShouldObserve","_props","isSameType","expectedTypes","handleError","errorCaptured","capture","globalHandleError","invokeWithErrorHandling","_handled","logError","timerFunc","isUsingMicroTask","callbacks","pending","flushCallbacks","copies","MutationObserver","textNode","createTextNode","characterData","_resolve","seenObjects","_traverse","seen","isA","isFrozen","depId","once$$1","createFnInvoker","invoker","arguments$1","updateListeners","oldOn","remove$$1","createOnceHandler","old","mergeVNodeHook","hookKey","oldHook","wrappedHook","merged","extractPropsFromVNodeData","altKey","checkProp","hash","preserve","simpleNormalizeChildren","normalizeChildren","normalizeArrayChildren","isTextNode","nestedIndex","_isVList","initProvide","_provided","initInjections","resolveInject","provideKey","provideDefault","resolveSlots","name$1","isWhitespace","normalizeScopedSlots","normalSlots","prevSlots","hasNormalSlots","isStable","$stable","$key","_normalized","$hasNormal","normalizeScopedSlot","key$2","proxyNormalSlot","proxy","renderList","renderSlot","fallback","bindObject","scopedSlotFn","resolveFilter","isKeyNotMatch","expect","actual","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","bindObjectProps","asProp","isSync","camelizedKey","hyphenatedKey","$event","renderStatic","isInFor","_staticTrees","markStatic","markOnce","markStaticNode","bindObjectListeners","ours","resolveScopedSlots","hasDynamicKeys","contentHashKey","bindDynamicKeys","baseObj","prependModifier","installRenderHelpers","_o","_n","_m","_f","_u","_g","_d","_p","FunctionalRenderContext","contextVm","_original","isCompiled","needNormalization","listeners","injections","createFunctionalComponent","mergeProps","renderContext","cloneAndMarkFunctionalResult","vnodes","componentVNodeHooks","hydrating","keepAlive","mountedNode","prepatch","createComponentInstanceForVnode","activeInstance","oldVnode","updateChildComponent","insert","_isMounted","callHook","queueActivatedComponent","activateChildComponent","deactivateChildComponent","hooksToMerge","createComponent","baseCtor","cid","resolveAsyncComponent","createAsyncPlaceholder","resolveConstructorOptions","transformModel","abstract","installComponentHooks","_isComponent","_parentVnode","inlineTemplate","toMerge","_merged","mergeHook$1","f1","f2","SIMPLE_NORMALIZE","ALWAYS_NORMALIZE","normalizationType","alwaysNormalize","_createElement","applyNS","registerDeepBindings","initRender","_vnode","parentVnode","_renderChildren","parentData","_parentListeners","currentRenderingInstance","renderMixin","_render","ensureCtor","base","errorComp","resolved","owners","loadingComp","sync","timerLoading","timerTimeout","forceRender","renderCompleted","$forceUpdate","reason","getFirstComponentChild","initEvents","_events","_hasHookEvent","updateComponentListeners","remove$1","$off","onceHandler","oldListeners","eventsMixin","hookRE","$once","i$1","cbs","setActiveInstance","prevActiveInstance","initLifecycle","_watcher","_inactive","_directInactive","_isBeingDestroyed","lifecycleMixin","_update","prevVnode","restoreActiveInstance","__patch__","__vue__","teardown","mountComponent","updateComponent","Watcher","renderChildren","newScopedSlots","oldScopedSlots","hasDynamicScopedSlot","needsForceUpdate","propKeys","_propKeys","isInInactiveTree","direct","handlers","activatedChildren","waiting","flushing","resetSchedulerState","currentFlushTimestamp","getNow","timeStamp","flushSchedulerQueue","activatedQueue","updatedQueue","callActivatedHooks","callUpdatedHooks","queueWatcher","uid$2","expOrFn","isRenderWatcher","user","deps","newDeps","depIds","newDepIds","cleanupDeps","oldValue","evaluate","sharedPropertyDefinition","sourceKey","initState","initMethods","initComputed","initWatch","propsOptions","isRoot","computedWatcherOptions","watchers","_computedWatchers","isSSR","userDef","defineComputed","shouldCache","createComputedGetter","createGetterInvoker","createWatcher","stateMixin","dataDef","propsDef","$delete","uid$3","initMixin","_init","_uid","initInternalComponent","vnodeComponentOptions","super","superOptions","cachedSuperOptions","modifiedOptions","resolveModifiedOptions","extendOptions","modified","latest","sealed","sealedOptions","initUse","plugin","_installedPlugins","initMixin$1","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","initProps$1","initComputed$1","Comp","initAssetRegisters","getComponentName","matches","pattern","pruneCache","keepAliveInstance","cachedNode","pruneCacheEntry","cached$$1","patternTypes","KeepAlive","include","exclude","ref$1","builtInComponents","initGlobalAPI","configDef","defineReactive","observable","acceptValue","isEnumeratedAttr","isValidContentEditableValue","convertEnumeratedValue","isFalsyAttrValue","isBooleanAttr","xlinkNS","isXlink","getXlinkProp","genClassForVnode","childNode","mergeClassData","renderClass","dynamicClass","stringifyClass","stringifyArray","stringifyObject","stringified","namespaceMap","math","isHTMLTag","isSVG","unknownElementCache","HTMLUnknownElement","HTMLElement","isTextInputType","createElement$1","createElementNS","namespace","createComment","newNode","referenceNode","nextSibling","setTextContent","setStyleScope","nodeOps","registerRef","isRemoval","refs","refInFor","emptyNode","sameVnode","sameInputType","typeA","typeB","createKeyToOldIdx","beginIdx","endIdx","createPatchFunction","backend","modules","emptyNodeAt","createRmCb","childElm","removeNode","createElm","insertedVnodeQueue","parentElm","refElm","nested","ownerArray","setScope","createChildren","invokeCreateHooks","isReactivated","initComponent","reactivateComponent","pendingInsert","isPatchable","innerNode","activate","ref$$1","addVnodes","startIdx","invokeDestroyHook","removeVnodes","ch","removeAndInvokeRemoveHook","rm","updateChildren","oldCh","newCh","removeOnly","oldKeyToIdx","idxInOld","vnodeToMove","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","canMove","patchVnode","findIdxInOld","hydrate","postpatch","invokeInsertHook","initial","isRenderedModule","inVPre","hasChildNodes","childrenMatch","firstChild","fullInvoke","isInitialPatch","isRealElement","hasAttribute","oldElm","_leaveCb","patchable","i$2","updateDirectives","oldDir","isCreate","isDestroy","oldDirs","normalizeDirectives$1","newDirs","dirsWithInsert","dirsWithPostpatch","oldArg","callHook$1","componentUpdated","callInsert","emptyModifiers","modifiers","getRawDirName","baseModules","updateAttrs","oldAttrs","setAttr","removeAttributeNS","baseSetAttr","__ieph","blocker","updateClass","cls","transitionClass","_transitionClasses","_prevClass","target$1","klass","RANGE_TOKEN","CHECKBOX_RADIO_TOKEN","normalizeEvents","createOnceHandler$1","remove$2","useMicrotaskFix","add$1","attachedTimestamp","_wrapper","ownerDocument","updateDOMListeners","svgContainer","updateDOMProps","oldProps","_value","strCur","shouldUpdateValue","checkVal","isNotInFocusAndDirty","isDirtyWithModifiers","notInFocus","_vModifiers","parseStyleText","listDelimiter","propertyDelimiter","normalizeStyleData","normalizeStyleBinding","bindingStyle","getStyle","checkChild","styleData","emptyStyle","cssVarRE","importantRE","setProp","setProperty","normalizedName","vendorNames","capName","oldStaticStyle","oldStyleBinding","normalizedStyle","oldStyle","newStyle","whitespaceRE","tar","resolveTransition","css","autoCssTransition","enterClass","enterToClass","enterActiveClass","leaveClass","leaveToClass","leaveActiveClass","hasTransition","TRANSITION","ANIMATION","transitionProp","transitionEndEvent","animationProp","animationEndEvent","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","raf","nextFrame","addTransitionClass","transitionClasses","removeTransitionClass","whenTransitionEnds","expectedType","getTransitionInfo","propCount","ended","onEnd","transformRE","styles","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","durations","toMs","enter","toggleDisplay","cancelled","_enterCb","appearClass","appearToClass","appearActiveClass","beforeEnter","afterEnter","enterCancelled","beforeAppear","appear","afterAppear","appearCancelled","transitionNode","isAppear","startClass","activeClass","toClass","beforeEnterHook","enterHook","afterEnterHook","enterCancelledHook","explicitEnterDuration","expectsCSS","userWantsControl","getHookArgumentsLength","pendingNode","_pending","isValidDuration","leave","beforeLeave","leaveCancelled","delayLeave","explicitLeaveDuration","performLeave","invokerFns","_enter","platformModules","patch","vmodel","directive","_vOptions","onCompositionStart","onCompositionEnd","prevOptions","curOptions","needReset","hasNoMatchingOption","actuallySetSelected","isMultiple","selectedIndex","initEvent","locateNode","transition$$1","originalDisplay","__vOriginalDisplay","platformDirectives","transitionProps","getRealChild","compOptions","extractTransitionData","rawChild","hasParentTransition","isSameChild","oldChild","isNotTextNode","isVShowDirective","Transition","_leaving","oldRawChild","delayedLeave","moveClass","TransitionGroup","beforeMount","kept","prevChildren","rawChildren","transitionData","c$1","hasMove","callPendingCbs","recordPosition","applyTranslation","_reflow","moved","WebkitTransform","_moveCb","propertyName","_hasMove","cloneNode","platformComponents","isDataItemOption","DefaultDataProvider","dimSize","seriesDataToSource","_source","_offset","_dimSize","providerMethods","providerProto","pure","persistent","appendData","appendDataSimply","countSimply","getItemSimply","col","newCol","oldCol","rawValueGetters","arrayRows","getRawValueSimply","objectRows","keyedColumns","typedArray","defaultDimValueGetters","getDimValueSimply","converDataValue","_dimensionInfos","_rawData","dimInfo","parseAndCollect","retrieveRawValue","getProvider","getDimensionInfo","retrieveRawAttr","USE_SYMBOL","$exports","fixShadow","_constant","ContextCachedBy","STYLE_COMMON_PROPS","createLinearGradient","canvasGradient","createRadialGradient","fillOpacity","strokeOpacity","lineDashOffset","textRect","transformText","textOrigin","truncate","blend","prevStyle","notCheckCache","__attrCachedBy","STYLE_BIND","fillStyle","strokeStyle","globalAlpha","globalCompositeOperation","hasStroke","getLineScale","hasFill","otherStyle","overwrite","getGradient","colorStops","addColorStop","styleProto","hasKeys","supplementVisualOption","mappings","createMappings","visualData","isValidType","__hidden","__alphaForOpacity","Creater","replaceVisualOption","scope","visualTypesMap","eachItem","valueOrIndex","rawDataItem","prepareVisualTypes","incrementalApplyVisual","hasModal","hasInitZIndex","getModal","modalDom","doOnModalClick","instances","modalFade","getInstance","deregister","modalStack","topItem","closeOnClickModal","openModal","dom","modalClass","classArr","tabIndex","getTopPopup","topPopup","closeOnPressEscape","handleAction","getTargetSeries","seriesModelMap","modifyOutputEnd","overallReset","filterData","percentRange","getDataPercentWindow","valueRange","setCalculatedRange","startValue","endValue","staticWeekTime","helperCreateInTypeof","createiterateEmpty","groupBy","groupKey","objectEach","countBy","debugMode","Interceptor","toType","eventTypes","eList","enhanceError","repeat","maxLength","fillString","stringLength","fillStr","intMaxLength","fillLen","stringFiller","layouts","perfect","iconPrevPage","iconJumpPrev","iconJumpNext","iconNextPage","iconJumpMore","showSizes","panelStyle","panelIndex","isSizes","getPageCount","numList","offsetNumber","renderPrevPage","renderPrevJump","prevJump","renderNumber","renderPageBtn","renderJumpNumber","renderNextJump","nextJump","renderNextPage","renderSizes","toggleSizePanel","changePageSize","renderFullJump","renderJump","isFull","jumpKeydownEvent","renderPageCount","renderTotal","template","showJump","nums","isOv","isLt","isGt","startNumber","jumpPage","sizeBtn","sizePanel","hideSizePanel","emitPageChange","showSizePanel","_this4$$refs","__CANCEL__","OTHER_DIMENSIONS","summarizeDimensions","summary","notExtraCoordDimMap","defaultedLabel","defaultedTooltip","userOutput","dimItem","coordDim","coordDimIndex","getOrCreateEncodeArr","isExtraCoord","mayLabelDimType","defaultTooltip","encodeArr","otherDims","dataDimsOnCoord","encodeFirstDimNotExtra","dimArr","encodeLabel","encodeTooltip","getDimensionTypeByAxis","applyMixin","vuexInit","$store","devtoolHook","devtoolPlugin","_devtoolHook","targetState","replaceState","subscribe","mutation","forEachValue","Module","rawModule","runtime","_children","_rawModule","rawState","namespaced","getChild","actions","getters","forEachChild","forEachGetter","forEachAction","forEachMutation","ModuleCollection","rawRootModule","targetModule","newModule","getNamespace","rawChildModule","Store","plugins","strict","_committing","_actions","_actionSubscribers","_mutations","_wrappedGetters","_modules","_modulesNamespaceMap","_subscribers","_watcherVM","installModule","resetStoreVM","useDevtools","prototypeAccessors$1","genericSubscribe","resetStore","hot","oldVm","wrappedGetters","$$state","enableStrictMode","_withCommit","rootState","parentState","getNestedState","moduleName","local","makeLocalContext","namespacedType","registerMutation","registerGetter","noNamespace","_type","_payload","_options","unifyObjectStyle","makeLocalGetters","gettersProxy","splitPos","localType","entry","rootGetters","rawGetter","_Vue","after","subscribeAction","registerModule","preserveState","unregisterModule","hotUpdate","newOptions","committing","mapState","normalizeNamespace","normalizeMap","getModuleByNamespace","vuex","mapMutations","mapGetters","mapActions","createNamespacedHelpers","index_esm","barPolar","borderColorQuery","globalColors","eachRawSeriesByType","defaulColor","legendSymbol","INCLUDES","searchString","getMarkerPosition","clampData","offsetIndex","progressiveChunkMode","Ellipse","_path","DILIMITER_REG","parseXML","parser","nodeName","SVGParser","_defs","_root","_isDefine","_isText","xml","parseAttributes","viewBoxRect","viewBoxTransform","_parseNode","viewBoxArr","makeViewBoxTransform","ignoreViewBox","elRoot","ignoreRootClip","xmlNode","parentGroup","defineParsers","nodeParsers","_parseText","_textX","_textY","inheritStyle","circle","ellipse","parsePoints","gradient","_parseGradientColorStops","stopColor","__inheritedStyle","pointsString","attributesMap","onlyInlineStyle","zrStyle","isTextEl","parseTransformAttribute","parseStyleAttribute","svgAttrName","attrValue","elFillProp","elStrokeProp","getPaint","elPropName","textBaseline","urlRegex","urlMatch","transformRegex","transformOps","styleRegex","styleRegResult","styleList","viewBoxScale","viewBoxPosition","parseSVG","DEFAULT_BAR_BOUND","ContinuousModel","hoverLinkDataSize","hoverLinkOnHandle","_resetRange","resetItemSize","auto","getSelected","oVals","getColorStopValues","iVals","iIdx","oIdx","iLen","oLen","first","stopsLen","stopValues","markerHelper","LineDraw","MarkerView","markLineTransform","mlModel","mlType","axisInfo","getAxisInfo","valueDataDim","numCalculate","valueIndex","baseIndex","mlFrom","mlTo","dataTransform","isInifinity","ifMarkLineHasOnlyDim","fromCoord","toCoord","otherDimIndex","containData","markLineFilter","dataFilter","updateSingleMarkerEndLayout","isFrom","xPx","yPx","markLineModel","fromData","__from","toData","__to","markerGroupMap","renderSeries","lineDrawMap","lineDraw","updateDataVisualAndLayout","lineColor","dataModel","__keep","coordDimsInfos","optData","dimValueGetter","Dispatcher","Animation","stage","_clips","_running","_time","_pausedTime","_pauseStart","addAnimator","clips","removeAnimator","deferredEvents","deferredClips","_needsRemove","fire","_startLoop","isFinished","encodeURIComponent","paramsSerializer","serializedParams","parts","isDate","toISOString","endsWith","argsLen","sankeyLayout","sankeyVisual","_echarts","DATAS","MAIN_DATA","main","linkAll","TRANSFERABLE_METHODS","transferInjection","cloneShallowInjection","CHANGABLE_METHODS","changeInjection","isMainData","linkSingle","cloneShallow","getLinkedData","un","Region","NProgress","Settings","minimum","positionUsing","speed","trickle","trickleRate","trickleSpeed","showSpinner","barSelector","spinnerSelector","clamp","toBarPerc","barPositionCSS","ease","barCSS","configure","started","isStarted","getPositioningCSS","work","inc","amount","$promise","always","fromStart","isRendered","spinner","perc","removeElement","bodyStyle","cssPrefixes","cssProps","letter","getVendorProp","vendorName","getStyleProp","applyCss","element","oldList","roams","InsideZoomView","allCoordIds","coordInfo","generateCoordId","coordModel","getRange","roamHandlers","coordId","containsPoint","directionInfo","getDirectionInfo","percentPoint","signal","pixelStart","pixelLength","pixel","pan","makeMover","oldX","oldY","newX","newY","scrollMove","scrollDelta","getPercentDelta","percentDelta","oldPoint","newPoint","angleExtent","pointToCoord","singleAxis","staticDocument","staticWindow","arrayEach","isBrowseStorage","testKey","removeItem","isBrowseType","$body","isMobile","isNode","isPC","msie","safari","isLocalStorage","isSessionStorage","sessionStorage","object","amplitude","waveLength","phase","waveAnimation","animationEasingUpdate","outline","borderDistance","insideColor","baseline","_dimensionHelper","_referHelper","getCoordSysInfoBySeries","coordSysDimDefs","registeredCoordSys","coordSysInfo","coordSysDims","axisMap","getDimensionsInfo","firstCategoryDimIndex","hasNameEncode","dimInfoList","generateCoord","categoryAxisModel","categoryAxisMap","stackCalculationInfo","setCalculationInfo","isNeedCompleteOrdinalData","itemOpt","defaultDimValueGetter","sampleItem","firstDataNotNull","isNumeric","_helper","BAR_BORDER_WIDTH_QUERY","LAYOUT_ATTRS","posDesc","pathForLineWidth","BarView","cartesian","coordSysRect","coordSysExtent","categoryDim","symbolMeta","getSymbolMeta","createBar","updateCommon","newIndex","oldIndex","pictorialShapeStr","getShapeStr","__pictorialShapeStr","updateBar","__pictorialSymbolMeta","removeBar","animationModel","symbolRepeat","symbolClip","symbolPosition","symbolPatternSize","symbolRepeatDirection","prepareBarLength","prepareSymbolSize","boundingLength","pxSign","prepareLineWidth","symbolScale","prepareLayoutInfo","valueLineWidth","repeatCutLength","symbolBoundingData","zeroPx","pxSignIdx","symbolBoundingExtent","convertToCoordOnAxis","categorySize","unitLength","pathLen","absBoundingLength","symbolMargin","hasEndGap","lastIndexOf","uLenWithMargin","endFix","repeatSpecified","repeatTimes","toIntTimes","mDiff","sizeFix","pathPosition","bundlePosition","barRectShape","createPath","createOrUpdateRepeatSymbols","bundle","__pictorialBundle","eachPath","__pictorialAnimationIndex","__pictorialRepeatTimes","updateAttr","makeTarget","updateHoverAnimation","onMouseOver","onMouseOut","createOrUpdateSingleSymbol","mainPath","__pictorialMainPath","createOrUpdateBarRect","rectShape","barRect","__pictorialBarRect","createOrUpdateClip","__pictorialClipPath","labelRect","pathes","immediateAttrs","animationAttrs","barRectHoverStyle","barPositionOutside","times","roundedTimes","ArrayProto","htmlElem","bodyElem","getClsRE","reClsMap","isPx","isScale","elem","updateCellTitle","cellElem","rowToVisible","tableBody","trElem","getRowid","bodySrcollTop","trOffsetTop","offsetParent","trHeight","scrollYLoad","afterFullData","scrollYStore","colToVisible","tdElem","bodySrcollLeft","tdOffsetLeft","tdWidth","scrollXLoad","visibleColumn","queryCls","queryMethod","targetElem","getOffsetPos","getNodeOffset","getAbsolutePos","bounding","getCellNodeIndex","getRowNodes","trList","cellNode","targetCellNode","startColIndex","startRowIndex","targetColIndex","targetRowIndex","rowLen","cells","colIndex","colLen","getCellIndexs","rowid","getCell","toView","scrollIntoViewIfNeeded","scrollIntoView","parentElem","SunburstPiece","windowOpen","ROOT_TO_NODE_ACTION","SunburstView","virtualRoot","newRoot","getViewRoot","renderLabelForZeroData","newChildren","oldChildren","_oldChildren","dualTravel","renderRollUp","highlightPolicy","onEmphasis","unhighlight","virtualPiece","onNormal","getKey","processNode","newId","oldId","oldNode","doRenderNode","viewRoot","_onclickEvent","_rootToNode","_initEvents","targetFound","nodeClick","linkTarget","targetNode","treeRoot","transformPath","vMag","vRatio","vAngle","acos","processArc","fa","psiDeg","xp","yp","lambda","cxp","cyp","commandReg","numberReg","createPathProxyFromString","prevCmd","cpx","cpy","subpathX","subpathY","cmdList","cmdText","cmdStr","pLen","ctlPtx","ctlPty","createPathOptions","pathProxy","pathEls","pathList","pathEl","createPathProxy","__dirtyPath","pathBundle","objectToString","TimelineView","_axis","_viewRect","_timer","_currentPointer","_mainGroup","_labelGroup","timelineModel","mainGroup","_createGroup","labelGroup","_createAxis","_renderAxisLabel","_position","_doPlayStop","_clearTimer","labelPosOpt","playPosition","prevBtnPosition","nextBtnPosition","labelAlignMap","labelBaselineMap","rotationMap","mainLength","controlModel","showControl","controlSize","controlGap","sizePlusGap","labelRotation","controlPosition","showPlayBtn","showPrevBtn","showNextBtn","xLeft","xRight","labelAlign","labelBaseline","rotateOriginX","rotateOriginY","viewBound","getBound","mainBound","labelBound","mainPosition","labelsPosition","mainBoundIdx","toBound","setOrigin","targetGroup","fromPos","boundIdx","newGroup","_renderAxisLine","lineCap","_renderAxisTick","tickCoord","hoverStyleModel","symbolOpt","_changeTimeline","giveSymbol","labels","getViewLabels","labelItem","tickValue","normalLabelModel","formattedLabel","_renderControl","playState","getPlayState","makeBtn","iconPath","willRotate","btn","makeIcon","_handlePlayClick","_renderCurrentPointer","currentIndex","getCurrentIndex","pointerModel","onCreate","pointer","_handlePointerDrag","_handlePointerDragend","pointerMoveTo","onUpdate","nextState","_pointerChangeTimeline","mousePos","_toAxisCoord","_findNearestTick","handleFrame","trans","axisCoord","nextIndex","objPath","noAnimation","helperCreateToNumber","numStr","arrayLastIndexOf","isNumber","commafy","isNegative","intStr","floatStr","optDigits","digits","isNum","spaceNumber","isNumberNaN","DataZoomModel","SliderZoomModel","dataBackground","fillerColor","handleIcon","handleSize","handleStyle","showDetail","zoomLock","findLastIndexOf","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_slicedToArray","RADIAN_EPSILON","_trim","domain","subDomain","subRange","returnStr","getPrecision","getPrecisionSafe","eIndex","dotIndex","pixelExtent","dataQuantity","sizeQuantity","getPercentWithPrecision","valueList","votesPerQuota","targetSeats","seats","votes","currentSum","remainder","NEGATIVE_INFINITY","maxId","MAX_SAFE_INTEGER","remRadian","pi2","isRadianAroundZero","TIME_REG","hour","quantity","quantityExponent","exp","nf","exponent","quantile","ascArr","littleThan","currClose","helperDeleteProperty","_dataProvider","getTooltipMarker","formatTpl","getTooltipRenderMode","DIMENSION_LABEL_REG","rawValue","rawDataIndex","renderModeOption","isSeries","dimensionIndex","lastArrayEach","lastObjectEach","lastEach","makeStyleMapper","getLineDash","lineType","dotSize","dashSize","Displayble","IncrementalDisplayble","_temporaryDisplayables","_cursor","notClear","clearDisplaybles","addDisplayable","displayable","notPersistent","addDisplayables","displayables","eachPendingDisplayable","childRect","localPos","isStandardBrowserEnv","originURL","urlParsingNode","resolveURL","protocol","search","hostname","pathname","requestURL","parsed","setCurrentIndex","isIndexMax","setPlayState","resetOption","preventIncremental","coordSysCreator","maxOpacity","minOpacity","AxisProxy","eachAxisDim","filterMode","minValueSpan","maxValueSpan","rangeMode","_dataIntervalByAxis","_dataInfo","_axisProxies","_autoThrottle","_rangePropMode","inputRawOption","retrieveRawOption","settledOption","doInit","_setDefaultThrottle","updateRangeUse","_resetTarget","_giveAxisProxies","axisProxies","__dzAxisProxy","autoMode","_judgeAutoMode","axisIndexName","normalizeToArray","_autoSetAxisIndex","_autoSetOrient","hasIndexSpecified","autoAxisIndex","singleAxisModel","singleAxisIndex","axisIndices","_isSeriesHasAllAxesTypeOf","axisId","seriesAxisIndex","globalOption","firstAxisModel","setRawRange","getValueRange","axisDimName","hostedBy","getRangePropMode","rangePropMode","rangeModeInOption","percentSpecified","valueSpecified","inheritIfRequired","$flags","$RegExp","re1","re2","CORRECT_NEW","tiRE","piRE","fiU","isNonNullObject","isSpecial","stringValue","isReactElement","canUseSymbol","for","REACT_ELEMENT_TYPE","$$typeof","sourceIsArray","targetIsArray","sourceAndTargetTypesMatch","deepmerge_1","Validator","assigns","isDefs","extds","HOVER_LINK_SIZE","HOVER_LINK_OUT","ContinuousView","_shapes","_dataInterval","_useHandle","_hoverLinkDataIndices","_hovering","_renderBar","dataRangeText","_enableHoverLinkToSeries","_enableHoverLinkFromSeries","endsIndex","_applyTransform","shapes","useHandle","_createBarGroup","outOfRange","createPolygon","_dragHandle","getTextRect","textSize","handleThumbs","handleLabelPoints","_createHandle","_createIndicator","onDrift","onDragEnd","handleThumb","createHandlePoints","handleLabel","handleLabelPoint","indicatorLabel","indicatorLabelPoint","isEnd","_clearHoverLinkToSeries","useHoverLinkOnHandle","_doHoverLinkToSeries","forSketch","outOfRangeHandleEnds","inRangeHandleEnds","visualInRange","_createBarVisual","visualOutOfRange","barColor","barPoints","_updateHandle","forceState","convertOpacityToAlpha","_makeColorGradient","symbolSizes","_createBarPoints","handlesColor","sampleNumber","currValue","_showIndicator","cursorValue","textValue","rangeSymbol","halfHoverLinkSize","createIndicatorPoints","_hoverLinkFromSeriesMouseOver","_hideIndicator","_clearHoverLinkFromSeries","cursorPos","hoverOnBar","getHalfHoverLinkSize","hoverRange","oldBatch","newBatch","resultBatches","compressBatches","_dispatchHighDown","isTargetSeries","isRange","extentMax","isArguments","zrender","timsort","GlobalModel","ExtensionAPI","OptionManager","backwardCompat","_throttle","seriesColor","loadingDefault","Scheduler","lightTheme","darkTheme","mapDataStorage","parseClassType","TEST_FRAME_REMAIN_TIME","PRIORITY_PROCESSOR_FILTER","PRIORITY_PROCESSOR_SERIES_FILTER","PRIORITY_PROCESSOR_DATASTACK","PRIORITY_PROCESSOR_STATISTIC","PRIORITY_VISUAL_LAYOUT","PRIORITY_VISUAL_PROGRESSIVE_LAYOUT","PRIORITY_VISUAL_GLOBAL","PRIORITY_VISUAL_CHART","PRIORITY_VISUAL_POST_CHART_LAYOUT","PRIORITY_VISUAL_COMPONENT","PRIORITY_VISUAL_BRUSH","PROCESSOR","FILTER","SERIES_FILTER","STATISTIC","LAYOUT","PROGRESSIVE_LAYOUT","GLOBAL","CHART","COMPONENT","IN_MAIN_PROCESS","OPTION_UPDATED","ACTION_REG","createRegisterEventWithLowercaseName","ignoreDisposed","_disposed","disposedWarning","MessageCenter","ECharts","themeStorage","defaultRenderer","_throttledZrFlush","flush","_theme","_chartsViews","_chartsMap","_componentsViews","_componentsMap","_coordSysMgr","createExtensionAPI","prioritySortFunc","__prio","visualFuncs","dataProcessorFuncs","_scheduler","_ecEventProcessor","EventProcessor","_messageCenter","_pendingActions","_onframe","bindRenderedEvent","setAsPrimitive","echartsProto","doConvertPixel","coordSysList","parseFinder","scheduler","prepare","updateMethods","flushPendingActions","triggerUpdatedEvent","unfinished","remainTime","startTime","performSeriesTasks","performDataProcessorTasks","updateStreamModes","performVisualTasks","lazyUpdate","optionManager","optionPreprocessorFuncs","setTheme","getDevicePixelRatio","getRenderedCanvas","pixelRatio","getSvgDataURL","getDisplayList","toDataURL","getDataURL","excludeComponents","excludesComponentViews","view","__viewId","getConnectedDataURL","isSvg","groupId","MAX_NUMBER","connectedGroups","canvasList","chart","getSvgDom","targetCanvas","createCanvas","getSvgRoot","connectedBackgroundColor","setBackgroundColor","refreshImmediately","containPixel","models","defaultMainType","dataIndexInside","indexOfRawIndex","getViewOfComponentModel","componentModel","getViewOfSeriesModel","prepareAndUpdate","coordSysMgr","restoreData","clearColorPalette","colorArr","performPostUpdateFuncs","ecIns","componentDirtyList","componentView","__alive","seriesDirtyMap","chartView","setDirty","dirtyMap","updateView","markUpdateMethod","updateVisual","restorePipelines","prepareStageTasks","prepareView","updateDirectly","condition","excludeSeriesId","callView","__model","chartsMap","doDispatchAction","payloadType","escapeConnect","actionWrap","actionInfo","cptType","updateMethod","payloads","batched","eventObj","eventObjBatch","isHighDown","batchItem","pendingActions","isComponent","viewList","viewMap","doPrepare","viewId","classType","Clazz","getClass","__id","__ecComponentInfo","renderTask","renderComponents","dirtyList","updateZ","updatePayload","perform","getPerformArgs","updateBlend","updateHoverLayerStatus","postUpdateFuncs","_loadingFX","optionChanged","showLoading","hideLoading","loadingEffects","makeActionFromEvent","eventActionMap","MOUSE_EVENT_NAMES","elCount","preventUsingHoverLayer","blendMode","ecInstance","getComponentByElement","modelInfo","eventInfo","eveName","isGlobalOut","targetEl","packedEvent","actionType","DOM_ATTRIBUTE_KEY","cptQuery","dataQuery","otherQuery","condCptType","suffixes","dataKeys","reserved","propSuffix","suffixPos","check","filterForExposedEvent","propOnHost","idBase","groupIdBase","enableConnect","STATUS_PENDING","STATUS_UPDATING","STATUS_UPDATED","STATUS_KEY","updateConnectedChartsStatus","charts","otherChart","otherCharts","existInstance","disConnect","getInstanceById","registerTheme","preprocessorFunc","priority","processor","normalizeRegister","registerPostUpdate","postUpdateFunc","getCoordinateSystemDimensions","layoutTask","visualTask","targetList","defaultPriority","stageHandler","wrapStageHandler","__raw","registerLoading","loadingFx","setCanvasCreator","creator","$override","geoJson","getMap","retrieveMap","geoJSON","dataTool","___ec_export","filterStore","optimizeOpts","filterRender","own","compConf","Renderer","renderOptions","renderFooter","renderFilter","changeAllOption","changeOption","formatText","resetFilter","filterCheckAllEvent","checkOptions","changeRadioOption","confirmFilterEvent","changeMultipleOption","resetFilterEvent","_core","textContain","textHelper","arrayJoin","NONE","mathRound","degree","round4","isAroundZero","pathHasFill","isText","pathHasStroke","svgEl","attrXLink","bindStyle","strokeWidth","strokeScale","miterLimit","pathDataToString","dataLength","nData","dThetaPositive","isCircle","unifiedTheta","svgPath","__svgEl","pathStr","svgTextDrawRectText","removeOldTextNode","svgImage","HTMLImageElement","dw","dh","__imageSrc","svgText","_tmpTextHostRect","_tmpTextBoxPos","_tmpTextTransform","TEXT_ALIGN_TO_ANCHRO","hostRect","elTransform","needTransformTextByHostEl","normalizeTextStyle","needDrawText","textSvgEl","__textSvgEl","textSvgElStyle","DEFAULT_FONT","computedFont","__computedFont","__styleFont","contentBlock","__textCotentBlock","parsePlainText","outerHeight","getBoxPosition","baseX","baseY","setTextTransform","boxY","adjustTextY","getTextXForPadding","canCacheByTextString","tspanList","__tspanList","tspanOriginLen","__canCacheByTextString","__text","updateTextLocation","textLines","nTextLines","tspan","singleLineText","__zrText","setupDefaults","dateFormatRules","rules","parseStringDate","sIndex","fIndex","fLen","fItem","rIndex","rLen","tempMatch","isDType","formatDate","zStr","scaleAndAdd","lenSquare","lengthSquare","div","dot","distanceSquare","distSquare","negate","lerp","filterTree","moveTabSelected","isLeft","targetRow","targetColumn","targetColumnIndex","editConfig","editOpts","isSeqColumn","_index","handleActived","scrollToRow","handleSelected","moveCurrentRow","isUpArrow","isDwArrow","_XEUtils$findTree","triggerCurrentRowEvent","moveSelected","isLeftArrow","isRightArrow","triggerHeaderCellMousedownEvent","mouseConfig","mouseOpts","elemStore","handleChecked","handleHeaderChecked","isLeftBtn","isIndex","isMouseChecked","headerList","bodyList","handleAllChecked","clearSelected","clearHeaderChecked","clearIndexChecked","startCell","domMousemove","domMouseup","updateEvent","_DomTools$getEventTar","nodeRest","endCell","head","leading","trailing","firstTrElem","lastTrElem","firstCell","handleIndexChecked","isActivated","closeMenu","triggerCellMousedownEvent","editStore","checkboxOpts","cellLastElementChild","lastElementChild","cellFirstElementChild","firstElementChild","startCellNode","headStart","_DomTools$getEventTar2","nextElementSibling","_firstCell","_colIndex","_firstCell2","rowNodes","handleCheckboxRangeEvent","closeFilter","getCheckboxRangeResult","targetTrElem","moveRange","countHeight","rangeRows","siblingProp","moveSize","getRowNode","checkboxRangeElem","checkboxRange","trEleme","absPos","selectRecords","lastRangeRows","rangeHeight","tZindex","handleSelectRow","_clearChecked","tRows","tColumns","checkBorders","_getMouseSelecteds","getSelectedCell","_getMouseCheckeds","getSelectedRanges","_this$editStore$selec","_checked$rowNodes","getColumnNode","clearChecked","cWidth","cHeight","isTop","_this$$refs$tableBody","checkTop","checkRight","checkBottom","checkLeft","headerListElem","getColumnIndex","indexs","_clearIndexChecked","titles","_clearHeaderChecked","headerElem","_clearCopyed","keyboardConfig","copyed","isCut","copyBorders","cut","handleCopyed","tableColumn","clearCopyed","firstRows","_DomTools$getCellNode","_this$$refs$tableBody2","copyTop","copyRight","copyBottom","copyLeft","handlePaste","_selected$args","offsetRow","cIndex","offsetColumn","setCellValue","getCellValue","targetCell","unserialize","helperGetLocatOrigin","parseURLQuery","hashs","portText","searchs","hashKey","hashQuery","searchQuery","getAllColumns","convertToRows","maxLevel","subColumn","allColumns","collectColumn","fixedColumn","fixedType","headerColumn","uploadColumn","colgroup","thead","xSpace","repair","tableListeners","allColumnHeaderOverflow","allHeaderAlign","allAlign","highlightCurrentColumn","overflowX","scrollbarWidth","sortOpts","isMouseSelected","isColGroup","cols","headerClassName","fixedHiddenColumn","headOverflow","headAlign","showEllipsis","showTitle","showTooltip","hasEllipsis","thOns","hasFilter","_isResize","triggerHeaderTooltipEvent","handleTargetLeaveEvent","triggerHeaderCellClickEvent","isBoolean","resizeMousedown","_$table$$refs","leftContainer","rightContainer","resizeBarElem","resizeBar","dragBtnElem","dragClientX","tableBodyElem","dragBtnWidth","dragMinLeft","dragPosLeft","isLeftFixed","isRightFixed","fixedOffsetWidth","tempCellElem","_lastResizeTime","$toolbar","_assign","_assign2","_filter","getColumnByField","getFilters","_setFilter","fullColumnMap","triggerFilterEvent","filterWrapper","filterWrapperElem","filterWidth","minMargin","overflowWidth","_overflowWidth","remoteFilter","filterOpts","handleTableData","checkSelectionStatus","filterList","dataList","updateFooter","clearScroll","updateScrollYSpace","_clearFilter","handleClear","LRU","kCSSColorTable","clampCssByte","clampCssAngle","clampCssFloat","parseCssInt","parseCssFloat","cssHueToRgb","lerpNumber","setRgba","copyRgba","colorCache","lastRemovedArr","putToCache","colorStr","rgbaArr","put","op","ep","fname","substr","hsla2rgba","iv","hsla","rgba2hsla","vMin","vMax","deltaR","deltaG","deltaB","fastLerp","normalizedValue","leftIndex","rightIndex","leftColor","rightColor","dv","fastMapToColor","fullOutput","mapToColor","modifyHSL","modifyAlpha","arrColor","helperCreateGetObjects","isNumberFinite","Gradient","TooltipRichContent","findPointFromSeries","globalListener","axisPointerViewHelper","proxyRect","_renderMode","_newLine","_tooltipContent","_tooltipModel","_ecModel","_lastDataByCoordSys","_alwaysShowContent","_initGlobalListener","_keepShow","_tryShow","_hide","_lastX","_lastY","_refreshUpdateTimeout","manuallyShowTip","_ticket","dataByCoordSys","tooltipOption","_manuallyAxisShowTip","pointInfo","findHover","manuallyHideTip","coordSysAxesInfo","buildTooltipModel","_showAxisTooltip","_showSeriesItemTooltip","_showComponentItemTooltip","_showOrMove","_showTimout","globalTooltipModel","singleDefaultHTML","singleParamsList","singleTooltipModel","markers","itemCoordSys","dataByAxis","seriesDefaultHTML","valueLabel","getValueLabel","seriesDataIndices","valueLabelOpt","idxItem","dataParams","getAxisRawValue","seriesTooltip","newMarkers","firstLine","positionExpr","_updateContentNotChangedOnAxis","_updatePosition","_showTooltipContent","defaultHtml","asyncTicket","tooltipOpt","subTooltipModel","cbTicket","contentSize","vAlign","calcTooltipPosition","refixTooltipPosition","isCenterAlign","confineTooltipPosition","lastCoordSys","contentNotChanged","lastItemCoordSys","indexCoordSys","lastDataByAxis","thisItemCoordSys","thisDataByAxis","lastItem","indexAxis","thisItem","lastIndices","newIndices","lastIdxItem","newIdxItem","modelCascade","resultModel","gapH","gapV","domWidth","domHeight","rectWidth","rectHeight","_clazz","enableClassExtend","enableClassCheck","lineStyleMixin","areaStyleMixin","textStyleMixin","itemStyleMixin","doGet","getParent","getParentMethod","thisParentModel","setReadOnly","customizeGetParent","helperFormatEscaper","replaceRegexp","Single","singles","arch","execPath","pid","argv","cwd","chdir","kill","umask","dlopen","uptime","memoryUsage","uvCounters","actionTypes","handleRootToNode","targetInfo","retrieveTargetInfo","originViewRoot","aboveViewRoot","resetViewRoot","easingFuncs","_life","onrestart","globalTime","deltaTime","_startTime","easingFunc","schedule","restart","arrayWithoutHoles","iterableToArray","nonIterableSpread","HIGHLIGHT_ACTION","handleHighlight","UNHIGHLIGHT_ACTION","handleUnhighlight","_createPolyline","polylineProto","_updateCommonStl","hoverLineStyle","stat","offsetParents","viewRectTop","viewRectBottom","bitmap","legendSelectActionHandler","selectedMap","isToggleSelect","isItemSelected","createError","isError","rangeInfo","getRangeInfo","cellWidth","getCellWidth","cellHeight","getCellHeight","weeks","allDay","SymbolDraw","EffectSymbol","pointsLayout","_symbolDraw","effectSymbolDraw","_updateGroupTransform","gOPS","getSymbols","HeatmapLayer","getIsInPiecewiseRange","dataSpan","getIsInContinuousRange","isGeoCoordSys","visualMapOfThisSeries","targetSeries","_incrementalDisplayable","_renderOnCartesianAndCalendar","_renderOnGeo","itemStyleQuery","hoverItemStyleQuery","labelQuery","hoverLabelQuery","coordSysType","dataDims","dataToRect","contentShape","inRangeVisuals","targetVisuals","outOfRangeVisuals","hmLayer","_hmLayer","isInRange","getNormalizer","getColorMapper","curveTool","_graphHelper","v3","v2DistSquare","intersectCurveCircle","curvePoints","radiusSquare","nextDiff","tmp0","quadraticSubdivide","pts","pts2","fromSymbol","toSymbol","__original","originalPoints","_merge","_merge2","_popupManager","_popupManager2","_scrollbarWidth","_scrollbarWidth2","idSeed","scrollBarWidth","closeDelay","modalAppendToBody","_popupId","restoreBodyStyle","opened","bodyPaddingRight","computedBodyPaddingRight","withoutHiddenClass","rendered","_opening","_closeTimer","_openTimer","doOpen","willOpen","_closing","paddingRight","bodyHasOverflow","bodyOverflowY","onOpen","doAfterOpen","willClose","doClose","onClose","doAfterClose","globalCoord","AxisPointerModel","snap","triggerTooltip","shadowStyle","axisModelCreator","AxisModel","gridId","getAxisType","extraOption","supportSymbol","regExpExec","MATCH","$match","fullUnicode","matchStr","_roamHelper","updateCenterAndZoom","seriesGroup","interactionMutex","pointerChecker","_opt","mousedownHandler","mousemoveHandler","mouseupHandler","mousewheelHandler","mousewheel","pinchHandler","controlType","zoomOnMouseWheel","moveOnMouseMove","moveOnMouseWheel","preventDefaultMouseMove","isDragging","isPinching","_pinching","isMiddleOrRightButtonOnMouseUpDown","_x","_y","isAvailableBehavior","gestureEvent","isTaken","shouldZoom","shouldMove","wheelDelta","absWheelDeltaDelta","factor","checkPointerAndTrigger","absDelta","behaviorToCheck","contollerEvent","_vector","v2Create","mathPow","EPSILON_NUMERIC","THREE_SQRT","ONE_THIRD","_v0","_v1","_v2","onet","cubicDerivativeAt","cubicRootAt","roots","t1","disc","discSqrt","Y1","Y2","ASqrt","cubicExtrema","extrema","cubicSubdivide","p01","p12","p23","p012","p123","p0123","cubicProjectPoint","d1","d2","quadraticRootAt","quadraticExtremum","divider","quadraticProjectPoint","BREAK","RETURN","iterable","BaseAxisPointer","viewHelper","cartesianAxisHelper","CartesianAxisPointer","makeElOption","elOption","axisPointerModel","axisPointerType","otherExtent","getCartesian","getGlobalExtent","pixelValue","buildElStyle","pointerOption","pointerShapeBuilder","graphicKey","buildCartesianSingleLabelElOption","getHandleTransform","labelMargin","getTransformedPosition","updateHandleTransform","currPosition","cursorOtherValue","cursorPoint","tooltipOptions","targetShape","makeLineShape","getAxisDimIndex","shadow","makeRectShape","registerAxisPointerClass","fixClipWithShadow","unitX","unitY","ZText","MARK_UNUSED","MARK_USED","Definable","zrId","svgRoot","tagNames","markLabel","domName","_zrId","_svgRoot","_tagNames","_markLabel","_domName","nextId","getDefs","isForceCreating","addDom","removeDom","getDoms","doms","markAllUnused","markUsed","removeUnused","getSvgProxy","getTextSvgElement","getSvgElement","Overlay","BMapCoordSys","_bmap","_projection","BMap","MercatorProjection","createOverlayCtor","initialize","getPanes","labelPane","lngLatToPoint","Point","px","pointToOverlayPixel","overlayPixelToPoint","prepareCustoms","bmapCoordSys","bmapModel","__bmap","bmapRoot","mapOptions","overlay","addOverlay","bmapCenter","bmapZoom","centerAndZoom","SingleAxis","axisPointerEnabled","_adjustAxis","_updateAxisTransform","coordBase","extentSum","toLocalCoord","getAxes","getTooltipAxes","baseAxes","parseGeoJson","fixNanhai","fixTextCoord","fixGeoCoord","fixDiaoyuIsland","mapRecord","nameProperty","regionName","specialArea","regionRect","positiveBorderColorQuery","negativeBorderColorQuery","positiveColorQuery","negativeColorQuery","performRawSeries","colorP","getColor","colorN","borderColorP","getBorderColor","borderColorN","isLargeRender","FunnelPiece","funnelPieceProto","opacityAccessPath","FunnelView","funnelPiece","GaugeSeries","offsetCenter","orderBy","strictTree","optChildren","toArrayTree","idList","parentId","treeOptions","optStrict","optKey","optParentKey","parentKey","optSortKey","sortKey","optReverse","treeMap","dev","dataSelectableMixin","MapSeries","needsDrawMap","dataNameMap","selectTargetList","toAppendNames","geoSource","getMapType","appendValues","seriesNames","otherIndex","originalData","showLegendSymbol","dataRangeHoverLink","NodeHighlightPolicy","DESCENDANT","ANCESTOR","SELF","DEFAULT_SECTOR_Z","DEFAULT_TEXT_Z","SunburstPieceProto","getNodeColor","fillDefaultColor","stateStyle","isNodeHighlighted","onHighlight","onDownplay","labelState","getLabelAttr","labelMinAngle","labelPadding","rotateType","stateAttr","visualMetaList","getRootId","activeNode","policy","featureManager","saveAsImageLang","SaveAsImage","unusable","MouseEvent","msSaveOrOpenBlob","bstr","atob","u8arr","Uint8Array","blob","Blob","tab","$a","download","bubbles","cancelable","colorPaletteMixin","mergeLayoutParam","_task","createTask","visualBorderColorAccessPath","extraOpt","dataTask","dataTaskCount","dataTaskReset","wrapData","dataBeforeProcessed","autoSeriesName","inputPositionParams","themeSubType","getTheme","getDefaultOption","fillDataTextStyle","newSeriesOption","task","getCurrentTask","setOutputEnd","outputData","isRichText","markerId","formatArrayValue","vertially","setEachItem","markName","dimHead","dimHeadStr","valStr","tooltipDims","formatSingleValue","tooltipDimLen","isValueArr","colorEl","isNameSpecified","requestColorNum","coordDimToDataDim","getAxisTooltipData","pipeTask","getSeriesAutoName","nameArr","dataDim","dataTaskProgress","onDataSelfChange","pipeline","getPipeline","currentTask","agentStubMap","unTreeList","optClear","toTreeArray","smoothSpline","smoothBezier","controlPoints","cp2","getWhatMonth","getDayOfMonth","month","AXIS_DIMS","COORDS","isCoordSupported","coordType","createNameEach","capitalNames","capitalAttrs","nameObj","capital","createLinkedNodesFinder","forEachNode","forEachEdgeType","edgeIdGetter","sourceNode","existsLink","edgeType","absorb","processSingleNode","isNodeAbsorded","isLinked","hasLink","edgeId","helperStringRepeat","regexpFlags","nativeExec","nativeReplace","patchedExec","UPDATES_LAST_INDEX_WRONG","NPCG_INCLUDED","PATCH","reCopy","transformData","isCancel","isAbsoluteURL","combineURLs","throwIfCancellationRequested","cancelToken","throwIfRequested","baseURL","themeRiverLayout","baseY0","timeDim","layerPoints","singleLayer","computeBaseline","baseLine","ky","layerIndex","layerNum","pointNum","sums","temp","_resize","bindResize","resizeObserver","getParentElem","$resize","unbindResize","helperCreateTreeFunc","getNodeGlobalScale","groupScale","groupZoom","roamZoom","nodeScale","colorList","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","aFunction","anInstance","microtask","newPromiseCapabilityModule","PROMISE","versions","v8","$Promise","newPromiseCapability","FakePromise","PromiseRejectionEvent","isThenable","isReject","ok","reaction","exited","fail","onHandleUnhandled","onUnhandled","unhandled","isUnhandled","onunhandledrejection","_a","onrejectionhandled","$reject","_w","$resolve","wrapper","executor","onFulfilled","onRejected","capability","$$reject","alreadyCalled","race","getBorderLineDash","SHARED","copyright","ATTR","dataZoomInfo","giveStore","theDataZoomId","theCoordId","dataZoomInfos","cleanStore","createController","controllerParams","mergeControllerParams","newRecord","typePriority","oneType","validPayloadTypes","targetNodeId","getPathToRoot","viewPath","wrapTreePathInfo","treePathInfo","nodeDataIndex","DataDimensionInfo","r1","r2","r3","r4","__e","_forceHelper","_simpleLayoutHelper","_circularLayoutHelper","graphSeries","preservedPoints","forceModel","initLayout","nodeDataExtent","edgeDataExtent","repulsion","edgeLength","rep","getEdgeByIndex","edgeModel","ignoreForceLayout","forceInstance","gravity","friction","oldStep","getNodeByIndex","stopped","rectCoordAxisBuildSplitArea","axisView","axisGroup","tickModel","areaColorsLen","lastSplitAreaColors","__splitAreaColors","newSplitAreaColors","rectCoordAxisHandleRemove","wait","runFlag","isLeading","optLeading","optTrailing","runFn","endFn","cancelFn","debounced","cancel","noTrailing","debounceMode","timeoutID","lastExec","elapsed","helperCreateMinMax","itemVal","_arrayLikeToArray","arr2","eachTreeItem","parseChildren","ifAxisCrossZero","estimateLabelUnionRect","Cartesian2D","Axis2D","isAxisUsedInTheGrid","Grid","_coordsMap","_coordsList","_axesMap","_axesList","_initCartesian","gridProto","fixAxisOnZero","axesMap","otherAxisDim","onZeroRecords","otherAxes","onZeroAxisIndex","canOnZeroToAxis","getOnZeroRecordKey","updateAxisTransform","axisExtentSum","_updateScale","ignoreContainLabel","axesList","adjustAxes","labelUnionRect","axesMapOnDim","coordList","getCartesians","_findConvertTarget","xAxisModel","yAxisModel","coordsList","axisPositionUsed","axesCount","createAxisCreator","addAxis","isCartesian2D","axesModels","findAxesModels","otherAxis","axesTypes","grids","toAbsoluteIndex","IS_INCLUDES","fromIndex","nodeOpacityPath","hoverNodeOpacityPath","lineOpacityPath","hoverLineOpacityPath","getItemOpacity","opacityPath","fadeOutItem","opacityRatio","getGraphicEl","fadeInItem","SankeyShape","cpx1","cpy1","cpx2","cpy2","_focusAdjacencyDisabled","sankeyView","curvature","n1Layout","node1Model","dragX1","dragY1","n2Layout","node2Model","dragX2","dragY2","edgeLayout","dragX","dragY","localX","localY","focusNodeAdjHandler","unfocusNodeAdjHandler","_dispatchUnfocus","edgeDataIndex","_unfocusDelayTimer","focusNodeAdjacency","focusNodeAdj","outEdges","inEdges","unfocusNodeAdjacency","geoJSONLoader","geoSVGLoader","loaders","mapRecords","singleSource","makeInvoker","hostKey","results","chunk","arrLen","IS_FORCED","IS_GLOBAL","IS_STATIC","IS_PROTO","IS_BIND","expProto","SAFE_CLOSING","riter","skipClosing","findLast","v2Equal","mapStyle","mapStyleV2","setPrototypeOf","zindexIndex","lastZindex","columnUniqueId","ColumnConfig","renderData","proxyOpts","cellRender","editRender","footerAlign","footerClassName","indexMethod","remoteSort","_visible","renderHeight","renderLeft","renderArgs","outLog","msg","getRowkey","getColumnList","_ref3","getCellLabel","cellValue","cellLabel","formatData","colid","fullAllDataRowMap","cacheFormat","getColumnConfig","assemColumn","$column","groupConfig","destroyColumn","matchObj","hasChildrenList","tIndex","Pattern","returnFalse","createDom","newDom","newDomStyle","Layer","domBack","ctxBack","clearColor","motionBlur","lastFrameAlpha","__used","__drawIndex","__startIndex","__endIndex","getElementCount","initContext","createBackBuffer","clearAll","clearColorGradientOrPattern","haveMotionBLur","clearRect","__canvasGradient","getCanvasPattern","save","fillRect","globalImageCache","findExistImage","newImageOrSrc","cachedImgObj","hostEl","cbPayload","__zrImageSrc","pendingWrap","imageOnLoad","__cachedImgObj","_listComponent","makeBackground","_contentGroup","_backgroundEl","_selectorGroup","_isFirstRender","viewportSize","legendDrawnMap","selectMode","eachRawSeries","getSeriesByName","legendSymbolType","_createItem","dispatchSelectAction","dispatchHighlightAction","dispatchDownplayAction","provider","containName","newline","_createSelector","createSelectorButton","selectorItem","emphasisLabelModel","inactiveColor","inactiveBorderColor","symbolKeepAspect","legendModelItemStyle","itemIcon","legendGlobalTooltipModel","setSymbolStyle","legendSymbolCenter","hitRect","formatterParams","legendIndex","CATEGORY_DEFAULT_VISUAL_INDEX","_normalizeData","normalizers","visualHandler","visualHandlers","_doMap","normalizeVisualRange","preprocessForPiecewise","preprocessForSpecifiedCategory","makeApplyVisual","isNormalized","doMapCategory","returnRGBArray","parsedVisual","linear","piecewise","getSpecifiedVisual","doMapFixed","colorHue","makePartialColorVisualHandler","colorSaturation","colorLightness","colorAlpha","makeDoMap","symbolCfg","doMapToArray","hasSpecialVisual","originIndex","categoryMap","visualArr","setVisualToOption","doNotNeedPair","applyValue","sourceExtent","addVisualHandler","eachVisual","mapVisual","isPrimary","newVisual","hasVisual","type1","type2","dependsOn","visualType1","visualType2","findClosestWhenOutside","possibleI","pieceValue","updatePossible","newAbs","builtinExec","unzip","zip","isCanvasEl","transformCoordWithViewport","isDomLevel2","MOUSE_EVENT_REG","_calcOut","calculate","calculateZrXY","layerX","layerY","ex","ey","getNativeEvent","isTouch","targetTouches","changedTouches","zrDelta","which","attachEvent","detachEvent","cancelBubble","returnValue","notLeftMouse","DEFAULT_SMOOTH","ParallelView","_dataGroup","dataGroup","makeSeriesScope","newDataIndex","addEl","updateElCommon","oldDataIndex","createLinePoints","taskParams","isEmptyValue","inactive","UNDEFINED","INDEX_NOT_FOUND","ID_PREFIX","dataCtors","Float64Array","Int32Array","CtorUint32Array","Uint32Array","CtorInt32Array","CtorUint16Array","Uint16Array","getIndicesCtor","_rawCount","cloneChunk","originalChunk","TRANSFERABLE_PROPERTIES","CLONE_PROPERTIES","transferProperties","__wrappedMethods","_calculationInfo","dimensionInfos","invertedIndicesMap","dimensionInfo","dimensionName","createInvertedIndices","_indices","_count","_storage","_nameList","_idList","_optionModels","_visual","_itemVisuals","hasItemVisual","_itemLayouts","_graphicEls","_chunkSize","_chunkCount","_rawExtent","_approximateExtent","_dimensionsSummary","_invertedIndicesMap","listProto","prepareChunks","chunkSize","chunkCount","DataCtor","lastChunkIndex","resizeChunkArray","newStore","prepareInvertedIndex","invertedIndices","getRawValueFromStore","chunkIndex","chunkOffset","getRawIndexWithoutIndices","getRawIndexWithIndices","_idDimIdx","normalizeDimensions","cloneListForMapAndSample","excludeDimensions","allDimensions","originalStorage","cloneDimStore","getInitialExtent","originalDimStore","newDimStore","getDimensionsOnCoord","dimensionsSummary","nameList","notProvider","_nameRepeatCount","_dimValueGetter","_dimValueGetterArrayRows","_initDataFromProvider","rawData","dimLen","originalChunkCount","emptyDataItem","sourceIdx","dimRawExtent","nameDimIdx","dimensionInfoMap","nameRepeatCount","_nameDimIdx","itemId","dimStorage","nameDim","nameDimChunk","getIndices","thisCount","chunkStore","getByRawIndex","rawIdx","dimStore","_getFast","dimData","initialExtent","dimExtent","currEnd","useRaw","setApproximateExtent","getCalculationInfo","getMedian","dimDataArray","sortedDimDataArray","rawIndexOf","indicesOfNearest","maxDistance","nearestIndices","minDist","minDiff","nearestIndicesLen","contextCompat","filterSelf","dim0","selectRange","originalCount","quickFinished","chunkStorage","dimStorage2","chunkStorage2","val2","dimk","tmpRetValue","dataCount","retValue","rawExtentOnDim","downSample","rate","sampleValue","sampleIndex","targetStorage","frameValues","frameSize","originalChunkIndex","originalChunkOffset","sampleFrameIdx","sampleChunkIndex","sampleChunkOffset","otherList","thisList","itemVisual","clearAllVisual","setItemDataAndSeriesIndex","dimensionInfoList","injectFunction","originalMethod","getAttrs","isSyncCell","renderOpts","$type","defaultEditRender","getEvents","isSelect","updateStatus","objectMap","renderOptgroups","optionGroups","_renderOpts$optionGro","optionGroupProps","groupOptions","groupLabel","gIndex","_renderOpts$optionPro","optionProps","valueProp","disabledProp","getFilterEvents","_params","handleConfirmFilter","defaultFilterRender","defaultFilterMethod","renderSelectEdit","renderMap","autofocus","renderEdit","renderDefault","selectItem","_renderOpts$optionPro2","_renderOpts$optionGro2","renders","v2Distance","interpolate","isLoop","segs","w2","w3","handleObjectAndArrayClone","copyValue","handleValueClone","TYPE_DELIMITER","IS_CONTAINER","checkClassType","RootClass","mandatoryMethods","$constructor","superClass","ExtendedClass","classBase","Clz","classAttr","enableClassManagement","entity","makeContainer","registerClass","componentMainType","throwWhenNotFound","getClassesByMainType","getAllClassMainTypes","hasSubTypes","registerWhenExtend","originalExtend","ignoreSize","subtext","subtarget","subtextStyle","titleModel","subtextStyleModel","subText","subTextEl","sublink","groupRect","layoutOption","alignStyle","helperCreateIterateHandle","IS_WRAP","virtual","printFrame","defaultHtmlStyle","fileForm","fileInput","createFrame","hasTreeChildren","handleExport","oColumns","fullData","_getExportData","getExportData","preventEvent","downloadFile","getContent","toCsv","toTxt","toHtml","toXML","getSeq","seqOpts","seqMethod","getHeaderTitle","isHeader","footerData","footers","footerFilterMethod","$getColumnIndex","allColumnOverflow","columnOverflow","isEllipsis","allFooterAlign","allShowOverflow","oldShowAllOverflow","showAllOverflow","allHeaderOverflow","oldHeaderOverflow","showHeaderAllOverflow","clss","print","classNames","cellTitle","cellAlign","treeIcon","_hasChild","_level","footAlign","msSaveBlob","linkElem","URL","createObjectURL","getLabelData","isCheckedByCheckboxRow","isCheckedByRadioRow","columnFilterMethod","dataFilterMethod","replaceDoubleQuotation","parseCsv","fields","rList","parseTxt","parseHTML","domParser","xmlDoc","bodyNodes","tableNodes","theadNodes","rowNode","tbodyNodes","sheetNodes","cellNodes","qualifiedName","checkImportData","tableFields","handleImport","_importResolve","_rest","createData","insertAt","_exportCsv","exportData","_exportData","tableFullData","toDateString","exportTypes","_importByFile","FileReader","_UtilTools$parseFile","reader","readAsText","_importData","_importReject","importByFile","_readFile","accept","onchange","_UtilTools$parseFile2","_fileResolve","_fileReject","_print","contentDocument","execCommand","_openImport","defOpts","isTree","getTreeStatus","importConfig","importStore","importParams","_openExport","exportConfig","exportColumns","hasFooter","exportStore","exportParams","confirmExportEvent","confirmImportEvent","confirmPrintEvent","printOpts","createParallelIfNeeded","mergeAxisOptionFromParallel","hasParallelSeries","axisOption","parallelOption","isPolyline","isLarge","lineCoords","segCount","totalCoordsCount","getLineCoordsCount","getLineCoords","_fourPointsTransform","buildTransformer","EVENT_SAVED_PROP","elFrom","inX","inY","saved","prepareCoordMarkers","transformer","preparePointerTransformer","propLR","propTB","idxLR","idxTB","transformerName","oldSrcCoords","srcCoords","oldCoordTheSame","destCoords","isElement","axisPointerModelHelper","_axisPointer","fixValue","updateAxisPointer","disposeAxisPointer","getAxisPointerClass","getAxisPointerModel","axisPointerClazz","clazz","compatibleEC2","ec2Types","transferItem","controlStyle","itemStyleEmphasis","labelNormal","excludeLabelAttr","legendModels","findComponents","categoryNames","mapSymbolLayout","mapDataStatistic","createDataSelectAction","$includes","effectType","showEffectOn","rippleEffect","setDesc","FREEZE","preventExtensions","setMeta","fastKey","getWeak","onFreeze","meta","NEED","barItemStyle","Sausage","_eventPos","getClipArea","coordSysClipArea","expandWidth","coordinateSystemType","isHorizontalOrRadial","drawBackground","backgroundModel","barBorderRadius","bgEls","oldBgEls","_backgroundEls","createBackground","bgLayout","bgEl","createBackgroundEl","getBarItemStyle","isClipped","elementCreator","createBackgroundShape","removeRect","removeSector","bgGroup","_removeBackground","cartesian2d","coordSysBoundingRect","signWidth","signHeight","signR","animateProperty","animateTarget","isRadial","fixedLineWidth","getLineWidth","signX","signY","isZeroOnPolar","isPolar","labelPositionOutside","rawLayout","LargePath","startPoint","__startPoint","baseDimIdx","__baseDimIdx","largeDataIndices","backgroundStartPoint","__largeDataIndices","__barWidth","setLargeBackgroundStyle","largePathUpdateDataIndex","largePath","largePathFindDataIndex","valueDimIdx","barWidthHalf","startValueVal","pointerBaseVal","pointerValueVal","baseLowerBound","baseUpperBound","barBaseVal","barValueVal","coordLayout","ElementClz","useArray","restIndex","matchValue","_curve","containStroke","registerSubTypeDefaulter","_barGrid","prepareLayoutBarSeries","makeColumnLayout","retrieveColumnLayout","axisDataLen","scaleType","originalExtent","getCategories","setBlank","isBaseAxisAndHasBarSeries","barSeriesModels","adjustedScale","adjustScaleForOverflow","axisLength","barsOnCurrentAxis","minOverflow","maxOverflow","totalOverFlow","oldRange","oldRangePercentOfNew","overflowBuffer","extentInfo","makeLabelFormatter","categoryTickStart","tick","realNumberScaleTicks","tickCount","categoryScaleExtent","axisLabelModel","unrotatedSingleRect","singleRect","rotateTextRect","rotateRadians","boundingBox","plain","beforeWidth","beforeHeight","afterWidth","afterHeight","rotatedRect","getOptionCategoryInterval","shouldShowAllLabels","guid","Handler","Storage","Painter","HandlerProxy","useVML","painterCtors","ZRender","registerPainter","delInstance","rendererType","vml","handerProxy","_needsRefresh","oldDelFromStorage","delFromStorage","oldAddToStorage","addToStorage","removeSelfFromZr","addSelfToZr","addRoot","delRoot","configLayer","zLevel","_needsRefreshHover","triggerRendered","refreshHoverImmediately","elMirror","refreshHover","clearHover","clearAnimation","pathToImage","setCursorStyle","eventHandler","dataProcessorHandlers","_dataProcessorHandlers","_visualHandlers","_allHandlers","_stageTaskMap","performStageTasks","stageHandlers","needSetDirty","__pipeline","stageHandlerRecord","seriesTaskMap","overallTask","overallNeedDirty","stub","performArgs","block","pipelineId","skip","taskRecord","_pipelineMap","pCtx","progressiveEnabled","progressiveRender","__idxInPipeline","blockIndex","modDataCount","modBy","dataLen","pipelineMap","tail","pipe","stageTaskMap","createSeriesStageTask","createOverallStageTask","__block","getUpstream","seriesTaskPlan","seriesTaskReset","seriesTaskCount","useClearVisual","isVisual","isLayout","createOnAllSeries","removeKey","overallTaskReset","overallProgress","createStub","stubReset","onDirty","stubOnDirty","agent","upstreamContext","stubProgress","getDownstream","resetDefines","makeSeriesTaskProgress","singleSeriesTaskProgress","resetDefineIdx","resetDefine","dataEach","detectSeriseType","legacyFunc","ecModelMock","apiMock","mockMethods","cond","EffectPolyline","_lastFrame","_lastFramePercent","effectPolylineProto","_points","accLenArr","_offsets","offsets","hiddenKeys","PolarAxisPointer","animationThreshold","coordValue","labelPos","getLabelPosition","buildLabelElOption","innerTextLayout","makeSectorShape","define","pick","geoCoordMap","_buildAxes","_buildSplitLineAndArea","axisBuilders","showSplitLine","showSplitArea","splitLineColors","splitAreaColors","ticksRadius","getColorIndex","realSplitNumber","axesTicksPoints","prevPoints","areaOrLine","areaOrLineColorList","themeRiverVisual","TO_STRING_TAG","DOMIterables","Collection","_pager","helperNumberOffsetPoint","digitOffsetIndex","componentUtil","boxLayoutMixin","themeModel","newCptOption","optList","Class","getDependencies","enableSubTypeDefaulter","enableTopologicalTravel","v2ApplyTransform","TransformDummy","_roamTransformable","setBoundingRect","setViewRect","rawTransform","centerCoord","_updateCenterAndZoom","getDefaultCenter","rawRect","rawTransformMatrix","defaultCenter","roamTransformable","_rawTransform","_layoutHelper","TreeShape","parentPoint","childPoints","forkPosition","childLen","firstChildPos","lastChildPos","forkDim","tmpPoint","_oldTree","_updateViewCoordSys","symbolNeedsDraw","updateNode","symbolEl","_nodeScaleRatio","_updateNodeAndLinkScale","fromPoints","oldMin","_min","oldMax","_max","viewCoordSys","_viewCoordSys","_getNodeGlobalScale","invScale","getTreeNodeStyle","sourceSymbolEl","sourceLayout","sourceOldLayout","rawX","__radialOldRawX","rawY","__radialOldRawY","targetLayout","__radialRawX","__radialRawY","rootLayout","labelRotateRadian","drawEdge","__edge","getEdgeShape","childLayout","sourceEdge","radialCoor1","radialCoor2","radialCoor3","radialCoor4","pluck","BUILTIN_OBJECT","TYPED_ARRAY","objToString","nativeForEach","nativeFilter","nativeSlice","nativeMap","nativeReduce","typeStr","isDom","targetProp","sourceProp","isBuiltInObject","mergeAll","targetAndSources","baseClazz","clazzPrototype","memo","value1","value2","primitiveKey","HashMap","thisMap","visit","concatArray","newArray","eachAfter","eachBefore","MapShim","class_1","__entries__","isBrowser","global$1","requestAnimationFrame$1","trailingTimeout","leadingCall","trailingCall","lastCallTime","resolvePending","timeoutCallback","REFRESH_DELAY","transitionKeys","mutationObserverSupported","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","connect_","disconnect_","changesDetected","updateObservers_","activeObservers","gatherActive","hasActive","broadcastActive","childList","subtree","isReflowProperty","instance_","defineConfigurable","getWindowOf","ownerGlobal","emptyRect","createRectInit","toFloat","getBordersSize","positions","getPaddings","paddings","positions_1","getSVGContentRect","getBBox","getHTMLElementContentRect","horizPad","vertPad","isDocumentElement","vertScrollbar","horizScrollbar","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getContentRect","createReadOnlyRect","Constr","DOMRectReadOnly","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","broadcastRect","ResizeObserverEntry","rectInit","ResizeObserverSPI","callbackCtx","activeObservations_","observations_","callback_","controller_","callbackCtx_","observations","unobserve","clearActive","observation","newSnapshot","snapshot","_targetList","_selectTargetMap","targetMap","unSelect","toggleSelected","mergeOpts","data1","data2","enumerableOnly","_objectSpread","getOwnPropertyDescriptors","xTable","pagerConfig","formConfig","tableLoading","tableCustoms","pendingRecords","sortData","tablePage","pagerOpts","toolbarOpts","toolbarSlots","tableProps","renderStyle","tableExtendProps","seqConfig","handleRowClassName","seq","activeMethod","handleActiveMethod","tableOns","ons","sortChangeEvent","filterChangeEvent","updateCustomsEent","toolbarProps","pagerProps","loadColumn","initProxy","initPages","pageChangeEvent","getParentHeight","getExcludeHeight","_this$$refs","formElem","reloadColumn","proxyInited","_proxyOpts$ajax","ajax","_proxyOpts$props","btnParams","setActiveRow","triggerPendingEvent","handleDeleteRow","removeSelecteds","importData","resetAll","ajaxMethods","sortParams","_ajaxMethods","removeRecords","getRemoveRecords","_ajaxMethods2","getRecordset","insertRecords","updateRecords","validate","vaild","alertKey","confirm","getPendingRecords","plus","minus","isRemote","mouseenterEvent","mouseleaveEvent","renderContent","clickDropdownEvent","contents","dropdownElem","wrapperElem","nameRotate","nameTruncate","ellipsis","showMinLabel","showMaxLabel","deduplication","alignWithLabel","minorTick","minorSplitLine","timeAxis","logAxis","logBase","idxMap","__uniqueId","uniqueId","Uint32Arr","Float64Arr","compatEc2","coords","fromName","toName","LinesSeries","_processFlatCoordsArray","_flatCoords","flatCoords","_flatCoordsOffset","flatCoordsOffset","_getCoordsFromItemModel","startOffset","coordsOffsetAndLenStorage","coordsStorage","coordsCursor","offsetCursor","trailLength","autoPositionValues","targetValue","visualCluster","visualObj","controllerVisuals","visualMapping","positionElement","$assign","generateNodeKey","_directed","_nodesMap","_edgesMap","graphProto","Node","hostGraph","Edge","isDirected","nodesMap","edgesMap","getEdge","breadthFirstTraverse","startNode","__visited","currentNode","otherNode","inDegree","outDegree","createGraphDataProxyMixin","hostName","isDateSame","date1","date2","isHtmlElement","ELEMENT_NODE","functionToCheck","isDefined","LineGroup","_ctor","lineDrawProto","doAdd","lineNeedsDraw","doUpdate","oldLineData","newLineData","itemEl","isEffectObject","animators","isPointNaN","isPersistent","_lineData","incrementalPrepareUpdate","_seriesScope","incrementalUpdate","updateIncrementalAndHover","_clearIncremental","_incremental","_grid","quadraticIn","quadraticOut","quadraticInOut","cubicIn","cubicOut","cubicInOut","quarticIn","quarticOut","quarticInOut","quinticIn","quinticOut","quinticInOut","sinusoidalIn","sinusoidalOut","sinusoidalInOut","exponentialIn","exponentialOut","exponentialInOut","circularIn","circularOut","circularInOut","elasticIn","asin","elasticOut","elasticInOut","backIn","backOut","backInOut","bounceIn","bounceOut","bounceInOut","rowUniqueId","isWebkit","debounceScrollYDuration","headerProps","getRowUniqueId","isTargetRadioOrCheckbox","colType","targetType","Methods","clearCurrentRow","clearCurrentColumn","clearCheckboxReserve","clearRowExpand","_edit","clearActived","refreshData","loadTableData","updateAfterFullData","renderSize","visibleIndex","insertList","removeList","updateCache","tableSynchData","tableSourceData","computeScrollLoad","isLoadData","computeRowHeight","handleReserveStatus","refreshScroll","reloadRow","getRowIndex","oRow","defineField","destructuring","mapTree","createColumn","fullDataRowIdData","fullDataRowMap","fullAllDataRowIdData","rowkey","isLazy","handleCache","hasChild","appendTreeCache","childs","cacheColumnMap","fullColumnIdData","_fullColumnIdData$col","$getRowIndex","createRow","clearData","isInsertByRow","hasRowChange","isUpdateByRow","_this10","oRowIndex","getColumns","getColumnById","getTableColumn","getRecords","getAllRecords","getSelectRecords","checkField","rowList","filterColumns","itemList","allSortMethod","getRowById","getTableData","visibleData","_this11","checkboxConfig","selectConfig","handleDefaultSelectionChecked","radioConfig","handleDefaultRadioChecked","sortConfig","handleDefaultSort","expandConfig","handleDefaultRowExpand","mergeCustomColumn","customColumns","isUpdateCustoms","resetColumn","handleVisibleColumn","handleResetResizable","_this12","isColspan","_this13","letIndex","leftList","leftStartIndex","rightEndIndex","centerList","columnStore","scrollXStore","columnMinWidth","resizeList","pxList","pxMinList","scaleList","scaleMinList","autoList","_this14","lastScrollLeft","lastScrollTop","refull","_this15","tableFooter","footerElem","autoCellWidth","meanWidth","tableWidth","minCellWidth","remainWidth","scaleWidth","dynamicList","dynamicSize","odiffer","overflowY","isCoverBody","parentHeight","scrollbarHeight","checkScrolling","_this16","cellOffsetWidth","containerList","customHeight","emptyPlaceholderElem","emptyPlaceholder","layoutList","fixedWrapperElem","tableElem","tWidth","previous","resizeElem","repairElem","listElem","thElem","cellOverflow","childWidth","countChild","emptyBlockElem","_fixedColumn","_tWidth","_tWidth2","marginTop","colgroupElem","colElem","_listElem","colWidth","nextColumn","addColSdCls","_this17","evntList","_this18","ctxMenuStore","actived","validTip","autoClear","isClear","ctxWrapper","handleGlobalMousewheelEvent","clostTooltip","_this19","isCtxMenu","_this19$mouseConfig","_this19$keyboardConfi","isBack","isTab","isEnter","isSpacebar","isDel","isC","isV","isF2","isCtrlKey","isShiftKey","shiftKey","operArrow","operCtxMenu","isArrow","handleToggleCheckRowEvent","triggerRadioRowEvent","childrens","showChild","moveCtxMenu","ctxMenuList","parentRow","isEdit","editMethod","handleGlobalResizeEvent","handleTooltipLeaveEvent","_this20","tooltipOpts","tooltipActive","handleTargetEnterEvent","tooltipTimeout","_this21","isHover","tooltipStore","handleTooltip","triggerFooterTooltipEvent","triggerTooltipEvent","toVisible","checkAll","checkRowKeys","defSelection","setSelection","_this22","isCheckedByRow","_this23","treeIndeterminates","checkStrictly","handleSelectReserveRow","parentStatus","vItems","indeterminatesItem","selectItems","_matchObj","_parentStatus","_vItems","_indeterminatesItem","_selectItems","triggerCheckRowEvent","getCheckboxReserveRecords","toggleCheckboxRow","setAllSelection","_this24","selectReserveRowMap","reserve","selectRows","beforeSelection","indexKey","setValFn","_checkMethod","clearValFn","_checkMethod2","reserveRowExpandeds","reserveTreeExpandeds","reserveTreeIndeterminates","handleReserveByRowid","rowExpandeds","_this25","getSelectReserveRecords","clearSelectReserve","triggerCheckAllEvent","toggleAllCheckboxRow","radioOpts","checkRowKey","setRadioRow","isChange","selectRow","clearRadioRow","getCurrentRow","getCurrentRecord","getRadioRow","getRadioRecord","triggerHoverEvent","_ref4","clearHoverRow","triggerSortEvent","setCurrentColumn","currentColumn","checkValidate","_valid","triggerValidate","handleChangeCell","_this26","triggerCellClickEvent","expandOpts","triggerRowExpandEvent","triggerCellDBLClickEvent","_this27","evntParams","getSortColumn","isFilter","isRowExpandLoaded","clearRowExpandLoaded","expandLazyLoadeds","reloadExpandContent","_this28","handleAsyncRowExpand","isExpandByRow","setRowExpansion","setAllRowExpansion","defExpandeds","_this29","loadMethod","_this30","isLoad","hasRowExpand","_this31","isExists","getRowExpandRecords","isTreeExpandLoaded","clearTreeExpandLoaded","reloadTreeChilds","_this32","treeLazyLoadeds","handleAsyncTreeExpandChilds","_this33","_this34","rowChildren","_this35","hasTreeExpand","_this36","getVirtualScroller","getTableScroll","triggerScrollXEvent","updateVirtualScrollX","offsetSize","visibleSize","scrollBodyElem","toVisibleIndex","preload","updateScrollXData","triggerScrollYEvent","adaptive","loadScrollYData","debounceScrollY","updateScrollYData","rowHeightMaps","_this37","visibleXSize","countWidth","oSize","rSize","updateScrollXSpace","visibleYSize","leftSpaceWidth","marginLeft","xSpaceElem","topSpaceHeight","ySpaceHeight","ySpaceElem","_this38","rightBody","scrollToTreeRow","scrollToColumn","_this39","_this40","tableFooterElem","footerTargetElem","_this41","customVal","editRules","validStore","hasCellRules","validCellRules","clearValidate","_ref5","rule","showValidTooltip","_ref6","funcs","helperGetYMD","helperGetYMDTime","_insert","_insertAt","nowData","newRecords","_remove","_removeSelecteds","_revert","revertData","_revertData","_getRecordset","getInsertRecords","getUpdateRecords","_getInsertRecords","_getRemoveRecords","_getUpdateRecords","_getColumnModel","oldColumn","oldModel","_setColumnModel","_clearActived","_getActiveRow","getActiveRecord","_getActiveRecord","_editStore$actived","_hasActiveRow","isActiveByRow","_isActiveByRow","inputElem","compRender","autoselect","textRange","createTextRange","collapse","_setActiveRow","setActiveCell","_setActiveCell","_setSelectCell","selectMethod","_clearSelected","reColTitleSdCls","reColSdCls","_mapDraw","dataViewLang","BLOCK_SPLITER","ITEM_SPLITER","groupSeries","seriesGroupByCategoryAxis","otherSeries","other","assembleSeriesWithCategoryAxis","tables","valueAxisDim","assembleOtherSeries","vals","getContentFromModel","isTSVFormat","itemSplitRegex","parseTSVContents","tsv","tsvLines","parseListContents","hasName","parseContents","blockMetaList","blocks","blockMeta","DataView","tryMergeDataOption","newValIsObject","shouldDeleteName","readOnly","optionToContent","contentToOption","textareaColor","textareaBorderColor","buttonColor","buttonTextColor","viewMain","htmlOrDom","buttonContainer","buttonStyle","closeButton","refreshButton","newSeriesOptList","renderText","getStroke","__g","invokeMap","actionInfos","helperEqualCompare","helperDefaultCompare","isEqualWith","obj1","obj2","tfoot","footerRowClassName","footerCellClassName","footerRowStyle","footerCellStyle","footerSpanMethod","scrollEvent","tfOns","_ref$rowspan","_ref$colspan","lastScrollTime","Tooltip","_tooltip","polarOptArr","polarNotRadar","polarOpt","polarIndex","radarIndex","foundAxisModel","layoutBox","boxLayoutParams","msSetImmediate","webkitSetImmediate","mozSetImmediate","oSetImmediate","setZeroTimeout","msClearImmediate","webkitClearImmediate","mozClearImmediate","oClearImmediate","fillText","minFontSize","hanWidth","mWidth","measureText","shuffleArray","WordCloud","elements","weightFactor","drawMask","maskColor","maskGapWidth","abortThreshold","abort","classes","thetaPrime","ngx","ngy","maxRadius","escapeTime","maskRectWidth","random_hsl_color","getTextClasses","hovered","interactive","infoGrid","getInfoGridFromMouseTouchEvent","eventX","eventY","wordcloudhover","wordcloudclick","pointsAtRadius","getPointsAtRadius","exceedTime","getRotateDeg","getTextInfo","weight","rotateDeg","debug","mu","fcanvas","fctx","willReadFrequently","fw","fh","boxWidth","boxHeight","fgw","fgh","fillTextOffsetX","fillTextOffsetY","cgh","cgw","strokeRect","occupied","bounds","singleGridLoop","gw","gh","fillTextWidth","fillTextHeight","canFitText","py","drawText","transformRule","styleRules","cssProp","attribute","fillGridAt","updateGrid","putWord","tryToPutWordAtPoint","gxy","rot","sendEvent","loopingFunction","stoppingFunction","bctx","bgPixel","webkitTapHighlightColor","stopInteraction","anotherWordCloudStart","canceled","arrays","maxItem","Cancel","Input","_input","_textarea","expires","secure","cookie","toGMTString","read","bbWidth","bbHeight","useHasFeature","ExecutionEnvironment","isEventSupported","eventNameSuffix","canUseDOM","implementation","hasFeature","getBaseURL","BrushController","history","dataZoomLang","DATA_ZOOM_ID_BASE","DataZoom","_brushController","_onBrush","_isZoomActive","brushStyle","featureModel","updateZoomBtnStatus","updateBackBtnStatus","nextActive","dataZoomSelectActive","retrieveAxisSetting","setIconStatus","zoomActive","setPanels","makePanelOpts","xAxisDeclared","yAxisDeclared","enableBrush","updateCovers","matchOutputRanges","coordRange","setBatch","findDataZoom","found","dzModel","dataZoomOpts","dataZoomOpt","addForAxis","axisIndicesName","givenAxisIndices","forEachComponent","$fromToolbox","SHADOW_PROPS","coordSysLists","coordIndex","helperCreateMathNumber","LinePath","SYMBOL_CATEGORIES","makeSymbolTypeKey","symbolCategory","__specifiedRotation","setLinePoints","updateSymbolAndLabelBeforeLineUpdate","lineGroup","symbolFrom","symbolTo","pointAt","toPos","specifiedRotation","tangent","tangentAt","__labelDistance","distanceX","distanceY","halfPercent","__position","__verticalAlign","__textAlign","_createLine","lineProto","beforeUpdate","lineLabelOriginalOpacity","visualOpacity","defaultLabelColor","rawVal","normalText","emphasisText","labelStyle","linePath","globalDefault","OPTION_INNER_KEY","_optionManager","baseOption","mountOption","initBase","timelineOption","getTimelineOption","mediaOptions","getMediaOption","mediaOption","componentsMap","newCptTypes","visitComponent","newCptOptionList","mapResult","mappingToExists","makeIdAndName","keyInfo","determineSubType","getComponentsByTypes","resultItem","ComponentModelClass","createSeriesIndices","componentOption","topologicalTravel","_seriesIndicesMap","_seriesIndices","isIdInner","cpts","isIdArray","cpt","isNameArray","filterBySubType","queryCond","getQueryCond","doFilter","indexAttr","idAttr","nameAttr","queryResult","oneSeries","getSeriesCount","assertSeriesInitialized","rawSeriesIndex","getCurrentSeriesIndices","filterSeries","filteredSeries","componentTypes","isNotTargetSeries","seiresIndex","mergeTheme","notMergeColorLayer","colorLayer","themeItem","existComponent","0","1","2","34","5","9","graphicUtil","_nonShapeGraphicElements","graphicOption","GraphicModel","_elOptionsToUpdate","existList","flattenedList","_flatten","mappingResult","elOptionsToUpdate","newElOption","setKeyInfoToNewElOption","mergeNewElOptionToExist","setLayoutInfoToExist","$action","optionList","parentOption","useElOptionsToUpdate","els","createEl","targetElParent","graphicType","__ecGraphicId","removeEl","existEl","existElParent","getCleanedElOption","LOCATION_PARAMS","isSetLoc","existElOption","newElParentOption","newElOptCopy","copyLayoutParams","existItem","hv","setEventData","graphicModel","_elMap","_lastGraphicModel","_updateElements","_relocate","rootGroup","elOptionStyle","elOptionCleaned","__ecGraphicWidthOption","__ecGraphicHeightOption","elOptions","apiWidth","apiHeight","parentEl","isParentRoot","__ecGraphicWidth","__ecGraphicHeight","containerInfo","boundingMode","FProto","nameRE","straightLineProto","bezierCurveProto","isLine","_buildPathLine","_buildPathCurve","_pointAtLine","_pointAtCurve","_tangentAtCurve","defaultSymbolType","hasSymbolTypeCallback","hasSymbolSizeCallback","hasSymbolRotateCallback","hasCallback","seriesSymbol","seriesSymbolSize","itemSymbolType","itemSymbolSize","itemSymbolRotate","itemSymbolKeepAspect","padStart","targetLength","padString","macrotask","WebKitMutationObserver","standalone","toggle","defaultKeyGetter","oldKeyGetter","newKeyGetter","_old","_new","_oldKeyGetter","_newKeyGetter","initIndexMap","keyArr","keyGetterName","existence","_add","oldDataIndexMap","newDataIndexMap","oldDataKeyArr","newDataKeyArr","isInteger","isFloat","groupData","nodeWidth","nodeGap","computeNodeValues","filteredNodes","iterations","nodeAlign","layoutSankey","computeNodeBreadths","computeNodeDepths","computeEdgeDepths","getEdgeValue","nodeRawValue","remainEdges","indegreeArr","zeroIndegrees","nextTargetNode","kx","maxNodeDepth","isItemDepth","edgeIdx","indexEdge","nodeIndex","maxDepth","adjustNodeWithNodeAlign","scaleNodeBreadths","isNodeDepth","nextSourceNode","remainNodes","nodeHeight","skNodeHeight","moveSinksRight","nodeDepth","nodesByBreadth","prepareNodesByBreadth","initializeNodeDepth","resolveCollisions","relaxRightToLeft","relaxLeftToRight","keyAttr","groupResult","buckets","minKy","nodeDy","edgeDy","nodeDyAttr","weightedTarget","centerTarget","nodeY","weightedSource","centerSource","ERROR","WINDOW","JS_MD5_NO_WINDOW","WEB_WORKER","NODE_JS","JS_MD5_NO_NODE_JS","COMMON_JS","JS_MD5_NO_COMMON_JS","AMD","ARRAY_BUFFER","JS_MD5_NO_ARRAY_BUFFER","ArrayBuffer","HEX_CHARS","EXTRA","SHIFT","OUTPUT_TYPES","BASE64_ENCODE_CHAR","buffer8","JS_MD5_NO_ARRAY_BUFFER_IS_VIEW","isView","createOutputMethod","outputType","Md5","createMethod","nodeWrap","crypto","eval","Buffer","nodeMethod","createHash","digest","sharedMemory","h0","h1","h2","h3","bytes","hBytes","finalized","hashed","notString","lastByteIndex","finalize","bc","da","hex","arrayBuffer","base64","base64Str","md5","PLAIN_TEXT","WILL_BE_RESTORED","markerRich","startId","endId","updateMarkerLayout","markPointModel","mpModel","symbolDrawMap","symbolDraw","isFnSymbol","isFnSymbolSize","isFnSymbolRotate","dataOpt","supportWeakSet","WeakSet","isWeakSet","sizeCalculable","CalendarModel","cellSize","dayLabel","firstDay","monthLabel","yearLabel","mergeAndNormalizeLayoutParams","hvIdx","echartsAPIList","chartInstance","parallelAxisModel","setActiveIntervals","intervals","Parallel","multiplier","multiplicand","_axisTickLabelBuilder","createAxisTicks","createAxisLabels","calculateCategoryInterval","NORMALIZED_EXTENT","fixExtentWithBands","nTick","fixOnBandTicksCoords","ticksLen","diffSize","crossLen","ticksItem","getTickModel","minorTickModel","minorTicks","getMinorTicks","minorTicksGroup","getRotate","langSelector","defaultSelectorOption","LegendModel","_updateSelector","_updateData","hasSelected","potentialData","availableNames","isPotential","getAllNames","_availableNames","allSelect","inverseSelect","selectorLabel","selectorItemGap","LN2","determinant","rowStart","rowMask","colMask","detCache","cacheKey","fullRank","colStart","subRowMask","subRowStart","colLocalIdx","colTag","mA","vh","srcPointX","srcPointY","pk","normalizeRadian","sysDims","dataDimNameMap","coordDimNameMap","getDimCount","userDimName","encodeDef","validDataDims","resultDimIdx","applyDim","availDimIdx","sysDimItem","sysDimIndex","sysDimItemDimsDef","sysDimItemOtherDims","sysDimItemDimsDefItem","generateCoordCount","fromZero","genName","optDimCount","Attributes","childPos","hasChildMenus","ctxMenuLinkEvent","mouseover","ctxMenuMouseoverEvent","ctxMenuMouseoutEvent","selectChild","isValidPoint","getValueMissingPoint","firstPoint","svgURI","x_","createGraphFromNodeEdge","GraphSeries","_categoriesData","_updateCategoriesData","categoriesModels","_categoriesModels","categoryIdx","categoryModel","edgeLabelModel","fakeSeriesModel","emphasisEdgeLabelModel","emphasisFakeSeriesModel","edgeGetParent","getEdgeData","sourceName","targetName","circular","rotateLabel","layoutAnimation","edgeSymbol","edgeSymbolSize","edgeLabel","polyHelper","stackResultDim","_broadcast","ORIGIN_METHOD","RATE","THROTTLE_TYPE","currCall","debounceNextCall","lastCall","thisDelay","thisDebounce","debounceDelay","fnAttr","originFn","lastThrottleType","lastRate","markerModelKey","subTypeDefaulters","defaulter","componentTypeMain","dependencyGetter","makeDepndencyGraph","fullNameList","noEntryList","createDependencyGraphItem","originalDeps","availableDeps","getAvailableDependencies","entryCount","dependentName","predecessor","thatItem","successor","targetNameList","targetNameSet","currComponentType","currVertex","isInTargetNameSet","removeEdgeAndAdd","removeEdge","succComponentType","gradientColor","shadowTemp","orignalBrush","clipPaths","roundNumber","_intervalPrecision","thisExtent","getIntervalPrecision","expandToNicedExtent","niceTickExtent","intervalPrecision","safeLimit","lastNiceTick","prevTick","minorInterval","intervalScaleNiceTicks","expandSize","DNSQ","E2jh","EToE","JPst","btoa","unescape","sources","sourceRoot","XaJ2","hmr","insertInto","locals","HTMLIFrameElement","media","sourceMap","nonce","nc","singleton","revokeObjectURL","rel","convertToAbsoluteUrls","styleSheet","DEBUG","cWAC","d7vd","jGdh","lTJf","mSmJ","ouc9","tjUo","afterLeaveHandler","loadingClass","zLoadingPosition","boxStyle","barStyle","showCloseBtn","closeBtnVisible","closeStyle","closeHandler","xmlns","loader","themeColor","_incrementTimer","_completeTimer","_barEl","_started","_timerOutTimer","barHeight","increments","setWidth","completeAnimation","clearTimer","complete","successComplete","errorComplete","loadingInstance","circleStyle","bounceStyle","rectStyle","timeOut","doubleBounce","stretch","ZLoading","_setTimeout","$zLoading","x2y0","CoordSysInfo","fetch","fetchers","buggy","roundingErrorFix","mathLog","_originalScale","originalScale","powVal","__fixMin","fixRoundingError","__fixMax","originalVal","routerView","route","$route","_routerViewCache","_routerRoot","vnodeData","routerViewDepth","registerRouteInstance","propsToPass","resolveProps","encodeReserveRE","encodeReserveReplacer","commaRE","decode","resolveQuery","extraQuery","_parseQuery","parsedQuery","parseQuery","stringifyQuery","trailingSlashRE","createRoute","redirectedFrom","router","stringifyQuery$$1","fullPath","getFullPath","formatMatch","START","_stringifyQuery","isSameRoute","isObjectEqual","aKeys","bKeys","aVal","bVal","isIncludedRoute","queryIncludes","toTypes","Link","exact","exactActiveClass","$router","globalActiveClass","linkActiveClass","globalExactActiveClass","linkExactActiveClass","activeClassFallback","exactActiveClassFallback","compareTarget","guardEvent","findAnchor","aData","aAttrs","metaKey","defaultPrevented","installed","registerInstance","callVal","_router","_route","beforeRouteEnter","beforeRouteLeave","beforeRouteUpdate","resolvePath","relative","firstChar","segment","hashIndex","queryIndex","cleanPath","isarray","pathToRegexp_1","pathToRegexp","parse_1","compile_1","compile","tokensToFunction_1","tokensToFunction","tokensToRegExp_1","tokensToRegExp","PATH_REGEXP","tokens","defaultDelimiter","delimiter","escaped","asterisk","partial","optional","escapeGroup","escapeString","encodeURIComponentPretty","encodeURI","encodeAsterisk","pretty","token","attachKeys","sensitive","regexpToRegexp","arrayToRegexp","stringToRegexp","endsWithDelimiter","regexpCompileCache","fillParams","routeMsg","pathMatch","createRouteMap","routes","oldPathList","oldPathMap","oldNameMap","pathMap","addRouteRecord","matchAs","pathToRegexpOptions","normalizedPath","normalizePath","caseSensitive","regex","compileRouteRegex","redirect","childMatchAs","alias","aliases","aliasRoute","normalizeLocation","rawPath","parsedPath","createMatcher","addRoutes","currentRoute","_createRoute","paramNames","record$1","matchRoute","originalRedirect","resolveRecordPath","resolvedPath","aliasedPath","aliasedMatch","aliasedRecord","positionStore","setupScroll","getStateKey","saveScrollPosition","setStateKey","isPop","app","behavior","scrollBehavior","getScrollPosition","shouldScroll","scrollToPosition","pageXOffset","pageYOffset","getElementPosition","docEl","docRect","isValidPosition","normalizePosition","normalizeOffset","supportsPushState","Time","genKey","pushState","runQueue","resolveAsyncComponents","hasAsync","flatMapComponents","resolvedDef","isESModule","flatten","History","normalizeBase","ready","readyCbs","readyErrorCbs","errorCbs","baseEl","resolveQueue","extractGuards","guards","guard","extractGuard","extractLeaveGuards","bindGuard","extractUpdateHooks","extractEnterGuards","isValid","bindEnterGuard","poll","listen","onReady","errorCb","onError","transitionTo","onComplete","onAbort","confirmTransition","updateRoute","ensureURL","beforeHooks","postEnterCbs","enterGuards","resolveHooks","afterHooks","HTML5History","History$$1","expectScroll","supportsScroll","initLocation","getLocation","go","fromRoute","getCurrentLocation","decodeURI","HashHistory","checkFallback","ensureSlash","setupListeners","getHash","replaceHash","pushHash","searchIndex","getUrl","AbstractHistory","VueRouter","apps","registerHook","createHref","setupHashListener","beforeEach","beforeResolve","afterEach","forward","getMatchedComponents","normalizedTo","_methods","renderFixed","highlightHoverRow","highlightHoverColumn","highlightCell","autoResize","syncResize","filterConfig","tooltipConfig","printConfig","contextMenu","validConfig","VxeTableBody","validOpts","rHeights","vaildTipOpts","hasTip","isResizable","headerCtxMenu","ctxMenuOpts","bodyCtxMenu","expandColumn","isAllCheckboxDisabled","_isLoading","errorModuleName","_Object$assign","_keyboard","handleGlobalContextmenuEvent","tableWrapper","Menus","initialValue","reduceMethod","isInitialVal","keyList","divisor","dividend","divisorDecimal","dividendDecimal","powY","isMinus","pathGet","valGet","dataColor","radarLayout","CancelToken","resolvePromise","trimLeft","_needCollect","needCollect","_deduplication","_map","createByAxisModel","dedplication","getOrCreateMap","getDesc","colorUtil","markAreaTransform","maModel","rb","ltCoord","rbCoord","markAreaFilter","getSingleMarkerEndPoint","dimPermutations","areaData","markAreaModel","areaGroupMap","polygonGroup","allClipped","xValue","yValue","__data","_ie","_firefox","_opera","_webkit","_chrome","_ie_real_version","_osx","_windows","_linux","_android","_win64","_iphone","_ipad","_native","_mobile","_populated","_populate","uas","trident","ver","UserAgent_DEPRECATED","ieCompatibilityMode","ie64","opera","webkit","chrome","windows","osx","linux","iphone","mobile","nativeApp","android","ipad","ToolboxModel","featureName","Feature","iconStyle","_zrender","plx","groupFixed","cellEditRender","treeFixedExpand","treeLineExpand","scrollXNotGroup","unableInsert","useErr","barUnableLink","toolbarId","expandContent","reqModule","reqProp","emptyProp","errProp","notFunc","notSlot","noTree","delFunc","delProp","delEvent","removeProp","notType","notExp","impFields","treeNotImp","allTitle","seqTitle","allFilter","impSuccess","expSuccess","expFilename","expOriginFilename","expSheetName","selectOneRecord","deleteSelectRecord","removeSelectRecord","dataUnchanged","saveSuccess","goto","pagesize","pageClassifier","alert","csv","txt","xlsx","pdf","customAll","customConfirm","customReset","impTitle","impFile","impSelect","impType","impOpts","impConfirm","impModeCovering","impCoveringTitle","impModeAppend","impAppendTitle","expTitle","expName","expNamePlaceholder","expSheetNamePlaceholder","expType","expMode","expAll","expSelected","expAllColumn","expColumn","expOpts","expOptHeader","expHeaderTitle","expOptFooter","expFooterTitle","expOptOriginal","expOriginalTitle","expPrint","expConfirm","ITEM_STYLE_NORMAL","travelTree","designatedVisual","viewRootAncestors","nodeModel","nodeLayout","isInView","thisNodeColor","nodeItemStyleModel","visuals","buildVisuals","borderColorSaturation","calculateColor","calculateBorderColor","buildVisualMapping","childVisual","designatedVisualItemStyle","visualName","getValueVisualDefine","rangeVisual","getRangeVisual","visualMin","visualMax","colorMappingBy","__drColorMappingBy","childVisuals","mappingType","mapIdToIndex","__webpack_amd_options__","getWhatWeek","getMonthWeek","monthFirst","monthFirstWeek","currentDate","hasXOrY","hasXAndY","markerTypeCalculatorWithExtent","otherDataDim","targetDataDim","otherCoordIndex","targetCoordIndex","coordArr","calcDataDim","coordArrValue","markerTypeCalculator","average","baseDataDim","dataDimToCoordDim","RadiusAxis","radiusToData","_treeHelper","_viewRoot","clipWindow","squareRatio","leafDepth","drillDownIcon","zoomToNodeRatio","emptyItemWidth","upperLabel","gapWidth","visualDimension","visibleMin","childrenVisibleMin","completeTreeValue","designatedVisualModel","setDefault","levelModels","levelDefine","levelModel","setLayoutInfo","idIndexMap","_idIndexMap","_idIndexMapCount","childValue","thisValue","globalColorList","hasColorDefine","modelColor","level0","nestRE","mergeFn","objs","bb","nestedKey","formatString","dateDiffRules","isCommonjs","fnMap","eventNameMap","fullscreenchange","fullscreenerror","screenfull","onFullScreenEntered","returnPromise","requestFullscreen","isFullscreen","onFullScreenExit","exitFullscreen","fullscreenElement","isEnabled","fullscreenEnabled","mapLocation","largeLayout","_symbolRadiansHalf","basedOn","_layoutNodesBasedOn","x12","y12","unitAngle","radianHalf","sumRadian","symbolRadianHalf","halfRemainRadian","scrollProcessTimeout","isOperateMouse","countTreeExpand","prevRow","getOffsetSize","calcTreeLine","renderBorder","renderColumn","$seq","rowLevel","isDirty","tdOns","validError","hasDefaultTip","triggerDblclick","showStatus","renderLine","renderRows","trOn","expandColumnIndex","isExpanded","syncBodyScroll","elem1","elem2","onscroll","_onscroll","tbody","ySpace","emptyBlock","_$table$keyboardConfi","leftBody","leftElem","rightElem","_popup","PopperJS","transformOrigin","currentPlacement","createPopper","appendArrow","resetTransformOrigin","forceDestroy","placementMap","appended","arrow","_resizeObserverPolyfill","_resizeObserverPolyfill2","isServer","_isArray","scienceMatchs","absFlag","intNumStr","dIntNumStr","dFloatNumStr","sciencFlag","scienceNumStr","floatOffsetIndex","intOffsetIndex","dIntOffsetIndex","Op","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","makeInvokeMethod","tryCatch","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","_invoke","AsyncIterator","PromiseImpl","__await","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iteratorMethod","isGeneratorFunction","genFun","mark","awrap","skipTempReset","rootEntry","rootRecord","rval","exception","loc","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","globalThis","installedModules","__webpack_require__","moduleId","XHR","Util","Random","RE","toJSONSchema","valid","Mock","heredoc","_mocked","mock","rurl","rtype","Constant","Parser","GUID","templatePath","currentContext","templateCurrentContext","templateRoot","parsedName","RE_KEY","parameters","__order_index","fnKeys","parsedKey","dcount","character","boolean","bool","placeholders","ph","phed","RE_PLACEHOLDER","_all","templateContext","lkey","okey","pathParts","splitPathToArray","getValueByKeyPath","originalKey","keyPathParts","absolutePathParts","newPathParts","RE_RANGE","isObjectOrArray","integer","dmin","dmax","natural","float","pool","pools","lower","char","patternLetters","yyyy","yy","MM","dd","HH","getHours","hh","mm","getMinutes","ss","getSeconds","SS","ms","getMilliseconds","_patternLetters","_rformat","_formatDate","creatNewSubString","$0","_randomDate","datetime","setMonth","setMinutes","setSeconds","setMilliseconds","_adSize","_screenSize","_videoSize","foreground","_brandColors","_brandNames","brands","dataImage","Canvas","require","text_height","webpackPolyfill","deprecate","Convert","DICT","nicer","hsv","_goldenRatioColor","rgb","hsv2rgb","rgb2hex","hsl","hsv2hsl","saturation","_goldenRatio","_hue","rgb2hsl","rgb2hsv","hsl2rgb","hsl2hsv","sv","sl","hex2rgb","navy","blue","aqua","teal","olive","green","lime","yellow","orange","red","maroon","fuchsia","purple","silver","gray","black","white","Basic","Helper","defaultMin","defaultMax","paragraph","sentence","cparagraph","csentence","cword","DICT_KANZI","ctitle","cfirst","clast","cname","tld","email","ip","REGION","province","city","county","mapped","DICT_FIXED","d4","d6","d8","d12","d20","d100","uuid","increment","Token","Alternate","Match","CaptureGroup","cgs","Quantified","quantifier","Quantifier","greedy","CharSet","CharacterRange","Literal","Unicode","Hex","Octal","BackReference","ControlCharacter","expected","seenCR","fl","il","al","hl","dl","pl","vl","Al","Cl","gl","bl","Tl","kl","xl","yl","ml","Rl","Fl","Ql","Sl","Ul","El","Gl","Bl","jl","$l","ql","Ll","Ml","Dl","Hl","Ol","Wl","zl","Il","Jl","Kl","Nl","Pl","Vl","Xl","Yl","Zl","nu","lu","uu","tu","ru","eu","ou","iu","au","fu","su","hu","cu","pu","vu","wu","du","Au","Cu","gu","bu","nl","ll","ul","tl","ku","Tu","xu","Ru","yu","Fu","Qu","Su","Uu","Eu","Gu","Bu","ju","$u","qu","Lu","Mu","Du","Hu","Ou","Wu","zu","Iu","Ju","Ku","Nu","Pu","Vu","Xu","Yu","Zu","rl","ol","cl","startRule","SyntaxError","LOWER","ascii","UPPER","NUMBER","OTHER","PRINTABLE","SPACE","CHARACTER_CLASSES","fromCharCode","alternate","quantified","charset","literal","characters","iii","octal","CONTROL_CHARACTER_MAP","CONTROL_CHARACTER","CONTROL_CHARACTER_UNICODE","schema","Assert","equal","actualRepeatCount","templateType","greaterThanOrEqualTo","lessThanOrEqualTo","notEqual","greaterThan","lessThan","_XMLHttpRequest","_ActiveXObject","ActiveXObject","Event","XHR_STATES","UNSENT","OPENED","HEADERS_RECEIVED","LOADING","DONE","XHR_EVENTS","XHR_REQUEST_PROPERTIES","XHR_RESPONSE_PROPERTIES","HTTP_STATUS_CODES","100","101","200","201","202","203","204","205","206","300","301","302","303","304","305","307","400","401","402","403","404","405","406","407","408","409","410","411","412","413","414","415","416","417","422","500","501","502","503","504","505","MockXMLHttpRequest","requestHeaders","responseHeaders","createNativeXMLHttpRequest","isLocal","rlocalProtocol","ajaxLocation","ajaxLocParts","createStandardXHR","createActiveXHR","sUrlType","convert","_settings","username","password","setRequestHeader","withCredentials","upload","statusText","responseURL","getResponseHeader","getAllResponseHeaders","overrideMimeType","responseType","responseXML","ontype","adjustEdge","FOCUS_ADJACENCY","UNFOCUS_ADJACENCY","opct","_lineDraw","_firstRender","graphView","groupNewProp","_layoutTimeout","_startForceLayoutIteration","warmUp","_layouting","setFixed","setUnfixed","circularRotateLabel","adjacentEdge","toFixedString","RangeError","lb","ax0","ax1","ay0","ay1","bx0","bx1","by0","by1","msRequestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","seiresModelMap","__paletteScope","dataAll","filteredIdx","singleDataColor","singleDataBorderColor","isLeapYear","year","spinnerRadius","animateShape","findKey","staticEscapeMap","escape","XEUtils","zipObject","searchTree","lastForOf","isTypeError","isDocument","isWindow","isMap","isWeakMap","toFixedNumber","mean","getWhatYear","timestamp","getYearDay","getDayOfYear","getDateDiff","padEnd","trimRight","kebabCase","toFormatString","v2Min","v2Max","v2Scale","v2Add","v2Clone","v2Sub","constraint","prevPoint","nextPoint","cps","d0","cp0","UNSCOPABLES","Rule","_fullValidate","beginValidate","_validate","handleValidError","autoPos","validRest","vaildDatas","rowValids","handleVaild","colVailds","ruleProps","posAndFinish","locatRow","errorRules","cellVailds","_rule$validator","cusRule","numVal","_clearValidate","_actived$args","retrieveValue","PATH_BORDER_WIDTH","PATH_GAP_WIDTH","PATH_UPPER_LABEL_SHOW","PATH_UPPER_LABEL_HEIGHT","ecWidth","ecHeight","containerWidth","containerHeight","rootRect","viewAbovePath","rootSize","estimateRootSize","viewRootLayout","squarify","upperHeight","calculateRootPosition","prunning","hideChildren","thisLayout","halfGapWidth","upperLabelHeight","getUpperLabelHeight","layoutOffset","layoutOffsetUpper","totalArea","initChildren","rowFixedLength","best","score","worst","overLeafDepth","statistic","filterByThreshold","isLeafRoot","orderedChildren","deletePoint","areaMax","areaMin","squareArea","idx0WhenH","idx1WhenH","rowOtherLength","wh1","remain","modWH","wh0","currNode","defaultSize","viewArea","currNodeValue","defaultPosition","targetCenter","clipRect","nodeInViewAbovePath","isAboveViewRoot","childClipRect","outputShape","inputShape","originWidth","originHeight","positiveOrNegative","doubledPosition","STACK_PREFIX","LARGE_BAR_MIN_WIDTH","getLayoutOnAxis","widthAndOffsets","doCalBarWidthAndOffset","isOnCartesian","isInLargeMode","getValueAxesMinGaps","axisValues","cnt","axisMinGaps","valuesInAxis","seriesInfoList","minGap","extentSpan","scaleSpan","seriesInfo","finalWidth","lastStackCoordsOrigin","isValueAxisH","getValueAxisStart","valueAxisHorizontal","largeBackgroundPoints","valuePair","pointsOffset","idxOffset","backgroundStart","tmpRect","AXIS_TYPES","BaseAxisModelClass","axisTypeDefaulter","extraDefaultOption","__ordinalMeta","linkedNodesFinder","effectedModels","tmplRE","startDate","endDate","endTime","diffTime","prepareDataCoordInfo","valueOrigin","valueStart","getValueStart","baseAxisDim","baseDataOffset","dataDimsForPoint","stackedOverDimension","getStackedOnPoint","dataCoordInfo","stackedData","ClippathManager","updateDom","clipPathEl","svgProxy","_textDom","RadarSeries","sKeyRE","valSet","_text","Triangle","Diamond","Pin","tanX","tanY","cpLen","cpLen2","Arrow","symbolCtors","roundRect","square","diamond","pin","triangle","symbolShapeMakers","symbolBuildProxies","inBundle","proxySymbol","symbolPathSetColor","innerColor","symbolStyle","symbolShape","__isEmptyBrush","formatRegExp","warning","isNativeStringType","asyncParallelArray","arrLength","errors","asyncSerialArray","flattenObjArr","objArr","asyncMap","flattenArr","firstFields","objArrKeys","objArrLength","complementError","fullField","deepMerge","messages","whitespace","getYear","ruleType","spRegexp","ENUM","mismatch","_pattern","floatFn","dateObject","newMessages","invalid","Schema","_messages","source_","oc","getValidationMethod","errorFields","doIt","defaultField","addFullfield","fieldsSchema","fieldSchema","errs","messageIndex","$context","lineContain","quadraticContain","LargeLineShape","findDataIndex","LargeLineDraw","largeLineProto","lineEl","_setCommon","isIncremental","toPropertyKey","canUseWorkers","Worker","canUseEventListeners","canUseViewport","screen","isInWorker","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","maybeToString","REPLACE","$replace","searchValue","replaceValue","functionalReplace","accumulatedResult","nextSourcePosition","captures","namedCaptures","replacerArgs","replacement","getSubstitution","tailPos","funnelLayout","take","resourceKey","userKey","getStore","release","uKey","PromiseCapability","$$resolve","tipZindex","tipStore","arrowStyle","targetMouseleaveEvent","targetMouseenterEvent","clickEvent","wrapperMouseenterEvent","wrapperMouseleaveEvent","targetActive","_DomTools$getAbsolute","tipLeft","HIGH_DOWN_PROP","RECORD_VERSION_PROP","mapModel","_renderSymbols","originalDataIndex","mainSeries","fullIndex","highDownRecord","recordVersion","onRegionHighDown","enterRegionHighDown","toHighOrDown","__mapOriginalZ2","Filter","roundRectHelper","VALID_TEXT_ALIGN","VALID_TEXT_VERTICAL_ALIGN","SHADOW_STYLE_COMMON_PROPS","_tmpTextPositionResult","_tmpBoxPositionResult","normalizeStyle","makeFont","renderRichText","renderPlainText","needDrawBg","needDrawBackground","checkCache","cachedByMe","styleFont","boxPos","applyTextRotation","boxX","adjustTextX","propItem","styleProp","ctxProp","textStrokeWidthPrev","strokeWidthChanged","strokeChanged","getFill","strokeText","parseRichText","drawRichText","contentWidth","lineTop","tokenCount","usedWidth","lineXLeft","lineXRight","placeToken","tokenStyle","isLineHolder","setCtx","isPlainBg","originalGlobalAlpha","onBgImageLoaded","PointerPath","parsePosition","formatLabel","GaugeView","posInfo","_renderMain","axisLineModel","angleRangeSpan","prevEndAngle","axisLineWidth","showAxis","_renderTicks","_renderPointer","_renderTitle","_renderDetail","minVal","maxVal","subSplitNumber","splitLineLen","tickLen","subStep","splitLineStyle","tickLineStyle","tickLine","detailModel","handleCustomTemplate","formatDayE","dateFormatRE","hours","apm","formatStringMatchs","fy","fM","fd","fH","fm","fS","fZ","zoneHours","fW","fD","parseDates","SSS","ZZ","WW","DDD","toLocaleUpperCase","registeredInModuleLoader","OldCookies","Cookies","noConflict","converter","toUTCString","stringifiedAttributes","attributeName","cookies","rdecode","getJSON","withConverter","linesLayout","linesVisual","_column","vmlCore","comma","imageTransformPrefix","Z2","ZLEVEL_BASE","Z_BASE","initRootElStyle","coordsize","coordorigin","encodeHtmlAttribute","rgb2Str","getZIndex","setColorAndOpacity","getColorAndAlpha","updateFillNode","zrEl","gradientType","expansion","cs1","cs2","colorAndAlphaList","colorAndAlpha","color1","color2","opacity1","opacity2","focusposition","updateStrokeNode","dashstyle","updateFillAndStroke","vmlEl","isFill","createNode","nPoint","brushVML","vmlRoot","_vmlEl","needTransform","strokeEl","removeRectText","onRemove","onAdd","appendRectText","isImage","ow","oh","_imageSrc","_imageWidth","_imageHeight","imageRuntimeStyle","runtimeStyle","oldRuntimeWidth","oldRuntimeHeight","sw","sh","hasCrop","vmlElStyle","hasRotation","transformFilter","imageEl","_imageEl","cropEl","_cropEl","imageELStyle","tmpImage","cropElStyle","filterStr","textMeasureEl","DEFAULT_STYLE_NORMAL","fontStyleCache","fontStyleCacheCount","MAX_FONT_CACHE_SIZE","fontEl","getFontStyle","fontString","variant","fontVariant","family","fromTextEl","textLine","textPathEl","skewEl","textVmlEl","_textVmlEl","textpathok","textVmlElStyle","polygonContain","getLineSelectors","xyIndex","inLineRange","layoutRange","showContent","displayMode","confine","showDelay","hideDelay","extraCssText","crossStyle","AngleAxis","angleToData","ordinalScale","ordinalExtent","unitSpan","unitH","maxH","lastAutoInterval","lastTickCount","percentPrecision","_objectWithoutPropertiesLoose","excluded","_objectWithoutProperties","sourceSymbolKeys","IE11OrLess","FireFox","Safari","IOS","ChromeForAndroid","captureMode","msMatchesSelector","webkitMatchesSelector","getParentOrHost","closest","includeCTX","_throttleTimeout","R_SPACE","toggleClass","selfOnly","appliedTransforms","matrixFn","DOMMatrix","WebKitCSSMatrix","CSSMatrix","MSCSSMatrix","getWindowScrollingElement","scrollingElement","relativeToContainingBlock","relativeToNonStaticParent","undoScale","innerHeight","containerRect","elMatrix","isScrolledPast","elSide","parentSide","getParentAutoScrollElement","elSideVal","parentSideVal","childNum","currentChild","Sortable","ghost","dragged","lastChild","previousElementSibling","getRelativeScrollOffset","winScroller","indexOfObject","gotSelf","elemCSS","dst","isRectEqual","rect1","rect2","cancelThrottle","scrollBy","Polymer","jQuery","Zepto","setRect","unsetRect","expando","AnimationStateManager","animationCallbackId","animationStates","captureAnimationState","fromRect","thisAnimationDuration","childMatrix","addAnimationState","removeAnimationState","animateAll","animating","animationTime","toRect","prevFromRect","prevToRect","animatingRect","targetMatrix","calculateRealTime","animationResetTimer","currentRect","translateX","translateY","animatingX","animatingY","repaint","animated","initializeByDefault","PluginManager","pluginEvent","eventCanceled","eventNameGlobal","pluginName","initializePlugins","modifyOption","getEventProperties","eventProperties","modifiedValue","optionListeners","rootEl","cloneEl","toEl","fromEl","oldDraggableIndex","newDraggableIndex","originalEvent","putSortable","extraEventProperties","onName","CustomEvent","pullMode","lastPutMode","allEventProperties","dragEl","ghostEl","nextEl","lastDownEl","cloneHidden","dragStarted","activeSortable","hideGhostForTarget","_hideGhostForTarget","unhideGhostForTarget","_unhideGhostForTarget","cloneNowHidden","cloneNowShown","dispatchSortableEvent","_dispatchEvent","activeGroup","tapEvt","touchEvt","lastDx","lastDy","tapDistanceLeft","tapDistanceTop","lastTarget","lastDirection","targetMoveDistance","ghostRelativeParent","awaitingDragStarted","ignoreNextClick","sortables","pastFirstInvertThresh","isCircumstantialInvert","ghostRelativeParentInitialScroll","_silent","savedInputChecked","documentExists","PositionGhostAbsolutely","CSSFloatProperty","supportDraggable","supportCssPointerEvents","_detectDirection","elCSS","elWidth","child1","child2","firstChildCSS","secondChildCSS","firstChildWidth","secondChildWidth","flexDirection","gridTemplateColumns","touchingSideChild2","_dragElInRowColumn","dragRect","dragElS1Opp","dragElS2Opp","dragElOppLength","targetS1Opp","targetS2Opp","targetOppLength","_detectNearestEmptySortable","emptyInsertThreshold","insideHorizontally","insideVertically","_prepareGroup","toFn","pull","sameGroup","otherGroup","originalGroup","checkPull","checkPut","revertClone","nearestEmptyInsertDetectEvent","nearest","_onDragOver","_checkOutsideTargetEl","_isOutsideThisEl","swapThreshold","invertSwap","invertedSwapThreshold","removeCloneOnHide","ghostClass","chosenClass","dragClass","preventOnFilter","dataTransfer","dropBubble","dragoverBubble","dataIdAttr","delayOnTouchOnly","touchStartThreshold","forceFallback","fallbackClass","fallbackOnBody","fallbackTolerance","fallbackOffset","supportPointer","nativeDraggable","_onTapStart","_globalDragOver","dropEffect","_onMove","willInsertAfter","retVal","onMoveFn","onMove","draggedRect","related","relatedRect","_disableDraggable","_unsilent","_ghostIsLast","spacer","_getSwapDirection","isLastTarget","mouseOnAxis","targetS1","targetS2","_getInsertDirection","_generateId","_saveInputCheckedState","inputs","_nextTick","_cancelNextTick","_getDirection","pointerType","originalTarget","composedPath","isContentEditable","criteria","_prepareDragStart","dragStartFn","_onDrop","_disableDelayedDragEvents","_triggerDragStart","_disableDelayedDrag","_delayedDragTouchMoveHandler","_dragStartTimer","_onTouchMove","_onDragStart","getSelection","removeAllRanges","_dragStarted","_appendGhost","_nulling","_emulateDragOver","elementFromPoint","ghostMatrix","relativeScrollOffset","cssMatrix","_hideClone","cloneId","_loopId","effectAllowed","_dragStartId","isOwner","canSort","fromSortable","completedFired","dragOverEvent","_ignoreWhileAnimating","completed","elLastChild","targetBeforeFirstSwap","sibling","differentLevel","differentRowCol","side1","scrolledPastTop","scrollBefore","dragIndex","moveVector","insertion","_showClone","_offMoveEvents","_offUpEvents","clearInterval","cancelNextTick","detectDirection","scrollEl","scrollRootEl","lastAutoScrollX","lastAutoScrollY","touchEvt$1","pointerElemChangedInterval","autoScrolls","scrolling","AutoScrollPlugin","AutoScroll","scrollSensitivity","scrollSpeed","bubbleScroll","_handleAutoScroll","_handleFallbackAutoScroll","dragOverCompleted","dragOverBubble","drop","clearPointerElemChangedInterval","clearAutoScrolls","nulling","autoScroll","ogElemScroller","newElem","lastSwapEl","isFallback","scrollCustomFn","sens","scrollThisInstance","scrollFn","layersOut","currentParent","canScrollX","canScrollY","scrollPosX","scrollPosY","layer","scrollOffsetY","scrollOffsetX","toSortable","onSpill","Revert","Remove","SwapPlugin","Swap","swapClass","dragStart","dragOverValid","swap","prevSwapEl","swapNodes","swapItem","i1","i2","isEqualNode","parentSortable","lastMultiDragSelect","multiDragSortable","dragEl$1","clonesFromRect","clonesHidden","multiDragElements","multiDragClones","initialFolding","folding","MultiDragPlugin","MultiDrag","_deselectMultiDrag","_checkKeyDown","_checkKeyUp","selectedClass","multiDragKey","multiDragElement","multiDragKeyDown","isMultiDrag","delayStartGlobal","delayEnded","setupClone","sortableIndex","insertMultiDragClones","showClone","hideClone","dragStartGlobal","multiDrag","_ref7","removeMultiDragElements","dragOver","_ref8","_ref9","insertMultiDragElements","_ref10","dragRectAbsolute","clonesHiddenBefore","dragOverAnimationCapture","_ref11","dragMatrix","dragOverAnimationComplete","_ref12","originalEvt","multiDragIndex","nullingGlobal","destroyGlobal","deselect","oldIndicies","newIndicies","clones","clonesInserted","elementsInserted","spaces","non","ltrim","rtrim","exporter","ALIAS","FORCE","VISUAL_PRIORITY","resultVisual","visualMeta","concreteDim","opacityMap","proMethod","LargeSymbolDraw","_updateSymbolDraw","_getClipShape","_finished","someVectorAt","isTangent","$iterators","ArrayValues","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","collections","explicit","DATA_NAME_INDEX","ThemeRiverSeries","fixData","rawDataLength","timeValueKeys","layData","timeValue","lenCount","indexArr","index1","index2","nestestValue","nearestIdx","theValue","htmlName","htmlValue","_updateLineDraw","_lastZlevel","_showEffect","_clearLayer","hasEffect","_hasEffet","_isPolyline","ox","oy","DEFAULT_TOOLBOX_BTNS","isNew","brushComponents","brushComponentSpecifiedBtns","brushOpt","tbs","toolboxFeature","toolboxBrush","brushTypes","removeDuplicate","supportFormData","FormData","shapeCompareFunc","_roots","_displayList","_displayListLen","includeIgnore","updateDisplayList","displayList","_updateAndAddDisplayable","afterUpdate","userSetClipPath","currentClipPath","parentClipPath","__storage","addChildrenToStorage","delChildrenFromStorage","_renderList","displayableSortFunc","brushHelper","elementList","fromAxisAreaSelect","oldAxisGroup","_axisGroup","coordSysModel","areaSelectStyle","getAreaSelectStyle","areaWidth","axisLayout","getAxisLayout","builderOpt","strokeContainThreshold","_refreshBrushController","extentLen","enableGlobalPan","panelId","makeRectPanelClipPath","isTargetByCursor","makeRectIsTargetByCursor","getLinearBrushOtherExtent","makeLinearBrushOtherExtent","removeOnClick","getCoverInfoList","coverInfoList","coverInfo","parallelAxisId","activeIntervals","setFullYear","createGridClipPath","createPolarClipPath","sectorArea","clazzUtil","componentProto","GradientManager","addWithoutUpdate","svgElement","Cell","renMaps","renderTreeCell","renderIndexHeader","renderTreeIndexCell","renderIndexCell","renderRadioHeader","renderTreeRadioCell","renderRadioCell","renderSelectionHeader","renderTreeSelectionCellByProp","renderSelectionCellByProp","renderTreeSelectionCell","renderSelectionCell","renderExpandCell","renderExpandData","renderTreeHTMLCell","renderHTMLCell","renderSortAndFilterHeader","renderSortHeader","renderFilterHeader","renderEditHeader","renderTreeCellEdit","renderCellEdit","renderTreeRowEdit","renderRowEdit","funName","$excel","renderTreeIcon","cellVNodes","iconLoaded","iconOpen","iconClose","rowChilds","hasLazyChilds","isAceived","isLazyLoaded","labelField","_$table$checkboxOpts","_$table$checkboxOpts2","renderSortIcon","renderFilterIcon","_$table$sortOpts","showIcon","iconAsc","iconDesc","iconNone","iconMatch","isRequired","columnRules","runRenderer","splitList","Breadcrumb","animationUtil","DRAG_THRESHOLD","PATH_LABEL_NOAMAL","PATH_LABEL_EMPHASIS","PATH_UPPERLABEL_NORMAL","PATH_UPPERLABEL_EMPHASIS","Z_BG","Z_CONTENT","getItemStyleEmphasis","getItemStyleNormal","createStorage","_breadcrumb","_state","thisStorage","reRoot","rootNodeGroup","nodeGroup","_giveContainerGroup","renderResult","_doRender","renderFinally","_doAnimation","_resetController","_renderBreadcrumb","thisTree","oldTree","lastsForAnimation","oldStorage","willInvisibleEls","renderNode","willDeleteEls","clearStorage","thisViewChildren","oldViewChildren","sameTree","thisNode","storageName","delEls","__tmWillDelete","animationWrap","createWrap","__tmNodeWidth","__tmNodeHeight","targetX","targetY","fadein","_onPan","_onZoom","_clearController","mouseX","mouseY","findTarget","_zoomToNode","onSelect","thisWidth","thisHeight","thisInvisible","thisRawIndex","oldRawIndex","isParent","itemStyleNormalModel","itemStyleEmphasisModel","giveGraphic","bg","useUpperLabel","processInvisible","visualBorderColor","emphasisBorderColor","upperLabelWidth","prepareText","contentHeight","upperLabelRect","addDrillDownIcon","minChar","iconChar","lasts","prepareAnimationWhenHasOld","calculateZ","__tmDepth","__tmStorageName","prepareAnimationWhenNoOld","lastCfg","parentOldX","parentOldY","parentOldBg","zInLevel","zb","getAxisLineShape","rExtent","getRadiusIdx","fixAngleOverlap","firstItem","ticksAngles","minorTickAngles","_axisLine","rId","r0Id","_axisTick","tickAngleItem","_minorTick","tickAngles","_axisLabel","rawCategoryData","commonLabelModel","labelTextAlign","labelTextVerticalAlign","isLabelSilent","makeAxisEventDataBase","rawLabel","prevAngle","settle","buildURL","parseHeaders","isURLSameOrigin","requestData","auth","Authorization","onreadystatechange","responseData","ontimeout","xsrfValue","onDownloadProgress","onUploadProgress","flattenDeep","ecHelper","parseGeoJSON","_List","_Model","_Axis","_env","ecUtil","__WEBPACK_EXTERNAL_MODULE_a352__","__webpack_exports__","insertNodeAt","getConsole","parentElement","fatherNode","refNode","addToUnscopables","Arguments","STARTS_WITH","$startsWith","currentScript","scripts","setPublicPath_i","external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_","external_commonjs_sortablejs_commonjs2_sortablejs_amd_sortablejs_root_Sortable_default","buildAttribute","computeVmIndex","elt","_computeIndexes","isTransition","footerOffset","elmFromNodes","footerIndex","rawIndexes","ind","evtName","evtData","delegateAndEmit","realList","isTransitionName","vuedraggable_isTransition","_slots","getSlot","scopedSlot","computeChildrenAndOffsets","headerOffset","getComponentAttributes","componentData","componentDataAttrs","eventsListened","eventsToEmit","readonlyProperties","draggingElement","noTransitionOnDrag","draggableComponent","transitionMode","noneFunctionalComponentMode","_computeChildrenAndOf","getTag","getIsFunctional","optionsAdded","onDragMove","_sortable","rootContainer","computeIndexes","newOptionValue","updateOptions","getChildrenNodes","rawNodes","visibleIndexes","getUnderlyingVm","htmlElt","getUnderlyingPotencialDraggableComponent","vue","emitChanges","alterList","onList","spliceList","_arguments","updatePosition","getRelatedContextFromMoveEvent","getVmIndex","domIndex","indexes","numberIndexes","resetTransitionData","transitionContainer","onDragStart","_underlying_vm_","onDragAdd","onDragRemove","onDragUpdate","updateProperty","computeFutureIndex","relatedContext","domChildren","currentDOMIndex","draggedInList","draggedContext","futureIndex","sendEvt","vuedraggable","ariaModel","seriesCnt","ariaLabel","maxDataCnt","maxSeriesCnt","displaySeriesCnt","getConfig","seriesLabels","seriesCount","seriesLabel","seriesTpl","getSeriesTypeName","displayCnt","keyValues","userConfig","pluckProperty","removeKeys","setAreas","outer","widthNoScroll","widthWithScroll","Toolbar","_toolbar","adjustSingleSide","viewLeft","viewTop","farthestX","shiftDown","shiftUp","changeX","isDownList","lastDeltaX","labelAlignTo","deltaY","deltaX","lastY","upList","downList","avoidOverlap","labelLayoutList","leftmostX","rightmostX","isPositionCenter","targetTextWidth","isAlignToEdge","realTextWidth","labelDistance","bleedMargin","truncateText","hasLabelRotate","minShowLabelRadian","labelLineLen2","isInContainer","getScrollContainer","isScroll","SPECIAL_CHARS_REGEXP","MOZ_HACK_REGEXP","ieVersion","curClass","clsName","determinedDirection","promiseCapability","ShadowManager","hasShadow","_shadowDom","_shadowDomId","domChild","stdDx","stdDy","stdDeviation","singleAxisHelper","_axisSplitHelper","SingleAxisView","DEFAULT_DELIMITER","DEFAULT_DELIMITERS","delimiters","pathEscaped","isEndDelimited","Animatable","animatable","animateToShallow","objShallow","propertyCount","setAttrByPath","animatingShape","pathSplitted","animateFrom","handleMerge","_whiskerBoxCommon","seriesModelMixin","CandlestickSeries","defaultValueDimensions","animationUpdate","COORD_CONVERTS","INCLUDE_FINDER_MAIN_TYPES","targetInfoList","_targetInfoList","foundCpts","targetInfoBuilders","builder","formatMinMax","includeMainTypes","setOutputRanges","coordRanges","coordConvert","__rangeOffset","diffProcessor","xyMinMax","findTargetInfo","coordSyses","rangeOffset","getScales","getDefaultBrushType","getPanelRect","defaultBrushType","areaPanelId","targetInfoMatchers","xAxisModels","yAxisModels","gridModels","gridModelMap","xAxesHas","yAxesHas","cartesians","panelRectBuilder","geoModels","axisConvert","rangeOrCoordRange","xminymin","xmaxymax","axisNameIndex","axisDiffProcessor","refer","scales","xyMinMaxCurr","xyMinMaxOrigin","sizeCurr","sizeOrigin","UTF8Encoding","encodeScale","UTF8Scale","coordinates","encodeOffsets","coordinate","decodePolygon","c2","prevX","prevY","featureObj","setNodePosition","array1","array2","pieLayout","emphasisTextStyleModel","forMerge","throttled","dr","rCenter","unitStartX","unitStartY","unitEndX","unitEndY","lessThanCircle","_visualEncoding","updateController","modelId","$from","colorpicker","datepicker","today","selectDate","selectTime","prevYear","nextYear","prevMonth","nextMonth","month1","month2","month3","month4","month5","month6","month7","month8","month9","month10","month11","month12","sun","mon","tue","wed","thu","fri","sat","months","jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec","noMatch","noData","cascader","pagination","messagebox","deleteTip","preview","continue","transfer","filterPlaceholder","noCheckedFormat","hasCheckedFormat","pageHeader","ignoreDuplicateOf","getDataWithEncodedVisual","dataWithEncodedVisual","IRRELEVANT_EXCLUDES","targetCoordSysModel","topTarget","URLSearchParams","product","assignValue","colorAll","$trim","$Number","BROKEN_COF","TRIM","argument","third","radix","maxCode","val1","val1Keys","val2Keys","isObj1Arr","isObj2Arr","labelDims","_subPixelOptimize","subPixelOptimizeOutputShape","Footer","_footer","EFFECT_RIPPLE_NUMBER","updateRipplePath","rippleGroup","effectCfg","rippleEffectColor","ripplePath","effectSymbolProto","stopEffectAnimation","startEffectAnimation","effectOffset","rippleScale","updateEffectAnimation","oldEffectCfg","_effectCfg","DIFFICULT_PROPS","_parseSVG","originRoot","buildGraphic","rootMap","originRootHostKey","svgXML","svgWidth","svgHeight","BOOST_SIZE_THRESHOLD","LargeSymbolPath","symbolProxy","softClipShape","symbolProxyShape","canBoost","largeSymbolProto","byteOffset","extrudeShadow","_traversalHelper","commonLayout","coorX","coorY","finalCoor","_locale","QUERY_REG","_timelineOptions","_mediaList","_mediaDefault","_currentMediaIndices","_optionBackup","_newBaseOption","parseRawOption","rawOption","mediaDefault","timelineOptions","mediaList","singleMedia","preProcess","applyMediaQuery","realMap","aspectratio","applicatable","operator","realAttr","real","indicesEquals","indices1","indices2","oldOption","newCptOpt","oldCptOpt","oldOptionBackup","newParsedOption","isRecreate","optionBackup","Draggable","_dragStart","_drag","_dragEnd","draggingTarget","_draggingTarget","dispatchToElement","dropTarget","lastDropTarget","_dropTarget","rootDepth","renderRollupNode","rPerLevel","rStart","rEnd","siblingAngle","isAsc","LiquidLayout","outlineDistance","outlineBorderWidth","showOutline","outterRadius","innerRadius","paddingRadius","isFillContainer","getOutline","wavePath","getBackground","waves","getPath","isForClipping","bouding","outlinePath","strokePath","fillPath","getWave","isInverse","oldWave","radiusX","radiusY","waterLevel","_waterLevel","setWaveAnimation","maxSpeed","defaultSpeed","phaseOffset","getText","formatted","defaultLabel","textOption","outsideTextRect","insideTextRect","insColor","boundingCircle","waveElement","newWave","shapeAttrs","styleAttrs","axisTrigger","collect","realIndex","paramsSet","reals","fakeValue","layoutInput","rParam","pathContain","pathProxyForDraw","hasFillGradient","hasStrokeGradient","hasFillPattern","hasStrokePattern","_fillGradient","_strokeGradient","ctxLineDash","shapeCfg","needsUpdateRect","rectWithStroke","_rectWithStroke","lineScale","dirtyPath","__clipTarget","defaultShape","thisShape","Cartesian","getAxesByScale","axisX","axisY","xScale","yScale","xAxisExtent","yAxisExtent","xExtent","yExtent","_dimName","_axisIndex","_valueWindow","_percentWindow","_dataExtent","_minMaxSpan","_dataZoomModel","calculateDataExtent","seriesExtent","fixExtentByAxis","isCategoryAxis","setAxisModel","isRestore","percentWindow","useOrigin","setMinMaxSpan","percentSpan","valueSpan","getOtherAxisModel","coordSysIndexName","foundOtherAxisModel","isCartesian","otherAxisModel","hasPropModeValue","boundPercent","boundValue","spans","restrictSet","fromWindow","toWindow","fromExtent","toExtent","toValue","dataWindow","leftOut","rightOut","thisHasValue","thisLeftOut","thisRightOut","isInWindow","originalLarge","originalProgressive","getWaterPositions","curves","waveRight","axesInfo","seriesInvolved","coordSysMap","collectAxesInfo","collectSeriesInfo","globalAxisPointerModel","linksOption","linkGroups","coordSysKey","makeKey","axesInfoInCoordSys","baseTooltipModel","saveTooltipAxisInfo","triggerAxis","cross","tooltipAxes","fromTooltip","axisPointerShow","isHandleTrigger","makeAxisPointerModel","involveSeries","groupIndex","getLinkGroupIndex","linkGroup","mapper","tooltipAxisPointerModel","volatileOption","labelOption","tooltipAxisPointerLabelShow","seriesTooltipTrigger","seriesTooltipShow","seriesDataCount","linkOption","checkPropInLink","linkPropValue","axisPropValue","GRADIENT_LEVELS","Heatmap","_gradientPixels","colorFunc","_getBrush","gradientInRange","_getGradient","gradientOutOfRange","pixels","pixelLen","diffOpacity","gradientOffset","brushCanvas","_brushCanvas","gradientPixels","pixelsSingleState","Uint8ClampedArray","TOUCH_CLICK_DELAY","globalEventSupported","localNativeListenerNames","mouseHandlerNames","touchHandlerNames","pointerEventNameMap","pointerdown","pointerup","pointermove","pointerout","pointerHandlerNames","nm","mouse","globalNativeListenerNames","eventNameFix","isPointerFromTouch","setTouchTimer","touching","touchTimer","markTouch","normalizeGlobalEvent","FakeGlobalEvent","isLocalEl","elTmp","painterRoot","fakeGlobalEventProto","localDOMHandlers","_mayPointerCapture","downPoint","togglePointerCapture","_pointerCapturing","zrEventControl","toElement","relatedTarget","zrIsToLocalDOM","touchstart","_lastTouchMoment","processGesture","touchmove","touchend","globalDOMHandlers","pointerCaptureReleasing","mountLocalDOMEventListeners","domHandlers","nativeEventName","mountSingleDOMEventListener","mountGlobalDOMEventListeners","nativeEventListener","listenerOpts","domTarget","unmountDOMEventListeners","isPointerCapturing","globalHandlerScope","_globalHandlerScope","DOMHandlerScope","HandlerDomProxy","_localHandlerScope","handlerDomProxyProto","setCursor","findTreeItem","processedMapType","mapSymbolOffsets","subMapSeries","createInstance","axios","promises","spread","dimAxisMapper","_axes","_dimList","_dataCoordConvert","dimList","SankeySeries","localPosition","rawDataOpt","layoutIterations","makeAction","PROXIMATE_ONE_DAY","Calendar","calendarModel","_rangeInfo","_sw","_sh","getFirstDayOfWeek","_firstDayOfWeek","getDateInfo","formatedDate","getNextNDay","_lineWidth","_getRangeInfo","_initRangeOption","whNames","cellNumbers","cellSizeSpecified","whGlobal","calendarRect","dayInfo","nthWeek","pointToDate","br","nthX","nthY","_getDateByWeeksAndDay","reversed","startDateNum","endDateNum","dateNum","fweek","lweek","nthDay","calendarList","calendarSeries","stackInfoMap","stackInfoList","stackInfo","stackResultDimension","stackedDimension","stackedByDimension","isStackedByIndex","calculateStack","targetStackInfo","idxInStack","resultNaN","targetData","byValue","stackedDataRawIndex","stackedOver","Radio","_radio","toCookieUnitTime","nowdate","toCookieUTCString","keyIndex","inserts","hasCookieItem","cookieKeys","getCookieItem","setCookieItem","removeCookieItem","isKey","Checkbox","_checkbox","legendFilter","SILENT","makeEventPacket","eveType","stopEvent","EmptyProxy","handlerNames","_hovered","_gestureMgr","setHandlerProxy","isOutsideBoundary","handlerInstance","isOutside","lastHovered","lastHoveredTarget","hoveredTarget","eventControl","eventArgs","eventPacket","eachOtherLayer","hoverCheckResult","gestureMgr","_downEl","_downPoint","_upEl","magicTypeLang","INNER_STACK_KEYWORD","MagicType","getIcons","availableIcons","icons","seriesOptGenreator","isStack","radioTypes","newTitle","generateNewSeriesTypes","newSeriesOpt","radio","currentType","doCreateNode","urn","win","vmlInited","zrvml","initVML","styleSheets","createStyleSheet","addRule","PIXEL_STEP","LINE_HEIGHT","PAGE_HEIGHT","normalizeWheel","sX","sY","pX","pY","wheelDeltaY","wheelDeltaX","HORIZONTAL_AXIS","deltaMode","spinX","getEventType","AxisPointerView","_updatePathDirty","vec2Min","vec2Max","v2Copy","isPointNull","drawSegment","segLen","allLen","smoothMin","smoothMax","drawMono","drawNonMono","prevIdx","prevP","ctrlLen","nextP","ratioNextSeg","lenPrevSeg","lenNextSeg","getBoundingBox","ptMin","ptMax","stackedOnBBox","LinkedList","linkedListProto","Entry","insertEntry","_list","_maxSize","_lastRemovedEntry","LRUProto","leastUsedEntry","itemIndex","PictorialBarSeries","sunburstLayout","wheelName","unescapeMap","previousZoom","fixX","fixY","cubic","quadratic","swapExtrema","windingCubic","nRoots","y0_","y1_","nExtrema","windingQuadratic","y_","windingArc","containPath","isStroke","Modal","_modal","AlertController","AllActivedModal","closeAll","$XMsg","$XModal","_axesLayout","restrict","layoutAxisWithoutExpand","layoutLength","axisCount","axisNameAvailableWidth","axisLabelShow","layoutAxisWithExpand","nameTruncateMaxWidth","axisCollapseWidth","winInnerIndices","axisExpandWindow0Pos","axisExpandWindow","_updateAxesFromSeries","_makeLayoutInfo","axisBase","layoutBase","pixelDimIndex","pAxis","pLayout","_layoutAxes","winSize","layoutExtent","positionTable","rotationTable","axisCoordToPoint","dataDimensions","hasActiveSet","lenj","getActiveState","getSlidedAxisExpandWindow","pointCoord","triggerArea","useJump","PolarAxisModel","polarId","polarAxisDefaultExtendedOption","treemapVisual","treemapLayout","listComponentHelper","toolboxModel","featureOpts","_features","featureNames","_featureNames","processFeature","titleText","__title","needPutOnTop","topOffset","oldName","isUserFeatureName","createIconPaths","iconName","iconPaths","iconStyleModel","iconStyleEmphasisModel","defaultTextPosition","parseInt10","checkParentAvailable","insertAfter","prevSibling","SVGPainter","_opts","svgDom","bgRoot","gradientManager","clipPathManager","shadowManager","viewport","_svgDom","_backgroundRoot","_viewport","_visibleList","createMethodNotSupport","_paintList","_backgroundNode","bgNode","visibleList","listLen","newVisibleList","prevSvgElement","textSvgElement","_getDefs","_getSize","_width","_height","viewportStyle","whIdx","cwh","plt","prb","createPattern","moveAnimation","propsEqual","lastProp","lastProps","newProps","updateLabelShowHide","labelEl","getHandleTransProps","updateMandatoryProps","_group","_lastGraphicKey","_handle","_lastValue","_lastStatus","_payloadInfo","_axisModel","_axisPointerModel","_moveAnimation","determineAnimation","doUpdateProps","updatePointerEl","updateLabelEl","createPointerEl","createLabelEl","useSnap","pointerEl","handleModel","onmousedown","_onHandleDragMove","_onHandleDragEnd","includeStyles","_moveHandleToValue","_doDispatchAxisPointer","payloadInfo","doClear","buildLabel","xDimIndex","BoxplotView","constDim","updateNormalBoxData","BoxPath","TimelineModel","SliderTimelineModel","checkpointStyle","playIcon","stopIcon","nextIcon","prevIcon","idStart","colorQuery","opacityQuery","modeList","showSheet","showEvent","allColumnEvent","checkStatus","printEvent","getExportOption","restoreLang","Restore","normalizeArray","allowAboveRoot","up","basename","matchedSlash","xs","resolvedAbsolute","isAbsolute","trailingSlash","fromParts","toParts","samePartsLength","outputParts","dirname","hasRoot","extname","startDot","startPart","preDotState","prepareCartesian2d","prepareGeo","prepareSingleAxis","preparePolar","prepareCalendar","ITEM_STYLE_NORMAL_PATH","ITEM_STYLE_EMPHASIS_PATH","LABEL_NORMAL","LABEL_EMPHASIS","GROUP_DIFF_PREFIX","getPathData","__customPathData","__customImagePath","__customText","__customGraphicType","updateEl","prepareStyleTransition","targetOpacity","styleEmphasis","oldElStyle","makeRenderItem","customSeries","prepareResult","currDataIndexInside","currItemModel","currLabelNormalModel","currLabelEmphasisModel","currVisualColor","userAPI","barLayout","currentSeriesIndices","userParams","dataInsideLength","wrapEncodeDef","currDirty","applyExtraBefore","applyExtraAfter","doCreateOrUpdate","simplyRemove","elOptionType","elOptionShape","hasOwnPathData","mergeChildren","$mergeChildren","byName","diffChildrenByName","diffGroupChildren","processAddUpdate","processRemove","childOption","dummyModel","stylePropName","useTransform","setIncrementalAndHoverLayer","elementName","makeCategoryLabels","makeRealNumberLabels","makeCategoryTicks","makeCategoryLabelsActually","labelCategoryInterval","numericLabelInterval","labelsCache","getListCache","optionLabelInterval","listCacheGet","makeLabelsByCustomizedCategoryInterval","makeAutoCategoryInterval","makeLabelsByNumericCategoryInterval","listCacheSet","tickCategoryInterval","ticksCache","optionTickInterval","labelsResult","autoInterval","fetchAutoCategoryIntervalCalculationParams","axisRotate","unitW","maxW","axisExtend0","axisExtend1","categoryInterval","onlyTick","startTick","showAllLabel","includeMinLabel","includeMaxLabel","addItem","tVal","arrayEquals","autoprefixer","coerceTruthyValueToArray","arrayFindIndex","rafThrottle","objToArray","_types","tempObj","pred","prefixes","arrayA","arrayB","locked","DUMMY_COMPONENT_NAME_PREFIX","subOpts","subOptName","newCptOptions","cptOption","idMap","existCpt","idNum","batchA","batchB","mapA","mapB","mapToArray","sourceBatch","otherMap","otherDataIndices","isData","innerUniqueIndex","hostObj","queryType","queryParam","_setting","_isBlank","childCount","_doAdd","addBefore","includeChildren","tmpMat","extremity","_baseAxisDim","addOrdinal","baseAxisDimIndex","baseAxisType","otherAxisType","newOptionData","newItem","getNearestColorPalette","paletteNum","colorIdx","colorNameMap","scopeFields","defaultColorPalette","layeredColorPalette","colorPalette","relativeURL","doneCallback","elExistsMap","fixPosition","textWidthCache","textWidthCacheCounter","TEXT_CACHE_MAX","STYLE_REG","getRichTextRect","getPlainTextRect","halfHeight","adjustTextPositionOnRect","dummyStyle","prepareTruncateOptions","truncateSingleLine","maxIterations","cnCharWidth","ascCharWidth","ellipsisWidth","subLength","estimateLength","charCode","getLineHeight","truncOuterHeight","truncOuterWidth","matchedIndex","pushTokens","stlPadding","truncateWidth","truncateHeight","tokenHeight","tokenWidth","tokenWidthNotSpecified","percentWidth","bgImg","paddingW","remianTruncWidth","isEmptyStr","strs","tokensLen","renderPlanner","Chart","renderTaskPlan","renderTaskReset","toggleHighlight","chartProto","elSetState","progressMethodMap","forceFirstProgress","VMLPainter","vmlViewport","_vmlRoot","_vmlViewport","_firstPaint","__alreadyNotVisible","_getWidth","_getHeight","vmlViewportStyle","paddingTop","paddingBottom","replacableOptionKeys","dataBound","contentColor","getTargetSeriesIndices","optionSeriesIndex","isMinMax","optDim","listDimensions","isCalculationCoord","completeSingle","defa","completeInactive","stateExist","stateAbsent","optExist","optAbsent","completeController","symbolExists","symbolSizeExists","modelHelper","illegalPoint","isIllegalPoint","inputAxesInfo","shouldHide","outputFinder","showValueMap","updaters","showPointer","coordSysContainsPoint","inputAxisInfo","findInputAxisInfo","processOnAxis","linkTriggers","tarAxisInfo","tarKey","srcAxisInfo","srcKey","srcValItem","makeMapperParam","updateModelActually","dispatchTooltipActually","dispatchHighDownActually","newValue","dontSnap","buildPayloadsBySeries","payloadBatch","snapToValue","seriesNestestValue","coordSysItem","coordSysId","coordSysIndex","coordSysMainType","outputAxesInfo","valItem","highDownKey","lastHighlights","newHighlights","toHighlight","toDownplay","monthOffset","setScrollDataIndex","rawGeoJson","rawSpecialAreas","parsers","_closeMenu","operKey","operRest","menuList","selectIndex","columnTargetNode","typePrefix","openContextMenu","visibleMethod","ctxElem","ctxMenuMethod","_loading","_menu","_button","_validator","_zhCN","groupSeriesByAxis","groupItem","calculateBase","layoutSingleSeries","boxOffsetList","boxWidthList","axisList","boundList","maxDataCount","boxWidthBound","availableWidth","boxGap","halfWidth","median","end1","end2","end4","end5","layEndLine","endCenter","HOVER_LAYER_ZLEVEL","CANVAS_ZLEVEL","EL_AFTER_INCREMENTAL_INC","INCREMENTAL_INC","isLayerValid","__builtin__","isDisplayableCulled","isClipPathChanged","prevClipPaths","doClip","createRoot","domRoot","singleCanvas","_singleCanvas","rootStyle","zlevelList","_zlevelList","layers","_layerConfig","_needsManuallyCompositing","mainLayer","_domRoot","_hoverlayer","_hoverElements","isSingleCanvas","paintAll","_redrawId","_backgroundColor","__hoverMir","hoverElements","hoverLayer","originalEl","_doPaintEl","getHoverLayer","redrawId","_updateLayerStatus","finished","_doPaintList","_compositeManually","eachBuiltinLayer","layerList","zi","useTimer","firstEl","dTime","prevElClipPaths","currentLayer","forcePaint","insertLayer","layersMap","prevLayer","prevDom","eachLayer","getLayers","updatePrevLayer","prevZlevel","incrementalLayerCount","layerConfig","_zlevel","delLayer","_progressiveLayers","clearLayer","imageLayer","renderToCanvas","shadowBlurSize","leftMargin","rightMargin","topMargin","bottomMargin","pathTransform","ImageShape","imgShape","kebabCacheMaps","prevLower","nextLower","upperCaseFirst","group1","replaceReg","replaceMap","'","TPL_VAR_ALIAS","wrapVar","varName","seriesIdx","paramsList","seriesLen","formatTplSimple","pad","isUTC","utc","getTextBoundingRect","blank","opener","searchTreeItem","parentAllow","isAllow","hasOriginal","sourceData","mapChildren","autoPlay","rewind","playInterval","_names","_initData","dataArr","idxArr","positionMap","directionMap","stackedByDimInfo","stackedDimInfo","byIndex","stackedCoordDimension","mayStack","stackedDimCoordDim","stackedDimType","stackedDimCoordIndex","stackedDim","targetDim","RE_NARGS","MONTH_TEXT","EN","CN","WEEK_TEXT","_tlpoints","_blpoints","_firstDayOfMonth","_firstDayPoints","rangeData","_renderDayRect","_renderLines","_renderYearText","_renderMonthText","_renderWeekText","itemRectStyleModel","addPoints","_getLinePointsOfOneWeek","_drawSplitline","_getEdgesPoints","rs","poyline","tmpD","_formatterLabel","_yearTextPositionControl","aligns","xc","yc","posPoints","yearText","_monthTextPositionControl","isCenter","termPoints","firstDayPoints","monthText","_weekTextPositionControl","isStart","firstDayOfWeek","weekText","mathAtan2","ORDER_PROP_ASC","ORDER_PROP_DESC","handleSort","localeCompare","buildMultiOrders","confs","compares","item1","item2","getSortConfs","fieldConfs","sortConfs","resizeGeo","leftTop","rightBottom","boxLayoutOption","useCenterAndSize","setGeoCoords","geoList","mapModelGroupBySeries","nameMapList","singleMapSeries","originRegionArr","regionsArr","pp","initialFriction","v12","nLen","repFact","handleSpan","originalDistSign","getSpanSign","extentMinSpan","realExtent","currDistSign","dataSample","treeLayout","restKeys","diffData","diffResult","idx1","oldStackedOnPoints","newStackedOnPoints","oldCoordSys","newCoordSys","oldValueOrigin","newValueOrigin","currPoints","nextPoints","currStackedPoints","nextStackedPoints","sortedIndices","rawIndices","newDataOldCoordInfo","oldDataNewCoordInfo","diffItem","pointAdded","currentPt","nextPt","sortedCurrPoints","sortedNextPoints","sortedCurrStackedPoints","sortedNextStackedPoints","sortedStatus","stackedOnCurrent","stackedOnNext","SingleAxisPointer","getPointDimIndex","ScrollableLegendModel","pageButtonItemGap","pageIcons","pageIconColor","pageIconInactiveColor","pageTextStyle","_bbox","lineAnimationDiff","isPointsSame","points2","getBoundingDiff","min1","max1","getSmooth","getStackedOnPoints","turnPointsIntoStep","stepTurnAt","stepPoints","stepPt","stepPt2","getVisualGradient","stopLen","tinyExtent","minCoord","maxCoord","coordSpan","getIsIgnoreFunc","isAuto","canShowAllSymbolForCategory","categoryDataDim","availSize","createLineClipPath","_lineGroup","isCoordSysPolar","prevCoordSys","_coordSys","_polyline","_polygon","isAreaChart","isIgnoreFunc","__temp","clipShapeForSymbol","_clipShapeForSymbol","_step","_newPolygon","isIgnore","_stackedOnPoints","_updateAnimation","_newPolyline","stackedOnSeries","_valueOrigin","__points","updatedDataInfo","diffStatus","ptIdx","contrastColor","axisCommon","CartesianAxisView","loopGeo","newRegion","mapTreeItem","parallelPreprocessor","CLICK_THRESHOLD","_handlers","_throttledDispatchExpand","_dispatchExpand","checkTrigger","_mouseDownPoint","mouseDownPoint","DEFAULT_OUT_OF_BRUSH_COLOR","BrushModel","brushMode","transformable","inBrush","outOfBrush","generateBrushOption","Export","_exportPanel","_importPanel","Task","_reset","_plan","_onDirty","_dirty","taskProto","planResult","upTask","_upstream","lastModBy","normalizeModBy","_modBy","lastModDataCount","_modDataCount","_dueEnd","_outputDueEnd","_progress","_dueIndex","doProgress","outputDueEnd","_settedOutputEnd","winCount","sStep","sCount","modNext","sequentialNext","taskIns","_callingProgress","downstream","_downstream","downTask","normalizeRect","localPoints","specifiedXYIndex","brushWidth","targetModel","localCursorPoint","whatDayTime","currentDay","customDay","$pad","WEBKIT_BUG","supportWeakMap","forbiddenField","TEXT_PADDING","ITEM_GAP","ARRAY_LENGTH","makeItemPoints","packEventData","itemNode","selfType","normalStyleModel","layoutParam","totalWidth","_prepare","_renderContent","lastX","availableSize","getAvailableSize","supportMap","eject","dataStatistics","statisticType","mapKey","seriesGroups","hostGeoModel","seriesList","symbolCtor","_symbolCtor","symbolDrawProto","normalizeUpdateOpt","SymbolCtor","enableAnimation","DEFAULTS","boundariesElement","preventOverflowOrder","flipBehavior","arrowElement","modifiersIgnored","forceAbsolute","Popper","_reference","jquery","isNotDefined","isConfig","_getPosition","_setupEventListeners","getOuterSizes","_display","_visibility","getOppositePlacement","getPopperClientRect","popperOffsets","getArrayKeyIndex","keyToFind","getStyleComputedProperty","getOffsetParent","getScrollParent","isFixed","is_numeric","getOffsetRect","elementRect","rectTop","getOffsetRectRelativeToCustomParent","parentRect","scrollParent","getSupportedPropertyName","toCheck","_removeEventListeners","removeOnDestroy","_originalPlacement","_getOffsets","boundaries","_getBoundaries","runModifiers","updateCallback","contentType","arrowTagName","arrowClassNames","arrowAttributes","addClassNames","addAttributes","isParentFixed","referenceOffsets","popperRect","updateBound","scrollTarget","offsetParentRect","getScrollTopValue","getScrollLeftValue","modifiersToRun","isModifierRequired","requesting","requested","applyStyle","prefixedProperty","basePlacement","shiftVariation","shiftOffsets","preventOverflow","keepTogether","flip","flipped","placementOpposite","variation","flipOrder","_flip","isVertical","altSide","opSide","arrowSize","sideValue","nextSource","keysArray","nextKey","PieSeries","_createSelectableList","minShowLabelAngle","hoverOffset","avoidLabelOverlap","alignTo","distanceToLabelLine","compName","isInput","HV_NAMES","boxLayout","currentLineMaxSize","nextX","nextY","nextChild","nextChildRect","vbox","hbox","verticalMargin","horizontalMargin","elPos","targetOption","hResult","vResult","newParams","newValueCount","mergedValueCount","enoughParamNumber","hasProp","boxplotVisual","boxplotLayout","matrixUtil","dumbGroup","_transform","_dumbGroup","hasBuilder","builders","pt1","pt2","arrows","symbolWidth","symbolHeight","axisTickLabel","ticksEls","buildAxisMajorTicks","labelEls","buildAxisLabel","fixMinMaxLabelShow","buildAxisMinorTicks","gapSignal","isNameLocationCenter","nameRotation","endTextLayout","truncateOpt","truncatedText","__fullText","__truncatedText","axisRotation","rotationDiff","textRotate","onLeft","tickEls","firstLabel","nextLabel","lastLabel","prevLabel","firstTick","lastTick","ignoreEl","isTwoLabelOverlapped","firstRect","nextRect","mRotationBack","createTicks","tickTransform","tickEndCoord","aniid","tickEl","minorTickLineStyle","minorTicksEls","itemLabelModel","compatStyle","compatLayoutProperties","LAYOUT_PROPERTIES","COMPATITABLE_COMPONENTS","clipOverflow","clockWise","pointerColor","dataRange","Button","COVER_Z","UNSELECT_THRESHOLD","MIN_RESIZE_LINE_WIDTH","MUTEX_RESOURCE_KEY","DIRECTION_MAP","CURSOR_MAP","nw","DEFAULT_BRUSH_OPT","baseUID","_brushType","_brushOption","_panels","_covers","_creatingCover","_creatingPanel","_enableGlobalPan","pointerHandlers","doEnableBrush","mountHandlers","doDisableBrush","unmountHandlers","createCover","cover","coverRenderers","__brushOption","endCreating","creatingCover","coverRenderer","getCoverRenderer","updateCoverShape","updateCoverAfterCreation","getPanelByPoint","panel","panels","pn","getPanelByCover","clearCovers","covers","originalLength","shouldShowCover","getTrackEnds","createBaseRectCover","doDrift","edgeNames","makeStyle","updateBaseRect","localRange","xa","ya","x2a","y2a","widtha","heighta","updateRectShape","mainEl","globalDir","getGlobalDirection","pointsToRect","clipByPanel","formatRectRange","localDirection","inverseMap","driftRect","toRectRange","fromRectRange","rectRange","localDelta","toLocalDelta","namePart","driftPolygon","localD","localZero","xmin","ymin","xmax","ymax","resetCursor","isOutsideZrArea","currPanel","rawE","mainShapeContain","updateCoverByMouse","eventParams","thisBrushOption","determineBrushType","coverBrushOption","getCreatingRange","panelOpts","eachCover","brushOptionList","tmpIdPrefix","oldCovers","newCovers","oldGetKey","addOrUpdate","newBrushOption","handleDragEnd","getLineRenderer","localTrack","objectAssignFns","handleAssign","isClone","_zhCN2","_deepmerge","_deepmerge2","_format2","i18nHandler","vuei18n","_radiusAxis","_angleAxis","maxAngle","colorAccessPath","colorCallback","borderColorAccessPath","samplers","indexSampler","sampler","PATH_COLOR","BoxplotSeries","brushLang","Brush","_brushMode","isBrushed","command","styleModel","confineInContainer","bgColor","axisDimension"],"mappings":"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CV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,SACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,UACV,OAAU,aACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,MAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,KAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,OACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,KACV,OAAU,KACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,MAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,KAAU,SACV,OAAU,QACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,QACV,OAAU,OACV,OAAU,QACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,SACV,OAAU,MACV,OAAU,QACV,OAAU,MACV,OAAU,YACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,SACV,OAAU,OACV,OAAU,OACV,OAAU,MACV,OAAU,QACV,OAAU,OACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,UACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,QACV,OAAU,MACV,OAAU,QACV,OAAU,MACV,OAAU,OACV,OAAU,OACV,OAAU,QACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,QACV,OAAU,MACV,OAAU,QACV,OAAU,OACV,OAAU,QACV,OAAU,MACV,OAAU,cACV,OAAU,SACV,OAAU,UACV,OAAU,QACV,OAAU,SACV,OAAU,SACV,OAAU,OACV,OAAU,OACV,OAAU,OACV,OAAU,QACV,OAAU,MACV,OAAU,MACV,OAAU,QACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,QACV,OAAU,QACV,OAAU,QACV,OAAU,OACV,OAAU,MACV,OAAU,QACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,QACV,OAAU,OACV,OAAU,UACV,OAAU,UACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,QACV,OAAU,QACV,OAAU,QACV,OAAU,OACV,OAAU,QACV,OAAU,QACV,OAAU,SACV,OAAU,SACV,OAAU,OACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,QACV,OAAU,QACV,OAAU,OACV,OAAU,MACV,KAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,OACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,WACV,OAAU,MACV,OAAU,MACV,MAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,cACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,KAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,WACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,cACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,WACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,KAAU,OACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,QACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,QACV,OAAU,OACV,OAAU,WACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,aACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,OACV,OAAU,OACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,MAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,QACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,SACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,QACV,OAAU,MACV,KAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,KAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,MAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,KAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,MAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,KAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,OACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,OACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,MAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,KAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,KAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,MAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,KAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,MAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,KAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,QACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,QACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,QACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,MAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,KAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,WACV,OAAU,WACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,MAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,aACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,QACV,KAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,MAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,YACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,aACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,KAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,OACV,OAAU,OACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,YACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,MAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,KAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,MAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,QACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,WACV,OAAU,WACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,KAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,OACV,OAAU,cACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,UACV,OAAU,YACV,OAAU,YACV,OAAU,MACV,IAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,OACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,WACV,OAAU,aACV,OAAU,aACV,OAAU,aACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,KAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,KACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,MAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,UACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,MAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,YACV,OAAU,MACV,OAAU,KACV,OAAU,KACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,MACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,KAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,aACV,OAAU,aACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,aACV,OAAU,aACV,OAAU,aACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,aACV,OAAU,MACV,OAAU,WACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,cACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,cACV,OAAU,MACV,OAAU,MACV,OAAU,aACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,aACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,MACV,KAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,MACV,OAAU,YACV,OAAU,YACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,YACV,OAAU,eACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,WACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,aACV,OAAU,WACV,OAAU,UACV,OAAU,YACV,OAAU,gBACV,OAAU,aACV,OAAU,eACV,OAAU,WACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,kBACV,OAAU,YACV,OAAU,UACV,OAAU,MACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,aACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,cACV,OAAU,MACV,OAAU,UACV,OAAU,MACV,OAAU,YACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,YACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,MACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,YACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,aACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,WACV,OAAU,MACV,OAAU,MACV,OAAU,aACV,OAAU,aACV,OAAU,MACV,OAAU,UACV,OAAU,QACV,OAAU,MACV,OAAU,WACV,OAAU,MACV,KAAU,QACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,QACV,OAAU,MACV,OAAU,QACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,QACV,OAAU,OACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,QACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,KAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,MAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,KAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,WACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,WACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,WACV,OAAU,aACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,MAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,KACV,OAAU,MACV,OAAU,KACV,OAAU,MACV,OAAU,KACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,SACV,OAAU,kBACV,OAAU,MACV,MAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,KAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,YACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,YACV,OAAU,MACV,OAAU,UACV,OAAU,UACV,OAAU,WACV,OAAU,MACV,OAAU,UACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,WACV,OAAU,MACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,aACV,OAAU,OACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,KAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,KAAU,WACV,OAAU,QACV,OAAU,MACV,OAAU,QACV,OAAU,MACV,OAAU,OACV,OAAU,OACV,OAAU,OACV,OAAU,MACV,OAAU,QACV,OAAU,MACV,OAAU,QACV,OAAU,OACV,OAAU,QACV,OAAU,OACV,OAAU,OACV,OAAU,MACV,OAAU,QACV,OAAU,OACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,YACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,OACV,OAAU,MACV,OAAU,QACV,OAAU,WACV,OAAU,MACV,OAAU,YACV,OAAU,MACV,OAAU,QACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,YACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,UACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,QACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,MAAU,cACV,OAAU,OACV,OAAU,OACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,cACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,MAAU,WACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,YACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,OACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,aACV,OAAU,MACV,OAAU,QACV,OAAU,OACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,OACV,OAAU,OACV,OAAU,QACV,OAAU,OACV,KAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,KACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,KACV,OAAU,KACV,OAAU,KACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,KACV,OAAU,KACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,OACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU,MACV,OAAU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","file":"static/js/chunk-libs.49bca7ef.js","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\nvar _util = require(\"zrender/lib/core/util\");\n\nvar each = _util.each;\nvar createHashMap = _util.createHashMap;\n\nvar SeriesModel = require(\"../../model/Series\");\n\nvar createListFromArray = require(\"../helper/createListFromArray\");\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*/\nvar _default = SeriesModel.extend({\n type: 'series.parallel',\n dependencies: ['parallel'],\n visualColorAccessPath: 'lineStyle.color',\n getInitialData: function (option, ecModel) {\n var source = this.getSource();\n setEncodeAndDimensions(source, this);\n return createListFromArray(source, this);\n },\n\n /**\n * User can get data raw indices on 'axisAreaSelected' event received.\n *\n * @public\n * @param {string} activeState 'active' or 'inactive' or 'normal'\n * @return {Array.} Raw indices\n */\n getRawIndicesByActiveState: function (activeState) {\n var coordSys = this.coordinateSystem;\n var data = this.getData();\n var indices = [];\n coordSys.eachActiveState(data, function (theActiveState, dataIndex) {\n if (activeState === theActiveState) {\n indices.push(data.getRawIndex(dataIndex));\n }\n });\n return indices;\n },\n defaultOption: {\n zlevel: 0,\n // 一级层叠\n z: 2,\n // 二级层叠\n coordinateSystem: 'parallel',\n parallelIndex: 0,\n label: {\n show: false\n },\n inactiveOpacity: 0.05,\n activeOpacity: 1,\n lineStyle: {\n width: 1,\n opacity: 0.45,\n type: 'solid'\n },\n emphasis: {\n label: {\n show: false\n }\n },\n progressive: 500,\n smooth: false,\n // true | false | number\n animationEasing: 'linear'\n }\n});\n\nfunction setEncodeAndDimensions(source, seriesModel) {\n // The mapping of parallelAxis dimension to data dimension can\n // be specified in parallelAxis.option.dim. For example, if\n // parallelAxis.option.dim is 'dim3', it mapping to the third\n // dimension of data. But `data.encode` has higher priority.\n // Moreover, parallelModel.dimension should not be regarded as data\n // dimensions. Consider dimensions = ['dim4', 'dim2', 'dim6'];\n if (source.encodeDefine) {\n return;\n }\n\n var parallelModel = seriesModel.ecModel.getComponent('parallel', seriesModel.get('parallelIndex'));\n\n if (!parallelModel) {\n return;\n }\n\n var encodeDefine = source.encodeDefine = createHashMap();\n each(parallelModel.dimensions, function (axisDim) {\n var dataDimIndex = convertDimNameToNumber(axisDim);\n encodeDefine.set(axisDim, dataDimIndex);\n });\n}\n\nfunction convertDimNameToNumber(dimName) {\n return +dimName.replace('dim', '');\n}\n\nmodule.exports = _default;","\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\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar VisualMapView = require(\"./VisualMapView\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar _symbol = require(\"../../util/symbol\");\n\nvar createSymbol = _symbol.createSymbol;\n\nvar layout = require(\"../../util/layout\");\n\nvar helper = require(\"./helper\");\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*/\nvar PiecewiseVisualMapView = VisualMapView.extend({\n type: 'visualMap.piecewise',\n\n /**\n * @protected\n * @override\n */\n doRender: function () {\n var thisGroup = this.group;\n thisGroup.removeAll();\n var visualMapModel = this.visualMapModel;\n var textGap = visualMapModel.get('textGap');\n var textStyleModel = visualMapModel.textStyleModel;\n var textFont = textStyleModel.getFont();\n var textFill = textStyleModel.getTextColor();\n\n var itemAlign = this._getItemAlign();\n\n var itemSize = visualMapModel.itemSize;\n\n var viewData = this._getViewData();\n\n var endsText = viewData.endsText;\n var showLabel = zrUtil.retrieve(visualMapModel.get('showLabel', true), !endsText);\n endsText && this._renderEndsText(thisGroup, endsText[0], itemSize, showLabel, itemAlign);\n zrUtil.each(viewData.viewPieceList, renderItem, this);\n endsText && this._renderEndsText(thisGroup, endsText[1], itemSize, showLabel, itemAlign);\n layout.box(visualMapModel.get('orient'), thisGroup, visualMapModel.get('itemGap'));\n this.renderBackground(thisGroup);\n this.positionGroup(thisGroup);\n\n function renderItem(item) {\n var piece = item.piece;\n var itemGroup = new graphic.Group();\n itemGroup.onclick = zrUtil.bind(this._onItemClick, this, piece);\n\n this._enableHoverLink(itemGroup, item.indexInModelPieceList);\n\n var representValue = visualMapModel.getRepresentValue(piece);\n\n this._createItemSymbol(itemGroup, representValue, [0, 0, itemSize[0], itemSize[1]]);\n\n if (showLabel) {\n var visualState = this.visualMapModel.getValueState(representValue);\n itemGroup.add(new graphic.Text({\n style: {\n x: itemAlign === 'right' ? -textGap : itemSize[0] + textGap,\n y: itemSize[1] / 2,\n text: piece.text,\n textVerticalAlign: 'middle',\n textAlign: itemAlign,\n textFont: textFont,\n textFill: textFill,\n opacity: visualState === 'outOfRange' ? 0.5 : 1\n }\n }));\n }\n\n thisGroup.add(itemGroup);\n }\n },\n\n /**\n * @private\n */\n _enableHoverLink: function (itemGroup, pieceIndex) {\n itemGroup.on('mouseover', zrUtil.bind(onHoverLink, this, 'highlight')).on('mouseout', zrUtil.bind(onHoverLink, this, 'downplay'));\n\n function onHoverLink(method) {\n var visualMapModel = this.visualMapModel;\n visualMapModel.option.hoverLink && this.api.dispatchAction({\n type: method,\n batch: helper.makeHighDownBatch(visualMapModel.findTargetDataIndices(pieceIndex), visualMapModel)\n });\n }\n },\n\n /**\n * @private\n */\n _getItemAlign: function () {\n var visualMapModel = this.visualMapModel;\n var modelOption = visualMapModel.option;\n\n if (modelOption.orient === 'vertical') {\n return helper.getItemAlign(visualMapModel, this.api, visualMapModel.itemSize);\n } else {\n // horizontal, most case left unless specifying right.\n var align = modelOption.align;\n\n if (!align || align === 'auto') {\n align = 'left';\n }\n\n return align;\n }\n },\n\n /**\n * @private\n */\n _renderEndsText: function (group, text, itemSize, showLabel, itemAlign) {\n if (!text) {\n return;\n }\n\n var itemGroup = new graphic.Group();\n var textStyleModel = this.visualMapModel.textStyleModel;\n itemGroup.add(new graphic.Text({\n style: {\n x: showLabel ? itemAlign === 'right' ? itemSize[0] : 0 : itemSize[0] / 2,\n y: itemSize[1] / 2,\n textVerticalAlign: 'middle',\n textAlign: showLabel ? itemAlign : 'center',\n text: text,\n textFont: textStyleModel.getFont(),\n textFill: textStyleModel.getTextColor()\n }\n }));\n group.add(itemGroup);\n },\n\n /**\n * @private\n * @return {Object} {peiceList, endsText} The order is the same as screen pixel order.\n */\n _getViewData: function () {\n var visualMapModel = this.visualMapModel;\n var viewPieceList = zrUtil.map(visualMapModel.getPieceList(), function (piece, index) {\n return {\n piece: piece,\n indexInModelPieceList: index\n };\n });\n var endsText = visualMapModel.get('text'); // Consider orient and inverse.\n\n var orient = visualMapModel.get('orient');\n var inverse = visualMapModel.get('inverse'); // Order of model pieceList is always [low, ..., high]\n\n if (orient === 'horizontal' ? inverse : !inverse) {\n viewPieceList.reverse();\n } // Origin order of endsText is [high, low]\n else if (endsText) {\n endsText = endsText.slice().reverse();\n }\n\n return {\n viewPieceList: viewPieceList,\n endsText: endsText\n };\n },\n\n /**\n * @private\n */\n _createItemSymbol: function (group, representValue, shapeParam) {\n group.add(createSymbol(this.getControllerVisual(representValue, 'symbol'), shapeParam[0], shapeParam[1], shapeParam[2], shapeParam[3], this.getControllerVisual(representValue, 'color')));\n },\n\n /**\n * @private\n */\n _onItemClick: function (piece) {\n var visualMapModel = this.visualMapModel;\n var option = visualMapModel.option;\n var selected = zrUtil.clone(option.selected);\n var newKey = visualMapModel.getSelectedMapKey(piece);\n\n if (option.selectedMode === 'single') {\n selected[newKey] = true;\n zrUtil.each(selected, function (o, key) {\n selected[key] = key === newKey;\n });\n } else {\n selected[newKey] = !selected[newKey];\n }\n\n this.api.dispatchAction({\n type: 'selectDataRange',\n from: this.uid,\n visualMapId: this.visualMapModel.id,\n selected: selected\n });\n }\n});\nvar _default = PiecewiseVisualMapView;\nmodule.exports = _default;","\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\nvar echarts = require(\"../echarts\");\n\nrequire(\"./axisPointer\");\n\nrequire(\"./tooltip/TooltipModel\");\n\nrequire(\"./tooltip/TooltipView\");\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// FIXME Better way to pack data in graphic element\n\n/**\n * @action\n * @property {string} type\n * @property {number} seriesIndex\n * @property {number} dataIndex\n * @property {number} [x]\n * @property {number} [y]\n */\necharts.registerAction({\n type: 'showTip',\n event: 'showTip',\n update: 'tooltip:manuallyShowTip'\n}, // noop\nfunction () {});\necharts.registerAction({\n type: 'hideTip',\n event: 'hideTip',\n update: 'tooltip:manuallyHideTip'\n}, // noop\nfunction () {});","\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\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar createListSimply = require(\"../helper/createListSimply\");\n\nvar _model = require(\"../../util/model\");\n\nvar defaultEmphasis = _model.defaultEmphasis;\n\nvar _sourceHelper = require(\"../../data/helper/sourceHelper\");\n\nvar makeSeriesEncodeForNameBased = _sourceHelper.makeSeriesEncodeForNameBased;\n\nvar LegendVisualProvider = require(\"../../visual/LegendVisualProvider\");\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*/\nvar FunnelSeries = echarts.extendSeriesModel({\n type: 'series.funnel',\n init: function (option) {\n FunnelSeries.superApply(this, 'init', arguments); // Enable legend selection for each data item\n // Use a function instead of direct access because data reference may changed\n\n this.legendVisualProvider = new LegendVisualProvider(zrUtil.bind(this.getData, this), zrUtil.bind(this.getRawData, this)); // Extend labelLine emphasis\n\n this._defaultLabelLine(option);\n },\n getInitialData: function (option, ecModel) {\n return createListSimply(this, {\n coordDimensions: ['value'],\n encodeDefaulter: zrUtil.curry(makeSeriesEncodeForNameBased, this)\n });\n },\n _defaultLabelLine: function (option) {\n // Extend labelLine emphasis\n defaultEmphasis(option, 'labelLine', ['show']);\n var labelLineNormalOpt = option.labelLine;\n var labelLineEmphasisOpt = option.emphasis.labelLine; // Not show label line if `label.normal.show = false`\n\n labelLineNormalOpt.show = labelLineNormalOpt.show && option.label.show;\n labelLineEmphasisOpt.show = labelLineEmphasisOpt.show && option.emphasis.label.show;\n },\n // Overwrite\n getDataParams: function (dataIndex) {\n var data = this.getData();\n var params = FunnelSeries.superCall(this, 'getDataParams', dataIndex);\n var valueDim = data.mapDimension('value');\n var sum = data.getSum(valueDim); // Percent is 0 if sum is 0\n\n params.percent = !sum ? 0 : +(data.get(valueDim, dataIndex) / sum * 100).toFixed(2);\n params.$vars.push('percent');\n return params;\n },\n defaultOption: {\n zlevel: 0,\n // 一级层叠\n z: 2,\n // 二级层叠\n legendHoverLink: true,\n left: 80,\n top: 60,\n right: 80,\n bottom: 60,\n // width: {totalWidth} - left - right,\n // height: {totalHeight} - top - bottom,\n // 默认取数据最小最大值\n // min: 0,\n // max: 100,\n minSize: '0%',\n maxSize: '100%',\n sort: 'descending',\n // 'ascending', 'descending'\n orient: 'vertical',\n gap: 0,\n funnelAlign: 'center',\n label: {\n show: true,\n position: 'outer' // formatter: 标签文本格式器,同Tooltip.formatter,不支持异步回调\n\n },\n labelLine: {\n show: true,\n length: 20,\n lineStyle: {\n // color: 各异,\n width: 1,\n type: 'solid'\n }\n },\n itemStyle: {\n // color: 各异,\n borderColor: '#fff',\n borderWidth: 1\n },\n emphasis: {\n label: {\n show: true\n }\n }\n }\n});\nvar _default = FunnelSeries;\nmodule.exports = _default;","\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\nvar zrUtil = require(\"zrender/lib/core/util\");\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*/\nfunction dataToCoordSize(dataSize, dataItem) {\n dataItem = dataItem || [0, 0];\n return zrUtil.map([0, 1], function (dimIdx) {\n var val = dataItem[dimIdx];\n var halfSize = dataSize[dimIdx] / 2;\n var p1 = [];\n var p2 = [];\n p1[dimIdx] = val - halfSize;\n p2[dimIdx] = val + halfSize;\n p1[1 - dimIdx] = p2[1 - dimIdx] = dataItem[1 - dimIdx];\n return Math.abs(this.dataToPoint(p1)[dimIdx] - this.dataToPoint(p2)[dimIdx]);\n }, this);\n}\n\nfunction _default(coordSys) {\n var rect = coordSys.getBoundingRect();\n return {\n coordSys: {\n type: 'geo',\n x: rect.x,\n y: rect.y,\n width: rect.width,\n height: rect.height,\n zoom: coordSys.getZoom()\n },\n api: {\n coord: function (data) {\n // do not provide \"out\" and noRoam param,\n // Compatible with this usage:\n // echarts.util.map(item.points, api.coord)\n return coordSys.dataToPoint(data);\n },\n size: zrUtil.bind(dataToCoordSize, coordSys)\n }\n };\n}\n\nmodule.exports = _default;","\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\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar BoundingRect = require(\"zrender/lib/core/BoundingRect\");\n\nvar View = require(\"../View\");\n\nvar geoSourceManager = require(\"./geoSourceManager\");\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 * [Geo description]\n * For backward compatibility, the orginal interface:\n * `name, map, geoJson, specialAreas, nameMap` is kept.\n *\n * @param {string|Object} name\n * @param {string} map Map type\n * Specify the positioned areas by left, top, width, height\n * @param {Object.} [nameMap]\n * Specify name alias\n * @param {boolean} [invertLongitute=true]\n */\nfunction Geo(name, map, nameMap, invertLongitute) {\n View.call(this, name);\n /**\n * Map type\n * @type {string}\n */\n\n this.map = map;\n var source = geoSourceManager.load(map, nameMap);\n this._nameCoordMap = source.nameCoordMap;\n this._regionsMap = source.regionsMap;\n this._invertLongitute = invertLongitute == null ? true : invertLongitute;\n /**\n * @readOnly\n */\n\n this.regions = source.regions;\n /**\n * @type {module:zrender/src/core/BoundingRect}\n */\n\n this._rect = source.boundingRect;\n}\n\nGeo.prototype = {\n constructor: Geo,\n type: 'geo',\n\n /**\n * @param {Array.}\n * @readOnly\n */\n dimensions: ['lng', 'lat'],\n\n /**\n * If contain given lng,lat coord\n * @param {Array.}\n * @readOnly\n */\n containCoord: function (coord) {\n var regions = this.regions;\n\n for (var i = 0; i < regions.length; i++) {\n if (regions[i].contain(coord)) {\n return true;\n }\n }\n\n return false;\n },\n\n /**\n * @override\n */\n transformTo: function (x, y, width, height) {\n var rect = this.getBoundingRect();\n var invertLongitute = this._invertLongitute;\n rect = rect.clone();\n\n if (invertLongitute) {\n // Longitute is inverted\n rect.y = -rect.y - rect.height;\n }\n\n var rawTransformable = this._rawTransformable;\n rawTransformable.transform = rect.calculateTransform(new BoundingRect(x, y, width, height));\n rawTransformable.decomposeTransform();\n\n if (invertLongitute) {\n var scale = rawTransformable.scale;\n scale[1] = -scale[1];\n }\n\n rawTransformable.updateTransform();\n\n this._updateTransform();\n },\n\n /**\n * @param {string} name\n * @return {module:echarts/coord/geo/Region}\n */\n getRegion: function (name) {\n return this._regionsMap.get(name);\n },\n getRegionByCoord: function (coord) {\n var regions = this.regions;\n\n for (var i = 0; i < regions.length; i++) {\n if (regions[i].contain(coord)) {\n return regions[i];\n }\n }\n },\n\n /**\n * Add geoCoord for indexing by name\n * @param {string} name\n * @param {Array.} geoCoord\n */\n addGeoCoord: function (name, geoCoord) {\n this._nameCoordMap.set(name, geoCoord);\n },\n\n /**\n * Get geoCoord by name\n * @param {string} name\n * @return {Array.}\n */\n getGeoCoord: function (name) {\n return this._nameCoordMap.get(name);\n },\n\n /**\n * @override\n */\n getBoundingRect: function () {\n return this._rect;\n },\n\n /**\n * @param {string|Array.} data\n * @param {boolean} noRoam\n * @param {Array.} [out]\n * @return {Array.}\n */\n dataToPoint: function (data, noRoam, out) {\n if (typeof data === 'string') {\n // Map area name to geoCoord\n data = this.getGeoCoord(data);\n }\n\n if (data) {\n return View.prototype.dataToPoint.call(this, data, noRoam, out);\n }\n },\n\n /**\n * @override\n */\n convertToPixel: zrUtil.curry(doConvert, 'dataToPoint'),\n\n /**\n * @override\n */\n convertFromPixel: zrUtil.curry(doConvert, 'pointToData')\n};\nzrUtil.mixin(Geo, View);\n\nfunction doConvert(methodName, ecModel, finder, value) {\n var geoModel = finder.geoModel;\n var seriesModel = finder.seriesModel;\n var coordSys = geoModel ? geoModel.coordinateSystem : seriesModel ? seriesModel.coordinateSystem // For map.\n || (seriesModel.getReferringComponents('geo')[0] || {}).coordinateSystem : null;\n return coordSys === this ? coordSys[methodName](value) : null;\n}\n\nvar _default = Geo;\nmodule.exports = _default;","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toObject = require('./_to-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $GOPS = require('./_object-gops');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n $GOPS.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return $GOPS.f(toObject(it));\n }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\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\nvar zrUtil = require(\"zrender/lib/core/util\");\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 * Can only be called after coordinate system creation stage.\n * (Can be called before coordinate system update stage).\n *\n * @param {Object} opt {labelInside}\n * @return {Object} {\n * position, rotation, labelDirection, labelOffset,\n * tickDirection, labelRotate, z2\n * }\n */\nfunction layout(gridModel, axisModel, opt) {\n opt = opt || {};\n var grid = gridModel.coordinateSystem;\n var axis = axisModel.axis;\n var layout = {};\n var otherAxisOnZeroOf = axis.getAxesOnZeroOf()[0];\n var rawAxisPosition = axis.position;\n var axisPosition = otherAxisOnZeroOf ? 'onZero' : rawAxisPosition;\n var axisDim = axis.dim;\n var rect = grid.getRect();\n var rectBound = [rect.x, rect.x + rect.width, rect.y, rect.y + rect.height];\n var idx = {\n left: 0,\n right: 1,\n top: 0,\n bottom: 1,\n onZero: 2\n };\n var axisOffset = axisModel.get('offset') || 0;\n var posBound = axisDim === 'x' ? [rectBound[2] - axisOffset, rectBound[3] + axisOffset] : [rectBound[0] - axisOffset, rectBound[1] + axisOffset];\n\n if (otherAxisOnZeroOf) {\n var onZeroCoord = otherAxisOnZeroOf.toGlobalCoord(otherAxisOnZeroOf.dataToCoord(0));\n posBound[idx.onZero] = Math.max(Math.min(onZeroCoord, posBound[1]), posBound[0]);\n } // Axis position\n\n\n layout.position = [axisDim === 'y' ? posBound[idx[axisPosition]] : rectBound[0], axisDim === 'x' ? posBound[idx[axisPosition]] : rectBound[3]]; // Axis rotation\n\n layout.rotation = Math.PI / 2 * (axisDim === 'x' ? 0 : 1); // Tick and label direction, x y is axisDim\n\n var dirMap = {\n top: -1,\n bottom: 1,\n left: -1,\n right: 1\n };\n layout.labelDirection = layout.tickDirection = layout.nameDirection = dirMap[rawAxisPosition];\n layout.labelOffset = otherAxisOnZeroOf ? posBound[idx[rawAxisPosition]] - posBound[idx.onZero] : 0;\n\n if (axisModel.get('axisTick.inside')) {\n layout.tickDirection = -layout.tickDirection;\n }\n\n if (zrUtil.retrieve(opt.labelInside, axisModel.get('axisLabel.inside'))) {\n layout.labelDirection = -layout.labelDirection;\n } // Special label rotation\n\n\n var labelRotate = axisModel.get('axisLabel.rotate');\n layout.labelRotate = axisPosition === 'top' ? -labelRotate : labelRotate; // Over splitLine and splitArea\n\n layout.z2 = 1;\n return layout;\n}\n\nexports.layout = layout;","var toValString = require('./toString')\r\n\r\n/**\r\n * 判断字符串是否在源字符串的头部\r\n *\r\n * @param {String} str 字符串\r\n * @param {String/Number} val 值\r\n * @param {Number} startIndex 开始索引\r\n * @return {String}\r\n */\r\nfunction startsWith (str, val, startIndex) {\r\n var rest = toValString(str)\r\n return (arguments.length === 1 ? rest : rest.substring(startIndex)).indexOf(val) === 0\r\n}\r\n\r\nmodule.exports = startsWith\r\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\nvar echarts = require(\"../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../util/graphic\");\n\nrequire(\"../coord/cartesian/Grid\");\n\nrequire(\"./axis\");\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// Grid view\necharts.extendComponentView({\n type: 'grid',\n render: function (gridModel, ecModel) {\n this.group.removeAll();\n\n if (gridModel.get('show')) {\n this.group.add(new graphic.Rect({\n shape: gridModel.coordinateSystem.getRect(),\n style: zrUtil.defaults({\n fill: gridModel.get('backgroundColor')\n }, gridModel.getItemStyle()),\n silent: true,\n z2: -1\n }));\n }\n }\n});\necharts.registerPreprocessor(function (option) {\n // Only create grid when need\n if (option.xAxis && option.yAxis && !option.grid) {\n option.grid = {};\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*/\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 * For geo and graph.\n *\n * @param {Object} controllerHost\n * @param {module:zrender/Element} controllerHost.target\n */\nfunction updateViewOnPan(controllerHost, dx, dy) {\n var target = controllerHost.target;\n var pos = target.position;\n pos[0] += dx;\n pos[1] += dy;\n target.dirty();\n}\n/**\n * For geo and graph.\n *\n * @param {Object} controllerHost\n * @param {module:zrender/Element} controllerHost.target\n * @param {number} controllerHost.zoom\n * @param {number} controllerHost.zoomLimit like: {min: 1, max: 2}\n */\n\n\nfunction updateViewOnZoom(controllerHost, zoomDelta, zoomX, zoomY) {\n var target = controllerHost.target;\n var zoomLimit = controllerHost.zoomLimit;\n var pos = target.position;\n var scale = target.scale;\n var newZoom = controllerHost.zoom = controllerHost.zoom || 1;\n newZoom *= zoomDelta;\n\n if (zoomLimit) {\n var zoomMin = zoomLimit.min || 0;\n var zoomMax = zoomLimit.max || Infinity;\n newZoom = Math.max(Math.min(zoomMax, newZoom), zoomMin);\n }\n\n var zoomScale = newZoom / controllerHost.zoom;\n controllerHost.zoom = newZoom; // Keep the mouse center when scaling\n\n pos[0] -= (zoomX - pos[0]) * (zoomScale - 1);\n pos[1] -= (zoomY - pos[1]) * (zoomScale - 1);\n scale[0] *= zoomScale;\n scale[1] *= zoomScale;\n target.dirty();\n}\n\nexports.updateViewOnPan = updateViewOnPan;\nexports.updateViewOnZoom = updateViewOnZoom;","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.Keyboard = void 0;\n\nvar _table = _interopRequireDefault(require(\"../table\"));\n\nvar _mixin = _interopRequireDefault(require(\"./src/mixin\"));\n\nvar _vXETable = _interopRequireDefault(require(\"../v-x-e-table\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Keyboard = {\n install: function install() {\n _vXETable.default.reg('keyboard');\n\n _table.default.mixins.push(_mixin.default);\n }\n};\nexports.Keyboard = Keyboard;\nvar _default = Keyboard;\nexports.default = _default;","var slice = require('../array/slice')\r\n\r\n/**\r\n * 创建一个函数, 调用次数不超过 count 次之前执行回调并将所有结果记住后返回\r\n *\r\n * @param {Number} count 调用次数\r\n * @param {Function} callback 完成回调\r\n * @return {Object}\r\n */\r\nfunction before (count, callback, context) {\r\n var runCount = 0\r\n var rests = []\r\n context = context || this\r\n return function () {\r\n var args = arguments\r\n runCount++\r\n if (runCount < count) {\r\n rests.push(args[0])\r\n callback.apply(context, [rests].concat(slice(args)))\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = before\r\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\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*/\n\nvar ComponentModel = require(\"../model/Component\");\n\nvar ComponentView = require(\"../view/Component\");\n\nvar _sourceHelper = require(\"../data/helper/sourceHelper\");\n\nvar detectSourceFormat = _sourceHelper.detectSourceFormat;\n\nvar _sourceType = require(\"../data/helper/sourceType\");\n\nvar SERIES_LAYOUT_BY_COLUMN = _sourceType.SERIES_LAYOUT_BY_COLUMN;\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 * This module is imported by echarts directly.\n *\n * Notice:\n * Always keep this file exists for backward compatibility.\n * Because before 4.1.0, dataset is an optional component,\n * some users may import this module manually.\n */\nComponentModel.extend({\n type: 'dataset',\n\n /**\n * @protected\n */\n defaultOption: {\n // 'row', 'column'\n seriesLayoutBy: SERIES_LAYOUT_BY_COLUMN,\n // null/'auto': auto detect header, see \"module:echarts/data/helper/sourceHelper\"\n sourceHeader: null,\n dimensions: null,\n source: null\n },\n optionUpdated: function () {\n detectSourceFormat(this);\n }\n});\nComponentView.extend({\n type: 'dataset'\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.Header = void 0;\n\nvar _header = _interopRequireDefault(require(\"./src/header\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_header.default.install = function (Vue) {\n Vue.component(_header.default.name, _header.default);\n};\n\nvar Header = _header.default;\nexports.Header = Header;\nvar _default = _header.default;\nexports.default = _default;","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.Menu = void 0;\n\nvar _table = _interopRequireDefault(require(\"../table\"));\n\nvar _vXETable = _interopRequireDefault(require(\"../v-x-e-table\"));\n\nvar _panel = _interopRequireDefault(require(\"./src/panel\"));\n\nvar _mixin = _interopRequireDefault(require(\"./src/mixin\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_panel.default.install = function (Vue) {\n _vXETable.default.reg('menu');\n\n _table.default.mixins.push(_mixin.default);\n\n Vue.component(_panel.default.name, _panel.default);\n};\n\nvar Menu = _panel.default;\nexports.Menu = Menu;\nvar _default = _panel.default;\nexports.default = _default;","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\nmodule.exports = function isBuffer (obj) {\n return obj != null && obj.constructor != null &&\n typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n","// https://github.com/mziccard/node-timsort\nvar DEFAULT_MIN_MERGE = 32;\nvar DEFAULT_MIN_GALLOPING = 7;\nvar DEFAULT_TMP_STORAGE_LENGTH = 256;\n\nfunction minRunLength(n) {\n var r = 0;\n\n while (n >= DEFAULT_MIN_MERGE) {\n r |= n & 1;\n n >>= 1;\n }\n\n return n + r;\n}\n\nfunction makeAscendingRun(array, lo, hi, compare) {\n var runHi = lo + 1;\n\n if (runHi === hi) {\n return 1;\n }\n\n if (compare(array[runHi++], array[lo]) < 0) {\n while (runHi < hi && compare(array[runHi], array[runHi - 1]) < 0) {\n runHi++;\n }\n\n reverseRun(array, lo, runHi);\n } else {\n while (runHi < hi && compare(array[runHi], array[runHi - 1]) >= 0) {\n runHi++;\n }\n }\n\n return runHi - lo;\n}\n\nfunction reverseRun(array, lo, hi) {\n hi--;\n\n while (lo < hi) {\n var t = array[lo];\n array[lo++] = array[hi];\n array[hi--] = t;\n }\n}\n\nfunction binaryInsertionSort(array, lo, hi, start, compare) {\n if (start === lo) {\n start++;\n }\n\n for (; start < hi; start++) {\n var pivot = array[start];\n var left = lo;\n var right = start;\n var mid;\n\n while (left < right) {\n mid = left + right >>> 1;\n\n if (compare(pivot, array[mid]) < 0) {\n right = mid;\n } else {\n left = mid + 1;\n }\n }\n\n var n = start - left;\n\n switch (n) {\n case 3:\n array[left + 3] = array[left + 2];\n\n case 2:\n array[left + 2] = array[left + 1];\n\n case 1:\n array[left + 1] = array[left];\n break;\n\n default:\n while (n > 0) {\n array[left + n] = array[left + n - 1];\n n--;\n }\n\n }\n\n array[left] = pivot;\n }\n}\n\nfunction gallopLeft(value, array, start, length, hint, compare) {\n var lastOffset = 0;\n var maxOffset = 0;\n var offset = 1;\n\n if (compare(value, array[start + hint]) > 0) {\n maxOffset = length - hint;\n\n while (offset < maxOffset && compare(value, array[start + hint + offset]) > 0) {\n lastOffset = offset;\n offset = (offset << 1) + 1;\n\n if (offset <= 0) {\n offset = maxOffset;\n }\n }\n\n if (offset > maxOffset) {\n offset = maxOffset;\n }\n\n lastOffset += hint;\n offset += hint;\n } else {\n maxOffset = hint + 1;\n\n while (offset < maxOffset && compare(value, array[start + hint - offset]) <= 0) {\n lastOffset = offset;\n offset = (offset << 1) + 1;\n\n if (offset <= 0) {\n offset = maxOffset;\n }\n }\n\n if (offset > maxOffset) {\n offset = maxOffset;\n }\n\n var tmp = lastOffset;\n lastOffset = hint - offset;\n offset = hint - tmp;\n }\n\n lastOffset++;\n\n while (lastOffset < offset) {\n var m = lastOffset + (offset - lastOffset >>> 1);\n\n if (compare(value, array[start + m]) > 0) {\n lastOffset = m + 1;\n } else {\n offset = m;\n }\n }\n\n return offset;\n}\n\nfunction gallopRight(value, array, start, length, hint, compare) {\n var lastOffset = 0;\n var maxOffset = 0;\n var offset = 1;\n\n if (compare(value, array[start + hint]) < 0) {\n maxOffset = hint + 1;\n\n while (offset < maxOffset && compare(value, array[start + hint - offset]) < 0) {\n lastOffset = offset;\n offset = (offset << 1) + 1;\n\n if (offset <= 0) {\n offset = maxOffset;\n }\n }\n\n if (offset > maxOffset) {\n offset = maxOffset;\n }\n\n var tmp = lastOffset;\n lastOffset = hint - offset;\n offset = hint - tmp;\n } else {\n maxOffset = length - hint;\n\n while (offset < maxOffset && compare(value, array[start + hint + offset]) >= 0) {\n lastOffset = offset;\n offset = (offset << 1) + 1;\n\n if (offset <= 0) {\n offset = maxOffset;\n }\n }\n\n if (offset > maxOffset) {\n offset = maxOffset;\n }\n\n lastOffset += hint;\n offset += hint;\n }\n\n lastOffset++;\n\n while (lastOffset < offset) {\n var m = lastOffset + (offset - lastOffset >>> 1);\n\n if (compare(value, array[start + m]) < 0) {\n offset = m;\n } else {\n lastOffset = m + 1;\n }\n }\n\n return offset;\n}\n\nfunction TimSort(array, compare) {\n var minGallop = DEFAULT_MIN_GALLOPING;\n var length = 0;\n var tmpStorageLength = DEFAULT_TMP_STORAGE_LENGTH;\n var stackLength = 0;\n var runStart;\n var runLength;\n var stackSize = 0;\n length = array.length;\n\n if (length < 2 * DEFAULT_TMP_STORAGE_LENGTH) {\n tmpStorageLength = length >>> 1;\n }\n\n var tmp = [];\n stackLength = length < 120 ? 5 : length < 1542 ? 10 : length < 119151 ? 19 : 40;\n runStart = [];\n runLength = [];\n\n function pushRun(_runStart, _runLength) {\n runStart[stackSize] = _runStart;\n runLength[stackSize] = _runLength;\n stackSize += 1;\n }\n\n function mergeRuns() {\n while (stackSize > 1) {\n var n = stackSize - 2;\n\n if (n >= 1 && runLength[n - 1] <= runLength[n] + runLength[n + 1] || n >= 2 && runLength[n - 2] <= runLength[n] + runLength[n - 1]) {\n if (runLength[n - 1] < runLength[n + 1]) {\n n--;\n }\n } else if (runLength[n] > runLength[n + 1]) {\n break;\n }\n\n mergeAt(n);\n }\n }\n\n function forceMergeRuns() {\n while (stackSize > 1) {\n var n = stackSize - 2;\n\n if (n > 0 && runLength[n - 1] < runLength[n + 1]) {\n n--;\n }\n\n mergeAt(n);\n }\n }\n\n function mergeAt(i) {\n var start1 = runStart[i];\n var length1 = runLength[i];\n var start2 = runStart[i + 1];\n var length2 = runLength[i + 1];\n runLength[i] = length1 + length2;\n\n if (i === stackSize - 3) {\n runStart[i + 1] = runStart[i + 2];\n runLength[i + 1] = runLength[i + 2];\n }\n\n stackSize--;\n var k = gallopRight(array[start2], array, start1, length1, 0, compare);\n start1 += k;\n length1 -= k;\n\n if (length1 === 0) {\n return;\n }\n\n length2 = gallopLeft(array[start1 + length1 - 1], array, start2, length2, length2 - 1, compare);\n\n if (length2 === 0) {\n return;\n }\n\n if (length1 <= length2) {\n mergeLow(start1, length1, start2, length2);\n } else {\n mergeHigh(start1, length1, start2, length2);\n }\n }\n\n function mergeLow(start1, length1, start2, length2) {\n var i = 0;\n\n for (i = 0; i < length1; i++) {\n tmp[i] = array[start1 + i];\n }\n\n var cursor1 = 0;\n var cursor2 = start2;\n var dest = start1;\n array[dest++] = array[cursor2++];\n\n if (--length2 === 0) {\n for (i = 0; i < length1; i++) {\n array[dest + i] = tmp[cursor1 + i];\n }\n\n return;\n }\n\n if (length1 === 1) {\n for (i = 0; i < length2; i++) {\n array[dest + i] = array[cursor2 + i];\n }\n\n array[dest + length2] = tmp[cursor1];\n return;\n }\n\n var _minGallop = minGallop;\n var count1;\n var count2;\n var exit;\n\n while (1) {\n count1 = 0;\n count2 = 0;\n exit = false;\n\n do {\n if (compare(array[cursor2], tmp[cursor1]) < 0) {\n array[dest++] = array[cursor2++];\n count2++;\n count1 = 0;\n\n if (--length2 === 0) {\n exit = true;\n break;\n }\n } else {\n array[dest++] = tmp[cursor1++];\n count1++;\n count2 = 0;\n\n if (--length1 === 1) {\n exit = true;\n break;\n }\n }\n } while ((count1 | count2) < _minGallop);\n\n if (exit) {\n break;\n }\n\n do {\n count1 = gallopRight(array[cursor2], tmp, cursor1, length1, 0, compare);\n\n if (count1 !== 0) {\n for (i = 0; i < count1; i++) {\n array[dest + i] = tmp[cursor1 + i];\n }\n\n dest += count1;\n cursor1 += count1;\n length1 -= count1;\n\n if (length1 <= 1) {\n exit = true;\n break;\n }\n }\n\n array[dest++] = array[cursor2++];\n\n if (--length2 === 0) {\n exit = true;\n break;\n }\n\n count2 = gallopLeft(tmp[cursor1], array, cursor2, length2, 0, compare);\n\n if (count2 !== 0) {\n for (i = 0; i < count2; i++) {\n array[dest + i] = array[cursor2 + i];\n }\n\n dest += count2;\n cursor2 += count2;\n length2 -= count2;\n\n if (length2 === 0) {\n exit = true;\n break;\n }\n }\n\n array[dest++] = tmp[cursor1++];\n\n if (--length1 === 1) {\n exit = true;\n break;\n }\n\n _minGallop--;\n } while (count1 >= DEFAULT_MIN_GALLOPING || count2 >= DEFAULT_MIN_GALLOPING);\n\n if (exit) {\n break;\n }\n\n if (_minGallop < 0) {\n _minGallop = 0;\n }\n\n _minGallop += 2;\n }\n\n minGallop = _minGallop;\n minGallop < 1 && (minGallop = 1);\n\n if (length1 === 1) {\n for (i = 0; i < length2; i++) {\n array[dest + i] = array[cursor2 + i];\n }\n\n array[dest + length2] = tmp[cursor1];\n } else if (length1 === 0) {\n throw new Error(); // throw new Error('mergeLow preconditions were not respected');\n } else {\n for (i = 0; i < length1; i++) {\n array[dest + i] = tmp[cursor1 + i];\n }\n }\n }\n\n function mergeHigh(start1, length1, start2, length2) {\n var i = 0;\n\n for (i = 0; i < length2; i++) {\n tmp[i] = array[start2 + i];\n }\n\n var cursor1 = start1 + length1 - 1;\n var cursor2 = length2 - 1;\n var dest = start2 + length2 - 1;\n var customCursor = 0;\n var customDest = 0;\n array[dest--] = array[cursor1--];\n\n if (--length1 === 0) {\n customCursor = dest - (length2 - 1);\n\n for (i = 0; i < length2; i++) {\n array[customCursor + i] = tmp[i];\n }\n\n return;\n }\n\n if (length2 === 1) {\n dest -= length1;\n cursor1 -= length1;\n customDest = dest + 1;\n customCursor = cursor1 + 1;\n\n for (i = length1 - 1; i >= 0; i--) {\n array[customDest + i] = array[customCursor + i];\n }\n\n array[dest] = tmp[cursor2];\n return;\n }\n\n var _minGallop = minGallop;\n\n while (true) {\n var count1 = 0;\n var count2 = 0;\n var exit = false;\n\n do {\n if (compare(tmp[cursor2], array[cursor1]) < 0) {\n array[dest--] = array[cursor1--];\n count1++;\n count2 = 0;\n\n if (--length1 === 0) {\n exit = true;\n break;\n }\n } else {\n array[dest--] = tmp[cursor2--];\n count2++;\n count1 = 0;\n\n if (--length2 === 1) {\n exit = true;\n break;\n }\n }\n } while ((count1 | count2) < _minGallop);\n\n if (exit) {\n break;\n }\n\n do {\n count1 = length1 - gallopRight(tmp[cursor2], array, start1, length1, length1 - 1, compare);\n\n if (count1 !== 0) {\n dest -= count1;\n cursor1 -= count1;\n length1 -= count1;\n customDest = dest + 1;\n customCursor = cursor1 + 1;\n\n for (i = count1 - 1; i >= 0; i--) {\n array[customDest + i] = array[customCursor + i];\n }\n\n if (length1 === 0) {\n exit = true;\n break;\n }\n }\n\n array[dest--] = tmp[cursor2--];\n\n if (--length2 === 1) {\n exit = true;\n break;\n }\n\n count2 = length2 - gallopLeft(array[cursor1], tmp, 0, length2, length2 - 1, compare);\n\n if (count2 !== 0) {\n dest -= count2;\n cursor2 -= count2;\n length2 -= count2;\n customDest = dest + 1;\n customCursor = cursor2 + 1;\n\n for (i = 0; i < count2; i++) {\n array[customDest + i] = tmp[customCursor + i];\n }\n\n if (length2 <= 1) {\n exit = true;\n break;\n }\n }\n\n array[dest--] = array[cursor1--];\n\n if (--length1 === 0) {\n exit = true;\n break;\n }\n\n _minGallop--;\n } while (count1 >= DEFAULT_MIN_GALLOPING || count2 >= DEFAULT_MIN_GALLOPING);\n\n if (exit) {\n break;\n }\n\n if (_minGallop < 0) {\n _minGallop = 0;\n }\n\n _minGallop += 2;\n }\n\n minGallop = _minGallop;\n\n if (minGallop < 1) {\n minGallop = 1;\n }\n\n if (length2 === 1) {\n dest -= length1;\n cursor1 -= length1;\n customDest = dest + 1;\n customCursor = cursor1 + 1;\n\n for (i = length1 - 1; i >= 0; i--) {\n array[customDest + i] = array[customCursor + i];\n }\n\n array[dest] = tmp[cursor2];\n } else if (length2 === 0) {\n throw new Error(); // throw new Error('mergeHigh preconditions were not respected');\n } else {\n customCursor = dest - (length2 - 1);\n\n for (i = 0; i < length2; i++) {\n array[customCursor + i] = tmp[i];\n }\n }\n }\n\n this.mergeRuns = mergeRuns;\n this.forceMergeRuns = forceMergeRuns;\n this.pushRun = pushRun;\n}\n\nfunction sort(array, compare, lo, hi) {\n if (!lo) {\n lo = 0;\n }\n\n if (!hi) {\n hi = array.length;\n }\n\n var remaining = hi - lo;\n\n if (remaining < 2) {\n return;\n }\n\n var runLength = 0;\n\n if (remaining < DEFAULT_MIN_MERGE) {\n runLength = makeAscendingRun(array, lo, hi, compare);\n binaryInsertionSort(array, lo, hi, lo + runLength, compare);\n return;\n }\n\n var ts = new TimSort(array, compare);\n var minRun = minRunLength(remaining);\n\n do {\n runLength = makeAscendingRun(array, lo, hi, compare);\n\n if (runLength < minRun) {\n var force = remaining;\n\n if (force > minRun) {\n force = minRun;\n }\n\n binaryInsertionSort(array, lo, lo + force, lo + runLength, compare);\n runLength = force;\n }\n\n ts.pushRun(lo, runLength);\n ts.mergeRuns();\n remaining -= runLength;\n lo += runLength;\n } while (remaining !== 0);\n\n ts.forceMergeRuns();\n}\n\nmodule.exports = sort;","var windingLine = require(\"./windingLine\");\n\nvar EPSILON = 1e-8;\n\nfunction isAroundEqual(a, b) {\n return Math.abs(a - b) < EPSILON;\n}\n\nfunction contain(points, x, y) {\n var w = 0;\n var p = points[0];\n\n if (!p) {\n return false;\n }\n\n for (var i = 1; i < points.length; i++) {\n var p2 = points[i];\n w += windingLine(p[0], p[1], p2[0], p2[1], x, y);\n p = p2;\n } // Close polygon\n\n\n var p0 = points[0];\n\n if (!isAroundEqual(p[0], p0[0]) || !isAroundEqual(p[1], p0[1])) {\n w += windingLine(p[0], p[1], p0[0], p0[1], x, y);\n }\n\n return w !== 0;\n}\n\nexports.contain = contain;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var helperNumberDecimal = require('./helperNumberDecimal')\r\nvar toNumberString = require('./toNumberString')\r\nvar multiply = require('./multiply')\r\n\r\nfunction helperNumberAdd (addend, augend) {\r\n var str1 = toNumberString(addend)\r\n var str2 = toNumberString(augend)\r\n var ratio = Math.pow(10, Math.max(helperNumberDecimal(str1), helperNumberDecimal(str2)))\r\n return (multiply(addend, ratio) + multiply(augend, ratio)) / ratio\r\n}\r\n\r\nmodule.exports = helperNumberAdd\r\n","var Clip = require(\"./Clip\");\n\nvar color = require(\"../tool/color\");\n\nvar _util = require(\"../core/util\");\n\nvar isArrayLike = _util.isArrayLike;\n\n/**\n * @module echarts/animation/Animator\n */\nvar arraySlice = Array.prototype.slice;\n\nfunction defaultGetter(target, key) {\n return target[key];\n}\n\nfunction defaultSetter(target, key, value) {\n target[key] = value;\n}\n/**\n * @param {number} p0\n * @param {number} p1\n * @param {number} percent\n * @return {number}\n */\n\n\nfunction interpolateNumber(p0, p1, percent) {\n return (p1 - p0) * percent + p0;\n}\n/**\n * @param {string} p0\n * @param {string} p1\n * @param {number} percent\n * @return {string}\n */\n\n\nfunction interpolateString(p0, p1, percent) {\n return percent > 0.5 ? p1 : p0;\n}\n/**\n * @param {Array} p0\n * @param {Array} p1\n * @param {number} percent\n * @param {Array} out\n * @param {number} arrDim\n */\n\n\nfunction interpolateArray(p0, p1, percent, out, arrDim) {\n var len = p0.length;\n\n if (arrDim === 1) {\n for (var i = 0; i < len; i++) {\n out[i] = interpolateNumber(p0[i], p1[i], percent);\n }\n } else {\n var len2 = len && p0[0].length;\n\n for (var i = 0; i < len; i++) {\n for (var j = 0; j < len2; j++) {\n out[i][j] = interpolateNumber(p0[i][j], p1[i][j], percent);\n }\n }\n }\n} // arr0 is source array, arr1 is target array.\n// Do some preprocess to avoid error happened when interpolating from arr0 to arr1\n\n\nfunction fillArr(arr0, arr1, arrDim) {\n var arr0Len = arr0.length;\n var arr1Len = arr1.length;\n\n if (arr0Len !== arr1Len) {\n // FIXME Not work for TypedArray\n var isPreviousLarger = arr0Len > arr1Len;\n\n if (isPreviousLarger) {\n // Cut the previous\n arr0.length = arr1Len;\n } else {\n // Fill the previous\n for (var i = arr0Len; i < arr1Len; i++) {\n arr0.push(arrDim === 1 ? arr1[i] : arraySlice.call(arr1[i]));\n }\n }\n } // Handling NaN value\n\n\n var len2 = arr0[0] && arr0[0].length;\n\n for (var i = 0; i < arr0.length; i++) {\n if (arrDim === 1) {\n if (isNaN(arr0[i])) {\n arr0[i] = arr1[i];\n }\n } else {\n for (var j = 0; j < len2; j++) {\n if (isNaN(arr0[i][j])) {\n arr0[i][j] = arr1[i][j];\n }\n }\n }\n }\n}\n/**\n * @param {Array} arr0\n * @param {Array} arr1\n * @param {number} arrDim\n * @return {boolean}\n */\n\n\nfunction isArraySame(arr0, arr1, arrDim) {\n if (arr0 === arr1) {\n return true;\n }\n\n var len = arr0.length;\n\n if (len !== arr1.length) {\n return false;\n }\n\n if (arrDim === 1) {\n for (var i = 0; i < len; i++) {\n if (arr0[i] !== arr1[i]) {\n return false;\n }\n }\n } else {\n var len2 = arr0[0].length;\n\n for (var i = 0; i < len; i++) {\n for (var j = 0; j < len2; j++) {\n if (arr0[i][j] !== arr1[i][j]) {\n return false;\n }\n }\n }\n }\n\n return true;\n}\n/**\n * Catmull Rom interpolate array\n * @param {Array} p0\n * @param {Array} p1\n * @param {Array} p2\n * @param {Array} p3\n * @param {number} t\n * @param {number} t2\n * @param {number} t3\n * @param {Array} out\n * @param {number} arrDim\n */\n\n\nfunction catmullRomInterpolateArray(p0, p1, p2, p3, t, t2, t3, out, arrDim) {\n var len = p0.length;\n\n if (arrDim === 1) {\n for (var i = 0; i < len; i++) {\n out[i] = catmullRomInterpolate(p0[i], p1[i], p2[i], p3[i], t, t2, t3);\n }\n } else {\n var len2 = p0[0].length;\n\n for (var i = 0; i < len; i++) {\n for (var j = 0; j < len2; j++) {\n out[i][j] = catmullRomInterpolate(p0[i][j], p1[i][j], p2[i][j], p3[i][j], t, t2, t3);\n }\n }\n }\n}\n/**\n * Catmull Rom interpolate number\n * @param {number} p0\n * @param {number} p1\n * @param {number} p2\n * @param {number} p3\n * @param {number} t\n * @param {number} t2\n * @param {number} t3\n * @return {number}\n */\n\n\nfunction catmullRomInterpolate(p0, p1, p2, p3, t, t2, t3) {\n var v0 = (p2 - p0) * 0.5;\n var v1 = (p3 - p1) * 0.5;\n return (2 * (p1 - p2) + v0 + v1) * t3 + (-3 * (p1 - p2) - 2 * v0 - v1) * t2 + v0 * t + p1;\n}\n\nfunction cloneValue(value) {\n if (isArrayLike(value)) {\n var len = value.length;\n\n if (isArrayLike(value[0])) {\n var ret = [];\n\n for (var i = 0; i < len; i++) {\n ret.push(arraySlice.call(value[i]));\n }\n\n return ret;\n }\n\n return arraySlice.call(value);\n }\n\n return value;\n}\n\nfunction rgba2String(rgba) {\n rgba[0] = Math.floor(rgba[0]);\n rgba[1] = Math.floor(rgba[1]);\n rgba[2] = Math.floor(rgba[2]);\n return 'rgba(' + rgba.join(',') + ')';\n}\n\nfunction getArrayDim(keyframes) {\n var lastValue = keyframes[keyframes.length - 1].value;\n return isArrayLike(lastValue && lastValue[0]) ? 2 : 1;\n}\n\nfunction createTrackClip(animator, easing, oneTrackDone, keyframes, propName, forceAnimate) {\n var getter = animator._getter;\n var setter = animator._setter;\n var useSpline = easing === 'spline';\n var trackLen = keyframes.length;\n\n if (!trackLen) {\n return;\n } // Guess data type\n\n\n var firstVal = keyframes[0].value;\n var isValueArray = isArrayLike(firstVal);\n var isValueColor = false;\n var isValueString = false; // For vertices morphing\n\n var arrDim = isValueArray ? getArrayDim(keyframes) : 0;\n var trackMaxTime; // Sort keyframe as ascending\n\n keyframes.sort(function (a, b) {\n return a.time - b.time;\n });\n trackMaxTime = keyframes[trackLen - 1].time; // Percents of each keyframe\n\n var kfPercents = []; // Value of each keyframe\n\n var kfValues = [];\n var prevValue = keyframes[0].value;\n var isAllValueEqual = true;\n\n for (var i = 0; i < trackLen; i++) {\n kfPercents.push(keyframes[i].time / trackMaxTime); // Assume value is a color when it is a string\n\n var value = keyframes[i].value; // Check if value is equal, deep check if value is array\n\n if (!(isValueArray && isArraySame(value, prevValue, arrDim) || !isValueArray && value === prevValue)) {\n isAllValueEqual = false;\n }\n\n prevValue = value; // Try converting a string to a color array\n\n if (typeof value === 'string') {\n var colorArray = color.parse(value);\n\n if (colorArray) {\n value = colorArray;\n isValueColor = true;\n } else {\n isValueString = true;\n }\n }\n\n kfValues.push(value);\n }\n\n if (!forceAnimate && isAllValueEqual) {\n return;\n }\n\n var lastValue = kfValues[trackLen - 1]; // Polyfill array and NaN value\n\n for (var i = 0; i < trackLen - 1; i++) {\n if (isValueArray) {\n fillArr(kfValues[i], lastValue, arrDim);\n } else {\n if (isNaN(kfValues[i]) && !isNaN(lastValue) && !isValueString && !isValueColor) {\n kfValues[i] = lastValue;\n }\n }\n }\n\n isValueArray && fillArr(getter(animator._target, propName), lastValue, arrDim); // Cache the key of last frame to speed up when\n // animation playback is sequency\n\n var lastFrame = 0;\n var lastFramePercent = 0;\n var start;\n var w;\n var p0;\n var p1;\n var p2;\n var p3;\n\n if (isValueColor) {\n var rgba = [0, 0, 0, 0];\n }\n\n var onframe = function (target, percent) {\n // Find the range keyframes\n // kf1-----kf2---------current--------kf3\n // find kf2 and kf3 and do interpolation\n var frame; // In the easing function like elasticOut, percent may less than 0\n\n if (percent < 0) {\n frame = 0;\n } else if (percent < lastFramePercent) {\n // Start from next key\n // PENDING start from lastFrame ?\n start = Math.min(lastFrame + 1, trackLen - 1);\n\n for (frame = start; frame >= 0; frame--) {\n if (kfPercents[frame] <= percent) {\n break;\n }\n } // PENDING really need to do this ?\n\n\n frame = Math.min(frame, trackLen - 2);\n } else {\n for (frame = lastFrame; frame < trackLen; frame++) {\n if (kfPercents[frame] > percent) {\n break;\n }\n }\n\n frame = Math.min(frame - 1, trackLen - 2);\n }\n\n lastFrame = frame;\n lastFramePercent = percent;\n var range = kfPercents[frame + 1] - kfPercents[frame];\n\n if (range === 0) {\n return;\n } else {\n w = (percent - kfPercents[frame]) / range;\n }\n\n if (useSpline) {\n p1 = kfValues[frame];\n p0 = kfValues[frame === 0 ? frame : frame - 1];\n p2 = kfValues[frame > trackLen - 2 ? trackLen - 1 : frame + 1];\n p3 = kfValues[frame > trackLen - 3 ? trackLen - 1 : frame + 2];\n\n if (isValueArray) {\n catmullRomInterpolateArray(p0, p1, p2, p3, w, w * w, w * w * w, getter(target, propName), arrDim);\n } else {\n var value;\n\n if (isValueColor) {\n value = catmullRomInterpolateArray(p0, p1, p2, p3, w, w * w, w * w * w, rgba, 1);\n value = rgba2String(rgba);\n } else if (isValueString) {\n // String is step(0.5)\n return interpolateString(p1, p2, w);\n } else {\n value = catmullRomInterpolate(p0, p1, p2, p3, w, w * w, w * w * w);\n }\n\n setter(target, propName, value);\n }\n } else {\n if (isValueArray) {\n interpolateArray(kfValues[frame], kfValues[frame + 1], w, getter(target, propName), arrDim);\n } else {\n var value;\n\n if (isValueColor) {\n interpolateArray(kfValues[frame], kfValues[frame + 1], w, rgba, 1);\n value = rgba2String(rgba);\n } else if (isValueString) {\n // String is step(0.5)\n return interpolateString(kfValues[frame], kfValues[frame + 1], w);\n } else {\n value = interpolateNumber(kfValues[frame], kfValues[frame + 1], w);\n }\n\n setter(target, propName, value);\n }\n }\n };\n\n var clip = new Clip({\n target: animator._target,\n life: trackMaxTime,\n loop: animator._loop,\n delay: animator._delay,\n onframe: onframe,\n ondestroy: oneTrackDone\n });\n\n if (easing && easing !== 'spline') {\n clip.easing = easing;\n }\n\n return clip;\n}\n/**\n * @alias module:zrender/animation/Animator\n * @constructor\n * @param {Object} target\n * @param {boolean} loop\n * @param {Function} getter\n * @param {Function} setter\n */\n\n\nvar Animator = function (target, loop, getter, setter) {\n this._tracks = {};\n this._target = target;\n this._loop = loop || false;\n this._getter = getter || defaultGetter;\n this._setter = setter || defaultSetter;\n this._clipCount = 0;\n this._delay = 0;\n this._doneList = [];\n this._onframeList = [];\n this._clipList = [];\n};\n\nAnimator.prototype = {\n /**\n * Set Animation keyframe\n * @param {number} time 关键帧时间,单位是ms\n * @param {Object} props 关键帧的属性值,key-value表示\n * @return {module:zrender/animation/Animator}\n */\n when: function (time\n /* ms */\n , props) {\n var tracks = this._tracks;\n\n for (var propName in props) {\n if (!props.hasOwnProperty(propName)) {\n continue;\n }\n\n if (!tracks[propName]) {\n tracks[propName] = []; // Invalid value\n\n var value = this._getter(this._target, propName);\n\n if (value == null) {\n // zrLog('Invalid property ' + propName);\n continue;\n } // If time is 0\n // Then props is given initialize value\n // Else\n // Initialize value from current prop value\n\n\n if (time !== 0) {\n tracks[propName].push({\n time: 0,\n value: cloneValue(value)\n });\n }\n }\n\n tracks[propName].push({\n time: time,\n value: props[propName]\n });\n }\n\n return this;\n },\n\n /**\n * 添加动画每一帧的回调函数\n * @param {Function} callback\n * @return {module:zrender/animation/Animator}\n */\n during: function (callback) {\n this._onframeList.push(callback);\n\n return this;\n },\n pause: function () {\n for (var i = 0; i < this._clipList.length; i++) {\n this._clipList[i].pause();\n }\n\n this._paused = true;\n },\n resume: function () {\n for (var i = 0; i < this._clipList.length; i++) {\n this._clipList[i].resume();\n }\n\n this._paused = false;\n },\n isPaused: function () {\n return !!this._paused;\n },\n _doneCallback: function () {\n // Clear all tracks\n this._tracks = {}; // Clear all clips\n\n this._clipList.length = 0;\n var doneList = this._doneList;\n var len = doneList.length;\n\n for (var i = 0; i < len; i++) {\n doneList[i].call(this);\n }\n },\n\n /**\n * Start the animation\n * @param {string|Function} [easing]\n * 动画缓动函数,详见{@link module:zrender/animation/easing}\n * @param {boolean} forceAnimate\n * @return {module:zrender/animation/Animator}\n */\n start: function (easing, forceAnimate) {\n var self = this;\n var clipCount = 0;\n\n var oneTrackDone = function () {\n clipCount--;\n\n if (!clipCount) {\n self._doneCallback();\n }\n };\n\n var lastClip;\n\n for (var propName in this._tracks) {\n if (!this._tracks.hasOwnProperty(propName)) {\n continue;\n }\n\n var clip = createTrackClip(this, easing, oneTrackDone, this._tracks[propName], propName, forceAnimate);\n\n if (clip) {\n this._clipList.push(clip);\n\n clipCount++; // If start after added to animation\n\n if (this.animation) {\n this.animation.addClip(clip);\n }\n\n lastClip = clip;\n }\n } // Add during callback on the last clip\n\n\n if (lastClip) {\n var oldOnFrame = lastClip.onframe;\n\n lastClip.onframe = function (target, percent) {\n oldOnFrame(target, percent);\n\n for (var i = 0; i < self._onframeList.length; i++) {\n self._onframeList[i](target, percent);\n }\n };\n } // This optimization will help the case that in the upper application\n // the view may be refreshed frequently, where animation will be\n // called repeatly but nothing changed.\n\n\n if (!clipCount) {\n this._doneCallback();\n }\n\n return this;\n },\n\n /**\n * Stop animation\n * @param {boolean} forwardToLast If move to last frame before stop\n */\n stop: function (forwardToLast) {\n var clipList = this._clipList;\n var animation = this.animation;\n\n for (var i = 0; i < clipList.length; i++) {\n var clip = clipList[i];\n\n if (forwardToLast) {\n // Move to last frame before stop\n clip.onframe(this._target, 1);\n }\n\n animation && animation.removeClip(clip);\n }\n\n clipList.length = 0;\n },\n\n /**\n * Set when animation delay starts\n * @param {number} time 单位ms\n * @return {module:zrender/animation/Animator}\n */\n delay: function (time) {\n this._delay = time;\n return this;\n },\n\n /**\n * Add callback for animation end\n * @param {Function} cb\n * @return {module:zrender/animation/Animator}\n */\n done: function (cb) {\n if (cb) {\n this._doneList.push(cb);\n }\n\n return this;\n },\n\n /**\n * @return {Array.}\n */\n getClips: function () {\n return this._clipList;\n }\n};\nvar _default = Animator;\nmodule.exports = _default;","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\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\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar linkList = require(\"./helper/linkList\");\n\nvar List = require(\"./List\");\n\nvar createDimensions = require(\"./helper/createDimensions\");\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 * Tree data structure\n *\n * @module echarts/data/Tree\n */\n\n/**\n * @constructor module:echarts/data/Tree~TreeNode\n * @param {string} name\n * @param {module:echarts/data/Tree} hostTree\n */\nvar TreeNode = function (name, hostTree) {\n /**\n * @type {string}\n */\n this.name = name || '';\n /**\n * Depth of node\n *\n * @type {number}\n * @readOnly\n */\n\n this.depth = 0;\n /**\n * Height of the subtree rooted at this node.\n * @type {number}\n * @readOnly\n */\n\n this.height = 0;\n /**\n * @type {module:echarts/data/Tree~TreeNode}\n * @readOnly\n */\n\n this.parentNode = null;\n /**\n * Reference to list item.\n * Do not persistent dataIndex outside,\n * besause it may be changed by list.\n * If dataIndex -1,\n * this node is logical deleted (filtered) in list.\n *\n * @type {Object}\n * @readOnly\n */\n\n this.dataIndex = -1;\n /**\n * @type {Array.}\n * @readOnly\n */\n\n this.children = [];\n /**\n * @type {Array.}\n * @pubilc\n */\n\n this.viewChildren = [];\n /**\n * @type {moduel:echarts/data/Tree}\n * @readOnly\n */\n\n this.hostTree = hostTree;\n};\n\nTreeNode.prototype = {\n constructor: TreeNode,\n\n /**\n * The node is removed.\n * @return {boolean} is removed.\n */\n isRemoved: function () {\n return this.dataIndex < 0;\n },\n\n /**\n * Travel this subtree (include this node).\n * Usage:\n * node.eachNode(function () { ... }); // preorder\n * node.eachNode('preorder', function () { ... }); // preorder\n * node.eachNode('postorder', function () { ... }); // postorder\n * node.eachNode(\n * {order: 'postorder', attr: 'viewChildren'},\n * function () { ... }\n * ); // postorder\n *\n * @param {(Object|string)} options If string, means order.\n * @param {string=} options.order 'preorder' or 'postorder'\n * @param {string=} options.attr 'children' or 'viewChildren'\n * @param {Function} cb If in preorder and return false,\n * its subtree will not be visited.\n * @param {Object} [context]\n */\n eachNode: function (options, cb, context) {\n if (typeof options === 'function') {\n context = cb;\n cb = options;\n options = null;\n }\n\n options = options || {};\n\n if (zrUtil.isString(options)) {\n options = {\n order: options\n };\n }\n\n var order = options.order || 'preorder';\n var children = this[options.attr || 'children'];\n var suppressVisitSub;\n order === 'preorder' && (suppressVisitSub = cb.call(context, this));\n\n for (var i = 0; !suppressVisitSub && i < children.length; i++) {\n children[i].eachNode(options, cb, context);\n }\n\n order === 'postorder' && cb.call(context, this);\n },\n\n /**\n * Update depth and height of this subtree.\n *\n * @param {number} depth\n */\n updateDepthAndHeight: function (depth) {\n var height = 0;\n this.depth = depth;\n\n for (var i = 0; i < this.children.length; i++) {\n var child = this.children[i];\n child.updateDepthAndHeight(depth + 1);\n\n if (child.height > height) {\n height = child.height;\n }\n }\n\n this.height = height + 1;\n },\n\n /**\n * @param {string} id\n * @return {module:echarts/data/Tree~TreeNode}\n */\n getNodeById: function (id) {\n if (this.getId() === id) {\n return this;\n }\n\n for (var i = 0, children = this.children, len = children.length; i < len; i++) {\n var res = children[i].getNodeById(id);\n\n if (res) {\n return res;\n }\n }\n },\n\n /**\n * @param {module:echarts/data/Tree~TreeNode} node\n * @return {boolean}\n */\n contains: function (node) {\n if (node === this) {\n return true;\n }\n\n for (var i = 0, children = this.children, len = children.length; i < len; i++) {\n var res = children[i].contains(node);\n\n if (res) {\n return res;\n }\n }\n },\n\n /**\n * @param {boolean} includeSelf Default false.\n * @return {Array.} order: [root, child, grandchild, ...]\n */\n getAncestors: function (includeSelf) {\n var ancestors = [];\n var node = includeSelf ? this : this.parentNode;\n\n while (node) {\n ancestors.push(node);\n node = node.parentNode;\n }\n\n ancestors.reverse();\n return ancestors;\n },\n\n /**\n * @param {string|Array=} [dimension='value'] Default 'value'. can be 0, 1, 2, 3\n * @return {number} Value.\n */\n getValue: function (dimension) {\n var data = this.hostTree.data;\n return data.get(data.getDimension(dimension || 'value'), this.dataIndex);\n },\n\n /**\n * @param {Object} layout\n * @param {boolean=} [merge=false]\n */\n setLayout: function (layout, merge) {\n this.dataIndex >= 0 && this.hostTree.data.setItemLayout(this.dataIndex, layout, merge);\n },\n\n /**\n * @return {Object} layout\n */\n getLayout: function () {\n return this.hostTree.data.getItemLayout(this.dataIndex);\n },\n\n /**\n * @param {string} [path]\n * @return {module:echarts/model/Model}\n */\n getModel: function (path) {\n if (this.dataIndex < 0) {\n return;\n }\n\n var hostTree = this.hostTree;\n var itemModel = hostTree.data.getItemModel(this.dataIndex);\n return itemModel.getModel(path);\n },\n\n /**\n * @example\n * setItemVisual('color', color);\n * setItemVisual({\n * 'color': color\n * });\n */\n setVisual: function (key, value) {\n this.dataIndex >= 0 && this.hostTree.data.setItemVisual(this.dataIndex, key, value);\n },\n\n /**\n * Get item visual\n */\n getVisual: function (key, ignoreParent) {\n return this.hostTree.data.getItemVisual(this.dataIndex, key, ignoreParent);\n },\n\n /**\n * @public\n * @return {number}\n */\n getRawIndex: function () {\n return this.hostTree.data.getRawIndex(this.dataIndex);\n },\n\n /**\n * @public\n * @return {string}\n */\n getId: function () {\n return this.hostTree.data.getId(this.dataIndex);\n },\n\n /**\n * if this is an ancestor of another node\n *\n * @public\n * @param {TreeNode} node another node\n * @return {boolean} if is ancestor\n */\n isAncestorOf: function (node) {\n var parent = node.parentNode;\n\n while (parent) {\n if (parent === this) {\n return true;\n }\n\n parent = parent.parentNode;\n }\n\n return false;\n },\n\n /**\n * if this is an descendant of another node\n *\n * @public\n * @param {TreeNode} node another node\n * @return {boolean} if is descendant\n */\n isDescendantOf: function (node) {\n return node !== this && node.isAncestorOf(this);\n }\n};\n/**\n * @constructor\n * @alias module:echarts/data/Tree\n * @param {module:echarts/model/Model} hostModel\n */\n\nfunction Tree(hostModel) {\n /**\n * @type {module:echarts/data/Tree~TreeNode}\n * @readOnly\n */\n this.root;\n /**\n * @type {module:echarts/data/List}\n * @readOnly\n */\n\n this.data;\n /**\n * Index of each item is the same as the raw index of coresponding list item.\n * @private\n * @type {Array.}, ...]\n * @private\n * @type {Array.}\n */\n\n this._pieceList = [];\n this.resetExtent();\n /**\n * 'pieces', 'categories', 'splitNumber'\n * @type {string}\n */\n\n var mode = this._mode = this._determineMode();\n\n resetMethods[this._mode].call(this);\n\n this._resetSelected(newOption, isInit);\n\n var categories = this.option.categories;\n this.resetVisual(function (mappingOption, state) {\n if (mode === 'categories') {\n mappingOption.mappingMethod = 'category';\n mappingOption.categories = zrUtil.clone(categories);\n } else {\n mappingOption.dataExtent = this.getExtent();\n mappingOption.mappingMethod = 'piecewise';\n mappingOption.pieceList = zrUtil.map(this._pieceList, function (piece) {\n var piece = zrUtil.clone(piece);\n\n if (state !== 'inRange') {\n // FIXME\n // outOfRange do not support special visual in pieces.\n piece.visual = null;\n }\n\n return piece;\n });\n }\n });\n },\n\n /**\n * @protected\n * @override\n */\n completeVisualOption: function () {\n // Consider this case:\n // visualMap: {\n // pieces: [{symbol: 'circle', lt: 0}, {symbol: 'rect', gte: 0}]\n // }\n // where no inRange/outOfRange set but only pieces. So we should make\n // default inRange/outOfRange for this case, otherwise visuals that only\n // appear in `pieces` will not be taken into account in visual encoding.\n var option = this.option;\n var visualTypesInPieces = {};\n var visualTypes = VisualMapping.listVisualTypes();\n var isCategory = this.isCategory();\n zrUtil.each(option.pieces, function (piece) {\n zrUtil.each(visualTypes, function (visualType) {\n if (piece.hasOwnProperty(visualType)) {\n visualTypesInPieces[visualType] = 1;\n }\n });\n });\n zrUtil.each(visualTypesInPieces, function (v, visualType) {\n var exists = 0;\n zrUtil.each(this.stateList, function (state) {\n exists |= has(option, state, visualType) || has(option.target, state, visualType);\n }, this);\n !exists && zrUtil.each(this.stateList, function (state) {\n (option[state] || (option[state] = {}))[visualType] = visualDefault.get(visualType, state === 'inRange' ? 'active' : 'inactive', isCategory);\n });\n }, this);\n\n function has(obj, state, visualType) {\n return obj && obj[state] && (zrUtil.isObject(obj[state]) ? obj[state].hasOwnProperty(visualType) : obj[state] === visualType // e.g., inRange: 'symbol'\n );\n }\n\n VisualMapModel.prototype.completeVisualOption.apply(this, arguments);\n },\n _resetSelected: function (newOption, isInit) {\n var thisOption = this.option;\n var pieceList = this._pieceList; // Selected do not merge but all override.\n\n var selected = (isInit ? thisOption : newOption).selected || {};\n thisOption.selected = selected; // Consider 'not specified' means true.\n\n zrUtil.each(pieceList, function (piece, index) {\n var key = this.getSelectedMapKey(piece);\n\n if (!selected.hasOwnProperty(key)) {\n selected[key] = true;\n }\n }, this);\n\n if (thisOption.selectedMode === 'single') {\n // Ensure there is only one selected.\n var hasSel = false;\n zrUtil.each(pieceList, function (piece, index) {\n var key = this.getSelectedMapKey(piece);\n\n if (selected[key]) {\n hasSel ? selected[key] = false : hasSel = true;\n }\n }, this);\n } // thisOption.selectedMode === 'multiple', default: all selected.\n\n },\n\n /**\n * @public\n */\n getSelectedMapKey: function (piece) {\n return this._mode === 'categories' ? piece.value + '' : piece.index + '';\n },\n\n /**\n * @public\n */\n getPieceList: function () {\n return this._pieceList;\n },\n\n /**\n * @private\n * @return {string}\n */\n _determineMode: function () {\n var option = this.option;\n return option.pieces && option.pieces.length > 0 ? 'pieces' : this.option.categories ? 'categories' : 'splitNumber';\n },\n\n /**\n * @public\n * @override\n */\n setSelected: function (selected) {\n this.option.selected = zrUtil.clone(selected);\n },\n\n /**\n * @public\n * @override\n */\n getValueState: function (value) {\n var index = VisualMapping.findPieceIndex(value, this._pieceList);\n return index != null ? this.option.selected[this.getSelectedMapKey(this._pieceList[index])] ? 'inRange' : 'outOfRange' : 'outOfRange';\n },\n\n /**\n * @public\n * @params {number} pieceIndex piece index in visualMapModel.getPieceList()\n * @return {Array.} [{seriesId, dataIndex: >}, ...]\n */\n findTargetDataIndices: function (pieceIndex) {\n var result = [];\n this.eachTargetSeries(function (seriesModel) {\n var dataIndices = [];\n var data = seriesModel.getData();\n data.each(this.getDataDimension(data), function (value, dataIndex) {\n // Should always base on model pieceList, because it is order sensitive.\n var pIdx = VisualMapping.findPieceIndex(value, this._pieceList);\n pIdx === pieceIndex && dataIndices.push(dataIndex);\n }, this);\n result.push({\n seriesId: seriesModel.id,\n dataIndex: dataIndices\n });\n }, this);\n return result;\n },\n\n /**\n * @private\n * @param {Object} piece piece.value or piece.interval is required.\n * @return {number} Can be Infinity or -Infinity\n */\n getRepresentValue: function (piece) {\n var representValue;\n\n if (this.isCategory()) {\n representValue = piece.value;\n } else {\n if (piece.value != null) {\n representValue = piece.value;\n } else {\n var pieceInterval = piece.interval || [];\n representValue = pieceInterval[0] === -Infinity && pieceInterval[1] === Infinity ? 0 : (pieceInterval[0] + pieceInterval[1]) / 2;\n }\n }\n\n return representValue;\n },\n getVisualMeta: function (getColorVisual) {\n // Do not support category. (category axis is ordinal, numerical)\n if (this.isCategory()) {\n return;\n }\n\n var stops = [];\n var outerColors = [];\n var visualMapModel = this;\n\n function setStop(interval, valueState) {\n var representValue = visualMapModel.getRepresentValue({\n interval: interval\n });\n\n if (!valueState) {\n valueState = visualMapModel.getValueState(representValue);\n }\n\n var color = getColorVisual(representValue, valueState);\n\n if (interval[0] === -Infinity) {\n outerColors[0] = color;\n } else if (interval[1] === Infinity) {\n outerColors[1] = color;\n } else {\n stops.push({\n value: interval[0],\n color: color\n }, {\n value: interval[1],\n color: color\n });\n }\n } // Suplement\n\n\n var pieceList = this._pieceList.slice();\n\n if (!pieceList.length) {\n pieceList.push({\n interval: [-Infinity, Infinity]\n });\n } else {\n var edge = pieceList[0].interval[0];\n edge !== -Infinity && pieceList.unshift({\n interval: [-Infinity, edge]\n });\n edge = pieceList[pieceList.length - 1].interval[1];\n edge !== Infinity && pieceList.push({\n interval: [edge, Infinity]\n });\n }\n\n var curr = -Infinity;\n zrUtil.each(pieceList, function (piece) {\n var interval = piece.interval;\n\n if (interval) {\n // Fulfill gap.\n interval[0] > curr && setStop([curr, interval[0]], 'outOfRange');\n setStop(interval.slice());\n curr = interval[1];\n }\n }, this);\n return {\n stops: stops,\n outerColors: outerColors\n };\n }\n});\n/**\n * Key is this._mode\n * @type {Object}\n * @this {module:echarts/component/viusalMap/PiecewiseMode}\n */\n\nvar resetMethods = {\n splitNumber: function () {\n var thisOption = this.option;\n var pieceList = this._pieceList;\n var precision = Math.min(thisOption.precision, 20);\n var dataExtent = this.getExtent();\n var splitNumber = thisOption.splitNumber;\n splitNumber = Math.max(parseInt(splitNumber, 10), 1);\n thisOption.splitNumber = splitNumber;\n var splitStep = (dataExtent[1] - dataExtent[0]) / splitNumber; // Precision auto-adaption\n\n while (+splitStep.toFixed(precision) !== splitStep && precision < 5) {\n precision++;\n }\n\n thisOption.precision = precision;\n splitStep = +splitStep.toFixed(precision);\n\n if (thisOption.minOpen) {\n pieceList.push({\n interval: [-Infinity, dataExtent[0]],\n close: [0, 0]\n });\n }\n\n for (var index = 0, curr = dataExtent[0]; index < splitNumber; curr += splitStep, index++) {\n var max = index === splitNumber - 1 ? dataExtent[1] : curr + splitStep;\n pieceList.push({\n interval: [curr, max],\n close: [1, 1]\n });\n }\n\n if (thisOption.maxOpen) {\n pieceList.push({\n interval: [dataExtent[1], Infinity],\n close: [0, 0]\n });\n }\n\n reformIntervals(pieceList);\n zrUtil.each(pieceList, function (piece, index) {\n piece.index = index;\n piece.text = this.formatValueText(piece.interval);\n }, this);\n },\n categories: function () {\n var thisOption = this.option;\n zrUtil.each(thisOption.categories, function (cate) {\n // FIXME category模式也使用pieceList,但在visualMapping中不是使用pieceList。\n // 是否改一致。\n this._pieceList.push({\n text: this.formatValueText(cate, true),\n value: cate\n });\n }, this); // See \"Order Rule\".\n\n normalizeReverse(thisOption, this._pieceList);\n },\n pieces: function () {\n var thisOption = this.option;\n var pieceList = this._pieceList;\n zrUtil.each(thisOption.pieces, function (pieceListItem, index) {\n if (!zrUtil.isObject(pieceListItem)) {\n pieceListItem = {\n value: pieceListItem\n };\n }\n\n var item = {\n text: '',\n index: index\n };\n\n if (pieceListItem.label != null) {\n item.text = pieceListItem.label;\n }\n\n if (pieceListItem.hasOwnProperty('value')) {\n var value = item.value = pieceListItem.value;\n item.interval = [value, value];\n item.close = [1, 1];\n } else {\n // `min` `max` is legacy option.\n // `lt` `gt` `lte` `gte` is recommanded.\n var interval = item.interval = [];\n var close = item.close = [0, 0];\n var closeList = [1, 0, 1];\n var infinityList = [-Infinity, Infinity];\n var useMinMax = [];\n\n for (var lg = 0; lg < 2; lg++) {\n var names = [['gte', 'gt', 'min'], ['lte', 'lt', 'max']][lg];\n\n for (var i = 0; i < 3 && interval[lg] == null; i++) {\n interval[lg] = pieceListItem[names[i]];\n close[lg] = closeList[i];\n useMinMax[lg] = i === 2;\n }\n\n interval[lg] == null && (interval[lg] = infinityList[lg]);\n }\n\n useMinMax[0] && interval[1] === Infinity && (close[0] = 0);\n useMinMax[1] && interval[0] === -Infinity && (close[1] = 0);\n\n if (interval[0] === interval[1] && close[0] && close[1]) {\n // Consider: [{min: 5, max: 5, visual: {...}}, {min: 0, max: 5}],\n // we use value to lift the priority when min === max\n item.value = interval[0];\n }\n }\n\n item.visual = VisualMapping.retrieveVisuals(pieceListItem);\n pieceList.push(item);\n }, this); // See \"Order Rule\".\n\n normalizeReverse(thisOption, pieceList); // Only pieces\n\n reformIntervals(pieceList);\n zrUtil.each(pieceList, function (piece) {\n var close = piece.close;\n var edgeSymbols = [['<', '≤'][close[1]], ['>', '≥'][close[0]]];\n piece.text = piece.text || this.formatValueText(piece.value != null ? piece.value : piece.interval, false, edgeSymbols);\n }, this);\n }\n};\n\nfunction normalizeReverse(thisOption, pieceList) {\n var inverse = thisOption.inverse;\n\n if (thisOption.orient === 'vertical' ? !inverse : inverse) {\n pieceList.reverse();\n }\n}\n\nvar _default = PiecewiseModel;\nmodule.exports = _default;","\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\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar zrColor = require(\"zrender/lib/tool/color\");\n\nvar eventUtil = require(\"zrender/lib/core/event\");\n\nvar domUtil = require(\"zrender/lib/core/dom\");\n\nvar env = require(\"zrender/lib/core/env\");\n\nvar formatUtil = require(\"../../util/format\");\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*/\nvar each = zrUtil.each;\nvar toCamelCase = formatUtil.toCamelCase;\nvar vendors = ['', '-webkit-', '-moz-', '-o-'];\nvar gCssText = 'position:absolute;display:block;border-style:solid;white-space:nowrap;z-index:9999999;';\n/**\n * @param {number} duration\n * @return {string}\n * @inner\n */\n\nfunction assembleTransition(duration) {\n var transitionCurve = 'cubic-bezier(0.23, 1, 0.32, 1)';\n var transitionText = 'left ' + duration + 's ' + transitionCurve + ',' + 'top ' + duration + 's ' + transitionCurve;\n return zrUtil.map(vendors, function (vendorPrefix) {\n return vendorPrefix + 'transition:' + transitionText;\n }).join(';');\n}\n/**\n * @param {Object} textStyle\n * @return {string}\n * @inner\n */\n\n\nfunction assembleFont(textStyleModel) {\n var cssText = [];\n var fontSize = textStyleModel.get('fontSize');\n var color = textStyleModel.getTextColor();\n color && cssText.push('color:' + color);\n cssText.push('font:' + textStyleModel.getFont());\n var lineHeight = textStyleModel.get('lineHeight');\n\n if (lineHeight == null) {\n lineHeight = Math.round(fontSize * 3 / 2);\n }\n\n fontSize && cssText.push('line-height:' + lineHeight + 'px');\n var shadowColor = textStyleModel.get('textShadowColor');\n var shadowBlur = textStyleModel.get('textShadowBlur') || 0;\n var shadowOffsetX = textStyleModel.get('textShadowOffsetX') || 0;\n var shadowOffsetY = textStyleModel.get('textShadowOffsetY') || 0;\n shadowBlur && cssText.push('text-shadow:' + shadowOffsetX + 'px ' + shadowOffsetY + 'px ' + shadowBlur + 'px ' + shadowColor);\n each(['decoration', 'align'], function (name) {\n var val = textStyleModel.get(name);\n val && cssText.push('text-' + name + ':' + val);\n });\n return cssText.join(';');\n}\n/**\n * @param {Object} tooltipModel\n * @return {string}\n * @inner\n */\n\n\nfunction assembleCssText(tooltipModel) {\n var cssText = [];\n var transitionDuration = tooltipModel.get('transitionDuration');\n var backgroundColor = tooltipModel.get('backgroundColor');\n var textStyleModel = tooltipModel.getModel('textStyle');\n var padding = tooltipModel.get('padding'); // Animation transition. Do not animate when transitionDuration is 0.\n\n transitionDuration && cssText.push(assembleTransition(transitionDuration));\n\n if (backgroundColor) {\n if (env.canvasSupported) {\n cssText.push('background-Color:' + backgroundColor);\n } else {\n // for ie\n cssText.push('background-Color:#' + zrColor.toHex(backgroundColor));\n cssText.push('filter:alpha(opacity=70)');\n }\n } // Border style\n\n\n each(['width', 'color', 'radius'], function (name) {\n var borderName = 'border-' + name;\n var camelCase = toCamelCase(borderName);\n var val = tooltipModel.get(camelCase);\n val != null && cssText.push(borderName + ':' + val + (name === 'color' ? '' : 'px'));\n }); // Text style\n\n cssText.push(assembleFont(textStyleModel)); // Padding\n\n if (padding != null) {\n cssText.push('padding:' + formatUtil.normalizeCssArray(padding).join('px ') + 'px');\n }\n\n return cssText.join(';') + ';';\n} // If not able to make, do not modify the input `out`.\n\n\nfunction makeStyleCoord(out, zr, appendToBody, zrX, zrY) {\n var zrPainter = zr && zr.painter;\n\n if (appendToBody) {\n var zrViewportRoot = zrPainter && zrPainter.getViewportRoot();\n\n if (zrViewportRoot) {\n // Some APPs might use scale on body, so we support CSS transform here.\n domUtil.transformLocalCoord(out, zrViewportRoot, document.body, zrX, zrY);\n }\n } else {\n out[0] = zrX;\n out[1] = zrY; // xy should be based on canvas root. But tooltipContent is\n // the sibling of canvas root. So padding of ec container\n // should be considered here.\n\n var viewportRootOffset = zrPainter && zrPainter.getViewportRootOffset();\n\n if (viewportRootOffset) {\n out[0] += viewportRootOffset.offsetLeft;\n out[1] += viewportRootOffset.offsetTop;\n }\n }\n\n out[2] = out[0] / zr.getWidth(); // The ratio of left to width\n\n out[3] = out[1] / zr.getHeight(); // The ratio of top to height\n}\n/**\n * @alias module:echarts/component/tooltip/TooltipContent\n * @param {HTMLElement} container\n * @param {ExtensionAPI} api\n * @param {Object} [opt]\n * @param {boolean} [opt.appendToBody]\n * `false`: the DOM element will be inside the container. Default value.\n * `true`: the DOM element will be appended to HTML body, which avoid\n * some overflow clip but intrude outside of the container.\n * @constructor\n */\n\n\nfunction TooltipContent(container, api, opt) {\n if (env.wxa) {\n return null;\n }\n\n var el = document.createElement('div');\n el.domBelongToZr = true;\n this.el = el;\n var zr = this._zr = api.getZr();\n var appendToBody = this._appendToBody = opt && opt.appendToBody;\n this._styleCoord = [0, 0, 0, 0]; // [left, top, left/width, top/height]\n\n makeStyleCoord(this._styleCoord, zr, appendToBody, api.getWidth() / 2, api.getHeight() / 2);\n\n if (appendToBody) {\n document.body.appendChild(el);\n } else {\n container.appendChild(el);\n }\n\n this._container = container;\n this._show = false;\n /**\n * @private\n */\n\n this._hideTimeout; // FIXME\n // Is it needed to trigger zr event manually if\n // the browser do not support `pointer-events: none`.\n\n var self = this;\n\n el.onmouseenter = function () {\n // clear the timeout in hideLater and keep showing tooltip\n if (self._enterable) {\n clearTimeout(self._hideTimeout);\n self._show = true;\n }\n\n self._inContent = true;\n };\n\n el.onmousemove = function (e) {\n e = e || window.event;\n\n if (!self._enterable) {\n // `pointer-events: none` is set to tooltip content div\n // if `enterable` is set as `false`, and `el.onmousemove`\n // can not be triggered. But in browser that do not\n // support `pointer-events`, we need to do this:\n // Try trigger zrender event to avoid mouse\n // in and out shape too frequently\n var handler = zr.handler;\n var zrViewportRoot = zr.painter.getViewportRoot();\n eventUtil.normalizeEvent(zrViewportRoot, e, true);\n handler.dispatch('mousemove', e);\n }\n };\n\n el.onmouseleave = function () {\n if (self._enterable) {\n if (self._show) {\n self.hideLater(self._hideDelay);\n }\n }\n\n self._inContent = false;\n };\n}\n\nTooltipContent.prototype = {\n constructor: TooltipContent,\n\n /**\n * @private\n * @type {boolean}\n */\n _enterable: true,\n\n /**\n * Update when tooltip is rendered\n */\n update: function (tooltipModel) {\n // FIXME\n // Move this logic to ec main?\n var container = this._container;\n var stl = container.currentStyle || document.defaultView.getComputedStyle(container);\n var domStyle = container.style;\n\n if (domStyle.position !== 'absolute' && stl.position !== 'absolute') {\n domStyle.position = 'relative';\n }\n\n var alwaysShowContent = tooltipModel.get('alwaysShowContent');\n alwaysShowContent && this._moveTooltipIfResized(); // Hide the tooltip\n // PENDING\n // this.hide();\n },\n\n /**\n * when `alwaysShowContent` is true,\n * we should move the tooltip after chart resized\n */\n _moveTooltipIfResized: function () {\n var ratioX = this._styleCoord[2]; // The ratio of left to width\n\n var ratioY = this._styleCoord[3]; // The ratio of top to height\n\n var realX = ratioX * this._zr.getWidth();\n\n var realY = ratioY * this._zr.getHeight();\n\n this.moveTo(realX, realY);\n },\n show: function (tooltipModel) {\n clearTimeout(this._hideTimeout);\n var el = this.el;\n var styleCoord = this._styleCoord;\n el.style.cssText = gCssText + assembleCssText(tooltipModel) // Because of the reason described in:\n // http://stackoverflow.com/questions/21125587/css3-transition-not-working-in-chrome-anymore\n // we should set initial value to `left` and `top`.\n + ';left:' + styleCoord[0] + 'px;top:' + styleCoord[1] + 'px;' + (tooltipModel.get('extraCssText') || '');\n el.style.display = el.innerHTML ? 'block' : 'none'; // If mouse occasionally move over the tooltip, a mouseout event will be\n // triggered by canvas, and cause some unexpectable result like dragging\n // stop, \"unfocusAdjacency\". Here `pointer-events: none` is used to solve\n // it. Although it is not supported by IE8~IE10, fortunately it is a rare\n // scenario.\n\n el.style.pointerEvents = this._enterable ? 'auto' : 'none';\n this._show = true;\n },\n setContent: function (content) {\n this.el.innerHTML = content == null ? '' : content;\n },\n setEnterable: function (enterable) {\n this._enterable = enterable;\n },\n getSize: function () {\n var el = this.el;\n return [el.clientWidth, el.clientHeight];\n },\n moveTo: function (zrX, zrY) {\n var styleCoord = this._styleCoord;\n makeStyleCoord(styleCoord, this._zr, this._appendToBody, zrX, zrY);\n var style = this.el.style;\n style.left = styleCoord[0] + 'px';\n style.top = styleCoord[1] + 'px';\n },\n hide: function () {\n this.el.style.display = 'none';\n this._show = false;\n },\n hideLater: function (time) {\n if (this._show && !(this._inContent && this._enterable)) {\n if (time) {\n this._hideDelay = time; // Set show false to avoid invoke hideLater multiple times\n\n this._show = false;\n this._hideTimeout = setTimeout(zrUtil.bind(this.hide, this), time);\n } else {\n this.hide();\n }\n }\n },\n isShow: function () {\n return this._show;\n },\n dispose: function () {\n this.el.parentNode.removeChild(this.el);\n },\n getOuterSize: function () {\n var width = this.el.clientWidth;\n var height = this.el.clientHeight; // Consider browser compatibility.\n // IE8 does not support getComputedStyle.\n\n if (document.defaultView && document.defaultView.getComputedStyle) {\n var stl = document.defaultView.getComputedStyle(this.el);\n\n if (stl) {\n width += parseInt(stl.borderLeftWidth, 10) + parseInt(stl.borderRightWidth, 10);\n height += parseInt(stl.borderTopWidth, 10) + parseInt(stl.borderBottomWidth, 10);\n }\n }\n\n return {\n width: width,\n height: height\n };\n }\n};\nvar _default = TooltipContent;\nmodule.exports = _default;","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\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*/\n\nrequire(\"./gauge/GaugeSeries\");\n\nrequire(\"./gauge/GaugeView\");","\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\nvar echarts = require(\"../echarts\");\n\nrequire(\"../component/parallel\");\n\nrequire(\"./parallel/ParallelSeries\");\n\nrequire(\"./parallel/ParallelView\");\n\nvar parallelVisual = require(\"./parallel/parallelVisual\");\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*/\necharts.registerVisual(parallelVisual);","\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\nvar echarts = require(\"../echarts\");\n\nrequire(\"./candlestick/CandlestickSeries\");\n\nrequire(\"./candlestick/CandlestickView\");\n\nvar preprocessor = require(\"./candlestick/preprocessor\");\n\nvar candlestickVisual = require(\"./candlestick/candlestickVisual\");\n\nvar candlestickLayout = require(\"./candlestick/candlestickLayout\");\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*/\necharts.registerPreprocessor(preprocessor);\necharts.registerVisual(candlestickVisual);\necharts.registerLayout(candlestickLayout);","'use strict';\n\nexports.__esModule = true;\n\nvar _vue = require('vue');\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _dom = require('pl-table/lib/utils/dom');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar nodeList = [];\nvar ctx = '@@clickoutsideContext';\n\nvar startClick = void 0;\nvar seed = 0;\n\n!_vue2.default.prototype.$isServer && (0, _dom.on)(document, 'mousedown', function (e) {\n return startClick = e;\n});\n\n!_vue2.default.prototype.$isServer && (0, _dom.on)(document, 'mouseup', function (e) {\n nodeList.forEach(function (node) {\n return node[ctx].documentHandler(e, startClick);\n });\n});\n\nfunction createDocumentHandler(el, binding, vnode) {\n return function () {\n var mouseup = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var mousedown = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!vnode || !vnode.context || !mouseup.target || !mousedown.target || el.contains(mouseup.target) || el.contains(mousedown.target) || el === mouseup.target || vnode.context.popperElm && (vnode.context.popperElm.contains(mouseup.target) || vnode.context.popperElm.contains(mousedown.target))) return;\n\n if (binding.expression && el[ctx].methodName && vnode.context[el[ctx].methodName]) {\n vnode.context[el[ctx].methodName]();\n } else {\n el[ctx].bindingFn && el[ctx].bindingFn();\n }\n };\n}\n\n/**\n * v-clickoutside\n * @desc 点击元素外面才会触发的事件\n * @example\n * ```vue\n *
\n * ```\n */\nexports.default = {\n bind: function bind(el, binding, vnode) {\n nodeList.push(el);\n var id = seed++;\n el[ctx] = {\n id: id,\n documentHandler: createDocumentHandler(el, binding, vnode),\n methodName: binding.expression,\n bindingFn: binding.value\n };\n },\n update: function update(el, binding, vnode) {\n el[ctx].documentHandler = createDocumentHandler(el, binding, vnode);\n el[ctx].methodName = binding.expression;\n el[ctx].bindingFn = binding.value;\n },\n unbind: function unbind(el) {\n var len = nodeList.length;\n\n for (var i = 0; i < len; i++) {\n if (nodeList[i][ctx].id === el[ctx].id) {\n nodeList.splice(i, 1);\n break;\n }\n }\n delete el[ctx];\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*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Axis = require(\"../../coord/Axis\");\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 * Extend axis 2d\n * @constructor module:echarts/coord/cartesian/Axis2D\n * @extends {module:echarts/coord/cartesian/Axis}\n * @param {string} dim\n * @param {*} scale\n * @param {Array.} coordExtent\n * @param {string} axisType\n * @param {string} position\n */\nvar TimelineAxis = function (dim, scale, coordExtent, axisType) {\n Axis.call(this, dim, scale, coordExtent);\n /**\n * Axis type\n * - 'category'\n * - 'value'\n * - 'time'\n * - 'log'\n * @type {string}\n */\n\n this.type = axisType || 'value';\n /**\n * Axis model\n * @param {module:echarts/component/TimelineModel}\n */\n\n this.model = null;\n};\n\nTimelineAxis.prototype = {\n constructor: TimelineAxis,\n\n /**\n * @override\n */\n getLabelModel: function () {\n return this.model.getModel('label');\n },\n\n /**\n * @override\n */\n isHorizontal: function () {\n return this.model.get('orient') === 'horizontal';\n }\n};\nzrUtil.inherits(TimelineAxis, Axis);\nvar _default = TimelineAxis;\nmodule.exports = _default;","// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\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*/\n\nvar _graphic = require(\"../../util/graphic\");\n\nvar subPixelOptimize = _graphic.subPixelOptimize;\n\nvar createRenderPlanner = require(\"../helper/createRenderPlanner\");\n\nvar _number = require(\"../../util/number\");\n\nvar parsePercent = _number.parsePercent;\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar retrieve2 = _util.retrieve2;\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/* global Float32Array */\nvar LargeArr = typeof Float32Array !== 'undefined' ? Float32Array : Array;\nvar _default = {\n seriesType: 'candlestick',\n plan: createRenderPlanner(),\n reset: function (seriesModel) {\n var coordSys = seriesModel.coordinateSystem;\n var data = seriesModel.getData();\n var candleWidth = calculateCandleWidth(seriesModel, data);\n var cDimIdx = 0;\n var vDimIdx = 1;\n var coordDims = ['x', 'y'];\n var cDim = data.mapDimension(coordDims[cDimIdx]);\n var vDims = data.mapDimension(coordDims[vDimIdx], true);\n var openDim = vDims[0];\n var closeDim = vDims[1];\n var lowestDim = vDims[2];\n var highestDim = vDims[3];\n data.setLayout({\n candleWidth: candleWidth,\n // The value is experimented visually.\n isSimpleBox: candleWidth <= 1.3\n });\n\n if (cDim == null || vDims.length < 4) {\n return;\n }\n\n return {\n progress: seriesModel.pipelineContext.large ? largeProgress : normalProgress\n };\n\n function normalProgress(params, data) {\n var dataIndex;\n\n while ((dataIndex = params.next()) != null) {\n var axisDimVal = data.get(cDim, dataIndex);\n var openVal = data.get(openDim, dataIndex);\n var closeVal = data.get(closeDim, dataIndex);\n var lowestVal = data.get(lowestDim, dataIndex);\n var highestVal = data.get(highestDim, dataIndex);\n var ocLow = Math.min(openVal, closeVal);\n var ocHigh = Math.max(openVal, closeVal);\n var ocLowPoint = getPoint(ocLow, axisDimVal);\n var ocHighPoint = getPoint(ocHigh, axisDimVal);\n var lowestPoint = getPoint(lowestVal, axisDimVal);\n var highestPoint = getPoint(highestVal, axisDimVal);\n var ends = [];\n addBodyEnd(ends, ocHighPoint, 0);\n addBodyEnd(ends, ocLowPoint, 1);\n ends.push(subPixelOptimizePoint(highestPoint), subPixelOptimizePoint(ocHighPoint), subPixelOptimizePoint(lowestPoint), subPixelOptimizePoint(ocLowPoint));\n data.setItemLayout(dataIndex, {\n sign: getSign(data, dataIndex, openVal, closeVal, closeDim),\n initBaseline: openVal > closeVal ? ocHighPoint[vDimIdx] : ocLowPoint[vDimIdx],\n // open point.\n ends: ends,\n brushRect: makeBrushRect(lowestVal, highestVal, axisDimVal)\n });\n }\n\n function getPoint(val, axisDimVal) {\n var p = [];\n p[cDimIdx] = axisDimVal;\n p[vDimIdx] = val;\n return isNaN(axisDimVal) || isNaN(val) ? [NaN, NaN] : coordSys.dataToPoint(p);\n }\n\n function addBodyEnd(ends, point, start) {\n var point1 = point.slice();\n var point2 = point.slice();\n point1[cDimIdx] = subPixelOptimize(point1[cDimIdx] + candleWidth / 2, 1, false);\n point2[cDimIdx] = subPixelOptimize(point2[cDimIdx] - candleWidth / 2, 1, true);\n start ? ends.push(point1, point2) : ends.push(point2, point1);\n }\n\n function makeBrushRect(lowestVal, highestVal, axisDimVal) {\n var pmin = getPoint(lowestVal, axisDimVal);\n var pmax = getPoint(highestVal, axisDimVal);\n pmin[cDimIdx] -= candleWidth / 2;\n pmax[cDimIdx] -= candleWidth / 2;\n return {\n x: pmin[0],\n y: pmin[1],\n width: vDimIdx ? candleWidth : pmax[0] - pmin[0],\n height: vDimIdx ? pmax[1] - pmin[1] : candleWidth\n };\n }\n\n function subPixelOptimizePoint(point) {\n point[cDimIdx] = subPixelOptimize(point[cDimIdx], 1);\n return point;\n }\n }\n\n function largeProgress(params, data) {\n // Structure: [sign, x, yhigh, ylow, sign, x, yhigh, ylow, ...]\n var points = new LargeArr(params.count * 4);\n var offset = 0;\n var point;\n var tmpIn = [];\n var tmpOut = [];\n var dataIndex;\n\n while ((dataIndex = params.next()) != null) {\n var axisDimVal = data.get(cDim, dataIndex);\n var openVal = data.get(openDim, dataIndex);\n var closeVal = data.get(closeDim, dataIndex);\n var lowestVal = data.get(lowestDim, dataIndex);\n var highestVal = data.get(highestDim, dataIndex);\n\n if (isNaN(axisDimVal) || isNaN(lowestVal) || isNaN(highestVal)) {\n points[offset++] = NaN;\n offset += 3;\n continue;\n }\n\n points[offset++] = getSign(data, dataIndex, openVal, closeVal, closeDim);\n tmpIn[cDimIdx] = axisDimVal;\n tmpIn[vDimIdx] = lowestVal;\n point = coordSys.dataToPoint(tmpIn, null, tmpOut);\n points[offset++] = point ? point[0] : NaN;\n points[offset++] = point ? point[1] : NaN;\n tmpIn[vDimIdx] = highestVal;\n point = coordSys.dataToPoint(tmpIn, null, tmpOut);\n points[offset++] = point ? point[1] : NaN;\n }\n\n data.setLayout('largePoints', points);\n }\n }\n};\n\nfunction getSign(data, dataIndex, openVal, closeVal, closeDim) {\n var sign;\n\n if (openVal > closeVal) {\n sign = -1;\n } else if (openVal < closeVal) {\n sign = 1;\n } else {\n sign = dataIndex > 0 // If close === open, compare with close of last record\n ? data.get(closeDim, dataIndex - 1) <= closeVal ? 1 : -1 : // No record of previous, set to be positive\n 1;\n }\n\n return sign;\n}\n\nfunction calculateCandleWidth(seriesModel, data) {\n var baseAxis = seriesModel.getBaseAxis();\n var extent;\n var bandWidth = baseAxis.type === 'category' ? baseAxis.getBandWidth() : (extent = baseAxis.getExtent(), Math.abs(extent[1] - extent[0]) / data.count());\n var barMaxWidth = parsePercent(retrieve2(seriesModel.get('barMaxWidth'), bandWidth), bandWidth);\n var barMinWidth = parsePercent(retrieve2(seriesModel.get('barMinWidth'), 1), bandWidth);\n var barWidth = seriesModel.get('barWidth');\n return barWidth != null ? parsePercent(barWidth, bandWidth) // Put max outer to ensure bar visible in spite of overlap.\n : Math.max(Math.min(bandWidth / 2, barMaxWidth), barMinWidth);\n}\n\nmodule.exports = _default;","'use strict';\n\nvar defaults = require('./../defaults');\nvar utils = require('./../utils');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, {method: 'get'}, this.defaults, config);\n config.method = config.method.toLowerCase();\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","var staticHGKeyRE = require('../static/staticHGKeyRE')\r\n\r\nvar helperGetHGSKeys = require('./helperGetHGSKeys')\r\n\r\nvar hasOwnProp = require('./hasOwnProp')\r\n\r\n/**\r\n * 检查键、路径是否是该对象的属性\r\n *\r\n * @param {Object/Array} data 对象\r\n * @param {String/Function} property 键、路径\r\n * @return {Boolean}\r\n */\r\nfunction has (obj, property) {\r\n if (obj) {\r\n if (hasOwnProp(obj, property)) {\r\n return true\r\n } else {\r\n var prop, arrIndex, objProp, matchs, rest, isHas\r\n var props = helperGetHGSKeys(property)\r\n var index = 0\r\n var len = props.length\r\n for (rest = obj; index < len; index++) {\r\n isHas = false\r\n prop = props[index]\r\n matchs = prop ? prop.match(staticHGKeyRE) : ''\r\n if (matchs) {\r\n arrIndex = matchs[1]\r\n objProp = matchs[2]\r\n if (arrIndex) {\r\n if (rest[arrIndex]) {\r\n if (hasOwnProp(rest[arrIndex], objProp)) {\r\n isHas = true\r\n rest = rest[arrIndex][objProp]\r\n }\r\n }\r\n } else {\r\n if (hasOwnProp(rest, objProp)) {\r\n isHas = true\r\n rest = rest[objProp]\r\n }\r\n }\r\n } else {\r\n if (hasOwnProp(rest, prop)) {\r\n isHas = true\r\n rest = rest[prop]\r\n }\r\n }\r\n if (isHas) {\r\n if (index === len - 1) {\r\n return true\r\n }\r\n } else {\r\n break\r\n }\r\n }\r\n }\r\n }\r\n return false\r\n}\r\n\r\nmodule.exports = has\r\n","var staticLocation = require('../static/staticLocation')\r\n\r\nvar parseUrl = require('../url/parseUrl')\r\n\r\n/**\r\n * 获取地址栏信息\r\n *\r\n * @return Object\r\n */\r\nfunction locat () {\r\n return staticLocation ? parseUrl(staticLocation.href) : {}\r\n}\r\n\r\nmodule.exports = locat\r\n","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n","var echarts = require('echarts/lib/echarts');\nvar layoutUtil = require('echarts/lib/util/layout');\n\nrequire('./WordCloudSeries');\nrequire('./WordCloudView');\n\nvar wordCloudLayoutHelper = require('./layout');\n\nif (!wordCloudLayoutHelper.isSupported) {\n throw new Error('Sorry your browser not support wordCloud');\n}\n\n// https://github.com/timdream/wordcloud2.js/blob/c236bee60436e048949f9becc4f0f67bd832dc5c/index.js#L233\nfunction updateCanvasMask(maskCanvas) {\n var ctx = maskCanvas.getContext('2d');\n var imageData = ctx.getImageData(\n 0, 0, maskCanvas.width, maskCanvas.height);\n var newImageData = ctx.createImageData(imageData);\n\n var toneSum = 0;\n var toneCnt = 0;\n for (var i = 0; i < imageData.data.length; i += 4) {\n var alpha = imageData.data[i + 3];\n if (alpha > 128) {\n var tone = imageData.data[i]\n + imageData.data[i + 1]\n + imageData.data[i + 2];\n toneSum += tone;\n ++toneCnt;\n }\n }\n var threshold = toneSum / toneCnt;\n\n for (var i = 0; i < imageData.data.length; i += 4) {\n var tone = imageData.data[i]\n + imageData.data[i + 1]\n + imageData.data[i + 2];\n var alpha = imageData.data[i + 3];\n\n if (alpha < 128 || tone > threshold) {\n // Area not to draw\n newImageData.data[i] = 0;\n newImageData.data[i + 1] = 0;\n newImageData.data[i + 2] = 0;\n newImageData.data[i + 3] = 0;\n }\n else {\n // Area to draw\n // The color must be same with backgroundColor\n newImageData.data[i] = 255;\n newImageData.data[i + 1] = 255;\n newImageData.data[i + 2] = 255;\n newImageData.data[i + 3] = 255;\n }\n }\n\n ctx.putImageData(newImageData, 0, 0);\n}\n\necharts.registerLayout(function (ecModel, api) {\n ecModel.eachSeriesByType('wordCloud', function (seriesModel) {\n var gridRect = layoutUtil.getLayoutRect(\n seriesModel.getBoxLayoutParams(), {\n width: api.getWidth(),\n height: api.getHeight()\n }\n );\n var data = seriesModel.getData();\n\n var canvas = document.createElement('canvas');\n canvas.width = gridRect.width;\n canvas.height = gridRect.height;\n\n var ctx = canvas.getContext('2d');\n var maskImage = seriesModel.get('maskImage');\n if (maskImage) {\n try {\n ctx.drawImage(maskImage, 0, 0, canvas.width, canvas.height);\n updateCanvasMask(canvas);\n }\n catch (e) {\n console.error('Invalid mask image');\n console.error(e.toString());\n }\n }\n\n var sizeRange = seriesModel.get('sizeRange');\n var rotationRange = seriesModel.get('rotationRange');\n var valueExtent = data.getDataExtent('value');\n\n var DEGREE_TO_RAD = Math.PI / 180;\n var gridSize = seriesModel.get('gridSize');\n wordCloudLayoutHelper(canvas, {\n list: data.mapArray('value', function (value, idx) {\n var itemModel = data.getItemModel(idx);\n return [\n data.getName(idx),\n itemModel.get('textStyle.normal.textSize', true)\n || echarts.number.linearMap(value, valueExtent, sizeRange),\n idx\n ];\n }).sort(function (a, b) {\n // Sort from large to small in case there is no more room for more words\n return b[1] - a[1];\n }),\n fontFamily: seriesModel.get('textStyle.normal.fontFamily')\n || seriesModel.get('textStyle.emphasis.fontFamily')\n || ecModel.get('textStyle.fontFamily'),\n fontWeight: seriesModel.get('textStyle.normal.fontWeight')\n || seriesModel.get('textStyle.emphasis.fontWeight')\n || ecModel.get('textStyle.fontWeight'),\n gridSize: gridSize,\n\n ellipticity: gridRect.height / gridRect.width,\n\n minRotation: rotationRange[0] * DEGREE_TO_RAD,\n maxRotation: rotationRange[1] * DEGREE_TO_RAD,\n\n clearCanvas: !maskImage,\n\n rotateRatio: 1,\n\n rotationStep: seriesModel.get('rotationStep') * DEGREE_TO_RAD,\n\n drawOutOfBound: seriesModel.get('drawOutOfBound'),\n\n shuffle: false,\n\n shape: seriesModel.get('shape')\n });\n\n function onWordCloudDrawn(e) {\n var item = e.detail.item;\n if (e.detail.drawn && seriesModel.layoutInstance.ondraw) {\n e.detail.drawn.gx += gridRect.x / gridSize;\n e.detail.drawn.gy += gridRect.y / gridSize;\n seriesModel.layoutInstance.ondraw(\n item[0], item[1], item[2], e.detail.drawn\n );\n }\n }\n\n canvas.addEventListener('wordclouddrawn', onWordCloudDrawn);\n\n if (seriesModel.layoutInstance) {\n // Dispose previous\n seriesModel.layoutInstance.dispose();\n }\n\n seriesModel.layoutInstance = {\n ondraw: null,\n\n dispose: function () {\n canvas.removeEventListener('wordclouddrawn', onWordCloudDrawn);\n // Abort\n canvas.addEventListener('wordclouddrawn', function (e) {\n // Prevent default to cancle the event and stop the loop\n e.preventDefault();\n });\n }\n };\n });\n});\n\necharts.registerPreprocessor(function (option) {\n var series = (option || {}).series;\n !echarts.util.isArray(series) && (series = series ? [series] : []);\n\n var compats = ['shadowColor', 'shadowBlur', 'shadowOffsetX', 'shadowOffsetY'];\n\n echarts.util.each(series, function (seriesItem) {\n if (seriesItem && seriesItem.type === 'wordCloud') {\n var textStyle = seriesItem.textStyle || {};\n\n compatTextStyle(textStyle.normal);\n compatTextStyle(textStyle.emphasis);\n }\n });\n\n function compatTextStyle(textStyle) {\n textStyle && echarts.util.each(compats, function (key) {\n if (textStyle.hasOwnProperty(key)) {\n textStyle['text' + echarts.format.capitalFirst(key)] = textStyle[key];\n }\n });\n }\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*/\n\nrequire(\"./dataZoomSlider\");\n\nrequire(\"./dataZoomInside\");","var toValString = require('././toString')\r\nvar helperStringSubstring = require('./helperStringSubstring')\r\nvar helperStringUpperCase = require('./helperStringUpperCase')\r\nvar helperStringLowerCase = require('./helperStringLowerCase')\r\n\r\nvar camelCacheMaps = {}\r\n\r\n/**\r\n * 将带字符串转成驼峰字符串,例如: project-name 转为 projectName\r\n *\r\n * @param {String} str 字符串\r\n * @return {String}\r\n */\r\nfunction camelCase (str) {\r\n str = toValString(str)\r\n if (camelCacheMaps[str]) {\r\n return camelCacheMaps[str]\r\n }\r\n var strLen = str.length\r\n var rest = str.replace(/([-]+)/g, function (text, flag, index) {\r\n return index && index + flag.length < strLen ? '-' : ''\r\n })\r\n strLen = rest.length\r\n rest = rest.replace(/([A-Z]+)/g, function (text, upper, index) {\r\n var upperLen = upper.length\r\n upper = helperStringLowerCase(upper)\r\n if (index) {\r\n if (upperLen > 2 && index + upperLen < strLen) {\r\n return helperStringUpperCase(helperStringSubstring(upper, 0, 1)) + helperStringSubstring(upper, 1, upperLen - 1) + helperStringUpperCase(helperStringSubstring(upper, upperLen - 1, upperLen))\r\n }\r\n return helperStringUpperCase(helperStringSubstring(upper, 0, 1)) + helperStringSubstring(upper, 1, upperLen)\r\n } else {\r\n if (upperLen > 1 && index + upperLen < strLen) {\r\n return helperStringSubstring(upper, 0, upperLen - 1) + helperStringUpperCase(helperStringSubstring(upper, upperLen - 1, upperLen))\r\n }\r\n }\r\n return upper\r\n }).replace(/(-[a-zA-Z])/g, function (text, upper) {\r\n return helperStringUpperCase(helperStringSubstring(upper, 1, upper.length))\r\n })\r\n camelCacheMaps[str] = rest\r\n return rest\r\n}\r\n\r\nmodule.exports = camelCase\r\n","var eventUtil = require(\"./event\");\n\n/**\n * Only implements needed gestures for mobile.\n */\nvar GestureMgr = function () {\n /**\n * @private\n * @type {Array.}\n */\n this._track = [];\n};\n\nGestureMgr.prototype = {\n constructor: GestureMgr,\n recognize: function (event, target, root) {\n this._doTrack(event, target, root);\n\n return this._recognize(event);\n },\n clear: function () {\n this._track.length = 0;\n return this;\n },\n _doTrack: function (event, target, root) {\n var touches = event.touches;\n\n if (!touches) {\n return;\n }\n\n var trackItem = {\n points: [],\n touches: [],\n target: target,\n event: event\n };\n\n for (var i = 0, len = touches.length; i < len; i++) {\n var touch = touches[i];\n var pos = eventUtil.clientToLocal(root, touch, {});\n trackItem.points.push([pos.zrX, pos.zrY]);\n trackItem.touches.push(touch);\n }\n\n this._track.push(trackItem);\n },\n _recognize: function (event) {\n for (var eventName in recognizers) {\n if (recognizers.hasOwnProperty(eventName)) {\n var gestureInfo = recognizers[eventName](this._track, event);\n\n if (gestureInfo) {\n return gestureInfo;\n }\n }\n }\n }\n};\n\nfunction dist(pointPair) {\n var dx = pointPair[1][0] - pointPair[0][0];\n var dy = pointPair[1][1] - pointPair[0][1];\n return Math.sqrt(dx * dx + dy * dy);\n}\n\nfunction center(pointPair) {\n return [(pointPair[0][0] + pointPair[1][0]) / 2, (pointPair[0][1] + pointPair[1][1]) / 2];\n}\n\nvar recognizers = {\n pinch: function (track, event) {\n var trackLen = track.length;\n\n if (!trackLen) {\n return;\n }\n\n var pinchEnd = (track[trackLen - 1] || {}).points;\n var pinchPre = (track[trackLen - 2] || {}).points || pinchEnd;\n\n if (pinchPre && pinchPre.length > 1 && pinchEnd && pinchEnd.length > 1) {\n var pinchScale = dist(pinchEnd) / dist(pinchPre);\n !isFinite(pinchScale) && (pinchScale = 1);\n event.pinchScale = pinchScale;\n var pinchCenter = center(pinchEnd);\n event.pinchX = pinchCenter[0];\n event.pinchY = pinchCenter[1];\n return {\n type: 'pinch',\n target: track[0].target,\n event: event\n };\n }\n } // Only pinch currently.\n\n};\nvar _default = GestureMgr;\nmodule.exports = _default;","\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\nrequire(\"./legend\");\n\nrequire(\"./legend/ScrollableLegendModel\");\n\nrequire(\"./legend/ScrollableLegendView\");\n\nrequire(\"./legend/scrollableLegendAction\");","var isFunction = require('./isFunction')\r\nvar isArray = require('./isArray')\r\nvar each = require('./each')\r\nvar findIndexOf = require('./findIndexOf')\r\n\r\nfunction helperCreatePickOmit (case1, case2) {\r\n return function (obj, callback) {\r\n var item, index\r\n var rest = {}\r\n var result = []\r\n var context = this\r\n var args = arguments\r\n var len = args.length\r\n if (!isFunction(callback)) {\r\n for (index = 1; index < len; index++) {\r\n item = args[index]\r\n result.push.apply(result, isArray(item) ? item : [item])\r\n }\r\n callback = 0\r\n }\r\n each(obj, function (val, key) {\r\n if ((callback ? callback.call(context, val, key, obj) : findIndexOf(result, function (name) {\r\n return name === key\r\n }) > -1) ? case1 : case2) {\r\n rest[key] = val\r\n }\r\n })\r\n return rest\r\n }\r\n}\r\n\r\nmodule.exports = helperCreatePickOmit\r\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _xeUtils = _interopRequireDefault(require(\"xe-utils/methods/xe-utils\"));\n\nvar _conf = _interopRequireDefault(require(\"../../conf\"));\n\nvar _dom = _interopRequireDefault(require(\"../../tools/src/dom\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n/**\n * 监听 resize 事件\n * 如果项目中已使用了 resize-observer-polyfill,那么只需要将方法定义全局,该组件就会自动使用\n */\nvar resizeTimeout;\nvar eventStore = [];\nvar defaultInterval = 250;\n\nvar ResizeObserverPolyfill =\n/*#__PURE__*/\nfunction () {\n function ResizeObserverPolyfill(callback) {\n _classCallCheck(this, ResizeObserverPolyfill);\n\n this.tarList = [];\n this.callback = callback;\n }\n\n _createClass(ResizeObserverPolyfill, [{\n key: \"observe\",\n value: function observe(target) {\n var _this = this;\n\n if (target) {\n if (this.tarList.indexOf(target) === -1) {\n this.tarList.push({\n target: target,\n width: target.clientWidth,\n heighe: target.clientHeight\n });\n }\n\n if (!eventStore.length) {\n eventListener();\n }\n\n if (!eventStore.some(function (item) {\n return item === _this;\n })) {\n eventStore.push(this);\n }\n }\n }\n }, {\n key: \"unobserve\",\n value: function unobserve(target) {\n _xeUtils.default.remove(eventStore, function (item) {\n return item.tarList.indexOf(target) > -1;\n });\n }\n }, {\n key: \"disconnect\",\n value: function disconnect() {\n var _this2 = this;\n\n _xeUtils.default.remove(eventStore, function (item) {\n return item === _this2;\n });\n }\n }]);\n\n return ResizeObserverPolyfill;\n}();\n\nvar Resize = _dom.default.browse.isDoc ? window.ResizeObserver || ResizeObserverPolyfill : ResizeObserverPolyfill;\n\nfunction eventListener() {\n clearTimeout(resizeTimeout);\n resizeTimeout = setTimeout(eventHandle, _conf.default.resizeInterval || defaultInterval);\n}\n\nfunction eventHandle() {\n if (eventStore.length) {\n eventStore.forEach(function (item) {\n item.tarList.forEach(function (observer) {\n var target = observer.target,\n width = observer.width,\n heighe = observer.heighe;\n var clientWidth = target.clientWidth;\n var clientHeight = target.clientHeight;\n var rWidth = clientWidth && width !== clientWidth;\n var rHeight = clientHeight && heighe !== clientHeight;\n\n if (rWidth || rHeight) {\n observer.width = clientWidth;\n observer.heighe = clientHeight;\n requestAnimationFrame(item.callback);\n }\n });\n });\n eventListener();\n }\n}\n\nvar _default = Resize;\nexports.default = _default;","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","// Myers' Diff Algorithm\n// Modified from https://github.com/kpdecker/jsdiff/blob/master/src/diff/base.js\nfunction Diff() {}\n\nDiff.prototype = {\n diff: function (oldArr, newArr, equals) {\n if (!equals) {\n equals = function (a, b) {\n return a === b;\n };\n }\n\n this.equals = equals;\n var self = this;\n oldArr = oldArr.slice();\n newArr = newArr.slice(); // Allow subclasses to massage the input prior to running\n\n var newLen = newArr.length;\n var oldLen = oldArr.length;\n var editLength = 1;\n var maxEditLength = newLen + oldLen;\n var bestPath = [{\n newPos: -1,\n components: []\n }]; // Seed editLength = 0, i.e. the content starts with the same values\n\n var oldPos = this.extractCommon(bestPath[0], newArr, oldArr, 0);\n\n if (bestPath[0].newPos + 1 >= newLen && oldPos + 1 >= oldLen) {\n var indices = [];\n\n for (var i = 0; i < newArr.length; i++) {\n indices.push(i);\n } // Identity per the equality and tokenizer\n\n\n return [{\n indices: indices,\n count: newArr.length\n }];\n } // Main worker method. checks all permutations of a given edit length for acceptance.\n\n\n function execEditLength() {\n for (var diagonalPath = -1 * editLength; diagonalPath <= editLength; diagonalPath += 2) {\n var basePath;\n var addPath = bestPath[diagonalPath - 1];\n var removePath = bestPath[diagonalPath + 1];\n var oldPos = (removePath ? removePath.newPos : 0) - diagonalPath;\n\n if (addPath) {\n // No one else is going to attempt to use this value, clear it\n bestPath[diagonalPath - 1] = undefined;\n }\n\n var canAdd = addPath && addPath.newPos + 1 < newLen;\n var canRemove = removePath && 0 <= oldPos && oldPos < oldLen;\n\n if (!canAdd && !canRemove) {\n // If this path is a terminal then prune\n bestPath[diagonalPath] = undefined;\n continue;\n } // Select the diagonal that we want to branch from. We select the prior\n // path whose position in the new string is the farthest from the origin\n // and does not pass the bounds of the diff graph\n\n\n if (!canAdd || canRemove && addPath.newPos < removePath.newPos) {\n basePath = clonePath(removePath);\n self.pushComponent(basePath.components, undefined, true);\n } else {\n basePath = addPath; // No need to clone, we've pulled it from the list\n\n basePath.newPos++;\n self.pushComponent(basePath.components, true, undefined);\n }\n\n oldPos = self.extractCommon(basePath, newArr, oldArr, diagonalPath); // If we have hit the end of both strings, then we are done\n\n if (basePath.newPos + 1 >= newLen && oldPos + 1 >= oldLen) {\n return buildValues(self, basePath.components, newArr, oldArr);\n } else {\n // Otherwise track this path as a potential candidate and continue.\n bestPath[diagonalPath] = basePath;\n }\n }\n\n editLength++;\n }\n\n while (editLength <= maxEditLength) {\n var ret = execEditLength();\n\n if (ret) {\n return ret;\n }\n }\n },\n pushComponent: function (components, added, removed) {\n var last = components[components.length - 1];\n\n if (last && last.added === added && last.removed === removed) {\n // We need to clone here as the component clone operation is just\n // as shallow array clone\n components[components.length - 1] = {\n count: last.count + 1,\n added: added,\n removed: removed\n };\n } else {\n components.push({\n count: 1,\n added: added,\n removed: removed\n });\n }\n },\n extractCommon: function (basePath, newArr, oldArr, diagonalPath) {\n var newLen = newArr.length;\n var oldLen = oldArr.length;\n var newPos = basePath.newPos;\n var oldPos = newPos - diagonalPath;\n var commonCount = 0;\n\n while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newArr[newPos + 1], oldArr[oldPos + 1])) {\n newPos++;\n oldPos++;\n commonCount++;\n }\n\n if (commonCount) {\n basePath.components.push({\n count: commonCount\n });\n }\n\n basePath.newPos = newPos;\n return oldPos;\n },\n tokenize: function (value) {\n return value.slice();\n },\n join: function (value) {\n return value.slice();\n }\n};\n\nfunction buildValues(diff, components, newArr, oldArr) {\n var componentPos = 0;\n var componentLen = components.length;\n var newPos = 0;\n var oldPos = 0;\n\n for (; componentPos < componentLen; componentPos++) {\n var component = components[componentPos];\n\n if (!component.removed) {\n var indices = [];\n\n for (var i = newPos; i < newPos + component.count; i++) {\n indices.push(i);\n }\n\n component.indices = indices;\n newPos += component.count; // Common case\n\n if (!component.added) {\n oldPos += component.count;\n }\n } else {\n var indices = [];\n\n for (var i = oldPos; i < oldPos + component.count; i++) {\n indices.push(i);\n }\n\n component.indices = indices;\n oldPos += component.count;\n }\n }\n\n return components;\n}\n\nfunction clonePath(path) {\n return {\n newPos: path.newPos,\n components: path.components.slice(0)\n };\n}\n\nvar arrayDiff = new Diff();\n\nfunction _default(oldArr, newArr, callback) {\n return arrayDiff.diff(oldArr, newArr, callback);\n}\n\nmodule.exports = _default;","\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\nvar zrUtil = require(\"zrender/lib/core/util\");\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*/\nvar KEY_DELIMITER = '-->';\n/**\n * params handler\n * @param {module:echarts/model/SeriesModel} seriesModel\n * @returns {*}\n */\n\nvar getAutoCurvenessParams = function (seriesModel) {\n return seriesModel.get('autoCurveness') || null;\n};\n/**\n * Generate a list of edge curvatures, 20 is the default\n * @param {module:echarts/model/SeriesModel} seriesModel\n * @param {number} appendLength\n * @return 20 => [0, -0.2, 0.2, -0.4, 0.4, -0.6, 0.6, -0.8, 0.8, -1, 1, -1.2, 1.2, -1.4, 1.4, -1.6, 1.6, -1.8, 1.8, -2]\n */\n\n\nvar createCurveness = function (seriesModel, appendLength) {\n var autoCurvenessParmas = getAutoCurvenessParams(seriesModel);\n var length = 20;\n var curvenessList = []; // handler the function set\n\n if (typeof autoCurvenessParmas === 'number') {\n length = autoCurvenessParmas;\n } else if (zrUtil.isArray(autoCurvenessParmas)) {\n seriesModel.__curvenessList = autoCurvenessParmas;\n return;\n } // append length\n\n\n if (appendLength > length) {\n length = appendLength;\n } // make sure the length is even\n\n\n var len = length % 2 ? length + 2 : length + 3;\n curvenessList = [];\n\n for (var i = 0; i < len; i++) {\n curvenessList.push((i % 2 ? i + 1 : i) / 10 * (i % 2 ? -1 : 1));\n }\n\n seriesModel.__curvenessList = curvenessList;\n};\n/**\n * Create different cache key data in the positive and negative directions, in order to set the curvature later\n * @param {number|string|module:echarts/data/Graph.Node} n1\n * @param {number|string|module:echarts/data/Graph.Node} n2\n * @param {module:echarts/model/SeriesModel} seriesModel\n * @returns {string} key\n */\n\n\nvar getKeyOfEdges = function (n1, n2, seriesModel) {\n var source = [n1.id, n1.dataIndex].join('.');\n var target = [n2.id, n2.dataIndex].join('.');\n return [seriesModel.uid, source, target].join(KEY_DELIMITER);\n};\n/**\n * get opposite key\n * @param {string} key\n * @returns {string}\n */\n\n\nvar getOppositeKey = function (key) {\n var keys = key.split(KEY_DELIMITER);\n return [keys[0], keys[2], keys[1]].join(KEY_DELIMITER);\n};\n/**\n * get edgeMap with key\n * @param edge\n * @param {module:echarts/model/SeriesModel} seriesModel\n */\n\n\nvar getEdgeFromMap = function (edge, seriesModel) {\n var key = getKeyOfEdges(edge.node1, edge.node2, seriesModel);\n return seriesModel.__edgeMap[key];\n};\n/**\n * calculate all cases total length\n * @param edge\n * @param seriesModel\n * @returns {number}\n */\n\n\nvar getTotalLengthBetweenNodes = function (edge, seriesModel) {\n var len = getEdgeMapLengthWithKey(getKeyOfEdges(edge.node1, edge.node2, seriesModel), seriesModel);\n var lenV = getEdgeMapLengthWithKey(getKeyOfEdges(edge.node2, edge.node1, seriesModel), seriesModel);\n return len + lenV;\n};\n/**\n *\n * @param key\n */\n\n\nvar getEdgeMapLengthWithKey = function (key, seriesModel) {\n var edgeMap = seriesModel.__edgeMap;\n return edgeMap[key] ? edgeMap[key].length : 0;\n};\n/**\n * Count the number of edges between the same two points, used to obtain the curvature table and the parity of the edge\n * @see /graph/GraphSeries.js@getInitialData\n * @param {module:echarts/model/SeriesModel} seriesModel\n */\n\n\nfunction initCurvenessList(seriesModel) {\n if (!getAutoCurvenessParams(seriesModel)) {\n return;\n }\n\n seriesModel.__curvenessList = [];\n seriesModel.__edgeMap = {}; // calc the array of curveness List\n\n createCurveness(seriesModel);\n}\n/**\n * set edgeMap with key\n * @param {number|string|module:echarts/data/Graph.Node} n1\n * @param {number|string|module:echarts/data/Graph.Node} n2\n * @param {module:echarts/model/SeriesModel} seriesModel\n * @param {number} index\n */\n\n\nfunction createEdgeMapForCurveness(n1, n2, seriesModel, index) {\n if (!getAutoCurvenessParams(seriesModel)) {\n return;\n }\n\n var key = getKeyOfEdges(n1, n2, seriesModel);\n var edgeMap = seriesModel.__edgeMap;\n var oppositeEdges = edgeMap[getOppositeKey(key)]; // set direction\n\n if (edgeMap[key] && !oppositeEdges) {\n edgeMap[key].isForward = true;\n } else if (oppositeEdges && edgeMap[key]) {\n oppositeEdges.isForward = true;\n edgeMap[key].isForward = false;\n }\n\n edgeMap[key] = edgeMap[key] || [];\n edgeMap[key].push(index);\n}\n/**\n * get curvature for edge\n * @param edge\n * @param {module:echarts/model/SeriesModel} seriesModel\n * @param index\n */\n\n\nfunction getCurvenessForEdge(edge, seriesModel, index, needReverse) {\n var autoCurvenessParams = getAutoCurvenessParams(seriesModel);\n var isArrayParam = zrUtil.isArray(autoCurvenessParams);\n\n if (!autoCurvenessParams) {\n return null;\n }\n\n var edgeArray = getEdgeFromMap(edge, seriesModel);\n\n if (!edgeArray) {\n return null;\n }\n\n var edgeIndex = -1;\n\n for (var i = 0; i < edgeArray.length; i++) {\n if (edgeArray[i] === index) {\n edgeIndex = i;\n break;\n }\n } // if totalLen is Longer createCurveness\n\n\n var totalLen = getTotalLengthBetweenNodes(edge, seriesModel);\n createCurveness(seriesModel, totalLen);\n edge.lineStyle = edge.lineStyle || {}; // if is opposite edge, must set curvenss to opposite number\n\n var curKey = getKeyOfEdges(edge.node1, edge.node2, seriesModel);\n var curvenessList = seriesModel.__curvenessList; // if pass array no need parity\n\n var parityCorrection = isArrayParam ? 0 : totalLen % 2 ? 0 : 1;\n\n if (!edgeArray.isForward) {\n // the opposite edge show outside\n var oppositeKey = getOppositeKey(curKey);\n var len = getEdgeMapLengthWithKey(oppositeKey, seriesModel);\n var resValue = curvenessList[edgeIndex + len + parityCorrection]; // isNeedReverse, simple, force type need reverse the curveness in the junction of the forword and the opposite\n\n if (needReverse) {\n // set as array may make the parity handle with the len of opposite\n if (isArrayParam) {\n if (autoCurvenessParams && autoCurvenessParams[0] === 0) {\n return (len + parityCorrection) % 2 ? resValue : -resValue;\n } else {\n return ((len % 2 ? 0 : 1) + parityCorrection) % 2 ? resValue : -resValue;\n }\n } else {\n return (len + parityCorrection) % 2 ? resValue : -resValue;\n }\n } else {\n return curvenessList[edgeIndex + len + parityCorrection];\n }\n } else {\n return curvenessList[parityCorrection + edgeIndex];\n }\n}\n\nexports.initCurvenessList = initCurvenessList;\nexports.createEdgeMapForCurveness = createEdgeMapForCurveness;\nexports.getCurvenessForEdge = getCurvenessForEdge;","\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\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar RoamController = require(\"./RoamController\");\n\nvar roamHelper = require(\"../../component/helper/roamHelper\");\n\nvar _cursorHelper = require(\"../../component/helper/cursorHelper\");\n\nvar onIrrelevantElement = _cursorHelper.onIrrelevantElement;\n\nvar graphic = require(\"../../util/graphic\");\n\nvar geoSourceManager = require(\"../../coord/geo/geoSourceManager\");\n\nvar _component = require(\"../../util/component\");\n\nvar getUID = _component.getUID;\n\nvar Transformable = require(\"zrender/lib/mixin/Transformable\");\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*/\nfunction getFixedItemStyle(model) {\n var itemStyle = model.getItemStyle();\n var areaColor = model.get('areaColor'); // If user want the color not to be changed when hover,\n // they should both set areaColor and color to be null.\n\n if (areaColor != null) {\n itemStyle.fill = areaColor;\n }\n\n return itemStyle;\n}\n\nfunction updateMapSelectHandler(mapDraw, mapOrGeoModel, regionsGroup, api, fromView) {\n regionsGroup.off('click');\n regionsGroup.off('mousedown');\n\n if (mapOrGeoModel.get('selectedMode')) {\n regionsGroup.on('mousedown', function () {\n mapDraw._mouseDownFlag = true;\n });\n regionsGroup.on('click', function (e) {\n if (!mapDraw._mouseDownFlag) {\n return;\n }\n\n mapDraw._mouseDownFlag = false;\n var el = e.target;\n\n while (!el.__regions) {\n el = el.parent;\n }\n\n if (!el) {\n return;\n }\n\n var action = {\n type: (mapOrGeoModel.mainType === 'geo' ? 'geo' : 'map') + 'ToggleSelect',\n batch: zrUtil.map(el.__regions, function (region) {\n return {\n name: region.name,\n from: fromView.uid\n };\n })\n };\n action[mapOrGeoModel.mainType + 'Id'] = mapOrGeoModel.id;\n api.dispatchAction(action);\n updateMapSelected(mapOrGeoModel, regionsGroup);\n });\n }\n}\n\nfunction updateMapSelected(mapOrGeoModel, regionsGroup) {\n // FIXME\n regionsGroup.eachChild(function (otherRegionEl) {\n zrUtil.each(otherRegionEl.__regions, function (region) {\n otherRegionEl.trigger(mapOrGeoModel.isSelected(region.name) ? 'emphasis' : 'normal');\n });\n });\n}\n/**\n * @alias module:echarts/component/helper/MapDraw\n * @param {module:echarts/ExtensionAPI} api\n * @param {boolean} updateGroup\n */\n\n\nfunction MapDraw(api, updateGroup) {\n var group = new graphic.Group();\n /**\n * @type {string}\n * @private\n */\n\n this.uid = getUID('ec_map_draw');\n /**\n * @type {module:echarts/component/helper/RoamController}\n * @private\n */\n\n this._controller = new RoamController(api.getZr());\n /**\n * @type {Object} {target, zoom, zoomLimit}\n * @private\n */\n\n this._controllerHost = {\n target: updateGroup ? group : null\n };\n /**\n * @type {module:zrender/container/Group}\n * @readOnly\n */\n\n this.group = group;\n /**\n * @type {boolean}\n * @private\n */\n\n this._updateGroup = updateGroup;\n /**\n * This flag is used to make sure that only one among\n * `pan`, `zoom`, `click` can occurs, otherwise 'selected'\n * action may be triggered when `pan`, which is unexpected.\n * @type {booelan}\n */\n\n this._mouseDownFlag;\n /**\n * @type {string}\n */\n\n this._mapName;\n /**\n * @type {boolean}\n */\n\n this._initialized;\n /**\n * @type {module:zrender/container/Group}\n */\n\n group.add(this._regionsGroup = new graphic.Group());\n /**\n * @type {module:zrender/container/Group}\n */\n\n group.add(this._backgroundGroup = new graphic.Group());\n}\n\nMapDraw.prototype = {\n constructor: MapDraw,\n draw: function (mapOrGeoModel, ecModel, api, fromView, payload) {\n var isGeo = mapOrGeoModel.mainType === 'geo'; // Map series has data. GEO model that controlled by map series\n // will be assigned with map data. Other GEO model has no data.\n\n var data = mapOrGeoModel.getData && mapOrGeoModel.getData();\n isGeo && ecModel.eachComponent({\n mainType: 'series',\n subType: 'map'\n }, function (mapSeries) {\n if (!data && mapSeries.getHostGeoModel() === mapOrGeoModel) {\n data = mapSeries.getData();\n }\n });\n var geo = mapOrGeoModel.coordinateSystem;\n\n this._updateBackground(geo);\n\n var regionsGroup = this._regionsGroup;\n var group = this.group;\n var transformInfo = geo.getTransformInfo(); // No animation when first draw or in action\n\n var isFirstDraw = !regionsGroup.childAt(0) || payload;\n var targetScale;\n\n if (isFirstDraw) {\n group.transform = transformInfo.roamTransform;\n group.decomposeTransform();\n group.dirty();\n } else {\n var target = new Transformable();\n target.transform = transformInfo.roamTransform;\n target.decomposeTransform();\n var props = {\n scale: target.scale,\n position: target.position\n };\n targetScale = target.scale;\n graphic.updateProps(group, props, mapOrGeoModel);\n }\n\n var scale = transformInfo.rawScale;\n var position = transformInfo.rawPosition;\n regionsGroup.removeAll();\n var itemStyleAccessPath = ['itemStyle'];\n var hoverItemStyleAccessPath = ['emphasis', 'itemStyle'];\n var labelAccessPath = ['label'];\n var hoverLabelAccessPath = ['emphasis', 'label'];\n var nameMap = zrUtil.createHashMap();\n zrUtil.each(geo.regions, function (region) {\n // Consider in GeoJson properties.name may be duplicated, for example,\n // there is multiple region named \"United Kindom\" or \"France\" (so many\n // colonies). And it is not appropriate to merge them in geo, which\n // will make them share the same label and bring trouble in label\n // location calculation.\n var regionGroup = nameMap.get(region.name) || nameMap.set(region.name, new graphic.Group());\n var compoundPath = new graphic.CompoundPath({\n segmentIgnoreThreshold: 1,\n shape: {\n paths: []\n }\n });\n regionGroup.add(compoundPath);\n var regionModel = mapOrGeoModel.getRegionModel(region.name) || mapOrGeoModel;\n var itemStyleModel = regionModel.getModel(itemStyleAccessPath);\n var hoverItemStyleModel = regionModel.getModel(hoverItemStyleAccessPath);\n var itemStyle = getFixedItemStyle(itemStyleModel);\n var hoverItemStyle = getFixedItemStyle(hoverItemStyleModel);\n var labelModel = regionModel.getModel(labelAccessPath);\n var hoverLabelModel = regionModel.getModel(hoverLabelAccessPath);\n var dataIdx; // Use the itemStyle in data if has data\n\n if (data) {\n dataIdx = data.indexOfName(region.name); // Only visual color of each item will be used. It can be encoded by dataRange\n // But visual color of series is used in symbol drawing\n //\n // Visual color for each series is for the symbol draw\n\n var visualColor = data.getItemVisual(dataIdx, 'color', true);\n\n if (visualColor) {\n itemStyle.fill = visualColor;\n }\n }\n\n var transformPoint = function (point) {\n return [point[0] * scale[0] + position[0], point[1] * scale[1] + position[1]];\n };\n\n zrUtil.each(region.geometries, function (geometry) {\n if (geometry.type !== 'polygon') {\n return;\n }\n\n var points = [];\n\n for (var i = 0; i < geometry.exterior.length; ++i) {\n points.push(transformPoint(geometry.exterior[i]));\n }\n\n compoundPath.shape.paths.push(new graphic.Polygon({\n segmentIgnoreThreshold: 1,\n shape: {\n points: points\n }\n }));\n\n for (var i = 0; i < (geometry.interiors ? geometry.interiors.length : 0); ++i) {\n var interior = geometry.interiors[i];\n var points = [];\n\n for (var j = 0; j < interior.length; ++j) {\n points.push(transformPoint(interior[j]));\n }\n\n compoundPath.shape.paths.push(new graphic.Polygon({\n segmentIgnoreThreshold: 1,\n shape: {\n points: points\n }\n }));\n }\n });\n compoundPath.setStyle(itemStyle);\n compoundPath.style.strokeNoScale = true;\n compoundPath.culling = true; // Label\n\n var showLabel = labelModel.get('show');\n var hoverShowLabel = hoverLabelModel.get('show');\n var isDataNaN = data && isNaN(data.get(data.mapDimension('value'), dataIdx));\n var itemLayout = data && data.getItemLayout(dataIdx); // In the following cases label will be drawn\n // 1. In map series and data value is NaN\n // 2. In geo component\n // 4. Region has no series legendSymbol, which will be add a showLabel flag in mapSymbolLayout\n\n if (isGeo || isDataNaN && (showLabel || hoverShowLabel) || itemLayout && itemLayout.showLabel) {\n var query = !isGeo ? dataIdx : region.name;\n var labelFetcher; // Consider dataIdx not found.\n\n if (!data || dataIdx >= 0) {\n labelFetcher = mapOrGeoModel;\n }\n\n var textEl = new graphic.Text({\n position: transformPoint(region.center.slice()),\n // FIXME\n // label rotation is not support yet in geo or regions of series-map\n // that has no data. The rotation will be effected by this `scale`.\n // So needed to change to RectText?\n scale: [1 / group.scale[0], 1 / group.scale[1]],\n z2: 10,\n silent: true\n });\n graphic.setLabelStyle(textEl.style, textEl.hoverStyle = {}, labelModel, hoverLabelModel, {\n labelFetcher: labelFetcher,\n labelDataIndex: query,\n defaultText: region.name,\n useInsideStyle: false\n }, {\n textAlign: 'center',\n textVerticalAlign: 'middle'\n });\n\n if (!isFirstDraw) {\n // Text animation\n var textScale = [1 / targetScale[0], 1 / targetScale[1]];\n graphic.updateProps(textEl, {\n scale: textScale\n }, mapOrGeoModel);\n }\n\n regionGroup.add(textEl);\n } // setItemGraphicEl, setHoverStyle after all polygons and labels\n // are added to the rigionGroup\n\n\n if (data) {\n data.setItemGraphicEl(dataIdx, regionGroup);\n } else {\n var regionModel = mapOrGeoModel.getRegionModel(region.name); // Package custom mouse event for geo component\n\n compoundPath.eventData = {\n componentType: 'geo',\n componentIndex: mapOrGeoModel.componentIndex,\n geoIndex: mapOrGeoModel.componentIndex,\n name: region.name,\n region: regionModel && regionModel.option || {}\n };\n }\n\n var groupRegions = regionGroup.__regions || (regionGroup.__regions = []);\n groupRegions.push(region);\n regionGroup.highDownSilentOnTouch = !!mapOrGeoModel.get('selectedMode');\n graphic.setHoverStyle(regionGroup, hoverItemStyle);\n regionsGroup.add(regionGroup);\n });\n\n this._updateController(mapOrGeoModel, ecModel, api);\n\n updateMapSelectHandler(this, mapOrGeoModel, regionsGroup, api, fromView);\n updateMapSelected(mapOrGeoModel, regionsGroup);\n },\n remove: function () {\n this._regionsGroup.removeAll();\n\n this._backgroundGroup.removeAll();\n\n this._controller.dispose();\n\n this._mapName && geoSourceManager.removeGraphic(this._mapName, this.uid);\n this._mapName = null;\n this._controllerHost = {};\n },\n _updateBackground: function (geo) {\n var mapName = geo.map;\n\n if (this._mapName !== mapName) {\n zrUtil.each(geoSourceManager.makeGraphic(mapName, this.uid), function (root) {\n this._backgroundGroup.add(root);\n }, this);\n }\n\n this._mapName = mapName;\n },\n _updateController: function (mapOrGeoModel, ecModel, api) {\n var geo = mapOrGeoModel.coordinateSystem;\n var controller = this._controller;\n var controllerHost = this._controllerHost;\n controllerHost.zoomLimit = mapOrGeoModel.get('scaleLimit');\n controllerHost.zoom = geo.getZoom(); // roamType is will be set default true if it is null\n\n controller.enable(mapOrGeoModel.get('roam') || false);\n var mainType = mapOrGeoModel.mainType;\n\n function makeActionBase() {\n var action = {\n type: 'geoRoam',\n componentType: mainType\n };\n action[mainType + 'Id'] = mapOrGeoModel.id;\n return action;\n }\n\n controller.off('pan').on('pan', function (e) {\n this._mouseDownFlag = false;\n roamHelper.updateViewOnPan(controllerHost, e.dx, e.dy);\n api.dispatchAction(zrUtil.extend(makeActionBase(), {\n dx: e.dx,\n dy: e.dy\n }));\n }, this);\n controller.off('zoom').on('zoom', function (e) {\n this._mouseDownFlag = false;\n roamHelper.updateViewOnZoom(controllerHost, e.scale, e.originX, e.originY);\n api.dispatchAction(zrUtil.extend(makeActionBase(), {\n zoom: e.scale,\n originX: e.originX,\n originY: e.originY\n }));\n\n if (this._updateGroup) {\n var scale = this.group.scale;\n\n this._regionsGroup.traverse(function (el) {\n if (el.type === 'text') {\n el.attr('scale', [1 / scale[0], 1 / scale[1]]);\n }\n });\n }\n }, this);\n controller.setPointerChecker(function (e, x, y) {\n return geo.getViewRectAfterRoam().contain(x, y) && !onIrrelevantElement(e, api, mapOrGeoModel);\n });\n }\n};\nvar _default = MapDraw;\nmodule.exports = _default;","var matrix = require(\"../core/matrix\");\n\nvar vector = require(\"../core/vector\");\n\n/**\n * 提供变换扩展\n * @module zrender/mixin/Transformable\n * @author pissang (https://www.github.com/pissang)\n */\nvar mIdentity = matrix.identity;\nvar EPSILON = 5e-5;\n\nfunction isNotAroundZero(val) {\n return val > EPSILON || val < -EPSILON;\n}\n/**\n * @alias module:zrender/mixin/Transformable\n * @constructor\n */\n\n\nvar Transformable = function (opts) {\n opts = opts || {}; // If there are no given position, rotation, scale\n\n if (!opts.position) {\n /**\n * 平移\n * @type {Array.}\n * @default [0, 0]\n */\n this.position = [0, 0];\n }\n\n if (opts.rotation == null) {\n /**\n * 旋转\n * @type {Array.}\n * @default 0\n */\n this.rotation = 0;\n }\n\n if (!opts.scale) {\n /**\n * 缩放\n * @type {Array.}\n * @default [1, 1]\n */\n this.scale = [1, 1];\n }\n /**\n * 旋转和缩放的原点\n * @type {Array.}\n * @default null\n */\n\n\n this.origin = this.origin || null;\n};\n\nvar transformableProto = Transformable.prototype;\ntransformableProto.transform = null;\n/**\n * 判断是否需要有坐标变换\n * 如果有坐标变换, 则从position, rotation, scale以及父节点的transform计算出自身的transform矩阵\n */\n\ntransformableProto.needLocalTransform = function () {\n return isNotAroundZero(this.rotation) || isNotAroundZero(this.position[0]) || isNotAroundZero(this.position[1]) || isNotAroundZero(this.scale[0] - 1) || isNotAroundZero(this.scale[1] - 1);\n};\n\nvar scaleTmp = [];\n\ntransformableProto.updateTransform = function () {\n var parent = this.parent;\n var parentHasTransform = parent && parent.transform;\n var needLocalTransform = this.needLocalTransform();\n var m = this.transform;\n\n if (!(needLocalTransform || parentHasTransform)) {\n m && mIdentity(m);\n return;\n }\n\n m = m || matrix.create();\n\n if (needLocalTransform) {\n this.getLocalTransform(m);\n } else {\n mIdentity(m);\n } // 应用父节点变换\n\n\n if (parentHasTransform) {\n if (needLocalTransform) {\n matrix.mul(m, parent.transform, m);\n } else {\n matrix.copy(m, parent.transform);\n }\n } // 保存这个变换矩阵\n\n\n this.transform = m;\n var globalScaleRatio = this.globalScaleRatio;\n\n if (globalScaleRatio != null && globalScaleRatio !== 1) {\n this.getGlobalScale(scaleTmp);\n var relX = scaleTmp[0] < 0 ? -1 : 1;\n var relY = scaleTmp[1] < 0 ? -1 : 1;\n var sx = ((scaleTmp[0] - relX) * globalScaleRatio + relX) / scaleTmp[0] || 0;\n var sy = ((scaleTmp[1] - relY) * globalScaleRatio + relY) / scaleTmp[1] || 0;\n m[0] *= sx;\n m[1] *= sx;\n m[2] *= sy;\n m[3] *= sy;\n }\n\n this.invTransform = this.invTransform || matrix.create();\n matrix.invert(this.invTransform, m);\n};\n\ntransformableProto.getLocalTransform = function (m) {\n return Transformable.getLocalTransform(this, m);\n};\n/**\n * 将自己的transform应用到context上\n * @param {CanvasRenderingContext2D} ctx\n */\n\n\ntransformableProto.setTransform = function (ctx) {\n var m = this.transform;\n var dpr = ctx.dpr || 1;\n\n if (m) {\n ctx.setTransform(dpr * m[0], dpr * m[1], dpr * m[2], dpr * m[3], dpr * m[4], dpr * m[5]);\n } else {\n ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n }\n};\n\ntransformableProto.restoreTransform = function (ctx) {\n var dpr = ctx.dpr || 1;\n ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n};\n\nvar tmpTransform = [];\nvar originTransform = matrix.create();\n\ntransformableProto.setLocalTransform = function (m) {\n if (!m) {\n // TODO return or set identity?\n return;\n }\n\n var sx = m[0] * m[0] + m[1] * m[1];\n var sy = m[2] * m[2] + m[3] * m[3];\n var position = this.position;\n var scale = this.scale;\n\n if (isNotAroundZero(sx - 1)) {\n sx = Math.sqrt(sx);\n }\n\n if (isNotAroundZero(sy - 1)) {\n sy = Math.sqrt(sy);\n }\n\n if (m[0] < 0) {\n sx = -sx;\n }\n\n if (m[3] < 0) {\n sy = -sy;\n }\n\n position[0] = m[4];\n position[1] = m[5];\n scale[0] = sx;\n scale[1] = sy;\n this.rotation = Math.atan2(-m[1] / sy, m[0] / sx);\n};\n/**\n * 分解`transform`矩阵到`position`, `rotation`, `scale`\n */\n\n\ntransformableProto.decomposeTransform = function () {\n if (!this.transform) {\n return;\n }\n\n var parent = this.parent;\n var m = this.transform;\n\n if (parent && parent.transform) {\n // Get local transform and decompose them to position, scale, rotation\n matrix.mul(tmpTransform, parent.invTransform, m);\n m = tmpTransform;\n }\n\n var origin = this.origin;\n\n if (origin && (origin[0] || origin[1])) {\n originTransform[4] = origin[0];\n originTransform[5] = origin[1];\n matrix.mul(tmpTransform, m, originTransform);\n tmpTransform[4] -= origin[0];\n tmpTransform[5] -= origin[1];\n m = tmpTransform;\n }\n\n this.setLocalTransform(m);\n};\n/**\n * Get global scale\n * @return {Array.}\n */\n\n\ntransformableProto.getGlobalScale = function (out) {\n var m = this.transform;\n out = out || [];\n\n if (!m) {\n out[0] = 1;\n out[1] = 1;\n return out;\n }\n\n out[0] = Math.sqrt(m[0] * m[0] + m[1] * m[1]);\n out[1] = Math.sqrt(m[2] * m[2] + m[3] * m[3]);\n\n if (m[0] < 0) {\n out[0] = -out[0];\n }\n\n if (m[3] < 0) {\n out[1] = -out[1];\n }\n\n return out;\n};\n/**\n * 变换坐标位置到 shape 的局部坐标空间\n * @method\n * @param {number} x\n * @param {number} y\n * @return {Array.}\n */\n\n\ntransformableProto.transformCoordToLocal = function (x, y) {\n var v2 = [x, y];\n var invTransform = this.invTransform;\n\n if (invTransform) {\n vector.applyTransform(v2, v2, invTransform);\n }\n\n return v2;\n};\n/**\n * 变换局部坐标位置到全局坐标空间\n * @method\n * @param {number} x\n * @param {number} y\n * @return {Array.}\n */\n\n\ntransformableProto.transformCoordToGlobal = function (x, y) {\n var v2 = [x, y];\n var transform = this.transform;\n\n if (transform) {\n vector.applyTransform(v2, v2, transform);\n }\n\n return v2;\n};\n/**\n * @static\n * @param {Object} target\n * @param {Array.} target.origin\n * @param {number} target.rotation\n * @param {Array.} target.position\n * @param {Array.} [m]\n */\n\n\nTransformable.getLocalTransform = function (target, m) {\n m = m || [];\n mIdentity(m);\n var origin = target.origin;\n var scale = target.scale || [1, 1];\n var rotation = target.rotation || 0;\n var position = target.position || [0, 0];\n\n if (origin) {\n // Translate to origin\n m[4] -= origin[0];\n m[5] -= origin[1];\n }\n\n matrix.scale(m, m, scale);\n\n if (rotation) {\n matrix.rotate(m, m, rotation);\n }\n\n if (origin) {\n // Translate back from origin\n m[4] += origin[0];\n m[5] += origin[1];\n }\n\n m[4] += position[0];\n m[5] += position[1];\n return m;\n};\n\nvar _default = Transformable;\nmodule.exports = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.Buttons = void 0;\n// 全局的工具栏按钮\nvar _storeMap = {};\nvar Buttons = {\n mixin: function mixin(map) {\n Object.assign(_storeMap, map);\n return Buttons;\n },\n get: function get(type) {\n return _storeMap[type];\n },\n add: function add(type, callback) {\n _storeMap[type] = callback;\n return Buttons;\n },\n delete: function _delete(type) {\n delete _storeMap[type];\n return Buttons;\n }\n};\nexports.Buttons = Buttons;\nvar _default = Buttons;\nexports.default = _default;","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","var Displayable = require(\"./Displayable\");\n\nvar BoundingRect = require(\"../core/BoundingRect\");\n\nvar zrUtil = require(\"../core/util\");\n\nvar imageHelper = require(\"./helper/image\");\n\n/**\n * @alias zrender/graphic/Image\n * @extends module:zrender/graphic/Displayable\n * @constructor\n * @param {Object} opts\n */\nfunction ZImage(opts) {\n Displayable.call(this, opts);\n}\n\nZImage.prototype = {\n constructor: ZImage,\n type: 'image',\n brush: function (ctx, prevEl) {\n var style = this.style;\n var src = style.image; // Must bind each time\n\n style.bind(ctx, this, prevEl);\n var image = this._image = imageHelper.createOrUpdateImage(src, this._image, this, this.onload);\n\n if (!image || !imageHelper.isImageReady(image)) {\n return;\n } // 图片已经加载完成\n // if (image.nodeName.toUpperCase() == 'IMG') {\n // if (!image.complete) {\n // return;\n // }\n // }\n // Else is canvas\n\n\n var x = style.x || 0;\n var y = style.y || 0;\n var width = style.width;\n var height = style.height;\n var aspect = image.width / image.height;\n\n if (width == null && height != null) {\n // Keep image/height ratio\n width = height * aspect;\n } else if (height == null && width != null) {\n height = width / aspect;\n } else if (width == null && height == null) {\n width = image.width;\n height = image.height;\n } // 设置transform\n\n\n this.setTransform(ctx);\n\n if (style.sWidth && style.sHeight) {\n var sx = style.sx || 0;\n var sy = style.sy || 0;\n ctx.drawImage(image, sx, sy, style.sWidth, style.sHeight, x, y, width, height);\n } else if (style.sx && style.sy) {\n var sx = style.sx;\n var sy = style.sy;\n var sWidth = width - sx;\n var sHeight = height - sy;\n ctx.drawImage(image, sx, sy, sWidth, sHeight, x, y, width, height);\n } else {\n ctx.drawImage(image, x, y, width, height);\n } // Draw rect text\n\n\n if (style.text != null) {\n // Only restore transform when needs draw text.\n this.restoreTransform(ctx);\n this.drawRectText(ctx, this.getBoundingRect());\n }\n },\n getBoundingRect: function () {\n var style = this.style;\n\n if (!this._rect) {\n this._rect = new BoundingRect(style.x || 0, style.y || 0, style.width || 0, style.height || 0);\n }\n\n return this._rect;\n }\n};\nzrUtil.inherits(ZImage, Displayable);\nvar _default = ZImage;\nmodule.exports = _default;","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\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*/\n\nvar VisualMapping = require(\"../../visual/VisualMapping\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\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*/\nfunction _default(ecModel, payload) {\n ecModel.eachSeriesByType('sankey', function (seriesModel) {\n var graph = seriesModel.getGraph();\n var nodes = graph.nodes;\n\n if (nodes.length) {\n var minValue = Infinity;\n var maxValue = -Infinity;\n zrUtil.each(nodes, function (node) {\n var nodeValue = node.getLayout().value;\n\n if (nodeValue < minValue) {\n minValue = nodeValue;\n }\n\n if (nodeValue > maxValue) {\n maxValue = nodeValue;\n }\n });\n zrUtil.each(nodes, function (node) {\n var mapping = new VisualMapping({\n type: 'color',\n mappingMethod: 'linear',\n dataExtent: [minValue, maxValue],\n visual: seriesModel.get('color')\n });\n var mapValueToColor = mapping.mapValueToVisual(node.getLayout().value);\n var customColor = node.getModel().get('itemStyle.color');\n customColor != null ? node.setVisual('color', customColor) : node.setVisual('color', mapValueToColor);\n });\n }\n });\n}\n\nmodule.exports = _default;","/* eslint-disable no-undefined */\n\nvar throttle = require('./throttle');\n\n/**\n * Debounce execution of a function. Debouncing, unlike throttling,\n * guarantees that a function is only executed a single time, either at the\n * very beginning of a series of calls, or at the very end.\n *\n * @param {Number} delay A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n * @param {Boolean} [atBegin] Optional, defaults to false. If atBegin is false or unspecified, callback will only be executed `delay` milliseconds\n * after the last debounced-function call. If atBegin is true, callback will be executed only at the first debounced-function call.\n * (After the throttled-function has not been called for `delay` milliseconds, the internal counter is reset).\n * @param {Function} callback A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n * to `callback` when the debounced-function is executed.\n *\n * @return {Function} A new, debounced function.\n */\nmodule.exports = function ( delay, atBegin, callback ) {\n\treturn callback === undefined ? throttle(delay, atBegin, false) : throttle(delay, callback, atBegin !== false);\n};\n","var staticStrFirst = require('../static/staticStrFirst')\r\nvar staticStrLast = require('../static/staticStrLast')\r\nvar staticParseInt = require('../static/staticParseInt')\r\n\r\nvar helperGetDateFullYear = require('./helperGetDateFullYear')\r\nvar helperGetDateMonth = require('./helperGetDateMonth')\r\nvar helperGetDateTime = require('./helperGetDateTime')\r\n\r\nvar toStringDate = require('./toStringDate')\r\nvar isValidDate = require('./isValidDate')\r\n\r\n/**\r\n * 返回前几天或后几天的日期\r\n *\r\n * @param {Date} date 日期或数字\r\n * @param {Number} day 天(默认当天)、前几天、后几天\r\n * @param {String} mode 获取时分秒(null默认当前时分秒)、日初(first)、日末(last)\r\n * @return {Date}\r\n */\r\nfunction getWhatDay (date, day, mode) {\r\n date = toStringDate(date)\r\n if (isValidDate(date) && !isNaN(day)) {\r\n date.setDate(date.getDate() + staticParseInt(day))\r\n if (mode === staticStrFirst) {\r\n return new Date(helperGetDateFullYear(date), helperGetDateMonth(date), date.getDate())\r\n } else if (mode === staticStrLast) {\r\n return new Date(helperGetDateTime(getWhatDay(date, 1, staticStrFirst)) - 1)\r\n }\r\n }\r\n return date\r\n}\r\n\r\nmodule.exports = getWhatDay\r\n","var helperCreatePickOmit = require('./helperCreatePickOmit')\r\n\r\n/**\r\n * 根据 key 排除指定的属性值,返回一个新的对象\r\n *\r\n * @param {Object} obj 对象\r\n * @param {String/Array} key 键数组\r\n * @return {Object}\r\n */\r\nvar omit = helperCreatePickOmit(0, 1)\r\n\r\nmodule.exports = omit\r\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\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar layoutUtil = require(\"../../util/layout\");\n\nvar LegendView = require(\"./LegendView\");\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 * Separate legend and scrollable legend to reduce package size.\n */\nvar Group = graphic.Group;\nvar WH = ['width', 'height'];\nvar XY = ['x', 'y'];\nvar ScrollableLegendView = LegendView.extend({\n type: 'legend.scroll',\n newlineDisabled: true,\n init: function () {\n ScrollableLegendView.superCall(this, 'init');\n /**\n * @private\n * @type {number} For `scroll`.\n */\n\n this._currentIndex = 0;\n /**\n * @private\n * @type {module:zrender/container/Group}\n */\n\n this.group.add(this._containerGroup = new Group());\n\n this._containerGroup.add(this.getContentGroup());\n /**\n * @private\n * @type {module:zrender/container/Group}\n */\n\n\n this.group.add(this._controllerGroup = new Group());\n /**\n *\n * @private\n */\n\n this._showController;\n },\n\n /**\n * @override\n */\n resetInner: function () {\n ScrollableLegendView.superCall(this, 'resetInner');\n\n this._controllerGroup.removeAll();\n\n this._containerGroup.removeClipPath();\n\n this._containerGroup.__rectSize = null;\n },\n\n /**\n * @override\n */\n renderInner: function (itemAlign, legendModel, ecModel, api, selector, orient, selectorPosition) {\n var me = this; // Render content items.\n\n ScrollableLegendView.superCall(this, 'renderInner', itemAlign, legendModel, ecModel, api, selector, orient, selectorPosition);\n var controllerGroup = this._controllerGroup; // FIXME: support be 'auto' adapt to size number text length,\n // e.g., '3/12345' should not overlap with the control arrow button.\n\n var pageIconSize = legendModel.get('pageIconSize', true);\n\n if (!zrUtil.isArray(pageIconSize)) {\n pageIconSize = [pageIconSize, pageIconSize];\n }\n\n createPageButton('pagePrev', 0);\n var pageTextStyleModel = legendModel.getModel('pageTextStyle');\n controllerGroup.add(new graphic.Text({\n name: 'pageText',\n style: {\n textFill: pageTextStyleModel.getTextColor(),\n font: pageTextStyleModel.getFont(),\n textVerticalAlign: 'middle',\n textAlign: 'center'\n },\n silent: true\n }));\n createPageButton('pageNext', 1);\n\n function createPageButton(name, iconIdx) {\n var pageDataIndexName = name + 'DataIndex';\n var icon = graphic.createIcon(legendModel.get('pageIcons', true)[legendModel.getOrient().name][iconIdx], {\n // Buttons will be created in each render, so we do not need\n // to worry about avoiding using legendModel kept in scope.\n onclick: zrUtil.bind(me._pageGo, me, pageDataIndexName, legendModel, api)\n }, {\n x: -pageIconSize[0] / 2,\n y: -pageIconSize[1] / 2,\n width: pageIconSize[0],\n height: pageIconSize[1]\n });\n icon.name = name;\n controllerGroup.add(icon);\n }\n },\n\n /**\n * @override\n */\n layoutInner: function (legendModel, itemAlign, maxSize, isFirstRender, selector, selectorPosition) {\n var selectorGroup = this.getSelectorGroup();\n var orientIdx = legendModel.getOrient().index;\n var wh = WH[orientIdx];\n var xy = XY[orientIdx];\n var hw = WH[1 - orientIdx];\n var yx = XY[1 - orientIdx];\n selector && layoutUtil.box( // Buttons in selectorGroup always layout horizontally\n 'horizontal', selectorGroup, legendModel.get('selectorItemGap', true));\n var selectorButtonGap = legendModel.get('selectorButtonGap', true);\n var selectorRect = selectorGroup.getBoundingRect();\n var selectorPos = [-selectorRect.x, -selectorRect.y];\n var processMaxSize = zrUtil.clone(maxSize);\n selector && (processMaxSize[wh] = maxSize[wh] - selectorRect[wh] - selectorButtonGap);\n\n var mainRect = this._layoutContentAndController(legendModel, isFirstRender, processMaxSize, orientIdx, wh, hw, yx);\n\n if (selector) {\n if (selectorPosition === 'end') {\n selectorPos[orientIdx] += mainRect[wh] + selectorButtonGap;\n } else {\n var offset = selectorRect[wh] + selectorButtonGap;\n selectorPos[orientIdx] -= offset;\n mainRect[xy] -= offset;\n }\n\n mainRect[wh] += selectorRect[wh] + selectorButtonGap;\n selectorPos[1 - orientIdx] += mainRect[yx] + mainRect[hw] / 2 - selectorRect[hw] / 2;\n mainRect[hw] = Math.max(mainRect[hw], selectorRect[hw]);\n mainRect[yx] = Math.min(mainRect[yx], selectorRect[yx] + selectorPos[1 - orientIdx]);\n selectorGroup.attr('position', selectorPos);\n }\n\n return mainRect;\n },\n _layoutContentAndController: function (legendModel, isFirstRender, maxSize, orientIdx, wh, hw, yx) {\n var contentGroup = this.getContentGroup();\n var containerGroup = this._containerGroup;\n var controllerGroup = this._controllerGroup; // Place items in contentGroup.\n\n layoutUtil.box(legendModel.get('orient'), contentGroup, legendModel.get('itemGap'), !orientIdx ? null : maxSize.width, orientIdx ? null : maxSize.height);\n layoutUtil.box( // Buttons in controller are layout always horizontally.\n 'horizontal', controllerGroup, legendModel.get('pageButtonItemGap', true));\n var contentRect = contentGroup.getBoundingRect();\n var controllerRect = controllerGroup.getBoundingRect();\n var showController = this._showController = contentRect[wh] > maxSize[wh];\n var contentPos = [-contentRect.x, -contentRect.y]; // Remain contentPos when scroll animation perfroming.\n // If first rendering, `contentGroup.position` is [0, 0], which\n // does not make sense and may cause unexepcted animation if adopted.\n\n if (!isFirstRender) {\n contentPos[orientIdx] = contentGroup.position[orientIdx];\n } // Layout container group based on 0.\n\n\n var containerPos = [0, 0];\n var controllerPos = [-controllerRect.x, -controllerRect.y];\n var pageButtonGap = zrUtil.retrieve2(legendModel.get('pageButtonGap', true), legendModel.get('itemGap', true)); // Place containerGroup and controllerGroup and contentGroup.\n\n if (showController) {\n var pageButtonPosition = legendModel.get('pageButtonPosition', true); // controller is on the right / bottom.\n\n if (pageButtonPosition === 'end') {\n controllerPos[orientIdx] += maxSize[wh] - controllerRect[wh];\n } // controller is on the left / top.\n else {\n containerPos[orientIdx] += controllerRect[wh] + pageButtonGap;\n }\n } // Always align controller to content as 'middle'.\n\n\n controllerPos[1 - orientIdx] += contentRect[hw] / 2 - controllerRect[hw] / 2;\n contentGroup.attr('position', contentPos);\n containerGroup.attr('position', containerPos);\n controllerGroup.attr('position', controllerPos); // Calculate `mainRect` and set `clipPath`.\n // mainRect should not be calculated by `this.group.getBoundingRect()`\n // for sake of the overflow.\n\n var mainRect = {\n x: 0,\n y: 0\n }; // Consider content may be overflow (should be clipped).\n\n mainRect[wh] = showController ? maxSize[wh] : contentRect[wh];\n mainRect[hw] = Math.max(contentRect[hw], controllerRect[hw]); // `containerRect[yx] + containerPos[1 - orientIdx]` is 0.\n\n mainRect[yx] = Math.min(0, controllerRect[yx] + controllerPos[1 - orientIdx]);\n containerGroup.__rectSize = maxSize[wh];\n\n if (showController) {\n var clipShape = {\n x: 0,\n y: 0\n };\n clipShape[wh] = Math.max(maxSize[wh] - controllerRect[wh] - pageButtonGap, 0);\n clipShape[hw] = mainRect[hw];\n containerGroup.setClipPath(new graphic.Rect({\n shape: clipShape\n })); // Consider content may be larger than container, container rect\n // can not be obtained from `containerGroup.getBoundingRect()`.\n\n containerGroup.__rectSize = clipShape[wh];\n } else {\n // Do not remove or ignore controller. Keep them set as placeholders.\n controllerGroup.eachChild(function (child) {\n child.attr({\n invisible: true,\n silent: true\n });\n });\n } // Content translate animation.\n\n\n var pageInfo = this._getPageInfo(legendModel);\n\n pageInfo.pageIndex != null && graphic.updateProps(contentGroup, {\n position: pageInfo.contentPosition\n }, // When switch from \"show controller\" to \"not show controller\", view should be\n // updated immediately without animation, otherwise causes weird effect.\n showController ? legendModel : false);\n\n this._updatePageInfoView(legendModel, pageInfo);\n\n return mainRect;\n },\n _pageGo: function (to, legendModel, api) {\n var scrollDataIndex = this._getPageInfo(legendModel)[to];\n\n scrollDataIndex != null && api.dispatchAction({\n type: 'legendScroll',\n scrollDataIndex: scrollDataIndex,\n legendId: legendModel.id\n });\n },\n _updatePageInfoView: function (legendModel, pageInfo) {\n var controllerGroup = this._controllerGroup;\n zrUtil.each(['pagePrev', 'pageNext'], function (name) {\n var canJump = pageInfo[name + 'DataIndex'] != null;\n var icon = controllerGroup.childOfName(name);\n\n if (icon) {\n icon.setStyle('fill', canJump ? legendModel.get('pageIconColor', true) : legendModel.get('pageIconInactiveColor', true));\n icon.cursor = canJump ? 'pointer' : 'default';\n }\n });\n var pageText = controllerGroup.childOfName('pageText');\n var pageFormatter = legendModel.get('pageFormatter');\n var pageIndex = pageInfo.pageIndex;\n var current = pageIndex != null ? pageIndex + 1 : 0;\n var total = pageInfo.pageCount;\n pageText && pageFormatter && pageText.setStyle('text', zrUtil.isString(pageFormatter) ? pageFormatter.replace('{current}', current).replace('{total}', total) : pageFormatter({\n current: current,\n total: total\n }));\n },\n\n /**\n * @param {module:echarts/model/Model} legendModel\n * @return {Object} {\n * contentPosition: Array., null when data item not found.\n * pageIndex: number, null when data item not found.\n * pageCount: number, always be a number, can be 0.\n * pagePrevDataIndex: number, null when no previous page.\n * pageNextDataIndex: number, null when no next page.\n * }\n */\n _getPageInfo: function (legendModel) {\n var scrollDataIndex = legendModel.get('scrollDataIndex', true);\n var contentGroup = this.getContentGroup();\n var containerRectSize = this._containerGroup.__rectSize;\n var orientIdx = legendModel.getOrient().index;\n var wh = WH[orientIdx];\n var xy = XY[orientIdx];\n\n var targetItemIndex = this._findTargetItemIndex(scrollDataIndex);\n\n var children = contentGroup.children();\n var targetItem = children[targetItemIndex];\n var itemCount = children.length;\n var pCount = !itemCount ? 0 : 1;\n var result = {\n contentPosition: contentGroup.position.slice(),\n pageCount: pCount,\n pageIndex: pCount - 1,\n pagePrevDataIndex: null,\n pageNextDataIndex: null\n };\n\n if (!targetItem) {\n return result;\n }\n\n var targetItemInfo = getItemInfo(targetItem);\n result.contentPosition[orientIdx] = -targetItemInfo.s; // Strategy:\n // (1) Always align based on the left/top most item.\n // (2) It is user-friendly that the last item shown in the\n // current window is shown at the begining of next window.\n // Otherwise if half of the last item is cut by the window,\n // it will have no chance to display entirely.\n // (3) Consider that item size probably be different, we\n // have calculate pageIndex by size rather than item index,\n // and we can not get page index directly by division.\n // (4) The window is to narrow to contain more than\n // one item, we should make sure that the page can be fliped.\n\n for (var i = targetItemIndex + 1, winStartItemInfo = targetItemInfo, winEndItemInfo = targetItemInfo, currItemInfo = null; i <= itemCount; ++i) {\n currItemInfo = getItemInfo(children[i]);\n\n if ( // Half of the last item is out of the window.\n !currItemInfo && winEndItemInfo.e > winStartItemInfo.s + containerRectSize || // If the current item does not intersect with the window, the new page\n // can be started at the current item or the last item.\n currItemInfo && !intersect(currItemInfo, winStartItemInfo.s)) {\n if (winEndItemInfo.i > winStartItemInfo.i) {\n winStartItemInfo = winEndItemInfo;\n } else {\n // e.g., when page size is smaller than item size.\n winStartItemInfo = currItemInfo;\n }\n\n if (winStartItemInfo) {\n if (result.pageNextDataIndex == null) {\n result.pageNextDataIndex = winStartItemInfo.i;\n }\n\n ++result.pageCount;\n }\n }\n\n winEndItemInfo = currItemInfo;\n }\n\n for (var i = targetItemIndex - 1, winStartItemInfo = targetItemInfo, winEndItemInfo = targetItemInfo, currItemInfo = null; i >= -1; --i) {\n currItemInfo = getItemInfo(children[i]);\n\n if ( // If the the end item does not intersect with the window started\n // from the current item, a page can be settled.\n (!currItemInfo || !intersect(winEndItemInfo, currItemInfo.s)) && // e.g., when page size is smaller than item size.\n winStartItemInfo.i < winEndItemInfo.i) {\n winEndItemInfo = winStartItemInfo;\n\n if (result.pagePrevDataIndex == null) {\n result.pagePrevDataIndex = winStartItemInfo.i;\n }\n\n ++result.pageCount;\n ++result.pageIndex;\n }\n\n winStartItemInfo = currItemInfo;\n }\n\n return result;\n\n function getItemInfo(el) {\n if (el) {\n var itemRect = el.getBoundingRect();\n var start = itemRect[xy] + el.position[orientIdx];\n return {\n s: start,\n e: start + itemRect[wh],\n i: el.__legendDataIndex\n };\n }\n }\n\n function intersect(itemInfo, winStart) {\n return itemInfo.e >= winStart && itemInfo.s <= winStart + containerRectSize;\n }\n },\n _findTargetItemIndex: function (targetDataIndex) {\n if (!this._showController) {\n return 0;\n }\n\n var index;\n var contentGroup = this.getContentGroup();\n var defaultIndex;\n contentGroup.eachChild(function (child, idx) {\n var legendDataIdx = child.__legendDataIndex; // FIXME\n // If the given targetDataIndex (from model) is illegal,\n // we use defaultIndex. But the index on the legend model and\n // action payload is still illegal. That case will not be\n // changed until some scenario requires.\n\n if (defaultIndex == null && legendDataIdx != null) {\n defaultIndex = idx;\n }\n\n if (legendDataIdx === targetDataIndex) {\n index = idx;\n }\n });\n return index != null ? index : defaultIndex;\n }\n});\nvar _default = ScrollableLegendView;\nmodule.exports = _default;","\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\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Axis = require(\"../Axis\");\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 * @constructor module:echarts/coord/parallel/ParallelAxis\n * @extends {module:echarts/coord/Axis}\n * @param {string} dim\n * @param {*} scale\n * @param {Array.} coordExtent\n * @param {string} axisType\n */\nvar ParallelAxis = function (dim, scale, coordExtent, axisType, axisIndex) {\n Axis.call(this, dim, scale, coordExtent);\n /**\n * Axis type\n * - 'category'\n * - 'value'\n * - 'time'\n * - 'log'\n * @type {string}\n */\n\n this.type = axisType || 'value';\n /**\n * @type {number}\n * @readOnly\n */\n\n this.axisIndex = axisIndex;\n};\n\nParallelAxis.prototype = {\n constructor: ParallelAxis,\n\n /**\n * Axis model\n * @param {module:echarts/coord/parallel/AxisModel}\n */\n model: null,\n\n /**\n * @override\n */\n isHorizontal: function () {\n return this.coordinateSystem.getModel().get('layout') !== 'horizontal';\n }\n};\nzrUtil.inherits(ParallelAxis, Axis);\nvar _default = ParallelAxis;\nmodule.exports = _default;","\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\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar _model = require(\"../../util/model\");\n\nvar makeInner = _model.makeInner;\nvar getDataItemValue = _model.getDataItemValue;\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar createHashMap = _util.createHashMap;\nvar each = _util.each;\nvar map = _util.map;\nvar isArray = _util.isArray;\nvar isString = _util.isString;\nvar isObject = _util.isObject;\nvar isTypedArray = _util.isTypedArray;\nvar isArrayLike = _util.isArrayLike;\nvar extend = _util.extend;\nvar assert = _util.assert;\n\nvar Source = require(\"../Source\");\n\nvar _sourceType = require(\"./sourceType\");\n\nvar SOURCE_FORMAT_ORIGINAL = _sourceType.SOURCE_FORMAT_ORIGINAL;\nvar SOURCE_FORMAT_ARRAY_ROWS = _sourceType.SOURCE_FORMAT_ARRAY_ROWS;\nvar SOURCE_FORMAT_OBJECT_ROWS = _sourceType.SOURCE_FORMAT_OBJECT_ROWS;\nvar SOURCE_FORMAT_KEYED_COLUMNS = _sourceType.SOURCE_FORMAT_KEYED_COLUMNS;\nvar SOURCE_FORMAT_UNKNOWN = _sourceType.SOURCE_FORMAT_UNKNOWN;\nvar SOURCE_FORMAT_TYPED_ARRAY = _sourceType.SOURCE_FORMAT_TYPED_ARRAY;\nvar SERIES_LAYOUT_BY_ROW = _sourceType.SERIES_LAYOUT_BY_ROW;\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// The result of `guessOrdinal`.\nvar BE_ORDINAL = {\n Must: 1,\n // Encounter string but not '-' and not number-like.\n Might: 2,\n // Encounter string but number-like.\n Not: 3 // Other cases\n\n};\nvar inner = makeInner();\n/**\n * @see {module:echarts/data/Source}\n * @param {module:echarts/component/dataset/DatasetModel} datasetModel\n * @return {string} sourceFormat\n */\n\nfunction detectSourceFormat(datasetModel) {\n var data = datasetModel.option.source;\n var sourceFormat = SOURCE_FORMAT_UNKNOWN;\n\n if (isTypedArray(data)) {\n sourceFormat = SOURCE_FORMAT_TYPED_ARRAY;\n } else if (isArray(data)) {\n // FIXME Whether tolerate null in top level array?\n if (data.length === 0) {\n sourceFormat = SOURCE_FORMAT_ARRAY_ROWS;\n }\n\n for (var i = 0, len = data.length; i < len; i++) {\n var item = data[i];\n\n if (item == null) {\n continue;\n } else if (isArray(item)) {\n sourceFormat = SOURCE_FORMAT_ARRAY_ROWS;\n break;\n } else if (isObject(item)) {\n sourceFormat = SOURCE_FORMAT_OBJECT_ROWS;\n break;\n }\n }\n } else if (isObject(data)) {\n for (var key in data) {\n if (data.hasOwnProperty(key) && isArrayLike(data[key])) {\n sourceFormat = SOURCE_FORMAT_KEYED_COLUMNS;\n break;\n }\n }\n } else if (data != null) {\n throw new Error('Invalid data');\n }\n\n inner(datasetModel).sourceFormat = sourceFormat;\n}\n/**\n * [Scenarios]:\n * (1) Provide source data directly:\n * series: {\n * encode: {...},\n * dimensions: [...]\n * seriesLayoutBy: 'row',\n * data: [[...]]\n * }\n * (2) Refer to datasetModel.\n * series: [{\n * encode: {...}\n * // Ignore datasetIndex means `datasetIndex: 0`\n * // and the dimensions defination in dataset is used\n * }, {\n * encode: {...},\n * seriesLayoutBy: 'column',\n * datasetIndex: 1\n * }]\n *\n * Get data from series itself or datset.\n * @return {module:echarts/data/Source} source\n */\n\n\nfunction getSource(seriesModel) {\n return inner(seriesModel).source;\n}\n/**\n * MUST be called before mergeOption of all series.\n * @param {module:echarts/model/Global} ecModel\n */\n\n\nfunction resetSourceDefaulter(ecModel) {\n // `datasetMap` is used to make default encode.\n inner(ecModel).datasetMap = createHashMap();\n}\n/**\n * [Caution]:\n * MUST be called after series option merged and\n * before \"series.getInitailData()\" called.\n *\n * [The rule of making default encode]:\n * Category axis (if exists) alway map to the first dimension.\n * Each other axis occupies a subsequent dimension.\n *\n * [Why make default encode]:\n * Simplify the typing of encode in option, avoiding the case like that:\n * series: [{encode: {x: 0, y: 1}}, {encode: {x: 0, y: 2}}, {encode: {x: 0, y: 3}}],\n * where the \"y\" have to be manually typed as \"1, 2, 3, ...\".\n *\n * @param {module:echarts/model/Series} seriesModel\n */\n\n\nfunction prepareSource(seriesModel) {\n var seriesOption = seriesModel.option;\n var data = seriesOption.data;\n var sourceFormat = isTypedArray(data) ? SOURCE_FORMAT_TYPED_ARRAY : SOURCE_FORMAT_ORIGINAL;\n var fromDataset = false;\n var seriesLayoutBy = seriesOption.seriesLayoutBy;\n var sourceHeader = seriesOption.sourceHeader;\n var dimensionsDefine = seriesOption.dimensions;\n var datasetModel = getDatasetModel(seriesModel);\n\n if (datasetModel) {\n var datasetOption = datasetModel.option;\n data = datasetOption.source;\n sourceFormat = inner(datasetModel).sourceFormat;\n fromDataset = true; // These settings from series has higher priority.\n\n seriesLayoutBy = seriesLayoutBy || datasetOption.seriesLayoutBy;\n sourceHeader == null && (sourceHeader = datasetOption.sourceHeader);\n dimensionsDefine = dimensionsDefine || datasetOption.dimensions;\n }\n\n var completeResult = completeBySourceData(data, sourceFormat, seriesLayoutBy, sourceHeader, dimensionsDefine);\n inner(seriesModel).source = new Source({\n data: data,\n fromDataset: fromDataset,\n seriesLayoutBy: seriesLayoutBy,\n sourceFormat: sourceFormat,\n dimensionsDefine: completeResult.dimensionsDefine,\n startIndex: completeResult.startIndex,\n dimensionsDetectCount: completeResult.dimensionsDetectCount,\n // Note: dataset option does not have `encode`.\n encodeDefine: seriesOption.encode\n });\n} // return {startIndex, dimensionsDefine, dimensionsCount}\n\n\nfunction completeBySourceData(data, sourceFormat, seriesLayoutBy, sourceHeader, dimensionsDefine) {\n if (!data) {\n return {\n dimensionsDefine: normalizeDimensionsDefine(dimensionsDefine)\n };\n }\n\n var dimensionsDetectCount;\n var startIndex;\n\n if (sourceFormat === SOURCE_FORMAT_ARRAY_ROWS) {\n // Rule: Most of the first line are string: it is header.\n // Caution: consider a line with 5 string and 1 number,\n // it still can not be sure it is a head, because the\n // 5 string may be 5 values of category columns.\n if (sourceHeader === 'auto' || sourceHeader == null) {\n arrayRowsTravelFirst(function (val) {\n // '-' is regarded as null/undefined.\n if (val != null && val !== '-') {\n if (isString(val)) {\n startIndex == null && (startIndex = 1);\n } else {\n startIndex = 0;\n }\n } // 10 is an experience number, avoid long loop.\n\n }, seriesLayoutBy, data, 10);\n } else {\n startIndex = sourceHeader ? 1 : 0;\n }\n\n if (!dimensionsDefine && startIndex === 1) {\n dimensionsDefine = [];\n arrayRowsTravelFirst(function (val, index) {\n dimensionsDefine[index] = val != null ? val : '';\n }, seriesLayoutBy, data);\n }\n\n dimensionsDetectCount = dimensionsDefine ? dimensionsDefine.length : seriesLayoutBy === SERIES_LAYOUT_BY_ROW ? data.length : data[0] ? data[0].length : null;\n } else if (sourceFormat === SOURCE_FORMAT_OBJECT_ROWS) {\n if (!dimensionsDefine) {\n dimensionsDefine = objectRowsCollectDimensions(data);\n }\n } else if (sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS) {\n if (!dimensionsDefine) {\n dimensionsDefine = [];\n each(data, function (colArr, key) {\n dimensionsDefine.push(key);\n });\n }\n } else if (sourceFormat === SOURCE_FORMAT_ORIGINAL) {\n var value0 = getDataItemValue(data[0]);\n dimensionsDetectCount = isArray(value0) && value0.length || 1;\n } else if (sourceFormat === SOURCE_FORMAT_TYPED_ARRAY) {}\n\n return {\n startIndex: startIndex,\n dimensionsDefine: normalizeDimensionsDefine(dimensionsDefine),\n dimensionsDetectCount: dimensionsDetectCount\n };\n} // Consider dimensions defined like ['A', 'price', 'B', 'price', 'C', 'price'],\n// which is reasonable. But dimension name is duplicated.\n// Returns undefined or an array contains only object without null/undefiend or string.\n\n\nfunction normalizeDimensionsDefine(dimensionsDefine) {\n if (!dimensionsDefine) {\n // The meaning of null/undefined is different from empty array.\n return;\n }\n\n var nameMap = createHashMap();\n return map(dimensionsDefine, function (item, index) {\n item = extend({}, isObject(item) ? item : {\n name: item\n }); // User can set null in dimensions.\n // We dont auto specify name, othewise a given name may\n // cause it be refered unexpectedly.\n\n if (item.name == null) {\n return item;\n } // Also consider number form like 2012.\n\n\n item.name += ''; // User may also specify displayName.\n // displayName will always exists except user not\n // specified or dim name is not specified or detected.\n // (A auto generated dim name will not be used as\n // displayName).\n\n if (item.displayName == null) {\n item.displayName = item.name;\n }\n\n var exist = nameMap.get(item.name);\n\n if (!exist) {\n nameMap.set(item.name, {\n count: 1\n });\n } else {\n item.name += '-' + exist.count++;\n }\n\n return item;\n });\n}\n\nfunction arrayRowsTravelFirst(cb, seriesLayoutBy, data, maxLoop) {\n maxLoop == null && (maxLoop = Infinity);\n\n if (seriesLayoutBy === SERIES_LAYOUT_BY_ROW) {\n for (var i = 0; i < data.length && i < maxLoop; i++) {\n cb(data[i] ? data[i][0] : null, i);\n }\n } else {\n var value0 = data[0] || [];\n\n for (var i = 0; i < value0.length && i < maxLoop; i++) {\n cb(value0[i], i);\n }\n }\n}\n\nfunction objectRowsCollectDimensions(data) {\n var firstIndex = 0;\n var obj;\n\n while (firstIndex < data.length && !(obj = data[firstIndex++])) {} // jshint ignore: line\n\n\n if (obj) {\n var dimensions = [];\n each(obj, function (value, key) {\n dimensions.push(key);\n });\n return dimensions;\n }\n}\n/**\n * [The strategy of the arrengment of data dimensions for dataset]:\n * \"value way\": all axes are non-category axes. So series one by one take\n * several (the number is coordSysDims.length) dimensions from dataset.\n * The result of data arrengment of data dimensions like:\n * | ser0_x | ser0_y | ser1_x | ser1_y | ser2_x | ser2_y |\n * \"category way\": at least one axis is category axis. So the the first data\n * dimension is always mapped to the first category axis and shared by\n * all of the series. The other data dimensions are taken by series like\n * \"value way\" does.\n * The result of data arrengment of data dimensions like:\n * | ser_shared_x | ser0_y | ser1_y | ser2_y |\n *\n * @param {Array.} coordDimensions [{name: , type: , dimsDef: }, ...]\n * @param {module:model/Series} seriesModel\n * @param {module:data/Source} source\n * @return {Object} encode Never be `null/undefined`.\n */\n\n\nfunction makeSeriesEncodeForAxisCoordSys(coordDimensions, seriesModel, source) {\n var encode = {};\n var datasetModel = getDatasetModel(seriesModel); // Currently only make default when using dataset, util more reqirements occur.\n\n if (!datasetModel || !coordDimensions) {\n return encode;\n }\n\n var encodeItemName = [];\n var encodeSeriesName = [];\n var ecModel = seriesModel.ecModel;\n var datasetMap = inner(ecModel).datasetMap;\n var key = datasetModel.uid + '_' + source.seriesLayoutBy;\n var baseCategoryDimIndex;\n var categoryWayValueDimStart;\n coordDimensions = coordDimensions.slice();\n each(coordDimensions, function (coordDimInfo, coordDimIdx) {\n !isObject(coordDimInfo) && (coordDimensions[coordDimIdx] = {\n name: coordDimInfo\n });\n\n if (coordDimInfo.type === 'ordinal' && baseCategoryDimIndex == null) {\n baseCategoryDimIndex = coordDimIdx;\n categoryWayValueDimStart = getDataDimCountOnCoordDim(coordDimensions[coordDimIdx]);\n }\n\n encode[coordDimInfo.name] = [];\n });\n var datasetRecord = datasetMap.get(key) || datasetMap.set(key, {\n categoryWayDim: categoryWayValueDimStart,\n valueWayDim: 0\n }); // TODO\n // Auto detect first time axis and do arrangement.\n\n each(coordDimensions, function (coordDimInfo, coordDimIdx) {\n var coordDimName = coordDimInfo.name;\n var count = getDataDimCountOnCoordDim(coordDimInfo); // In value way.\n\n if (baseCategoryDimIndex == null) {\n var start = datasetRecord.valueWayDim;\n pushDim(encode[coordDimName], start, count);\n pushDim(encodeSeriesName, start, count);\n datasetRecord.valueWayDim += count; // ??? TODO give a better default series name rule?\n // especially when encode x y specified.\n // consider: when mutiple series share one dimension\n // category axis, series name should better use\n // the other dimsion name. On the other hand, use\n // both dimensions name.\n } // In category way, the first category axis.\n else if (baseCategoryDimIndex === coordDimIdx) {\n pushDim(encode[coordDimName], 0, count);\n pushDim(encodeItemName, 0, count);\n } // In category way, the other axis.\n else {\n var start = datasetRecord.categoryWayDim;\n pushDim(encode[coordDimName], start, count);\n pushDim(encodeSeriesName, start, count);\n datasetRecord.categoryWayDim += count;\n }\n });\n\n function pushDim(dimIdxArr, idxFrom, idxCount) {\n for (var i = 0; i < idxCount; i++) {\n dimIdxArr.push(idxFrom + i);\n }\n }\n\n function getDataDimCountOnCoordDim(coordDimInfo) {\n var dimsDef = coordDimInfo.dimsDef;\n return dimsDef ? dimsDef.length : 1;\n }\n\n encodeItemName.length && (encode.itemName = encodeItemName);\n encodeSeriesName.length && (encode.seriesName = encodeSeriesName);\n return encode;\n}\n/**\n * Work for data like [{name: ..., value: ...}, ...].\n *\n * @param {module:model/Series} seriesModel\n * @param {module:data/Source} source\n * @return {Object} encode Never be `null/undefined`.\n */\n\n\nfunction makeSeriesEncodeForNameBased(seriesModel, source, dimCount) {\n var encode = {};\n var datasetModel = getDatasetModel(seriesModel); // Currently only make default when using dataset, util more reqirements occur.\n\n if (!datasetModel) {\n return encode;\n }\n\n var sourceFormat = source.sourceFormat;\n var dimensionsDefine = source.dimensionsDefine;\n var potentialNameDimIndex;\n\n if (sourceFormat === SOURCE_FORMAT_OBJECT_ROWS || sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS) {\n each(dimensionsDefine, function (dim, idx) {\n if ((isObject(dim) ? dim.name : dim) === 'name') {\n potentialNameDimIndex = idx;\n }\n });\n } // idxResult: {v, n}.\n\n\n var idxResult = function () {\n var idxRes0 = {};\n var idxRes1 = {};\n var guessRecords = []; // 5 is an experience value.\n\n for (var i = 0, len = Math.min(5, dimCount); i < len; i++) {\n var guessResult = doGuessOrdinal(source.data, sourceFormat, source.seriesLayoutBy, dimensionsDefine, source.startIndex, i);\n guessRecords.push(guessResult);\n var isPureNumber = guessResult === BE_ORDINAL.Not; // [Strategy of idxRes0]: find the first BE_ORDINAL.Not as the value dim,\n // and then find a name dim with the priority:\n // \"BE_ORDINAL.Might|BE_ORDINAL.Must\" > \"other dim\" > \"the value dim itself\".\n\n if (isPureNumber && idxRes0.v == null && i !== potentialNameDimIndex) {\n idxRes0.v = i;\n }\n\n if (idxRes0.n == null || idxRes0.n === idxRes0.v || !isPureNumber && guessRecords[idxRes0.n] === BE_ORDINAL.Not) {\n idxRes0.n = i;\n }\n\n if (fulfilled(idxRes0) && guessRecords[idxRes0.n] !== BE_ORDINAL.Not) {\n return idxRes0;\n } // [Strategy of idxRes1]: if idxRes0 not satisfied (that is, no BE_ORDINAL.Not),\n // find the first BE_ORDINAL.Might as the value dim,\n // and then find a name dim with the priority:\n // \"other dim\" > \"the value dim itself\".\n // That is for backward compat: number-like (e.g., `'3'`, `'55'`) can be\n // treated as number.\n\n\n if (!isPureNumber) {\n if (guessResult === BE_ORDINAL.Might && idxRes1.v == null && i !== potentialNameDimIndex) {\n idxRes1.v = i;\n }\n\n if (idxRes1.n == null || idxRes1.n === idxRes1.v) {\n idxRes1.n = i;\n }\n }\n }\n\n function fulfilled(idxResult) {\n return idxResult.v != null && idxResult.n != null;\n }\n\n return fulfilled(idxRes0) ? idxRes0 : fulfilled(idxRes1) ? idxRes1 : null;\n }();\n\n if (idxResult) {\n encode.value = idxResult.v; // `potentialNameDimIndex` has highest priority.\n\n var nameDimIndex = potentialNameDimIndex != null ? potentialNameDimIndex : idxResult.n; // By default, label use itemName in charts.\n // So we dont set encodeLabel here.\n\n encode.itemName = [nameDimIndex];\n encode.seriesName = [nameDimIndex];\n }\n\n return encode;\n}\n/**\n * If return null/undefined, indicate that should not use datasetModel.\n */\n\n\nfunction getDatasetModel(seriesModel) {\n var option = seriesModel.option; // Caution: consider the scenario:\n // A dataset is declared and a series is not expected to use the dataset,\n // and at the beginning `setOption({series: { noData })` (just prepare other\n // option but no data), then `setOption({series: {data: [...]}); In this case,\n // the user should set an empty array to avoid that dataset is used by default.\n\n var thisData = option.data;\n\n if (!thisData) {\n return seriesModel.ecModel.getComponent('dataset', option.datasetIndex || 0);\n }\n}\n/**\n * The rule should not be complex, otherwise user might not\n * be able to known where the data is wrong.\n * The code is ugly, but how to make it neat?\n *\n * @param {module:echars/data/Source} source\n * @param {number} dimIndex\n * @return {BE_ORDINAL} guess result.\n */\n\n\nfunction guessOrdinal(source, dimIndex) {\n return doGuessOrdinal(source.data, source.sourceFormat, source.seriesLayoutBy, source.dimensionsDefine, source.startIndex, dimIndex);\n} // dimIndex may be overflow source data.\n// return {BE_ORDINAL}\n\n\nfunction doGuessOrdinal(data, sourceFormat, seriesLayoutBy, dimensionsDefine, startIndex, dimIndex) {\n var result; // Experience value.\n\n var maxLoop = 5;\n\n if (isTypedArray(data)) {\n return BE_ORDINAL.Not;\n } // When sourceType is 'objectRows' or 'keyedColumns', dimensionsDefine\n // always exists in source.\n\n\n var dimName;\n var dimType;\n\n if (dimensionsDefine) {\n var dimDefItem = dimensionsDefine[dimIndex];\n\n if (isObject(dimDefItem)) {\n dimName = dimDefItem.name;\n dimType = dimDefItem.type;\n } else if (isString(dimDefItem)) {\n dimName = dimDefItem;\n }\n }\n\n if (dimType != null) {\n return dimType === 'ordinal' ? BE_ORDINAL.Must : BE_ORDINAL.Not;\n }\n\n if (sourceFormat === SOURCE_FORMAT_ARRAY_ROWS) {\n if (seriesLayoutBy === SERIES_LAYOUT_BY_ROW) {\n var sample = data[dimIndex];\n\n for (var i = 0; i < (sample || []).length && i < maxLoop; i++) {\n if ((result = detectValue(sample[startIndex + i])) != null) {\n return result;\n }\n }\n } else {\n for (var i = 0; i < data.length && i < maxLoop; i++) {\n var row = data[startIndex + i];\n\n if (row && (result = detectValue(row[dimIndex])) != null) {\n return result;\n }\n }\n }\n } else if (sourceFormat === SOURCE_FORMAT_OBJECT_ROWS) {\n if (!dimName) {\n return BE_ORDINAL.Not;\n }\n\n for (var i = 0; i < data.length && i < maxLoop; i++) {\n var item = data[i];\n\n if (item && (result = detectValue(item[dimName])) != null) {\n return result;\n }\n }\n } else if (sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS) {\n if (!dimName) {\n return BE_ORDINAL.Not;\n }\n\n var sample = data[dimName];\n\n if (!sample || isTypedArray(sample)) {\n return BE_ORDINAL.Not;\n }\n\n for (var i = 0; i < sample.length && i < maxLoop; i++) {\n if ((result = detectValue(sample[i])) != null) {\n return result;\n }\n }\n } else if (sourceFormat === SOURCE_FORMAT_ORIGINAL) {\n for (var i = 0; i < data.length && i < maxLoop; i++) {\n var item = data[i];\n var val = getDataItemValue(item);\n\n if (!isArray(val)) {\n return BE_ORDINAL.Not;\n }\n\n if ((result = detectValue(val[dimIndex])) != null) {\n return result;\n }\n }\n }\n\n function detectValue(val) {\n var beStr = isString(val); // Consider usage convenience, '1', '2' will be treated as \"number\".\n // `isFinit('')` get `true`.\n\n if (val != null && isFinite(val) && val !== '') {\n return beStr ? BE_ORDINAL.Might : BE_ORDINAL.Not;\n } else if (beStr && val !== '-') {\n return BE_ORDINAL.Must;\n }\n }\n\n return BE_ORDINAL.Not;\n}\n\nexports.BE_ORDINAL = BE_ORDINAL;\nexports.detectSourceFormat = detectSourceFormat;\nexports.getSource = getSource;\nexports.resetSourceDefaulter = resetSourceDefaulter;\nexports.prepareSource = prepareSource;\nexports.makeSeriesEncodeForAxisCoordSys = makeSeriesEncodeForAxisCoordSys;\nexports.makeSeriesEncodeForNameBased = makeSeriesEncodeForNameBased;\nexports.guessOrdinal = guessOrdinal;","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\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*/\n\nvar graphic = require(\"../../util/graphic\");\n\nvar Line = require(\"./Line\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _symbol = require(\"../../util/symbol\");\n\nvar createSymbol = _symbol.createSymbol;\n\nvar vec2 = require(\"zrender/lib/core/vector\");\n\nvar curveUtil = require(\"zrender/lib/core/curve\");\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 * Provide effect for line\n * @module echarts/chart/helper/EffectLine\n */\n\n/**\n * @constructor\n * @extends {module:zrender/graphic/Group}\n * @alias {module:echarts/chart/helper/Line}\n */\nfunction EffectLine(lineData, idx, seriesScope) {\n graphic.Group.call(this);\n this.add(this.createLine(lineData, idx, seriesScope));\n\n this._updateEffectSymbol(lineData, idx);\n}\n\nvar effectLineProto = EffectLine.prototype;\n\neffectLineProto.createLine = function (lineData, idx, seriesScope) {\n return new Line(lineData, idx, seriesScope);\n};\n\neffectLineProto._updateEffectSymbol = function (lineData, idx) {\n var itemModel = lineData.getItemModel(idx);\n var effectModel = itemModel.getModel('effect');\n var size = effectModel.get('symbolSize');\n var symbolType = effectModel.get('symbol');\n\n if (!zrUtil.isArray(size)) {\n size = [size, size];\n }\n\n var color = effectModel.get('color') || lineData.getItemVisual(idx, 'color');\n var symbol = this.childAt(1);\n\n if (this._symbolType !== symbolType) {\n // Remove previous\n this.remove(symbol);\n symbol = createSymbol(symbolType, -0.5, -0.5, 1, 1, color);\n symbol.z2 = 100;\n symbol.culling = true;\n this.add(symbol);\n } // Symbol may be removed if loop is false\n\n\n if (!symbol) {\n return;\n } // Shadow color is same with color in default\n\n\n symbol.setStyle('shadowColor', color);\n symbol.setStyle(effectModel.getItemStyle(['color']));\n symbol.attr('scale', size);\n symbol.setColor(color);\n symbol.attr('scale', size);\n this._symbolType = symbolType;\n this._symbolScale = size;\n\n this._updateEffectAnimation(lineData, effectModel, idx);\n};\n\neffectLineProto._updateEffectAnimation = function (lineData, effectModel, idx) {\n var symbol = this.childAt(1);\n\n if (!symbol) {\n return;\n }\n\n var self = this;\n var points = lineData.getItemLayout(idx);\n var period = effectModel.get('period') * 1000;\n var loop = effectModel.get('loop');\n var constantSpeed = effectModel.get('constantSpeed');\n var delayExpr = zrUtil.retrieve(effectModel.get('delay'), function (idx) {\n return idx / lineData.count() * period / 3;\n });\n var isDelayFunc = typeof delayExpr === 'function'; // Ignore when updating\n\n symbol.ignore = true;\n this.updateAnimationPoints(symbol, points);\n\n if (constantSpeed > 0) {\n period = this.getLineLength(symbol) / constantSpeed * 1000;\n }\n\n if (period !== this._period || loop !== this._loop) {\n symbol.stopAnimation();\n var delay = delayExpr;\n\n if (isDelayFunc) {\n delay = delayExpr(idx);\n }\n\n if (symbol.__t > 0) {\n delay = -period * symbol.__t;\n }\n\n symbol.__t = 0;\n var animator = symbol.animate('', loop).when(period, {\n __t: 1\n }).delay(delay).during(function () {\n self.updateSymbolPosition(symbol);\n });\n\n if (!loop) {\n animator.done(function () {\n self.remove(symbol);\n });\n }\n\n animator.start();\n }\n\n this._period = period;\n this._loop = loop;\n};\n\neffectLineProto.getLineLength = function (symbol) {\n // Not so accurate\n return vec2.dist(symbol.__p1, symbol.__cp1) + vec2.dist(symbol.__cp1, symbol.__p2);\n};\n\neffectLineProto.updateAnimationPoints = function (symbol, points) {\n symbol.__p1 = points[0];\n symbol.__p2 = points[1];\n symbol.__cp1 = points[2] || [(points[0][0] + points[1][0]) / 2, (points[0][1] + points[1][1]) / 2];\n};\n\neffectLineProto.updateData = function (lineData, idx, seriesScope) {\n this.childAt(0).updateData(lineData, idx, seriesScope);\n\n this._updateEffectSymbol(lineData, idx);\n};\n\neffectLineProto.updateSymbolPosition = function (symbol) {\n var p1 = symbol.__p1;\n var p2 = symbol.__p2;\n var cp1 = symbol.__cp1;\n var t = symbol.__t;\n var pos = symbol.position;\n var lastPos = [pos[0], pos[1]];\n var quadraticAt = curveUtil.quadraticAt;\n var quadraticDerivativeAt = curveUtil.quadraticDerivativeAt;\n pos[0] = quadraticAt(p1[0], cp1[0], p2[0], t);\n pos[1] = quadraticAt(p1[1], cp1[1], p2[1], t); // Tangent\n\n var tx = quadraticDerivativeAt(p1[0], cp1[0], p2[0], t);\n var ty = quadraticDerivativeAt(p1[1], cp1[1], p2[1], t);\n symbol.rotation = -Math.atan2(ty, tx) - Math.PI / 2; // enable continuity trail for 'line', 'rect', 'roundRect' symbolType\n\n if (this._symbolType === 'line' || this._symbolType === 'rect' || this._symbolType === 'roundRect') {\n if (symbol.__lastT !== undefined && symbol.__lastT < symbol.__t) {\n var scaleY = vec2.dist(lastPos, pos) * 1.05;\n symbol.attr('scale', [symbol.scale[0], scaleY]); // make sure the last segment render within endPoint\n\n if (t === 1) {\n pos[0] = lastPos[0] + (pos[0] - lastPos[0]) / 2;\n pos[1] = lastPos[1] + (pos[1] - lastPos[1]) / 2;\n }\n } else if (symbol.__lastT === 1) {\n // After first loop, symbol.__t does NOT start with 0, so connect p1 to pos directly.\n var scaleY = 2 * vec2.dist(p1, pos);\n symbol.attr('scale', [symbol.scale[0], scaleY]);\n } else {\n symbol.attr('scale', this._symbolScale);\n }\n }\n\n symbol.__lastT = symbol.__t;\n symbol.ignore = false;\n};\n\neffectLineProto.updateLayout = function (lineData, idx) {\n this.childAt(0).updateLayout(lineData, idx);\n var effectModel = lineData.getItemModel(idx).getModel('effect');\n\n this._updateEffectAnimation(lineData, effectModel, idx);\n};\n\nzrUtil.inherits(EffectLine, graphic.Group);\nvar _default = EffectLine;\nmodule.exports = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.Body = void 0;\n\nvar _body = _interopRequireDefault(require(\"./src/body\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_body.default.install = function (Vue) {\n Vue.component(_body.default.name, _body.default);\n};\n\nvar Body = _body.default;\nexports.Body = Body;\nvar _default = _body.default;\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\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\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar BoundingRect = require(\"zrender/lib/core/BoundingRect\");\n\nvar visualSolution = require(\"../../visual/visualSolution\");\n\nvar selector = require(\"./selector\");\n\nvar throttleUtil = require(\"../../util/throttle\");\n\nvar BrushTargetManager = require(\"../helper/BrushTargetManager\");\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*/\nvar STATE_LIST = ['inBrush', 'outOfBrush'];\nvar DISPATCH_METHOD = '__ecBrushSelect';\nvar DISPATCH_FLAG = '__ecInBrushSelectEvent';\nvar PRIORITY_BRUSH = echarts.PRIORITY.VISUAL.BRUSH;\n/**\n * Layout for visual, the priority higher than other layout, and before brush visual.\n */\n\necharts.registerLayout(PRIORITY_BRUSH, function (ecModel, api, payload) {\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});\n\nfunction 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\n\necharts.registerVisual(PRIORITY_BRUSH, function (ecModel, api, payload) {\n var brushSelected = [];\n var throttleType;\n var throttleDelay;\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 = 0;\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 return bindSelector(zrUtil.defaults({\n boundingRect: boundingRectBuilders[area.brushType](area)\n }, area));\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, rangeInfoList) : stepAOthers(seriesModel, seriesIndex, rangeInfoList);\n });\n\n function stepAParallel(seriesModel, seriesIndex) {\n var coordSys = seriesModel.coordinateSystem;\n 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 var selectorsByBrushType = getSelectorsByBrushType(seriesModel);\n\n if (!selectorsByBrushType || brushModelNotControll(brushModel, seriesIndex)) {\n return;\n }\n\n zrUtil.each(areas, function (area) {\n selectorsByBrushType[area.brushType] && brushModel.brushTargetManager.controlSeries(area, seriesModel, ecModel) && rangeInfoList.push(area);\n hasBrushExists |= brushed(rangeInfoList);\n });\n\n if (linkOthers(seriesIndex) && brushed(rangeInfoList)) {\n var data = seriesModel.getData();\n data.each(function (dataIndex) {\n if (checkInRange(selectorsByBrushType, rangeInfoList, data, 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 selectorsByBrushType = getSelectorsByBrushType(seriesModel);\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(selectorsByBrushType, 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\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(selectorsByBrushType, rangeInfoList, data, dataIndex) {\n for (var i = 0, len = rangeInfoList.length; i < len; i++) {\n var area = rangeInfoList[i];\n\n if (selectorsByBrushType[area.brushType](dataIndex, data, area.selectors, area)) {\n return true;\n }\n }\n}\n\nfunction getSelectorsByBrushType(seriesModel) {\n var brushSelector = seriesModel.brushSelector;\n\n if (zrUtil.isString(brushSelector)) {\n var sels = [];\n zrUtil.each(selector, function (selectorsByElementType, brushType) {\n sels[brushType] = function (dataIndex, data, selectors, area) {\n var itemLayout = data.getItemLayout(dataIndex);\n return selectorsByElementType[brushSelector](itemLayout, selectors, area);\n };\n });\n return sels;\n } else if (zrUtil.isFunction(brushSelector)) {\n var bSelector = {};\n zrUtil.each(selector, function (sel, brushType) {\n bSelector[brushType] = brushSelector;\n });\n return bSelector;\n }\n\n return brushSelector;\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\nfunction bindSelector(area) {\n var selectors = area.selectors = {};\n zrUtil.each(selector[area.brushType], function (selFn, elType) {\n // Do not use function binding or curry for performance.\n selectors[elType] = function (itemLayout) {\n return selFn(itemLayout, selectors, area);\n };\n });\n return area;\n}\n\nvar boundingRectBuilders = {\n lineX: zrUtil.noop,\n lineY: zrUtil.noop,\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}\n\nexports.layoutCovers = layoutCovers;","module.exports = require('./dist/echarts-amap.min.js')\r\n","var isNull = require('./isNull')\r\nvar isUndefined = require('./isUndefined')\r\n\r\n/**\r\n * 判断是否 undefined 和 null\r\n * @param {Object} obj 对象\r\n * @return {Boolean}\r\n */\r\nfunction eqNull (obj) {\r\n return isNull(obj) || isUndefined(obj)\r\n}\r\n\r\nmodule.exports = eqNull\r\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\nvar echarts = require(\"../echarts\");\n\nrequire(\"./effectScatter/EffectScatterSeries\");\n\nrequire(\"./effectScatter/EffectScatterView\");\n\nvar visualSymbol = require(\"../visual/symbol\");\n\nvar layoutPoints = require(\"../layout/points\");\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*/\necharts.registerVisual(visualSymbol('effectScatter', 'circle'));\necharts.registerLayout(layoutPoints('effectScatter'));","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","var isArray = require('../base/isArray')\r\n\r\n/**\r\n * 浅复制数组的一部分到同一数组中的另一个位置,数组大小不变\r\n *\r\n * @param {Array} array 数组\r\n * @param {Number} target 从该位置开始替换数据\r\n * @param {Number} start 从该位置开始读取数据,默认为 0 。如果为负值,表示倒数\r\n * @param {Number} end 到该位置前停止读取数据,默认等于数组长度。如果为负值,表示倒数\r\n * @return {Array}\r\n */\r\nfunction copyWithin (array, target, start, end) {\r\n if (isArray(array) && array.copyWithin) {\r\n return array.copyWithin(target, start, end)\r\n }\r\n var replaceIndex, replaceArray\r\n var targetIndex = target >> 0\r\n var startIndex = start >> 0\r\n var len = array.length\r\n var endIndex = arguments.length > 3 ? end >> 0 : len\r\n if (targetIndex < len) {\r\n targetIndex = targetIndex >= 0 ? targetIndex : len + targetIndex\r\n if (targetIndex >= 0) {\r\n startIndex = startIndex >= 0 ? startIndex : len + startIndex\r\n endIndex = endIndex >= 0 ? endIndex : len + endIndex\r\n if (startIndex < endIndex) {\r\n for (replaceIndex = 0, replaceArray = array.slice(startIndex, endIndex); targetIndex < len; targetIndex++) {\r\n if (replaceArray.length <= replaceIndex) {\r\n break\r\n }\r\n array[targetIndex] = replaceArray[replaceIndex++]\r\n }\r\n }\r\n }\r\n }\r\n return array\r\n}\r\n\r\nmodule.exports = copyWithin\r\n","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","module.exports=function(e){var t={};function i(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,\"a\",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p=\"/dist/\",i(i.s=26)}([function(e,t){e.exports=require(\"pl-table/lib/utils/util\")},function(e,t){e.exports=require(\"vue\")},function(e,t){e.exports=require(\"pl-table/lib/utils/dom\")},function(e,t){e.exports=require(\"throttle-debounce/debounce\")},function(e,t){e.exports=require(\"pl-table/lib/mixins/emitter\")},function(e,t){e.exports=require(\"pl-table/lib/locale\")},function(e,t){e.exports=require(\"xe-utils/methods/xe-utils\")},function(e,t){e.exports=require(\"pl-table/lib/mixins/locale\")},function(e,t){e.exports=require(\"plxy-grid\")},function(e,t){e.exports=require(\"pl-table/lib/utils/vue-popper\")},function(e,t){e.exports=require(\"pl-table/lib/utils/merge\")},function(e,t){e.exports=require(\"pl-table/lib/utils/resize-event\")},function(e,t){e.exports=require(\"pl-table/lib/utils/clickoutside\")},function(e,t){e.exports=require(\"vuedraggable\")},function(e,t){e.exports=require(\"pl-table/lib/utils/types\")},function(e,t){e.exports=require(\"throttle-debounce\")},function(e,t){e.exports=require(\"pl-table/lib/utils/popup\")},function(e){e.exports=JSON.parse('{\"name\":\"pl-table\",\"description\":\"一个表格插件(完美解决万级数据渲染卡顿问题)\",\"version\":\"2.7.5\",\"author\":\"penglei\",\"main\":\"lib/pl-table.common.js\",\"files\":[\"lib\",\"src\",\"themes\",\"packages\"],\"scripts\":{\"dev\":\"webpack-dev-server --config build/webpack.table.config.js\",\"build:theme\":\"node build/bin/gen-cssfile && gulp build --gulpfile packages/theme-chalk/gulpfile.js && cp-cli packages/theme-chalk/lib lib/theme-chalk\",\"build:utils\":\"cross-env BABEL_ENV=utils babel src --out-dir lib --ignore src/index.js\",\"build:umd\":\"node build/bin/build-locale.js\",\"clean\":\"rimraf lib && rimraf packages/*/lib && rimraf test/**/coverage\",\"dist\":\"npm run clean && npm run lint && webpack --config build/webpack.conf.js && webpack --config build/webpack.common.js && webpack --config build/webpack.component.js && npm run build:utils && npm run build:umd && npm run build:theme\",\"i18n\":\"node build/bin/i18n.js\",\"lint\":\"eslint src/**/* test/**/* packages/**/* build/**/* --quiet\"},\"faas\":[{\"domain\":\"element\",\"public\":\"temp_web/element\"},{\"domain\":\"element-theme\",\"public\":\"examples/pl-table\",\"build\":[\"yarn\",\"npm run deploy:build\"]}],\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/livelyPeng/pl-table\"},\"keywords\":[\"pl-table\",\"element\"],\"license\":\"MIT\",\"dependencies\":{\"async-validator\":\"~1.8.1\",\"deepmerge\":\"^1.2.0\",\"normalize-wheel\":\"^1.0.1\",\"plxy-grid\":\"^2.8.3\",\"resize-observer-polyfill\":\"^1.5.0\",\"throttle-debounce\":\"^1.0.1\",\"vuedraggable\":\"^2.23.2\",\"xe-utils\":\"^2.3.0\"},\"peerDependencies\":{\"vue\":\"^2.5.17\"},\"devDependencies\":{\"babel-helper-vue-jsx-merge-props\":\"^2.0.0\",\"babel-polyfill\":\"^6.26.0\",\"@vue/component-compiler-utils\":\"^2.6.0\",\"algoliasearch\":\"^3.24.5\",\"babel-cli\":\"^6.26.0\",\"babel-core\":\"^6.26.3\",\"babel-loader\":\"^7.1.5\",\"babel-plugin-add-module-exports\":\"^0.2.1\",\"babel-plugin-istanbul\":\"^4.1.1\",\"babel-plugin-module-resolver\":\"^2.2.0\",\"babel-plugin-syntax-jsx\":\"^6.18.0\",\"babel-plugin-transform-vue-jsx\":\"^3.7.0\",\"babel-preset-env\":\"^1.7.0\",\"babel-preset-stage-2\":\"^6.24.1\",\"babel-regenerator-runtime\":\"^6.5.0\",\"chai\":\"^4.2.0\",\"chokidar\":\"^1.7.0\",\"copy-webpack-plugin\":\"^5.0.0\",\"coveralls\":\"^3.0.3\",\"cp-cli\":\"^1.0.2\",\"cross-env\":\"^3.1.3\",\"css-loader\":\"^0.28.11\",\"es6-promise\":\"^4.0.5\",\"eslint\":\"4.18.2\",\"eslint-config-elemefe\":\"0.1.1\",\"eslint-loader\":\"^2.0.0\",\"eslint-plugin-html\":\"^4.0.1\",\"eslint-plugin-json\":\"^1.2.0\",\"file-loader\":\"^1.1.11\",\"file-save\":\"^0.2.0\",\"gulp\":\"^4.0.0\",\"gulp-autoprefixer\":\"^6.0.0\",\"gulp-cssmin\":\"^0.2.0\",\"gulp-sass\":\"^4.0.2\",\"highlight.js\":\"^9.3.0\",\"html-webpack-plugin\":\"^3.2.0\",\"json-loader\":\"^0.5.7\",\"json-templater\":\"^1.0.4\",\"karma\":\"^4.0.1\",\"karma-chrome-launcher\":\"^2.2.0\",\"karma-coverage\":\"^1.1.2\",\"karma-mocha\":\"^1.3.0\",\"karma-sinon-chai\":\"^2.0.2\",\"karma-sourcemap-loader\":\"^0.3.7\",\"karma-spec-reporter\":\"^0.0.32\",\"karma-webpack\":\"^3.0.5\",\"markdown-it\":\"^8.4.1\",\"markdown-it-anchor\":\"^5.0.2\",\"markdown-it-chain\":\"^1.3.0\",\"markdown-it-container\":\"^2.0.0\",\"mini-css-extract-plugin\":\"^0.4.1\",\"mocha\":\"^6.0.2\",\"node-sass\":\"^4.11.0\",\"optimize-css-assets-webpack-plugin\":\"^5.0.1\",\"postcss\":\"^7.0.14\",\"progress-bar-webpack-plugin\":\"^1.11.0\",\"rimraf\":\"^2.5.4\",\"sass-loader\":\"^7.1.0\",\"sass-resources-loader\":\"^2.0.1\",\"select-version-cli\":\"^0.0.2\",\"sinon\":\"^7.2.7\",\"animejs\":\"^3.1.0\",\"sinon-chai\":\"^3.3.0\",\"style-loader\":\"^0.23.1\",\"transliteration\":\"^1.1.11\",\"uglifyjs-webpack-plugin\":\"^2.1.1\",\"uppercamelcase\":\"^1.1.0\",\"url-loader\":\"^1.0.1\",\"vue\":\"2.5.21\",\"vue-loader\":\"^15.7.0\",\"vue-router\":\"^3.0.1\",\"vue-template-compiler\":\"2.5.21\",\"vue-template-es2015-compiler\":\"^1.6.0\",\"webpack\":\"^4.14.0\",\"webpack-cli\":\"^3.0.8\",\"webpack-dev-server\":\"^3.1.11\",\"webpack-node-externals\":\"^1.7.2\",\"element-ui\":\"^2.13.0\"}}')},function(e,t){e.exports=require(\"resize-observer-polyfill\")},function(e,t){e.exports=require(\"normalize-wheel\")},function(e,t){e.exports=require(\"pl-table/lib/utils/scrollbar-width\")},function(e,t){e.exports=require(\"pl-table/lib/pl-table-column\")},function(e,t){e.exports=require(\"pl-table/lib/mixins/focus\")},function(e,t){e.exports=require(\"pl-table/lib/mixins/migrating\")},function(e,t){e.exports=require(\"pl-table/lib/utils/scroll-into-view\")},function(e,t){e.exports=require(\"pl-table/lib/utils/shared\")},function(e,t,i){e.exports=i(28)},function(e,t){e.exports=require(\"xe-utils\")},function(e,t,i){\"use strict\";i.r(t);var n=i(17),r=i(0),l={default:{order:\"\"},selection:{width:48,minWidth:48,realWidth:48,order:\"\",className:\"el-table-column--selection\"},expand:{width:48,minWidth:48,realWidth:48,order:\"\"},index:{width:48,minWidth:48,realWidth:48,order:\"\"}},o={selection:{renderHeader:function(e,t){var i=t.store;return e(\"el-checkbox\",{attrs:{disabled:i.states.data&&0===i.states.data.length,indeterminate:i.states.selection.length>0&&!this.isAllSelected,value:this.isAllSelected},nativeOn:{click:this.toggleAllSelection}})},renderCell:function(e,t){var i=t.row,n=t.column,r=t.store,l=t.$index;return e(\"el-checkbox\",{nativeOn:{click:function(e){return e.stopPropagation()}},attrs:{value:r.isSelected(i),disabled:!!n.selectable&&!n.selectable.call(null,i,l)},on:{input:function(){r.commit(\"rowSelectedChanged\",i)}}})},sortable:!1,resizable:!1},index:{renderHeader:function(e,t){return t.column.label||\"#\"},renderCell:function(e,t){var i=t.$index,n=i+1,r=t.column.index;return\"number\"==typeof r?n=i+r:\"function\"==typeof r&&(n=r(i)),e(\"div\",[n])},sortable:!1},expand:{renderHeader:function(e,t){return t.column.label||\"\"},renderCell:function(e,t){var i=t.row,n=t.store,r=[\"el-table__expand-icon\"];n.states.expandRows.indexOf(i)>-1&&r.push(\"el-table__expand-icon--expanded\");return e(\"div\",{class:r,on:{click:function(e){e.stopPropagation(),n.toggleRowExpansion(i)}}},[e(\"i\",{class:\"el-icon el-icon-arrow-right\"})])},sortable:!1,resizable:!1,className:\"el-table__expand-column\"}};function s(e,t){var i=t.row,n=t.column,l=t.$index,o=n.property,s=o&&Object(r.getPropByPath)(i,o).v;return n&&n.formatter?n.formatter(i,n,s,l):s}var a=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},u=function(e){for(var t=e.target;t&&\"HTML\"!==t.tagName.toUpperCase();){if(\"TD\"===t.tagName.toUpperCase())return t;t=t.parentNode}return null},c=function(e){return null!==e&&\"object\"===(void 0===e?\"undefined\":a(e))},h=function(e,t,i,n,l){if(!t&&!n&&(!l||Array.isArray(l)&&!l.length))return e;i=\"string\"==typeof i?\"descending\"===i?-1:1:i&&i<0?-1:1;var o=n?null:function(i,n){return l?(Array.isArray(l)||(l=[l]),l.map((function(t){return\"string\"==typeof t?Object(r.getValueByPath)(i,t):t(i,n,e)}))):(\"$key\"!==t&&c(i)&&\"$value\"in i&&(i=i.$value),[c(i)?Object(r.getValueByPath)(i,t):i])};return e.map((function(e,t){return{value:e,index:t,key:o?o(e,t):null}})).sort((function(e,t){var r=function(e,t){if(n)return n(e.value,t.value);for(var i=0,r=e.key.length;it.key[i])return 1}return 0}(e,t);return r||(r=e.index-t.index),r*i})).map((function(e){return e.value}))},d=function(e,t){var i=null;return e.columns.forEach((function(e){e.id===t&&(i=e)})),i},p=function(e,t){var i=(t.className||\"\").match(/el-table_[^\\s]+/gm);return i?d(e,i[0]):null},f=function(e,t){if(!e)throw new Error(\"row is required when get row identity\");if(\"string\"==typeof t){if(t.indexOf(\".\")<0)return e[t];for(var i=t.split(\".\"),n=e,r=0;r-1:e._q(e.model,e.trueLabel)},on:{change:[function(t){var i=e.model,n=t.target,r=n.checked?e.trueLabel:e.falseLabel;if(Array.isArray(i)){var l=e._i(i,null);n.checked?l<0&&(e.model=i.concat([null])):l>-1&&(e.model=i.slice(0,l).concat(i.slice(l+1)))}else e.model=r},e.handleChange],focus:function(t){e.focus=!0},blur:function(t){e.focus=!1}}}):i(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:e.model,expression:\"model\"}],staticClass:\"el-checkbox__original\",attrs:{type:\"checkbox\",\"aria-hidden\":e.indeterminate?\"true\":\"false\",disabled:e.isDisabled,name:e.name},domProps:{value:e.label,checked:Array.isArray(e.model)?e._i(e.model,e.label)>-1:e.model},on:{change:[function(t){var i=e.model,n=t.target,r=!!n.checked;if(Array.isArray(i)){var l=e.label,o=e._i(i,l);n.checked?o<0&&(e.model=i.concat([l])):o>-1&&(e.model=i.slice(0,o).concat(i.slice(o+1)))}else e.model=r},e.handleChange],focus:function(t){e.focus=!0},blur:function(t){e.focus=!1}}})]),e.$slots.default||e.label?i(\"span\",{staticClass:\"el-checkbox__label\"},[e._t(\"default\"),e.$slots.default?e._e():[e._v(e._s(e.label))]],2):e._e()])};x._withStripped=!0;var w=i(4),C=i.n(w);function S(e,t,i,n,r,l,o,s){var a,u=\"function\"==typeof e?e.options:e;if(t&&(u.render=t,u.staticRenderFns=i,u._compiled=!0),n&&(u.functional=!0),l&&(u._scopeId=\"data-v-\"+l),o?(a=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(o)},u._ssrRegister=a):r&&(a=s?function(){r.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:r),a)if(u.functional){u._injectStyles=a;var c=u.render;u.render=function(e,t){return a.call(t),c(e,t)}}else{var h=u.beforeCreate;u.beforeCreate=h?[].concat(h,a):[a]}return{exports:e,options:u}}var _=S({name:\"ElCheckbox\",mixins:[C.a],inject:{elForm:{default:\"\"},elFormItem:{default:\"\"}},componentName:\"ElCheckbox\",data:function(){return{selfModel:!1,focus:!1,isLimitExceeded:!1}},computed:{model:{get:function(){return this.isGroup?this.store:void 0!==this.value?this.value:this.selfModel},set:function(e){this.isGroup?(this.isLimitExceeded=!1,void 0!==this._checkboxGroup.min&&e.lengththis._checkboxGroup.max&&(this.isLimitExceeded=!0),!1===this.isLimitExceeded&&this.dispatch(\"ElCheckboxGroup\",\"input\",[e])):(this.$emit(\"input\",e),this.selfModel=e)}},isChecked:function(){return\"[object Boolean]\"==={}.toString.call(this.model)?this.model:Array.isArray(this.model)?this.model.indexOf(this.label)>-1:null!==this.model&&void 0!==this.model?this.model===this.trueLabel:void 0},isGroup:function(){for(var e=this.$parent;e;){if(\"ElCheckboxGroup\"===e.$options.componentName)return this._checkboxGroup=e,!0;e=e.$parent}return!1},store:function(){return this._checkboxGroup?this._checkboxGroup.value:this.value},isLimitDisabled:function(){var e=this._checkboxGroup,t=e.max,i=e.min;return!(!t&&!i)&&this.model.length>=t&&!this.isChecked||this.model.length<=i&&this.isChecked},isDisabled:function(){return this.isGroup?this._checkboxGroup.disabled||this.disabled||(this.elForm||{}).disabled||this.isLimitDisabled:this.disabled||(this.elForm||{}).disabled},_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},checkboxSize:function(){var e=this.size||this._elFormItemSize||(this.$ELEMENT||{}).size;return this.isGroup&&this._checkboxGroup.checkboxGroupSize||e}},props:{value:{},label:{},indeterminate:Boolean,disabled:Boolean,checked:Boolean,name:String,trueLabel:[String,Number],falseLabel:[String,Number],id:String,controls:String,border:Boolean,size:String},methods:{addToStore:function(){Array.isArray(this.model)&&-1===this.model.indexOf(this.label)?this.model.push(this.label):this.model=this.trueLabel||!0},handleChange:function(e){var t=this;if(!this.isLimitExceeded){var i=void 0;i=e.target.checked?void 0===this.trueLabel||this.trueLabel:void 0!==this.falseLabel&&this.falseLabel,this.$emit(\"change\",i,e),this.$nextTick((function(){t.isGroup&&t.dispatch(\"ElCheckboxGroup\",\"change\",[t._checkboxGroup.value])}))}}},created:function(){this.checked&&this.addToStore()},mounted:function(){this.indeterminate&&this.$el.setAttribute(\"aria-controls\",this.controls)},watch:{value:function(e){this.dispatch(\"ElFormItem\",\"el.form.change\",e)}}},x,[],!1,null,null,null);_.options.__file=\"packages/checkbox/src/checkbox.vue\";var $=_.exports;$.install=function(e){e.component($.name,$)};var k=$,T=Object.assign||function(e){for(var t=1;t-1}))}}},data:function(){return{isSubColumn:!1,columns:[]}},computed:{owner:function(){for(var e=this.$parent;e&&!e.tableId;)e=e.$parent;return e},columnOrTableParent:function(){for(var e=this.$parent;e&&!e.tableId&&!e.columnId;)e=e.$parent;return e},realWidth:function(){return b(this.width)},realMinWidth:function(){return void 0!==(e=this.minWidth)&&(e=b(e),isNaN(e)&&(e=80)),e;var e},realAlign:function(){return this.align?\"is-\"+this.align:null},realHeaderAlign:function(){return this.headerAlign?\"is-\"+this.headerAlign:this.realAlign}},methods:{getPropsData:function(){for(var e=this,t=arguments.length,i=Array(t),n=0;n0?i(\"div\",{class:[{\"tree--btn-wrapper-show\":t.owner.isTreeExpandByRow(a)},\"tree--btn-wrapper\"],on:{click:function(e){return t.owner.triggerTreeExpandEvent(a,\"default\",e)}}},[i(\"i\",{class:\"el-icon-arrow-right\"})]):\"\",i(\"div\",{class:\"pl-tree-cell\"},[o,l])])]):i(\"div\",s,[o,l])}),e},registerNormalWatchers:function(){var e=this,t={prop:\"property\",realAlign:\"align\",realHeaderAlign:\"headerAlign\",realWidth:\"width\"},i=[\"label\",\"property\",\"filters\",\"filterMultiple\",\"sortable\",\"index\",\"formatter\",\"className\",\"labelClassName\",\"showOverflowTooltip\"].reduce((function(e,t){return e[t]=t,e}),t);Object.keys(i).forEach((function(i){var n=t[i];e.$watch(i,(function(t){e.columnConfig[n]=t}))}))},registerComplexWatchers:function(){var e=this,t={realWidth:\"width\",realMinWidth:\"minWidth\"},i=[\"fixed\"].reduce((function(e,t){return e[t]=t,e}),t);Object.keys(i).forEach((function(i){var n=t[i];e.$watch(i,(function(t){e.columnConfig[n]=t;var i=\"fixed\"===n;e.owner.store.scheduleLayout(i)}))}))}},components:{ElCheckbox:k},beforeCreate:function(){this.row={},this.column={},this.$index=0,this.columnId=\"\"},created:function(){var e=this.columnOrTableParent;this.isSubColumn=this.owner!==e,this.columnId=(e.tableId||e.columnId)+\"_column_\"+E++;var t=this.type||\"default\",i=\"\"===this.sortable||this.sortable,n=T({},l[t],{id:this.columnId,type:t,property:this.prop||this.property,align:this.realAlign,headerAlign:this.realHeaderAlign,showOverflowTooltip:this.showOverflowTooltip||this.showTooltipWhenOverflow,filterable:this.filters||this.filterMethod,filteredValue:[],filterPlacement:\"\",isColumnGroup:!1,filterOpened:!1,sortable:i,index:this.index,dropAction:this.dropAction,borderLine:this.borderLine,treeNode:this.treeNode}),r=this.getPropsData([\"columnKey\",\"label\",\"className\",\"labelClassName\",\"type\",\"renderHeader\",\"formatter\",\"fixed\",\"resizable\"],[\"sortMethod\",\"sortBy\",\"sortOrders\"],[\"selectable\",\"reserveSelection\"],[\"filterMethod\",\"filters\",\"filterMultiple\",\"filterOpened\",\"filteredValue\",\"filterPlacement\"]);r=function(e,t){var i={},n=void 0;for(n in e)i[n]=e[n];for(n in t)if(g(t,n)){var r=t[n];void 0!==r&&(i[n]=r)}return i}(n,r),r=function(){for(var e=arguments.length,t=Array(e),i=0;i0,expression:\"store.states.data && store.states.data.length > 0\"},{name:\"mousewheel\",rawName:\"v-mousewheel\",value:e.handleHeaderFooterMousewheel,expression:\"handleHeaderFooterMousewheel\"}],ref:\"footerWrapper\",staticClass:\"el-table__footer-wrapper\"},[i(\"table-footer\",{style:{width:e.layout.bodyWidth?e.layout.bodyWidth+\"px\":\"\"},attrs:{store:e.store,border:e.border,\"sum-text\":e.sumText||e.t(\"el.table.sumText\"),\"summary-method\":e.summaryMethod,\"default-sort\":e.defaultSort}})],1):e._e(),e.fixedColumns.length>0?i(\"div\",{directives:[{name:\"mousewheel\",rawName:\"v-mousewheel\",value:e.handleFixedMousewheel,expression:\"handleFixedMousewheel\"}],ref:\"fixedWrapper\",staticClass:\"el-table__fixed\",style:[{width:e.layout.fixedWidth?e.layout.fixedWidth+\"px\":\"\"},e.fixedHeight]},[e.showHeader?i(\"div\",{ref:\"fixedHeaderWrapper\",staticClass:\"el-table__fixed-header-wrapper\"},[i(\"table-header\",{ref:\"fixedTableHeader\",style:{width:e.bodyWidth},attrs:{fixed:\"left\",border:e.border,store:e.store}})],1):e._e(),i(\"div\",{ref:\"fixedBodyWrapper\",staticClass:\"el-table__fixed-body-wrapper\",style:[{top:e.layout.headerHeight+\"px\"},e.fixedBodyHeight]},[i(\"table-body\",{style:{width:e.bodyWidth},attrs:{fixed:\"left\",store:e.store,stripe:e.stripe,highlight:e.highlightCurrentRow,\"row-class-name\":e.rowClassName,\"row-style\":e.rowStyle}}),e.$slots.append?i(\"div\",{staticClass:\"el-table__append-gutter\",style:{height:e.layout.appendHeight+\"px\"}}):e._e()],1),e.showSummary?i(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.store.states.data&&e.store.states.data.length>0,expression:\"store.states.data && store.states.data.length > 0\"}],ref:\"fixedFooterWrapper\",staticClass:\"el-table__fixed-footer-wrapper\"},[i(\"table-footer\",{style:{width:e.bodyWidth},attrs:{fixed:\"left\",border:e.border,\"sum-text\":e.sumText||e.t(\"el.table.sumText\"),\"summary-method\":e.summaryMethod,store:e.store}})],1):e._e()]):e._e(),e.rightFixedColumns.length>0?i(\"div\",{directives:[{name:\"mousewheel\",rawName:\"v-mousewheel\",value:e.handleFixedMousewheel,expression:\"handleFixedMousewheel\"}],ref:\"rightFixedWrapper\",staticClass:\"el-table__fixed-right\",style:[{width:e.layout.rightFixedWidth?e.layout.rightFixedWidth+\"px\":\"\",right:e.layout.scrollY?(e.border?e.layout.gutterWidth:e.layout.gutterWidth||0)+\"px\":\"\"},e.fixedHeight]},[e.showHeader?i(\"div\",{ref:\"rightFixedHeaderWrapper\",staticClass:\"el-table__fixed-header-wrapper\"},[i(\"table-header\",{ref:\"rightFixedTableHeader\",style:{width:e.bodyWidth},attrs:{fixed:\"right\",border:e.border,store:e.store}})],1):e._e(),i(\"div\",{ref:\"rightFixedBodyWrapper\",staticClass:\"el-table__fixed-body-wrapper\",style:[{top:e.layout.headerHeight+\"px\"},e.fixedBodyHeight]},[i(\"table-body\",{style:{width:e.bodyWidth},attrs:{fixed:\"right\",store:e.store,stripe:e.stripe,\"row-class-name\":e.rowClassName,\"row-style\":e.rowStyle,highlight:e.highlightCurrentRow}}),e.$slots.append?i(\"div\",{staticClass:\"el-table__append-gutter\",style:{height:e.layout.appendHeight+\"px\"}}):e._e()],1),e.showSummary?i(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.store.states.data&&e.store.states.data.length>0,expression:\"store.states.data && store.states.data.length > 0\"}],ref:\"rightFixedFooterWrapper\",staticClass:\"el-table__fixed-footer-wrapper\"},[i(\"table-footer\",{style:{width:e.bodyWidth},attrs:{fixed:\"right\",border:e.border,\"sum-text\":e.sumText||e.t(\"el.table.sumText\"),\"summary-method\":e.summaryMethod,store:e.store}})],1):e._e()]):e._e(),e.rightFixedColumns.length>0?i(\"div\",{ref:\"rightFixedPatch\",staticClass:\"el-table__fixed-right-patch\",style:{width:e.layout.scrollY?e.layout.gutterWidth+\"px\":\"0\",height:e.layout.headerHeight+\"px\"}}):e._e(),i(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.resizeProxyVisible,expression:\"resizeProxyVisible\"}],ref:\"resizeProxy\",staticClass:\"el-table__column-resize-proxy\"}),e.fixedColumns.length>0&&e.fixedColumnsRoll&&e.showSummary?i(\"div\",{ref:\"leftFixed\",staticClass:\"el-table__fixed pltableFixedWrapper\",style:[{width:e.layout.fixedWidth?e.layout.fixedWidth+\"px\":\"\",top:e.layout.headerHeight+\"px\"},e.fixedColumnsRollHeight]}):e._e(),e.rightFixedColumns.length>0&&e.fixedColumnsRoll&&e.showSummary?i(\"div\",{ref:\"rightFixed\",staticClass:\"el-table__fixed-right pltableFixedWrapper\",style:[{width:e.layout.rightFixedWidth?e.layout.rightFixedWidth+\"px\":\"\",top:e.layout.headerHeight+\"px\",right:e.layout.scrollY?(e.border?e.layout.gutterWidth:e.layout.gutterWidth||0)+\"px\":\"\"},e.fixedColumnsRollHeight]}):e._e()])};H._withStripped=!0;var z=i(15),D=i(18),L=i.n(D),F=\"undefined\"==typeof window,I=function(e){var t=e,i=Array.isArray(t),n=0;for(t=i?t:t[Symbol.iterator]();;){var r;if(i){if(n>=t.length)break;r=t[n++]}else{if((n=t.next()).done)break;r=n.value}var l=r.target.__resizeListeners__||[];l.length&&l.forEach((function(e){e()}))}},N=i(19),R=i.n(N),B=\"undefined\"!=typeof navigator&&navigator.userAgent.toLowerCase().indexOf(\"firefox\")>-1,A={bind:function(e,t){var i,n;i=e,n=t.value,i&&i.addEventListener&&i.addEventListener(B?\"DOMMouseScroll\":\"mousewheel\",(function(e){var t=R()(e);n&&n.apply(this,[e,t])}))}},M=i(5),W=i.n(M),j={methods:{t:function(){for(var e=arguments.length,t=Array(e),i=0;i2&&void 0!==arguments[2]?arguments[2]:\"children\",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"hasChildren\",r=function(e){return!(Array.isArray(e)&&e.length)};function l(e,o,s){t(e,o,s),o.forEach((function(e){if(e[n])t(e,null,s+1);else{var o=e[i];r(o)||l(e,o,s+1)}}))}e.forEach((function(e){if(e[n])t(e,null,0);else{var o=e[i];r(o)||l(e,o,0)}}))}(e,(function(e,t,i){var n=f(e,r);Array.isArray(t)?o[n]={children:t.map((function(e){return f(e,r)})),level:i}:l&&(o[n]={children:[],lazy:!0,level:i})}),i,n),o},updateTreeData:function(){var e=this.normalizedData,t=this.normalizedLazyNode,i=Object.keys(e),n={};if(i.length){var r=this.states,l=r.treeData,o=r.defaultExpandAll,s=r.expandRowKeys,a=r.lazy,u=[],c=function(e,t){var i=o||s&&-1!==s.indexOf(t);return!!(e&&e.expanded||i)};i.forEach((function(t){var i=l[t],r=Z({},e[t]);if(r.expanded=c(i,t),r.lazy){var o=i||{},s=o.loaded,a=void 0!==s&&s,h=o.loading,d=void 0!==h&&h;r.loaded=!!a,r.loading=!!d,u.push(t)}n[t]=r}));var h=Object.keys(t);a&&h.length&&u.length&&h.forEach((function(e){var i=l[e],r=t[e].children;if(-1!==u.indexOf(e)){if(0!==n[e].children.length)throw new Error(\"[ElTable]children must be an empty array.\");n[e].children=r}else{var o=i||{},s=o.loaded,a=void 0!==s&&s,h=o.loading,d=void 0!==h&&h;n[e]={lazy:!0,loaded:!!a,loading:!!d,expanded:c(i,e),children:r,level:\"\"}}}))}this.states.treeData=n,this.updateTableScrollY()},updateTreeExpandKeys:function(e){Object.keys(this.normalizedData).length&&(this.states.expandRowKeys=e,this.updateTreeData())},toggleTreeExpansion:function(e,t){this.assertRowKey();var i=this.states,n=i.rowKey,r=i.treeData,l=f(e,n),o=l&&r[l],s=r[l].expanded;l&&o&&\"expanded\"in o&&(t=void 0===t?!o.expanded:t,r[l].expanded=t,s!==t&&this.table.$emit(\"expand-change\",e,t),this.updateTableScrollY())},loadOrToggle:function(e){this.assertRowKey();var t=this.states,i=t.lazy,n=t.treeData,r=t.rowKey,l=f(e,r),o=n[l];i&&o&&\"loaded\"in o&&!o.loaded?this.loadData(e,l,o):this.toggleTreeExpansion(e)},loadData:function(e,t,i){var n=this,r=this.table.load,l=this.states,o=l.lazyTreeNodeMap,s=l.treeData;r&&!s[t].loaded&&(s[t].loading=!0,r(e,i,(function(i){if(!Array.isArray(i))throw new Error(\"[ElTable] data must be an array\");s[t].loading=!1,s[t].loaded=!0,s[t].expanded=!0,i.length&&n.$set(o,t,i),n.table.$emit(\"expand-change\",e,!0)})))}}},te=function e(t){var i=[];return t.forEach((function(t){t.children?i.push.apply(i,e(t.children)):i.push(t)})),i},ie=q.a.extend({data:function(){return{states:{rowKey:null,data:[],isComplex:!1,_columns:[],originColumns:[],columns:[],fixedColumns:[],rightFixedColumns:[],leafColumns:[],fixedLeafColumns:[],rightFixedLeafColumns:[],leafColumnsLength:0,fixedLeafColumnsLength:0,rightFixedLeafColumnsLength:0,isAllSelected:!1,selection:[],reserveSelection:!1,selectOnIndeterminate:!1,selectable:null,filters:{},filteredData:null,sortingColumn:null,sortProp:null,sortOrder:null,hoverRow:null,useVirtual:!1,bigDataCheckbox:!1}}},mixins:[Q,U,ee],methods:{assertRowKey:function(){if(!this.states.rowKey)throw new Error(\"[ElTable] prop row-key is required\")},updateColumns:function(){var e=this.states,t=e._columns||[];e.fixedColumns=t.filter((function(e){return!0===e.fixed||\"left\"===e.fixed})),e.rightFixedColumns=t.filter((function(e){return\"right\"===e.fixed})),e.fixedColumns.length>0&&t[0]&&\"selection\"===t[0].type&&!t[0].fixed&&(t[0].fixed=!0,e.fixedColumns.unshift(t[0]));var i=t.filter((function(e){return!e.fixed}));e.originColumns=[].concat(e.fixedColumns).concat(i).concat(e.rightFixedColumns);var n=te(i),r=te(e.fixedColumns),l=te(e.rightFixedColumns);e.leafColumnsLength=n.length,e.fixedLeafColumnsLength=r.length,e.rightFixedLeafColumnsLength=l.length,e.columns=[].concat(r).concat(n).concat(l),e.isComplex=e.fixedColumns.length>0||e.rightFixedColumns.length>0},scheduleLayout:function(e){e&&this.updateColumns(),this.table.debouncedUpdateLayout()},isSelected:function(e){var t=this.states.selection;return(void 0===t?[]:t).indexOf(e)>-1},clearSelection:function(){var e=this.states;e.isAllSelected=!1,e.selection.length&&(e.selection=[],this.table.$emit(\"selection-change\",[]))},cleanSelection:function(){var e=this.states,t=e.data,i=e.rowKey,n=e.selection,r=void 0;if(i){r=[];var l=m(n,i),o=m(t,i);for(var s in l)l.hasOwnProperty(s)&&!o[s]&&r.push(l[s].row)}else r=n.filter((function(e){return-1===t.indexOf(e)}));if(r.length){var a=n.filter((function(e){return-1===r.indexOf(e)}));e.selection=a,this.table.$emit(\"selection-change\",a.slice())}},toggleRowSelection:function(e,t){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=y(this.states.selection,e,t);if(n){var r=(this.states.selection||[]).slice();i&&this.table.$emit(\"select\",r,e),this.table.$emit(\"selection-change\",r)}},toggleAllSelection:Y()(10,(function(){var e=this.states,t=e.data,i=void 0===t?[]:t,n=e.selection,r=e.selectOnIndeterminate?!e.isAllSelected:!(e.isAllSelected||n.length);e.isAllSelected=r;var l=!1;this.states.useVirtual&&this.states.bigDataCheckbox?(r?e.selectable?e.selection=i.filter((function(t,i){return e.selectable.call(null,t,i)})):e.selection=i.filter((function(e){return e})):e.selection=[],this.table.$emit(\"selection-change\",e.selection?e.selection.slice():[]),this.table.$emit(\"select-all\",e.selection)):(i.forEach((function(t,i){e.selectable?e.selectable.call(null,t,i)&&y(n,t,r)&&(l=!0):y(n,t,r)&&(l=!0)})),l&&this.table.$emit(\"selection-change\",n?n.slice():[]),this.table.$emit(\"select-all\",n))})),updateSelectionByRowKey:function(){var e=this.states,t=e.selection,i=e.rowKey,n=e.data,r=m(t,i);n.forEach((function(e){var n=f(e,i),l=r[n];l&&(t[l.index]=e)}))},updateAllSelected:function(){var e=this.states,t=e.selection,i=e.rowKey,n=e.selectable,r=e.data||[];if(0!==r.length){var l=void 0;i&&(l=m(t,i));for(var o,s=!0,a=0,u=0,c=r.length;u1?i-1:0),r=1;rthis.bodyHeight;return this.scrollY=n,i!==n}return!1},e.prototype.setHeight=function(e){var t=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"height\";if(!q.a.prototype.$isServer){var n=this.table.$el;if(e=v(e),this.height=e,!n&&(e||0===e))return q.a.nextTick((function(){return t.setHeight(e,i)}));\"number\"==typeof e?(n.style[i]=e+\"px\",this.updateElsHeight()):\"string\"==typeof e&&(n.style[i]=e,this.updateElsHeight())}},e.prototype.setMaxHeight=function(e){this.setHeight(e,\"max-height\")},e.prototype.getFlattenColumns=function(){var e=[];return this.table.columns.forEach((function(t){t.isColumnGroup?e.push.apply(e,t.columns):e.push(t)})),e},e.prototype.updateElsHeight=function(){var e=this;if(!this.table.$ready)return q.a.nextTick((function(){return e.updateElsHeight()}));var t=this.table.$refs,i=t.headerWrapper,n=t.appendWrapper,r=t.footerWrapper;if(this.appendHeight=n?n.offsetHeight:0,!this.showHeader||i){var l=this.headerHeight=this.showHeader?i.offsetHeight:0;if(this.showHeader&&i.offsetWidth>0&&(this.table.columns||[]).length>0&&l<2)return q.a.nextTick((function(){return e.updateElsHeight()}));var o=this.tableHeight=this.table.$el.clientHeight,s=this.footerHeight=r?r.offsetHeight:0;null!==this.height&&(this.bodyHeight=o-l-s+(r?1:0)),this.fixedBodyHeight=this.scrollX?this.bodyHeight-this.gutterWidth:this.bodyHeight;var a=!this.table.data||0===this.table.data.length;this.viewportHeight=this.scrollX?o-(a?0:this.gutterWidth):o,this.updateScrollY(),this.notifyObservers(\"scrollable\")}},e.prototype.updateColumnsWidth=function(){if(!q.a.prototype.$isServer){var e=this.fit,t=this.table.$el.clientWidth,i=0,n=this.getFlattenColumns(),r=n.filter((function(e){return\"number\"!=typeof e.width}));if(n.forEach((function(e){\"number\"==typeof e.width&&e.realWidth&&(e.realWidth=null)})),r.length>0&&e){n.forEach((function(e){i+=e.width||e.minWidth||80}));var l=this.scrollY?this.gutterWidth:0;if(i<=t-l){this.scrollX=!1;var o=t-l-i;if(1===r.length)r[0].realWidth=(r[0].minWidth||80)+o;else{var s=o/r.reduce((function(e,t){return e+(t.minWidth||80)}),0),a=0;r.forEach((function(e,t){if(0!==t){var i=Math.floor((e.minWidth||80)*s);a+=i,e.realWidth=(e.minWidth||80)+i}})),r[0].realWidth=(r[0].minWidth||80)+o-a}}else this.scrollX=!0,r.forEach((function(e){e.realWidth=e.minWidth}));this.bodyWidth=Math.max(i,t),this.table.resizeState.width=this.bodyWidth}else n.forEach((function(e){e.width||e.minWidth?e.realWidth=e.width||e.minWidth:e.realWidth=80,i+=e.realWidth})),this.scrollX=i>t,this.bodyWidth=i;var u=this.store.states.fixedColumns;if(u.length>0){var c=0;u.forEach((function(e){c+=e.realWidth||e.width})),this.fixedWidth=c}var h=this.store.states.rightFixedColumns;if(h.length>0){var d=0;h.forEach((function(e){d+=e.realWidth||e.width})),this.rightFixedWidth=d}this.notifyObservers(\"columns\")}},e.prototype.addObserver=function(e){this.observers.push(e)},e.prototype.removeObserver=function(e){var t=this.observers.indexOf(e);-1!==t&&this.observers.splice(t,1)},e.prototype.notifyObservers=function(e){var t=this;this.observers.forEach((function(i){switch(e){case\"columns\":i.onColumnsChange(t);break;case\"scrollable\":i.onScrollableChange(t);break;default:throw new Error(\"Table Layout don't have event \"+e+\".\")}}))},e}(),ae=(\"function\"==typeof Symbol&&Symbol.iterator,q.a.prototype.$isServer),ue=/([\\:\\-\\_]+(.))/g,ce=/^moz([A-Z])/,he=ae?0:Number(document.documentMode),de=function(e){return e.replace(ue,(function(e,t,i,n){return n?i.toUpperCase():i})).replace(ce,\"Moz$1\")};!ae&&document.addEventListener,!ae&&document.removeEventListener;function pe(e,t){if(!e||!t)return!1;if(-1!==t.indexOf(\" \"))throw new Error(\"className should not contain space.\");return e.classList?e.classList.contains(t):(\" \"+e.className+\" \").indexOf(\" \"+t+\" \")>-1}var fe=he<9?function(e,t){if(!ae){if(!e||!t)return null;\"float\"===(t=de(t))&&(t=\"styleFloat\");try{switch(t){case\"opacity\":try{return e.filters.item(\"alpha\").opacity/100}catch(e){return 1}default:return e.style[t]||e.currentStyle?e.currentStyle[t]:null}}catch(i){return e.style[t]}}}:function(e,t){if(!ae){if(!e||!t)return null;\"float\"===(t=de(t))&&(t=\"cssFloat\");try{var i=document.defaultView.getComputedStyle(e,\"\");return e.style[t]||i?i[t]:null}catch(i){return e.style[t]}}};var me=i(9),ge=i.n(me),be=i(2),ve={name:\"ElTooltip\",mixins:[ge.a],props:{openDelay:{type:Number,default:0},disabled:Boolean,manual:Boolean,effect:{type:String,default:\"dark\"},arrowOffset:{type:Number,default:0},popperClass:String,content:String,visibleArrow:{default:!0},transition:{type:String,default:\"el-fade-in-linear\"},popperOptions:{default:function(){return{boundariesPadding:10,gpuAcceleration:!1}}},enterable:{type:Boolean,default:!0},hideAfter:{type:Number,default:0},tabindex:{type:Number,default:0}},data:function(){return{tooltipId:\"el-tooltip-\"+Object(r.generateId)(),timeoutPending:null,focusing:!1}},beforeCreate:function(){var e=this;this.$isServer||(this.popperVM=new q.a({data:{node:\"\"},render:function(e){return this.node}}).$mount(),this.debounceClose=Y()(200,(function(){return e.handleClosePopper()})))},render:function(e){var t=this;this.popperVM&&(this.popperVM.node=e(\"transition\",{attrs:{name:this.transition},on:{afterLeave:this.doDestroy}},[e(\"div\",{on:{mouseleave:function(){t.setExpectedState(!1),t.debounceClose()},mouseenter:function(){t.setExpectedState(!0)}},ref:\"popper\",attrs:{role:\"tooltip\",id:this.tooltipId,\"aria-hidden\":this.disabled||!this.showPopper?\"true\":\"false\"},directives:[{name:\"show\",value:!this.disabled&&this.showPopper}],class:[\"el-tooltip__popper\",\"is-\"+this.effect,this.popperClass]},[this.$slots.content||this.content])]));var i=this.getFirstElement();if(!i)return null;var n=i.data=i.data||{};return n.staticClass=this.addTooltipClass(n.staticClass),i},mounted:function(){var e=this;this.referenceElm=this.$el,1===this.$el.nodeType&&(this.$el.setAttribute(\"aria-describedby\",this.tooltipId),this.$el.setAttribute(\"tabindex\",this.tabindex),Object(be.on)(this.referenceElm,\"mouseenter\",this.show),Object(be.on)(this.referenceElm,\"mouseleave\",this.hide),Object(be.on)(this.referenceElm,\"focus\",(function(){if(e.$slots.default&&e.$slots.default.length){var t=e.$slots.default[0].componentInstance;t&&t.focus?t.focus():e.handleFocus()}else e.handleFocus()})),Object(be.on)(this.referenceElm,\"blur\",this.handleBlur),Object(be.on)(this.referenceElm,\"click\",this.removeFocusing)),this.value&&this.popperVM&&this.popperVM.$nextTick((function(){e.value&&e.updatePopper()}))},watch:{focusing:function(e){e?Object(be.addClass)(this.referenceElm,\"focusing\"):Object(be.removeClass)(this.referenceElm,\"focusing\")}},methods:{show:function(){this.setExpectedState(!0),this.handleShowPopper()},hide:function(){this.setExpectedState(!1),this.debounceClose()},handleFocus:function(){this.focusing=!0,this.show()},handleBlur:function(){this.focusing=!1,this.hide()},removeFocusing:function(){this.focusing=!1},addTooltipClass:function(e){return e?\"el-tooltip \"+e.replace(\"el-tooltip\",\"\"):\"el-tooltip\"},handleShowPopper:function(){var e=this;this.expectedState&&!this.manual&&(clearTimeout(this.timeout),this.timeout=setTimeout((function(){e.showPopper=!0}),this.openDelay),this.hideAfter>0&&(this.timeoutPending=setTimeout((function(){e.showPopper=!1}),this.hideAfter)))},handleClosePopper:function(){this.enterable&&this.expectedState||this.manual||(clearTimeout(this.timeout),this.timeoutPending&&clearTimeout(this.timeoutPending),this.showPopper=!1,this.disabled&&this.doDestroy())},setExpectedState:function(e){!1===e&&clearTimeout(this.timeoutPending),this.expectedState=e},getFirstElement:function(){var e=this.$slots.default;if(!Array.isArray(e))return null;for(var t=null,i=0;i col\");if(e.length){var t=this.tableLayout.getFlattenColumns(),i={};t.forEach((function(e){i[e.id]=e}));for(var n=0,r=e.length;n col[name=gutter]\"),i=0,n=t.length;i=this.leftFixedLeafCount:\"right\"===this.fixed?e=this.columnsCount-this.rightFixedLeafCount},getSpan:function(e,t,i,n){var r=1,l=1,o=this.table.spanMethod;if(\"function\"==typeof o){var s=o({row:e,column:t,rowIndex:i,columnIndex:n});Array.isArray(s)?(r=s[0],l=s[1]):\"object\"===(void 0===s?\"undefined\":we(s))&&(r=s.rowspan,l=s.colspan)}return{rowspan:r,colspan:l}},getRowStyle:function(e,t){var i=this.table.rowStyle;return\"function\"==typeof i?i.call(null,{row:e,rowIndex:t}):i||null},getRowClass:function(e,t){var i=[\"el-table__row\"],n=this.store.states.selection;(void 0===n?[]:n).indexOf(e)>-1&&this.table.selectTrClass&&i.push(this.table.selectTrClass),this.table.highlightCurrentRow&&e===this.store.states.currentRow&&i.push(\"current-row\"),this.stripe&&t%2==1&&i.push(\"el-table__row--striped\");var r=this.table.rowClassName;return\"string\"==typeof r?i.push(r):\"function\"==typeof r&&i.push(r.call(null,{row:e,rowIndex:t})),this.store.states.expandRows.indexOf(e)>-1&&i.push(\"expanded\"),i},getCellStyle:function(e,t,i,n){var r=this.table.cellStyle;return\"function\"==typeof r?r.call(null,{rowIndex:e,columnIndex:t,row:i,column:n}):r},getCellClass:function(e,t,i,n){var r=[n.id,n.align,n.className];this.isColumnHidden(t)&&r.push(\"is-hidden\"),n.dropAction&&r.push(\"pl-table-body-border-right-none-td\");var l=this.table.cellClassName;return\"string\"==typeof l?r.push(l):\"function\"==typeof l&&r.push(l.call(null,{rowIndex:e,columnIndex:t,row:i,column:n})),r.join(\" \")},getColspanRealWidth:function(e,t,i){return t<1?e[i].realWidth:e.map((function(e){return e.realWidth})).slice(i,i+t).reduce((function(e,t){return e+t}),-1)},handleCellMouseEnter:function(e,t){var i=this.table,n=u(e);if(n){var r=p(i,n),l=i.hoverState={cell:n,column:r,row:t};i.$emit(\"cell-mouse-enter\",l.row,l.column,l.cell,e)}var o=e.target.querySelector(\".cell\");if(pe(o,\"el-tooltip\")&&o.childNodes.length){var s=document.createRange();if(s.setStart(o,0),s.setEnd(o,o.childNodes.length),(s.getBoundingClientRect().width+((parseInt(fe(o,\"paddingLeft\"),10)||0)+(parseInt(fe(o,\"paddingRight\"),10)||0))>o.offsetWidth||o.scrollWidth>o.offsetWidth)&&this.$refs.tooltip){var a=this.$refs.tooltip;this.tooltipContent=n.innerText||n.textContent,a.referenceElm=n,a.$refs.popper&&(a.$refs.popper.style.display=\"none\"),a.doDestroy(),a.setExpectedState(!0),this.activateTooltip(a)}}},handleCellMouseLeave:function(e){var t=this.$refs.tooltip;if(t&&(t.setExpectedState(!1),t.handleClosePopper()),u(e)){var i=this.table.hoverState||{};this.table.$emit(\"cell-mouse-leave\",i.row,i.column,i.cell,e)}},handleMouseEnter:Y()(30,(function(e){this.store.commit(\"setHoverRow\",e)})),handleMouseLeave:Y()(30,(function(){this.store.commit(\"setHoverRow\",null)})),handleContextMenu:function(e,t){this.handleEvent(e,t,\"contextmenu\")},handleDoubleClick:function(e,t){this.handleEvent(e,t,\"dblclick\")},handleClick:function(e,t){this.store.commit(\"setCurrentRow\",t),this.handleEvent(e,t,\"click\")},handleEvent:function(e,t,i){var n=this.table,r=u(e),l=void 0;r&&((l=p(n,r))&&n.$emit(\"cell-\"+i,t,l,r,e),\"cell\"===n.treeOpts.trigger&&l.treeNode&&n.triggerTreeExpandEvent(t,\"cell\",e)),\"row\"===n.treeOpts.trigger&&n.triggerTreeExpandEvent(t,\"row\",e),n.$emit(\"row-\"+i,t,l,e)},rowRender:function(e,t,i){var n=this,r=this.$createElement,l=this.treeIndent,o=this.columns,s=this.firstDefaultColumnIndex,a=o.map((function(e,t){return n.isColumnHidden(t)})),u=this.getRowClass(e,t),c=!0;return i&&(u.push(\"el-table__row--level-\"+i.level),c=i.display),r(\"tr\",{directives:[{name:\"show\",value:c}],style:this.getRowStyle(e,t),class:u,key:this.getKeyOfRow(e,t),on:{dblclick:function(t){return n.handleDoubleClick(t,e)},click:function(t){return n.handleClick(t,e)},contextmenu:function(t){return n.handleContextMenu(t,e)},mouseenter:function(e){return n.handleMouseEnter(t)},mouseleave:this.handleMouseLeave}},[o.map((function(u,c){var h=n.getSpan(e,u,t,c),d=h.rowspan,p=h.colspan;if(!d||!p)return null;var f=Ce({},u);f.realWidth=n.getColspanRealWidth(o,p,c);var m={store:n.store,_self:n.context||n.table.$vnode.context,column:f,row:e,$index:t};return c===s&&i&&(m.treeNode={indent:i.level*l,level:i.level},\"boolean\"==typeof i.expanded&&(m.treeNode.expanded=i.expanded,\"loading\"in i&&(m.treeNode.loading=i.loading),\"noLazyChildren\"in i&&(m.treeNode.noLazyChildren=i.noLazyChildren))),r(\"td\",{style:n.getCellStyle(t,c,e,u),class:n.getCellClass(t,c,e,u),attrs:{rowspan:d,colspan:p},on:{mouseenter:function(t){return n.handleCellMouseEnter(t,e)},mouseleave:n.handleCellMouseLeave}},[u.renderCell.call(n._renderProxy,n.$createElement,m,a[c])])}))])},wrappedRowRender:function(e,t){var i=this,n=this.$createElement,r=this.store,l=r.isRowExpanded,o=r.assertRowKey,s=r.states,a=s.treeData,u=s.lazyTreeNodeMap,c=s.childrenColumnName,h=s.rowKey;if(this.hasExpandColumn&&l(e)){var d=this.table.renderExpanded,p=this.rowRender(e,t);return d?[[p,n(\"tr\",{key:\"expanded-row__\"+p.key},[n(\"td\",{attrs:{colspan:this.columnsCount},class:\"el-table__expanded-cell\"},[d(this.$createElement,{row:e,$index:t,store:this.store})])])]]:(console.error(\"[Element Error]renderExpanded is required.\"),p)}if(Object.keys(a).length){o();var m=f(e,h),g=a[m],b=null;g&&(b={expanded:g.expanded,level:g.level,display:!0},\"boolean\"==typeof g.lazy&&(\"boolean\"==typeof g.loaded&&g.loaded&&(b.noLazyChildren=!(g.children&&g.children.length)),b.loading=g.loading));var v=[this.rowRender(e,t,b)];if(g){var y=0;g.display=!0,function e(n,r){n&&n.length&&r&&n.forEach((function(n){var l={display:r.display&&r.expanded,level:r.level+1},o=f(n,h);if(null==o)throw new Error(\"for nested data item, row-key is required.\");if((g=Ce({},a[o]))&&(l.expanded=g.expanded,g.level=g.level||l.level,g.display=!(!g.expanded||!l.display),\"boolean\"==typeof g.lazy&&(\"boolean\"==typeof g.loaded&&g.loaded&&(l.noLazyChildren=!(g.children&&g.children.length)),l.loading=g.loading)),y++,v.push(i.rowRender(n,t+y,l)),g){var s=u[o]||n[c];e(s,g)}}))}(u[m]||e[c],g)}return v}return this.rowRender(e,t)}}},_e=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i(\"transition\",{attrs:{name:\"el-zoom-in-top\"}},[e.multiple?i(\"div\",{directives:[{name:\"clickoutside\",rawName:\"v-clickoutside\",value:e.handleOutsideClick,expression:\"handleOutsideClick\"},{name:\"show\",rawName:\"v-show\",value:e.showPopper,expression:\"showPopper\"}],staticClass:\"el-table-filter\"},[i(\"div\",{staticClass:\"el-table-filter__content\"},[i(\"el-scrollbar\",{attrs:{\"wrap-class\":\"el-table-filter__wrap\"}},[i(\"el-checkbox-group\",{staticClass:\"el-table-filter__checkbox-group\",model:{value:e.filteredValue,callback:function(t){e.filteredValue=t},expression:\"filteredValue\"}},e._l(e.filters,(function(t){return i(\"el-checkbox\",{key:t.value,attrs:{label:t.value}},[e._v(e._s(t.text))])})),1)],1)],1),i(\"div\",{staticClass:\"el-table-filter__bottom\"},[i(\"button\",{class:{\"is-disabled\":0===e.filteredValue.length},attrs:{disabled:0===e.filteredValue.length},on:{click:e.handleConfirm}},[e._v(e._s(e.t(\"el.table.confirmFilter\")))]),i(\"button\",{on:{click:e.handleReset}},[e._v(e._s(e.t(\"el.table.resetFilter\")))])])]):i(\"div\",{directives:[{name:\"clickoutside\",rawName:\"v-clickoutside\",value:e.handleOutsideClick,expression:\"handleOutsideClick\"},{name:\"show\",rawName:\"v-show\",value:e.showPopper,expression:\"showPopper\"}],staticClass:\"el-table-filter\"},[i(\"ul\",{staticClass:\"el-table-filter__list\"},[i(\"li\",{staticClass:\"el-table-filter__list-item\",class:{\"is-active\":void 0===e.filterValue||null===e.filterValue},on:{click:function(t){e.handleSelect(null)}}},[e._v(e._s(e.t(\"el.table.clearFilter\")))]),e._l(e.filters,(function(t){return i(\"li\",{key:t.value,staticClass:\"el-table-filter__list-item\",class:{\"is-active\":e.isActive(t)},attrs:{label:t.value},on:{click:function(i){e.handleSelect(t.value)}}},[e._v(e._s(t.text))])}))],2)])])};_e._withStripped=!0;var $e=i(16),ke=i(7),Te=i.n(ke),Ee=i(12),Oe=i.n(Ee),Pe=[];!q.a.prototype.$isServer&&document.addEventListener(\"click\",(function(e){Pe.forEach((function(t){var i=e.target;t&&t.$el&&(i===t.$el||t.$el.contains(i)||t.handleOutsideClick&&t.handleOutsideClick(e))}))}));var He=function(e){e&&Pe.push(e)},ze=function(e){-1!==Pe.indexOf(e)&&Pe.splice(e,1)},De=function(){var e=this.$createElement;return(this._self._c||e)(\"div\",{staticClass:\"el-checkbox-group\",attrs:{role:\"group\",\"aria-label\":\"checkbox-group\"}},[this._t(\"default\")],2)};De._withStripped=!0;var Le=S({name:\"ElCheckboxGroup\",componentName:\"ElCheckboxGroup\",mixins:[C.a],inject:{elFormItem:{default:\"\"}},props:{value:{},disabled:Boolean,min:Number,max:Number,size:String,fill:String,textColor:String},computed:{_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},checkboxGroupSize:function(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size}},watch:{value:function(e){this.dispatch(\"ElFormItem\",\"el.form.change\",[e])}}},De,[],!1,null,null,null);Le.options.__file=\"packages/checkbox/src/checkbox-group.vue\";var Fe=Le.exports;Fe.install=function(e){e.component(Fe.name,Fe)};var Ie=Fe,Ne=i(11),Re=i(20),Be=i.n(Re),Ae={vertical:{offset:\"offsetHeight\",scroll:\"scrollTop\",scrollSize:\"scrollHeight\",size:\"height\",key:\"vertical\",axis:\"Y\",client:\"clientY\",direction:\"top\"},horizontal:{offset:\"offsetWidth\",scroll:\"scrollLeft\",scrollSize:\"scrollWidth\",size:\"width\",key:\"horizontal\",axis:\"X\",client:\"clientX\",direction:\"left\"}};function Me(e){var t=e.move,i=e.size,n=e.bar,r={},l=\"translate\"+n.axis+\"(\"+t+\"%)\";return r[n.size]=i,r.transform=l,r.msTransform=l,r.webkitTransform=l,r}var We={name:\"Bar\",props:{vertical:Boolean,size:String,move:Number},computed:{bar:function(){return Ae[this.vertical?\"vertical\":\"horizontal\"]},wrap:function(){return this.$parent.wrap}},render:function(e){var t=this.size,i=this.move,n=this.bar;return e(\"div\",{class:[\"el-scrollbar__bar\",\"is-\"+n.key],on:{mousedown:this.clickTrackHandler}},[e(\"div\",{ref:\"thumb\",class:\"el-scrollbar__thumb\",on:{mousedown:this.clickThumbHandler},style:Me({size:t,move:i,bar:n})})])},methods:{clickThumbHandler:function(e){e.ctrlKey||2===e.button||(this.startDrag(e),this[this.bar.axis]=e.currentTarget[this.bar.offset]-(e[this.bar.client]-e.currentTarget.getBoundingClientRect()[this.bar.direction]))},clickTrackHandler:function(e){var t=100*(Math.abs(e.target.getBoundingClientRect()[this.bar.direction]-e[this.bar.client])-this.$refs.thumb[this.bar.offset]/2)/this.$el[this.bar.offset];this.wrap[this.bar.scroll]=t*this.wrap[this.bar.scrollSize]/100},startDrag:function(e){e.stopImmediatePropagation(),this.cursorDown=!0,Object(be.on)(document,\"mousemove\",this.mouseMoveDocumentHandler),Object(be.on)(document,\"mouseup\",this.mouseUpDocumentHandler),document.onselectstart=function(){return!1}},mouseMoveDocumentHandler:function(e){if(!1!==this.cursorDown){var t=this[this.bar.axis];if(t){var i=100*(-1*(this.$el.getBoundingClientRect()[this.bar.direction]-e[this.bar.client])-(this.$refs.thumb[this.bar.offset]-t))/this.$el[this.bar.offset];this.wrap[this.bar.scroll]=i*this.wrap[this.bar.scrollSize]/100}}},mouseUpDocumentHandler:function(e){this.cursorDown=!1,this[this.bar.axis]=0,Object(be.off)(document,\"mousemove\",this.mouseMoveDocumentHandler),document.onselectstart=null}},destroyed:function(){Object(be.off)(document,\"mouseup\",this.mouseUpDocumentHandler)}},je={name:\"ElScrollbar\",components:{Bar:We},props:{native:Boolean,wrapStyle:{},wrapClass:{},viewClass:{},viewStyle:{},noresize:Boolean,tag:{type:String,default:\"div\"}},data:function(){return{sizeWidth:\"0\",sizeHeight:\"0\",moveX:0,moveY:0}},computed:{wrap:function(){return this.$refs.wrap}},render:function(e){var t=Be()(),i=this.wrapStyle;if(t){var n=\"-\"+t+\"px\",l=\"margin-bottom: \"+n+\"; margin-right: \"+n+\";\";Array.isArray(this.wrapStyle)?(i=Object(r.toObject)(this.wrapStyle)).marginRight=i.marginBottom=n:\"string\"==typeof this.wrapStyle?i+=l:i=l}var o=e(this.tag,{class:[\"el-scrollbar__view\",this.viewClass],style:this.viewStyle,ref:\"resize\"},this.$slots.default),s=e(\"div\",{ref:\"wrap\",style:i,on:{scroll:this.handleScroll},class:[this.wrapClass,\"el-scrollbar__wrap\",t?\"\":\"el-scrollbar__wrap--hidden-default\"]},[[o]]),a=void 0;return a=this.native?[e(\"div\",{ref:\"wrap\",class:[this.wrapClass,\"el-scrollbar__wrap\"],style:i},[[o]])]:[s,e(We,{attrs:{move:this.moveX,size:this.sizeWidth}}),e(We,{attrs:{vertical:!0,move:this.moveY,size:this.sizeHeight}})],e(\"div\",{class:\"el-scrollbar\"},a)},methods:{handleScroll:function(){var e=this.wrap;this.moveY=100*e.scrollTop/e.clientHeight,this.moveX=100*e.scrollLeft/e.clientWidth},update:function(){var e,t,i=this.wrap;i&&(e=100*i.clientHeight/i.scrollHeight,t=100*i.clientWidth/i.scrollWidth,this.sizeHeight=e<100?e+\"%\":\"\",this.sizeWidth=t<100?t+\"%\":\"\")}},mounted:function(){this.native||(this.$nextTick(this.update),!this.noresize&&Object(Ne.addResizeListener)(this.$refs.resize,this.update))},beforeDestroy:function(){this.native||!this.noresize&&Object(Ne.removeResizeListener)(this.$refs.resize,this.update)},install:function(e){e.component(je.name,je)}},Ve=je,Ke=S({name:\"ElTableFilterPanel\",mixins:[ge.a,Te.a],directives:{Clickoutside:Oe.a},components:{ElCheckbox:k,ElCheckboxGroup:Ie,ElScrollbar:Ve},props:{placement:{type:String,default:\"bottom-end\"}},methods:{isActive:function(e){return e.value===this.filterValue},handleOutsideClick:function(){var e=this;setTimeout((function(){e.showPopper=!1}),16)},handleConfirm:function(){this.confirmFilter(this.filteredValue),this.handleOutsideClick()},handleReset:function(){this.filteredValue=[],this.confirmFilter(this.filteredValue),this.handleOutsideClick()},handleSelect:function(e){this.filterValue=e,null!=e?this.confirmFilter(this.filteredValue):this.confirmFilter([]),this.handleOutsideClick()},confirmFilter:function(e){this.table.store.commit(\"filterChange\",{column:this.column,values:e}),this.table.store.updateAllSelected()}},data:function(){return{table:null,cell:null,column:null}},computed:{filters:function(){return this.column&&this.column.filters},filterValue:{get:function(){return(this.column.filteredValue||[])[0]},set:function(e){this.filteredValue&&(null!=e?this.filteredValue.splice(0,1,e):this.filteredValue.splice(0,1))}},filteredValue:{get:function(){return this.column&&this.column.filteredValue||[]},set:function(e){this.column&&(this.column.filteredValue=e)}},multiple:function(){return!this.column||this.column.filterMultiple}},mounted:function(){var e=this;this.popperElm=this.$el,this.referenceElm=this.cell,this.table.bodyWrapper.addEventListener(\"scroll\",(function(){e.updatePopper()})),this.$watch(\"showPopper\",(function(t){e.column&&(e.column.filterOpened=t),t?He(e):ze(e)}))},watch:{showPopper:function(e){!0===e&&parseInt(this.popperJS._popper.style.zIndex,10)<$e.PopupManager.zIndex&&(this.popperJS._popper.style.zIndex=$e.PopupManager.nextZIndex())}}},_e,[],!1,null,null,null);Ke.options.__file=\"packages/table/src/filter-panel.vue\";var qe=Ke.exports,Ge=Object.assign||function(e){for(var t=1;t1;return r&&(this.$parent.isGroup=!0),e(\"table\",{class:\"el-table__header\",attrs:{cellspacing:\"0\",cellpadding:\"0\",border:\"0\"}},[e(\"colgroup\",[this.columns.map((function(t){return e(\"col\",{attrs:{name:t.id},key:t.id})})),this.hasGutter?e(\"col\",{attrs:{name:\"gutter\"}}):\"\"]),e(\"thead\",{class:[{\"is-group\":r,\"has-gutter\":this.hasGutter}]},[this._l(n,(function(i,n){return e(\"tr\",{style:t.getHeaderRowStyle(n),class:t.getHeaderRowClass(n)},[i.map((function(r,l){return e(\"th\",{attrs:{colspan:r.colSpan,rowspan:r.rowSpan},on:{mousemove:function(e){return t.handleMouseMove(e,r)},mouseout:t.handleMouseOut,mousedown:function(e){return t.handleMouseDown(e,r)},click:function(e){return t.handleHeaderClick(e,r)},contextmenu:function(e){return t.handleHeaderContextMenu(e,r)}},style:t.getHeaderCellStyle(n,l,i,r),class:t.getHeaderCellClass(n,l,i,r),key:r.id},[t.$parent.headerDragStyle&&r.borderLine?e(\"span\",{class:r.resizable?\"pltableDragIconHover pltableDragIcon\":\"pltableDragIcon\"},[\" \",e(\"i\"),\" \"]):\"\",e(\"div\",{class:[\"cell\",t.$parent.useVirtual&&t.$parent.thtdBeyondHiding?\"pl-table-beyond\":\"\",r.dropAction?\"dropActionStyle\":\"\",r.filteredValue&&r.filteredValue.length>0?\"highlight\":\"\",r.labelClassName]},[r.renderHeader?r.renderHeader.call(t._renderProxy,e,{column:r,$index:l,store:t.store,_self:t.$parent.$vnode.context}):r.label,r.sortable?e(\"span\",{class:\"caret-wrapper\",on:{click:function(e){return t.handleSortClick(e,r)}}},[e(\"i\",{class:\"sort-caret ascending\",on:{click:function(e){return t.handleSortClick(e,r,\"ascending\")}}}),e(\"i\",{class:\"sort-caret descending\",on:{click:function(e){return t.handleSortClick(e,r,\"descending\")}}})]):\"\",r.filterable?e(\"span\",{class:\"el-table__column-filter-trigger\",on:{click:function(e){return t.handleFilterClick(e,r)}}},[e(\"i\",{class:[\"el-icon-arrow-down\",r.filterOpened?\"el-icon-arrow-up\":\"\"]})]):\"\"])])})),t.hasGutter?e(\"th\",{class:\"gutter\"}):\"\"])}))])])},props:{fixed:String,store:{required:!0},border:Boolean,defaultSort:{type:Object,default:function(){return{prop:\"\",order:\"\"}}}},components:{ElCheckbox:k},computed:Ge({table:function(){return this.$parent},hasGutter:function(){return!this.fixed&&this.tableLayout.gutterWidth}},le({columns:\"columns\",isAllSelected:\"isAllSelected\",leftFixedLeafCount:\"fixedLeafColumnsLength\",rightFixedLeafCount:\"rightFixedLeafColumnsLength\",columnsCount:function(e){return e.columns.length},leftFixedCount:function(e){return e.fixedColumns.length},rightFixedCount:function(e){return e.rightFixedColumns.length}})),created:function(){this.filterPanels={}},mounted:function(){var e=this;this.$nextTick((function(){var t=e.defaultSort,i=t.prop,n=t.order;e.store.commit(\"sort\",{prop:i,order:n,init:!0})}))},beforeDestroy:function(){var e=this.filterPanels;for(var t in e)e.hasOwnProperty(t)&&e[t]&&e[t].$destroy(!0)},methods:{isCellHidden:function(e,t){for(var i=0,n=0;n=this.leftFixedLeafCount:\"right\"===this.fixed?i=this.columnsCount-this.rightFixedLeafCount},getHeaderRowStyle:function(e){var t=this.table.headerRowStyle;return\"function\"==typeof t?t.call(null,{rowIndex:e}):t},getHeaderRowClass:function(e){var t=[],i=this.table.headerRowClassName;return\"string\"==typeof i?t.push(i):\"function\"==typeof i&&t.push(i.call(null,{rowIndex:e})),t.join(\" \")},getHeaderCellStyle:function(e,t,i,n){var r=this.table.headerCellStyle;return\"function\"==typeof r?r.call(null,{rowIndex:e,columnIndex:t,row:i,column:n}):r},getHeaderCellClass:function(e,t,i,n){var r=[n.id,n.order,n.headerAlign,n.className,n.labelClassName];0===e&&this.isCellHidden(t,i)&&r.push(\"is-hidden\"),(n.dropAction||this.$parent.headerDragStyle)&&r.push(\"pl-table-header-border-right-none-th\"),n.children||r.push(\"is-leaf\"),n.sortable&&r.push(\"is-sortable\");var l=this.table.headerCellClassName;return\"string\"==typeof l?r.push(l):\"function\"==typeof l&&r.push(l.call(null,{rowIndex:e,columnIndex:t,row:i,column:n})),r.join(\" \")},toggleAllSelection:function(e){e.stopPropagation(),this.store.commit(\"toggleAllSelection\")},handleFilterClick:function(e,t){e.stopPropagation();var i=e.target,n=\"TH\"===i.tagName?i:i.parentNode;n=n.querySelector(\".el-table__column-filter-trigger\")||n;var r=this.$parent,l=this.filterPanels[t.id];l&&t.filterOpened?l.showPopper=!1:(l||(l=new q.a(qe),this.filterPanels[t.id]=l,t.filterPlacement&&(l.placement=t.filterPlacement),l.table=r,l.cell=n,l.column=t,!this.$isServer&&l.$mount(document.createElement(\"div\"))),setTimeout((function(){l.showPopper=!0}),16))},handleHeaderClick:function(e,t){!t.filters&&t.sortable?this.handleSortClick(e,t):t.filterable&&!t.sortable&&this.handleFilterClick(e,t),this.$parent.$emit(\"header-click\",t,e)},handleHeaderContextMenu:function(e,t){this.$parent.$emit(\"header-contextmenu\",t,e)},handleMouseDown:function(e,t){var i=this;if(!this.$isServer&&!(t.children&&t.children.length>0)&&this.draggingColumn&&this.border&&t.resizable){this.dragging=!0,this.$parent.resizeProxyVisible=!0;var n=this.$parent,r=n.$el.getBoundingClientRect().left,l=this.$el.querySelector(\"th.\"+t.id),o=l.getBoundingClientRect(),s=o.left-r+30;Object(be.addClass)(l,\"noclick\"),this.dragState={startMouseLeft:e.clientX,startLeft:o.right-r,startColumnLeft:o.left-r,tableLeft:r};var a=n.$refs.resizeProxy;a.style.left=this.dragState.startLeft+\"px\",document.onselectstart=function(){return!1},document.ondragstart=function(){return!1};var u=function(e){var t=e.clientX-i.dragState.startMouseLeft,n=i.dragState.startLeft+t;a.style.left=Math.max(s,n)+\"px\"};document.addEventListener(\"mousemove\",u),document.addEventListener(\"mouseup\",(function r(){if(i.dragging){var o=i.dragState,s=o.startColumnLeft,c=o.startLeft,h=parseInt(a.style.left,10)-s;t.width=t.realWidth=h,n.$emit(\"header-dragend\",t.width,c-s,t,e),i.store.scheduleLayout(),document.body.style.cursor=\"\",i.dragging=!1,i.draggingColumn=null,i.dragState={},n.resizeProxyVisible=!1}document.removeEventListener(\"mousemove\",u),document.removeEventListener(\"mouseup\",r),document.onselectstart=null,document.ondragstart=null,setTimeout((function(){Object(be.removeClass)(l,\"noclick\")}),0)}))}},handleMouseMove:function(e,t){var i=this.table;if(!(t.children&&t.children.length>0)){for(var n=e.target;n&&\"TH\"!==n.tagName;)n=n.parentNode;if(t&&t.resizable&&!this.dragging&&this.border){var r=n.getBoundingClientRect(),l=document.body.style;r.width>12&&r.right-e.pageX<8?(i.headerDragStyle?(l.cursor=\"ew-resize\",Object(be.hasClass)(n,\"is-sortable\")&&(n.style.cursor=\"ew-resize\")):(l.cursor=\"col-resize\",Object(be.hasClass)(n,\"is-sortable\")&&(n.style.cursor=\"col-resize\")),this.draggingColumn=t):this.dragging||(l.cursor=\"\",Object(be.hasClass)(n,\"is-sortable\")&&(n.style.cursor=\"pointer\"),this.draggingColumn=null)}}},handleMouseOut:function(){this.$isServer||(document.body.style.cursor=\"\")},toggleOrder:function(e){var t=e.order,i=e.sortOrders;if(\"\"===t)return i[0];var n=i.indexOf(t||null);return i[n>i.length-2?0:n+1]},handleSortClick:function(e,t,i){e.stopPropagation();for(var n=t.order===i?null:i||this.toggleOrder(t),r=e.target;r&&\"TH\"!==r.tagName;)r=r.parentNode;if(r&&\"TH\"===r.tagName&&Object(be.hasClass)(r,\"noclick\"))Object(be.removeClass)(r,\"noclick\");else if(t.sortable){var l=this.store.states,o=l.sortProp,s=void 0,a=l.sortingColumn;(a!==t||a===t&&null===a.order)&&(a&&(a.order=null),l.sortingColumn=t,o=t.property),s=t.order=n||null,l.sortProp=o,l.sortOrder=s,this.store.commit(\"changeSortCondition\")}}},data:function(){return{draggingColumn:null,dragging:!1,dragState:{}}}},Je=Object.assign||function(e){for(var t=1;t]+>/g.test(l)?e(\"div\",{class:[\"cell\",i.labelClassName],domProps:{innerHTML:n[r]}},[]):e(\"div\",{class:[\"cell\",i.labelClassName]},[n[r]]))]);var l})),t.hasGutter?e(\"th\",{class:\"gutter\"}):\"\"])}))])])},props:{fixed:String,store:{required:!0},summaryMethod:Function,sumText:String,border:Boolean,defaultSort:{type:Object,default:function(){return{prop:\"\",order:\"\"}}}},computed:Je({table:function(){return this.$parent},hasGutter:function(){return!this.fixed&&this.tableLayout.gutterWidth}},le({columns:\"columns\",isAllSelected:\"isAllSelected\",leftFixedLeafCount:\"fixedLeafColumnsLength\",rightFixedLeafCount:\"rightFixedLeafColumnsLength\",columnsCount:function(e){return e.columns.length},leftFixedCount:function(e){return e.fixedColumns.length},rightFixedCount:function(e){return e.rightFixedColumns.length}})),methods:{isCellHidden:function(e,t,i){if(!0===this.fixed||\"left\"===this.fixed)return e>=this.leftFixedLeafCount;if(\"right\"===this.fixed){for(var n=0,r=0;r=this.columnsCount-this.rightFixedCount)},getRowClasses:function(e,t){var i=[e.id,e.align,e.labelClassName];return e.className&&i.push(e.className),this.isCellHidden(t,this.columns,e)&&i.push(\"is-hidden\"),e.children||i.push(\"is-leaf\"),i}}},Ue=Object.assign||function(e){for(var t=1;t0){var n=i.scrollTop;t.pixelY<0&&0!==n&&e.preventDefault(),t.pixelY>0&&i.scrollHeight-i.clientHeight>n&&e.preventDefault(),i.scrollTop+=Math.ceil(t.pixelY/5)}else i.scrollLeft+=Math.ceil(t.pixelX/5)},handleHeaderFooterMousewheel:function(e,t){var i=t.pixelX,n=t.pixelY;Math.abs(i)>=Math.abs(n)&&(this.bodyWrapper.scrollLeft+=t.pixelX/5)},syncPostion:Object(z.throttle)(20,(function(){var e=this.bodyWrapper,t=e.scrollLeft,i=e.scrollTop,n=e.offsetWidth,r=e.scrollWidth,l=this.$refs,o=l.headerWrapper,s=l.footerWrapper,a=l.fixedBodyWrapper,u=l.rightFixedBodyWrapper;o&&(o.scrollLeft=t),s&&(s.scrollLeft=t),a&&(a.scrollTop=i),u&&(u.scrollTop=i);var c=r-n-1;this.scrollPosition=t>=c?\"right\":0===t?\"left\":\"middle\"})),bindEvents:function(){var e,t;this.bodyWrapper.addEventListener(\"scroll\",this.syncPostion,{passive:!0}),this.fit&&(e=this.$el,t=this.resizeListener,F||(e.__resizeListeners__||(e.__resizeListeners__=[],e.__ro__=new L.a(I),e.__ro__.observe(e)),e.__resizeListeners__.push(t)))},unbindEvents:function(){var e,t;this.bodyWrapper.removeEventListener(\"scroll\",this.syncPostion,{passive:!0}),this.fit&&(e=this.$el,t=this.resizeListener,e&&e.__resizeListeners__&&(e.__resizeListeners__.splice(e.__resizeListeners__.indexOf(t),1),e.__resizeListeners__.length||e.__ro__.disconnect()))},resizeListener:function(){if(this.$ready){var e=!1,t=this.$el,i=this.resizeState,n=i.width,r=i.height,l=t.offsetWidth;n!==l&&(e=!0);var o=t.offsetHeight;(this.height||this.shouldUpdateHeight)&&r!==o&&(e=!0),e&&(this.resizeState.width=l,this.resizeState.height=o,this.doLayout())}},doLayout:function(){this.shouldUpdateHeight&&this.layout.updateElsHeight(),this.layout.updateColumnsWidth()},sort:function(e,t){this.store.commit(\"sort\",{prop:e,order:t})},toggleAllSelection:function(){this.store.commit(\"toggleAllSelection\")}},computed:Ue({tableSize:function(){return this.size||(this.$ELEMENT||{}).size},bodyWrapper:function(){return this.$refs.bodyWrapper},shouldUpdateHeight:function(){return this.height||this.maxHeight||this.fixedColumns.length>0||this.rightFixedColumns.length>0},bodyWidth:function(){var e=this.layout,t=e.bodyWidth,i=e.scrollY,n=e.gutterWidth;return t?t-(i?n:0)+\"px\":\"\"},bodyHeight:function(){var e=this.layout,t=e.headerHeight,i=void 0===t?0:t,n=e.bodyHeight,r=e.footerHeight,l=void 0===r?0:r;if(this.height)return{height:n?n+\"px\":\"\"};if(this.maxHeight){var o=v(this.maxHeight);if(\"number\"==typeof o)return{\"max-height\":o-l-(this.showHeader?i:0)+\"px\"}}return{}},fixedColumnsRollHeight:function(){var e=this;if(this.height)return{height:this.layout.fixedBodyHeight?this.layout.fixedBodyHeight+\"px\":\"\"};this.maxHeight&&setTimeout((function(){[\"rightFixed\",\"leftFixed\"].forEach((function(t){if(e.$refs[t]){var i=e.bodyWrapper;e.$refs[t].style.height=i?i.clientHeight+\"px\":\"\"}}))}))},fixedBodyHeight:function(){if(this.height)return{height:this.layout.fixedBodyHeight?this.layout.fixedBodyHeight+\"px\":\"\"};if(this.maxHeight){var e=v(this.maxHeight);if(\"number\"==typeof e)return e=this.layout.scrollX?e-this.layout.gutterWidth:e,this.showHeader&&(e-=this.layout.headerHeight),{\"max-height\":(e-=this.layout.footerHeight)+\"px\"}}return{}},fixedHeight:function(){return this.maxHeight?this.showSummary?{bottom:0}:{bottom:this.layout.scrollX&&this.data.length?this.layout.gutterWidth+\"px\":\"\"}:this.showSummary?{height:this.layout.tableHeight?this.layout.tableHeight+\"px\":\"\"}:{height:this.layout.viewportHeight?this.layout.viewportHeight+\"px\":\"\"}}},le({selection:\"selection\",columns:\"columns\",tableData:\"data\",fixedColumns:\"fixedColumns\",rightFixedColumns:\"rightFixedColumns\"})),watch:{height:{immediate:!0,handler:function(e){this.useVirtual||this.layout.setHeight(e)}},maxHeight:{immediate:!0,handler:function(e){this.useVirtual||this.layout.setMaxHeight(e)}},currentRowKey:{immediate:!0,handler:function(e){this.rowKey&&this.store.setCurrentRowKey(e)}},data:{immediate:!0,handler:function(e){this.useVirtual||this.store.commit(\"setData\",e)}},expandRowKeys:{immediate:!0,handler:function(e){e&&this.store.setExpandRowKeysAdapter(e)}}},created:function(){var e=this;this.tableId=\"el-table_\"+Ze++,this.debouncedUpdateLayout=Object(z.debounce)(50,(function(){return e.doLayout()}))},mounted:function(){var e=this;this.bindEvents(),this.store.updateColumns(),this.doLayout(),this.resizeState={width:this.$el.offsetWidth,height:this.$el.offsetHeight},this.store.states.columns.forEach((function(t){t.filteredValue&&t.filteredValue.length&&e.store.commit(\"filterChange\",{column:t,values:t.filteredValue,silent:!0})})),this.$ready=!0},destroyed:function(){this.unbindEvents()},data:function(){var e=this.treeProps,t=e.hasChildren,i=void 0===t?\"hasChildren\":t,n=e.children,r=void 0===n?\"children\":n;return this.store=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)throw new Error(\"Table is required.\");var i=new re;return i.table=e,Object.keys(t).forEach((function(e){i.states[e]=t[e]})),i}(this,{rowKey:this.rowKey,defaultExpandAll:this.defaultExpandAll,selectOnIndeterminate:this.selectOnIndeterminate,indent:this.indent,lazy:this.lazy,lazyColumnIdentifier:i,childrenColumnName:r}),{layout:new se({store:this.store,table:this,fit:this.fit,showHeader:this.showHeader}),isHidden:!1,renderExpanded:null,resizeProxyVisible:!1,resizeState:{width:null,height:null},isGroup:!1,scrollPosition:\"left\"}}},H,[],!1,null,null,null);et.options.__file=\"packages/table/src/table.vue\";var tt=et.exports;tt.install=function(e){e.component(tt.name,tt)};var it=tt;function nt(e){var t=this,i=this.columns.map((function(e,i){return t.isColumnHidden(i)})),n=this.data;return this.store.states.lazy&&Object.keys(this.store.states.lazyTreeNodeMap).length&&(n=n.reduce((function(e,i){e.push(i);var n=t.store.table.getRowKey(i),r=t.store.states.treeData[n];if(r&&r.children&&r.hasChildren){var l=[];!function e(i){i&&i.forEach((function(i){l.push(t.store.states.lazyTreeNodeMap[i]),t.store.states.treeData[i]&&e(t.store.states.treeData[i].children)}))}(r.children),e=e.concat(l)}return e}),[])),e(\"div\",{style:[{height:this.table.virtualBodyHeight+\"px\"}],class:[\"el-table__virtual-wrapper\",{\"el-table--fixed__virtual-wrapper\":this.fixed}]},[e(\"div\",{style:[{transform:\"translateY(\"+this.table.innerTop+\"px)\"}]},[e(\"table\",{class:\"el-table__body\",attrs:{cellspacing:\"0\",cellpadding:\"0\",border:\"0\"}},[e(\"colgroup\",[this._l(this.columns,(function(n,r){return i[r]&&t.fixed?\"\":e(\"col\",{attrs:{name:n.id}})}))]),e(\"tbody\",[this._l(n,(function(n,r){var l=t.getIndex(r),o=t.table.rowKey?t.getKeyOfRow(n,l):l,s=t.treeData&&t.treeData[o],a=t.getRowClass(n,l);s&&a.push(\"el-table__row--level-\"+s.level);var u=e(\"tr\",{directives:[{name:\"show\",value:!s||s.display}],style:t.rowStyle?t.getRowStyle(n,l):null,key:o,on:{dblclick:function(e){return t.handleDoubleClick(e,n)},click:function(e){return t.handleClick(e,n)},contextmenu:function(e){return t.handleContextMenu(e,n)},mouseenter:function(e){return t.handleMouseEnter(r)},mouseleave:function(e){return t.handleMouseLeave()}},class:a},[t._l(t.columns,(function(r,a){var u=t.getSpan(n,r,l,a),c=u.rowspan,h=u.colspan;if(!c||!h||i[a]&&t.fixed)return\"\";var d=Object.assign({},r);1!==h&&(d.realWidth=d.realWidth*h);var p={store:t.store,_self:t.context||t.table.$vnode.context,column:d,row:n,$index:l};return a===t.firstDefaultColumnIndex&&s&&(p.treeNode={hasChildren:s.hasChildren||s.children&&s.children.length,expanded:s.expanded,indent:s.level*t.treeIndent,level:s.level,loaded:s.loaded,rowKey:o}),e(\"td\",{style:[{height:t.table.rowHeight+\"px\"},t.getCellStyle(l,a,n,r)],class:t.getCellClass(l,a,n,r),attrs:{rowspan:c,colspan:h},on:{mouseenter:function(e){return t.handleCellMouseEnter(e,n)},mouseleave:t.handleCellMouseLeave}},[r.renderCell.call(t._renderProxy,e,p,i[a])])}))]);return t.hasExpandColumn&&t.store.isRowExpanded(n)?[u,e(\"tr\",[e(\"td\",{attrs:{colspan:t.columns.length},class:\"el-table__expanded-cell\"},[t.table.renderExpanded?t.table.renderExpanded(e,{row:n,$index:l,store:t.store}):\"\"])])]:u})).concat(e(\"el-tooltip\",{attrs:{effect:this.table.tooltipEffect,popperClass:\"plTableTooltip\",placement:this.table.tooltipPlacement,content:this.tooltipContent},ref:\"tooltip\"}))])])])])}var rt=it.components.TableBody,lt=rt.computed.data;rt.computed.data=function(){var e=this.table,t=lt.call(this);return e.useVirtual?t.slice(e.start,e.end):t},rt.methods.getIndex=function(e){return this.table.start+e};var ot=rt.methods.getRowClass;rt.methods.getRowClass=function(e,t){var i=ot.call(this,e,t);return e.disabled&&i.push(\"pl-disabled\"),i};var st=rt.render;rt.render=function(e){return this.table.useVirtual?nt.call(this,e):st.call(this,e)};var at={props:{rowHeight:{type:Number,default:60},excessRows:{type:Number,default:3},headerDragStyle:{type:Boolean,default:!1},tooltipPlacement:{default:\"top\",type:String},useVirtual:{type:Boolean,default:!1},bigDataCheckbox:{type:Boolean,default:!1},thtdBeyondHiding:{type:Boolean,default:!0},fixedColumnsRoll:{type:Boolean,default:!1},selectTrClass:String,dataChangesScrollTop:Boolean},data:function(){return{scrollTop:0,scrollLeft:0,innerTop:0,start:0,end:0}},computed:{visibleCount:function(){return Math.ceil(parseFloat(this.height||this.maxHeight)/this.rowHeight)},virtualBodyHeight:function(){var e=this.store.states.data;return e?e.length*this.rowHeight:0}},watch:{scrollTop:{immediate:!0,handler:function(e){parseFloat(e)<=0&&(this.scrollTop=0),this.computeScrollToRow(e)}},useVirtual:{immediate:!0,handler:function(e){this.store.states.useVirtual=e}},bigDataCheckbox:{immediate:!0,handler:function(e){this.store.states.bigDataCheckbox=e}},virtualBodyHeight:function(){this.useVirtual&&setTimeout(this.doLayout,10)},height:{immediate:!0,handler:function(e){var t=this;this.useVirtual&&(this.layout.setHeight(e),this.$nextTick((function(){t.computeScrollToRow(t.scrollTop)})))}},maxHeight:{immediate:!0,handler:function(e){var t=this;this.useVirtual&&(this.layout.setMaxHeight(e),this.$nextTick((function(){t.computeScrollToRow(t.scrollTop)})))}},data:{immediate:!0,handler:function(e){this.useVirtual&&(this.rowKey?this.plTreeInit():this.store.commit(\"setData\",e),this.dataChangesScrollTop?this.pagingScrollTop(0,this.scrollLeft):this.pagingScrollTop(this.scrollTop,this.scrollLeft))}}},mounted:function(){this.$parent.newTableStore=this.store,this.useVirtual&&this.bindEvent(\"bind\")},methods:{bindEvent:function(e){var t=this.$el.querySelector(\".el-table__body-wrapper\");this.binded||\"bind\"!==e?this.binded&&\"unbind\"===e&&(t.removeEventListener(\"scroll\",this.handleScroll),this.binded=!1):(t.addEventListener(\"scroll\",this.handleScroll),this.binded=!0)},scrollBottom:function(){var e=this.store.states.data;this.pagingScrollTop(e.length*this.rowHeight)},pagingScrollTop:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.$el&&this.$nextTick((function(){var n=e.$el.querySelector(\".el-table__body-wrapper\");if(!n)throw new Error(\"表格还没加载完毕\");e.$nextTick((function(){n.scrollTop=t,n.scrollLeft=i||e.scrollLeft;var r=e.visibleCount*e.rowHeight;e.virtualBodyHeight=0?t:0,end:e+this.visibleCount+this.excessRows}},handleScroll:function(e){var t=e.srcElement||e.target,i=t.scrollTop,n=t.scrollLeft,r=this.visibleCount*this.rowHeight;this.store.states.hoverRow=null,this.virtualBodyHeight=0&&(t?(r.splice.apply(r,[n+1,0].concat(l)),i.treeExpandeds.push(e)):(r.splice(n+1,l.length),ht.a.remove(i.treeExpandeds,(function(t){return t[i.rowKey]===e[i.rowKey]}))))}})),this.setTreeTableData()))},isTreeExpandByRow:function(e){var t,i=this;if(this.rowKey){var n=this.plTreeData.filter((function(t){return t[i.rowKey]===e[i.rowKey]}))[0];return\"boolean\"===(t=n.pl_table_expand,Object.prototype.toString.call(t).slice(8,-1).toLowerCase())&&n.pl_table_expand}return!1},setAllTreeExpansion:function(){var e=this,t=JSON.parse(JSON.stringify(this.copyPlTreeData)),i=[];this.treeExpandeds=[],ht.a.eachTree(t,(function(t){t[e.treeOpts.children]&&(t.pl_table_expand=!0,e.treeExpandeds.push(t)),i.push(t)}),this.treeOpts),this.plTreeData=i,this.setTreeTableData()},clearTreeExpand:function(){this.plTreeData=JSON.parse(JSON.stringify(this.copyPlTreeData)),this.treeExpandeds=[],this.setTreeTableData()},getTreeExpandRecords:function(){var e=JSON.parse(JSON.stringify(this.treeExpandeds));return e.forEach((function(e){delete e.pl_table_expand,delete e.pl_table_level})),e.slice(0)},setPlTreeExpansion:function(e,t){var i=this;if(e){var n=this.treeOpts.children,r=this.plTreeData.filter((function(t){return t[i.rowKey]===e[i.rowKey]}))[0];r&&r[n]&&this.setTreeExpansion(r,t)}},toggleTreeExpansion:function(e){var t=this;if(e){var i=this.treeOpts.children,n=this.plTreeData.filter((function(i){return i[t.rowKey]===e[t.rowKey]}))[0];n&&n[i]&&this.setTreeExpansion(n,!this.isTreeExpandByRow(n))}}},pt=Object.assign||function(e){for(var t=1;t0||e.maxHeight&&parseInt(e.maxHeight)>0)&&e.useVirtual,\"excess-rows\":e.excessRows,border:e.border,\"data-changes-scroll-top\":e.dataChangesScrollTop,stripe:e.stripe,\"row-key\":e.rowKey,\"fixed-columns-roll\":e.fixedColumnsRoll,fit:e.fit,\"show-header\":e.showHeader,\"row-class-name\":e.rowClassName,\"cell-class-name\":e.cellClassName,\"header-row-class-name\":e.headerRowClassName,\"header-row-style\":e.headerRowStyle,\"header-cell-class-name\":e.headerCellClassName,\"header-cell-style\":e.headerCellStyle,\"row-style\":e.rowStyle,\"cell-style\":e.cellStyle,\"big-data-checkbox\":e.bigDataCheckbox,\"thtd-beyond-hiding\":e.thtdBeyondHiding,size:e.size,\"default-sort\":e.defaultSort,\"default-expand-all\":e.defaultExpandAll,\"expand-row-keys\":e.expandRowKeys,\"tree-props\":e.treeProps,\"tree-config\":e.treeConfig,\"select-on-indeterminate\":e.selectOnIndeterminate,\"span-method\":e.arraySpanMethod,rowHeight:e.rowHeight,tooltipEffect:e.tooltipEffect,\"current-row-key\":e.currentRowKey,tooltipPlacement:e.tooltipPlacement,\"header-drag-style\":e.headerDragStyle,\"highlight-current-row\":e.highlightCurrentRow,\"show-summary\":e.showSummary,\"summary-method\":e.getSummaries},on:{\"row-click\":e.rowClick,\"row-dblclick\":e.rowDblclick,\"expand-change\":e.expChang,tableBodyScroll:e.tableBodyScroll,\"header-dragend\":e.headerDragend,\"cell-mouse-enter\":e.cellMouseEnter,\"cell-mouse-leave\":e.cellMouseLeave,\"cell-click\":e.cellClick,\"cell-dblclick\":e.cellDblclick,\"row-contextmenu\":e.rowContextmenu,\"header-contextmenu\":e.headerContextmenu,\"header-click\":e.headerClick,select:e.plSelect,\"select-all\":e.selectAll,\"selection-change\":e.handleSelectionChange,\"filter-change\":e.filterChange,\"current-change\":e.currentChange,\"sort-change\":e.sortChange}},[i(\"template\",{slot:\"empty\"},[e._t(\"empty\",[e._v(e._s(e.emptyText))])],2),e._t(\"default\")],2),e.paginationShow?i(\"div\",{ref:\"myPagination\",staticClass:\"myPagination\"},[i(\"el-pagination\",{attrs:{\"current-page\":e.newcurrentPage,\"pager-count\":e.pagerCount,\"page-sizes\":e.pageSizes,\"page-size\":e.newPageSize,layout:e.layout,total:e.total},on:{\"size-change\":e.handleSizeChange,\"current-change\":e.handleCurrentChange}})],1):e._e(),i(\"div\",{ref:\"plDialog\",staticClass:\"plDialog\"},[e.plDialogFals?i(\"div\",{staticStyle:{width:\"100%\",height:\"100%\"}},[i(\"div\",{staticClass:\"table-cus-header\"},[e._v(e._s(e.fieldTitle))]),i(\"div\",{staticClass:\"checkListBox\"},[i(\"draggable\",{attrs:{tag:\"ul\",options:{disabled:!e.fieldSort}},model:{value:e.newDialogData,callback:function(t){e.newDialogData=t},expression:\"newDialogData\"}},e._l(e.newDialogData,(function(t,n){return i(\"li\",{key:n},[i(\"el-checkbox\",{attrs:{disabled:t.disabled},model:{value:t.state,callback:function(i){e.$set(t,\"state\",i)},expression:\"item.state\"}},[e._v(e._s(t.name))]),e.showAmend?i(\"i\",{staticClass:\"iconfont\",class:[e.amendBtnIcon||\"el-icon-edit\"],on:{click:function(i){e.amendField(t,n)}}}):e._e()],1)})),0)],1),i(\"div\",{staticClass:\"table-cus-footer\"},[i(\"el-button\",{on:{click:function(t){e.closeModal()}}},[e._v(\"取消\")]),i(\"el-button\",{attrs:{type:\"primary\"},on:{click:e.confirmField}},[e._v(\"确定\")]),i(\"el-button\",{attrs:{type:\"warning\"},on:{click:e.reset}},[e._v(\"重置\")])],1)]):e._e()])],1)};mt._withStripped=!0;var gt=i(13),bt=i.n(gt),vt=i(21),yt=i.n(vt),xt=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i(\"ul\",{staticClass:\"el-pager\",on:{click:e.onPagerClick}},[e.pageCount>0?i(\"li\",{staticClass:\"number\",class:{active:1===e.currentPage,disabled:e.disabled}},[e._v(\"1\")]):e._e(),e.showPrevMore?i(\"li\",{staticClass:\"el-icon more btn-quickprev\",class:[e.quickprevIconClass,{disabled:e.disabled}],on:{mouseenter:function(t){e.onMouseenter(\"left\")},mouseleave:function(t){e.quickprevIconClass=\"el-icon-more\"}}}):e._e(),e._l(e.pagers,(function(t){return i(\"li\",{key:t,staticClass:\"number\",class:{active:e.currentPage===t,disabled:e.disabled}},[e._v(e._s(t))])})),e.showNextMore?i(\"li\",{staticClass:\"el-icon more btn-quicknext\",class:[e.quicknextIconClass,{disabled:e.disabled}],on:{mouseenter:function(t){e.onMouseenter(\"right\")},mouseleave:function(t){e.quicknextIconClass=\"el-icon-more\"}}}):e._e(),e.pageCount>1?i(\"li\",{staticClass:\"number\",class:{active:e.currentPage===e.pageCount,disabled:e.disabled}},[e._v(e._s(e.pageCount))]):e._e()],2)};xt._withStripped=!0;var wt=S({name:\"ElPager\",props:{currentPage:Number,pageCount:Number,pagerCount:Number,disabled:Boolean},watch:{showPrevMore:function(e){e||(this.quickprevIconClass=\"el-icon-more\")},showNextMore:function(e){e||(this.quicknextIconClass=\"el-icon-more\")}},methods:{onPagerClick:function(e){var t=e.target;if(\"UL\"!==t.tagName&&!this.disabled){var i=Number(e.target.textContent),n=this.pageCount,r=this.currentPage,l=this.pagerCount-2;-1!==t.className.indexOf(\"more\")&&(-1!==t.className.indexOf(\"quickprev\")?i=r-l:-1!==t.className.indexOf(\"quicknext\")&&(i=r+l)),isNaN(i)||(i<1&&(i=1),i>n&&(i=n)),i!==r&&this.$emit(\"change\",i)}},onMouseenter:function(e){this.disabled||(\"left\"===e?this.quickprevIconClass=\"el-icon-d-arrow-left\":this.quicknextIconClass=\"el-icon-d-arrow-right\")}},computed:{pagers:function(){var e=this.pagerCount,t=(e-1)/2,i=Number(this.currentPage),n=Number(this.pageCount),r=!1,l=!1;n>e&&(i>e-t&&(r=!0),i1?i(\"el-tag\",{attrs:{closable:!1,size:e.collapseTagSize,type:\"info\",\"disable-transitions\":\"\"}},[i(\"span\",{staticClass:\"el-select__tags-text\"},[e._v(\"+ \"+e._s(e.selected.length-1))])]):e._e()],1):e._e(),e.collapseTags?e._e():i(\"transition-group\",{on:{\"after-leave\":e.resetInputHeight}},e._l(e.selected,(function(t){return i(\"el-tag\",{key:e.getValueKey(t),attrs:{closable:!e.selectDisabled,size:e.collapseTagSize,hit:t.hitState,type:\"info\",\"disable-transitions\":\"\"},on:{close:function(i){e.deleteTag(i,t)}}},[i(\"span\",{staticClass:\"el-select__tags-text\"},[e._v(e._s(t.currentLabel))])])})),1),e.filterable?i(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:e.query,expression:\"query\"}],ref:\"input\",staticClass:\"el-select__input\",class:[e.selectSize?\"is-\"+e.selectSize:\"\"],style:{\"flex-grow\":\"1\",width:e.inputLength/(e.inputWidth-32)+\"%\",\"max-width\":e.inputWidth-42+\"px\"},attrs:{type:\"text\",disabled:e.selectDisabled,autocomplete:e.autoComplete||e.autocomplete},domProps:{value:e.query},on:{focus:e.handleFocus,blur:function(t){e.softFocus=!1},click:function(e){e.stopPropagation()},keyup:e.managePlaceholder,keydown:[e.resetInputState,function(t){if(!(\"button\"in t)&&e._k(t.keyCode,\"down\",40,t.key,[\"Down\",\"ArrowDown\"]))return null;t.preventDefault(),e.navigateOptions(\"next\")},function(t){if(!(\"button\"in t)&&e._k(t.keyCode,\"up\",38,t.key,[\"Up\",\"ArrowUp\"]))return null;t.preventDefault(),e.navigateOptions(\"prev\")},function(t){return!(\"button\"in t)&&e._k(t.keyCode,\"enter\",13,t.key,\"Enter\")?null:(t.preventDefault(),e.selectOption(t))},function(t){if(!(\"button\"in t)&&e._k(t.keyCode,\"esc\",27,t.key,[\"Esc\",\"Escape\"]))return null;t.stopPropagation(),t.preventDefault(),e.visible=!1},function(t){return!(\"button\"in t)&&e._k(t.keyCode,\"delete\",[8,46],t.key,[\"Backspace\",\"Delete\",\"Del\"])?null:e.deletePrevTag(t)}],compositionstart:e.handleComposition,compositionupdate:e.handleComposition,compositionend:e.handleComposition,input:[function(t){t.target.composing||(e.query=t.target.value)},e.debouncedQueryChange]}}):e._e()],1):e._e(),i(\"el-input\",{ref:\"reference\",class:{\"is-focus\":e.visible},attrs:{type:\"text\",placeholder:e.currentPlaceholder,name:e.name,id:e.id,autocomplete:e.autoComplete||e.autocomplete,size:e.selectSize,disabled:e.selectDisabled,readonly:e.readonly,\"validate-event\":!1},on:{focus:e.handleFocus,blur:e.handleBlur},nativeOn:{keyup:function(t){return e.debouncedOnInputChange(t)},keydown:[function(t){if(!(\"button\"in t)&&e._k(t.keyCode,\"down\",40,t.key,[\"Down\",\"ArrowDown\"]))return null;t.stopPropagation(),t.preventDefault(),e.navigateOptions(\"next\")},function(t){if(!(\"button\"in t)&&e._k(t.keyCode,\"up\",38,t.key,[\"Up\",\"ArrowUp\"]))return null;t.stopPropagation(),t.preventDefault(),e.navigateOptions(\"prev\")},function(t){return!(\"button\"in t)&&e._k(t.keyCode,\"enter\",13,t.key,\"Enter\")?null:(t.preventDefault(),e.selectOption(t))},function(t){if(!(\"button\"in t)&&e._k(t.keyCode,\"esc\",27,t.key,[\"Esc\",\"Escape\"]))return null;t.stopPropagation(),t.preventDefault(),e.visible=!1},function(t){if(!(\"button\"in t)&&e._k(t.keyCode,\"tab\",9,t.key,\"Tab\"))return null;e.visible=!1}],paste:function(t){return e.debouncedOnInputChange(t)},mouseenter:function(t){e.inputHovering=!0},mouseleave:function(t){e.inputHovering=!1}},model:{value:e.selectedLabel,callback:function(t){e.selectedLabel=t},expression:\"selectedLabel\"}},[e.$slots.prefix?i(\"template\",{slot:\"prefix\"},[e._t(\"prefix\")],2):e._e(),i(\"template\",{slot:\"suffix\"},[i(\"i\",{directives:[{name:\"show\",rawName:\"v-show\",value:!e.showClose,expression:\"!showClose\"}],class:[\"el-select__caret\",\"el-input__icon\",\"el-icon-\"+e.iconClass]}),e.showClose?i(\"i\",{staticClass:\"el-select__caret el-input__icon el-icon-circle-close\",on:{click:e.handleClearClick}}):e._e()])],2),i(\"transition\",{attrs:{name:\"el-zoom-in-top\"},on:{\"before-enter\":e.handleMenuEnter,\"after-leave\":e.doDestroy}},[i(\"el-select-menu\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.visible&&!1!==e.emptyText,expression:\"visible && emptyText !== false\"}],ref:\"popper\",attrs:{\"append-to-body\":e.popperAppendToBody}},[i(\"el-scrollbar\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.options.length>0&&!e.loading,expression:\"options.length > 0 && !loading\"}],ref:\"scrollbar\",class:{\"is-empty\":!e.allowCreate&&e.query&&0===e.filteredOptionsCount},attrs:{tag:\"ul\",\"wrap-class\":\"el-select-dropdown__wrap\",\"view-class\":\"el-select-dropdown__list\"}},[e.showNewOption?i(\"el-option\",{attrs:{value:e.query,created:\"\"}}):e._e(),e._t(\"default\")],2),e.emptyText&&(!e.allowCreate||e.loading||e.allowCreate&&0===e.options.length)?[e.$slots.empty?e._t(\"empty\"):i(\"p\",{staticClass:\"el-select-dropdown__empty\"},[e._v(\"\\n \"+e._s(e.emptyText)+\"\\n \")])]:e._e()],2)],1)],1)};St._withStripped=!0;var _t=i(22),$t=i.n(_t),kt=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i(\"div\",{class:[\"textarea\"===e.type?\"el-textarea\":\"el-input\",e.inputSize?\"el-input--\"+e.inputSize:\"\",{\"is-disabled\":e.inputDisabled,\"is-exceed\":e.inputExceed,\"el-input-group\":e.$slots.prepend||e.$slots.append,\"el-input-group--append\":e.$slots.append,\"el-input-group--prepend\":e.$slots.prepend,\"el-input--prefix\":e.$slots.prefix||e.prefixIcon,\"el-input--suffix\":e.$slots.suffix||e.suffixIcon||e.clearable||e.showPassword}],on:{mouseenter:function(t){e.hovering=!0},mouseleave:function(t){e.hovering=!1}}},[\"textarea\"!==e.type?[e.$slots.prepend?i(\"div\",{staticClass:\"el-input-group__prepend\"},[e._t(\"prepend\")],2):e._e(),\"textarea\"!==e.type?i(\"input\",e._b({ref:\"input\",staticClass:\"el-input__inner\",attrs:{tabindex:e.tabindex,type:e.showPassword?e.passwordVisible?\"text\":\"password\":e.type,disabled:e.inputDisabled,readonly:e.readonly,autocomplete:e.autoComplete||e.autocomplete,\"aria-label\":e.label},on:{compositionstart:e.handleCompositionStart,compositionend:e.handleCompositionEnd,input:e.handleInput,focus:e.handleFocus,blur:e.handleBlur,change:e.handleChange}},\"input\",e.$attrs,!1)):e._e(),e.$slots.prefix||e.prefixIcon?i(\"span\",{staticClass:\"el-input__prefix\"},[e._t(\"prefix\"),e.prefixIcon?i(\"i\",{staticClass:\"el-input__icon\",class:e.prefixIcon}):e._e()],2):e._e(),e.getSuffixVisible()?i(\"span\",{staticClass:\"el-input__suffix\"},[i(\"span\",{staticClass:\"el-input__suffix-inner\"},[e.showClear&&e.showPwdVisible&&e.isWordLimitVisible?e._e():[e._t(\"suffix\"),e.suffixIcon?i(\"i\",{staticClass:\"el-input__icon\",class:e.suffixIcon}):e._e()],e.showClear?i(\"i\",{staticClass:\"el-input__icon el-icon-circle-close el-input__clear\",on:{click:e.clear}}):e._e(),e.showPwdVisible?i(\"i\",{staticClass:\"el-input__icon el-icon-view el-input__clear\",on:{click:e.handlePasswordVisible}}):e._e(),e.isWordLimitVisible?i(\"span\",{staticClass:\"el-input__count\"},[i(\"span\",{staticClass:\"el-input__count-inner\"},[e._v(\"\\n \"+e._s(e.textLength)+\"/\"+e._s(e.upperLimit)+\"\\n \")])]):e._e()],2),e.validateState?i(\"i\",{staticClass:\"el-input__icon\",class:[\"el-input__validateIcon\",e.validateIcon]}):e._e()]):e._e(),e.$slots.append?i(\"div\",{staticClass:\"el-input-group__append\"},[e._t(\"append\")],2):e._e()]:i(\"textarea\",e._b({ref:\"textarea\",staticClass:\"el-textarea__inner\",style:e.textareaStyle,attrs:{tabindex:e.tabindex,disabled:e.inputDisabled,readonly:e.readonly,autocomplete:e.autoComplete||e.autocomplete,\"aria-label\":e.label},on:{compositionstart:e.handleCompositionStart,compositionend:e.handleCompositionEnd,input:e.handleInput,focus:e.handleFocus,blur:e.handleBlur,change:e.handleChange}},\"textarea\",e.$attrs,!1)),e.isWordLimitVisible&&\"textarea\"===e.type?i(\"span\",{staticClass:\"el-input__count\"},[e._v(e._s(e.textLength)+\"/\"+e._s(e.upperLimit))]):e._e()],2)};kt._withStripped=!0;var Tt=i(23),Et=i.n(Tt),Ot=void 0,Pt=\"\\n height:0 !important;\\n visibility:hidden !important;\\n overflow:hidden !important;\\n position:absolute !important;\\n z-index:-1000 !important;\\n top:0 !important;\\n right:0 !important\\n\",Ht=[\"letter-spacing\",\"line-height\",\"padding-top\",\"padding-bottom\",\"font-family\",\"font-weight\",\"font-size\",\"text-rendering\",\"text-transform\",\"width\",\"text-indent\",\"padding-left\",\"padding-right\",\"border-width\",\"box-sizing\"];function zt(e){var t=window.getComputedStyle(e),i=t.getPropertyValue(\"box-sizing\"),n=parseFloat(t.getPropertyValue(\"padding-bottom\"))+parseFloat(t.getPropertyValue(\"padding-top\")),r=parseFloat(t.getPropertyValue(\"border-bottom-width\"))+parseFloat(t.getPropertyValue(\"border-top-width\"));return{contextStyle:Ht.map((function(e){return e+\":\"+t.getPropertyValue(e)})).join(\";\"),paddingSize:n,borderSize:r,boxSizing:i}}function Dt(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;Ot||(Ot=document.createElement(\"textarea\"),document.body.appendChild(Ot));var n=zt(e),r=n.paddingSize,l=n.borderSize,o=n.boxSizing,s=n.contextStyle;Ot.setAttribute(\"style\",s+\";\"+Pt),Ot.value=e.value||e.placeholder||\"\";var a=Ot.scrollHeight,u={};\"border-box\"===o?a+=l:\"content-box\"===o&&(a-=r),Ot.value=\"\";var c=Ot.scrollHeight-r;if(null!==t){var h=c*t;\"border-box\"===o&&(h=h+r+l),a=Math.max(h,a),u.minHeight=h+\"px\"}if(null!==i){var d=c*i;\"border-box\"===o&&(d=d+r+l),a=Math.min(d,a)}return u.height=a+\"px\",Ot.parentNode&&Ot.parentNode.removeChild(Ot),Ot=null,u}var Lt=S({name:\"ElInput\",componentName:\"ElInput\",mixins:[C.a,Et.a],inheritAttrs:!1,inject:{elForm:{default:\"\"},elFormItem:{default:\"\"}},data:function(){return{textareaCalcStyle:{},hovering:!1,focused:!1,isComposing:!1,passwordVisible:!1}},props:{value:[String,Number],size:String,resize:String,form:String,disabled:Boolean,readonly:Boolean,type:{type:String,default:\"text\"},autosize:{type:[Boolean,Object],default:!1},autocomplete:{type:String,default:\"off\"},autoComplete:{type:String,validator:function(e){return!0}},validateEvent:{type:Boolean,default:!0},suffixIcon:String,prefixIcon:String,label:String,clearable:{type:Boolean,default:!1},showPassword:{type:Boolean,default:!1},showWordLimit:{type:Boolean,default:!1},tabindex:String},computed:{_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},validateState:function(){return this.elFormItem?this.elFormItem.validateState:\"\"},needStatusIcon:function(){return!!this.elForm&&this.elForm.statusIcon},validateIcon:function(){return{validating:\"el-icon-loading\",success:\"el-icon-circle-check\",error:\"el-icon-circle-close\"}[this.validateState]},textareaStyle:function(){return J()({},this.textareaCalcStyle,{resize:this.resize})},inputSize:function(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size},inputDisabled:function(){return this.disabled||(this.elForm||{}).disabled},nativeInputValue:function(){return null===this.value||void 0===this.value?\"\":String(this.value)},showClear:function(){return this.clearable&&!this.inputDisabled&&!this.readonly&&this.nativeInputValue&&(this.focused||this.hovering)},showPwdVisible:function(){return this.showPassword&&!this.inputDisabled&&!this.readonly&&(!!this.nativeInputValue||this.focused)},isWordLimitVisible:function(){return this.showWordLimit&&this.$attrs.maxlength&&(\"text\"===this.type||\"textarea\"===this.type)&&!this.inputDisabled&&!this.readonly&&!this.showPassword},upperLimit:function(){return this.$attrs.maxlength},textLength:function(){return\"number\"==typeof this.value?String(this.value).length:(this.value||\"\").length},inputExceed:function(){return this.isWordLimitVisible&&this.textLength>this.upperLimit}},watch:{value:function(e){this.$nextTick(this.resizeTextarea),this.validateEvent&&this.dispatch(\"ElFormItem\",\"el.form.change\",[e])},nativeInputValue:function(){this.setNativeInputValue()},type:function(){var e=this;this.$nextTick((function(){e.setNativeInputValue(),e.resizeTextarea(),e.updateIconOffset()}))}},methods:{focus:function(){this.getInput().focus()},blur:function(){this.getInput().blur()},getMigratingConfig:function(){return{props:{icon:\"icon is removed, use suffix-icon / prefix-icon instead.\",\"on-icon-click\":\"on-icon-click is removed.\"},events:{click:\"click is removed.\"}}},handleBlur:function(e){this.focused=!1,this.$emit(\"blur\",e),this.validateEvent&&this.dispatch(\"ElFormItem\",\"el.form.blur\",[this.value])},select:function(){this.getInput().select()},resizeTextarea:function(){if(!this.$isServer){var e=this.autosize;if(\"textarea\"===this.type)if(e){var t=e.minRows,i=e.maxRows;this.textareaCalcStyle=Dt(this.$refs.textarea,t,i)}else this.textareaCalcStyle={minHeight:Dt(this.$refs.textarea).minHeight}}},setNativeInputValue:function(){var e=this.getInput();e&&e.value!==this.nativeInputValue&&(e.value=this.nativeInputValue)},handleFocus:function(e){this.focused=!0,this.$emit(\"focus\",e)},handleCompositionStart:function(){this.isComposing=!0},handleCompositionEnd:function(e){this.isComposing=!1,this.handleInput(e)},handleInput:function(e){this.isComposing||e.target.value!==this.nativeInputValue&&(this.$emit(\"input\",e.target.value),this.$nextTick(this.setNativeInputValue))},handleChange:function(e){this.$emit(\"change\",e.target.value)},calcIconOffset:function(e){var t=[].slice.call(this.$el.querySelectorAll(\".el-input__\"+e)||[]);if(t.length){for(var i=null,n=0;n=this.select.multipleLimit&&this.select.multipleLimit>0)}},watch:{currentLabel:function(){this.created||this.select.remote||this.dispatch(\"ElSelect\",\"setSelected\")},value:function(e,t){var i=this.select,n=i.remote,r=i.valueKey;if(!this.created&&!n){if(r&&\"object\"===(void 0===e?\"undefined\":At(e))&&\"object\"===(void 0===t?\"undefined\":At(t))&&e[r]===t[r])return;this.dispatch(\"ElSelect\",\"setSelected\")}}},methods:{isEqual:function(e,t){if(this.isObject){var i=this.select.valueKey;return Object(r.getValueByPath)(e,i)===Object(r.getValueByPath)(t,i)}return e===t},contains:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments[1];if(this.isObject){var i=this.select.valueKey;return e&&e.some((function(e){return Object(r.getValueByPath)(e,i)===Object(r.getValueByPath)(t,i)}))}return e&&e.indexOf(t)>-1},handleGroupDisabled:function(e){this.groupDisabled=e},hoverItem:function(){this.disabled||this.groupDisabled||(this.select.hoverIndex=this.select.options.indexOf(this))},selectOptionClick:function(){!0!==this.disabled&&!0!==this.groupDisabled&&this.dispatch(\"ElSelect\",\"handleOptionClick\",[this,!0])},queryChange:function(e){this.visible=new RegExp(Object(r.escapeRegexpString)(e),\"i\").test(this.currentLabel)||this.created,this.visible||this.select.filteredOptionsCount--}},created:function(){this.select.options.push(this),this.select.cachedOptions.push(this),this.select.optionsCount++,this.select.filteredOptionsCount++,this.$on(\"queryChange\",this.queryChange),this.$on(\"handleGroupDisabled\",this.handleGroupDisabled)},beforeDestroy:function(){var e=this.select.cachedOptions.indexOf(this);e>-1&&this.select.cachedOptions.splice(e,1),this.select.onOptionDestroy(this.select.options.indexOf(this))}},Bt,[],!1,null,null,null);Mt.options.__file=\"packages/select/src/option.vue\";var Wt=Mt.exports,jt=S({name:\"ElTag\",props:{text:String,closable:Boolean,type:String,hit:Boolean,disableTransitions:Boolean,color:String,size:String,effect:{type:String,default:\"light\",validator:function(e){return-1!==[\"dark\",\"light\",\"plain\"].indexOf(e)}}},methods:{handleClose:function(e){e.stopPropagation(),this.$emit(\"close\",e)},handleClick:function(e){this.$emit(\"click\",e)}},computed:{tagSize:function(){return this.size||(this.$ELEMENT||{}).size}},render:function(e){var t=this.type,i=this.tagSize,n=this.hit,r=this.effect,l=e(\"span\",{class:[\"el-tag\",t?\"el-tag--\"+t:\"\",i?\"el-tag--\"+i:\"\",r?\"el-tag--\"+r:\"\",n&&\"is-hit\"],style:{backgroundColor:this.color},on:{click:this.handleClick}},[this.$slots.default,this.closable&&e(\"i\",{class:\"el-tag__close el-icon-close\",on:{click:this.handleClose}})]);return this.disableTransitions?l:e(\"transition\",{attrs:{name:\"el-zoom-in-center\"}},[l])}},void 0,void 0,!1,null,null,null);jt.options.__file=\"packages/tag/src/tag.vue\";var Vt=jt.exports;Vt.install=function(e){e.component(Vt.name,Vt)};var Kt=Vt,qt=i(24),Gt=i.n(qt),Yt=i(25),Xt=S({mixins:[C.a,Te.a,$t()(\"reference\"),{data:function(){return{hoverOption:-1}},computed:{optionsAllDisabled:function(){return this.options.filter((function(e){return e.visible})).every((function(e){return e.disabled}))}},watch:{hoverIndex:function(e){var t=this;\"number\"==typeof e&&e>-1&&(this.hoverOption=this.options[e]||{}),this.options.forEach((function(e){e.hover=t.hoverOption===e}))}},methods:{navigateOptions:function(e){var t=this;if(this.visible){if(0!==this.options.length&&0!==this.filteredOptionsCount&&!this.optionsAllDisabled){\"next\"===e?(this.hoverIndex++,this.hoverIndex===this.options.length&&(this.hoverIndex=0)):\"prev\"===e&&(this.hoverIndex--,this.hoverIndex<0&&(this.hoverIndex=this.options.length-1));var i=this.options[this.hoverIndex];!0!==i.disabled&&!0!==i.groupDisabled&&i.visible||this.navigateOptions(e),this.$nextTick((function(){return t.scrollToOption(t.hoverOption)}))}}else this.visible=!0}}}],name:\"ElSelect\",componentName:\"ElSelect\",inject:{elForm:{default:\"\"},elFormItem:{default:\"\"}},provide:function(){return{select:this}},computed:{_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},readonly:function(){return!this.filterable||this.multiple||!Object(r.isIE)()&&!Object(r.isEdge)()&&!this.visible},showClose:function(){var e=this.multiple?Array.isArray(this.value)&&this.value.length>0:void 0!==this.value&&null!==this.value&&\"\"!==this.value;return this.clearable&&!this.selectDisabled&&this.inputHovering&&e},iconClass:function(){return this.remote&&this.filterable?\"\":this.visible?\"arrow-up is-reverse\":\"arrow-up\"},debounce:function(){return this.remote?300:0},emptyText:function(){return this.loading?this.loadingText||this.t(\"el.select.loading\"):(!this.remote||\"\"!==this.query||0!==this.options.length)&&(this.filterable&&this.query&&this.options.length>0&&0===this.filteredOptionsCount?this.noMatchText||this.t(\"el.select.noMatch\"):0===this.options.length?this.noDataText||this.t(\"el.select.noData\"):null)},showNewOption:function(){var e=this,t=this.options.filter((function(e){return!e.created})).some((function(t){return t.currentLabel===e.query}));return this.filterable&&this.allowCreate&&\"\"!==this.query&&!t},selectSize:function(){return this.size||this._elFormItemSize||(this.$ELEMENT||{}).size},selectDisabled:function(){return this.disabled||(this.elForm||{}).disabled},collapseTagSize:function(){return[\"small\",\"mini\"].indexOf(this.selectSize)>-1?\"mini\":\"small\"}},components:{ElInput:Ft,ElSelectMenu:Rt,ElOption:Wt,ElTag:Kt,ElScrollbar:Ve},directives:{Clickoutside:Oe.a},props:{name:String,id:String,value:{required:!0},autocomplete:{type:String,default:\"off\"},autoComplete:{type:String,validator:function(e){return!0}},automaticDropdown:Boolean,size:String,disabled:Boolean,clearable:Boolean,filterable:Boolean,allowCreate:Boolean,loading:Boolean,popperClass:String,remote:Boolean,loadingText:String,noMatchText:String,noDataText:String,remoteMethod:Function,filterMethod:Function,multiple:Boolean,multipleLimit:{type:Number,default:0},placeholder:{type:String,default:function(){return Object(M.t)(\"el.select.placeholder\")}},defaultFirstOption:Boolean,reserveKeyword:Boolean,valueKey:{type:String,default:\"value\"},collapseTags:Boolean,popperAppendToBody:{type:Boolean,default:!0}},data:function(){return{options:[],cachedOptions:[],createdLabel:null,createdSelected:!1,selected:this.multiple?[]:{},inputLength:20,inputWidth:0,initialInputHeight:0,cachedPlaceHolder:\"\",optionsCount:0,filteredOptionsCount:0,visible:!1,softFocus:!1,selectedLabel:\"\",hoverIndex:-1,query:\"\",previousQuery:null,inputHovering:!1,currentPlaceholder:\"\",menuVisibleOnFocus:!1,isOnComposition:!1,isSilentBlur:!1}},watch:{selectDisabled:function(){var e=this;this.$nextTick((function(){e.resetInputHeight()}))},placeholder:function(e){this.cachedPlaceHolder=this.currentPlaceholder=e},value:function(e,t){this.multiple&&(this.resetInputHeight(),e&&e.length>0||this.$refs.input&&\"\"!==this.query?this.currentPlaceholder=\"\":this.currentPlaceholder=this.cachedPlaceHolder,this.filterable&&!this.reserveKeyword&&(this.query=\"\",this.handleQueryChange(this.query))),this.setSelected(),this.filterable&&!this.multiple&&(this.inputLength=20),Object(r.valueEquals)(e,t)||this.dispatch(\"ElFormItem\",\"el.form.change\",e)},visible:function(e){var t=this;e?(this.broadcast(\"ElSelectDropdown\",\"updatePopper\"),this.filterable&&(this.query=this.remote?\"\":this.selectedLabel,this.handleQueryChange(this.query),this.multiple?this.$refs.input.focus():(this.remote||(this.broadcast(\"ElOption\",\"queryChange\",\"\"),this.broadcast(\"ElOptionGroup\",\"queryChange\")),this.selectedLabel&&(this.currentPlaceholder=this.selectedLabel,this.selectedLabel=\"\")))):(this.broadcast(\"ElSelectDropdown\",\"destroyPopper\"),this.$refs.input&&this.$refs.input.blur(),this.query=\"\",this.previousQuery=null,this.selectedLabel=\"\",this.inputLength=20,this.menuVisibleOnFocus=!1,this.resetHoverIndex(),this.$nextTick((function(){t.$refs.input&&\"\"===t.$refs.input.value&&0===t.selected.length&&(t.currentPlaceholder=t.cachedPlaceHolder)})),this.multiple||(this.selected&&(this.filterable&&this.allowCreate&&this.createdSelected&&this.createdLabel?this.selectedLabel=this.createdLabel:this.selectedLabel=this.selected.currentLabel,this.filterable&&(this.query=this.selectedLabel)),this.filterable&&(this.currentPlaceholder=this.cachedPlaceHolder))),this.$emit(\"visible-change\",e)},options:function(){var e=this;if(!this.$isServer){this.$nextTick((function(){e.broadcast(\"ElSelectDropdown\",\"updatePopper\")})),this.multiple&&this.resetInputHeight();var t=this.$el.querySelectorAll(\"input\");-1===[].indexOf.call(t,document.activeElement)&&this.setSelected(),this.defaultFirstOption&&(this.filterable||this.remote)&&this.filteredOptionsCount&&this.checkDefaultFirstOption()}}},methods:{handleComposition:function(e){var t=this,i=e.target.value;if(\"compositionend\"===e.type)this.isOnComposition=!1,this.$nextTick((function(e){return t.handleQueryChange(i)}));else{var n=i[i.length-1]||\"\";this.isOnComposition=!Object(Yt.isKorean)(n)}},handleQueryChange:function(e){var t=this;this.previousQuery===e||this.isOnComposition||(null!==this.previousQuery||\"function\"!=typeof this.filterMethod&&\"function\"!=typeof this.remoteMethod?(this.previousQuery=e,this.$nextTick((function(){t.visible&&t.broadcast(\"ElSelectDropdown\",\"updatePopper\")})),this.hoverIndex=-1,this.multiple&&this.filterable&&this.$nextTick((function(){var e=15*t.$refs.input.value.length+20;t.inputLength=t.collapseTags?Math.min(50,e):e,t.managePlaceholder(),t.resetInputHeight()})),this.remote&&\"function\"==typeof this.remoteMethod?(this.hoverIndex=-1,this.remoteMethod(e)):\"function\"==typeof this.filterMethod?(this.filterMethod(e),this.broadcast(\"ElOptionGroup\",\"queryChange\")):(this.filteredOptionsCount=this.optionsCount,this.broadcast(\"ElOption\",\"queryChange\",e),this.broadcast(\"ElOptionGroup\",\"queryChange\")),this.defaultFirstOption&&(this.filterable||this.remote)&&this.filteredOptionsCount&&this.checkDefaultFirstOption()):this.previousQuery=e)},scrollToOption:function(e){var t=Array.isArray(e)&&e[0]?e[0].$el:e.$el;if(this.$refs.popper&&t){var i=this.$refs.popper.$el.querySelector(\".el-select-dropdown__wrap\");Gt()(i,t)}this.$refs.scrollbar&&this.$refs.scrollbar.handleScroll()},handleMenuEnter:function(){var e=this;this.$nextTick((function(){return e.scrollToOption(e.selected)}))},emitChange:function(e){Object(r.valueEquals)(this.value,e)||this.$emit(\"change\",e)},getOption:function(e){for(var t=void 0,i=\"[object object]\"===Object.prototype.toString.call(e).toLowerCase(),n=\"[object null]\"===Object.prototype.toString.call(e).toLowerCase(),l=\"[object undefined]\"===Object.prototype.toString.call(e).toLowerCase(),o=this.cachedOptions.length-1;o>=0;o--){var s=this.cachedOptions[o];if(i?Object(r.getValueByPath)(s.value,this.valueKey)===Object(r.getValueByPath)(e,this.valueKey):s.value===e){t=s;break}}if(t)return t;var a={value:e,currentLabel:i||n||l?\"\":e};return this.multiple&&(a.hitState=!1),a},setSelected:function(){var e=this;if(!this.multiple){var t=this.getOption(this.value);return t.created?(this.createdLabel=t.currentLabel,this.createdSelected=!0):this.createdSelected=!1,this.selectedLabel=t.currentLabel,this.selected=t,void(this.filterable&&(this.query=this.selectedLabel))}var i=[];Array.isArray(this.value)&&this.value.forEach((function(t){i.push(e.getOption(t))})),this.selected=i,this.$nextTick((function(){e.resetInputHeight()}))},handleFocus:function(e){this.softFocus?this.softFocus=!1:((this.automaticDropdown||this.filterable)&&(this.visible=!0,this.menuVisibleOnFocus=!0),this.$emit(\"focus\",e))},blur:function(){this.visible=!1,this.$refs.reference.blur()},handleBlur:function(e){var t=this;setTimeout((function(){t.isSilentBlur?t.isSilentBlur=!1:t.$emit(\"blur\",e)}),50),this.softFocus=!1},handleClearClick:function(e){this.deleteSelected(e)},doDestroy:function(){this.$refs.popper&&this.$refs.popper.doDestroy()},handleClose:function(){this.visible=!1},toggleLastOptionHitState:function(e){if(Array.isArray(this.selected)){var t=this.selected[this.selected.length-1];if(t)return!0===e||!1===e?(t.hitState=e,e):(t.hitState=!t.hitState,t.hitState)}},deletePrevTag:function(e){if(e.target.value.length<=0&&!this.toggleLastOptionHitState()){var t=this.value.slice();t.pop(),this.$emit(\"input\",t),this.emitChange(t)}},managePlaceholder:function(){\"\"!==this.currentPlaceholder&&(this.currentPlaceholder=this.$refs.input.value?\"\":this.cachedPlaceHolder)},resetInputState:function(e){8!==e.keyCode&&this.toggleLastOptionHitState(!1),this.inputLength=15*this.$refs.input.value.length+20,this.resetInputHeight()},resetInputHeight:function(){var e=this;this.collapseTags&&!this.filterable||this.$nextTick((function(){if(e.$refs.reference){var t=e.$refs.reference.$el.childNodes,i=[].filter.call(t,(function(e){return\"INPUT\"===e.tagName}))[0],n=e.$refs.tags,r=e.initialInputHeight||40;i.style.height=0===e.selected.length?r+\"px\":Math.max(n?n.clientHeight+(n.clientHeight>r?6:0):0,r)+\"px\",e.visible&&!1!==e.emptyText&&e.broadcast(\"ElSelectDropdown\",\"updatePopper\")}}))},resetHoverIndex:function(){var e=this;setTimeout((function(){e.multiple?e.selected.length>0?e.hoverIndex=Math.min.apply(null,e.selected.map((function(t){return e.options.indexOf(t)}))):e.hoverIndex=-1:e.hoverIndex=e.options.indexOf(e.selected)}),300)},handleOptionSelect:function(e,t){var i=this;if(this.multiple){var n=(this.value||[]).slice(),r=this.getValueIndex(n,e.value);r>-1?n.splice(r,1):(this.multipleLimit<=0||n.length0&&void 0!==arguments[0]?arguments[0]:[],t=arguments[1],i=\"[object object]\"===Object.prototype.toString.call(t).toLowerCase();if(i){var n=this.valueKey,l=-1;return e.some((function(e,i){return Object(r.getValueByPath)(e,n)===Object(r.getValueByPath)(t,n)&&(l=i,!0)})),l}return e.indexOf(t)},toggleMenu:function(){this.selectDisabled||(this.menuVisibleOnFocus?this.menuVisibleOnFocus=!1:this.visible=!this.visible,this.visible&&(this.$refs.input||this.$refs.reference).focus())},selectOption:function(){this.visible?this.options[this.hoverIndex]&&this.handleOptionSelect(this.options[this.hoverIndex]):this.toggleMenu()},deleteSelected:function(e){e.stopPropagation();var t=this.multiple?[]:\"\";this.$emit(\"input\",t),this.emitChange(t),this.visible=!1,this.$emit(\"clear\")},deleteTag:function(e,t){var i=this.selected.indexOf(t);if(i>-1&&!this.selectDisabled){var n=this.value.slice();n.splice(i,1),this.$emit(\"input\",n),this.emitChange(n),this.$emit(\"remove-tag\",t.value)}e.stopPropagation()},onInputChange:function(){this.filterable&&this.query!==this.selectedLabel&&(this.query=this.selectedLabel,this.handleQueryChange(this.query))},onOptionDestroy:function(e){e>-1&&(this.optionsCount--,this.filteredOptionsCount--,this.options.splice(e,1))},resetInputWidth:function(){this.inputWidth=this.$refs.reference.$el.getBoundingClientRect().width},handleResize:function(){this.resetInputWidth(),this.multiple&&this.resetInputHeight()},checkDefaultFirstOption:function(){this.hoverIndex=-1;for(var e=!1,t=this.options.length-1;t>=0;t--)if(this.options[t].created){e=!0,this.hoverIndex=t;break}if(!e)for(var i=0;i!==this.options.length;++i){var n=this.options[i];if(this.query){if(!n.disabled&&!n.groupDisabled&&n.visible){this.hoverIndex=i;break}}else if(n.itemSelected){this.hoverIndex=i;break}}},getValueKey:function(e){return\"[object object]\"!==Object.prototype.toString.call(e.value).toLowerCase()?e.value:Object(r.getValueByPath)(e.value,this.valueKey)}},created:function(){var e=this;this.cachedPlaceHolder=this.currentPlaceholder=this.placeholder,this.multiple&&!Array.isArray(this.value)&&this.$emit(\"input\",[]),!this.multiple&&Array.isArray(this.value)&&this.$emit(\"input\",\"\"),this.debouncedOnInputChange=Y()(this.debounce,(function(){e.onInputChange()})),this.debouncedQueryChange=Y()(this.debounce,(function(t){e.handleQueryChange(t.target.value)})),this.$on(\"handleOptionClick\",this.handleOptionSelect),this.$on(\"setSelected\",this.setSelected)},mounted:function(){var e=this;this.multiple&&Array.isArray(this.value)&&this.value.length>0&&(this.currentPlaceholder=\"\"),Object(Ne.addResizeListener)(this.$el,this.handleResize);var t=this.$refs.reference;if(t&&t.$el){var i=t.$el.querySelector(\"input\");this.initialInputHeight=i.getBoundingClientRect().height||{medium:36,small:32,mini:28}[this.selectSize]}this.remote&&this.multiple&&this.resetInputHeight(),this.$nextTick((function(){t&&t.$el&&(e.inputWidth=t.$el.getBoundingClientRect().width)})),this.setSelected()},beforeDestroy:function(){this.$el&&this.handleResize&&Object(Ne.removeResizeListener)(this.$el,this.handleResize)}},St,[],!1,null,null,null);Xt.options.__file=\"packages/select/src/select.vue\";var Jt=Xt.exports,Qt=Wt,Ut={name:\"ElPagination\",props:{pageSize:{type:Number,default:10},small:Boolean,total:Number,pageCount:Number,pagerCount:{type:Number,validator:function(e){return(0|e)===e&&e>4&&e<22&&e%2==1},default:7},currentPage:{type:Number,default:1},layout:{default:\"prev, pager, next, jumper, ->, total\"},pageSizes:{type:Array,default:function(){return[10,20,30,40,50,100]}},popperClass:String,prevText:String,nextText:String,background:Boolean,disabled:Boolean,hideOnSinglePage:Boolean},data:function(){return{internalCurrentPage:1,internalPageSize:0,lastEmittedPage:-1,userChangePageSize:!1}},render:function(e){var t=this.layout;if(!t)return null;if(this.hideOnSinglePage&&(!this.internalPageCount||1===this.internalPageCount))return null;var i=e(\"div\",{class:[\"el-pagination\",{\"is-background\":this.background,\"el-pagination--small\":this.small}]}),n={prev:e(\"prev\"),jumper:e(\"jumper\"),pager:e(\"pager\",{attrs:{currentPage:this.internalCurrentPage,pageCount:this.internalPageCount,pagerCount:this.pagerCount,disabled:this.disabled},on:{change:this.handleCurrentChange}}),next:e(\"next\"),sizes:e(\"sizes\",{attrs:{pageSizes:this.pageSizes}}),slot:e(\"slot\",[this.$slots.default?this.$slots.default:\"\"]),total:e(\"total\")},r=t.split(\",\").map((function(e){return e.trim()})),l=e(\"div\",{class:\"el-pagination__rightwrapper\"}),o=!1;return i.children=i.children||[],l.children=l.children||[],r.forEach((function(e){\"->\"!==e?o?l.children.push(n[e]):i.children.push(n[e]):o=!0})),o&&i.children.unshift(l),i},components:{Prev:{render:function(e){return e(\"button\",{attrs:{type:\"button\",disabled:this.$parent.disabled||this.$parent.internalCurrentPage<=1},class:\"btn-prev\",on:{click:this.$parent.prev}},[this.$parent.prevText?e(\"span\",[this.$parent.prevText]):e(\"i\",{class:\"el-icon el-icon-arrow-left\"})])}},Next:{render:function(e){return e(\"button\",{attrs:{type:\"button\",disabled:this.$parent.disabled||this.$parent.internalCurrentPage===this.$parent.internalPageCount||0===this.$parent.internalPageCount},class:\"btn-next\",on:{click:this.$parent.next}},[this.$parent.nextText?e(\"span\",[this.$parent.nextText]):e(\"i\",{class:\"el-icon el-icon-arrow-right\"})])}},Sizes:{mixins:[Te.a],props:{pageSizes:Array},watch:{pageSizes:{immediate:!0,handler:function(e,t){Object(r.valueEquals)(e,t)||Array.isArray(e)&&(this.$parent.internalPageSize=e.indexOf(this.$parent.pageSize)>-1?this.$parent.pageSize:this.pageSizes[0])}}},render:function(e){var t=this;return e(\"span\",{class:\"el-pagination__sizes\"},[e(\"el-select\",{attrs:{value:this.$parent.internalPageSize,popperClass:this.$parent.popperClass||\"\",size:\"mini\",disabled:this.$parent.disabled},on:{input:this.handleChange}},[this.pageSizes.map((function(i){return e(\"el-option\",{attrs:{value:i,label:i+t.t(\"el.pagination.pagesize\")}})}))])])},components:{ElSelect:Jt,ElOption:Qt},methods:{handleChange:function(e){e!==this.$parent.internalPageSize&&(this.$parent.internalPageSize=e=parseInt(e,10),this.$parent.userChangePageSize=!0,this.$parent.$emit(\"update:pageSize\",e),this.$parent.$emit(\"size-change\",e))}}},Jumper:{mixins:[Te.a],components:{ElInput:Ft},data:function(){return{userInput:null}},watch:{\"$parent.internalCurrentPage\":function(){this.userInput=null}},methods:{handleKeyup:function(e){var t=e.keyCode,i=e.target;13===t&&this.handleChange(i.value)},handleInput:function(e){this.userInput=e},handleChange:function(e){this.$parent.internalCurrentPage=this.$parent.getValidCurrentPage(e),this.$parent.emitChange(),this.userInput=null}},render:function(e){return e(\"span\",{class:\"el-pagination__jump\"},[this.t(\"el.pagination.goto\"),e(\"el-input\",{class:\"el-pagination__editor is-in-pagination\",attrs:{min:1,max:this.$parent.internalPageCount,value:null!==this.userInput?this.userInput:this.$parent.internalCurrentPage,type:\"number\",disabled:this.$parent.disabled},nativeOn:{keyup:this.handleKeyup},on:{input:this.handleInput,change:this.handleChange}}),this.t(\"el.pagination.pageClassifier\")])}},Total:{mixins:[Te.a],render:function(e){return\"number\"==typeof this.$parent.total?e(\"span\",{class:\"el-pagination__total\"},[this.t(\"el.pagination.total\",{total:this.$parent.total})]):\"\"}},Pager:Ct},methods:{handleCurrentChange:function(e){this.internalCurrentPage=this.getValidCurrentPage(e),this.userChangePageSize=!0,this.emitChange()},prev:function(){if(!this.disabled){var e=this.internalCurrentPage-1;this.internalCurrentPage=this.getValidCurrentPage(e),this.$emit(\"prev-click\",this.internalCurrentPage),this.emitChange()}},next:function(){if(!this.disabled){var e=this.internalCurrentPage+1;this.internalCurrentPage=this.getValidCurrentPage(e),this.$emit(\"next-click\",this.internalCurrentPage),this.emitChange()}},getValidCurrentPage:function(e){e=parseInt(e,10);var t=void 0;return\"number\"==typeof this.internalPageCount?e<1?t=1:e>this.internalPageCount&&(t=this.internalPageCount):(isNaN(e)||e<1)&&(t=1),(void 0===t&&isNaN(e)||0===t)&&(t=1),void 0===t?e:t},emitChange:function(){var e=this;this.$nextTick((function(){(e.internalCurrentPage!==e.lastEmittedPage||e.userChangePageSize)&&(e.$emit(\"current-change\",e.internalCurrentPage),e.lastEmittedPage=e.internalCurrentPage,e.userChangePageSize=!1)}))}},computed:{internalPageCount:function(){return\"number\"==typeof this.total?Math.max(1,Math.ceil(this.total/this.internalPageSize)):\"number\"==typeof this.pageCount?Math.max(1,this.pageCount):null}},watch:{currentPage:{immediate:!0,handler:function(e){this.internalCurrentPage=this.getValidCurrentPage(e)}},pageSize:{immediate:!0,handler:function(e){this.internalPageSize=isNaN(e)?10:e}},internalCurrentPage:{immediate:!0,handler:function(e){this.$emit(\"update:currentPage\",e),this.lastEmittedPage=-1}},internalPageCount:function(e){var t=this.internalCurrentPage;e>0&&0===t?this.internalCurrentPage=1:t>e&&(this.internalCurrentPage=0===e?1:e,this.userChangePageSize&&this.emitChange()),this.userChangePageSize=!1}}},Zt=S({name:\"PlTable\",mixins:[{props:{data:{type:Array,default:function(){return[]}},height:[String,Number],maxHeight:[String,Number],dialogData:{type:Array,default:function(){return[]}},dataChangesScrollTop:{default:!0,type:Boolean},stripe:{default:!1,type:Boolean},size:{default:\"\",type:String},fit:{default:!0,type:Boolean},defaultSort:Object,showHeader:{default:!0,type:Boolean},currentRowKey:[String,Number],selectOnIndeterminate:{type:Boolean,default:!0},emptyText:{default:\"暂无数据\",type:String},border:{default:!0,type:Boolean},showSummary:{default:!1,type:Boolean},defaultExpandAll:{default:!1,type:Boolean},expandRowKeys:Array,treeProps:{default:function(){return{hasChildren:\"hasChildren\",children:\"children\"}},type:Object},treeConfig:[Boolean,Object],totalOption:{default:function(){return[]},type:Array},sumText:{default:\"合计\",type:String},fieldSort:{default:!0,type:Boolean},rowKey:[String,Function],highlightCurrentRow:{default:!0,type:Boolean},inverseCurrentRow:{default:!1,type:Boolean},showAmend:{default:!1,type:Boolean},amendBtnIcon:{default:\"\",type:String},fieldTitle:{default:\"选择显示字段\",type:String},recordTableSelect:{default:!1,type:Boolean},headerDragStyle:{default:!1,type:Boolean},useVirtual:{default:!1,type:Boolean},rowHeight:{default:60,type:Number},excessRows:{default:3,type:Number},spanMethod:Function,tooltipEffect:{default:\"dark\",type:String},tooltipPlacement:{default:\"top\",type:String},summaryMethod:Function,bigDataCheckbox:{default:!1,type:Boolean},rowClassName:[String,Function],rowStyle:[Object,Function],cellClassName:[String,Function],cellStyle:[Object,Function],headerRowClassName:[String,Function],headerRowStyle:[Object,Function],headerCellClassName:[String,Function],headerCellStyle:[Object,Function],thtdBeyondHiding:{default:!0,type:Boolean},fixedColumnsRoll:{default:!1,type:Boolean},selectTrClass:String,paginationShow:{default:!1,type:Boolean},total:{default:0,type:Number},pagerCount:{default:5,type:Number},pageSize:{default:10,type:Number},currentPage:{default:1,type:Number},pageSizes:{default:function(){return[10,20,30,50]},type:Array},layout:{default:\"total, sizes, prev, pager, next, jumper\",type:String}},methods:{handleSizeChange:function(e){this.newPageSize=e,this.$emit(\"handlePageSize\",{size:this.newPageSize,page:this.newcurrentPage})},handleCurrentChange:function(e){this.newcurrentPage=e,this.$emit(\"handlePageSize\",{size:this.newPageSize,page:this.newcurrentPage})},isArrayFn:function(e){return\"function\"==typeof Array.isArray?Array.isArray(e):\"[object Array]\"===Object.prototype.toString.call(e)},toggleRowExpansion:function(e,t){this.$refs.singleTable.toggleRowExpansion(e,t)},arraySpanMethod:function(e){var t={row:e.row,column:e.column,rowIndex:e.rowIndex,columnIndex:e.columnIndex};return\"function\"==typeof this.spanMethod?this.spanMethod(t):\"\"},removal:function(e){if(this.isArrayFn(e))return e.filter((function(e,t,i){return i.indexOf(e)===t}));throw new Error(\"需要的是数组\")},selectAll:function(e){var t=this;this.$emit(\"select-all\",e),this.recordTableSelect&&this.data.length<=1e3&&(0===e.length&&this.data.forEach((function(e){t.tableSelectData.forEach((function(i,n){e.id===i&&t.tableSelectData.splice(n,1)}))})),e.length>0&&this.data.forEach((function(e){e.id&&t.tableSelectData.push(e.id)})),this.tableSelectData=JSON.parse(JSON.stringify(this.removal(this.tableSelectData))),this.$emit(\"table-select-change\",this.tableSelectData))},plSelect:function(e,t){var i=this;if(this.$emit(\"select\",e,t),t.id&&this.recordTableSelect&&this.data.length<=1e3){var n=e.filter((function(e){return e.id===t.id}));0===n.length&&this.tableSelectData.forEach((function(e,n){e===t.id&&i.tableSelectData.splice(n,1)})),n.length>0&&this.tableSelectData.push(t.id),this.tableSelectData=JSON.parse(JSON.stringify(this.removal(this.tableSelectData))),this.$emit(\"table-select-change\",this.tableSelectData)}},handleSelectionChange:function(e){this.$emit(\"selection-change\",e)},toggleRowSelection:function(e){e&&this.isArrayFn(e)?this.newtoggleRowSelections(e):console.error(\"数据格式需要一个数组\")},newtoggleRowSelections:function(e){var t=this;e.length>0&&this.$refs.singleTable&&e.forEach((function(e){e.selected?t.$refs.singleTable.toggleRowSelection(e.row,e.selected,t.recordTableSelect):!1===e.selected?t.$refs.singleTable.toggleRowSelection(e.row,!1,t.recordTableSelect):void 0===e.selected&&t.$refs.singleTable.toggleRowSelection(e.row,\"\",t.recordTableSelect)}))},toggleAllSelection:function(){this.$refs.singleTable?this.$refs.singleTable.toggleAllSelection():console.error(\"toggleAllSelection方法为找到,可能表格未加载完毕\")},clearSelection:function(){this.$refs.singleTable?this.$refs.singleTable.clearSelection():console.error(\"clearSelection方法为找到,可能表格未加载完毕\")},pagingScrollTopLeft:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.$refs.singleTable.pagingScrollTop(e,t)},scrollBottom:function(){this.$refs.singleTable.scrollBottom()},getSummaries:function(e){var t=this;if(\"function\"==typeof this.summaryMethod&&this.summaryMethod)return this.summaryMethod(e);var i=e.columns,n=e.data,r=[];return i.forEach((function(e,i){if(0!==i){var l=n.map((function(t){return Number(t[e.property])})),o=t.totalOption.filter((function(t){return t.label===e.label}));!l.every((function(e){return isNaN(e)}))&&o.length>0?(r[i]=l.reduce((function(e,t){var i=Number(t);return isNaN(i)?e:e+t}),0),r[i]+=o[0].unit||\"\"):r[i]=\"\"}else r[i]=t.sumText})),[r]},plDialogOpens:function(){var e=this;this._times=null,this.$refs.plDialog.style.width=\"300px\",this._times=setTimeout((function(){e.plDialogFals=!0}),100),this.aBox=document.createElement(\"div\"),this.aBox.className=\"modal-backdrop\",this.aBox.style.display=\"block\",this.aBox.onclick=function(){e.closeModal()},document.body.appendChild(this.aBox)},closeModal:function(){this.plDialogFals=!1,clearTimeout(this._times),this.$refs.plDialog.style.width=\"0px\",this.aBox.style.display=\"none\",this.clearNode(),this.newDialogData=JSON.parse(JSON.stringify(this.dialogData))},confirmField:function(){this.$emit(\"show-field\",this.newDialogData),this.plDialogFals=!1,clearTimeout(this._times),this.$refs.plDialog.style.width=\"0px\",this.aBox.style.display=\"none\",this.clearNode()},reset:function(){this.$emit(\"reset\",this.newDialogData),this.plDialogFals=!1,clearTimeout(this._times),this.$refs.plDialog.style.width=\"0px\",this.aBox.style.display=\"none\",this.clearNode()},rowClick:function(e,t,i){var n=this;this.highlightCurrentRow&&this.$refs.singleTable.setCurrentRow(e),this.$emit(\"row-click\",e,t,i),i.path&&this.highlightCurrentRow&&this.inverseCurrentRow&&i.path.forEach((function(e){e&&e.classList&&e.classList.forEach((function(e){\"current-row\"===e&&n.$refs.singleTable.setCurrentRow()}))}))},rowDblclick:function(e,t,i){this.$emit(\"row-dblclick\",e,t,i)},setCurrentRow:function(e){e?this.$refs.singleTable.setCurrentRow(e):this.$refs.singleTable.setCurrentRow()},expChang:function(e,t){this.$emit(\"expand-change\",e,t)},headerClick:function(e,t){this.$emit(\"header-click\",e,t)},amendField:function(e,t){this.$emit(\"amend-field\",e,t)},tableBodyScroll:function(e,t){this.$emit(\"table-body-scroll\",e,t)},headerDragend:function(e,t,i,n){this.$emit(\"header-dragend\",e,t,i,n),this.doLayout()},doLayout:function(){this.$refs.singleTable.doLayout()},clearNode:function(){var e=this.aBox?this.aBox.parentNode:\"\";e&&e.removeChild(this.aBox);var t=document.getElementsByClassName(\"modal-backdrop\");t.length>0&&document.body.removeChild(t[0]),this.aBox=null},sortChange:function(e){var t={column:e.column,prop:e.prop,order:e.order};this.$emit(\"sort-change\",t)},currentChange:function(e,t){this.$emit(\"current-change\",e,t)},filterChange:function(e){this.$emit(\"filter-change\",e)},clearSort:function(){this.$refs.singleTable.clearSort()},clearFilter:function(e){this.$refs.singleTable.clearFilter(e)},sort:function(e,t){this.$refs.singleTable.sort(e,t)},cellMouseEnter:function(e,t,i,n){this.$emit(\"cell-mouse-enter\",e,t,i,n)},cellMouseLeave:function(e,t,i,n){this.$emit(\"cell-mouse-leave\",e,t,i,n)},cellClick:function(e,t,i,n){this.$emit(\"cell-click\",e,t,i,n)},cellDblclick:function(e,t,i,n){this.$emit(\"cell-dblclick\",e,t,i,n)},rowContextmenu:function(e,t,i){this.$emit(\"row-contextmenu\",e,t,i)},headerContextmenu:function(e,t){this.$emit(\"header-contextmenu\",e,t)},isTreeExpandByRow:function(e){this.$refs.singleTable.isTreeExpandByRow(e)},setAllTreeExpansion:function(){this.$refs.singleTable.setAllTreeExpansion()},clearTreeExpand:function(){this.$refs.singleTable.clearTreeExpand()},getTreeExpandRecords:function(){return this.$refs.singleTable.getTreeExpandRecords()},setTreeExpansion:function(e,t){this.$refs.singleTable.setPlTreeExpansion(e,t)},toggleTreeExpansion:function(e){this.$refs.singleTable.toggleTreeExpansion(e)}},beforeDestroy:function(){},deactivated:function(){},activated:function(){},watch:{data:{immediate:!0,handler:function(e){if(!this.isArrayFn(e))throw new Error(\"表格数据需要的是数组格式,请检查你的数据格式\")}},dialogData:{deep:!0,immediate:!0,handler:function(e){this.newDialogData=JSON.parse(JSON.stringify(e))}},currentPage:function(e){this.newcurrentPage=e},pageSize:function(e){this.newPageSize=e},height:{immediate:!0,handler:function(e){this.setHeight()}},maxHeight:{immediate:!0,handler:function(e){this.setHeight()}}}}],components:{draggable:bt.a,ElTable:it,PlTableColumn:yt.a,ElPagination:Ut},data:function(){return{_times:\"\",plDialogFals:!1,newDialogData:[],aBox:\"\",tableSelectData:[],position:{},newTableStore:\"\",newPageSize:\"\",newcurrentPage:\"\",newHeight:null,newMaxHeight:null}},computed:{plTableHeight:function(){return this.height?{height:this.height+\"px\"}:this.maxHeight&&\"number\"==typeof ut(this.maxHeight)?{\"max-height\":this.maxHeight+\"px\"}:{}}},created:function(){this.newPageSize=this.pageSize,this.newcurrentPage=this.currentPage},mounted:function(){this.$ready=!0},methods:{setHeight:function(){var e=this;if(!this.$ready&&this.paginationShow)return q.a.nextTick((function(){return e.setHeight()}));var t=this.$refs.myPagination;this.height?(this.newHeight=ut(this.height)-(t?t.offsetHeight:0),this.newMaxHeight=null):this.maxHeight&&(this.newMaxHeight=ut(this.maxHeight)-(t?t.offsetHeight:0),this.newHeight=null)},reloadData:function(e){if(!this.isArrayFn(e))throw this.$refs.singleTable.reloadData([]),new Error(\"表格数据需要的是数组格式,请检查你的数据格式\");this.$refs.singleTable.reloadData(e)}}},mt,[],!1,null,null,null);Zt.options.__file=\"packages/pl-table/src/plTable.vue\";var ei=Zt.exports;ei.install=function(e){e.component(ei.name,ei)};var ti=ei,ii=(i(27),i(8)),ni=i.n(ii),ri=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i(\"div\",{staticClass:\"plTableBox\",style:[e.plTableHeight]},[i(\"plx-grid\",{ref:\"singleTable\",staticClass:\"singleTable\",staticStyle:{width:\"100%\"},attrs:{data:e.isArrayFn(e.data)?e.data:[],\"show-footer\":!!e.summaryMethod&&e.showSummary,\"max-height\":e.newMaxHeight,height:e.newHeight,border:e.border,stripe:e.stripe,\"row-key\":e.rowKey,size:e.size,\"show-header\":e.showHeader,\"show-overflow\":e.showOverflow,\"footer-method\":e.footerMethod,\"show-header-overflow\":e.showHeaderOverflow,\"highlight-current-row\":e.highlightCurrentRow,\"highlight-hover-row\":e.highlightCurrentRow,\"row-class-name\":e.rowClassName,\"cell-class-name\":e.cellClassName,\"header-row-class-name\":e.headerRowClassName,\"header-cell-class-name\":e.headerCellClassName,\"header-row-style\":e.headerRowStyle,\"header-cell-style\":e.headerCellStyle,\"row-style\":e.rowStyle,\"cell-style\":e.cellStyle,\"sort-config\":{sortMethod:e.sortMethod,defaultSort:e.defaultSort},\"span-method\":e.arraySpanMethod},on:{\"current-change\":e.currentChange,\"select-change\":e.plSelect,\"resizable-change\":e.headerDragend,\"cell-mouseenter\":e.cellMouseEnter,\"cell-mouseleave\":e.cellMouseLeave,\"cell-click\":e.cellClick,\"cell-dblclick\":e.cellDblclick,\"cell-context-menu\":e.rowContextmenu,\"header-cell-context-menu\":e.headerContextmenu,\"radio-change\":e.radioChange,\"header-cell-click\":e.headerClick,\"select-all\":e.selectAll,\"filter-change\":e.filterChange,\"sort-change\":e.sortChange,scroll:e.tableBodyScroll}},[i(\"template\",{slot:\"empty\"},[e._t(\"empty\",[e._v(e._s(e.emptyText))])],2),e._t(\"default\")],2),e.paginationShow?i(\"div\",{ref:\"myPagination\",staticClass:\"myPagination\"},[i(\"el-pagination\",{attrs:{\"current-page\":e.newcurrentPage,\"pager-count\":e.pagerCount,\"page-sizes\":e.pageSizes,\"page-size\":e.newPageSize,layout:e.layout,total:e.total},on:{\"size-change\":e.handleSizeChange,\"current-change\":e.handleCurrentChange}})],1):e._e(),i(\"div\",{ref:\"plDialog\",staticClass:\"plDialog\"},[e.plDialogFals?i(\"div\",{staticStyle:{width:\"100%\",height:\"100%\"}},[i(\"div\",{staticClass:\"table-cus-header\"},[e._v(e._s(e.fieldTitle))]),i(\"div\",{staticClass:\"checkListBox\"},[i(\"draggable\",{attrs:{tag:\"ul\",options:{disabled:!e.fieldSort}},model:{value:e.newDialogData,callback:function(t){e.newDialogData=t},expression:\"newDialogData\"}},e._l(e.newDialogData,(function(t,n){return i(\"li\",{key:n},[i(\"el-checkbox\",{attrs:{disabled:t.disabled},model:{value:t.state,callback:function(i){e.$set(t,\"state\",i)},expression:\"item.state\"}},[e._v(e._s(t.name))]),e.showAmend?i(\"i\",{staticClass:\"iconfont\",class:[e.amendBtnIcon||\"el-icon-edit\"],on:{click:function(i){e.amendField(t,n)}}}):e._e()],1)})),0)],1),i(\"div\",{staticClass:\"table-cus-footer\"},[i(\"el-button\",{on:{click:function(t){e.closeModal()}}},[e._v(\"取消\")]),i(\"el-button\",{attrs:{type:\"primary\"},on:{click:e.confirmField}},[e._v(\"确定\")]),i(\"el-button\",{attrs:{type:\"warning\"},on:{click:e.reset}},[e._v(\"重置\")])],1)]):e._e()])],1)};function li(e){return\"number\"==typeof e?e:\"string\"==typeof e?/^\\d+(?:px)?$/.test(e)?parseInt(e,10):e:null}ri._withStripped=!0;var oi=S({name:\"PlxTableGrid\",components:{draggable:bt.a,ElPagination:Ut},props:{showOverflow:{type:Boolean,default:!0},showHeaderOverflow:{type:Boolean,default:!0},data:{type:Array,default:function(){return[]}},height:[String,Number],maxHeight:[String,Number],sortMethod:Function,dialogData:{type:Array,default:function(){return[]}},defaultSort:Object,stripe:{default:!1,type:Boolean},size:{default:\"\",type:String},showHeader:{default:!0,type:Boolean},emptyText:{default:\"暂无数据\",type:String},border:{default:!0,type:Boolean},showSummary:{default:!1,type:Boolean},summaryMethod:Function,fieldSort:{default:!0,type:Boolean},rowKey:Boolean,highlightCurrentRow:{default:!0,type:Boolean},showAmend:{default:!1,type:Boolean},amendBtnIcon:{default:\"\",type:String},fieldTitle:{default:\"选择显示字段\",type:String},spanMethod:Function,rowClassName:[String,Function],rowStyle:[Object,Function],cellClassName:[String,Function],cellStyle:[Object,Function],headerRowClassName:[String,Function],headerRowStyle:[Object,Function],headerCellClassName:[String,Function],headerCellStyle:[Object,Function],paginationShow:{default:!1,type:Boolean},total:{default:0,type:Number},pagerCount:{default:5,type:Number},pageSize:{default:10,type:Number},currentPage:{default:1,type:Number},pageSizes:{default:function(){return[10,20,30,50]},type:Array},layout:{default:\"total, sizes, prev, pager, next, jumper\",type:String}},data:function(){return{_times:\"\",plDialogFals:!1,newDialogData:[],aBox:\"\",newPageSize:\"\",newcurrentPage:\"\",newHeight:null,newMaxHeight:null}},created:function(){this.newPageSize=this.pageSize,this.newcurrentPage=this.currentPage},mounted:function(){this.$ready=!0},computed:{plTableHeight:function(){return this.height?{height:this.height+\"px\"}:this.maxHeight&&\"number\"==typeof li(this.maxHeight)?{\"max-height\":this.maxHeight+\"px\"}:{}}},methods:{handleSizeChange:function(e){this.newPageSize=e,this.$emit(\"handlePageSize\",{size:this.newPageSize,page:this.newcurrentPage})},handleCurrentChange:function(e){this.newcurrentPage=e,this.$emit(\"handlePageSize\",{size:this.newPageSize,page:this.newcurrentPage})},isArrayFn:function(e){return\"function\"==typeof Array.isArray?Array.isArray(e):\"[object Array]\"===Object.prototype.toString.call(e)},removal:function(e){if(this.isArrayFn(e))return e.filter((function(e,t,i){return i.indexOf(e)===t}));throw new Error(\"需要的是数组\")},removalDataObj:function(e,t){if(this.isArrayFn(e)){for(var i=[],n={},r=0;r0&&document.body.removeChild(t[0]),this.aBox=null},footerMethod:function(e){return\"function\"==typeof this.summaryMethod&&this.summaryMethod?this.summaryMethod(e):[]},arraySpanMethod:function(e){return\"function\"==typeof this.spanMethod?this.spanMethod(e):\"\"},setCurrentRow:function(e){e?this.$refs.singleTable.setCurrentRow(e):this.$refs.singleTable.setCurrentRow()},toggleRowSelection:function(e){e&&this.isArrayFn(e)?this.newtoggleRowSelections(e):console.error(\"数据格式需要一个数组\")},newtoggleRowSelections:function(e){var t=this;if(e.length>0&&this.$refs.singleTable){e.forEach((function(e){e.selected?t.$refs.singleTable.setCheckboxRow(e.row,e.selected):!1===e.selected?t.$refs.singleTable.setCheckboxRow(e.row,!1):void 0===e.selected&&t.$refs.singleTable.setCheckboxRow(e.row,\"\")}));var i=this.$refs.singleTable.getCheckboxRecords();this.$emit(\"selection-change\",i)}},toggleAllSelection:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(this.$refs.singleTable){this.$refs.singleTable.setAllCheckboxRow(e);var t=this.$refs.singleTable.getCheckboxRecords();this.$emit(\"selection-change\",t)}else console.error(\"toggleAllSelection方法为找到,可能表格未加载完毕\")},clearSelection:function(){if(this.$refs.singleTable){this.$refs.singleTable.clearCheckboxRow();var e=this.$refs.singleTable.getCheckboxRecords();this.$emit(\"selection-change\",e)}else console.error(\"clearSelection方法为找到,可能表格未加载完毕\")},clearSort:function(){this.$refs.singleTable.clearSort()},clearFilter:function(e){this.$refs.singleTable.clearFilter(e)},sort:function(e,t){this.$refs.singleTable.sort(e,t)},doLayout:function(){this.$refs.singleTable.recalculate()},pagingScrollTopLeft:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.$refs.singleTable.scrollTo(t,e)},reloadData:function(e){this.$refs.singleTable.reloadData(e)},setHeight:function(){var e=this;if(!this.$ready&&this.paginationShow)return q.a.nextTick((function(){return e.setHeight()}));var t=this.$refs.myPagination;this.height?(this.newHeight=li(this.height)-(t?t.offsetHeight:0),this.newMaxHeight=null):this.maxHeight&&(this.newMaxHeight=li(this.maxHeight)-(t?t.offsetHeight:0),this.newHeight=null)},tableBodyScroll:function(e,t){var i={type:e.type,fixed:e.fixed,scrollTop:e.scrollTop,scrollLeft:e.scrollLeft,isX:e.isX,isY:e.isY};this.$emit(\"table-body-scroll\",i,t)},selectAll:function(e){var t=e.selection;this.$emit(\"select-all\",t),this.$emit(\"selection-change\",t)},plSelect:function(e){var t=e.selection,i=(e.reserves,e.checked,e.row);this.$emit(\"select\",t,i),this.$emit(\"selection-change\",t)},radioChange:function(e,t){var i=e.row,n=(e.rowIndex,e.$rowIndex,e.column);e.columnIndex,e.$columnIndex,e.cell;this.$emit(\"radio-change\",i,n)},sortChange:function(e){var t={column:e.column,prop:e.property,order:e.order};this.$emit(\"sort-change\",t)},currentChange:function(e,t){var i=e.row;e.rowIndex,e.$rowIndex,e.column,e.columnIndex,e.$columnIndex,e.cell;this.$emit(\"current-change\",i)},filterChange:function(e){e.column,e.property,e.values,e.datas;var t=e.filters;this.$emit(\"filter-change\",t)},cellMouseEnter:function(e,t){var i=e.row,n=(e.rowIndex,e.$rowIndex,e.column),r=(e.columnIndex,e.$columnIndex,e.cell);this.$emit(\"cell-mouse-enter\",i,n,r,t)},cellMouseLeave:function(e,t){var i=e.row,n=(e.rowIndex,e.$rowIndex,e.column),r=(e.columnIndex,e.$columnIndex,e.cell);this.$emit(\"cell-mouse-leave\",i,n,r,t)},cellClick:function(e,t){var i=e.row,n=(e.rowIndex,e.$rowIndex,e.column),r=(e.columnIndex,e.$columnIndex,e.cell);this.$emit(\"cell-click\",i,n,r,t),this.$emit(\"row-click\",i,t,n)},cellDblclick:function(e,t){var i=e.row,n=(e.rowIndex,e.$rowIndex,e.column),r=(e.columnIndex,e.$columnIndex,e.cell);this.$emit(\"cell-dblclick\",i,n,r,t),this.$emit(\"row-dblclick\",i,n,t)},rowContextmenu:function(e,t){e.type;var i=e.row,n=(e.rowIndex,e.column);e.columnIndex,e.cell;console.log(213121),this.$emit(\"row-contextmenu\",i,n,t)},headerClick:function(e,t){e.triggerResizable,e.triggerSort,e.triggerFilter,e.$rowIndex;var i=e.column;e.columnIndex,e.$columnIndex,e.cell;this.$emit(\"header-click\",i,t)},headerContextmenu:function(e,t){e.type;var i=e.column;e.columnIndex,e.cell;this.$emit(\"header-contextmenu\",i,t)},headerDragend:function(e){var t={$rowIndex:e.$rowIndex,column:e.column,columnIndex:e.columnIndex,$columnIndex:e.$columnIndex,fixed:e.fixed,isHidden:e.isHidden};this.$emit(\"header-dragend\",t)}},watch:{data:{immediate:!0,handler:function(e){if(!this.isArrayFn(e))throw new Error(\"表格数据需要的是数组格式,请检查你的数据格式\")}},dialogData:{deep:!0,immediate:!0,handler:function(e){this.newDialogData=JSON.parse(JSON.stringify(e))}},currentPage:function(e){this.newcurrentPage=e},pageSize:function(e){this.newPageSize=e},height:{immediate:!0,handler:function(e){this.setHeight()}},maxHeight:{immediate:!0,handler:function(e){this.setHeight()}}}},ri,[],!1,null,null,null);oi.options.__file=\"packages/plx-table-grid/src/plx-table-grid.vue\";var si=oi.exports;q.a.use(ni.a),si.install=function(e){e.component(si.name,si)};var ai=si;ii.Column.install=function(e){e.component(ii.Column.name,ii.Column)};var ui=ii.Column,ci=[P,ti,ai,ui],hi=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};W.a.use(t.locale),W.a.i18n(t.i18n),ci.forEach((function(t){e.component(t.name,t)}))};\"undefined\"!=typeof window&&window.Vue&&hi(window.Vue);t.default={version:n.version,locale:W.a.use,i18n:W.a.i18n,install:hi,PlTableColumn:P,PlTable:ti,PlxTableGrid:ai,PlxTableColumn:ui}}]).default;","\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\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar modelUtil = require(\"../../util/model\");\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 * @param {Object} finder contains {seriesIndex, dataIndex, dataIndexInside}\n * @param {module:echarts/model/Global} ecModel\n * @return {Object} {point: [x, y], el: ...} point Will not be null.\n */\nfunction _default(finder, ecModel) {\n var point = [];\n var seriesIndex = finder.seriesIndex;\n var seriesModel;\n\n if (seriesIndex == null || !(seriesModel = ecModel.getSeriesByIndex(seriesIndex))) {\n return {\n point: []\n };\n }\n\n var data = seriesModel.getData();\n var dataIndex = modelUtil.queryDataIndex(data, finder);\n\n if (dataIndex == null || dataIndex < 0 || zrUtil.isArray(dataIndex)) {\n return {\n point: []\n };\n }\n\n var el = data.getItemGraphicEl(dataIndex);\n var coordSys = seriesModel.coordinateSystem;\n\n if (seriesModel.getTooltipPosition) {\n point = seriesModel.getTooltipPosition(dataIndex) || [];\n } else if (coordSys && coordSys.dataToPoint) {\n point = coordSys.dataToPoint(data.getValues(zrUtil.map(coordSys.dimensions, function (dim) {\n return data.mapDimension(dim);\n }), dataIndex, true)) || [];\n } else if (el) {\n // Use graphic bounding rect\n var rect = el.getBoundingRect().clone();\n rect.applyTransform(el.transform);\n point = [rect.x + rect.width / 2, rect.y + rect.height / 2];\n }\n\n return {\n point: point,\n el: el\n };\n}\n\nmodule.exports = _default;","function helperGetUTCDateTime (dates) {\r\n return Date.UTC(dates[0], dates[1], dates[2], dates[3], dates[4], dates[5], dates[6])\r\n}\r\n\r\nmodule.exports = helperGetUTCDateTime\r\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.Table = void 0;\n\nvar _table = _interopRequireDefault(require(\"./src/table\"));\n\nvar _vXETable = _interopRequireDefault(require(\"../v-x-e-table\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_table.default.install = function (Vue) {\n _vXETable.default.Vue = Vue;\n _vXETable.default.Table = _table.default;\n Vue.component(_table.default.name, _table.default);\n};\n\nvar Table = _table.default;\nexports.Table = Table;\nvar _default = _table.default;\nexports.default = _default;","\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\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _symbol = require(\"../../util/symbol\");\n\nvar createSymbol = _symbol.createSymbol;\n\nvar graphic = require(\"../../util/graphic\");\n\nvar _number = require(\"../../util/number\");\n\nvar parsePercent = _number.parsePercent;\n\nvar _labelHelper = require(\"./labelHelper\");\n\nvar getDefaultLabel = _labelHelper.getDefaultLabel;\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 * @module echarts/chart/helper/Symbol\n */\n\n/**\n * @constructor\n * @alias {module:echarts/chart/helper/Symbol}\n * @param {module:echarts/data/List} data\n * @param {number} idx\n * @extends {module:zrender/graphic/Group}\n */\nfunction SymbolClz(data, idx, seriesScope) {\n graphic.Group.call(this);\n this.updateData(data, idx, seriesScope);\n}\n\nvar symbolProto = SymbolClz.prototype;\n/**\n * @public\n * @static\n * @param {module:echarts/data/List} data\n * @param {number} dataIndex\n * @return {Array.} [width, height]\n */\n\nvar getSymbolSize = SymbolClz.getSymbolSize = function (data, idx) {\n var symbolSize = data.getItemVisual(idx, 'symbolSize');\n return symbolSize instanceof Array ? symbolSize.slice() : [+symbolSize, +symbolSize];\n};\n\nfunction getScale(symbolSize) {\n return [symbolSize[0] / 2, symbolSize[1] / 2];\n}\n\nfunction driftSymbol(dx, dy) {\n this.parent.drift(dx, dy);\n}\n\nsymbolProto._createSymbol = function (symbolType, data, idx, symbolSize, keepAspect) {\n // Remove paths created before\n this.removeAll();\n var color = data.getItemVisual(idx, 'color'); // var symbolPath = createSymbol(\n // symbolType, -0.5, -0.5, 1, 1, color\n // );\n // If width/height are set too small (e.g., set to 1) on ios10\n // and macOS Sierra, a circle stroke become a rect, no matter what\n // the scale is set. So we set width/height as 2. See #4150.\n\n var symbolPath = createSymbol(symbolType, -1, -1, 2, 2, color, keepAspect);\n symbolPath.attr({\n z2: 100,\n culling: true,\n scale: getScale(symbolSize)\n }); // Rewrite drift method\n\n symbolPath.drift = driftSymbol;\n this._symbolType = symbolType;\n this.add(symbolPath);\n};\n/**\n * Stop animation\n * @param {boolean} toLastFrame\n */\n\n\nsymbolProto.stopSymbolAnimation = function (toLastFrame) {\n this.childAt(0).stopAnimation(toLastFrame);\n};\n/**\n * FIXME:\n * Caution: This method breaks the encapsulation of this module,\n * but it indeed brings convenience. So do not use the method\n * unless you detailedly know all the implements of `Symbol`,\n * especially animation.\n *\n * Get symbol path element.\n */\n\n\nsymbolProto.getSymbolPath = function () {\n return this.childAt(0);\n};\n/**\n * Get scale(aka, current symbol size).\n * Including the change caused by animation\n */\n\n\nsymbolProto.getScale = function () {\n return this.childAt(0).scale;\n};\n/**\n * Highlight symbol\n */\n\n\nsymbolProto.highlight = function () {\n this.childAt(0).trigger('emphasis');\n};\n/**\n * Downplay symbol\n */\n\n\nsymbolProto.downplay = function () {\n this.childAt(0).trigger('normal');\n};\n/**\n * @param {number} zlevel\n * @param {number} z\n */\n\n\nsymbolProto.setZ = function (zlevel, z) {\n var symbolPath = this.childAt(0);\n symbolPath.zlevel = zlevel;\n symbolPath.z = z;\n};\n\nsymbolProto.setDraggable = function (draggable) {\n var symbolPath = this.childAt(0);\n symbolPath.draggable = draggable;\n symbolPath.cursor = draggable ? 'move' : symbolPath.cursor;\n};\n/**\n * Update symbol properties\n * @param {module:echarts/data/List} data\n * @param {number} idx\n * @param {Object} [seriesScope]\n * @param {Object} [seriesScope.itemStyle]\n * @param {Object} [seriesScope.hoverItemStyle]\n * @param {Object} [seriesScope.symbolRotate]\n * @param {Object} [seriesScope.symbolOffset]\n * @param {module:echarts/model/Model} [seriesScope.labelModel]\n * @param {module:echarts/model/Model} [seriesScope.hoverLabelModel]\n * @param {boolean} [seriesScope.hoverAnimation]\n * @param {Object} [seriesScope.cursorStyle]\n * @param {module:echarts/model/Model} [seriesScope.itemModel]\n * @param {string} [seriesScope.symbolInnerColor]\n * @param {Object} [seriesScope.fadeIn=false]\n */\n\n\nsymbolProto.updateData = function (data, idx, seriesScope) {\n this.silent = false;\n var symbolType = data.getItemVisual(idx, 'symbol') || 'circle';\n var seriesModel = data.hostModel;\n var symbolSize = getSymbolSize(data, idx);\n var isInit = symbolType !== this._symbolType;\n\n if (isInit) {\n var keepAspect = data.getItemVisual(idx, 'symbolKeepAspect');\n\n this._createSymbol(symbolType, data, idx, symbolSize, keepAspect);\n } else {\n var symbolPath = this.childAt(0);\n symbolPath.silent = false;\n graphic.updateProps(symbolPath, {\n scale: getScale(symbolSize)\n }, seriesModel, idx);\n }\n\n this._updateCommon(data, idx, symbolSize, seriesScope);\n\n if (isInit) {\n var symbolPath = this.childAt(0);\n var fadeIn = seriesScope && seriesScope.fadeIn;\n var target = {\n scale: symbolPath.scale.slice()\n };\n fadeIn && (target.style = {\n opacity: symbolPath.style.opacity\n });\n symbolPath.scale = [0, 0];\n fadeIn && (symbolPath.style.opacity = 0);\n graphic.initProps(symbolPath, target, seriesModel, idx);\n }\n\n this._seriesModel = seriesModel;\n}; // Update common properties\n\n\nvar normalStyleAccessPath = ['itemStyle'];\nvar emphasisStyleAccessPath = ['emphasis', 'itemStyle'];\nvar normalLabelAccessPath = ['label'];\nvar emphasisLabelAccessPath = ['emphasis', 'label'];\n/**\n * @param {module:echarts/data/List} data\n * @param {number} idx\n * @param {Array.} symbolSize\n * @param {Object} [seriesScope]\n */\n\nsymbolProto._updateCommon = function (data, idx, symbolSize, seriesScope) {\n var symbolPath = this.childAt(0);\n var seriesModel = data.hostModel;\n var color = data.getItemVisual(idx, 'color'); // Reset style\n\n if (symbolPath.type !== 'image') {\n symbolPath.useStyle({\n strokeNoScale: true\n });\n } else {\n symbolPath.setStyle({\n opacity: 1,\n shadowBlur: null,\n shadowOffsetX: null,\n shadowOffsetY: null,\n shadowColor: null\n });\n }\n\n var itemStyle = seriesScope && seriesScope.itemStyle;\n var hoverItemStyle = seriesScope && seriesScope.hoverItemStyle;\n var symbolOffset = seriesScope && seriesScope.symbolOffset;\n var labelModel = seriesScope && seriesScope.labelModel;\n var hoverLabelModel = seriesScope && seriesScope.hoverLabelModel;\n var hoverAnimation = seriesScope && seriesScope.hoverAnimation;\n var cursorStyle = seriesScope && seriesScope.cursorStyle;\n\n if (!seriesScope || data.hasItemOption) {\n var itemModel = seriesScope && seriesScope.itemModel ? seriesScope.itemModel : data.getItemModel(idx); // Color must be excluded.\n // Because symbol provide setColor individually to set fill and stroke\n\n itemStyle = itemModel.getModel(normalStyleAccessPath).getItemStyle(['color']);\n hoverItemStyle = itemModel.getModel(emphasisStyleAccessPath).getItemStyle();\n symbolOffset = itemModel.getShallow('symbolOffset');\n labelModel = itemModel.getModel(normalLabelAccessPath);\n hoverLabelModel = itemModel.getModel(emphasisLabelAccessPath);\n hoverAnimation = itemModel.getShallow('hoverAnimation');\n cursorStyle = itemModel.getShallow('cursor');\n } else {\n hoverItemStyle = zrUtil.extend({}, hoverItemStyle);\n }\n\n var elStyle = symbolPath.style;\n var symbolRotate = data.getItemVisual(idx, 'symbolRotate');\n symbolPath.attr('rotation', (symbolRotate || 0) * Math.PI / 180 || 0);\n\n if (symbolOffset) {\n symbolPath.attr('position', [parsePercent(symbolOffset[0], symbolSize[0]), parsePercent(symbolOffset[1], symbolSize[1])]);\n }\n\n cursorStyle && symbolPath.attr('cursor', cursorStyle); // PENDING setColor before setStyle!!!\n\n symbolPath.setColor(color, seriesScope && seriesScope.symbolInnerColor);\n symbolPath.setStyle(itemStyle);\n var opacity = data.getItemVisual(idx, 'opacity');\n\n if (opacity != null) {\n elStyle.opacity = opacity;\n }\n\n var liftZ = data.getItemVisual(idx, 'liftZ');\n var z2Origin = symbolPath.__z2Origin;\n\n if (liftZ != null) {\n if (z2Origin == null) {\n symbolPath.__z2Origin = symbolPath.z2;\n symbolPath.z2 += liftZ;\n }\n } else if (z2Origin != null) {\n symbolPath.z2 = z2Origin;\n symbolPath.__z2Origin = null;\n }\n\n var useNameLabel = seriesScope && seriesScope.useNameLabel;\n graphic.setLabelStyle(elStyle, hoverItemStyle, labelModel, hoverLabelModel, {\n labelFetcher: seriesModel,\n labelDataIndex: idx,\n defaultText: getLabelDefaultText,\n isRectText: true,\n autoColor: color\n }); // Do not execute util needed.\n\n function getLabelDefaultText(idx, opt) {\n return useNameLabel ? data.getName(idx) : getDefaultLabel(data, idx);\n }\n\n symbolPath.__symbolOriginalScale = getScale(symbolSize);\n symbolPath.hoverStyle = hoverItemStyle;\n symbolPath.highDownOnUpdate = hoverAnimation && seriesModel.isAnimationEnabled() ? highDownOnUpdate : null;\n graphic.setHoverStyle(symbolPath);\n};\n\nfunction highDownOnUpdate(fromState, toState) {\n // Do not support this hover animation util some scenario required.\n // Animation can only be supported in hover layer when using `el.incremetal`.\n if (this.incremental || this.useHoverLayer) {\n return;\n }\n\n if (toState === 'emphasis') {\n var scale = this.__symbolOriginalScale;\n var ratio = scale[1] / scale[0];\n var emphasisOpt = {\n scale: [Math.max(scale[0] * 1.1, scale[0] + 3), Math.max(scale[1] * 1.1, scale[1] + 3 * ratio)]\n }; // FIXME\n // modify it after support stop specified animation.\n // toState === fromState\n // ? (this.stopAnimation(), this.attr(emphasisOpt))\n\n this.animateTo(emphasisOpt, 400, 'elasticOut');\n } else if (toState === 'normal') {\n this.animateTo({\n scale: this.__symbolOriginalScale\n }, 400, 'elasticOut');\n }\n}\n/**\n * @param {Function} cb\n * @param {Object} [opt]\n * @param {Object} [opt.keepLabel=true]\n */\n\n\nsymbolProto.fadeOut = function (cb, opt) {\n var symbolPath = this.childAt(0); // Avoid mistaken hover when fading out\n\n this.silent = symbolPath.silent = true; // Not show text when animating\n\n !(opt && opt.keepLabel) && (symbolPath.style.text = null);\n graphic.updateProps(symbolPath, {\n style: {\n opacity: 0\n },\n scale: [0, 0]\n }, this._seriesModel, this.dataIndex, cb);\n};\n\nzrUtil.inherits(SymbolClz, graphic.Group);\nvar _default = SymbolClz;\nmodule.exports = _default;","\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\nvar echarts = require(\"../../echarts\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar symbolUtil = require(\"../../util/symbol\");\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*/\nfunction normalizeSymbolSize(symbolSize) {\n if (!zrUtil.isArray(symbolSize)) {\n symbolSize = [+symbolSize, +symbolSize];\n }\n\n return symbolSize;\n}\n\nvar _default = echarts.extendChartView({\n type: 'radar',\n render: function (seriesModel, ecModel, api) {\n var polar = seriesModel.coordinateSystem;\n var group = this.group;\n var data = seriesModel.getData();\n var oldData = this._data;\n\n function createSymbol(data, idx) {\n var symbolType = data.getItemVisual(idx, 'symbol') || 'circle';\n var color = data.getItemVisual(idx, 'color');\n\n if (symbolType === 'none') {\n return;\n }\n\n var symbolSize = normalizeSymbolSize(data.getItemVisual(idx, 'symbolSize'));\n var symbolPath = symbolUtil.createSymbol(symbolType, -1, -1, 2, 2, color);\n var symbolRotate = data.getItemVisual(idx, 'symbolRotate') || 0;\n symbolPath.attr({\n style: {\n strokeNoScale: true\n },\n z2: 100,\n scale: [symbolSize[0] / 2, symbolSize[1] / 2],\n rotation: symbolRotate * Math.PI / 180 || 0\n });\n return symbolPath;\n }\n\n function updateSymbols(oldPoints, newPoints, symbolGroup, data, idx, isInit) {\n // Simply rerender all\n symbolGroup.removeAll();\n\n for (var i = 0; i < newPoints.length - 1; i++) {\n var symbolPath = createSymbol(data, idx);\n\n if (symbolPath) {\n symbolPath.__dimIdx = i;\n\n if (oldPoints[i]) {\n symbolPath.attr('position', oldPoints[i]);\n graphic[isInit ? 'initProps' : 'updateProps'](symbolPath, {\n position: newPoints[i]\n }, seriesModel, idx);\n } else {\n symbolPath.attr('position', newPoints[i]);\n }\n\n symbolGroup.add(symbolPath);\n }\n }\n }\n\n function getInitialPoints(points) {\n return zrUtil.map(points, function (pt) {\n return [polar.cx, polar.cy];\n });\n }\n\n data.diff(oldData).add(function (idx) {\n var points = data.getItemLayout(idx);\n\n if (!points) {\n return;\n }\n\n var polygon = new graphic.Polygon();\n var polyline = new graphic.Polyline();\n var target = {\n shape: {\n points: points\n }\n };\n polygon.shape.points = getInitialPoints(points);\n polyline.shape.points = getInitialPoints(points);\n graphic.initProps(polygon, target, seriesModel, idx);\n graphic.initProps(polyline, target, seriesModel, idx);\n var itemGroup = new graphic.Group();\n var symbolGroup = new graphic.Group();\n itemGroup.add(polyline);\n itemGroup.add(polygon);\n itemGroup.add(symbolGroup);\n updateSymbols(polyline.shape.points, points, symbolGroup, data, idx, true);\n data.setItemGraphicEl(idx, itemGroup);\n }).update(function (newIdx, oldIdx) {\n var itemGroup = oldData.getItemGraphicEl(oldIdx);\n var polyline = itemGroup.childAt(0);\n var polygon = itemGroup.childAt(1);\n var symbolGroup = itemGroup.childAt(2);\n var target = {\n shape: {\n points: data.getItemLayout(newIdx)\n }\n };\n\n if (!target.shape.points) {\n return;\n }\n\n updateSymbols(polyline.shape.points, target.shape.points, symbolGroup, data, newIdx, false);\n graphic.updateProps(polyline, target, seriesModel);\n graphic.updateProps(polygon, target, seriesModel);\n data.setItemGraphicEl(newIdx, itemGroup);\n }).remove(function (idx) {\n group.remove(oldData.getItemGraphicEl(idx));\n }).execute();\n data.eachItemGraphicEl(function (itemGroup, idx) {\n var itemModel = data.getItemModel(idx);\n var polyline = itemGroup.childAt(0);\n var polygon = itemGroup.childAt(1);\n var symbolGroup = itemGroup.childAt(2);\n var color = data.getItemVisual(idx, 'color');\n group.add(itemGroup);\n polyline.useStyle(zrUtil.defaults(itemModel.getModel('lineStyle').getLineStyle(), {\n fill: 'none',\n stroke: color\n }));\n polyline.hoverStyle = itemModel.getModel('emphasis.lineStyle').getLineStyle();\n var areaStyleModel = itemModel.getModel('areaStyle');\n var hoverAreaStyleModel = itemModel.getModel('emphasis.areaStyle');\n var polygonIgnore = areaStyleModel.isEmpty() && areaStyleModel.parentModel.isEmpty();\n var hoverPolygonIgnore = hoverAreaStyleModel.isEmpty() && hoverAreaStyleModel.parentModel.isEmpty();\n hoverPolygonIgnore = hoverPolygonIgnore && polygonIgnore;\n polygon.ignore = polygonIgnore;\n polygon.useStyle(zrUtil.defaults(areaStyleModel.getAreaStyle(), {\n fill: color,\n opacity: 0.7\n }));\n polygon.hoverStyle = hoverAreaStyleModel.getAreaStyle();\n var itemStyle = itemModel.getModel('itemStyle').getItemStyle(['color']);\n var itemHoverStyle = itemModel.getModel('emphasis.itemStyle').getItemStyle();\n var labelModel = itemModel.getModel('label');\n var labelHoverModel = itemModel.getModel('emphasis.label');\n symbolGroup.eachChild(function (symbolPath) {\n symbolPath.setStyle(itemStyle);\n symbolPath.hoverStyle = zrUtil.clone(itemHoverStyle);\n var defaultText = data.get(data.dimensions[symbolPath.__dimIdx], idx);\n (defaultText == null || isNaN(defaultText)) && (defaultText = '');\n graphic.setLabelStyle(symbolPath.style, symbolPath.hoverStyle, labelModel, labelHoverModel, {\n labelFetcher: data.hostModel,\n labelDataIndex: idx,\n labelDimIndex: symbolPath.__dimIdx,\n defaultText: defaultText,\n autoColor: color,\n isRectText: true\n });\n });\n\n itemGroup.highDownOnUpdate = function (fromState, toState) {\n polygon.attr('ignore', toState === 'emphasis' ? hoverPolygonIgnore : polygonIgnore);\n };\n\n graphic.setHoverStyle(itemGroup);\n });\n this._data = data;\n },\n remove: function () {\n this.group.removeAll();\n this._data = null;\n },\n dispose: function () {}\n});\n\nmodule.exports = _default;","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\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*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar AxisBuilder = require(\"./AxisBuilder\");\n\nvar AxisView = require(\"./AxisView\");\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*/\nvar axisBuilderAttrs = ['axisLine', 'axisTickLabel', 'axisName'];\nvar selfBuilderAttrs = ['splitLine', 'splitArea', 'minorSplitLine'];\n\nvar _default = AxisView.extend({\n type: 'radiusAxis',\n axisPointerClass: 'PolarAxisPointer',\n render: function (radiusAxisModel, ecModel) {\n this.group.removeAll();\n\n if (!radiusAxisModel.get('show')) {\n return;\n }\n\n var radiusAxis = radiusAxisModel.axis;\n var polar = radiusAxis.polar;\n var angleAxis = polar.getAngleAxis();\n var ticksCoords = radiusAxis.getTicksCoords();\n var minorTicksCoords = radiusAxis.getMinorTicksCoords();\n var axisAngle = angleAxis.getExtent()[0];\n var radiusExtent = radiusAxis.getExtent();\n var layout = layoutAxis(polar, radiusAxisModel, axisAngle);\n var axisBuilder = new AxisBuilder(radiusAxisModel, layout);\n zrUtil.each(axisBuilderAttrs, axisBuilder.add, axisBuilder);\n this.group.add(axisBuilder.getGroup());\n zrUtil.each(selfBuilderAttrs, function (name) {\n if (radiusAxisModel.get(name + '.show') && !radiusAxis.scale.isBlank()) {\n this['_' + name](radiusAxisModel, polar, axisAngle, radiusExtent, ticksCoords, minorTicksCoords);\n }\n }, this);\n },\n\n /**\n * @private\n */\n _splitLine: function (radiusAxisModel, polar, axisAngle, radiusExtent, ticksCoords) {\n var splitLineModel = radiusAxisModel.getModel('splitLine');\n var lineStyleModel = splitLineModel.getModel('lineStyle');\n var lineColors = lineStyleModel.get('color');\n var lineCount = 0;\n lineColors = lineColors instanceof Array ? lineColors : [lineColors];\n var splitLines = [];\n\n for (var i = 0; i < ticksCoords.length; i++) {\n var colorIndex = lineCount++ % lineColors.length;\n splitLines[colorIndex] = splitLines[colorIndex] || [];\n splitLines[colorIndex].push(new graphic.Circle({\n shape: {\n cx: polar.cx,\n cy: polar.cy,\n r: ticksCoords[i].coord\n }\n }));\n } // Simple optimization\n // Batching the lines if color are the same\n\n\n for (var i = 0; i < splitLines.length; i++) {\n this.group.add(graphic.mergePath(splitLines[i], {\n style: zrUtil.defaults({\n stroke: lineColors[i % lineColors.length],\n fill: null\n }, lineStyleModel.getLineStyle()),\n silent: true\n }));\n }\n },\n\n /**\n * @private\n */\n _minorSplitLine: function (radiusAxisModel, polar, axisAngle, radiusExtent, ticksCoords, minorTicksCoords) {\n if (!minorTicksCoords.length) {\n return;\n }\n\n var minorSplitLineModel = radiusAxisModel.getModel('minorSplitLine');\n var lineStyleModel = minorSplitLineModel.getModel('lineStyle');\n var lines = [];\n\n for (var i = 0; i < minorTicksCoords.length; i++) {\n for (var k = 0; k < minorTicksCoords[i].length; k++) {\n lines.push(new graphic.Circle({\n shape: {\n cx: polar.cx,\n cy: polar.cy,\n r: minorTicksCoords[i][k].coord\n }\n }));\n }\n }\n\n this.group.add(graphic.mergePath(lines, {\n style: zrUtil.defaults({\n fill: null\n }, lineStyleModel.getLineStyle()),\n silent: true\n }));\n },\n\n /**\n * @private\n */\n _splitArea: function (radiusAxisModel, polar, axisAngle, radiusExtent, ticksCoords) {\n if (!ticksCoords.length) {\n return;\n }\n\n var splitAreaModel = radiusAxisModel.getModel('splitArea');\n var areaStyleModel = splitAreaModel.getModel('areaStyle');\n var areaColors = areaStyleModel.get('color');\n var lineCount = 0;\n areaColors = areaColors instanceof Array ? areaColors : [areaColors];\n var splitAreas = [];\n var prevRadius = ticksCoords[0].coord;\n\n for (var i = 1; i < ticksCoords.length; i++) {\n var colorIndex = lineCount++ % areaColors.length;\n splitAreas[colorIndex] = splitAreas[colorIndex] || [];\n splitAreas[colorIndex].push(new graphic.Sector({\n shape: {\n cx: polar.cx,\n cy: polar.cy,\n r0: prevRadius,\n r: ticksCoords[i].coord,\n startAngle: 0,\n endAngle: Math.PI * 2\n },\n silent: true\n }));\n prevRadius = ticksCoords[i].coord;\n } // Simple optimization\n // Batching the lines if color are the same\n\n\n for (var i = 0; i < splitAreas.length; i++) {\n this.group.add(graphic.mergePath(splitAreas[i], {\n style: zrUtil.defaults({\n fill: areaColors[i % areaColors.length]\n }, areaStyleModel.getAreaStyle()),\n silent: true\n }));\n }\n }\n});\n/**\n * @inner\n */\n\n\nfunction layoutAxis(polar, radiusAxisModel, axisAngle) {\n return {\n position: [polar.cx, polar.cy],\n rotation: axisAngle / 180 * Math.PI,\n labelDirection: -1,\n tickDirection: -1,\n nameDirection: 1,\n labelRotate: radiusAxisModel.getModel('axisLabel').get('rotate'),\n // Over splitLine and splitArea\n z2: 1\n };\n}\n\nmodule.exports = _default;","\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\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar createListFromArray = require(\"./chart/helper/createListFromArray\");\n\nvar axisHelper = require(\"./coord/axisHelper\");\n\nvar axisModelCommonMixin = require(\"./coord/axisModelCommonMixin\");\n\nvar Model = require(\"./model/Model\");\n\nvar _layout = require(\"./util/layout\");\n\nvar getLayoutRect = _layout.getLayoutRect;\nexports.getLayoutRect = _layout.getLayoutRect;\n\nvar _dataStackHelper = require(\"./data/helper/dataStackHelper\");\n\nvar enableDataStack = _dataStackHelper.enableDataStack;\nvar isDimensionStacked = _dataStackHelper.isDimensionStacked;\nvar getStackedDimension = _dataStackHelper.getStackedDimension;\n\nvar _completeDimensions = require(\"./data/helper/completeDimensions\");\n\nexports.completeDimensions = _completeDimensions;\n\nvar _createDimensions = require(\"./data/helper/createDimensions\");\n\nexports.createDimensions = _createDimensions;\n\nvar _symbol = require(\"./util/symbol\");\n\nexports.createSymbol = _symbol.createSymbol;\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// import createGraphFromNodeEdge from './chart/helper/createGraphFromNodeEdge';\n\n/**\n * Create a muti dimension List structure from seriesModel.\n * @param {module:echarts/model/Model} seriesModel\n * @return {module:echarts/data/List} list\n */\nfunction createList(seriesModel) {\n return createListFromArray(seriesModel.getSource(), seriesModel);\n} // export function createGraph(seriesModel) {\n// var nodes = seriesModel.get('data');\n// var links = seriesModel.get('links');\n// return createGraphFromNodeEdge(nodes, links, seriesModel);\n// }\n\n\nvar dataStack = {\n isDimensionStacked: isDimensionStacked,\n enableDataStack: enableDataStack,\n getStackedDimension: getStackedDimension\n};\n/**\n * Create a symbol element with given symbol configuration: shape, x, y, width, height, color\n * @param {string} symbolDesc\n * @param {number} x\n * @param {number} y\n * @param {number} w\n * @param {number} h\n * @param {string} color\n */\n\n/**\n * Create scale\n * @param {Array.} dataExtent\n * @param {Object|module:echarts/Model} option\n */\nfunction createScale(dataExtent, option) {\n var axisModel = option;\n\n if (!Model.isInstance(option)) {\n axisModel = new Model(option);\n zrUtil.mixin(axisModel, axisModelCommonMixin);\n }\n\n var scale = axisHelper.createScaleByModel(axisModel);\n scale.setExtent(dataExtent[0], dataExtent[1]);\n axisHelper.niceScaleExtent(scale, axisModel);\n return scale;\n}\n/**\n * Mixin common methods to axis model,\n *\n * Inlcude methods\n * `getFormattedLabels() => Array.`\n * `getCategories() => Array.`\n * `getMin(origin: boolean) => number`\n * `getMax(origin: boolean) => number`\n * `getNeedCrossZero() => boolean`\n * `setRange(start: number, end: number)`\n * `resetRange()`\n */\n\n\nfunction mixinAxisModelCommonMethods(Model) {\n zrUtil.mixin(Model, axisModelCommonMixin);\n}\n\nexports.createList = createList;\nexports.dataStack = dataStack;\nexports.createScale = createScale;\nexports.mixinAxisModelCommonMethods = mixinAxisModelCommonMethods;","\"use strict\";\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar _exportNames = {};\nexports.default = void 0;\n\nvar _utils = _interopRequireWildcard(require(\"./src/utils\"));\n\nObject.keys(_utils).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _utils[key];\n }\n });\n});\n\nvar _dom = _interopRequireWildcard(require(\"./src/dom\"));\n\nObject.keys(_dom).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _dom[key];\n }\n });\n});\n\nvar _event = _interopRequireWildcard(require(\"./src/event\"));\n\nObject.keys(_event).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _event[key];\n }\n });\n});\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar _default = {\n UtilTools: _utils.default,\n DomTools: _dom.default,\n GlobalEvent: _event.default\n};\nexports.default = _default;","\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\nvar echarts = require(\"../echarts\");\n\nrequire(\"./scatter/ScatterSeries\");\n\nrequire(\"./scatter/ScatterView\");\n\nvar visualSymbol = require(\"../visual/symbol\");\n\nvar layoutPoints = require(\"../layout/points\");\n\nrequire(\"../component/gridSimple\");\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// import * as zrUtil from 'zrender/src/core/util';\n// In case developer forget to include grid component\necharts.registerVisual(visualSymbol('scatter', 'circle'));\necharts.registerLayout(layoutPoints('scatter')); // echarts.registerProcessor(function (ecModel, api) {\n// ecModel.eachSeriesByType('scatter', function (seriesModel) {\n// var data = seriesModel.getData();\n// var coordSys = seriesModel.coordinateSystem;\n// if (coordSys.type !== 'geo') {\n// return;\n// }\n// var startPt = coordSys.pointToData([0, 0]);\n// var endPt = coordSys.pointToData([api.getWidth(), api.getHeight()]);\n// var dims = zrUtil.map(coordSys.dimensions, function (dim) {\n// return data.mapDimension(dim);\n// });\n// var range = {};\n// range[dims[0]] = [Math.min(startPt[0], endPt[0]), Math.max(startPt[0], endPt[0])];\n// range[dims[1]] = [Math.min(startPt[1], endPt[1]), Math.max(startPt[1], endPt[1])];\n// data.selectRange(range);\n// });\n// });","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","/**\n * 3x2矩阵操作类\n * @exports zrender/tool/matrix\n */\n\n/* global Float32Array */\nvar ArrayCtor = typeof Float32Array === 'undefined' ? Array : Float32Array;\n/**\n * Create a identity matrix.\n * @return {Float32Array|Array.}\n */\n\nfunction create() {\n var out = new ArrayCtor(6);\n identity(out);\n return out;\n}\n/**\n * 设置矩阵为单位矩阵\n * @param {Float32Array|Array.} out\n */\n\n\nfunction identity(out) {\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 1;\n out[4] = 0;\n out[5] = 0;\n return out;\n}\n/**\n * 复制矩阵\n * @param {Float32Array|Array.} out\n * @param {Float32Array|Array.} m\n */\n\n\nfunction copy(out, m) {\n out[0] = m[0];\n out[1] = m[1];\n out[2] = m[2];\n out[3] = m[3];\n out[4] = m[4];\n out[5] = m[5];\n return out;\n}\n/**\n * 矩阵相乘\n * @param {Float32Array|Array.} out\n * @param {Float32Array|Array.} m1\n * @param {Float32Array|Array.} m2\n */\n\n\nfunction mul(out, m1, m2) {\n // Consider matrix.mul(m, m2, m);\n // where out is the same as m2.\n // So use temp variable to escape error.\n var out0 = m1[0] * m2[0] + m1[2] * m2[1];\n var out1 = m1[1] * m2[0] + m1[3] * m2[1];\n var out2 = m1[0] * m2[2] + m1[2] * m2[3];\n var out3 = m1[1] * m2[2] + m1[3] * m2[3];\n var out4 = m1[0] * m2[4] + m1[2] * m2[5] + m1[4];\n var out5 = m1[1] * m2[4] + m1[3] * m2[5] + m1[5];\n out[0] = out0;\n out[1] = out1;\n out[2] = out2;\n out[3] = out3;\n out[4] = out4;\n out[5] = out5;\n return out;\n}\n/**\n * 平移变换\n * @param {Float32Array|Array.} out\n * @param {Float32Array|Array.} a\n * @param {Float32Array|Array.} v\n */\n\n\nfunction translate(out, a, v) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n out[4] = a[4] + v[0];\n out[5] = a[5] + v[1];\n return out;\n}\n/**\n * 旋转变换\n * @param {Float32Array|Array.} out\n * @param {Float32Array|Array.} a\n * @param {number} rad\n */\n\n\nfunction rotate(out, a, rad) {\n var aa = a[0];\n var ac = a[2];\n var atx = a[4];\n var ab = a[1];\n var ad = a[3];\n var aty = a[5];\n var st = Math.sin(rad);\n var ct = Math.cos(rad);\n out[0] = aa * ct + ab * st;\n out[1] = -aa * st + ab * ct;\n out[2] = ac * ct + ad * st;\n out[3] = -ac * st + ct * ad;\n out[4] = ct * atx + st * aty;\n out[5] = ct * aty - st * atx;\n return out;\n}\n/**\n * 缩放变换\n * @param {Float32Array|Array.} out\n * @param {Float32Array|Array.} a\n * @param {Float32Array|Array.} v\n */\n\n\nfunction scale(out, a, v) {\n var vx = v[0];\n var vy = v[1];\n out[0] = a[0] * vx;\n out[1] = a[1] * vy;\n out[2] = a[2] * vx;\n out[3] = a[3] * vy;\n out[4] = a[4] * vx;\n out[5] = a[5] * vy;\n return out;\n}\n/**\n * 求逆矩阵\n * @param {Float32Array|Array.} out\n * @param {Float32Array|Array.} a\n */\n\n\nfunction invert(out, a) {\n var aa = a[0];\n var ac = a[2];\n var atx = a[4];\n var ab = a[1];\n var ad = a[3];\n var aty = a[5];\n var det = aa * ad - ab * ac;\n\n if (!det) {\n return null;\n }\n\n det = 1.0 / det;\n out[0] = ad * det;\n out[1] = -ab * det;\n out[2] = -ac * det;\n out[3] = aa * det;\n out[4] = (ac * aty - ad * atx) * det;\n out[5] = (ab * atx - aa * aty) * det;\n return out;\n}\n/**\n * Clone a new matrix.\n * @param {Float32Array|Array.} a\n */\n\n\nfunction clone(a) {\n var b = create();\n copy(b, a);\n return b;\n}\n\nexports.create = create;\nexports.identity = identity;\nexports.copy = copy;\nexports.mul = mul;\nexports.translate = translate;\nexports.rotate = rotate;\nexports.scale = scale;\nexports.invert = invert;\nexports.clone = clone;","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","var uniq = require('./uniq')\r\nvar toArray = require('./toArray')\r\n\r\n/**\r\n * 将多个数的值返回唯一的并集数组\r\n *\r\n * @param {...Array} 数组\r\n * @return {Array}\r\n */\r\nfunction union () {\r\n var args = arguments\r\n var result = []\r\n var index = 0\r\n var len = args.length\r\n for (; index < len; index++) {\r\n result = result.concat(toArray(args[index]))\r\n }\r\n return uniq(result)\r\n}\r\n\r\nmodule.exports = union\r\n","\"use strict\";\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar _exportNames = {\n VXETable: true\n};\nexports.default = exports.VXETable = void 0;\n\nvar _xeUtils = _interopRequireDefault(require(\"xe-utils/methods/xe-utils\"));\n\nvar _interceptor = _interopRequireWildcard(require(\"./src/interceptor\"));\n\nObject.keys(_interceptor).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _interceptor[key];\n }\n });\n});\n\nvar _renderer = _interopRequireWildcard(require(\"./src/renderer\"));\n\nObject.keys(_renderer).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _renderer[key];\n }\n });\n});\n\nvar _buttons = _interopRequireWildcard(require(\"./src/buttons\"));\n\nObject.keys(_buttons).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _buttons[key];\n }\n });\n});\n\nvar _menus = _interopRequireWildcard(require(\"./src/menus\"));\n\nObject.keys(_menus).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _menus[key];\n }\n });\n});\n\nvar _setup = _interopRequireDefault(require(\"./src/setup\"));\n\nvar _conf = _interopRequireDefault(require(\"../conf\"));\n\nvar _tools = require(\"../tools\");\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar installedPlugins = [];\n\nfunction use(Plugin, options) {\n if (Plugin && Plugin.install) {\n if (installedPlugins.indexOf(Plugin) === -1) {\n Plugin.install(VXETable, options);\n installedPlugins.push(Plugin);\n }\n }\n\n return VXETable;\n}\n/**\n * 检测模块的安装顺序是否正确\n */\n\n\nfunction reg(key) {\n if (VXETable.Table) {\n _tools.UtilTools.error('plx.error.useErr', [key]);\n }\n\n VXETable[\"_\".concat(key)] = 1;\n}\n\nvar VXETable = {\n t: function t(key) {\n return _conf.default.i18n(key);\n },\n v: 'v2',\n reg: reg,\n use: use,\n types: {},\n setup: _setup.default,\n interceptor: _interceptor.default,\n renderer: _renderer.default,\n buttons: _buttons.default,\n menus: _menus.default\n};\n/**\n * 获取当前的 zIndex\n */\n\nexports.VXETable = VXETable;\nObject.defineProperty(VXETable, 'zIndex', {\n get: _tools.UtilTools.getLastZIndex\n});\n/**\n * 获取下一个 zIndex\n */\n\nObject.defineProperty(VXETable, 'nextZIndex', {\n get: _tools.UtilTools.nextZIndex\n});\n/**\n * 获取所有导出类型\n */\n\nObject.defineProperty(VXETable, 'exportTypes', {\n get: function get() {\n return Object.keys(VXETable.types);\n }\n});\n/**\n * 获取所有导入类型\n */\n\nObject.defineProperty(VXETable, 'importTypes', {\n get: function get() {\n var rest = [];\n\n _xeUtils.default.each(VXETable.types, function (flag, type) {\n if (flag) {\n rest.push(type);\n }\n });\n\n return rest;\n }\n});\nvar _default = VXETable;\nexports.default = _default;","\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\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar axisDefault = require(\"../axisDefault\");\n\nvar Model = require(\"../../model/Model\");\n\nvar axisModelCommonMixin = require(\"../axisModelCommonMixin\");\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*/\nvar valueAxisDefault = axisDefault.valueAxis;\n\nfunction defaultsShow(opt, show) {\n return zrUtil.defaults({\n show: show\n }, opt);\n}\n\nvar RadarModel = echarts.extendComponentModel({\n type: 'radar',\n optionUpdated: function () {\n var boundaryGap = this.get('boundaryGap');\n var splitNumber = this.get('splitNumber');\n var scale = this.get('scale');\n var axisLine = this.get('axisLine');\n var axisTick = this.get('axisTick');\n var axisType = this.get('axisType');\n var axisLabel = this.get('axisLabel');\n var nameTextStyle = this.get('name');\n var showName = this.get('name.show');\n var nameFormatter = this.get('name.formatter');\n var nameGap = this.get('nameGap');\n var triggerEvent = this.get('triggerEvent');\n var indicatorModels = zrUtil.map(this.get('indicator') || [], function (indicatorOpt) {\n // PENDING\n if (indicatorOpt.max != null && indicatorOpt.max > 0 && !indicatorOpt.min) {\n indicatorOpt.min = 0;\n } else if (indicatorOpt.min != null && indicatorOpt.min < 0 && !indicatorOpt.max) {\n indicatorOpt.max = 0;\n }\n\n var iNameTextStyle = nameTextStyle;\n\n if (indicatorOpt.color != null) {\n iNameTextStyle = zrUtil.defaults({\n color: indicatorOpt.color\n }, nameTextStyle);\n } // Use same configuration\n\n\n indicatorOpt = zrUtil.merge(zrUtil.clone(indicatorOpt), {\n boundaryGap: boundaryGap,\n splitNumber: splitNumber,\n scale: scale,\n axisLine: axisLine,\n axisTick: axisTick,\n axisType: axisType,\n axisLabel: axisLabel,\n // Compatible with 2 and use text\n name: indicatorOpt.text,\n nameLocation: 'end',\n nameGap: nameGap,\n // min: 0,\n nameTextStyle: iNameTextStyle,\n triggerEvent: triggerEvent\n }, false);\n\n if (!showName) {\n indicatorOpt.name = '';\n }\n\n if (typeof nameFormatter === 'string') {\n var indName = indicatorOpt.name;\n indicatorOpt.name = nameFormatter.replace('{value}', indName != null ? indName : '');\n } else if (typeof nameFormatter === 'function') {\n indicatorOpt.name = nameFormatter(indicatorOpt.name, indicatorOpt);\n }\n\n var model = zrUtil.extend(new Model(indicatorOpt, null, this.ecModel), axisModelCommonMixin); // For triggerEvent.\n\n model.mainType = 'radar';\n model.componentIndex = this.componentIndex;\n return model;\n }, this);\n\n this.getIndicatorModels = function () {\n return indicatorModels;\n };\n },\n defaultOption: {\n zlevel: 0,\n z: 0,\n center: ['50%', '50%'],\n radius: '75%',\n startAngle: 90,\n name: {\n show: true // formatter: null\n // textStyle: {}\n\n },\n boundaryGap: [0, 0],\n splitNumber: 5,\n nameGap: 15,\n scale: false,\n // Polygon or circle\n shape: 'polygon',\n axisLine: zrUtil.merge({\n lineStyle: {\n color: '#bbb'\n }\n }, valueAxisDefault.axisLine),\n axisLabel: defaultsShow(valueAxisDefault.axisLabel, false),\n axisTick: defaultsShow(valueAxisDefault.axisTick, false),\n axisType: 'interval',\n splitLine: defaultsShow(valueAxisDefault.splitLine, true),\n splitArea: defaultsShow(valueAxisDefault.splitArea, true),\n // {text, min, max}\n indicator: []\n }\n});\nvar _default = RadarModel;\nmodule.exports = _default;","\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* 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*/\nvar coordsOffsetMap = {\n '南海诸岛': [32, 80],\n // 全国\n '广东': [0, -10],\n '香港': [10, 5],\n '澳门': [-10, 10],\n //'北京': [-10, 0],\n '天津': [5, 5]\n};\n\nfunction _default(mapType, region) {\n if (mapType === 'china') {\n var coordFix = coordsOffsetMap[region.name];\n\n if (coordFix) {\n var cp = region.center;\n cp[0] += coordFix[0] / 10.5;\n cp[1] += -coordFix[1] / (10.5 / 0.75);\n }\n }\n}\n\nmodule.exports = _default;","\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\nvar BaseBarSeries = require(\"./BaseBarSeries\");\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*/\nvar _default = BaseBarSeries.extend({\n type: 'series.bar',\n dependencies: ['grid', 'polar'],\n brushSelector: 'rect',\n\n /**\n * @override\n */\n getProgressive: function () {\n // Do not support progressive in normal mode.\n return this.get('large') ? this.get('progressive') : false;\n },\n\n /**\n * @override\n */\n getProgressiveThreshold: function () {\n // Do not support progressive in normal mode.\n var progressiveThreshold = this.get('progressiveThreshold');\n var largeThreshold = this.get('largeThreshold');\n\n if (largeThreshold > progressiveThreshold) {\n progressiveThreshold = largeThreshold;\n }\n\n return progressiveThreshold;\n },\n defaultOption: {\n // If clipped\n // Only available on cartesian2d\n clip: true,\n // If use caps on two sides of bars\n // Only available on tangential polar bar\n roundCap: false,\n showBackground: false,\n backgroundStyle: {\n color: 'rgba(180, 180, 180, 0.2)',\n borderColor: null,\n borderWidth: 0,\n borderType: 'solid',\n borderRadius: 0,\n shadowBlur: 0,\n shadowColor: null,\n shadowOffsetX: 0,\n shadowOffsetY: 0,\n opacity: 1\n }\n }\n});\n\nmodule.exports = _default;","\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\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar env = require(\"zrender/lib/core/env\");\n\nvar _model = require(\"../../util/model\");\n\nvar makeInner = _model.makeInner;\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*/\nvar inner = makeInner();\nvar each = zrUtil.each;\n/**\n * @param {string} key\n * @param {module:echarts/ExtensionAPI} api\n * @param {Function} handler\n * param: {string} currTrigger\n * param: {Array.} point\n */\n\nfunction register(key, api, handler) {\n if (env.node) {\n return;\n }\n\n var zr = api.getZr();\n inner(zr).records || (inner(zr).records = {});\n initGlobalListeners(zr, api);\n var record = inner(zr).records[key] || (inner(zr).records[key] = {});\n record.handler = handler;\n}\n\nfunction initGlobalListeners(zr, api) {\n if (inner(zr).initialized) {\n return;\n }\n\n inner(zr).initialized = true;\n useHandler('click', zrUtil.curry(doEnter, 'click'));\n useHandler('mousemove', zrUtil.curry(doEnter, 'mousemove')); // useHandler('mouseout', onLeave);\n\n useHandler('globalout', onLeave);\n\n function useHandler(eventType, cb) {\n zr.on(eventType, function (e) {\n var dis = makeDispatchAction(api);\n each(inner(zr).records, function (record) {\n record && cb(record, e, dis.dispatchAction);\n });\n dispatchTooltipFinally(dis.pendings, api);\n });\n }\n}\n\nfunction dispatchTooltipFinally(pendings, api) {\n var showLen = pendings.showTip.length;\n var hideLen = pendings.hideTip.length;\n var actuallyPayload;\n\n if (showLen) {\n actuallyPayload = pendings.showTip[showLen - 1];\n } else if (hideLen) {\n actuallyPayload = pendings.hideTip[hideLen - 1];\n }\n\n if (actuallyPayload) {\n actuallyPayload.dispatchAction = null;\n api.dispatchAction(actuallyPayload);\n }\n}\n\nfunction onLeave(record, e, dispatchAction) {\n record.handler('leave', null, dispatchAction);\n}\n\nfunction doEnter(currTrigger, record, e, dispatchAction) {\n record.handler(currTrigger, e, dispatchAction);\n}\n\nfunction makeDispatchAction(api) {\n var pendings = {\n showTip: [],\n hideTip: []\n }; // FIXME\n // better approach?\n // 'showTip' and 'hideTip' can be triggered by axisPointer and tooltip,\n // which may be conflict, (axisPointer call showTip but tooltip call hideTip);\n // So we have to add \"final stage\" to merge those dispatched actions.\n\n var dispatchAction = function (payload) {\n var pendingList = pendings[payload.type];\n\n if (pendingList) {\n pendingList.push(payload);\n } else {\n payload.dispatchAction = dispatchAction;\n api.dispatchAction(payload);\n }\n };\n\n return {\n dispatchAction: dispatchAction,\n pendings: pendings\n };\n}\n/**\n * @param {string} key\n * @param {module:echarts/ExtensionAPI} api\n */\n\n\nfunction unregister(key, api) {\n if (env.node) {\n return;\n }\n\n var zr = api.getZr();\n var record = (inner(zr).records || {})[key];\n\n if (record) {\n inner(zr).records[key] = null;\n }\n}\n\nexports.register = register;\nexports.unregister = unregister;","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };","/**\r\n * 判断是否为Null\r\n *\r\n * @param {Object} obj 对象\r\n * @return {Boolean}\r\n */\r\nfunction isNull (obj) {\r\n return obj === null\r\n}\r\n\r\nmodule.exports = isNull\r\n","var keys = require('./keys')\r\nvar findIndexOf = require('./findIndexOf')\r\nvar isEqual = require('./isEqual')\r\n\r\nvar some = require('../array/some')\r\nvar includeArrays = require('../array/includeArrays')\r\n\r\n/**\r\n * 判断属性中的键和值是否包含在对象中\r\n *\r\n * @param {Object/Array} obj 对象\r\n * @param {Object} source 值\r\n * @return {Boolean}\r\n */\r\nfunction isMatch (obj, source) {\r\n var objKeys = keys(obj)\r\n var sourceKeys = keys(source)\r\n if (sourceKeys.length) {\r\n if (includeArrays(objKeys, sourceKeys)) {\r\n return some(sourceKeys, function (key2) {\r\n return findIndexOf(objKeys, function (key1) {\r\n return key1 === key2 && isEqual(obj[key1], source[key2])\r\n }) > -1\r\n })\r\n }\r\n } else {\r\n return true\r\n }\r\n return isEqual(obj, source)\r\n}\r\n\r\nmodule.exports = isMatch\r\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\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Scale = require(\"./Scale\");\n\nvar OrdinalMeta = require(\"../data/OrdinalMeta\");\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 * Linear continuous scale\n * @module echarts/coord/scale/Ordinal\n *\n * http://en.wikipedia.org/wiki/Level_of_measurement\n */\n// FIXME only one data\nvar scaleProto = Scale.prototype;\nvar OrdinalScale = Scale.extend({\n type: 'ordinal',\n\n /**\n * @param {module:echarts/data/OrdianlMeta|Array.} ordinalMeta\n */\n init: function (ordinalMeta, extent) {\n // Caution: Should not use instanceof, consider ec-extensions using\n // import approach to get OrdinalMeta class.\n if (!ordinalMeta || zrUtil.isArray(ordinalMeta)) {\n ordinalMeta = new OrdinalMeta({\n categories: ordinalMeta\n });\n }\n\n this._ordinalMeta = ordinalMeta;\n this._extent = extent || [0, ordinalMeta.categories.length - 1];\n },\n parse: function (val) {\n return typeof val === 'string' ? this._ordinalMeta.getOrdinal(val) // val might be float.\n : Math.round(val);\n },\n contain: function (rank) {\n rank = this.parse(rank);\n return scaleProto.contain.call(this, rank) && this._ordinalMeta.categories[rank] != null;\n },\n\n /**\n * Normalize given rank or name to linear [0, 1]\n * @param {number|string} [val]\n * @return {number}\n */\n normalize: function (val) {\n return scaleProto.normalize.call(this, this.parse(val));\n },\n scale: function (val) {\n return Math.round(scaleProto.scale.call(this, val));\n },\n\n /**\n * @return {Array}\n */\n getTicks: function () {\n var ticks = [];\n var extent = this._extent;\n var rank = extent[0];\n\n while (rank <= extent[1]) {\n ticks.push(rank);\n rank++;\n }\n\n return ticks;\n },\n\n /**\n * Get item on rank n\n * @param {number} n\n * @return {string}\n */\n getLabel: function (n) {\n if (!this.isBlank()) {\n // Note that if no data, ordinalMeta.categories is an empty array.\n return this._ordinalMeta.categories[n];\n }\n },\n\n /**\n * @return {number}\n */\n count: function () {\n return this._extent[1] - this._extent[0] + 1;\n },\n\n /**\n * @override\n */\n unionExtentFromData: function (data, dim) {\n this.unionExtent(data.getApproximateExtent(dim));\n },\n getOrdinalMeta: function () {\n return this._ordinalMeta;\n },\n niceTicks: zrUtil.noop,\n niceExtent: zrUtil.noop\n});\n/**\n * @return {module:echarts/scale/Time}\n */\n\nOrdinalScale.create = function () {\n return new OrdinalScale();\n};\n\nvar _default = OrdinalScale;\nmodule.exports = _default;","var isFunction = require('./isFunction')\r\nvar isString = require('./isString')\r\nvar isArray = require('./isArray')\r\nvar hasOwnProp = require('./hasOwnProp')\r\n\r\nfunction helperCreateiterateIndexOf (callback) {\r\n return function (obj, iterate, context) {\r\n if (obj && isFunction(iterate)) {\r\n if (isArray(obj) || isString(obj)) {\r\n return callback(obj, iterate, context)\r\n }\r\n for (var key in obj) {\r\n if (hasOwnProp(obj, key)) {\r\n if (iterate.call(context, obj[key], key, obj)) {\r\n return key\r\n }\r\n }\r\n }\r\n }\r\n return -1\r\n }\r\n}\r\n\r\nmodule.exports = helperCreateiterateIndexOf\r\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.Edit = void 0;\n\nvar _table = _interopRequireDefault(require(\"../table\"));\n\nvar _mixin = _interopRequireDefault(require(\"./src/mixin\"));\n\nvar _vXETable = _interopRequireDefault(require(\"../v-x-e-table\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Edit = {\n install: function install() {\n _vXETable.default.reg('edit');\n\n _table.default.mixins.push(_mixin.default);\n }\n};\nexports.Edit = Edit;\nvar _default = Edit;\nexports.default = _default;","var shuffle = require('./shuffle')\r\n\r\n/**\r\n * 从一个数组中随机返回几个元素\r\n *\r\n * @param {Array} array 数组\r\n * @param {Number} number 个数\r\n * @return {Array}\r\n */\r\nfunction sample (array, number) {\r\n var result = shuffle(array)\r\n if (arguments.length <= 1) {\r\n return result[0]\r\n }\r\n if (number < result.length) {\r\n result.length = number || 0\r\n }\r\n return result\r\n}\r\n\r\nmodule.exports = sample\r\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\nvar MarkerModel = require(\"./MarkerModel\");\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*/\nvar _default = MarkerModel.extend({\n type: 'markLine',\n defaultOption: {\n zlevel: 0,\n z: 5,\n symbol: ['circle', 'arrow'],\n symbolSize: [8, 16],\n //symbolRotate: 0,\n precision: 2,\n tooltip: {\n trigger: 'item'\n },\n label: {\n show: true,\n position: 'end',\n distance: 5\n },\n lineStyle: {\n type: 'dashed'\n },\n emphasis: {\n label: {\n show: true\n },\n lineStyle: {\n width: 3\n }\n },\n animationEasing: 'linear'\n }\n});\n\nmodule.exports = _default;","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\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*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar ChartView = require(\"../../view/Chart\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar Path = require(\"zrender/lib/graphic/Path\");\n\nvar _createClipPathFromCoordSys = require(\"../helper/createClipPathFromCoordSys\");\n\nvar createClipPath = _createClipPathFromCoordSys.createClipPath;\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*/\nvar NORMAL_ITEM_STYLE_PATH = ['itemStyle'];\nvar EMPHASIS_ITEM_STYLE_PATH = ['emphasis', 'itemStyle'];\nvar SKIP_PROPS = ['color', 'color0', 'borderColor', 'borderColor0'];\nvar CandlestickView = ChartView.extend({\n type: 'candlestick',\n render: function (seriesModel, ecModel, api) {\n // If there is clipPath created in large mode. Remove it.\n this.group.removeClipPath();\n\n this._updateDrawMode(seriesModel);\n\n this._isLargeDraw ? this._renderLarge(seriesModel) : this._renderNormal(seriesModel);\n },\n incrementalPrepareRender: function (seriesModel, ecModel, api) {\n this._clear();\n\n this._updateDrawMode(seriesModel);\n },\n incrementalRender: function (params, seriesModel, ecModel, api) {\n this._isLargeDraw ? this._incrementalRenderLarge(params, seriesModel) : this._incrementalRenderNormal(params, seriesModel);\n },\n _updateDrawMode: function (seriesModel) {\n var isLargeDraw = seriesModel.pipelineContext.large;\n\n if (this._isLargeDraw == null || isLargeDraw ^ this._isLargeDraw) {\n this._isLargeDraw = isLargeDraw;\n\n this._clear();\n }\n },\n _renderNormal: function (seriesModel) {\n var data = seriesModel.getData();\n var oldData = this._data;\n var group = this.group;\n var isSimpleBox = data.getLayout('isSimpleBox');\n var needsClip = seriesModel.get('clip', true);\n var coord = seriesModel.coordinateSystem;\n var clipArea = coord.getArea && coord.getArea(); // There is no old data only when first rendering or switching from\n // stream mode to normal mode, where previous elements should be removed.\n\n if (!this._data) {\n group.removeAll();\n }\n\n data.diff(oldData).add(function (newIdx) {\n if (data.hasValue(newIdx)) {\n var el;\n var itemLayout = data.getItemLayout(newIdx);\n\n if (needsClip && isNormalBoxClipped(clipArea, itemLayout)) {\n return;\n }\n\n el = createNormalBox(itemLayout, newIdx, true);\n graphic.initProps(el, {\n shape: {\n points: itemLayout.ends\n }\n }, seriesModel, newIdx);\n setBoxCommon(el, data, newIdx, isSimpleBox);\n group.add(el);\n data.setItemGraphicEl(newIdx, el);\n }\n }).update(function (newIdx, oldIdx) {\n var el = oldData.getItemGraphicEl(oldIdx); // Empty data\n\n if (!data.hasValue(newIdx)) {\n group.remove(el);\n return;\n }\n\n var itemLayout = data.getItemLayout(newIdx);\n\n if (needsClip && isNormalBoxClipped(clipArea, itemLayout)) {\n group.remove(el);\n return;\n }\n\n if (!el) {\n el = createNormalBox(itemLayout, newIdx);\n } else {\n graphic.updateProps(el, {\n shape: {\n points: itemLayout.ends\n }\n }, seriesModel, newIdx);\n }\n\n setBoxCommon(el, data, newIdx, isSimpleBox);\n group.add(el);\n data.setItemGraphicEl(newIdx, el);\n }).remove(function (oldIdx) {\n var el = oldData.getItemGraphicEl(oldIdx);\n el && group.remove(el);\n }).execute();\n this._data = data;\n },\n _renderLarge: function (seriesModel) {\n this._clear();\n\n createLarge(seriesModel, this.group);\n var clipPath = seriesModel.get('clip', true) ? createClipPath(seriesModel.coordinateSystem, false, seriesModel) : null;\n\n if (clipPath) {\n this.group.setClipPath(clipPath);\n } else {\n this.group.removeClipPath();\n }\n },\n _incrementalRenderNormal: function (params, seriesModel) {\n var data = seriesModel.getData();\n var isSimpleBox = data.getLayout('isSimpleBox');\n var dataIndex;\n\n while ((dataIndex = params.next()) != null) {\n var el;\n var itemLayout = data.getItemLayout(dataIndex);\n el = createNormalBox(itemLayout, dataIndex);\n setBoxCommon(el, data, dataIndex, isSimpleBox);\n el.incremental = true;\n this.group.add(el);\n }\n },\n _incrementalRenderLarge: function (params, seriesModel) {\n createLarge(seriesModel, this.group, true);\n },\n remove: function (ecModel) {\n this._clear();\n },\n _clear: function () {\n this.group.removeAll();\n this._data = null;\n },\n dispose: zrUtil.noop\n});\nvar NormalBoxPath = Path.extend({\n type: 'normalCandlestickBox',\n shape: {},\n buildPath: function (ctx, shape) {\n var ends = shape.points;\n\n if (this.__simpleBox) {\n ctx.moveTo(ends[4][0], ends[4][1]);\n ctx.lineTo(ends[6][0], ends[6][1]);\n } else {\n ctx.moveTo(ends[0][0], ends[0][1]);\n ctx.lineTo(ends[1][0], ends[1][1]);\n ctx.lineTo(ends[2][0], ends[2][1]);\n ctx.lineTo(ends[3][0], ends[3][1]);\n ctx.closePath();\n ctx.moveTo(ends[4][0], ends[4][1]);\n ctx.lineTo(ends[5][0], ends[5][1]);\n ctx.moveTo(ends[6][0], ends[6][1]);\n ctx.lineTo(ends[7][0], ends[7][1]);\n }\n }\n});\n\nfunction createNormalBox(itemLayout, dataIndex, isInit) {\n var ends = itemLayout.ends;\n return new NormalBoxPath({\n shape: {\n points: isInit ? transInit(ends, itemLayout) : ends\n },\n z2: 100\n });\n}\n\nfunction isNormalBoxClipped(clipArea, itemLayout) {\n var clipped = true;\n\n for (var i = 0; i < itemLayout.ends.length; i++) {\n // If any point are in the region.\n if (clipArea.contain(itemLayout.ends[i][0], itemLayout.ends[i][1])) {\n clipped = false;\n break;\n }\n }\n\n return clipped;\n}\n\nfunction setBoxCommon(el, data, dataIndex, isSimpleBox) {\n var itemModel = data.getItemModel(dataIndex);\n var normalItemStyleModel = itemModel.getModel(NORMAL_ITEM_STYLE_PATH);\n var color = data.getItemVisual(dataIndex, 'color');\n var borderColor = data.getItemVisual(dataIndex, 'borderColor') || color; // Color must be excluded.\n // Because symbol provide setColor individually to set fill and stroke\n\n var itemStyle = normalItemStyleModel.getItemStyle(SKIP_PROPS);\n el.useStyle(itemStyle);\n el.style.strokeNoScale = true;\n el.style.fill = color;\n el.style.stroke = borderColor;\n el.__simpleBox = isSimpleBox;\n var hoverStyle = itemModel.getModel(EMPHASIS_ITEM_STYLE_PATH).getItemStyle();\n graphic.setHoverStyle(el, hoverStyle);\n}\n\nfunction transInit(points, itemLayout) {\n return zrUtil.map(points, function (point) {\n point = point.slice();\n point[1] = itemLayout.initBaseline;\n return point;\n });\n}\n\nvar LargeBoxPath = Path.extend({\n type: 'largeCandlestickBox',\n shape: {},\n buildPath: function (ctx, shape) {\n // Drawing lines is more efficient than drawing\n // a whole line or drawing rects.\n var points = shape.points;\n\n for (var i = 0; i < points.length;) {\n if (this.__sign === points[i++]) {\n var x = points[i++];\n ctx.moveTo(x, points[i++]);\n ctx.lineTo(x, points[i++]);\n } else {\n i += 3;\n }\n }\n }\n});\n\nfunction createLarge(seriesModel, group, incremental) {\n var data = seriesModel.getData();\n var largePoints = data.getLayout('largePoints');\n var elP = new LargeBoxPath({\n shape: {\n points: largePoints\n },\n __sign: 1\n });\n group.add(elP);\n var elN = new LargeBoxPath({\n shape: {\n points: largePoints\n },\n __sign: -1\n });\n group.add(elN);\n setLargeStyle(1, elP, seriesModel, data);\n setLargeStyle(-1, elN, seriesModel, data);\n\n if (incremental) {\n elP.incremental = true;\n elN.incremental = true;\n }\n}\n\nfunction setLargeStyle(sign, el, seriesModel, data) {\n var suffix = sign > 0 ? 'P' : 'N';\n var borderColor = data.getVisual('borderColor' + suffix) || data.getVisual('color' + suffix); // Color must be excluded.\n // Because symbol provide setColor individually to set fill and stroke\n\n var itemStyle = seriesModel.getModel(NORMAL_ITEM_STYLE_PATH).getItemStyle(SKIP_PROPS);\n el.useStyle(itemStyle);\n el.style.fill = null;\n el.style.stroke = borderColor; // No different\n // el.style.lineWidth = .5;\n}\n\nvar _default = CandlestickView;\nmodule.exports = _default;","var zrUtil = require(\"../core/util\");\n\nvar Style = require(\"./Style\");\n\nvar Element = require(\"../Element\");\n\nvar RectText = require(\"./mixin/RectText\");\n\n/**\n * Base class of all displayable graphic objects\n * @module zrender/graphic/Displayable\n */\n\n/**\n * @alias module:zrender/graphic/Displayable\n * @extends module:zrender/Element\n * @extends module:zrender/graphic/mixin/RectText\n */\nfunction Displayable(opts) {\n opts = opts || {};\n Element.call(this, opts); // Extend properties\n\n for (var name in opts) {\n if (opts.hasOwnProperty(name) && name !== 'style') {\n this[name] = opts[name];\n }\n }\n /**\n * @type {module:zrender/graphic/Style}\n */\n\n\n this.style = new Style(opts.style, this);\n this._rect = null; // Shapes for cascade clipping.\n // Can only be `null`/`undefined` or an non-empty array, MUST NOT be an empty array.\n // because it is easy to only using null to check whether clipPaths changed.\n\n this.__clipPaths = null; // FIXME Stateful must be mixined after style is setted\n // Stateful.call(this, opts);\n}\n\nDisplayable.prototype = {\n constructor: Displayable,\n type: 'displayable',\n\n /**\n * Dirty flag. From which painter will determine if this displayable object needs brush.\n * @name module:zrender/graphic/Displayable#__dirty\n * @type {boolean}\n */\n __dirty: true,\n\n /**\n * Whether the displayable object is visible. when it is true, the displayable object\n * is not drawn, but the mouse event can still trigger the object.\n * @name module:/zrender/graphic/Displayable#invisible\n * @type {boolean}\n * @default false\n */\n invisible: false,\n\n /**\n * @name module:/zrender/graphic/Displayable#z\n * @type {number}\n * @default 0\n */\n z: 0,\n\n /**\n * @name module:/zrender/graphic/Displayable#z\n * @type {number}\n * @default 0\n */\n z2: 0,\n\n /**\n * The z level determines the displayable object can be drawn in which layer canvas.\n * @name module:/zrender/graphic/Displayable#zlevel\n * @type {number}\n * @default 0\n */\n zlevel: 0,\n\n /**\n * Whether it can be dragged.\n * @name module:/zrender/graphic/Displayable#draggable\n * @type {boolean}\n * @default false\n */\n draggable: false,\n\n /**\n * Whether is it dragging.\n * @name module:/zrender/graphic/Displayable#draggable\n * @type {boolean}\n * @default false\n */\n dragging: false,\n\n /**\n * Whether to respond to mouse events.\n * @name module:/zrender/graphic/Displayable#silent\n * @type {boolean}\n * @default false\n */\n silent: false,\n\n /**\n * If enable culling\n * @type {boolean}\n * @default false\n */\n culling: false,\n\n /**\n * Mouse cursor when hovered\n * @name module:/zrender/graphic/Displayable#cursor\n * @type {string}\n */\n cursor: 'pointer',\n\n /**\n * If hover area is bounding rect\n * @name module:/zrender/graphic/Displayable#rectHover\n * @type {string}\n */\n rectHover: false,\n\n /**\n * Render the element progressively when the value >= 0,\n * usefull for large data.\n * @type {boolean}\n */\n progressive: false,\n\n /**\n * @type {boolean}\n */\n incremental: false,\n\n /**\n * Scale ratio for global scale.\n * @type {boolean}\n */\n globalScaleRatio: 1,\n beforeBrush: function (ctx) {},\n afterBrush: function (ctx) {},\n\n /**\n * Graphic drawing method.\n * @param {CanvasRenderingContext2D} ctx\n */\n // Interface\n brush: function (ctx, prevEl) {},\n\n /**\n * Get the minimum bounding box.\n * @return {module:zrender/core/BoundingRect}\n */\n // Interface\n getBoundingRect: function () {},\n\n /**\n * If displayable element contain coord x, y\n * @param {number} x\n * @param {number} y\n * @return {boolean}\n */\n contain: function (x, y) {\n return this.rectContain(x, y);\n },\n\n /**\n * @param {Function} cb\n * @param {} context\n */\n traverse: function (cb, context) {\n cb.call(context, this);\n },\n\n /**\n * If bounding rect of element contain coord x, y\n * @param {number} x\n * @param {number} y\n * @return {boolean}\n */\n rectContain: function (x, y) {\n var coord = this.transformCoordToLocal(x, y);\n var rect = this.getBoundingRect();\n return rect.contain(coord[0], coord[1]);\n },\n\n /**\n * Mark displayable element dirty and refresh next frame\n */\n dirty: function () {\n this.__dirty = this.__dirtyText = true;\n this._rect = null;\n this.__zr && this.__zr.refresh();\n },\n\n /**\n * If displayable object binded any event\n * @return {boolean}\n */\n // TODO, events bound by bind\n // isSilent: function () {\n // return !(\n // this.hoverable || this.draggable\n // || this.onmousemove || this.onmouseover || this.onmouseout\n // || this.onmousedown || this.onmouseup || this.onclick\n // || this.ondragenter || this.ondragover || this.ondragleave\n // || this.ondrop\n // );\n // },\n\n /**\n * Alias for animate('style')\n * @param {boolean} loop\n */\n animateStyle: function (loop) {\n return this.animate('style', loop);\n },\n attrKV: function (key, value) {\n if (key !== 'style') {\n Element.prototype.attrKV.call(this, key, value);\n } else {\n this.style.set(value);\n }\n },\n\n /**\n * @param {Object|string} key\n * @param {*} value\n */\n setStyle: function (key, value) {\n this.style.set(key, value);\n this.dirty(false);\n return this;\n },\n\n /**\n * Use given style object\n * @param {Object} obj\n */\n useStyle: function (obj) {\n this.style = new Style(obj, this);\n this.dirty(false);\n return this;\n },\n\n /**\n * The string value of `textPosition` needs to be calculated to a real postion.\n * For example, `'inside'` is calculated to `[rect.width/2, rect.height/2]`\n * by default. See `contain/text.js#calculateTextPosition` for more details.\n * But some coutom shapes like \"pin\", \"flag\" have center that is not exactly\n * `[width/2, height/2]`. So we provide this hook to customize the calculation\n * for those shapes. It will be called if the `style.textPosition` is a string.\n * @param {Obejct} [out] Prepared out object. If not provided, this method should\n * be responsible for creating one.\n * @param {module:zrender/graphic/Style} style\n * @param {Object} rect {x, y, width, height}\n * @return {Obejct} out The same as the input out.\n * {\n * x: number. mandatory.\n * y: number. mandatory.\n * textAlign: string. optional. use style.textAlign by default.\n * textVerticalAlign: string. optional. use style.textVerticalAlign by default.\n * }\n */\n calculateTextPosition: null\n};\nzrUtil.inherits(Displayable, Element);\nzrUtil.mixin(Displayable, RectText); // zrUtil.mixin(Displayable, Stateful);\n\nvar _default = Displayable;\nmodule.exports = _default;","\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\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar ChartView = require(\"../../view/Chart\");\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 * @param {module:echarts/model/Series} seriesModel\n * @param {boolean} hasAnimation\n * @inner\n */\nfunction updateDataSelected(uid, seriesModel, hasAnimation, api) {\n var data = seriesModel.getData();\n var dataIndex = this.dataIndex;\n var name = data.getName(dataIndex);\n var selectedOffset = seriesModel.get('selectedOffset');\n api.dispatchAction({\n type: 'pieToggleSelect',\n from: uid,\n name: name,\n seriesId: seriesModel.id\n });\n data.each(function (idx) {\n toggleItemSelected(data.getItemGraphicEl(idx), data.getItemLayout(idx), seriesModel.isSelected(data.getName(idx)), selectedOffset, hasAnimation);\n });\n}\n/**\n * @param {module:zrender/graphic/Sector} el\n * @param {Object} layout\n * @param {boolean} isSelected\n * @param {number} selectedOffset\n * @param {boolean} hasAnimation\n * @inner\n */\n\n\nfunction toggleItemSelected(el, layout, isSelected, selectedOffset, hasAnimation) {\n var midAngle = (layout.startAngle + layout.endAngle) / 2;\n var dx = Math.cos(midAngle);\n var dy = Math.sin(midAngle);\n var offset = isSelected ? selectedOffset : 0;\n var position = [dx * offset, dy * offset];\n hasAnimation // animateTo will stop revious animation like update transition\n ? el.animate().when(200, {\n position: position\n }).start('bounceOut') : el.attr('position', position);\n}\n/**\n * Piece of pie including Sector, Label, LabelLine\n * @constructor\n * @extends {module:zrender/graphic/Group}\n */\n\n\nfunction PiePiece(data, idx) {\n graphic.Group.call(this);\n var sector = new graphic.Sector({\n z2: 2\n });\n var polyline = new graphic.Polyline();\n var text = new graphic.Text();\n this.add(sector);\n this.add(polyline);\n this.add(text);\n this.updateData(data, idx, true);\n}\n\nvar piePieceProto = PiePiece.prototype;\n\npiePieceProto.updateData = function (data, idx, firstCreate) {\n var sector = this.childAt(0);\n var labelLine = this.childAt(1);\n var labelText = this.childAt(2);\n var seriesModel = data.hostModel;\n var itemModel = data.getItemModel(idx);\n var layout = data.getItemLayout(idx);\n var sectorShape = zrUtil.extend({}, layout);\n sectorShape.label = null;\n var animationTypeUpdate = seriesModel.getShallow('animationTypeUpdate');\n\n if (firstCreate) {\n sector.setShape(sectorShape);\n var animationType = seriesModel.getShallow('animationType');\n\n if (animationType === 'scale') {\n sector.shape.r = layout.r0;\n graphic.initProps(sector, {\n shape: {\n r: layout.r\n }\n }, seriesModel, idx);\n } // Expansion\n else {\n sector.shape.endAngle = layout.startAngle;\n graphic.updateProps(sector, {\n shape: {\n endAngle: layout.endAngle\n }\n }, seriesModel, idx);\n }\n } else {\n if (animationTypeUpdate === 'expansion') {\n // Sectors are set to be target shape and an overlaying clipPath is used for animation\n sector.setShape(sectorShape);\n } else {\n // Transition animation from the old shape\n graphic.updateProps(sector, {\n shape: sectorShape\n }, seriesModel, idx);\n }\n } // Update common style\n\n\n var visualColor = data.getItemVisual(idx, 'color');\n sector.useStyle(zrUtil.defaults({\n lineJoin: 'bevel',\n fill: visualColor\n }, itemModel.getModel('itemStyle').getItemStyle()));\n sector.hoverStyle = itemModel.getModel('emphasis.itemStyle').getItemStyle();\n var cursorStyle = itemModel.getShallow('cursor');\n cursorStyle && sector.attr('cursor', cursorStyle); // Toggle selected\n\n toggleItemSelected(this, data.getItemLayout(idx), seriesModel.isSelected(data.getName(idx)), seriesModel.get('selectedOffset'), seriesModel.get('animation')); // Label and text animation should be applied only for transition type animation when update\n\n var withAnimation = !firstCreate && animationTypeUpdate === 'transition';\n\n this._updateLabel(data, idx, withAnimation);\n\n this.highDownOnUpdate = !seriesModel.get('silent') ? function (fromState, toState) {\n var hasAnimation = seriesModel.isAnimationEnabled() && itemModel.get('hoverAnimation');\n\n if (toState === 'emphasis') {\n labelLine.ignore = labelLine.hoverIgnore;\n labelText.ignore = labelText.hoverIgnore; // Sector may has animation of updating data. Force to move to the last frame\n // Or it may stopped on the wrong shape\n\n if (hasAnimation) {\n sector.stopAnimation(true);\n sector.animateTo({\n shape: {\n r: layout.r + seriesModel.get('hoverOffset')\n }\n }, 300, 'elasticOut');\n }\n } else {\n labelLine.ignore = labelLine.normalIgnore;\n labelText.ignore = labelText.normalIgnore;\n\n if (hasAnimation) {\n sector.stopAnimation(true);\n sector.animateTo({\n shape: {\n r: layout.r\n }\n }, 300, 'elasticOut');\n }\n }\n } : null;\n graphic.setHoverStyle(this);\n};\n\npiePieceProto._updateLabel = function (data, idx, withAnimation) {\n var labelLine = this.childAt(1);\n var labelText = this.childAt(2);\n var seriesModel = data.hostModel;\n var itemModel = data.getItemModel(idx);\n var layout = data.getItemLayout(idx);\n var labelLayout = layout.label;\n var visualColor = data.getItemVisual(idx, 'color');\n\n if (!labelLayout || isNaN(labelLayout.x) || isNaN(labelLayout.y)) {\n labelText.ignore = labelText.normalIgnore = labelText.hoverIgnore = labelLine.ignore = labelLine.normalIgnore = labelLine.hoverIgnore = true;\n return;\n }\n\n var targetLineShape = {\n points: labelLayout.linePoints || [[labelLayout.x, labelLayout.y], [labelLayout.x, labelLayout.y], [labelLayout.x, labelLayout.y]]\n };\n var targetTextStyle = {\n x: labelLayout.x,\n y: labelLayout.y\n };\n\n if (withAnimation) {\n graphic.updateProps(labelLine, {\n shape: targetLineShape\n }, seriesModel, idx);\n graphic.updateProps(labelText, {\n style: targetTextStyle\n }, seriesModel, idx);\n } else {\n labelLine.attr({\n shape: targetLineShape\n });\n labelText.attr({\n style: targetTextStyle\n });\n }\n\n labelText.attr({\n rotation: labelLayout.rotation,\n origin: [labelLayout.x, labelLayout.y],\n z2: 10\n });\n var labelModel = itemModel.getModel('label');\n var labelHoverModel = itemModel.getModel('emphasis.label');\n var labelLineModel = itemModel.getModel('labelLine');\n var labelLineHoverModel = itemModel.getModel('emphasis.labelLine');\n var visualColor = data.getItemVisual(idx, 'color');\n graphic.setLabelStyle(labelText.style, labelText.hoverStyle = {}, labelModel, labelHoverModel, {\n labelFetcher: data.hostModel,\n labelDataIndex: idx,\n defaultText: labelLayout.text,\n autoColor: visualColor,\n useInsideStyle: !!labelLayout.inside\n }, {\n textAlign: labelLayout.textAlign,\n textVerticalAlign: labelLayout.verticalAlign,\n opacity: data.getItemVisual(idx, 'opacity')\n });\n labelText.ignore = labelText.normalIgnore = !labelModel.get('show');\n labelText.hoverIgnore = !labelHoverModel.get('show');\n labelLine.ignore = labelLine.normalIgnore = !labelLineModel.get('show');\n labelLine.hoverIgnore = !labelLineHoverModel.get('show'); // Default use item visual color\n\n labelLine.setStyle({\n stroke: visualColor,\n opacity: data.getItemVisual(idx, 'opacity')\n });\n labelLine.setStyle(labelLineModel.getModel('lineStyle').getLineStyle());\n labelLine.hoverStyle = labelLineHoverModel.getModel('lineStyle').getLineStyle();\n var smooth = labelLineModel.get('smooth');\n\n if (smooth && smooth === true) {\n smooth = 0.4;\n }\n\n labelLine.setShape({\n smooth: smooth\n });\n};\n\nzrUtil.inherits(PiePiece, graphic.Group); // Pie view\n\nvar PieView = ChartView.extend({\n type: 'pie',\n init: function () {\n var sectorGroup = new graphic.Group();\n this._sectorGroup = sectorGroup;\n },\n render: function (seriesModel, ecModel, api, payload) {\n if (payload && payload.from === this.uid) {\n return;\n }\n\n var data = seriesModel.getData();\n var oldData = this._data;\n var group = this.group;\n var hasAnimation = ecModel.get('animation');\n var isFirstRender = !oldData;\n var animationType = seriesModel.get('animationType');\n var animationTypeUpdate = seriesModel.get('animationTypeUpdate');\n var onSectorClick = zrUtil.curry(updateDataSelected, this.uid, seriesModel, hasAnimation, api);\n var selectedMode = seriesModel.get('selectedMode');\n data.diff(oldData).add(function (idx) {\n var piePiece = new PiePiece(data, idx); // Default expansion animation\n\n if (isFirstRender && animationType !== 'scale') {\n piePiece.eachChild(function (child) {\n child.stopAnimation(true);\n });\n }\n\n selectedMode && piePiece.on('click', onSectorClick);\n data.setItemGraphicEl(idx, piePiece);\n group.add(piePiece);\n }).update(function (newIdx, oldIdx) {\n var piePiece = oldData.getItemGraphicEl(oldIdx);\n\n if (!isFirstRender && animationTypeUpdate !== 'transition') {\n piePiece.eachChild(function (child) {\n child.stopAnimation(true);\n });\n }\n\n piePiece.updateData(data, newIdx);\n piePiece.off('click');\n selectedMode && piePiece.on('click', onSectorClick);\n group.add(piePiece);\n data.setItemGraphicEl(newIdx, piePiece);\n }).remove(function (idx) {\n var piePiece = oldData.getItemGraphicEl(idx);\n group.remove(piePiece);\n }).execute();\n\n if (hasAnimation && data.count() > 0 && (isFirstRender ? animationType !== 'scale' : animationTypeUpdate !== 'transition')) {\n var shape = data.getItemLayout(0);\n\n for (var s = 1; isNaN(shape.startAngle) && s < data.count(); ++s) {\n shape = data.getItemLayout(s);\n }\n\n var r = Math.max(api.getWidth(), api.getHeight()) / 2;\n var removeClipPath = zrUtil.bind(group.removeClipPath, group);\n group.setClipPath(this._createClipPath(shape.cx, shape.cy, r, shape.startAngle, shape.clockwise, removeClipPath, seriesModel, isFirstRender));\n } else {\n // clipPath is used in first-time animation, so remove it when otherwise. See: #8994\n group.removeClipPath();\n }\n\n this._data = data;\n },\n dispose: function () {},\n _createClipPath: function (cx, cy, r, startAngle, clockwise, cb, seriesModel, isFirstRender) {\n var clipPath = new graphic.Sector({\n shape: {\n cx: cx,\n cy: cy,\n r0: 0,\n r: r,\n startAngle: startAngle,\n endAngle: startAngle,\n clockwise: clockwise\n }\n });\n var initOrUpdate = isFirstRender ? graphic.initProps : graphic.updateProps;\n initOrUpdate(clipPath, {\n shape: {\n endAngle: startAngle + (clockwise ? 1 : -1) * Math.PI * 2\n }\n }, seriesModel, cb);\n return clipPath;\n },\n\n /**\n * @implement\n */\n containPoint: function (point, seriesModel) {\n var data = seriesModel.getData();\n var itemLayout = data.getItemLayout(0);\n\n if (itemLayout) {\n var dx = point[0] - itemLayout.cx;\n var dy = point[1] - itemLayout.cy;\n var radius = Math.sqrt(dx * dx + dy * dy);\n return radius <= itemLayout.r && radius >= itemLayout.r0;\n }\n }\n});\nvar _default = PieView;\nmodule.exports = _default;","var helperCreateInInObjectString = require('./helperCreateInInObjectString')\r\n\r\n/**\r\n * 判断是否数组\r\n *\r\n * @param {Object} obj 对象\r\n * @return {Boolean}\r\n */\r\nvar isArray = Array.isArray || helperCreateInInObjectString('Array')\r\n\r\nmodule.exports = isArray\r\n","var helperNumberDecimal = require('./helperNumberDecimal')\r\nvar toNumberString = require('./toNumberString')\r\nvar toNumber = require('./toNumber')\r\nvar toFixed = require('./toFixed')\r\n\r\n/**\r\n * 减法运算\r\n *\r\n * @param { Number } num1 被减数\r\n * @param { Number } num2 减数\r\n * @return {Number}\r\n */\r\nfunction subtract (num1, num2) {\r\n var subtrahend = toNumber(num1)\r\n var minuend = toNumber(num2)\r\n var str1 = toNumberString(subtrahend)\r\n var str2 = toNumberString(minuend)\r\n var digit1 = helperNumberDecimal(str1)\r\n var digit2 = helperNumberDecimal(str2)\r\n var ratio = Math.pow(10, Math.max(digit1, digit2))\r\n var precision = (digit1 >= digit2) ? digit1 : digit2\r\n return parseFloat(toFixed((subtrahend * ratio - minuend * ratio) / ratio, precision))\r\n}\r\n\r\nmodule.exports = subtract\r\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\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*/\n\nvar vec2 = require(\"zrender/lib/core/vector\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _multipleGraphEdgeHelper = require(\"../helper/multipleGraphEdgeHelper\");\n\nvar getCurvenessForEdge = _multipleGraphEdgeHelper.getCurvenessForEdge;\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*/\nfunction simpleLayout(seriesModel) {\n var coordSys = seriesModel.coordinateSystem;\n\n if (coordSys && coordSys.type !== 'view') {\n return;\n }\n\n var graph = seriesModel.getGraph();\n graph.eachNode(function (node) {\n var model = node.getModel();\n node.setLayout([+model.get('x'), +model.get('y')]);\n });\n simpleLayoutEdge(graph, seriesModel);\n}\n\nfunction simpleLayoutEdge(graph, seriesModel) {\n graph.eachEdge(function (edge, index) {\n var curveness = zrUtil.retrieve3(edge.getModel().get('lineStyle.curveness'), -getCurvenessForEdge(edge, seriesModel, index, true), 0);\n var p1 = vec2.clone(edge.node1.getLayout());\n var p2 = vec2.clone(edge.node2.getLayout());\n var points = [p1, p2];\n\n if (+curveness) {\n points.push([(p1[0] + p2[0]) / 2 - (p1[1] - p2[1]) * curveness, (p1[1] + p2[1]) / 2 - (p2[0] - p1[0]) * curveness]);\n }\n\n edge.setLayout(points);\n });\n}\n\nexports.simpleLayout = simpleLayout;\nexports.simpleLayoutEdge = simpleLayoutEdge;","\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\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Polar = require(\"./Polar\");\n\nvar _number = require(\"../../util/number\");\n\nvar parsePercent = _number.parsePercent;\n\nvar _axisHelper = require(\"../../coord/axisHelper\");\n\nvar createScaleByModel = _axisHelper.createScaleByModel;\nvar niceScaleExtent = _axisHelper.niceScaleExtent;\n\nvar CoordinateSystem = require(\"../../CoordinateSystem\");\n\nvar _dataStackHelper = require(\"../../data/helper/dataStackHelper\");\n\nvar getStackedDimension = _dataStackHelper.getStackedDimension;\n\nrequire(\"./PolarModel\");\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// TODO Axis scale\n\n/**\n * Resize method bound to the polar\n * @param {module:echarts/coord/polar/PolarModel} polarModel\n * @param {module:echarts/ExtensionAPI} api\n */\nfunction resizePolar(polar, polarModel, api) {\n var center = polarModel.get('center');\n var width = api.getWidth();\n var height = api.getHeight();\n polar.cx = parsePercent(center[0], width);\n polar.cy = parsePercent(center[1], height);\n var radiusAxis = polar.getRadiusAxis();\n var size = Math.min(width, height) / 2;\n var radius = polarModel.get('radius');\n\n if (radius == null) {\n radius = [0, '100%'];\n } else if (!zrUtil.isArray(radius)) {\n // r0 = 0\n radius = [0, radius];\n }\n\n radius = [parsePercent(radius[0], size), parsePercent(radius[1], size)];\n radiusAxis.inverse ? radiusAxis.setExtent(radius[1], radius[0]) : radiusAxis.setExtent(radius[0], radius[1]);\n}\n/**\n * Update polar\n */\n\n\nfunction updatePolarScale(ecModel, api) {\n var polar = this;\n var angleAxis = polar.getAngleAxis();\n var radiusAxis = polar.getRadiusAxis(); // Reset scale\n\n angleAxis.scale.setExtent(Infinity, -Infinity);\n radiusAxis.scale.setExtent(Infinity, -Infinity);\n ecModel.eachSeries(function (seriesModel) {\n if (seriesModel.coordinateSystem === polar) {\n var data = seriesModel.getData();\n zrUtil.each(data.mapDimension('radius', true), function (dim) {\n radiusAxis.scale.unionExtentFromData(data, getStackedDimension(data, dim));\n });\n zrUtil.each(data.mapDimension('angle', true), function (dim) {\n angleAxis.scale.unionExtentFromData(data, getStackedDimension(data, dim));\n });\n }\n });\n niceScaleExtent(angleAxis.scale, angleAxis.model);\n niceScaleExtent(radiusAxis.scale, radiusAxis.model); // Fix extent of category angle axis\n\n if (angleAxis.type === 'category' && !angleAxis.onBand) {\n var extent = angleAxis.getExtent();\n var diff = 360 / angleAxis.scale.count();\n angleAxis.inverse ? extent[1] += diff : extent[1] -= diff;\n angleAxis.setExtent(extent[0], extent[1]);\n }\n}\n/**\n * Set common axis properties\n * @param {module:echarts/coord/polar/AngleAxis|module:echarts/coord/polar/RadiusAxis}\n * @param {module:echarts/coord/polar/AxisModel}\n * @inner\n */\n\n\nfunction setAxis(axis, axisModel) {\n axis.type = axisModel.get('type');\n axis.scale = createScaleByModel(axisModel);\n axis.onBand = axisModel.get('boundaryGap') && axis.type === 'category';\n axis.inverse = axisModel.get('inverse');\n\n if (axisModel.mainType === 'angleAxis') {\n axis.inverse ^= axisModel.get('clockwise');\n var startAngle = axisModel.get('startAngle');\n axis.setExtent(startAngle, startAngle + (axis.inverse ? -360 : 360));\n } // Inject axis instance\n\n\n axisModel.axis = axis;\n axis.model = axisModel;\n}\n\nvar polarCreator = {\n dimensions: Polar.prototype.dimensions,\n create: function (ecModel, api) {\n var polarList = [];\n ecModel.eachComponent('polar', function (polarModel, idx) {\n var polar = new Polar(idx); // Inject resize and update method\n\n polar.update = updatePolarScale;\n var radiusAxis = polar.getRadiusAxis();\n var angleAxis = polar.getAngleAxis();\n var radiusAxisModel = polarModel.findAxisModel('radiusAxis');\n var angleAxisModel = polarModel.findAxisModel('angleAxis');\n setAxis(radiusAxis, radiusAxisModel);\n setAxis(angleAxis, angleAxisModel);\n resizePolar(polar, polarModel, api);\n polarList.push(polar);\n polarModel.coordinateSystem = polar;\n polar.model = polarModel;\n }); // Inject coordinateSystem to series\n\n ecModel.eachSeries(function (seriesModel) {\n if (seriesModel.get('coordinateSystem') === 'polar') {\n var polarModel = ecModel.queryComponents({\n mainType: 'polar',\n index: seriesModel.get('polarIndex'),\n id: seriesModel.get('polarId')\n })[0];\n seriesModel.coordinateSystem = polarModel.coordinateSystem;\n }\n });\n return polarList;\n }\n};\nCoordinateSystem.register('polar', polarCreator);","var map = require('./map')\r\n\r\nvar isArray = require('../base/isArray')\r\n\r\nfunction deepGetObj (obj, path) {\r\n var index = 0\r\n var len = path.length\r\n while (obj && index < len) {\r\n obj = obj[path[index++]]\r\n }\r\n return len && obj ? obj : 0\r\n}\r\n\r\n/**\r\n * 在list的每个元素上执行方法,任何传递的额外参数都会在调用方法的时候传递给它\r\n *\r\n * @param {Array} list\r\n * @param {Array/String/Function} path\r\n * @param {...Object} arguments\r\n * @return {Array}\r\n */\r\nfunction invoke (list, path) {\r\n var func\r\n var args = arguments\r\n var params = []\r\n var paths = []\r\n var index = 2\r\n var len = args.length\r\n for (; index < len; index++) {\r\n params.push(args[index])\r\n }\r\n if (isArray(path)) {\r\n len = path.length - 1\r\n for (index = 0; index < len; index++) {\r\n paths.push(path[index])\r\n }\r\n path = path[len]\r\n }\r\n return map(list, function (context) {\r\n if (paths.length) {\r\n context = deepGetObj(context, paths)\r\n }\r\n func = context[path] || path\r\n if (func && func.apply) {\r\n return func.apply(context, params)\r\n }\r\n })\r\n}\r\n\r\nmodule.exports = invoke\r\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\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*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _number = require(\"../util/number\");\n\nvar parsePercent = _number.parsePercent;\n\nvar _dataStackHelper = require(\"../data/helper/dataStackHelper\");\n\nvar isDimensionStacked = _dataStackHelper.isDimensionStacked;\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*/\nfunction getSeriesStackId(seriesModel) {\n return seriesModel.get('stack') || '__ec_stack_' + seriesModel.seriesIndex;\n}\n\nfunction getAxisKey(polar, axis) {\n return axis.dim + polar.model.componentIndex;\n}\n/**\n * @param {string} seriesType\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n */\n\n\nfunction barLayoutPolar(seriesType, ecModel, api) {\n var lastStackCoords = {};\n var barWidthAndOffset = calRadialBar(zrUtil.filter(ecModel.getSeriesByType(seriesType), function (seriesModel) {\n return !ecModel.isSeriesFiltered(seriesModel) && seriesModel.coordinateSystem && seriesModel.coordinateSystem.type === 'polar';\n }));\n ecModel.eachSeriesByType(seriesType, function (seriesModel) {\n // Check series coordinate, do layout for polar only\n if (seriesModel.coordinateSystem.type !== 'polar') {\n return;\n }\n\n var data = seriesModel.getData();\n var polar = seriesModel.coordinateSystem;\n var baseAxis = polar.getBaseAxis();\n var axisKey = getAxisKey(polar, baseAxis);\n var stackId = getSeriesStackId(seriesModel);\n var columnLayoutInfo = barWidthAndOffset[axisKey][stackId];\n var columnOffset = columnLayoutInfo.offset;\n var columnWidth = columnLayoutInfo.width;\n var valueAxis = polar.getOtherAxis(baseAxis);\n var cx = seriesModel.coordinateSystem.cx;\n var cy = seriesModel.coordinateSystem.cy;\n var barMinHeight = seriesModel.get('barMinHeight') || 0;\n var barMinAngle = seriesModel.get('barMinAngle') || 0;\n lastStackCoords[stackId] = lastStackCoords[stackId] || [];\n var valueDim = data.mapDimension(valueAxis.dim);\n var baseDim = data.mapDimension(baseAxis.dim);\n var stacked = isDimensionStacked(data, valueDim\n /*, baseDim*/\n );\n var clampLayout = baseAxis.dim !== 'radius' || !seriesModel.get('roundCap', true);\n var valueAxisStart = valueAxis.dim === 'radius' ? valueAxis.dataToRadius(0) : valueAxis.dataToAngle(0);\n\n for (var idx = 0, len = data.count(); idx < len; idx++) {\n var value = data.get(valueDim, idx);\n var baseValue = data.get(baseDim, idx);\n var sign = value >= 0 ? 'p' : 'n';\n var baseCoord = valueAxisStart; // Because of the barMinHeight, we can not use the value in\n // stackResultDimension directly.\n // Only ordinal axis can be stacked.\n\n if (stacked) {\n if (!lastStackCoords[stackId][baseValue]) {\n lastStackCoords[stackId][baseValue] = {\n p: valueAxisStart,\n // Positive stack\n n: valueAxisStart // Negative stack\n\n };\n } // Should also consider #4243\n\n\n baseCoord = lastStackCoords[stackId][baseValue][sign];\n }\n\n var r0;\n var r;\n var startAngle;\n var endAngle; // radial sector\n\n if (valueAxis.dim === 'radius') {\n var radiusSpan = valueAxis.dataToRadius(value) - valueAxisStart;\n var angle = baseAxis.dataToAngle(baseValue);\n\n if (Math.abs(radiusSpan) < barMinHeight) {\n radiusSpan = (radiusSpan < 0 ? -1 : 1) * barMinHeight;\n }\n\n r0 = baseCoord;\n r = baseCoord + radiusSpan;\n startAngle = angle - columnOffset;\n endAngle = startAngle - columnWidth;\n stacked && (lastStackCoords[stackId][baseValue][sign] = r);\n } // tangential sector\n else {\n var angleSpan = valueAxis.dataToAngle(value, clampLayout) - valueAxisStart;\n var radius = baseAxis.dataToRadius(baseValue);\n\n if (Math.abs(angleSpan) < barMinAngle) {\n angleSpan = (angleSpan < 0 ? -1 : 1) * barMinAngle;\n }\n\n r0 = radius + columnOffset;\n r = r0 + columnWidth;\n startAngle = baseCoord;\n endAngle = baseCoord + angleSpan; // if the previous stack is at the end of the ring,\n // add a round to differentiate it from origin\n // var extent = angleAxis.getExtent();\n // var stackCoord = angle;\n // if (stackCoord === extent[0] && value > 0) {\n // stackCoord = extent[1];\n // }\n // else if (stackCoord === extent[1] && value < 0) {\n // stackCoord = extent[0];\n // }\n\n stacked && (lastStackCoords[stackId][baseValue][sign] = endAngle);\n }\n\n data.setItemLayout(idx, {\n cx: cx,\n cy: cy,\n r0: r0,\n r: r,\n // Consider that positive angle is anti-clockwise,\n // while positive radian of sector is clockwise\n startAngle: -startAngle * Math.PI / 180,\n endAngle: -endAngle * Math.PI / 180\n });\n }\n }, this);\n}\n/**\n * Calculate bar width and offset for radial bar charts\n */\n\n\nfunction calRadialBar(barSeries, api) {\n // Columns info on each category axis. Key is polar name\n var columnsMap = {};\n zrUtil.each(barSeries, function (seriesModel, idx) {\n var data = seriesModel.getData();\n var polar = seriesModel.coordinateSystem;\n var baseAxis = polar.getBaseAxis();\n var axisKey = getAxisKey(polar, baseAxis);\n var axisExtent = baseAxis.getExtent();\n var bandWidth = baseAxis.type === 'category' ? baseAxis.getBandWidth() : Math.abs(axisExtent[1] - axisExtent[0]) / data.count();\n var columnsOnAxis = columnsMap[axisKey] || {\n bandWidth: bandWidth,\n remainedWidth: bandWidth,\n autoWidthCount: 0,\n categoryGap: '20%',\n gap: '30%',\n stacks: {}\n };\n var stacks = columnsOnAxis.stacks;\n columnsMap[axisKey] = columnsOnAxis;\n var stackId = getSeriesStackId(seriesModel);\n\n if (!stacks[stackId]) {\n columnsOnAxis.autoWidthCount++;\n }\n\n stacks[stackId] = stacks[stackId] || {\n width: 0,\n maxWidth: 0\n };\n var barWidth = parsePercent(seriesModel.get('barWidth'), bandWidth);\n var barMaxWidth = parsePercent(seriesModel.get('barMaxWidth'), bandWidth);\n var barGap = seriesModel.get('barGap');\n var barCategoryGap = seriesModel.get('barCategoryGap');\n\n if (barWidth && !stacks[stackId].width) {\n barWidth = Math.min(columnsOnAxis.remainedWidth, barWidth);\n stacks[stackId].width = barWidth;\n columnsOnAxis.remainedWidth -= barWidth;\n }\n\n barMaxWidth && (stacks[stackId].maxWidth = barMaxWidth);\n barGap != null && (columnsOnAxis.gap = barGap);\n barCategoryGap != null && (columnsOnAxis.categoryGap = barCategoryGap);\n });\n var result = {};\n zrUtil.each(columnsMap, function (columnsOnAxis, coordSysName) {\n result[coordSysName] = {};\n var stacks = columnsOnAxis.stacks;\n var bandWidth = columnsOnAxis.bandWidth;\n var categoryGap = parsePercent(columnsOnAxis.categoryGap, bandWidth);\n var barGapPercent = parsePercent(columnsOnAxis.gap, 1);\n var remainedWidth = columnsOnAxis.remainedWidth;\n var autoWidthCount = columnsOnAxis.autoWidthCount;\n var autoWidth = (remainedWidth - categoryGap) / (autoWidthCount + (autoWidthCount - 1) * barGapPercent);\n autoWidth = Math.max(autoWidth, 0); // Find if any auto calculated bar exceeded maxBarWidth\n\n zrUtil.each(stacks, function (column, stack) {\n var maxWidth = column.maxWidth;\n\n if (maxWidth && maxWidth < autoWidth) {\n maxWidth = Math.min(maxWidth, remainedWidth);\n\n if (column.width) {\n maxWidth = Math.min(maxWidth, column.width);\n }\n\n remainedWidth -= maxWidth;\n column.width = maxWidth;\n autoWidthCount--;\n }\n }); // Recalculate width again\n\n autoWidth = (remainedWidth - categoryGap) / (autoWidthCount + (autoWidthCount - 1) * barGapPercent);\n autoWidth = Math.max(autoWidth, 0);\n var widthSum = 0;\n var lastColumn;\n zrUtil.each(stacks, function (column, idx) {\n if (!column.width) {\n column.width = autoWidth;\n }\n\n lastColumn = column;\n widthSum += column.width * (1 + barGapPercent);\n });\n\n if (lastColumn) {\n widthSum -= lastColumn.width * barGapPercent;\n }\n\n var offset = -widthSum / 2;\n zrUtil.each(stacks, function (column, stackId) {\n result[coordSysName][stackId] = result[coordSysName][stackId] || {\n offset: offset,\n width: column.width\n };\n offset += column.width * (1 + barGapPercent);\n });\n });\n return result;\n}\n\nvar _default = barLayoutPolar;\nmodule.exports = _default;","var staticDecodeURIComponent = decodeURIComponent\r\n\r\nmodule.exports = staticDecodeURIComponent\r\n","function helperNewDate () {\r\n return new Date()\r\n}\r\n\r\nmodule.exports = helperNewDate\r\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","\"use strict\";\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _xeUtils = _interopRequireDefault(require(\"xe-utils/methods/xe-utils\"));\n\nvar _conf = _interopRequireDefault(require(\"../../conf\"));\n\nvar _vXETable = _interopRequireWildcard(require(\"../../v-x-e-table\"));\n\nvar _tools = require(\"../../tools\");\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _default2 = {\n name: 'PlxToolbar',\n props: {\n id: String,\n loading: false,\n resizable: [Boolean, Object],\n refresh: [Boolean, Object],\n import: [Boolean, Object],\n export: [Boolean, Object],\n zoom: [Boolean, Object],\n setting: [Boolean, Object],\n custom: [Boolean, Object],\n buttons: {\n type: Array,\n default: function _default() {\n return _conf.default.toolbar.buttons;\n }\n },\n size: String\n },\n inject: {\n $grid: {\n default: null\n }\n },\n data: function data() {\n return {\n $table: null,\n isRefresh: false,\n tableFullColumn: [],\n customStore: {\n isAll: false,\n isIndeterminate: false,\n visible: false\n }\n };\n },\n computed: {\n vSize: function vSize() {\n return this.size || this.$parent.size || this.$parent.vSize;\n },\n refreshOpts: function refreshOpts() {\n return Object.assign({}, _conf.default.toolbar.refresh, this.refresh);\n },\n importOpts: function importOpts() {\n return Object.assign({}, _conf.default.toolbar.import, this.import);\n },\n exportOpts: function exportOpts() {\n return Object.assign({}, _conf.default.toolbar.export, this.export);\n },\n resizableOpts: function resizableOpts() {\n return Object.assign({\n storageKey: 'VXE_TABLE_CUSTOM_COLUMN_WIDTH'\n }, _conf.default.toolbar.resizable, this.resizable);\n },\n zoomOpts: function zoomOpts() {\n return Object.assign({}, _conf.default.toolbar.zoom, this.zoom);\n },\n customOpts: function customOpts() {\n return Object.assign({\n storageKey: 'VXE_TABLE_CUSTOM_COLUMN_HIDDEN'\n }, _conf.default.toolbar.custom || _conf.default.toolbar.setting, this.custom || this.setting);\n }\n },\n created: function created() {\n var _this = this;\n\n var customOpts = this.customOpts,\n setting = this.setting,\n id = this.id;\n\n if (customOpts.storage && !id) {\n return _tools.UtilTools.error('plx.error.toolbarId');\n }\n\n if (setting) {// UtilTools.warn('plx.error.delProp', ['setting', 'custom'])\n }\n\n if (!_vXETable.default._export && (this.export || this.import)) {\n _tools.UtilTools.error('plx.error.reqModule', ['Export']);\n }\n\n this.$nextTick(function () {\n _this.updateConf();\n\n _this.loadStorage();\n });\n\n _tools.GlobalEvent.on(this, 'keydown', this.handleGlobalKeydownEvent);\n\n _tools.GlobalEvent.on(this, 'mousedown', this.handleGlobalMousedownEvent);\n\n _tools.GlobalEvent.on(this, 'blur', this.handleGlobalBlurEvent);\n },\n destroyed: function destroyed() {\n _tools.GlobalEvent.off(this, 'keydown');\n\n _tools.GlobalEvent.off(this, 'mousedown');\n\n _tools.GlobalEvent.off(this, 'blur');\n },\n render: function render(h) {\n var _ref,\n _this2 = this;\n\n var _e = this._e,\n $scopedSlots = this.$scopedSlots,\n $grid = this.$grid,\n $table = this.$table,\n loading = this.loading,\n customStore = this.customStore,\n importOpts = this.importOpts,\n exportOpts = this.exportOpts,\n refresh = this.refresh,\n refreshOpts = this.refreshOpts,\n zoom = this.zoom,\n zoomOpts = this.zoomOpts,\n custom = this.custom,\n setting = this.setting,\n customOpts = this.customOpts,\n _this$buttons = this.buttons,\n buttons = _this$buttons === void 0 ? [] : _this$buttons,\n vSize = this.vSize,\n tableFullColumn = this.tableFullColumn;\n var customBtnOns = {};\n var customWrapperOns = {};\n var $buttons = $scopedSlots.buttons;\n var $tools = $scopedSlots.tools;\n\n if (custom || setting) {\n if (customOpts.trigger === 'manual') {// 手动触发\n } else if (customOpts.trigger === 'hover') {\n // hover 触发\n customBtnOns.mouseenter = this.handleMouseenterSettingEvent;\n customBtnOns.mouseleave = this.handleMouseleaveSettingEvent;\n customWrapperOns.mouseenter = this.handleWrapperMouseenterEvent;\n customWrapperOns.mouseleave = this.handleWrapperMouseleaveEvent;\n } else {\n // 点击触发\n customBtnOns.click = this.handleClickSettingEvent;\n }\n }\n\n return h('div', {\n class: ['plx-toolbar', (_ref = {}, _defineProperty(_ref, \"size--\".concat(vSize), vSize), _defineProperty(_ref, 'is--loading', loading), _ref)]\n }, [h('div', {\n class: 'plx-button--wrapper'\n }, $buttons ? $buttons.call(this, {\n $grid: $grid,\n $table: $table\n }, h) : buttons.map(function (item) {\n return item.visible === false ? _e() : h('plx-button', {\n on: {\n click: function click(evnt) {\n return _this2.btnEvent(evnt, item);\n }\n },\n props: {\n icon: item.icon,\n type: item.type,\n disabled: item.disabled,\n loading: item.loading\n },\n scopedSlots: item.dropdowns && item.dropdowns.length ? {\n default: function _default() {\n return _tools.UtilTools.getFuncText(item.name);\n },\n dropdowns: function dropdowns() {\n return item.dropdowns.map(function (child) {\n return child.visible === false ? _e() : h('plx-button', {\n on: {\n click: function click(evnt) {\n return _this2.btnEvent(evnt, child);\n }\n },\n props: {\n icon: child.icon,\n type: child.type,\n disabled: child.disabled,\n loading: child.loading\n }\n }, _tools.UtilTools.getFuncText(child.name));\n });\n }\n } : null\n }, _tools.UtilTools.getFuncText(item.name));\n })), $tools ? h('div', {\n class: 'plx-tools--wrapper'\n }, $tools.call(this, {\n $grid: $grid,\n $table: $table\n }, h)) : null, h('div', {\n class: 'plx-tools--operate'\n }, [this.import ? h('div', {\n class: 'plx-tools--operate-btn',\n attrs: {\n title: _conf.default.i18n('plx.toolbar.import')\n },\n on: {\n click: this.importEvent\n }\n }, [h('i', {\n class: importOpts.icon || _conf.default.icon.import\n })]) : null, this.export ? h('div', {\n class: 'plx-tools--operate-btn',\n attrs: {\n title: _conf.default.i18n('plx.toolbar.export')\n },\n on: {\n click: this.exportEvent\n }\n }, [h('i', {\n class: exportOpts.icon || _conf.default.icon.export\n })]) : null, refresh ? h('div', {\n class: 'plx-tools--operate-btn',\n attrs: {\n title: _conf.default.i18n('plx.toolbar.refresh')\n },\n on: {\n click: this.refreshEvent\n }\n }, [h('i', {\n class: this.isRefresh ? refreshOpts.iconLoading || _conf.default.icon.refreshLoading : refreshOpts.icon || _conf.default.icon.refresh\n })]) : null, zoom && $grid ? h('div', {\n class: 'plx-tools--operate-btn',\n attrs: {\n title: _conf.default.i18n(\"plx.toolbar.zoom\".concat($grid.isMaximized() ? 'Out' : 'In'))\n },\n on: {\n click: function click() {\n return $grid.zoom();\n }\n }\n }, [h('i', {\n class: $grid.isMaximized() ? zoomOpts.iconOut || _conf.default.icon.zoomOut : zoomOpts.iconIn || _conf.default.icon.zoomIn\n })]) : null, custom || setting ? h('div', {\n class: ['plx-custom--wrapper', {\n 'is--active': customStore.visible\n }],\n ref: 'customWrapper'\n }, [h('div', {\n class: 'plx-tools--operate-btn',\n attrs: {\n title: _conf.default.i18n('plx.toolbar.custom')\n },\n on: customBtnOns\n }, [h('i', {\n class: customOpts.icon || _conf.default.icon.custom\n })]), h('div', {\n class: 'plx-custom--option-wrapper'\n }, [h('div', {\n class: 'plx-custom--header'\n }, [h('li', {\n class: {\n 'is--checked': customStore.isAll,\n 'is--indeterminate': customStore.isIndeterminate\n },\n attrs: {\n title: _conf.default.i18n('plx.table.allTitle')\n },\n on: {\n click: this.allCustomEvent\n }\n }, _conf.default.i18n('plx.toolbar.customAll'))]), h('ul', {\n class: 'plx-custom--body',\n on: customWrapperOns\n }, tableFullColumn.map(function (column) {\n var headerTitle = column.getTitle();\n var isDisabled = customOpts.checkMethod ? !customOpts.checkMethod({\n column: column\n }) : false;\n return headerTitle ? h('li', {\n class: ['plx-custom--option', {\n 'is--checked': column.visible,\n 'is--disabled': isDisabled\n }],\n attrs: {\n title: headerTitle\n },\n on: {\n click: function click() {\n if (!isDisabled) {\n column.visible = !column.visible;\n\n if ((custom || setting) && customOpts.immediate) {\n _this2.handleCustoms();\n }\n\n _this2.checkCustomStatus();\n }\n }\n }\n }, headerTitle) : null;\n })), customOpts.isFooter === false ? null : h('div', {\n class: 'plx-custom--footer'\n }, [h('button', {\n class: 'btn--confirm',\n on: {\n click: this.confirmCustomEvent\n }\n }, _conf.default.i18n('plx.toolbar.customConfirm')), h('button', {\n class: 'btn--reset',\n on: {\n click: this.resetCustomEvent\n }\n }, _conf.default.i18n('plx.toolbar.customReset'))])])]) : null])]);\n },\n methods: {\n updateConf: function updateConf() {\n var $children = this.$parent.$children;\n var selfIndex = $children.indexOf(this);\n this.$table = _xeUtils.default.find($children, function (comp, index) {\n return comp && comp.refreshColumn && index > selfIndex && comp.$vnode.componentOptions.tag === 'plx-table';\n });\n },\n openCustom: function openCustom() {\n this.customStore.visible = true;\n this.checkCustomStatus();\n },\n closeCustom: function closeCustom() {\n var custom = this.custom,\n setting = this.setting,\n customStore = this.customStore;\n\n if (customStore.visible) {\n customStore.visible = false;\n\n if ((custom || setting) && !customStore.immediate) {\n this.handleCustoms();\n }\n }\n },\n loadStorage: function loadStorage() {\n var $grid = this.$grid,\n $table = this.$table,\n id = this.id,\n refresh = this.refresh,\n resizable = this.resizable,\n custom = this.custom,\n setting = this.setting,\n refreshOpts = this.refreshOpts,\n resizableOpts = this.resizableOpts,\n customOpts = this.customOpts;\n\n if (refresh && !$grid) {\n if (!refreshOpts.query) {\n _tools.UtilTools.warn('plx.error.notFunc', ['query']);\n }\n }\n\n if ($grid || $table) {\n ($grid || $table).connect({\n toolbar: this\n });\n } else {\n if (resizable || custom || setting) {\n throw new Error(_tools.UtilTools.getLog('plx.error.barUnableLink'));\n }\n }\n\n if (resizable || custom || setting) {\n var customMap = {};\n\n if (resizableOpts.storage) {\n var columnWidthStorage = this.getStorageMap(resizableOpts.storageKey)[id];\n\n if (columnWidthStorage) {\n _xeUtils.default.each(columnWidthStorage, function (resizeWidth, field) {\n customMap[field] = {\n field: field,\n resizeWidth: resizeWidth\n };\n });\n }\n }\n\n if (customOpts.storage) {\n var columnHideStorage = this.getStorageMap(customOpts.storageKey)[id];\n\n if (columnHideStorage) {\n columnHideStorage.split(',').forEach(function (field) {\n if (customMap[field]) {\n customMap[field].visible = false;\n } else {\n customMap[field] = {\n field: field,\n visible: false\n };\n }\n });\n }\n }\n\n var customList = Object.values(customMap);\n this.updateCustoms(customList.length ? customList : this.tableFullColumn);\n }\n },\n updateColumn: function updateColumn(fullColumn) {\n this.tableFullColumn = fullColumn;\n },\n updateCustoms: function updateCustoms(customs) {\n var _this3 = this;\n\n var comp = this.$grid || this.$table;\n\n if (comp) {\n comp.reloadCustoms(customs).then(function (fullColumn) {\n _this3.tableFullColumn = fullColumn;\n });\n }\n },\n getStorageMap: function getStorageMap(key) {\n var version = _conf.default.version;\n\n var rest = _xeUtils.default.toStringJSON(localStorage.getItem(key));\n\n return rest && rest._v === version ? rest : {\n _v: version\n };\n },\n saveColumnHide: function saveColumnHide() {\n var id = this.id,\n tableFullColumn = this.tableFullColumn,\n customOpts = this.customOpts;\n var checkMethod = customOpts.checkMethod,\n storage = customOpts.storage,\n storageKey = customOpts.storageKey;\n\n if (storage) {\n var columnHideStorageMap = this.getStorageMap(storageKey);\n var colHides = tableFullColumn.filter(function (column) {\n return column.property && !column.visible && (!checkMethod || checkMethod({\n column: column\n }));\n });\n columnHideStorageMap[id] = colHides.length ? colHides.map(function (column) {\n return column.property;\n }).join(',') : undefined;\n localStorage.setItem(storageKey, _xeUtils.default.toJSONString(columnHideStorageMap));\n }\n\n return this.$nextTick();\n },\n saveColumnWidth: function saveColumnWidth(isReset) {\n var id = this.id,\n tableFullColumn = this.tableFullColumn,\n resizableOpts = this.resizableOpts;\n\n if (resizableOpts.storage) {\n var columnWidthStorageMap = this.getStorageMap(resizableOpts.storageKey);\n var columnWidthStorage;\n\n if (!isReset) {\n columnWidthStorage = _xeUtils.default.isPlainObject(columnWidthStorageMap[id]) ? columnWidthStorageMap[id] : {};\n tableFullColumn.forEach(function (_ref2) {\n var property = _ref2.property,\n resizeWidth = _ref2.resizeWidth,\n renderWidth = _ref2.renderWidth;\n\n if (property && resizeWidth) {\n columnWidthStorage[property] = renderWidth;\n }\n });\n }\n\n columnWidthStorageMap[id] = _xeUtils.default.isEmpty(columnWidthStorage) ? undefined : columnWidthStorage;\n localStorage.setItem(resizableOpts.storageKey, _xeUtils.default.toJSONString(columnWidthStorageMap));\n }\n\n return this.$nextTick();\n },\n hideColumn: function hideColumn(column) {\n _tools.UtilTools.warn('plx.error.delFunc', ['hideColumn', 'table.hideColumn']);\n\n column.visible = false;\n return this.handleCustoms();\n },\n showColumn: function showColumn(column) {\n _tools.UtilTools.warn('plx.error.delFunc', ['showColumn', 'table.showColumn']);\n\n column.visible = true;\n return this.handleCustoms();\n },\n resetCustoms: function resetCustoms() {\n return this.handleCustoms();\n },\n resetResizable: function resetResizable() {\n this.updateResizable(this);\n },\n confirmCustomEvent: function confirmCustomEvent() {\n this.closeCustom();\n },\n resetCustomEvent: function resetCustomEvent() {\n var checkMethod = this.customOpts.checkMethod;\n this.tableFullColumn.forEach(function (column) {\n if (!checkMethod || checkMethod({\n column: column\n })) {\n column.visible = true;\n }\n\n column.resizeWidth = 0;\n });\n this.resetCustoms();\n this.resetResizable();\n this.closeCustom();\n },\n updateResizable: function updateResizable(isReset) {\n var comp = this.$grid || this.$table;\n this.saveColumnWidth(isReset);\n comp.analyColumnWidth();\n return comp.recalculate(true);\n },\n handleCustoms: function handleCustoms() {\n (this.$grid || this.$table).refreshColumn();\n return this.saveColumnHide();\n },\n checkCustomStatus: function checkCustomStatus() {\n var checkMethod = this.customOpts.checkMethod;\n var tableFullColumn = this.tableFullColumn;\n this.customStore.isAll = tableFullColumn.every(function (column) {\n return (checkMethod ? !checkMethod({\n column: column\n }) : false) || column.visible;\n });\n this.customStore.isIndeterminate = !this.customStore.isAll && tableFullColumn.some(function (column) {\n return (!checkMethod || checkMethod({\n column: column\n })) && column.visible;\n });\n },\n allCustomEvent: function allCustomEvent() {\n var checkMethod = this.customOpts.checkMethod;\n var isAll = !this.customStore.isAll;\n this.tableFullColumn.forEach(function (column) {\n if (!checkMethod || checkMethod({\n column: column\n })) {\n column.visible = isAll;\n }\n });\n this.customStore.isAll = isAll;\n this.checkCustomStatus();\n },\n handleGlobalKeydownEvent: function handleGlobalKeydownEvent(evnt) {\n var isEsc = evnt.keyCode === 27;\n\n if (isEsc && this.$grid && this.$grid.isMaximized() && this.zoomOpts && this.zoomOpts.escRestore !== false) {\n this.$grid.zoom();\n }\n },\n handleGlobalMousedownEvent: function handleGlobalMousedownEvent(evnt) {\n if (!_tools.DomTools.getEventTargetNode(evnt, this.$refs.customWrapper).flag) {\n this.closeCustom();\n }\n },\n handleGlobalBlurEvent: function handleGlobalBlurEvent(evnt) {\n this.closeCustom();\n },\n handleClickSettingEvent: function handleClickSettingEvent(evnt) {\n this.customStore.visible = !this.customStore.visible;\n this.checkCustomStatus();\n },\n handleMouseenterSettingEvent: function handleMouseenterSettingEvent(evnt) {\n this.customStore.activeBtn = true;\n this.openCustom();\n },\n handleMouseleaveSettingEvent: function handleMouseleaveSettingEvent(evnt) {\n var _this4 = this;\n\n var customStore = this.customStore;\n customStore.activeBtn = false;\n setTimeout(function () {\n if (!customStore.activeBtn && !customStore.activeWrapper) {\n _this4.closeCustom();\n }\n }, 300);\n },\n handleWrapperMouseenterEvent: function handleWrapperMouseenterEvent(evnt) {\n this.customStore.activeWrapper = true;\n this.openCustom();\n },\n handleWrapperMouseleaveEvent: function handleWrapperMouseleaveEvent(evnt) {\n var _this5 = this;\n\n var customStore = this.customStore;\n customStore.activeWrapper = false;\n setTimeout(function () {\n if (!customStore.activeBtn && !customStore.activeWrapper) {\n _this5.closeCustom();\n }\n }, 300);\n },\n refreshEvent: function refreshEvent() {\n var _this6 = this;\n\n var $grid = this.$grid,\n refreshOpts = this.refreshOpts,\n isRefresh = this.isRefresh;\n\n if (!isRefresh) {\n if (refreshOpts.query) {\n this.isRefresh = true;\n refreshOpts.query().catch(function (e) {\n return e;\n }).then(function () {\n _this6.isRefresh = false;\n });\n } else if ($grid) {\n this.isRefresh = true;\n $grid.commitProxy('reload').catch(function (e) {\n return e;\n }).then(function () {\n _this6.isRefresh = false;\n });\n }\n }\n },\n btnEvent: function btnEvent(evnt, item) {\n var $grid = this.$grid,\n $table = this.$table;\n var code = item.code;\n\n if (code) {\n if ($grid) {\n $grid.triggerToolbarBtnEvent(item, evnt);\n } else {\n var btnMethod = _vXETable.Buttons.get(code);\n\n var params = {\n code: code,\n button: item,\n $grid: $grid,\n $table: $table\n };\n\n if (btnMethod) {\n btnMethod.call(this, params, evnt);\n }\n\n _tools.UtilTools.emitEvent(this, 'button-click', [params, evnt]);\n }\n }\n },\n importEvent: function importEvent() {\n var comp = this.$grid || this.$table;\n\n if (comp) {\n comp.openImport();\n } else {\n throw new Error(_tools.UtilTools.getLog('plx.error.barUnableLink'));\n }\n },\n exportEvent: function exportEvent() {\n var comp = this.$grid || this.$table;\n\n if (comp) {\n comp.openExport(this.customOpts);\n } else {\n throw new Error(_tools.UtilTools.getLog('plx.error.barUnableLink'));\n }\n }\n }\n};\nexports.default = _default2;","\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\nvar Path = require(\"zrender/lib/graphic/Path\");\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*/\nvar _default = Path.extend({\n type: 'echartsGaugePointer',\n shape: {\n angle: 0,\n width: 10,\n r: 10,\n x: 0,\n y: 0\n },\n buildPath: function (ctx, shape) {\n var mathCos = Math.cos;\n var mathSin = Math.sin;\n var r = shape.r;\n var width = shape.width;\n var angle = shape.angle;\n var x = shape.x - mathCos(angle) * width * (width >= r / 3 ? 1 : 2);\n var y = shape.y - mathSin(angle) * width * (width >= r / 3 ? 1 : 2);\n angle = shape.angle - Math.PI / 2;\n ctx.moveTo(x, y);\n ctx.lineTo(shape.x + mathCos(angle) * width, shape.y + mathSin(angle) * width);\n ctx.lineTo(shape.x + mathCos(shape.angle) * r, shape.y + mathSin(shape.angle) * r);\n ctx.lineTo(shape.x - mathCos(angle) * width, shape.y - mathSin(angle) * width);\n ctx.lineTo(x, y);\n return;\n }\n});\n\nmodule.exports = _default;","\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\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar modelUtil = require(\"../../util/model\");\n\nvar ComponentModel = require(\"../../model/Component\");\n\nvar Model = require(\"../../model/Model\");\n\nvar selectableMixin = require(\"../../component/helper/selectableMixin\");\n\nvar geoCreator = require(\"./geoCreator\");\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*/\nvar GeoModel = ComponentModel.extend({\n type: 'geo',\n\n /**\n * @type {module:echarts/coord/geo/Geo}\n */\n coordinateSystem: null,\n layoutMode: 'box',\n init: function (option) {\n ComponentModel.prototype.init.apply(this, arguments); // Default label emphasis `show`\n\n modelUtil.defaultEmphasis(option, 'label', ['show']);\n },\n optionUpdated: function () {\n var option = this.option;\n var self = this;\n option.regions = geoCreator.getFilledRegions(option.regions, option.map, option.nameMap);\n this._optionModelMap = zrUtil.reduce(option.regions || [], function (optionModelMap, regionOpt) {\n if (regionOpt.name) {\n optionModelMap.set(regionOpt.name, new Model(regionOpt, self));\n }\n\n return optionModelMap;\n }, zrUtil.createHashMap());\n this.updateSelectedMap(option.regions);\n },\n defaultOption: {\n zlevel: 0,\n z: 0,\n show: true,\n left: 'center',\n top: 'center',\n // width:,\n // height:,\n // right\n // bottom\n // Aspect is width / height. Inited to be geoJson bbox aspect\n // This parameter is used for scale this aspect\n // If svg used, aspectScale is 1 by default.\n // aspectScale: 0.75,\n aspectScale: null,\n ///// Layout with center and size\n // If you wan't to put map in a fixed size box with right aspect ratio\n // This two properties may more conveninet\n // layoutCenter: [50%, 50%]\n // layoutSize: 100\n silent: false,\n // Map type\n map: '',\n // Define left-top, right-bottom coords to control view\n // For example, [ [180, 90], [-180, -90] ]\n boundingCoords: null,\n // Default on center of map\n center: null,\n zoom: 1,\n scaleLimit: null,\n // selectedMode: false\n label: {\n show: false,\n color: '#000'\n },\n itemStyle: {\n // color: 各异,\n borderWidth: 0.5,\n borderColor: '#444',\n color: '#eee'\n },\n emphasis: {\n label: {\n show: true,\n color: 'rgb(100,0,0)'\n },\n itemStyle: {\n color: 'rgba(255,215,0,0.8)'\n }\n },\n regions: []\n },\n\n /**\n * Get model of region\n * @param {string} name\n * @return {module:echarts/model/Model}\n */\n getRegionModel: function (name) {\n return this._optionModelMap.get(name) || new Model(null, this, this.ecModel);\n },\n\n /**\n * Format label\n * @param {string} name Region name\n * @param {string} [status='normal'] 'normal' or 'emphasis'\n * @return {string}\n */\n getFormattedLabel: function (name, status) {\n status = status || 'normal';\n var regionModel = this.getRegionModel(name);\n var formatter = regionModel.get((status === 'normal' ? '' : status + '.') + 'label.formatter');\n var params = {\n name: name\n };\n\n if (typeof formatter === 'function') {\n params.status = status;\n return formatter(params);\n } else if (typeof formatter === 'string') {\n return formatter.replace('{a}', name != null ? name : '');\n }\n },\n setZoom: function (zoom) {\n this.option.zoom = zoom;\n },\n setCenter: function (center) {\n this.option.center = center;\n }\n});\nzrUtil.mixin(GeoModel, selectableMixin);\nvar _default = GeoModel;\nmodule.exports = _default;","/* eslint-disable valid-typeof */\r\nvar staticStrUndefined = require('../static/staticStrUndefined')\r\n\r\n/**\r\n * 判断是否Set对象\r\n *\r\n * @param {Object} obj 对象\r\n * @return {Boolean}\r\n */\r\nvar supportSet = typeof Set !== staticStrUndefined\r\nfunction isSet (obj) {\r\n return supportSet && obj instanceof Set\r\n}\r\n\r\nmodule.exports = isSet\r\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","/**\n * Event Mixin\n * @module zrender/mixin/Eventful\n * @author Kener (@Kener-林峰, kener.linfeng@gmail.com)\n * pissang (https://www.github.com/pissang)\n */\nvar arrySlice = Array.prototype.slice;\n/**\n * Event dispatcher.\n *\n * @alias module:zrender/mixin/Eventful\n * @constructor\n * @param {Object} [eventProcessor] The object eventProcessor is the scope when\n * `eventProcessor.xxx` called.\n * @param {Function} [eventProcessor.normalizeQuery]\n * param: {string|Object} Raw query.\n * return: {string|Object} Normalized query.\n * @param {Function} [eventProcessor.filter] Event will be dispatched only\n * if it returns `true`.\n * param: {string} eventType\n * param: {string|Object} query\n * return: {boolean}\n * @param {Function} [eventProcessor.afterTrigger] Called after all handlers called.\n * param: {string} eventType\n */\n\nvar Eventful = function (eventProcessor) {\n this._$handlers = {};\n this._$eventProcessor = eventProcessor;\n};\n\nEventful.prototype = {\n constructor: Eventful,\n\n /**\n * The handler can only be triggered once, then removed.\n *\n * @param {string} event The event name.\n * @param {string|Object} [query] Condition used on event filter.\n * @param {Function} handler The event handler.\n * @param {Object} context\n */\n one: function (event, query, handler, context) {\n return on(this, event, query, handler, context, true);\n },\n\n /**\n * Bind a handler.\n *\n * @param {string} event The event name.\n * @param {string|Object} [query] Condition used on event filter.\n * @param {Function} handler The event handler.\n * @param {Object} [context]\n */\n on: function (event, query, handler, context) {\n return on(this, event, query, handler, context, false);\n },\n\n /**\n * Whether any handler has bound.\n *\n * @param {string} event\n * @return {boolean}\n */\n isSilent: function (event) {\n var _h = this._$handlers;\n return !_h[event] || !_h[event].length;\n },\n\n /**\n * Unbind a event.\n *\n * @param {string} [event] The event name.\n * If no `event` input, \"off\" all listeners.\n * @param {Function} [handler] The event handler.\n * If no `handler` input, \"off\" all listeners of the `event`.\n */\n off: function (event, handler) {\n var _h = this._$handlers;\n\n if (!event) {\n this._$handlers = {};\n return this;\n }\n\n if (handler) {\n if (_h[event]) {\n var newList = [];\n\n for (var i = 0, l = _h[event].length; i < l; i++) {\n if (_h[event][i].h !== handler) {\n newList.push(_h[event][i]);\n }\n }\n\n _h[event] = newList;\n }\n\n if (_h[event] && _h[event].length === 0) {\n delete _h[event];\n }\n } else {\n delete _h[event];\n }\n\n return this;\n },\n\n /**\n * Dispatch a event.\n *\n * @param {string} type The event name.\n */\n trigger: function (type) {\n var _h = this._$handlers[type];\n var eventProcessor = this._$eventProcessor;\n\n if (_h) {\n var args = arguments;\n var argLen = args.length;\n\n if (argLen > 3) {\n args = arrySlice.call(args, 1);\n }\n\n var len = _h.length;\n\n for (var i = 0; i < len;) {\n var hItem = _h[i];\n\n if (eventProcessor && eventProcessor.filter && hItem.query != null && !eventProcessor.filter(type, hItem.query)) {\n i++;\n continue;\n } // Optimize advise from backbone\n\n\n switch (argLen) {\n case 1:\n hItem.h.call(hItem.ctx);\n break;\n\n case 2:\n hItem.h.call(hItem.ctx, args[1]);\n break;\n\n case 3:\n hItem.h.call(hItem.ctx, args[1], args[2]);\n break;\n\n default:\n // have more than 2 given arguments\n hItem.h.apply(hItem.ctx, args);\n break;\n }\n\n if (hItem.one) {\n _h.splice(i, 1);\n\n len--;\n } else {\n i++;\n }\n }\n }\n\n eventProcessor && eventProcessor.afterTrigger && eventProcessor.afterTrigger(type);\n return this;\n },\n\n /**\n * Dispatch a event with context, which is specified at the last parameter.\n *\n * @param {string} type The event name.\n */\n triggerWithContext: function (type) {\n var _h = this._$handlers[type];\n var eventProcessor = this._$eventProcessor;\n\n if (_h) {\n var args = arguments;\n var argLen = args.length;\n\n if (argLen > 4) {\n args = arrySlice.call(args, 1, args.length - 1);\n }\n\n var ctx = args[args.length - 1];\n var len = _h.length;\n\n for (var i = 0; i < len;) {\n var hItem = _h[i];\n\n if (eventProcessor && eventProcessor.filter && hItem.query != null && !eventProcessor.filter(type, hItem.query)) {\n i++;\n continue;\n } // Optimize advise from backbone\n\n\n switch (argLen) {\n case 1:\n hItem.h.call(ctx);\n break;\n\n case 2:\n hItem.h.call(ctx, args[1]);\n break;\n\n case 3:\n hItem.h.call(ctx, args[1], args[2]);\n break;\n\n default:\n // have more than 2 given arguments\n hItem.h.apply(ctx, args);\n break;\n }\n\n if (hItem.one) {\n _h.splice(i, 1);\n\n len--;\n } else {\n i++;\n }\n }\n }\n\n eventProcessor && eventProcessor.afterTrigger && eventProcessor.afterTrigger(type);\n return this;\n }\n};\n\nfunction normalizeQuery(host, query) {\n var eventProcessor = host._$eventProcessor;\n\n if (query != null && eventProcessor && eventProcessor.normalizeQuery) {\n query = eventProcessor.normalizeQuery(query);\n }\n\n return query;\n}\n\nfunction on(eventful, event, query, handler, context, isOnce) {\n var _h = eventful._$handlers;\n\n if (typeof query === 'function') {\n context = handler;\n handler = query;\n query = null;\n }\n\n if (!handler || !event) {\n return eventful;\n }\n\n query = normalizeQuery(eventful, query);\n\n if (!_h[event]) {\n _h[event] = [];\n }\n\n for (var i = 0; i < _h[event].length; i++) {\n if (_h[event][i].h === handler) {\n return eventful;\n }\n }\n\n var wrap = {\n h: handler,\n one: isOnce,\n query: query,\n ctx: context || eventful,\n // FIXME\n // Do not publish this feature util it is proved that it makes sense.\n callAtLast: handler.zrEventfulCallAtLast\n };\n var lastIndex = _h[event].length - 1;\n var lastWrap = _h[event][lastIndex];\n lastWrap && lastWrap.callAtLast ? _h[event].splice(lastIndex, 0, wrap) : _h[event].push(wrap);\n return eventful;\n} // ----------------------\n// The events in zrender\n// ----------------------\n\n/**\n * @event module:zrender/mixin/Eventful#onclick\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#onmouseover\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#onmouseout\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#onmousemove\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#onmousewheel\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#onmousedown\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#onmouseup\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#ondrag\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#ondragstart\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#ondragend\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#ondragenter\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#ondragleave\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#ondragover\n * @type {Function}\n * @default null\n */\n\n/**\n * @event module:zrender/mixin/Eventful#ondrop\n * @type {Function}\n * @default null\n */\n\n\nvar _default = Eventful;\nmodule.exports = _default;","var helperCreateIndexOf = require('./helperCreateIndexOf')\r\n\r\nvar arrayIndexOf = require('../array/arrayIndexOf')\r\n\r\n/**\r\n * 返回对象第一个索引值\r\n *\r\n * @param {Object} obj 对象\r\n * @param {Object} val 值\r\n * @return {Number}\r\n */\r\nvar indexOf = helperCreateIndexOf('indexOf', arrayIndexOf)\r\n\r\nmodule.exports = indexOf\r\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\nvar zrUtil = require(\"zrender/lib/core/util\");\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// import * as axisHelper from './axisHelper';\nvar _default = {\n /**\n * @param {boolean} origin\n * @return {number|string} min value or 'dataMin' or null/undefined (means auto) or NaN\n */\n getMin: function (origin) {\n var option = this.option;\n var min = !origin && option.rangeStart != null ? option.rangeStart : option.min;\n\n if (this.axis && min != null && min !== 'dataMin' && typeof min !== 'function' && !zrUtil.eqNaN(min)) {\n min = this.axis.scale.parse(min);\n }\n\n return min;\n },\n\n /**\n * @param {boolean} origin\n * @return {number|string} max value or 'dataMax' or null/undefined (means auto) or NaN\n */\n getMax: function (origin) {\n var option = this.option;\n var max = !origin && option.rangeEnd != null ? option.rangeEnd : option.max;\n\n if (this.axis && max != null && max !== 'dataMax' && typeof max !== 'function' && !zrUtil.eqNaN(max)) {\n max = this.axis.scale.parse(max);\n }\n\n return max;\n },\n\n /**\n * @return {boolean}\n */\n getNeedCrossZero: function () {\n var option = this.option;\n return option.rangeStart != null || option.rangeEnd != null ? false : !option.scale;\n },\n\n /**\n * Should be implemented by each axis model if necessary.\n * @return {module:echarts/model/Component} coordinate system model\n */\n getCoordSysModel: zrUtil.noop,\n\n /**\n * @param {number} rangeStart Can only be finite number or null/undefined or NaN.\n * @param {number} rangeEnd Can only be finite number or null/undefined or NaN.\n */\n setRange: function (rangeStart, rangeEnd) {\n this.option.rangeStart = rangeStart;\n this.option.rangeEnd = rangeEnd;\n },\n\n /**\n * Reset range\n */\n resetRange: function () {\n // rangeStart and rangeEnd is readonly.\n this.option.rangeStart = this.option.rangeEnd = null;\n }\n};\nmodule.exports = _default;","\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\nvar zrUtil = require(\"zrender/lib/core/util\");\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*/\nvar coordinateSystemCreators = {};\n\nfunction CoordinateSystemManager() {\n this._coordinateSystems = [];\n}\n\nCoordinateSystemManager.prototype = {\n constructor: CoordinateSystemManager,\n create: function (ecModel, api) {\n var coordinateSystems = [];\n zrUtil.each(coordinateSystemCreators, function (creater, type) {\n var list = creater.create(ecModel, api);\n coordinateSystems = coordinateSystems.concat(list || []);\n });\n this._coordinateSystems = coordinateSystems;\n },\n update: function (ecModel, api) {\n zrUtil.each(this._coordinateSystems, function (coordSys) {\n coordSys.update && coordSys.update(ecModel, api);\n });\n },\n getCoordinateSystems: function () {\n return this._coordinateSystems.slice();\n }\n};\n\nCoordinateSystemManager.register = function (type, coordinateSystemCreator) {\n coordinateSystemCreators[type] = coordinateSystemCreator;\n};\n\nCoordinateSystemManager.get = function (type) {\n return coordinateSystemCreators[type];\n};\n\nvar _default = CoordinateSystemManager;\nmodule.exports = _default;","var curve = require(\"./curve\");\n\nvar vec2 = require(\"./vector\");\n\nvar bbox = require(\"./bbox\");\n\nvar BoundingRect = require(\"./BoundingRect\");\n\nvar _config = require(\"../config\");\n\nvar dpr = _config.devicePixelRatio;\n\n/**\n * Path 代理,可以在`buildPath`中用于替代`ctx`, 会保存每个path操作的命令到pathCommands属性中\n * 可以用于 isInsidePath 判断以及获取boundingRect\n *\n * @module zrender/core/PathProxy\n * @author Yi Shen (http://www.github.com/pissang)\n */\n// TODO getTotalLength, getPointAtLength\n\n/* global Float32Array */\nvar CMD = {\n M: 1,\n L: 2,\n C: 3,\n Q: 4,\n A: 5,\n Z: 6,\n // Rect\n R: 7\n}; // var CMD_MEM_SIZE = {\n// M: 3,\n// L: 3,\n// C: 7,\n// Q: 5,\n// A: 9,\n// R: 5,\n// Z: 1\n// };\n\nvar min = [];\nvar max = [];\nvar min2 = [];\nvar max2 = [];\nvar mathMin = Math.min;\nvar mathMax = Math.max;\nvar mathCos = Math.cos;\nvar mathSin = Math.sin;\nvar mathSqrt = Math.sqrt;\nvar mathAbs = Math.abs;\nvar hasTypedArray = typeof Float32Array !== 'undefined';\n/**\n * @alias module:zrender/core/PathProxy\n * @constructor\n */\n\nvar PathProxy = function (notSaveData) {\n this._saveData = !(notSaveData || false);\n\n if (this._saveData) {\n /**\n * Path data. Stored as flat array\n * @type {Array.}\n */\n this.data = [];\n }\n\n this._ctx = null;\n};\n/**\n * 快速计算Path包围盒(并不是最小包围盒)\n * @return {Object}\n */\n\n\nPathProxy.prototype = {\n constructor: PathProxy,\n _xi: 0,\n _yi: 0,\n _x0: 0,\n _y0: 0,\n // Unit x, Unit y. Provide for avoiding drawing that too short line segment\n _ux: 0,\n _uy: 0,\n _len: 0,\n _lineDash: null,\n _dashOffset: 0,\n _dashIdx: 0,\n _dashSum: 0,\n\n /**\n * @readOnly\n */\n setScale: function (sx, sy, segmentIgnoreThreshold) {\n // Compat. Previously there is no segmentIgnoreThreshold.\n segmentIgnoreThreshold = segmentIgnoreThreshold || 0;\n this._ux = mathAbs(segmentIgnoreThreshold / dpr / sx) || 0;\n this._uy = mathAbs(segmentIgnoreThreshold / dpr / sy) || 0;\n },\n getContext: function () {\n return this._ctx;\n },\n\n /**\n * @param {CanvasRenderingContext2D} ctx\n * @return {module:zrender/core/PathProxy}\n */\n beginPath: function (ctx) {\n this._ctx = ctx;\n ctx && ctx.beginPath();\n ctx && (this.dpr = ctx.dpr); // Reset\n\n if (this._saveData) {\n this._len = 0;\n }\n\n if (this._lineDash) {\n this._lineDash = null;\n this._dashOffset = 0;\n }\n\n return this;\n },\n\n /**\n * @param {number} x\n * @param {number} y\n * @return {module:zrender/core/PathProxy}\n */\n moveTo: function (x, y) {\n this.addData(CMD.M, x, y);\n this._ctx && this._ctx.moveTo(x, y); // x0, y0, xi, yi 是记录在 _dashedXXXXTo 方法中使用\n // xi, yi 记录当前点, x0, y0 在 closePath 的时候回到起始点。\n // 有可能在 beginPath 之后直接调用 lineTo,这时候 x0, y0 需要\n // 在 lineTo 方法中记录,这里先不考虑这种情况,dashed line 也只在 IE10- 中不支持\n\n this._x0 = x;\n this._y0 = y;\n this._xi = x;\n this._yi = y;\n return this;\n },\n\n /**\n * @param {number} x\n * @param {number} y\n * @return {module:zrender/core/PathProxy}\n */\n lineTo: function (x, y) {\n var exceedUnit = mathAbs(x - this._xi) > this._ux || mathAbs(y - this._yi) > this._uy // Force draw the first segment\n || this._len < 5;\n this.addData(CMD.L, x, y);\n\n if (this._ctx && exceedUnit) {\n this._needsDash() ? this._dashedLineTo(x, y) : this._ctx.lineTo(x, y);\n }\n\n if (exceedUnit) {\n this._xi = x;\n this._yi = y;\n }\n\n return this;\n },\n\n /**\n * @param {number} x1\n * @param {number} y1\n * @param {number} x2\n * @param {number} y2\n * @param {number} x3\n * @param {number} y3\n * @return {module:zrender/core/PathProxy}\n */\n bezierCurveTo: function (x1, y1, x2, y2, x3, y3) {\n this.addData(CMD.C, x1, y1, x2, y2, x3, y3);\n\n if (this._ctx) {\n this._needsDash() ? this._dashedBezierTo(x1, y1, x2, y2, x3, y3) : this._ctx.bezierCurveTo(x1, y1, x2, y2, x3, y3);\n }\n\n this._xi = x3;\n this._yi = y3;\n return this;\n },\n\n /**\n * @param {number} x1\n * @param {number} y1\n * @param {number} x2\n * @param {number} y2\n * @return {module:zrender/core/PathProxy}\n */\n quadraticCurveTo: function (x1, y1, x2, y2) {\n this.addData(CMD.Q, x1, y1, x2, y2);\n\n if (this._ctx) {\n this._needsDash() ? this._dashedQuadraticTo(x1, y1, x2, y2) : this._ctx.quadraticCurveTo(x1, y1, x2, y2);\n }\n\n this._xi = x2;\n this._yi = y2;\n return this;\n },\n\n /**\n * @param {number} cx\n * @param {number} cy\n * @param {number} r\n * @param {number} startAngle\n * @param {number} endAngle\n * @param {boolean} anticlockwise\n * @return {module:zrender/core/PathProxy}\n */\n arc: function (cx, cy, r, startAngle, endAngle, anticlockwise) {\n this.addData(CMD.A, cx, cy, r, r, startAngle, endAngle - startAngle, 0, anticlockwise ? 0 : 1);\n this._ctx && this._ctx.arc(cx, cy, r, startAngle, endAngle, anticlockwise);\n this._xi = mathCos(endAngle) * r + cx;\n this._yi = mathSin(endAngle) * r + cy;\n return this;\n },\n // TODO\n arcTo: function (x1, y1, x2, y2, radius) {\n if (this._ctx) {\n this._ctx.arcTo(x1, y1, x2, y2, radius);\n }\n\n return this;\n },\n // TODO\n rect: function (x, y, w, h) {\n this._ctx && this._ctx.rect(x, y, w, h);\n this.addData(CMD.R, x, y, w, h);\n return this;\n },\n\n /**\n * @return {module:zrender/core/PathProxy}\n */\n closePath: function () {\n this.addData(CMD.Z);\n var ctx = this._ctx;\n var x0 = this._x0;\n var y0 = this._y0;\n\n if (ctx) {\n this._needsDash() && this._dashedLineTo(x0, y0);\n ctx.closePath();\n }\n\n this._xi = x0;\n this._yi = y0;\n return this;\n },\n\n /**\n * Context 从外部传入,因为有可能是 rebuildPath 完之后再 fill。\n * stroke 同样\n * @param {CanvasRenderingContext2D} ctx\n * @return {module:zrender/core/PathProxy}\n */\n fill: function (ctx) {\n ctx && ctx.fill();\n this.toStatic();\n },\n\n /**\n * @param {CanvasRenderingContext2D} ctx\n * @return {module:zrender/core/PathProxy}\n */\n stroke: function (ctx) {\n ctx && ctx.stroke();\n this.toStatic();\n },\n\n /**\n * 必须在其它绘制命令前调用\n * Must be invoked before all other path drawing methods\n * @return {module:zrender/core/PathProxy}\n */\n setLineDash: function (lineDash) {\n if (lineDash instanceof Array) {\n this._lineDash = lineDash;\n this._dashIdx = 0;\n var lineDashSum = 0;\n\n for (var i = 0; i < lineDash.length; i++) {\n lineDashSum += lineDash[i];\n }\n\n this._dashSum = lineDashSum;\n }\n\n return this;\n },\n\n /**\n * 必须在其它绘制命令前调用\n * Must be invoked before all other path drawing methods\n * @return {module:zrender/core/PathProxy}\n */\n setLineDashOffset: function (offset) {\n this._dashOffset = offset;\n return this;\n },\n\n /**\n *\n * @return {boolean}\n */\n len: function () {\n return this._len;\n },\n\n /**\n * 直接设置 Path 数据\n */\n setData: function (data) {\n var len = data.length;\n\n if (!(this.data && this.data.length === len) && hasTypedArray) {\n this.data = new Float32Array(len);\n }\n\n for (var i = 0; i < len; i++) {\n this.data[i] = data[i];\n }\n\n this._len = len;\n },\n\n /**\n * 添加子路径\n * @param {module:zrender/core/PathProxy|Array.} path\n */\n appendPath: function (path) {\n if (!(path instanceof Array)) {\n path = [path];\n }\n\n var len = path.length;\n var appendSize = 0;\n var offset = this._len;\n\n for (var i = 0; i < len; i++) {\n appendSize += path[i].len();\n }\n\n if (hasTypedArray && this.data instanceof Float32Array) {\n this.data = new Float32Array(offset + appendSize);\n }\n\n for (var i = 0; i < len; i++) {\n var appendPathData = path[i].data;\n\n for (var k = 0; k < appendPathData.length; k++) {\n this.data[offset++] = appendPathData[k];\n }\n }\n\n this._len = offset;\n },\n\n /**\n * 填充 Path 数据。\n * 尽量复用而不申明新的数组。大部分图形重绘的指令数据长度都是不变的。\n */\n addData: function (cmd) {\n if (!this._saveData) {\n return;\n }\n\n var data = this.data;\n\n if (this._len + arguments.length > data.length) {\n // 因为之前的数组已经转换成静态的 Float32Array\n // 所以不够用时需要扩展一个新的动态数组\n this._expandData();\n\n data = this.data;\n }\n\n for (var i = 0; i < arguments.length; i++) {\n data[this._len++] = arguments[i];\n }\n\n this._prevCmd = cmd;\n },\n _expandData: function () {\n // Only if data is Float32Array\n if (!(this.data instanceof Array)) {\n var newData = [];\n\n for (var i = 0; i < this._len; i++) {\n newData[i] = this.data[i];\n }\n\n this.data = newData;\n }\n },\n\n /**\n * If needs js implemented dashed line\n * @return {boolean}\n * @private\n */\n _needsDash: function () {\n return this._lineDash;\n },\n _dashedLineTo: function (x1, y1) {\n var dashSum = this._dashSum;\n var offset = this._dashOffset;\n var lineDash = this._lineDash;\n var ctx = this._ctx;\n var x0 = this._xi;\n var y0 = this._yi;\n var dx = x1 - x0;\n var dy = y1 - y0;\n var dist = mathSqrt(dx * dx + dy * dy);\n var x = x0;\n var y = y0;\n var dash;\n var nDash = lineDash.length;\n var idx;\n dx /= dist;\n dy /= dist;\n\n if (offset < 0) {\n // Convert to positive offset\n offset = dashSum + offset;\n }\n\n offset %= dashSum;\n x -= offset * dx;\n y -= offset * dy;\n\n while (dx > 0 && x <= x1 || dx < 0 && x >= x1 || dx === 0 && (dy > 0 && y <= y1 || dy < 0 && y >= y1)) {\n idx = this._dashIdx;\n dash = lineDash[idx];\n x += dx * dash;\n y += dy * dash;\n this._dashIdx = (idx + 1) % nDash; // Skip positive offset\n\n if (dx > 0 && x < x0 || dx < 0 && x > x0 || dy > 0 && y < y0 || dy < 0 && y > y0) {\n continue;\n }\n\n ctx[idx % 2 ? 'moveTo' : 'lineTo'](dx >= 0 ? mathMin(x, x1) : mathMax(x, x1), dy >= 0 ? mathMin(y, y1) : mathMax(y, y1));\n } // Offset for next lineTo\n\n\n dx = x - x1;\n dy = y - y1;\n this._dashOffset = -mathSqrt(dx * dx + dy * dy);\n },\n // Not accurate dashed line to\n _dashedBezierTo: function (x1, y1, x2, y2, x3, y3) {\n var dashSum = this._dashSum;\n var offset = this._dashOffset;\n var lineDash = this._lineDash;\n var ctx = this._ctx;\n var x0 = this._xi;\n var y0 = this._yi;\n var t;\n var dx;\n var dy;\n var cubicAt = curve.cubicAt;\n var bezierLen = 0;\n var idx = this._dashIdx;\n var nDash = lineDash.length;\n var x;\n var y;\n var tmpLen = 0;\n\n if (offset < 0) {\n // Convert to positive offset\n offset = dashSum + offset;\n }\n\n offset %= dashSum; // Bezier approx length\n\n for (t = 0; t < 1; t += 0.1) {\n dx = cubicAt(x0, x1, x2, x3, t + 0.1) - cubicAt(x0, x1, x2, x3, t);\n dy = cubicAt(y0, y1, y2, y3, t + 0.1) - cubicAt(y0, y1, y2, y3, t);\n bezierLen += mathSqrt(dx * dx + dy * dy);\n } // Find idx after add offset\n\n\n for (; idx < nDash; idx++) {\n tmpLen += lineDash[idx];\n\n if (tmpLen > offset) {\n break;\n }\n }\n\n t = (tmpLen - offset) / bezierLen;\n\n while (t <= 1) {\n x = cubicAt(x0, x1, x2, x3, t);\n y = cubicAt(y0, y1, y2, y3, t); // Use line to approximate dashed bezier\n // Bad result if dash is long\n\n idx % 2 ? ctx.moveTo(x, y) : ctx.lineTo(x, y);\n t += lineDash[idx] / bezierLen;\n idx = (idx + 1) % nDash;\n } // Finish the last segment and calculate the new offset\n\n\n idx % 2 !== 0 && ctx.lineTo(x3, y3);\n dx = x3 - x;\n dy = y3 - y;\n this._dashOffset = -mathSqrt(dx * dx + dy * dy);\n },\n _dashedQuadraticTo: function (x1, y1, x2, y2) {\n // Convert quadratic to cubic using degree elevation\n var x3 = x2;\n var y3 = y2;\n x2 = (x2 + 2 * x1) / 3;\n y2 = (y2 + 2 * y1) / 3;\n x1 = (this._xi + 2 * x1) / 3;\n y1 = (this._yi + 2 * y1) / 3;\n\n this._dashedBezierTo(x1, y1, x2, y2, x3, y3);\n },\n\n /**\n * 转成静态的 Float32Array 减少堆内存占用\n * Convert dynamic array to static Float32Array\n */\n toStatic: function () {\n var data = this.data;\n\n if (data instanceof Array) {\n data.length = this._len;\n\n if (hasTypedArray) {\n this.data = new Float32Array(data);\n }\n }\n },\n\n /**\n * @return {module:zrender/core/BoundingRect}\n */\n getBoundingRect: function () {\n min[0] = min[1] = min2[0] = min2[1] = Number.MAX_VALUE;\n max[0] = max[1] = max2[0] = max2[1] = -Number.MAX_VALUE;\n var data = this.data;\n var xi = 0;\n var yi = 0;\n var x0 = 0;\n var y0 = 0;\n\n for (var i = 0; i < data.length;) {\n var cmd = data[i++];\n\n if (i === 1) {\n // 如果第一个命令是 L, C, Q\n // 则 previous point 同绘制命令的第一个 point\n //\n // 第一个命令为 Arc 的情况下会在后面特殊处理\n xi = data[i];\n yi = data[i + 1];\n x0 = xi;\n y0 = yi;\n }\n\n switch (cmd) {\n case CMD.M:\n // moveTo 命令重新创建一个新的 subpath, 并且更新新的起点\n // 在 closePath 的时候使用\n x0 = data[i++];\n y0 = data[i++];\n xi = x0;\n yi = y0;\n min2[0] = x0;\n min2[1] = y0;\n max2[0] = x0;\n max2[1] = y0;\n break;\n\n case CMD.L:\n bbox.fromLine(xi, yi, data[i], data[i + 1], min2, max2);\n xi = data[i++];\n yi = data[i++];\n break;\n\n case CMD.C:\n bbox.fromCubic(xi, yi, data[i++], data[i++], data[i++], data[i++], data[i], data[i + 1], min2, max2);\n xi = data[i++];\n yi = data[i++];\n break;\n\n case CMD.Q:\n bbox.fromQuadratic(xi, yi, data[i++], data[i++], data[i], data[i + 1], min2, max2);\n xi = data[i++];\n yi = data[i++];\n break;\n\n case CMD.A:\n // TODO Arc 判断的开销比较大\n var cx = data[i++];\n var cy = data[i++];\n var rx = data[i++];\n var ry = data[i++];\n var startAngle = data[i++];\n var endAngle = data[i++] + startAngle; // TODO Arc 旋转\n\n i += 1;\n var anticlockwise = 1 - data[i++];\n\n if (i === 1) {\n // 直接使用 arc 命令\n // 第一个命令起点还未定义\n x0 = mathCos(startAngle) * rx + cx;\n y0 = mathSin(startAngle) * ry + cy;\n }\n\n bbox.fromArc(cx, cy, rx, ry, startAngle, endAngle, anticlockwise, min2, max2);\n xi = mathCos(endAngle) * rx + cx;\n yi = mathSin(endAngle) * ry + cy;\n break;\n\n case CMD.R:\n x0 = xi = data[i++];\n y0 = yi = data[i++];\n var width = data[i++];\n var height = data[i++]; // Use fromLine\n\n bbox.fromLine(x0, y0, x0 + width, y0 + height, min2, max2);\n break;\n\n case CMD.Z:\n xi = x0;\n yi = y0;\n break;\n } // Union\n\n\n vec2.min(min, min, min2);\n vec2.max(max, max, max2);\n } // No data\n\n\n if (i === 0) {\n min[0] = min[1] = max[0] = max[1] = 0;\n }\n\n return new BoundingRect(min[0], min[1], max[0] - min[0], max[1] - min[1]);\n },\n\n /**\n * Rebuild path from current data\n * Rebuild path will not consider javascript implemented line dash.\n * @param {CanvasRenderingContext2D} ctx\n */\n rebuildPath: function (ctx) {\n var d = this.data;\n var x0;\n var y0;\n var xi;\n var yi;\n var x;\n var y;\n var ux = this._ux;\n var uy = this._uy;\n var len = this._len;\n\n for (var i = 0; i < len;) {\n var cmd = d[i++];\n\n if (i === 1) {\n // 如果第一个命令是 L, C, Q\n // 则 previous point 同绘制命令的第一个 point\n //\n // 第一个命令为 Arc 的情况下会在后面特殊处理\n xi = d[i];\n yi = d[i + 1];\n x0 = xi;\n y0 = yi;\n }\n\n switch (cmd) {\n case CMD.M:\n x0 = xi = d[i++];\n y0 = yi = d[i++];\n ctx.moveTo(xi, yi);\n break;\n\n case CMD.L:\n x = d[i++];\n y = d[i++]; // Not draw too small seg between\n\n if (mathAbs(x - xi) > ux || mathAbs(y - yi) > uy || i === len - 1) {\n ctx.lineTo(x, y);\n xi = x;\n yi = y;\n }\n\n break;\n\n case CMD.C:\n ctx.bezierCurveTo(d[i++], d[i++], d[i++], d[i++], d[i++], d[i++]);\n xi = d[i - 2];\n yi = d[i - 1];\n break;\n\n case CMD.Q:\n ctx.quadraticCurveTo(d[i++], d[i++], d[i++], d[i++]);\n xi = d[i - 2];\n yi = d[i - 1];\n break;\n\n case CMD.A:\n var cx = d[i++];\n var cy = d[i++];\n var rx = d[i++];\n var ry = d[i++];\n var theta = d[i++];\n var dTheta = d[i++];\n var psi = d[i++];\n var fs = d[i++];\n var r = rx > ry ? rx : ry;\n var scaleX = rx > ry ? 1 : rx / ry;\n var scaleY = rx > ry ? ry / rx : 1;\n var isEllipse = Math.abs(rx - ry) > 1e-3;\n var endAngle = theta + dTheta;\n\n if (isEllipse) {\n ctx.translate(cx, cy);\n ctx.rotate(psi);\n ctx.scale(scaleX, scaleY);\n ctx.arc(0, 0, r, theta, endAngle, 1 - fs);\n ctx.scale(1 / scaleX, 1 / scaleY);\n ctx.rotate(-psi);\n ctx.translate(-cx, -cy);\n } else {\n ctx.arc(cx, cy, r, theta, endAngle, 1 - fs);\n }\n\n if (i === 1) {\n // 直接使用 arc 命令\n // 第一个命令起点还未定义\n x0 = mathCos(theta) * rx + cx;\n y0 = mathSin(theta) * ry + cy;\n }\n\n xi = mathCos(endAngle) * rx + cx;\n yi = mathSin(endAngle) * ry + cy;\n break;\n\n case CMD.R:\n x0 = xi = d[i];\n y0 = yi = d[i + 1];\n ctx.rect(d[i++], d[i++], d[i++], d[i++]);\n break;\n\n case CMD.Z:\n ctx.closePath();\n xi = x0;\n yi = y0;\n }\n }\n }\n};\nPathProxy.CMD = CMD;\nvar _default = PathProxy;\nmodule.exports = _default;","'use strict';\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(6);\nvar KEY = 'findIndex';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _conf = _interopRequireDefault(require(\"../../conf\"));\n\nvar _vXETable = _interopRequireDefault(require(\"../../v-x-e-table\"));\n\nvar _tools = require(\"../../tools\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _default = {\n name: 'PlxImportPanel',\n props: {\n defaultOptions: Object,\n storeData: Object\n },\n computed: {\n vSize: function vSize() {\n return this.size || this.$parent.size || this.$parent.vSize;\n },\n selectName: function selectName() {\n return \"\".concat(this.storeData.filename, \".\").concat(this.storeData.type);\n },\n hasFile: function hasFile() {\n return this.storeData.file && this.storeData.type;\n },\n parseTypeLabel: function parseTypeLabel() {\n var storeData = this.storeData;\n\n if (storeData.type) {\n return _conf.default.i18n(\"plx.types.\".concat(storeData.type));\n }\n\n return \"*.\".concat((this.defaultOptions.types || _vXETable.default.importTypes).join(', *.'));\n }\n },\n render: function render(h) {\n var hasFile = this.hasFile,\n parseTypeLabel = this.parseTypeLabel,\n defaultOptions = this.defaultOptions,\n storeData = this.storeData,\n selectName = this.selectName;\n return h('plx-modal', {\n res: 'modal',\n model: {\n value: storeData.visible,\n callback: function callback(value) {\n storeData.visible = value;\n }\n },\n props: {\n title: _conf.default.i18n('plx.toolbar.impTitle'),\n width: 440,\n mask: true,\n lockView: true,\n showFooter: false,\n escClosable: true,\n maskClosable: true\n }\n }, [h('div', {\n class: 'plx-export--panel'\n }, [h('table', {\n attrs: {\n cellspacing: 0,\n cellpadding: 0,\n border: 0\n }\n }, [h('tr', [h('td', _conf.default.i18n('plx.toolbar.impFile')), h('td', [hasFile ? h('div', {\n class: 'plx-import-selected--file',\n attrs: {\n title: selectName\n }\n }, [h('span', selectName), h('i', {\n class: _conf.default.icon.importRemove,\n on: {\n click: this.clearFileEvent\n }\n })]) : h('span', {\n class: 'plx-import-select--file',\n on: {\n click: this.selectFileEvent\n }\n }, _conf.default.i18n('plx.toolbar.impSelect'))])]), h('tr', [h('td', _conf.default.i18n('plx.toolbar.impType')), h('td', parseTypeLabel)]), h('tr', [h('td', _conf.default.i18n('plx.toolbar.impOpts')), h('td', [h('plx-radio', {\n props: {\n name: 'mode',\n label: 'covering',\n title: _conf.default.i18n('plx.toolbar.impCoveringTitle')\n },\n model: {\n value: defaultOptions.mode,\n callback: function callback(value) {\n defaultOptions.mode = value;\n }\n }\n }, _conf.default.i18n('plx.toolbar.impModeCovering')), h('plx-radio', {\n props: {\n name: 'mode',\n label: 'append',\n title: _conf.default.i18n('plx.toolbar.impAppendTitle')\n },\n model: {\n value: defaultOptions.mode,\n callback: function callback(value) {\n defaultOptions.mode = value;\n }\n }\n }, _conf.default.i18n('plx.toolbar.impModeAppend'))])])]), h('div', {\n class: 'plx-export--panel-btns'\n }, [h('plx-button', {\n props: {\n type: 'primary',\n disabled: !hasFile\n },\n on: {\n click: this.importEvent\n }\n }, _conf.default.i18n('plx.toolbar.impConfirm'))])])]);\n },\n methods: {\n clearFileEvent: function clearFileEvent() {\n Object.assign(this.storeData, {\n filename: '',\n sheetName: '',\n type: ''\n });\n },\n selectFileEvent: function selectFileEvent() {\n var _this = this;\n\n var _this$$parent = this.$parent,\n $grid = _this$$parent.$grid,\n $table = _this$$parent.$table;\n var comp = $grid || $table;\n\n if (comp) {\n comp.readFile(this.defaultOptions).then(function (evnt) {\n var file = evnt.target.files[0];\n Object.assign(_this.storeData, _tools.UtilTools.parseFile(file), {\n file: file\n });\n }).catch(function (e) {\n return e;\n });\n }\n },\n importEvent: function importEvent() {\n var storeData = this.storeData,\n defaultOptions = this.defaultOptions;\n var opts = Object.assign({}, defaultOptions);\n storeData.visible = false;\n this.$emit('import', opts);\n }\n }\n};\nexports.default = _default;","\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\nvar echarts = require(\"echarts\");\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*/\nfunction isEmptyObject(obj) {\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n return false;\n }\n }\n\n return true;\n}\n\nvar _default = echarts.extendComponentView({\n type: 'bmap',\n render: function (bMapModel, ecModel, api) {\n var rendering = true;\n var bmap = bMapModel.getBMap();\n var viewportRoot = api.getZr().painter.getViewportRoot();\n var coordSys = bMapModel.coordinateSystem;\n\n var moveHandler = function (type, target) {\n if (rendering) {\n return;\n }\n\n var offsetEl = viewportRoot.parentNode.parentNode.parentNode;\n var mapOffset = [-parseInt(offsetEl.style.left, 10) || 0, -parseInt(offsetEl.style.top, 10) || 0];\n viewportRoot.style.left = mapOffset[0] + 'px';\n viewportRoot.style.top = mapOffset[1] + 'px';\n coordSys.setMapOffset(mapOffset);\n bMapModel.__mapOffset = mapOffset;\n api.dispatchAction({\n type: 'bmapRoam'\n });\n };\n\n function zoomEndHandler() {\n if (rendering) {\n return;\n }\n\n api.dispatchAction({\n type: 'bmapRoam'\n });\n }\n\n bmap.removeEventListener('moving', this._oldMoveHandler);\n bmap.removeEventListener('moveend', this._oldMoveHandler);\n bmap.removeEventListener('zoomend', this._oldZoomEndHandler);\n bmap.addEventListener('moving', moveHandler);\n bmap.addEventListener('moveend', moveHandler);\n bmap.addEventListener('zoomend', zoomEndHandler);\n this._oldMoveHandler = moveHandler;\n this._oldZoomEndHandler = zoomEndHandler;\n var roam = bMapModel.get('roam');\n\n if (roam && roam !== 'scale') {\n bmap.enableDragging();\n } else {\n bmap.disableDragging();\n }\n\n if (roam && roam !== 'move') {\n bmap.enableScrollWheelZoom();\n bmap.enableDoubleClickZoom();\n bmap.enablePinchToZoom();\n } else {\n bmap.disableScrollWheelZoom();\n bmap.disableDoubleClickZoom();\n bmap.disablePinchToZoom();\n }\n /* map 2.0 */\n\n\n var originalStyle = bMapModel.__mapStyle;\n var newMapStyle = bMapModel.get('mapStyle') || {}; // FIXME, Not use JSON methods\n\n var mapStyleStr = JSON.stringify(newMapStyle);\n\n if (JSON.stringify(originalStyle) !== mapStyleStr) {\n // FIXME May have blank tile when dragging if setMapStyle\n if (!isEmptyObject(newMapStyle2)) {\n bmap.setMapStyle(echarts.util.clone(newMapStyle));\n }\n\n bMapModel.__mapStyle = JSON.parse(mapStyleStr);\n }\n /* map 3.0 */\n\n\n var originalStyle2 = bMapModel.__mapStyle2;\n var newMapStyle2 = bMapModel.get('mapStyleV2') || {}; // FIXME, Not use JSON methods\n\n var mapStyleStr2 = JSON.stringify(newMapStyle2);\n\n if (JSON.stringify(originalStyle2) !== mapStyleStr2) {\n // FIXME May have blank tile when dragging if setMapStyle\n if (!isEmptyObject(newMapStyle2)) {\n bmap.setMapStyleV2(echarts.util.clone(newMapStyle2));\n }\n\n bMapModel.__mapStyle2 = JSON.parse(mapStyleStr2);\n }\n\n rendering = false;\n }\n});\n\nmodule.exports = _default;","\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* 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*/\nvar features = {};\n\nfunction register(name, ctor) {\n features[name] = ctor;\n}\n\nfunction get(name) {\n return features[name];\n}\n\nexports.register = register;\nexports.get = get;","'use strict';\nrequire('./es6.regexp.exec');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar wks = require('./_wks');\nvar regexpExec = require('./_regexp-exec');\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n re.exec = function () { execCalled = true; return null; };\n if (KEY === 'split') {\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n }\n re[SYMBOL]('');\n return !execCalled;\n }) : undefined;\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var fns = exec(\n defined,\n SYMBOL,\n ''[KEY],\n function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }\n );\n var strfn = fns[0];\n var rxfn = fns[1];\n\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\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*/\n\nvar SeriesModel = require(\"../../model/Series\");\n\nvar Tree = require(\"../../data/Tree\");\n\nvar _format = require(\"../../util/format\");\n\nvar encodeHTML = _format.encodeHTML;\n\nvar Model = require(\"../../model/Model\");\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*/\nvar _default = SeriesModel.extend({\n type: 'series.tree',\n layoutInfo: null,\n // can support the position parameters 'left', 'top','right','bottom', 'width',\n // 'height' in the setOption() with 'merge' mode normal.\n layoutMode: 'box',\n\n /**\n * Init a tree data structure from data in option series\n * @param {Object} option the object used to config echarts view\n * @return {module:echarts/data/List} storage initial data\n */\n getInitialData: function (option) {\n //create an virtual root\n var root = {\n name: option.name,\n children: option.data\n };\n var leaves = option.leaves || {};\n var leavesModel = new Model(leaves, this, this.ecModel);\n var tree = Tree.createTree(root, this, beforeLink);\n\n function beforeLink(nodeData) {\n nodeData.wrapMethod('getItemModel', function (model, idx) {\n var node = tree.getNodeByDataIndex(idx);\n\n if (!node.children.length || !node.isExpand) {\n model.parentModel = leavesModel;\n }\n\n return model;\n });\n }\n\n var treeDepth = 0;\n tree.eachNode('preorder', function (node) {\n if (node.depth > treeDepth) {\n treeDepth = node.depth;\n }\n });\n var expandAndCollapse = option.expandAndCollapse;\n var expandTreeDepth = expandAndCollapse && option.initialTreeDepth >= 0 ? option.initialTreeDepth : treeDepth;\n tree.root.eachNode('preorder', function (node) {\n var item = node.hostTree.data.getRawDataItem(node.dataIndex); // Add item.collapsed != null, because users can collapse node original in the series.data.\n\n node.isExpand = item && item.collapsed != null ? !item.collapsed : node.depth <= expandTreeDepth;\n });\n return tree.data;\n },\n\n /**\n * Make the configuration 'orient' backward compatibly, with 'horizontal = LR', 'vertical = TB'.\n * @returns {string} orient\n */\n getOrient: function () {\n var orient = this.get('orient');\n\n if (orient === 'horizontal') {\n orient = 'LR';\n } else if (orient === 'vertical') {\n orient = 'TB';\n }\n\n return orient;\n },\n setZoom: function (zoom) {\n this.option.zoom = zoom;\n },\n setCenter: function (center) {\n this.option.center = center;\n },\n\n /**\n * @override\n * @param {number} dataIndex\n */\n formatTooltip: function (dataIndex) {\n var tree = this.getData().tree;\n var realRoot = tree.root.children[0];\n var node = tree.getNodeByDataIndex(dataIndex);\n var value = node.getValue();\n var name = node.name;\n\n while (node && node !== realRoot) {\n name = node.parentNode.name + '.' + name;\n node = node.parentNode;\n }\n\n return encodeHTML(name + (isNaN(value) || value == null ? '' : ' : ' + value));\n },\n defaultOption: {\n zlevel: 0,\n z: 2,\n coordinateSystem: 'view',\n // the position of the whole view\n left: '12%',\n top: '12%',\n right: '12%',\n bottom: '12%',\n // the layout of the tree, two value can be selected, 'orthogonal' or 'radial'\n layout: 'orthogonal',\n // value can be 'polyline'\n edgeShape: 'curve',\n edgeForkPosition: '50%',\n // true | false | 'move' | 'scale', see module:component/helper/RoamController.\n roam: false,\n // Symbol size scale ratio in roam\n nodeScaleRatio: 0.4,\n // Default on center of graph\n center: null,\n zoom: 1,\n // The orient of orthoginal layout, can be setted to 'LR', 'TB', 'RL', 'BT'.\n // and the backward compatibility configuration 'horizontal = LR', 'vertical = TB'.\n orient: 'LR',\n symbol: 'emptyCircle',\n symbolSize: 7,\n expandAndCollapse: true,\n initialTreeDepth: 2,\n lineStyle: {\n color: '#ccc',\n width: 1.5,\n curveness: 0.5\n },\n itemStyle: {\n color: 'lightsteelblue',\n borderColor: '#c23531',\n borderWidth: 1.5\n },\n label: {\n show: true,\n color: '#555'\n },\n leaves: {\n label: {\n show: true\n }\n },\n animationEasing: 'linear',\n animationDuration: 700,\n animationDurationUpdate: 1000\n }\n});\n\nmodule.exports = _default;","\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\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar numberUtil = require(\"../util/number\");\n\nvar formatUtil = require(\"../util/format\");\n\nvar scaleHelper = require(\"./helper\");\n\nvar IntervalScale = require(\"./Interval\");\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* A third-party license is embeded for some of the code in this file:\n* The \"scaleLevels\" was originally copied from \"d3.js\" with some\n* modifications made for this project.\n* (See more details in the comment on the definition of \"scaleLevels\" below.)\n* The use of the source code of this file is also subject to the terms\n* and consitions of the license of \"d3.js\" (BSD-3Clause, see\n* ).\n*/\n// [About UTC and local time zone]:\n// In most cases, `number.parseDate` will treat input data string as local time\n// (except time zone is specified in time string). And `format.formateTime` returns\n// local time by default. option.useUTC is false by default. This design have\n// concidered these common case:\n// (1) Time that is persistent in server is in UTC, but it is needed to be diplayed\n// in local time by default.\n// (2) By default, the input data string (e.g., '2011-01-02') should be displayed\n// as its original time, without any time difference.\nvar intervalScaleProto = IntervalScale.prototype;\nvar mathCeil = Math.ceil;\nvar mathFloor = Math.floor;\nvar ONE_SECOND = 1000;\nvar ONE_MINUTE = ONE_SECOND * 60;\nvar ONE_HOUR = ONE_MINUTE * 60;\nvar ONE_DAY = ONE_HOUR * 24; // FIXME 公用?\n\nvar bisect = function (a, x, lo, hi) {\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n\n if (a[mid][1] < x) {\n lo = mid + 1;\n } else {\n hi = mid;\n }\n }\n\n return lo;\n};\n/**\n * @alias module:echarts/coord/scale/Time\n * @constructor\n */\n\n\nvar TimeScale = IntervalScale.extend({\n type: 'time',\n\n /**\n * @override\n */\n getLabel: function (val) {\n var stepLvl = this._stepLvl;\n var date = new Date(val);\n return formatUtil.formatTime(stepLvl[0], date, this.getSetting('useUTC'));\n },\n\n /**\n * @override\n */\n niceExtent: function (opt) {\n var extent = this._extent; // If extent start and end are same, expand them\n\n if (extent[0] === extent[1]) {\n // Expand extent\n extent[0] -= ONE_DAY;\n extent[1] += ONE_DAY;\n } // If there are no data and extent are [Infinity, -Infinity]\n\n\n if (extent[1] === -Infinity && extent[0] === Infinity) {\n var d = new Date();\n extent[1] = +new Date(d.getFullYear(), d.getMonth(), d.getDate());\n extent[0] = extent[1] - ONE_DAY;\n }\n\n this.niceTicks(opt.splitNumber, opt.minInterval, opt.maxInterval); // var extent = this._extent;\n\n var interval = this._interval;\n\n if (!opt.fixMin) {\n extent[0] = numberUtil.round(mathFloor(extent[0] / interval) * interval);\n }\n\n if (!opt.fixMax) {\n extent[1] = numberUtil.round(mathCeil(extent[1] / interval) * interval);\n }\n },\n\n /**\n * @override\n */\n niceTicks: function (approxTickNum, minInterval, maxInterval) {\n approxTickNum = approxTickNum || 10;\n var extent = this._extent;\n var span = extent[1] - extent[0];\n var approxInterval = span / approxTickNum;\n\n if (minInterval != null && approxInterval < minInterval) {\n approxInterval = minInterval;\n }\n\n if (maxInterval != null && approxInterval > maxInterval) {\n approxInterval = maxInterval;\n }\n\n var scaleLevelsLen = scaleLevels.length;\n var idx = bisect(scaleLevels, approxInterval, 0, scaleLevelsLen);\n var level = scaleLevels[Math.min(idx, scaleLevelsLen - 1)];\n var interval = level[1]; // Same with interval scale if span is much larger than 1 year\n\n if (level[0] === 'year') {\n var yearSpan = span / interval; // From \"Nice Numbers for Graph Labels\" of Graphic Gems\n // var niceYearSpan = numberUtil.nice(yearSpan, false);\n\n var yearStep = numberUtil.nice(yearSpan / approxTickNum, true);\n interval *= yearStep;\n }\n\n var timezoneOffset = this.getSetting('useUTC') ? 0 : new Date(+extent[0] || +extent[1]).getTimezoneOffset() * 60 * 1000;\n var niceExtent = [Math.round(mathCeil((extent[0] - timezoneOffset) / interval) * interval + timezoneOffset), Math.round(mathFloor((extent[1] - timezoneOffset) / interval) * interval + timezoneOffset)];\n scaleHelper.fixExtent(niceExtent, extent);\n this._stepLvl = level; // Interval will be used in getTicks\n\n this._interval = interval;\n this._niceExtent = niceExtent;\n },\n parse: function (val) {\n // val might be float.\n return +numberUtil.parseDate(val);\n }\n});\nzrUtil.each(['contain', 'normalize'], function (methodName) {\n TimeScale.prototype[methodName] = function (val) {\n return intervalScaleProto[methodName].call(this, this.parse(val));\n };\n});\n/**\n * This implementation was originally copied from \"d3.js\"\n * \n * with some modifications made for this program.\n * See the license statement at the head of this file.\n */\n\nvar scaleLevels = [// Format interval\n['hh:mm:ss', ONE_SECOND], // 1s\n['hh:mm:ss', ONE_SECOND * 5], // 5s\n['hh:mm:ss', ONE_SECOND * 10], // 10s\n['hh:mm:ss', ONE_SECOND * 15], // 15s\n['hh:mm:ss', ONE_SECOND * 30], // 30s\n['hh:mm\\nMM-dd', ONE_MINUTE], // 1m\n['hh:mm\\nMM-dd', ONE_MINUTE * 5], // 5m\n['hh:mm\\nMM-dd', ONE_MINUTE * 10], // 10m\n['hh:mm\\nMM-dd', ONE_MINUTE * 15], // 15m\n['hh:mm\\nMM-dd', ONE_MINUTE * 30], // 30m\n['hh:mm\\nMM-dd', ONE_HOUR], // 1h\n['hh:mm\\nMM-dd', ONE_HOUR * 2], // 2h\n['hh:mm\\nMM-dd', ONE_HOUR * 6], // 6h\n['hh:mm\\nMM-dd', ONE_HOUR * 12], // 12h\n['MM-dd\\nyyyy', ONE_DAY], // 1d\n['MM-dd\\nyyyy', ONE_DAY * 2], // 2d\n['MM-dd\\nyyyy', ONE_DAY * 3], // 3d\n['MM-dd\\nyyyy', ONE_DAY * 4], // 4d\n['MM-dd\\nyyyy', ONE_DAY * 5], // 5d\n['MM-dd\\nyyyy', ONE_DAY * 6], // 6d\n['week', ONE_DAY * 7], // 7d\n['MM-dd\\nyyyy', ONE_DAY * 10], // 10d\n['week', ONE_DAY * 14], // 2w\n['week', ONE_DAY * 21], // 3w\n['month', ONE_DAY * 31], // 1M\n['week', ONE_DAY * 42], // 6w\n['month', ONE_DAY * 62], // 2M\n['week', ONE_DAY * 70], // 10w\n['quarter', ONE_DAY * 95], // 3M\n['month', ONE_DAY * 31 * 4], // 4M\n['month', ONE_DAY * 31 * 5], // 5M\n['half-year', ONE_DAY * 380 / 2], // 6M\n['month', ONE_DAY * 31 * 8], // 8M\n['month', ONE_DAY * 31 * 10], // 10M\n['year', ONE_DAY * 380] // 1Y\n];\n/**\n * @param {module:echarts/model/Model}\n * @return {module:echarts/scale/Time}\n */\n\nTimeScale.create = function (model) {\n return new TimeScale({\n useUTC: model.ecModel.get('useUTC')\n });\n};\n\nvar _default = TimeScale;\nmodule.exports = _default;","\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\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar createListFromArray = require(\"../helper/createListFromArray\");\n\nvar SeriesModel = require(\"../../model/Series\");\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*/\nvar _default = SeriesModel.extend({\n type: 'series.line',\n dependencies: ['grid', 'polar'],\n getInitialData: function (option, ecModel) {\n return createListFromArray(this.getSource(), this, {\n useEncodeDefaulter: true\n });\n },\n defaultOption: {\n zlevel: 0,\n z: 2,\n coordinateSystem: 'cartesian2d',\n legendHoverLink: true,\n hoverAnimation: true,\n // stack: null\n // xAxisIndex: 0,\n // yAxisIndex: 0,\n // polarIndex: 0,\n // If clip the overflow value\n clip: true,\n // cursor: null,\n label: {\n position: 'top'\n },\n // itemStyle: {\n // },\n lineStyle: {\n width: 2,\n type: 'solid'\n },\n // areaStyle: {\n // origin of areaStyle. Valid values:\n // `'auto'/null/undefined`: from axisLine to data\n // `'start'`: from min to data\n // `'end'`: from data to max\n // origin: 'auto'\n // },\n // false, 'start', 'end', 'middle'\n step: false,\n // Disabled if step is true\n smooth: false,\n smoothMonotone: null,\n symbol: 'emptyCircle',\n symbolSize: 4,\n symbolRotate: null,\n showSymbol: true,\n // `false`: follow the label interval strategy.\n // `true`: show all symbols.\n // `'auto'`: If possible, show all symbols, otherwise\n // follow the label interval strategy.\n showAllSymbol: 'auto',\n // Whether to connect break point.\n connectNulls: false,\n // Sampling for large data. Can be: 'average', 'max', 'min', 'sum'.\n sampling: 'none',\n animationEasing: 'linear',\n // Disable progressive\n progressive: 0,\n hoverLayerThreshold: Infinity\n }\n});\n\nmodule.exports = _default;","\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\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Component = require(\"../../model/Component\");\n\nrequire(\"./AxisModel\");\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*/\nvar _default = Component.extend({\n type: 'parallel',\n dependencies: ['parallelAxis'],\n\n /**\n * @type {module:echarts/coord/parallel/Parallel}\n */\n coordinateSystem: null,\n\n /**\n * Each item like: 'dim0', 'dim1', 'dim2', ...\n * @type {Array.}\n * @readOnly\n */\n dimensions: null,\n\n /**\n * Coresponding to dimensions.\n * @type {Array.}\n * @readOnly\n */\n parallelAxisIndex: null,\n layoutMode: 'box',\n defaultOption: {\n zlevel: 0,\n z: 0,\n left: 80,\n top: 60,\n right: 80,\n bottom: 60,\n // width: {totalWidth} - left - right,\n // height: {totalHeight} - top - bottom,\n layout: 'horizontal',\n // 'horizontal' or 'vertical'\n // FIXME\n // naming?\n axisExpandable: false,\n axisExpandCenter: null,\n axisExpandCount: 0,\n axisExpandWidth: 50,\n // FIXME '10%' ?\n axisExpandRate: 17,\n axisExpandDebounce: 50,\n // [out, in, jumpTarget]. In percentage. If use [null, 0.05], null means full.\n // Do not doc to user until necessary.\n axisExpandSlideTriggerArea: [-0.15, 0.05, 0.4],\n axisExpandTriggerOn: 'click',\n // 'mousemove' or 'click'\n parallelAxisDefault: null\n },\n\n /**\n * @override\n */\n init: function () {\n Component.prototype.init.apply(this, arguments);\n this.mergeOption({});\n },\n\n /**\n * @override\n */\n mergeOption: function (newOption) {\n var thisOption = this.option;\n newOption && zrUtil.merge(thisOption, newOption, true);\n\n this._initDimensions();\n },\n\n /**\n * Whether series or axis is in this coordinate system.\n * @param {module:echarts/model/Series|module:echarts/coord/parallel/AxisModel} model\n * @param {module:echarts/model/Global} ecModel\n */\n contains: function (model, ecModel) {\n var parallelIndex = model.get('parallelIndex');\n return parallelIndex != null && ecModel.getComponent('parallel', parallelIndex) === this;\n },\n setAxisExpand: function (opt) {\n zrUtil.each(['axisExpandable', 'axisExpandCenter', 'axisExpandCount', 'axisExpandWidth', 'axisExpandWindow'], function (name) {\n if (opt.hasOwnProperty(name)) {\n this.option[name] = opt[name];\n }\n }, this);\n },\n\n /**\n * @private\n */\n _initDimensions: function () {\n var dimensions = this.dimensions = [];\n var parallelAxisIndex = this.parallelAxisIndex = [];\n var axisModels = zrUtil.filter(this.dependentModels.parallelAxis, function (axisModel) {\n // Can not use this.contains here, because\n // initialization has not been completed yet.\n return (axisModel.get('parallelIndex') || 0) === this.componentIndex;\n }, this);\n zrUtil.each(axisModels, function (axisModel) {\n dimensions.push('dim' + axisModel.get('dim'));\n parallelAxisIndex.push(axisModel.componentIndex);\n });\n }\n});\n\nmodule.exports = _default;","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.BrowserSprite = factory());\n}(this, (function () { 'use strict';\n\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\n\n\n\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar deepmerge = createCommonjsModule(function (module, exports) {\n(function (root, factory) {\n if (typeof undefined === 'function' && undefined.amd) {\n undefined(factory);\n } else {\n module.exports = factory();\n }\n}(commonjsGlobal, function () {\n\nfunction isMergeableObject(val) {\n var nonNullObject = val && typeof val === 'object';\n\n return nonNullObject\n && Object.prototype.toString.call(val) !== '[object RegExp]'\n && Object.prototype.toString.call(val) !== '[object Date]'\n}\n\nfunction emptyTarget(val) {\n return Array.isArray(val) ? [] : {}\n}\n\nfunction cloneIfNecessary(value, optionsArgument) {\n var clone = optionsArgument && optionsArgument.clone === true;\n return (clone && isMergeableObject(value)) ? deepmerge(emptyTarget(value), value, optionsArgument) : value\n}\n\nfunction defaultArrayMerge(target, source, optionsArgument) {\n var destination = target.slice();\n source.forEach(function(e, i) {\n if (typeof destination[i] === 'undefined') {\n destination[i] = cloneIfNecessary(e, optionsArgument);\n } else if (isMergeableObject(e)) {\n destination[i] = deepmerge(target[i], e, optionsArgument);\n } else if (target.indexOf(e) === -1) {\n destination.push(cloneIfNecessary(e, optionsArgument));\n }\n });\n return destination\n}\n\nfunction mergeObject(target, source, optionsArgument) {\n var destination = {};\n if (isMergeableObject(target)) {\n Object.keys(target).forEach(function (key) {\n destination[key] = cloneIfNecessary(target[key], optionsArgument);\n });\n }\n Object.keys(source).forEach(function (key) {\n if (!isMergeableObject(source[key]) || !target[key]) {\n destination[key] = cloneIfNecessary(source[key], optionsArgument);\n } else {\n destination[key] = deepmerge(target[key], source[key], optionsArgument);\n }\n });\n return destination\n}\n\nfunction deepmerge(target, source, optionsArgument) {\n var array = Array.isArray(source);\n var options = optionsArgument || { arrayMerge: defaultArrayMerge };\n var arrayMerge = options.arrayMerge || defaultArrayMerge;\n\n if (array) {\n return Array.isArray(target) ? arrayMerge(target, source, optionsArgument) : cloneIfNecessary(source, optionsArgument)\n } else {\n return mergeObject(target, source, optionsArgument)\n }\n}\n\ndeepmerge.all = function deepmergeAll(array, optionsArgument) {\n if (!Array.isArray(array) || array.length < 2) {\n throw new Error('first argument should be an array with at least two elements')\n }\n\n // we are sure there are at least 2 values, so it is safe to have no initial value\n return array.reduce(function(prev, next) {\n return deepmerge(prev, next, optionsArgument)\n })\n};\n\nreturn deepmerge\n\n}));\n});\n\n// \n// An event handler can take an optional event argument\n// and should not return a value\n \n// An array of all currently registered event handlers for a type\n \n// A map of event types and their corresponding event handlers.\n \n \n \n\n/** Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nfunction mitt(all ) {\n\tall = all || Object.create(null);\n\n\treturn {\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to listen for, or `\"*\"` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton: function on(type , handler ) {\n\t\t\t(all[type] || (all[type] = [])).push(handler);\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to unregister `handler` from, or `\"*\"`\n\t\t * @param {Function} handler Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff: function off(type , handler ) {\n\t\t\tif (all[type]) {\n\t\t\t\tall[type].splice(all[type].indexOf(handler) >>> 0, 1);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `\"*\"` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * @param {String} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberof mitt\n\t\t */\n\t\temit: function emit(type , evt ) {\n\t\t\t(all[type] || []).map(function (handler) { handler(evt); });\n\t\t\t(all['*'] || []).map(function (handler) { handler(type, evt); });\n\t\t}\n\t};\n}\n\nvar namespaces_1 = createCommonjsModule(function (module, exports) {\nvar namespaces = {\n svg: {\n name: 'xmlns',\n uri: 'http://www.w3.org/2000/svg'\n },\n xlink: {\n name: 'xmlns:xlink',\n uri: 'http://www.w3.org/1999/xlink'\n }\n};\n\nexports.default = namespaces;\nmodule.exports = exports.default;\n});\n\n/**\n * @param {Object} attrs\n * @return {string}\n */\nvar objectToAttrsString = function (attrs) {\n return Object.keys(attrs).map(function (attr) {\n var value = attrs[attr].toString().replace(/\"/g, '"');\n return (attr + \"=\\\"\" + value + \"\\\"\");\n }).join(' ');\n};\n\nvar svg = namespaces_1.svg;\nvar xlink = namespaces_1.xlink;\n\nvar defaultAttrs = {};\ndefaultAttrs[svg.name] = svg.uri;\ndefaultAttrs[xlink.name] = xlink.uri;\n\n/**\n * @param {string} [content]\n * @param {Object} [attributes]\n * @return {string}\n */\nvar wrapInSvgString = function (content, attributes) {\n if ( content === void 0 ) content = '';\n\n var attrs = deepmerge(defaultAttrs, attributes || {});\n var attrsRendered = objectToAttrsString(attrs);\n return (\"\" + content + \"\");\n};\n\nvar svg$1 = namespaces_1.svg;\nvar xlink$1 = namespaces_1.xlink;\n\nvar defaultConfig = {\n attrs: ( obj = {\n style: ['position: absolute', 'width: 0', 'height: 0'].join('; ')\n }, obj[svg$1.name] = svg$1.uri, obj[xlink$1.name] = xlink$1.uri, obj )\n};\nvar obj;\n\nvar Sprite = function Sprite(config) {\n this.config = deepmerge(defaultConfig, config || {});\n this.symbols = [];\n};\n\n/**\n * Add new symbol. If symbol with the same id exists it will be replaced.\n * @param {SpriteSymbol} symbol\n * @return {boolean} `true` - symbol was added, `false` - replaced\n */\nSprite.prototype.add = function add (symbol) {\n var ref = this;\n var symbols = ref.symbols;\n var existing = this.find(symbol.id);\n\n if (existing) {\n symbols[symbols.indexOf(existing)] = symbol;\n return false;\n }\n\n symbols.push(symbol);\n return true;\n};\n\n/**\n * Remove symbol & destroy it\n * @param {string} id\n * @return {boolean} `true` - symbol was found & successfully destroyed, `false` - otherwise\n */\nSprite.prototype.remove = function remove (id) {\n var ref = this;\n var symbols = ref.symbols;\n var symbol = this.find(id);\n\n if (symbol) {\n symbols.splice(symbols.indexOf(symbol), 1);\n symbol.destroy();\n return true;\n }\n\n return false;\n};\n\n/**\n * @param {string} id\n * @return {SpriteSymbol|null}\n */\nSprite.prototype.find = function find (id) {\n return this.symbols.filter(function (s) { return s.id === id; })[0] || null;\n};\n\n/**\n * @param {string} id\n * @return {boolean}\n */\nSprite.prototype.has = function has (id) {\n return this.find(id) !== null;\n};\n\n/**\n * @return {string}\n */\nSprite.prototype.stringify = function stringify () {\n var ref = this.config;\n var attrs = ref.attrs;\n var stringifiedSymbols = this.symbols.map(function (s) { return s.stringify(); }).join('');\n return wrapInSvgString(stringifiedSymbols, attrs);\n};\n\n/**\n * @return {string}\n */\nSprite.prototype.toString = function toString () {\n return this.stringify();\n};\n\nSprite.prototype.destroy = function destroy () {\n this.symbols.forEach(function (s) { return s.destroy(); });\n};\n\nvar SpriteSymbol = function SpriteSymbol(ref) {\n var id = ref.id;\n var viewBox = ref.viewBox;\n var content = ref.content;\n\n this.id = id;\n this.viewBox = viewBox;\n this.content = content;\n};\n\n/**\n * @return {string}\n */\nSpriteSymbol.prototype.stringify = function stringify () {\n return this.content;\n};\n\n/**\n * @return {string}\n */\nSpriteSymbol.prototype.toString = function toString () {\n return this.stringify();\n};\n\nSpriteSymbol.prototype.destroy = function destroy () {\n var this$1 = this;\n\n ['id', 'viewBox', 'content'].forEach(function (prop) { return delete this$1[prop]; });\n};\n\n/**\n * @param {string} content\n * @return {Element}\n */\nvar parse = function (content) {\n var hasImportNode = !!document.importNode;\n var doc = new DOMParser().parseFromString(content, 'image/svg+xml').documentElement;\n\n /**\n * Fix for browser which are throwing WrongDocumentError\n * if you insert an element which is not part of the document\n * @see http://stackoverflow.com/a/7986519/4624403\n */\n if (hasImportNode) {\n return document.importNode(doc, true);\n }\n\n return doc;\n};\n\nvar BrowserSpriteSymbol = (function (SpriteSymbol$$1) {\n function BrowserSpriteSymbol () {\n SpriteSymbol$$1.apply(this, arguments);\n }\n\n if ( SpriteSymbol$$1 ) BrowserSpriteSymbol.__proto__ = SpriteSymbol$$1;\n BrowserSpriteSymbol.prototype = Object.create( SpriteSymbol$$1 && SpriteSymbol$$1.prototype );\n BrowserSpriteSymbol.prototype.constructor = BrowserSpriteSymbol;\n\n var prototypeAccessors = { isMounted: {} };\n\n prototypeAccessors.isMounted.get = function () {\n return !!this.node;\n };\n\n /**\n * @param {Element} node\n * @return {BrowserSpriteSymbol}\n */\n BrowserSpriteSymbol.createFromExistingNode = function createFromExistingNode (node) {\n return new BrowserSpriteSymbol({\n id: node.getAttribute('id'),\n viewBox: node.getAttribute('viewBox'),\n content: node.outerHTML\n });\n };\n\n BrowserSpriteSymbol.prototype.destroy = function destroy () {\n if (this.isMounted) {\n this.unmount();\n }\n SpriteSymbol$$1.prototype.destroy.call(this);\n };\n\n /**\n * @param {Element|string} target\n * @return {Element}\n */\n BrowserSpriteSymbol.prototype.mount = function mount (target) {\n if (this.isMounted) {\n return this.node;\n }\n\n var mountTarget = typeof target === 'string' ? document.querySelector(target) : target;\n var node = this.render();\n this.node = node;\n\n mountTarget.appendChild(node);\n\n return node;\n };\n\n /**\n * @return {Element}\n */\n BrowserSpriteSymbol.prototype.render = function render () {\n var content = this.stringify();\n return parse(wrapInSvgString(content)).childNodes[0];\n };\n\n BrowserSpriteSymbol.prototype.unmount = function unmount () {\n this.node.parentNode.removeChild(this.node);\n };\n\n Object.defineProperties( BrowserSpriteSymbol.prototype, prototypeAccessors );\n\n return BrowserSpriteSymbol;\n}(SpriteSymbol));\n\nvar defaultConfig$1 = {\n /**\n * Should following options be automatically configured:\n * - `syncUrlsWithBaseTag`\n * - `locationChangeAngularEmitter`\n * - `moveGradientsOutsideSymbol`\n * @type {boolean}\n */\n autoConfigure: true,\n\n /**\n * Default mounting selector\n * @type {string}\n */\n mountTo: 'body',\n\n /**\n * Fix disappearing SVG elements when exists.\n * Executes when sprite mounted.\n * @see http://stackoverflow.com/a/18265336/796152\n * @see https://github.com/everdimension/angular-svg-base-fix\n * @see https://github.com/angular/angular.js/issues/8934#issuecomment-56568466\n * @type {boolean}\n */\n syncUrlsWithBaseTag: false,\n\n /**\n * Should sprite listen custom location change event\n * @type {boolean}\n */\n listenLocationChangeEvent: true,\n\n /**\n * Custom window event name which should be emitted to update sprite urls\n * @type {string}\n */\n locationChangeEvent: 'locationChange',\n\n /**\n * Emit location change event in Angular automatically\n * @type {boolean}\n */\n locationChangeAngularEmitter: false,\n\n /**\n * Selector to find symbols usages when updating sprite urls\n * @type {string}\n */\n usagesToUpdate: 'use[*|href]',\n\n /**\n * Fix Firefox bug when gradients and patterns don't work if they are within a symbol.\n * Executes when sprite is rendered, but not mounted.\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=306674\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=353575\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=1235364\n * @type {boolean}\n */\n moveGradientsOutsideSymbol: false\n};\n\n/**\n * @param {*} arrayLike\n * @return {Array}\n */\nvar arrayFrom = function (arrayLike) {\n return Array.prototype.slice.call(arrayLike, 0);\n};\n\nvar ua = navigator.userAgent;\n\nvar browser = {\n isChrome: /chrome/i.test(ua),\n isFirefox: /firefox/i.test(ua),\n\n // https://msdn.microsoft.com/en-us/library/ms537503(v=vs.85).aspx\n isIE: /msie/i.test(ua) || /trident/i.test(ua),\n isEdge: /edge/i.test(ua)\n};\n\n/**\n * @param {string} name\n * @param {*} data\n */\nvar dispatchEvent = function (name, data) {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent(name, false, false, data);\n window.dispatchEvent(event);\n};\n\n/**\n * IE doesn't evaluate in svg, where nodeName is 'style',\n // CSS classes is defined globally wherever the style tags are declared.\n\n if (nodeName === 'defs') {\n // define flag\n this._isDefine = true;\n } else if (nodeName === 'text') {\n this._isText = true;\n }\n\n var el;\n\n if (this._isDefine) {\n var parser = defineParsers[nodeName];\n\n if (parser) {\n var def = parser.call(this, xmlNode);\n var id = xmlNode.getAttribute('id');\n\n if (id) {\n this._defs[id] = def;\n }\n }\n } else {\n var parser = nodeParsers[nodeName];\n\n if (parser) {\n el = parser.call(this, xmlNode, parentGroup);\n parentGroup.add(el);\n }\n }\n\n var child = xmlNode.firstChild;\n\n while (child) {\n if (child.nodeType === 1) {\n this._parseNode(child, el);\n } // Is text\n\n\n if (child.nodeType === 3 && this._isText) {\n this._parseText(child, el);\n }\n\n child = child.nextSibling;\n } // Quit define\n\n\n if (nodeName === 'defs') {\n this._isDefine = false;\n } else if (nodeName === 'text') {\n this._isText = false;\n }\n};\n\nSVGParser.prototype._parseText = function (xmlNode, parentGroup) {\n if (xmlNode.nodeType === 1) {\n var dx = xmlNode.getAttribute('dx') || 0;\n var dy = xmlNode.getAttribute('dy') || 0;\n this._textX += parseFloat(dx);\n this._textY += parseFloat(dy);\n }\n\n var text = new Text({\n style: {\n text: xmlNode.textContent,\n transformText: true\n },\n position: [this._textX || 0, this._textY || 0]\n });\n inheritStyle(parentGroup, text);\n parseAttributes(xmlNode, text, this._defs);\n var fontSize = text.style.fontSize;\n\n if (fontSize && fontSize < 9) {\n // PENDING\n text.style.fontSize = 9;\n text.scale = text.scale || [1, 1];\n text.scale[0] *= fontSize / 9;\n text.scale[1] *= fontSize / 9;\n }\n\n var rect = text.getBoundingRect();\n this._textX += rect.width;\n parentGroup.add(text);\n return text;\n};\n\nvar nodeParsers = {\n 'g': function (xmlNode, parentGroup) {\n var g = new Group();\n inheritStyle(parentGroup, g);\n parseAttributes(xmlNode, g, this._defs);\n return g;\n },\n 'rect': function (xmlNode, parentGroup) {\n var rect = new Rect();\n inheritStyle(parentGroup, rect);\n parseAttributes(xmlNode, rect, this._defs);\n rect.setShape({\n x: parseFloat(xmlNode.getAttribute('x') || 0),\n y: parseFloat(xmlNode.getAttribute('y') || 0),\n width: parseFloat(xmlNode.getAttribute('width') || 0),\n height: parseFloat(xmlNode.getAttribute('height') || 0)\n }); // console.log(xmlNode.getAttribute('transform'));\n // console.log(rect.transform);\n\n return rect;\n },\n 'circle': function (xmlNode, parentGroup) {\n var circle = new Circle();\n inheritStyle(parentGroup, circle);\n parseAttributes(xmlNode, circle, this._defs);\n circle.setShape({\n cx: parseFloat(xmlNode.getAttribute('cx') || 0),\n cy: parseFloat(xmlNode.getAttribute('cy') || 0),\n r: parseFloat(xmlNode.getAttribute('r') || 0)\n });\n return circle;\n },\n 'line': function (xmlNode, parentGroup) {\n var line = new Line();\n inheritStyle(parentGroup, line);\n parseAttributes(xmlNode, line, this._defs);\n line.setShape({\n x1: parseFloat(xmlNode.getAttribute('x1') || 0),\n y1: parseFloat(xmlNode.getAttribute('y1') || 0),\n x2: parseFloat(xmlNode.getAttribute('x2') || 0),\n y2: parseFloat(xmlNode.getAttribute('y2') || 0)\n });\n return line;\n },\n 'ellipse': function (xmlNode, parentGroup) {\n var ellipse = new Ellipse();\n inheritStyle(parentGroup, ellipse);\n parseAttributes(xmlNode, ellipse, this._defs);\n ellipse.setShape({\n cx: parseFloat(xmlNode.getAttribute('cx') || 0),\n cy: parseFloat(xmlNode.getAttribute('cy') || 0),\n rx: parseFloat(xmlNode.getAttribute('rx') || 0),\n ry: parseFloat(xmlNode.getAttribute('ry') || 0)\n });\n return ellipse;\n },\n 'polygon': function (xmlNode, parentGroup) {\n var points = xmlNode.getAttribute('points');\n\n if (points) {\n points = parsePoints(points);\n }\n\n var polygon = new Polygon({\n shape: {\n points: points || []\n }\n });\n inheritStyle(parentGroup, polygon);\n parseAttributes(xmlNode, polygon, this._defs);\n return polygon;\n },\n 'polyline': function (xmlNode, parentGroup) {\n var path = new Path();\n inheritStyle(parentGroup, path);\n parseAttributes(xmlNode, path, this._defs);\n var points = xmlNode.getAttribute('points');\n\n if (points) {\n points = parsePoints(points);\n }\n\n var polyline = new Polyline({\n shape: {\n points: points || []\n }\n });\n return polyline;\n },\n 'image': function (xmlNode, parentGroup) {\n var img = new ZImage();\n inheritStyle(parentGroup, img);\n parseAttributes(xmlNode, img, this._defs);\n img.setStyle({\n image: xmlNode.getAttribute('xlink:href'),\n x: xmlNode.getAttribute('x'),\n y: xmlNode.getAttribute('y'),\n width: xmlNode.getAttribute('width'),\n height: xmlNode.getAttribute('height')\n });\n return img;\n },\n 'text': function (xmlNode, parentGroup) {\n var x = xmlNode.getAttribute('x') || 0;\n var y = xmlNode.getAttribute('y') || 0;\n var dx = xmlNode.getAttribute('dx') || 0;\n var dy = xmlNode.getAttribute('dy') || 0;\n this._textX = parseFloat(x) + parseFloat(dx);\n this._textY = parseFloat(y) + parseFloat(dy);\n var g = new Group();\n inheritStyle(parentGroup, g);\n parseAttributes(xmlNode, g, this._defs);\n return g;\n },\n 'tspan': function (xmlNode, parentGroup) {\n var x = xmlNode.getAttribute('x');\n var y = xmlNode.getAttribute('y');\n\n if (x != null) {\n // new offset x\n this._textX = parseFloat(x);\n }\n\n if (y != null) {\n // new offset y\n this._textY = parseFloat(y);\n }\n\n var dx = xmlNode.getAttribute('dx') || 0;\n var dy = xmlNode.getAttribute('dy') || 0;\n var g = new Group();\n inheritStyle(parentGroup, g);\n parseAttributes(xmlNode, g, this._defs);\n this._textX += dx;\n this._textY += dy;\n return g;\n },\n 'path': function (xmlNode, parentGroup) {\n // TODO svg fill rule\n // https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule\n // path.style.globalCompositeOperation = 'xor';\n var d = xmlNode.getAttribute('d') || ''; // Performance sensitive.\n\n var path = createFromString(d);\n inheritStyle(parentGroup, path);\n parseAttributes(xmlNode, path, this._defs);\n return path;\n }\n};\nvar defineParsers = {\n 'lineargradient': function (xmlNode) {\n var x1 = parseInt(xmlNode.getAttribute('x1') || 0, 10);\n var y1 = parseInt(xmlNode.getAttribute('y1') || 0, 10);\n var x2 = parseInt(xmlNode.getAttribute('x2') || 10, 10);\n var y2 = parseInt(xmlNode.getAttribute('y2') || 0, 10);\n var gradient = new LinearGradient(x1, y1, x2, y2);\n\n _parseGradientColorStops(xmlNode, gradient);\n\n return gradient;\n },\n 'radialgradient': function (xmlNode) {}\n};\n\nfunction _parseGradientColorStops(xmlNode, gradient) {\n var stop = xmlNode.firstChild;\n\n while (stop) {\n if (stop.nodeType === 1) {\n var offset = stop.getAttribute('offset');\n\n if (offset.indexOf('%') > 0) {\n // percentage\n offset = parseInt(offset, 10) / 100;\n } else if (offset) {\n // number from 0 to 1\n offset = parseFloat(offset);\n } else {\n offset = 0;\n }\n\n var stopColor = stop.getAttribute('stop-color') || '#000000';\n gradient.addColorStop(offset, stopColor);\n }\n\n stop = stop.nextSibling;\n }\n}\n\nfunction inheritStyle(parent, child) {\n if (parent && parent.__inheritedStyle) {\n if (!child.__inheritedStyle) {\n child.__inheritedStyle = {};\n }\n\n defaults(child.__inheritedStyle, parent.__inheritedStyle);\n }\n}\n\nfunction parsePoints(pointsString) {\n var list = trim(pointsString).split(DILIMITER_REG);\n var points = [];\n\n for (var i = 0; i < list.length; i += 2) {\n var x = parseFloat(list[i]);\n var y = parseFloat(list[i + 1]);\n points.push([x, y]);\n }\n\n return points;\n}\n\nvar attributesMap = {\n 'fill': 'fill',\n 'stroke': 'stroke',\n 'stroke-width': 'lineWidth',\n 'opacity': 'opacity',\n 'fill-opacity': 'fillOpacity',\n 'stroke-opacity': 'strokeOpacity',\n 'stroke-dasharray': 'lineDash',\n 'stroke-dashoffset': 'lineDashOffset',\n 'stroke-linecap': 'lineCap',\n 'stroke-linejoin': 'lineJoin',\n 'stroke-miterlimit': 'miterLimit',\n 'font-family': 'fontFamily',\n 'font-size': 'fontSize',\n 'font-style': 'fontStyle',\n 'font-weight': 'fontWeight',\n 'text-align': 'textAlign',\n 'alignment-baseline': 'textBaseline'\n};\n\nfunction parseAttributes(xmlNode, el, defs, onlyInlineStyle) {\n var zrStyle = el.__inheritedStyle || {};\n var isTextEl = el.type === 'text'; // TODO Shadow\n\n if (xmlNode.nodeType === 1) {\n parseTransformAttribute(xmlNode, el);\n extend(zrStyle, parseStyleAttribute(xmlNode));\n\n if (!onlyInlineStyle) {\n for (var svgAttrName in attributesMap) {\n if (attributesMap.hasOwnProperty(svgAttrName)) {\n var attrValue = xmlNode.getAttribute(svgAttrName);\n\n if (attrValue != null) {\n zrStyle[attributesMap[svgAttrName]] = attrValue;\n }\n }\n }\n }\n }\n\n var elFillProp = isTextEl ? 'textFill' : 'fill';\n var elStrokeProp = isTextEl ? 'textStroke' : 'stroke';\n el.style = el.style || new Style();\n var elStyle = el.style;\n zrStyle.fill != null && elStyle.set(elFillProp, getPaint(zrStyle.fill, defs));\n zrStyle.stroke != null && elStyle.set(elStrokeProp, getPaint(zrStyle.stroke, defs));\n each(['lineWidth', 'opacity', 'fillOpacity', 'strokeOpacity', 'miterLimit', 'fontSize'], function (propName) {\n var elPropName = propName === 'lineWidth' && isTextEl ? 'textStrokeWidth' : propName;\n zrStyle[propName] != null && elStyle.set(elPropName, parseFloat(zrStyle[propName]));\n });\n\n if (!zrStyle.textBaseline || zrStyle.textBaseline === 'auto') {\n zrStyle.textBaseline = 'alphabetic';\n }\n\n if (zrStyle.textBaseline === 'alphabetic') {\n zrStyle.textBaseline = 'bottom';\n }\n\n if (zrStyle.textAlign === 'start') {\n zrStyle.textAlign = 'left';\n }\n\n if (zrStyle.textAlign === 'end') {\n zrStyle.textAlign = 'right';\n }\n\n each(['lineDashOffset', 'lineCap', 'lineJoin', 'fontWeight', 'fontFamily', 'fontStyle', 'textAlign', 'textBaseline'], function (propName) {\n zrStyle[propName] != null && elStyle.set(propName, zrStyle[propName]);\n });\n\n if (zrStyle.lineDash) {\n el.style.lineDash = trim(zrStyle.lineDash).split(DILIMITER_REG);\n }\n\n if (elStyle[elStrokeProp] && elStyle[elStrokeProp] !== 'none') {\n // enable stroke\n el[elStrokeProp] = true;\n }\n\n el.__inheritedStyle = zrStyle;\n}\n\nvar urlRegex = /url\\(\\s*#(.*?)\\)/;\n\nfunction getPaint(str, defs) {\n // if (str === 'none') {\n // return;\n // }\n var urlMatch = defs && str && str.match(urlRegex);\n\n if (urlMatch) {\n var url = trim(urlMatch[1]);\n var def = defs[url];\n return def;\n }\n\n return str;\n}\n\nvar transformRegex = /(translate|scale|rotate|skewX|skewY|matrix)\\(([\\-\\s0-9\\.e,]*)\\)/g;\n\nfunction parseTransformAttribute(xmlNode, node) {\n var transform = xmlNode.getAttribute('transform');\n\n if (transform) {\n transform = transform.replace(/,/g, ' ');\n var m = null;\n var transformOps = [];\n transform.replace(transformRegex, function (str, type, value) {\n transformOps.push(type, value);\n });\n\n for (var i = transformOps.length - 1; i > 0; i -= 2) {\n var value = transformOps[i];\n var type = transformOps[i - 1];\n m = m || matrix.create();\n\n switch (type) {\n case 'translate':\n value = trim(value).split(DILIMITER_REG);\n matrix.translate(m, m, [parseFloat(value[0]), parseFloat(value[1] || 0)]);\n break;\n\n case 'scale':\n value = trim(value).split(DILIMITER_REG);\n matrix.scale(m, m, [parseFloat(value[0]), parseFloat(value[1] || value[0])]);\n break;\n\n case 'rotate':\n value = trim(value).split(DILIMITER_REG);\n matrix.rotate(m, m, parseFloat(value[0]));\n break;\n\n case 'skew':\n value = trim(value).split(DILIMITER_REG);\n console.warn('Skew transform is not supported yet');\n break;\n\n case 'matrix':\n var value = trim(value).split(DILIMITER_REG);\n m[0] = parseFloat(value[0]);\n m[1] = parseFloat(value[1]);\n m[2] = parseFloat(value[2]);\n m[3] = parseFloat(value[3]);\n m[4] = parseFloat(value[4]);\n m[5] = parseFloat(value[5]);\n break;\n }\n }\n\n node.setLocalTransform(m);\n }\n} // Value may contain space.\n\n\nvar styleRegex = /([^\\s:;]+)\\s*:\\s*([^:;]+)/g;\n\nfunction parseStyleAttribute(xmlNode) {\n var style = xmlNode.getAttribute('style');\n var result = {};\n\n if (!style) {\n return result;\n }\n\n var styleList = {};\n styleRegex.lastIndex = 0;\n var styleRegResult;\n\n while ((styleRegResult = styleRegex.exec(style)) != null) {\n styleList[styleRegResult[1]] = styleRegResult[2];\n }\n\n for (var svgAttrName in attributesMap) {\n if (attributesMap.hasOwnProperty(svgAttrName) && styleList[svgAttrName] != null) {\n result[attributesMap[svgAttrName]] = styleList[svgAttrName];\n }\n }\n\n return result;\n}\n/**\n * @param {Array.} viewBoxRect\n * @param {number} width\n * @param {number} height\n * @return {Object} {scale, position}\n */\n\n\nfunction makeViewBoxTransform(viewBoxRect, width, height) {\n var scaleX = width / viewBoxRect.width;\n var scaleY = height / viewBoxRect.height;\n var scale = Math.min(scaleX, scaleY); // preserveAspectRatio 'xMidYMid'\n\n var viewBoxScale = [scale, scale];\n var viewBoxPosition = [-(viewBoxRect.x + viewBoxRect.width / 2) * scale + width / 2, -(viewBoxRect.y + viewBoxRect.height / 2) * scale + height / 2];\n return {\n scale: viewBoxScale,\n position: viewBoxPosition\n };\n}\n/**\n * @param {string|XMLElement} xml\n * @param {Object} [opt]\n * @param {number} [opt.width] Default width if svg width not specified or is a percent value.\n * @param {number} [opt.height] Default height if svg height not specified or is a percent value.\n * @param {boolean} [opt.ignoreViewBox]\n * @param {boolean} [opt.ignoreRootClip]\n * @return {Object} result:\n * {\n * root: Group, The root of the the result tree of zrender shapes,\n * width: number, the viewport width of the SVG,\n * height: number, the viewport height of the SVG,\n * viewBoxRect: {x, y, width, height}, the declared viewBox rect of the SVG, if exists,\n * viewBoxTransform: the {scale, position} calculated by viewBox and viewport, is exists.\n * }\n */\n\n\nfunction parseSVG(xml, opt) {\n var parser = new SVGParser();\n return parser.parse(xml, opt);\n}\n\nexports.parseXML = parseXML;\nexports.makeViewBoxTransform = makeViewBoxTransform;\nexports.parseSVG = parseSVG;","\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\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar VisualMapModel = require(\"./VisualMapModel\");\n\nvar numberUtil = require(\"../../util/number\");\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// Constant\nvar DEFAULT_BAR_BOUND = [20, 140];\nvar ContinuousModel = VisualMapModel.extend({\n type: 'visualMap.continuous',\n\n /**\n * @protected\n */\n defaultOption: {\n align: 'auto',\n // 'auto', 'left', 'right', 'top', 'bottom'\n calculable: false,\n // This prop effect default component type determine,\n // See echarts/component/visualMap/typeDefaulter.\n range: null,\n // selected range. In default case `range` is [min, max]\n // and can auto change along with modification of min max,\n // util use specifid a range.\n realtime: true,\n // Whether realtime update.\n itemHeight: null,\n // The length of the range control edge.\n itemWidth: null,\n // The length of the other side.\n hoverLink: true,\n // Enable hover highlight.\n hoverLinkDataSize: null,\n // The size of hovered data.\n hoverLinkOnHandle: null // Whether trigger hoverLink when hover handle.\n // If not specified, follow the value of `realtime`.\n\n },\n\n /**\n * @override\n */\n optionUpdated: function (newOption, isInit) {\n ContinuousModel.superApply(this, 'optionUpdated', arguments);\n this.resetExtent();\n this.resetVisual(function (mappingOption) {\n mappingOption.mappingMethod = 'linear';\n mappingOption.dataExtent = this.getExtent();\n });\n\n this._resetRange();\n },\n\n /**\n * @protected\n * @override\n */\n resetItemSize: function () {\n ContinuousModel.superApply(this, 'resetItemSize', arguments);\n var itemSize = this.itemSize;\n this._orient === 'horizontal' && itemSize.reverse();\n (itemSize[0] == null || isNaN(itemSize[0])) && (itemSize[0] = DEFAULT_BAR_BOUND[0]);\n (itemSize[1] == null || isNaN(itemSize[1])) && (itemSize[1] = DEFAULT_BAR_BOUND[1]);\n },\n\n /**\n * @private\n */\n _resetRange: function () {\n var dataExtent = this.getExtent();\n var range = this.option.range;\n\n if (!range || range.auto) {\n // `range` should always be array (so we dont use other\n // value like 'auto') for user-friend. (consider getOption).\n dataExtent.auto = 1;\n this.option.range = dataExtent;\n } else if (zrUtil.isArray(range)) {\n if (range[0] > range[1]) {\n range.reverse();\n }\n\n range[0] = Math.max(range[0], dataExtent[0]);\n range[1] = Math.min(range[1], dataExtent[1]);\n }\n },\n\n /**\n * @protected\n * @override\n */\n completeVisualOption: function () {\n VisualMapModel.prototype.completeVisualOption.apply(this, arguments);\n zrUtil.each(this.stateList, function (state) {\n var symbolSize = this.option.controller[state].symbolSize;\n\n if (symbolSize && symbolSize[0] !== symbolSize[1]) {\n symbolSize[0] = 0; // For good looking.\n }\n }, this);\n },\n\n /**\n * @override\n */\n setSelected: function (selected) {\n this.option.range = selected.slice();\n\n this._resetRange();\n },\n\n /**\n * @public\n */\n getSelected: function () {\n var dataExtent = this.getExtent();\n var dataInterval = numberUtil.asc((this.get('range') || []).slice()); // Clamp\n\n dataInterval[0] > dataExtent[1] && (dataInterval[0] = dataExtent[1]);\n dataInterval[1] > dataExtent[1] && (dataInterval[1] = dataExtent[1]);\n dataInterval[0] < dataExtent[0] && (dataInterval[0] = dataExtent[0]);\n dataInterval[1] < dataExtent[0] && (dataInterval[1] = dataExtent[0]);\n return dataInterval;\n },\n\n /**\n * @override\n */\n getValueState: function (value) {\n var range = this.option.range;\n var dataExtent = this.getExtent(); // When range[0] === dataExtent[0], any value larger than dataExtent[0] maps to 'inRange'.\n // range[1] is processed likewise.\n\n return (range[0] <= dataExtent[0] || range[0] <= value) && (range[1] >= dataExtent[1] || value <= range[1]) ? 'inRange' : 'outOfRange';\n },\n\n /**\n * @params {Array.} range target value: range[0] <= value && value <= range[1]\n * @return {Array.} [{seriesId, dataIndices: >}, ...]\n */\n findTargetDataIndices: function (range) {\n var result = [];\n this.eachTargetSeries(function (seriesModel) {\n var dataIndices = [];\n var data = seriesModel.getData();\n data.each(this.getDataDimension(data), function (value, dataIndex) {\n range[0] <= value && value <= range[1] && dataIndices.push(dataIndex);\n }, this);\n result.push({\n seriesId: seriesModel.id,\n dataIndex: dataIndices\n });\n }, this);\n return result;\n },\n\n /**\n * @implement\n */\n getVisualMeta: function (getColorVisual) {\n var oVals = getColorStopValues(this, 'outOfRange', this.getExtent());\n var iVals = getColorStopValues(this, 'inRange', this.option.range.slice());\n var stops = [];\n\n function setStop(value, valueState) {\n stops.push({\n value: value,\n color: getColorVisual(value, valueState)\n });\n } // Format to: outOfRange -- inRange -- outOfRange.\n\n\n var iIdx = 0;\n var oIdx = 0;\n var iLen = iVals.length;\n var oLen = oVals.length;\n\n for (; oIdx < oLen && (!iVals.length || oVals[oIdx] <= iVals[0]); oIdx++) {\n // If oVal[oIdx] === iVals[iIdx], oVal[oIdx] should be ignored.\n if (oVals[oIdx] < iVals[iIdx]) {\n setStop(oVals[oIdx], 'outOfRange');\n }\n }\n\n for (var first = 1; iIdx < iLen; iIdx++, first = 0) {\n // If range is full, value beyond min, max will be clamped.\n // make a singularity\n first && stops.length && setStop(iVals[iIdx], 'outOfRange');\n setStop(iVals[iIdx], 'inRange');\n }\n\n for (var first = 1; oIdx < oLen; oIdx++) {\n if (!iVals.length || iVals[iVals.length - 1] < oVals[oIdx]) {\n // make a singularity\n if (first) {\n stops.length && setStop(stops[stops.length - 1].value, 'outOfRange');\n first = 0;\n }\n\n setStop(oVals[oIdx], 'outOfRange');\n }\n }\n\n var stopsLen = stops.length;\n return {\n stops: stops,\n outerColors: [stopsLen ? stops[0].color : 'transparent', stopsLen ? stops[stopsLen - 1].color : 'transparent']\n };\n }\n});\n\nfunction getColorStopValues(visualMapModel, valueState, dataExtent) {\n if (dataExtent[0] === dataExtent[1]) {\n return dataExtent.slice();\n } // When using colorHue mapping, it is not linear color any more.\n // Moreover, canvas gradient seems not to be accurate linear.\n // FIXME\n // Should be arbitrary value 100? or based on pixel size?\n\n\n var count = 200;\n var step = (dataExtent[1] - dataExtent[0]) / count;\n var value = dataExtent[0];\n var stopValues = [];\n\n for (var i = 0; i <= count && value < dataExtent[1]; i++) {\n stopValues.push(value);\n value += step;\n }\n\n stopValues.push(dataExtent[1]);\n return stopValues;\n}\n\nvar _default = ContinuousModel;\nmodule.exports = _default;","\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\nvar zrUtil = require(\"zrender/lib/core/util\");\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*/\nfunction dataToCoordSize(dataSize, dataItem) {\n // dataItem is necessary in log axis.\n var axis = this.getAxis();\n var val = dataItem instanceof Array ? dataItem[0] : dataItem;\n var halfSize = (dataSize instanceof Array ? dataSize[0] : dataSize) / 2;\n return axis.type === 'category' ? axis.getBandWidth() : Math.abs(axis.dataToCoord(val - halfSize) - axis.dataToCoord(val + halfSize));\n}\n\nfunction _default(coordSys) {\n var rect = coordSys.getRect();\n return {\n coordSys: {\n type: 'singleAxis',\n x: rect.x,\n y: rect.y,\n width: rect.width,\n height: rect.height\n },\n api: {\n coord: function (val) {\n // do not provide \"out\" param\n return coordSys.dataToPoint(val);\n },\n size: zrUtil.bind(dataToCoordSize, coordSys)\n }\n };\n}\n\nmodule.exports = _default;","\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\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar List = require(\"../../data/List\");\n\nvar numberUtil = require(\"../../util/number\");\n\nvar markerHelper = require(\"./markerHelper\");\n\nvar LineDraw = require(\"../../chart/helper/LineDraw\");\n\nvar MarkerView = require(\"./MarkerView\");\n\nvar _dataStackHelper = require(\"../../data/helper/dataStackHelper\");\n\nvar getStackedDimension = _dataStackHelper.getStackedDimension;\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*/\nvar markLineTransform = function (seriesModel, coordSys, mlModel, item) {\n var data = seriesModel.getData(); // Special type markLine like 'min', 'max', 'average', 'median'\n\n var mlType = item.type;\n\n if (!zrUtil.isArray(item) && (mlType === 'min' || mlType === 'max' || mlType === 'average' || mlType === 'median' // In case\n // data: [{\n // yAxis: 10\n // }]\n || item.xAxis != null || item.yAxis != null)) {\n var valueAxis;\n var value;\n\n if (item.yAxis != null || item.xAxis != null) {\n valueAxis = coordSys.getAxis(item.yAxis != null ? 'y' : 'x');\n value = zrUtil.retrieve(item.yAxis, item.xAxis);\n } else {\n var axisInfo = markerHelper.getAxisInfo(item, data, coordSys, seriesModel);\n valueAxis = axisInfo.valueAxis;\n var valueDataDim = getStackedDimension(data, axisInfo.valueDataDim);\n value = markerHelper.numCalculate(data, valueDataDim, mlType);\n }\n\n var valueIndex = valueAxis.dim === 'x' ? 0 : 1;\n var baseIndex = 1 - valueIndex;\n var mlFrom = zrUtil.clone(item);\n var mlTo = {};\n mlFrom.type = null;\n mlFrom.coord = [];\n mlTo.coord = [];\n mlFrom.coord[baseIndex] = -Infinity;\n mlTo.coord[baseIndex] = Infinity;\n var precision = mlModel.get('precision');\n\n if (precision >= 0 && typeof value === 'number') {\n value = +value.toFixed(Math.min(precision, 20));\n }\n\n mlFrom.coord[valueIndex] = mlTo.coord[valueIndex] = value;\n item = [mlFrom, mlTo, {\n // Extra option for tooltip and label\n type: mlType,\n valueIndex: item.valueIndex,\n // Force to use the value of calculated value.\n value: value\n }];\n }\n\n item = [markerHelper.dataTransform(seriesModel, item[0]), markerHelper.dataTransform(seriesModel, item[1]), zrUtil.extend({}, item[2])]; // Avoid line data type is extended by from(to) data type\n\n item[2].type = item[2].type || ''; // Merge from option and to option into line option\n\n zrUtil.merge(item[2], item[0]);\n zrUtil.merge(item[2], item[1]);\n return item;\n};\n\nfunction isInifinity(val) {\n return !isNaN(val) && !isFinite(val);\n} // If a markLine has one dim\n\n\nfunction ifMarkLineHasOnlyDim(dimIndex, fromCoord, toCoord, coordSys) {\n var otherDimIndex = 1 - dimIndex;\n var dimName = coordSys.dimensions[dimIndex];\n return isInifinity(fromCoord[otherDimIndex]) && isInifinity(toCoord[otherDimIndex]) && fromCoord[dimIndex] === toCoord[dimIndex] && coordSys.getAxis(dimName).containData(fromCoord[dimIndex]);\n}\n\nfunction markLineFilter(coordSys, item) {\n if (coordSys.type === 'cartesian2d') {\n var fromCoord = item[0].coord;\n var toCoord = item[1].coord; // In case\n // {\n // markLine: {\n // data: [{ yAxis: 2 }]\n // }\n // }\n\n if (fromCoord && toCoord && (ifMarkLineHasOnlyDim(1, fromCoord, toCoord, coordSys) || ifMarkLineHasOnlyDim(0, fromCoord, toCoord, coordSys))) {\n return true;\n }\n }\n\n return markerHelper.dataFilter(coordSys, item[0]) && markerHelper.dataFilter(coordSys, item[1]);\n}\n\nfunction updateSingleMarkerEndLayout(data, idx, isFrom, seriesModel, api) {\n var coordSys = seriesModel.coordinateSystem;\n var itemModel = data.getItemModel(idx);\n var point;\n var xPx = numberUtil.parsePercent(itemModel.get('x'), api.getWidth());\n var yPx = numberUtil.parsePercent(itemModel.get('y'), api.getHeight());\n\n if (!isNaN(xPx) && !isNaN(yPx)) {\n point = [xPx, yPx];\n } else {\n // Chart like bar may have there own marker positioning logic\n if (seriesModel.getMarkerPosition) {\n // Use the getMarkerPoisition\n point = seriesModel.getMarkerPosition(data.getValues(data.dimensions, idx));\n } else {\n var dims = coordSys.dimensions;\n var x = data.get(dims[0], idx);\n var y = data.get(dims[1], idx);\n point = coordSys.dataToPoint([x, y]);\n } // Expand line to the edge of grid if value on one axis is Inifnity\n // In case\n // markLine: {\n // data: [{\n // yAxis: 2\n // // or\n // type: 'average'\n // }]\n // }\n\n\n if (coordSys.type === 'cartesian2d') {\n var xAxis = coordSys.getAxis('x');\n var yAxis = coordSys.getAxis('y');\n var dims = coordSys.dimensions;\n\n if (isInifinity(data.get(dims[0], idx))) {\n point[0] = xAxis.toGlobalCoord(xAxis.getExtent()[isFrom ? 0 : 1]);\n } else if (isInifinity(data.get(dims[1], idx))) {\n point[1] = yAxis.toGlobalCoord(yAxis.getExtent()[isFrom ? 0 : 1]);\n }\n } // Use x, y if has any\n\n\n if (!isNaN(xPx)) {\n point[0] = xPx;\n }\n\n if (!isNaN(yPx)) {\n point[1] = yPx;\n }\n }\n\n data.setItemLayout(idx, point);\n}\n\nvar _default = MarkerView.extend({\n type: 'markLine',\n // updateLayout: function (markLineModel, ecModel, api) {\n // ecModel.eachSeries(function (seriesModel) {\n // var mlModel = seriesModel.markLineModel;\n // if (mlModel) {\n // var mlData = mlModel.getData();\n // var fromData = mlModel.__from;\n // var toData = mlModel.__to;\n // // Update visual and layout of from symbol and to symbol\n // fromData.each(function (idx) {\n // updateSingleMarkerEndLayout(fromData, idx, true, seriesModel, api);\n // updateSingleMarkerEndLayout(toData, idx, false, seriesModel, api);\n // });\n // // Update layout of line\n // mlData.each(function (idx) {\n // mlData.setItemLayout(idx, [\n // fromData.getItemLayout(idx),\n // toData.getItemLayout(idx)\n // ]);\n // });\n // this.markerGroupMap.get(seriesModel.id).updateLayout();\n // }\n // }, this);\n // },\n updateTransform: function (markLineModel, ecModel, api) {\n ecModel.eachSeries(function (seriesModel) {\n var mlModel = seriesModel.markLineModel;\n\n if (mlModel) {\n var mlData = mlModel.getData();\n var fromData = mlModel.__from;\n var toData = mlModel.__to; // Update visual and layout of from symbol and to symbol\n\n fromData.each(function (idx) {\n updateSingleMarkerEndLayout(fromData, idx, true, seriesModel, api);\n updateSingleMarkerEndLayout(toData, idx, false, seriesModel, api);\n }); // Update layout of line\n\n mlData.each(function (idx) {\n mlData.setItemLayout(idx, [fromData.getItemLayout(idx), toData.getItemLayout(idx)]);\n });\n this.markerGroupMap.get(seriesModel.id).updateLayout();\n }\n }, this);\n },\n renderSeries: function (seriesModel, mlModel, ecModel, api) {\n var coordSys = seriesModel.coordinateSystem;\n var seriesId = seriesModel.id;\n var seriesData = seriesModel.getData();\n var lineDrawMap = this.markerGroupMap;\n var lineDraw = lineDrawMap.get(seriesId) || lineDrawMap.set(seriesId, new LineDraw());\n this.group.add(lineDraw.group);\n var mlData = createList(coordSys, seriesModel, mlModel);\n var fromData = mlData.from;\n var toData = mlData.to;\n var lineData = mlData.line;\n mlModel.__from = fromData;\n mlModel.__to = toData; // Line data for tooltip and formatter\n\n mlModel.setData(lineData);\n var symbolType = mlModel.get('symbol');\n var symbolSize = mlModel.get('symbolSize');\n\n if (!zrUtil.isArray(symbolType)) {\n symbolType = [symbolType, symbolType];\n }\n\n if (typeof symbolSize === 'number') {\n symbolSize = [symbolSize, symbolSize];\n } // Update visual and layout of from symbol and to symbol\n\n\n mlData.from.each(function (idx) {\n updateDataVisualAndLayout(fromData, idx, true);\n updateDataVisualAndLayout(toData, idx, false);\n }); // Update visual and layout of line\n\n lineData.each(function (idx) {\n var lineColor = lineData.getItemModel(idx).get('lineStyle.color');\n lineData.setItemVisual(idx, {\n color: lineColor || fromData.getItemVisual(idx, 'color')\n });\n lineData.setItemLayout(idx, [fromData.getItemLayout(idx), toData.getItemLayout(idx)]);\n lineData.setItemVisual(idx, {\n 'fromSymbolRotate': fromData.getItemVisual(idx, 'symbolRotate'),\n 'fromSymbolSize': fromData.getItemVisual(idx, 'symbolSize'),\n 'fromSymbol': fromData.getItemVisual(idx, 'symbol'),\n 'toSymbolRotate': toData.getItemVisual(idx, 'symbolRotate'),\n 'toSymbolSize': toData.getItemVisual(idx, 'symbolSize'),\n 'toSymbol': toData.getItemVisual(idx, 'symbol')\n });\n });\n lineDraw.updateData(lineData); // Set host model for tooltip\n // FIXME\n\n mlData.line.eachItemGraphicEl(function (el, idx) {\n el.traverse(function (child) {\n child.dataModel = mlModel;\n });\n });\n\n function updateDataVisualAndLayout(data, idx, isFrom) {\n var itemModel = data.getItemModel(idx);\n updateSingleMarkerEndLayout(data, idx, isFrom, seriesModel, api);\n data.setItemVisual(idx, {\n symbolRotate: itemModel.get('symbolRotate'),\n symbolSize: itemModel.get('symbolSize') || symbolSize[isFrom ? 0 : 1],\n symbol: itemModel.get('symbol', true) || symbolType[isFrom ? 0 : 1],\n color: itemModel.get('itemStyle.color') || seriesData.getVisual('color')\n });\n }\n\n lineDraw.__keep = true;\n lineDraw.group.silent = mlModel.get('silent') || seriesModel.get('silent');\n }\n});\n/**\n * @inner\n * @param {module:echarts/coord/*} coordSys\n * @param {module:echarts/model/Series} seriesModel\n * @param {module:echarts/model/Model} mpModel\n */\n\n\nfunction createList(coordSys, seriesModel, mlModel) {\n var coordDimsInfos;\n\n if (coordSys) {\n coordDimsInfos = zrUtil.map(coordSys && coordSys.dimensions, function (coordDim) {\n var info = seriesModel.getData().getDimensionInfo(seriesModel.getData().mapDimension(coordDim)) || {}; // In map series data don't have lng and lat dimension. Fallback to same with coordSys\n\n return zrUtil.defaults({\n name: coordDim\n }, info);\n });\n } else {\n coordDimsInfos = [{\n name: 'value',\n type: 'float'\n }];\n }\n\n var fromData = new List(coordDimsInfos, mlModel);\n var toData = new List(coordDimsInfos, mlModel); // No dimensions\n\n var lineData = new List([], mlModel);\n var optData = zrUtil.map(mlModel.get('data'), zrUtil.curry(markLineTransform, seriesModel, coordSys, mlModel));\n\n if (coordSys) {\n optData = zrUtil.filter(optData, zrUtil.curry(markLineFilter, coordSys));\n }\n\n var dimValueGetter = coordSys ? markerHelper.dimValueGetter : function (item) {\n return item.value;\n };\n fromData.initData(zrUtil.map(optData, function (item) {\n return item[0];\n }), null, dimValueGetter);\n toData.initData(zrUtil.map(optData, function (item) {\n return item[1];\n }), null, dimValueGetter);\n lineData.initData(zrUtil.map(optData, function (item) {\n return item[2];\n }));\n lineData.hasItemOption = true;\n return {\n from: fromData,\n to: toData,\n line: lineData\n };\n}\n\nmodule.exports = _default;","var util = require(\"../core/util\");\n\nvar _event = require(\"../core/event\");\n\nvar Dispatcher = _event.Dispatcher;\n\nvar requestAnimationFrame = require(\"./requestAnimationFrame\");\n\nvar Animator = require(\"./Animator\");\n\n/**\n * Animation main class, dispatch and manage all animation controllers\n *\n * @module zrender/animation/Animation\n * @author pissang(https://github.com/pissang)\n */\n// TODO Additive animation\n// http://iosoteric.com/additive-animations-animatewithduration-in-ios-8/\n// https://developer.apple.com/videos/wwdc2014/#236\n\n/**\n * @typedef {Object} IZRenderStage\n * @property {Function} update\n */\n\n/**\n * @alias module:zrender/animation/Animation\n * @constructor\n * @param {Object} [options]\n * @param {Function} [options.onframe]\n * @param {IZRenderStage} [options.stage]\n * @example\n * var animation = new Animation();\n * var obj = {\n * x: 100,\n * y: 100\n * };\n * animation.animate(node.position)\n * .when(1000, {\n * x: 500,\n * y: 500\n * })\n * .when(2000, {\n * x: 100,\n * y: 100\n * })\n * .start('spline');\n */\nvar Animation = function (options) {\n options = options || {};\n this.stage = options.stage || {};\n\n this.onframe = options.onframe || function () {}; // private properties\n\n\n this._clips = [];\n this._running = false;\n this._time;\n this._pausedTime;\n this._pauseStart;\n this._paused = false;\n Dispatcher.call(this);\n};\n\nAnimation.prototype = {\n constructor: Animation,\n\n /**\n * Add clip\n * @param {module:zrender/animation/Clip} clip\n */\n addClip: function (clip) {\n this._clips.push(clip);\n },\n\n /**\n * Add animator\n * @param {module:zrender/animation/Animator} animator\n */\n addAnimator: function (animator) {\n animator.animation = this;\n var clips = animator.getClips();\n\n for (var i = 0; i < clips.length; i++) {\n this.addClip(clips[i]);\n }\n },\n\n /**\n * Delete animation clip\n * @param {module:zrender/animation/Clip} clip\n */\n removeClip: function (clip) {\n var idx = util.indexOf(this._clips, clip);\n\n if (idx >= 0) {\n this._clips.splice(idx, 1);\n }\n },\n\n /**\n * Delete animation clip\n * @param {module:zrender/animation/Animator} animator\n */\n removeAnimator: function (animator) {\n var clips = animator.getClips();\n\n for (var i = 0; i < clips.length; i++) {\n this.removeClip(clips[i]);\n }\n\n animator.animation = null;\n },\n _update: function () {\n var time = new Date().getTime() - this._pausedTime;\n\n var delta = time - this._time;\n var clips = this._clips;\n var len = clips.length;\n var deferredEvents = [];\n var deferredClips = [];\n\n for (var i = 0; i < len; i++) {\n var clip = clips[i];\n var e = clip.step(time, delta); // Throw out the events need to be called after\n // stage.update, like destroy\n\n if (e) {\n deferredEvents.push(e);\n deferredClips.push(clip);\n }\n } // Remove the finished clip\n\n\n for (var i = 0; i < len;) {\n if (clips[i]._needsRemove) {\n clips[i] = clips[len - 1];\n clips.pop();\n len--;\n } else {\n i++;\n }\n }\n\n len = deferredEvents.length;\n\n for (var i = 0; i < len; i++) {\n deferredClips[i].fire(deferredEvents[i]);\n }\n\n this._time = time;\n this.onframe(delta); // 'frame' should be triggered before stage, because upper application\n // depends on the sequence (e.g., echarts-stream and finish\n // event judge)\n\n this.trigger('frame', delta);\n\n if (this.stage.update) {\n this.stage.update();\n }\n },\n _startLoop: function () {\n var self = this;\n this._running = true;\n\n function step() {\n if (self._running) {\n requestAnimationFrame(step);\n !self._paused && self._update();\n }\n }\n\n requestAnimationFrame(step);\n },\n\n /**\n * Start animation.\n */\n start: function () {\n this._time = new Date().getTime();\n this._pausedTime = 0;\n\n this._startLoop();\n },\n\n /**\n * Stop animation.\n */\n stop: function () {\n this._running = false;\n },\n\n /**\n * Pause animation.\n */\n pause: function () {\n if (!this._paused) {\n this._pauseStart = new Date().getTime();\n this._paused = true;\n }\n },\n\n /**\n * Resume animation.\n */\n resume: function () {\n if (this._paused) {\n this._pausedTime += new Date().getTime() - this._pauseStart;\n this._paused = false;\n }\n },\n\n /**\n * Clear animation.\n */\n clear: function () {\n this._clips = [];\n },\n\n /**\n * Whether animation finished.\n */\n isFinished: function () {\n return !this._clips.length;\n },\n\n /**\n * Creat animator for a target, whose props can be animated.\n *\n * @param {Object} target\n * @param {Object} options\n * @param {boolean} [options.loop=false] Whether loop animation.\n * @param {Function} [options.getter=null] Get value from target.\n * @param {Function} [options.setter=null] Set value to target.\n * @return {module:zrender/animation/Animation~Animator}\n */\n // TODO Gap\n animate: function (target, options) {\n options = options || {};\n var animator = new Animator(target, options.loop, options.getter, options.setter);\n this.addAnimator(animator);\n return animator;\n }\n};\nutil.mixin(Animation, Dispatcher);\nvar _default = Animation;\nmodule.exports = _default;","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%40/gi, '@').\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","var toValString = require('./toString')\r\n\r\n/**\r\n * 判断字符串是否在源字符串的尾部\r\n *\r\n * @param {String} str 字符串\r\n * @param {String/Number} val 值\r\n * @param {Number} startIndex 开始索引\r\n * @return {String}\r\n */\r\nfunction endsWith (str, val, startIndex) {\r\n var rest = toValString(str)\r\n var argsLen = arguments.length\r\n return argsLen > 1 && (argsLen > 2 ? rest.substring(0, startIndex).indexOf(val) === startIndex - 1 : rest.indexOf(val) === rest.length - 1)\r\n}\r\n\r\nmodule.exports = endsWith\r\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\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*/\n\nvar echarts = require(\"../echarts\");\n\nrequire(\"./sankey/SankeySeries\");\n\nrequire(\"./sankey/SankeyView\");\n\nrequire(\"./sankey/sankeyAction\");\n\nvar sankeyLayout = require(\"./sankey/sankeyLayout\");\n\nvar sankeyVisual = require(\"./sankey/sankeyVisual\");\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*/\necharts.registerLayout(sankeyLayout);\necharts.registerVisual(sankeyVisual);","\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\nvar _echarts = require(\"./lib/echarts\");\n\n(function () {\n for (var key in _echarts) {\n if (_echarts == null || !_echarts.hasOwnProperty(key) || key === 'default' || key === '__esModule') return;\n exports[key] = _echarts[key];\n }\n})();\n\nvar _export = require(\"./lib/export\");\n\n(function () {\n for (var key in _export) {\n if (_export == null || !_export.hasOwnProperty(key) || key === 'default' || key === '__esModule') return;\n exports[key] = _export[key];\n }\n})();\n\nrequire(\"./lib/component/dataset\");\n\nrequire(\"./lib/chart/line\");\n\nrequire(\"./lib/chart/bar\");\n\nrequire(\"./lib/chart/pie\");\n\nrequire(\"./lib/chart/scatter\");\n\nrequire(\"./lib/chart/radar\");\n\nrequire(\"./lib/chart/map\");\n\nrequire(\"./lib/chart/tree\");\n\nrequire(\"./lib/chart/treemap\");\n\nrequire(\"./lib/chart/graph\");\n\nrequire(\"./lib/chart/gauge\");\n\nrequire(\"./lib/chart/funnel\");\n\nrequire(\"./lib/chart/parallel\");\n\nrequire(\"./lib/chart/sankey\");\n\nrequire(\"./lib/chart/boxplot\");\n\nrequire(\"./lib/chart/candlestick\");\n\nrequire(\"./lib/chart/effectScatter\");\n\nrequire(\"./lib/chart/lines\");\n\nrequire(\"./lib/chart/heatmap\");\n\nrequire(\"./lib/chart/pictorialBar\");\n\nrequire(\"./lib/chart/themeRiver\");\n\nrequire(\"./lib/chart/sunburst\");\n\nrequire(\"./lib/chart/custom\");\n\nrequire(\"./lib/component/grid\");\n\nrequire(\"./lib/component/polar\");\n\nrequire(\"./lib/component/geo\");\n\nrequire(\"./lib/component/singleAxis\");\n\nrequire(\"./lib/component/parallel\");\n\nrequire(\"./lib/component/calendar\");\n\nrequire(\"./lib/component/graphic\");\n\nrequire(\"./lib/component/toolbox\");\n\nrequire(\"./lib/component/tooltip\");\n\nrequire(\"./lib/component/axisPointer\");\n\nrequire(\"./lib/component/brush\");\n\nrequire(\"./lib/component/title\");\n\nrequire(\"./lib/component/timeline\");\n\nrequire(\"./lib/component/markPoint\");\n\nrequire(\"./lib/component/markLine\");\n\nrequire(\"./lib/component/markArea\");\n\nrequire(\"./lib/component/legendScroll\");\n\nrequire(\"./lib/component/legend\");\n\nrequire(\"./lib/component/dataZoom\");\n\nrequire(\"./lib/component/dataZoomInside\");\n\nrequire(\"./lib/component/dataZoomSlider\");\n\nrequire(\"./lib/component/visualMap\");\n\nrequire(\"./lib/component/visualMapContinuous\");\n\nrequire(\"./lib/component/visualMapPiecewise\");\n\nrequire(\"zrender/lib/vml/vml\");\n\nrequire(\"zrender/lib/svg/svg\");","\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\nvar zrUtil = require(\"zrender/lib/core/util\");\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 * Link lists and struct (graph or tree)\n */\nvar each = zrUtil.each;\nvar DATAS = '\\0__link_datas';\nvar MAIN_DATA = '\\0__link_mainData'; // Caution:\n// In most case, either list or its shallow clones (see list.cloneShallow)\n// is active in echarts process. So considering heap memory consumption,\n// we do not clone tree or graph, but share them among list and its shallow clones.\n// But in some rare case, we have to keep old list (like do animation in chart). So\n// please take care that both the old list and the new list share the same tree/graph.\n\n/**\n * @param {Object} opt\n * @param {module:echarts/data/List} opt.mainData\n * @param {Object} [opt.struct] For example, instance of Graph or Tree.\n * @param {string} [opt.structAttr] designation: list[structAttr] = struct;\n * @param {Object} [opt.datas] {dataType: data},\n * like: {node: nodeList, edge: edgeList}.\n * Should contain mainData.\n * @param {Object} [opt.datasAttr] {dataType: attr},\n * designation: struct[datasAttr[dataType]] = list;\n */\n\nfunction linkList(opt) {\n var mainData = opt.mainData;\n var datas = opt.datas;\n\n if (!datas) {\n datas = {\n main: mainData\n };\n opt.datasAttr = {\n main: 'data'\n };\n }\n\n opt.datas = opt.mainData = null;\n linkAll(mainData, datas, opt); // Porxy data original methods.\n\n each(datas, function (data) {\n each(mainData.TRANSFERABLE_METHODS, function (methodName) {\n data.wrapMethod(methodName, zrUtil.curry(transferInjection, opt));\n });\n }); // Beyond transfer, additional features should be added to `cloneShallow`.\n\n mainData.wrapMethod('cloneShallow', zrUtil.curry(cloneShallowInjection, opt)); // Only mainData trigger change, because struct.update may trigger\n // another changable methods, which may bring about dead lock.\n\n each(mainData.CHANGABLE_METHODS, function (methodName) {\n mainData.wrapMethod(methodName, zrUtil.curry(changeInjection, opt));\n }); // Make sure datas contains mainData.\n\n zrUtil.assert(datas[mainData.dataType] === mainData);\n}\n\nfunction transferInjection(opt, res) {\n if (isMainData(this)) {\n // Transfer datas to new main data.\n var datas = zrUtil.extend({}, this[DATAS]);\n datas[this.dataType] = res;\n linkAll(res, datas, opt);\n } else {\n // Modify the reference in main data to point newData.\n linkSingle(res, this.dataType, this[MAIN_DATA], opt);\n }\n\n return res;\n}\n\nfunction changeInjection(opt, res) {\n opt.struct && opt.struct.update(this);\n return res;\n}\n\nfunction cloneShallowInjection(opt, res) {\n // cloneShallow, which brings about some fragilities, may be inappropriate\n // to be exposed as an API. So for implementation simplicity we can make\n // the restriction that cloneShallow of not-mainData should not be invoked\n // outside, but only be invoked here.\n each(res[DATAS], function (data, dataType) {\n data !== res && linkSingle(data.cloneShallow(), dataType, res, opt);\n });\n return res;\n}\n/**\n * Supplement method to List.\n *\n * @public\n * @param {string} [dataType] If not specified, return mainData.\n * @return {module:echarts/data/List}\n */\n\n\nfunction getLinkedData(dataType) {\n var mainData = this[MAIN_DATA];\n return dataType == null || mainData == null ? mainData : mainData[DATAS][dataType];\n}\n\nfunction isMainData(data) {\n return data[MAIN_DATA] === data;\n}\n\nfunction linkAll(mainData, datas, opt) {\n mainData[DATAS] = {};\n each(datas, function (data, dataType) {\n linkSingle(data, dataType, mainData, opt);\n });\n}\n\nfunction linkSingle(data, dataType, mainData, opt) {\n mainData[DATAS][dataType] = data;\n data[MAIN_DATA] = mainData;\n data.dataType = dataType;\n\n if (opt.struct) {\n data[opt.structAttr] = opt.struct;\n opt.struct[opt.datasAttr[dataType]] = data;\n } // Supplement method.\n\n\n data.getLinkedData = getLinkedData;\n}\n\nvar _default = linkList;\nmodule.exports = _default;","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\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*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Region = require(\"../Region\");\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// Fix for 南海诸岛\nvar geoCoord = [126, 25];\nvar points = [[[0, 3.5], [7, 11.2], [15, 11.9], [30, 7], [42, 0.7], [52, 0.7], [56, 7.7], [59, 0.7], [64, 0.7], [64, 0], [5, 0], [0, 3.5]], [[13, 16.1], [19, 14.7], [16, 21.7], [11, 23.1], [13, 16.1]], [[12, 32.2], [14, 38.5], [15, 38.5], [13, 32.2], [12, 32.2]], [[16, 47.6], [12, 53.2], [13, 53.2], [18, 47.6], [16, 47.6]], [[6, 64.4], [8, 70], [9, 70], [8, 64.4], [6, 64.4]], [[23, 82.6], [29, 79.8], [30, 79.8], [25, 82.6], [23, 82.6]], [[37, 70.7], [43, 62.3], [44, 62.3], [39, 70.7], [37, 70.7]], [[48, 51.1], [51, 45.5], [53, 45.5], [50, 51.1], [48, 51.1]], [[51, 35], [51, 28.7], [53, 28.7], [53, 35], [51, 35]], [[52, 22.4], [55, 17.5], [56, 17.5], [53, 22.4], [52, 22.4]], [[58, 12.6], [62, 7], [63, 7], [60, 12.6], [58, 12.6]], [[0, 3.5], [0, 93.1], [64, 93.1], [64, 0], [63, 0], [63, 92.4], [1, 92.4], [1, 3.5], [0, 3.5]]];\n\nfor (var i = 0; i < points.length; i++) {\n for (var k = 0; k < points[i].length; k++) {\n points[i][k][0] /= 10.5;\n points[i][k][1] /= -10.5 / 0.75;\n points[i][k][0] += geoCoord[0];\n points[i][k][1] += geoCoord[1];\n }\n}\n\nfunction _default(mapType, regions) {\n if (mapType === 'china') {\n regions.push(new Region('南海诸岛', zrUtil.map(points, function (exterior) {\n return {\n type: 'polygon',\n exterior: exterior\n };\n }), geoCoord));\n }\n}\n\nmodule.exports = _default;","/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress\n * @license MIT */\n\n;(function(root, factory) {\n\n if (typeof define === 'function' && define.amd) {\n define(factory);\n } else if (typeof exports === 'object') {\n module.exports = factory();\n } else {\n root.NProgress = factory();\n }\n\n})(this, function() {\n var NProgress = {};\n\n NProgress.version = '0.2.0';\n\n var Settings = NProgress.settings = {\n minimum: 0.08,\n easing: 'ease',\n positionUsing: '',\n speed: 200,\n trickle: true,\n trickleRate: 0.02,\n trickleSpeed: 800,\n showSpinner: true,\n barSelector: '[role=\"bar\"]',\n spinnerSelector: '[role=\"spinner\"]',\n parent: 'body',\n template: '
'\n };\n\n /**\n * Updates configuration.\n *\n * NProgress.configure({\n * minimum: 0.1\n * });\n */\n NProgress.configure = function(options) {\n var key, value;\n for (key in options) {\n value = options[key];\n if (value !== undefined && options.hasOwnProperty(key)) Settings[key] = value;\n }\n\n return this;\n };\n\n /**\n * Last number.\n */\n\n NProgress.status = null;\n\n /**\n * Sets the progress bar status, where `n` is a number from `0.0` to `1.0`.\n *\n * NProgress.set(0.4);\n * NProgress.set(1.0);\n */\n\n NProgress.set = function(n) {\n var started = NProgress.isStarted();\n\n n = clamp(n, Settings.minimum, 1);\n NProgress.status = (n === 1 ? null : n);\n\n var progress = NProgress.render(!started),\n bar = progress.querySelector(Settings.barSelector),\n speed = Settings.speed,\n ease = Settings.easing;\n\n progress.offsetWidth; /* Repaint */\n\n queue(function(next) {\n // Set positionUsing if it hasn't already been set\n if (Settings.positionUsing === '') Settings.positionUsing = NProgress.getPositioningCSS();\n\n // Add transition\n css(bar, barPositionCSS(n, speed, ease));\n\n if (n === 1) {\n // Fade out\n css(progress, { \n transition: 'none', \n opacity: 1 \n });\n progress.offsetWidth; /* Repaint */\n\n setTimeout(function() {\n css(progress, { \n transition: 'all ' + speed + 'ms linear', \n opacity: 0 \n });\n setTimeout(function() {\n NProgress.remove();\n next();\n }, speed);\n }, speed);\n } else {\n setTimeout(next, speed);\n }\n });\n\n return this;\n };\n\n NProgress.isStarted = function() {\n return typeof NProgress.status === 'number';\n };\n\n /**\n * Shows the progress bar.\n * This is the same as setting the status to 0%, except that it doesn't go backwards.\n *\n * NProgress.start();\n *\n */\n NProgress.start = function() {\n if (!NProgress.status) NProgress.set(0);\n\n var work = function() {\n setTimeout(function() {\n if (!NProgress.status) return;\n NProgress.trickle();\n work();\n }, Settings.trickleSpeed);\n };\n\n if (Settings.trickle) work();\n\n return this;\n };\n\n /**\n * Hides the progress bar.\n * This is the *sort of* the same as setting the status to 100%, with the\n * difference being `done()` makes some placebo effect of some realistic motion.\n *\n * NProgress.done();\n *\n * If `true` is passed, it will show the progress bar even if its hidden.\n *\n * NProgress.done(true);\n */\n\n NProgress.done = function(force) {\n if (!force && !NProgress.status) return this;\n\n return NProgress.inc(0.3 + 0.5 * Math.random()).set(1);\n };\n\n /**\n * Increments by a random amount.\n */\n\n NProgress.inc = function(amount) {\n var n = NProgress.status;\n\n if (!n) {\n return NProgress.start();\n } else {\n if (typeof amount !== 'number') {\n amount = (1 - n) * clamp(Math.random() * n, 0.1, 0.95);\n }\n\n n = clamp(n + amount, 0, 0.994);\n return NProgress.set(n);\n }\n };\n\n NProgress.trickle = function() {\n return NProgress.inc(Math.random() * Settings.trickleRate);\n };\n\n /**\n * Waits for all supplied jQuery promises and\n * increases the progress as the promises resolve.\n *\n * @param $promise jQUery Promise\n */\n (function() {\n var initial = 0, current = 0;\n\n NProgress.promise = function($promise) {\n if (!$promise || $promise.state() === \"resolved\") {\n return this;\n }\n\n if (current === 0) {\n NProgress.start();\n }\n\n initial++;\n current++;\n\n $promise.always(function() {\n current--;\n if (current === 0) {\n initial = 0;\n NProgress.done();\n } else {\n NProgress.set((initial - current) / initial);\n }\n });\n\n return this;\n };\n\n })();\n\n /**\n * (Internal) renders the progress bar markup based on the `template`\n * setting.\n */\n\n NProgress.render = function(fromStart) {\n if (NProgress.isRendered()) return document.getElementById('nprogress');\n\n addClass(document.documentElement, 'nprogress-busy');\n \n var progress = document.createElement('div');\n progress.id = 'nprogress';\n progress.innerHTML = Settings.template;\n\n var bar = progress.querySelector(Settings.barSelector),\n perc = fromStart ? '-100' : toBarPerc(NProgress.status || 0),\n parent = document.querySelector(Settings.parent),\n spinner;\n \n css(bar, {\n transition: 'all 0 linear',\n transform: 'translate3d(' + perc + '%,0,0)'\n });\n\n if (!Settings.showSpinner) {\n spinner = progress.querySelector(Settings.spinnerSelector);\n spinner && removeElement(spinner);\n }\n\n if (parent != document.body) {\n addClass(parent, 'nprogress-custom-parent');\n }\n\n parent.appendChild(progress);\n return progress;\n };\n\n /**\n * Removes the element. Opposite of render().\n */\n\n NProgress.remove = function() {\n removeClass(document.documentElement, 'nprogress-busy');\n removeClass(document.querySelector(Settings.parent), 'nprogress-custom-parent');\n var progress = document.getElementById('nprogress');\n progress && removeElement(progress);\n };\n\n /**\n * Checks if the progress bar is rendered.\n */\n\n NProgress.isRendered = function() {\n return !!document.getElementById('nprogress');\n };\n\n /**\n * Determine which positioning CSS rule to use.\n */\n\n NProgress.getPositioningCSS = function() {\n // Sniff on document.body.style\n var bodyStyle = document.body.style;\n\n // Sniff prefixes\n var vendorPrefix = ('WebkitTransform' in bodyStyle) ? 'Webkit' :\n ('MozTransform' in bodyStyle) ? 'Moz' :\n ('msTransform' in bodyStyle) ? 'ms' :\n ('OTransform' in bodyStyle) ? 'O' : '';\n\n if (vendorPrefix + 'Perspective' in bodyStyle) {\n // Modern browsers with 3D support, e.g. Webkit, IE10\n return 'translate3d';\n } else if (vendorPrefix + 'Transform' in bodyStyle) {\n // Browsers without 3D support, e.g. IE9\n return 'translate';\n } else {\n // Browsers without translate() support, e.g. IE7-8\n return 'margin';\n }\n };\n\n /**\n * Helpers\n */\n\n function clamp(n, min, max) {\n if (n < min) return min;\n if (n > max) return max;\n return n;\n }\n\n /**\n * (Internal) converts a percentage (`0..1`) to a bar translateX\n * percentage (`-100%..0%`).\n */\n\n function toBarPerc(n) {\n return (-1 + n) * 100;\n }\n\n\n /**\n * (Internal) returns the correct CSS for changing the bar's\n * position given an n percentage, and speed and ease from Settings\n */\n\n function barPositionCSS(n, speed, ease) {\n var barCSS;\n\n if (Settings.positionUsing === 'translate3d') {\n barCSS = { transform: 'translate3d('+toBarPerc(n)+'%,0,0)' };\n } else if (Settings.positionUsing === 'translate') {\n barCSS = { transform: 'translate('+toBarPerc(n)+'%,0)' };\n } else {\n barCSS = { 'margin-left': toBarPerc(n)+'%' };\n }\n\n barCSS.transition = 'all '+speed+'ms '+ease;\n\n return barCSS;\n }\n\n /**\n * (Internal) Queues a function to be executed.\n */\n\n var queue = (function() {\n var pending = [];\n \n function next() {\n var fn = pending.shift();\n if (fn) {\n fn(next);\n }\n }\n\n return function(fn) {\n pending.push(fn);\n if (pending.length == 1) next();\n };\n })();\n\n /**\n * (Internal) Applies css properties to an element, similar to the jQuery \n * css method.\n *\n * While this helper does assist with vendor prefixed property names, it \n * does not perform any manipulation of values prior to setting styles.\n */\n\n var css = (function() {\n var cssPrefixes = [ 'Webkit', 'O', 'Moz', 'ms' ],\n cssProps = {};\n\n function camelCase(string) {\n return string.replace(/^-ms-/, 'ms-').replace(/-([\\da-z])/gi, function(match, letter) {\n return letter.toUpperCase();\n });\n }\n\n function getVendorProp(name) {\n var style = document.body.style;\n if (name in style) return name;\n\n var i = cssPrefixes.length,\n capName = name.charAt(0).toUpperCase() + name.slice(1),\n vendorName;\n while (i--) {\n vendorName = cssPrefixes[i] + capName;\n if (vendorName in style) return vendorName;\n }\n\n return name;\n }\n\n function getStyleProp(name) {\n name = camelCase(name);\n return cssProps[name] || (cssProps[name] = getVendorProp(name));\n }\n\n function applyCss(element, prop, value) {\n prop = getStyleProp(prop);\n element.style[prop] = value;\n }\n\n return function(element, properties) {\n var args = arguments,\n prop, \n value;\n\n if (args.length == 2) {\n for (prop in properties) {\n value = properties[prop];\n if (value !== undefined && properties.hasOwnProperty(prop)) applyCss(element, prop, value);\n }\n } else {\n applyCss(element, args[1], args[2]);\n }\n }\n })();\n\n /**\n * (Internal) Determines if an element or space separated list of class names contains a class name.\n */\n\n function hasClass(element, name) {\n var list = typeof element == 'string' ? element : classList(element);\n return list.indexOf(' ' + name + ' ') >= 0;\n }\n\n /**\n * (Internal) Adds a class to an element.\n */\n\n function addClass(element, name) {\n var oldList = classList(element),\n newList = oldList + name;\n\n if (hasClass(oldList, name)) return; \n\n // Trim the opening space.\n element.className = newList.substring(1);\n }\n\n /**\n * (Internal) Removes a class from an element.\n */\n\n function removeClass(element, name) {\n var oldList = classList(element),\n newList;\n\n if (!hasClass(element, name)) return;\n\n // Replace the class name.\n newList = oldList.replace(' ' + name + ' ', ' ');\n\n // Trim the opening and closing spaces.\n element.className = newList.substring(1, newList.length - 1);\n }\n\n /**\n * (Internal) Gets a space separated list of the class names on the element. \n * The list is wrapped with a single space on each end to facilitate finding \n * matches within the list.\n */\n\n function classList(element) {\n return (' ' + (element.className || '') + ' ').replace(/\\s+/gi, ' ');\n }\n\n /**\n * (Internal) Removes an element from the DOM.\n */\n\n function removeElement(element) {\n element && element.parentNode && element.parentNode.removeChild(element);\n }\n\n return NProgress;\n});\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*/\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar DataZoomView = require(\"./DataZoomView\");\n\nvar sliderMove = require(\"../helper/sliderMove\");\n\nvar roams = require(\"./roams\");\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*/\nvar bind = zrUtil.bind;\nvar InsideZoomView = DataZoomView.extend({\n type: 'dataZoom.inside',\n\n /**\n * @override\n */\n init: function (ecModel, api) {\n /**\n * 'throttle' is used in this.dispatchAction, so we save range\n * to avoid missing some 'pan' info.\n * @private\n * @type {Array.}\n */\n this._range;\n },\n\n /**\n * @override\n */\n render: function (dataZoomModel, ecModel, api, payload) {\n InsideZoomView.superApply(this, 'render', arguments); // Hence the `throttle` util ensures to preserve command order,\n // here simply updating range all the time will not cause missing\n // any of the the roam change.\n\n this._range = dataZoomModel.getPercentRange(); // Reset controllers.\n\n zrUtil.each(this.getTargetCoordInfo(), function (coordInfoList, coordSysName) {\n var allCoordIds = zrUtil.map(coordInfoList, function (coordInfo) {\n return roams.generateCoordId(coordInfo.model);\n });\n zrUtil.each(coordInfoList, function (coordInfo) {\n var coordModel = coordInfo.model;\n var getRange = {};\n zrUtil.each(['pan', 'zoom', 'scrollMove'], function (eventName) {\n getRange[eventName] = bind(roamHandlers[eventName], this, coordInfo, coordSysName);\n }, this);\n roams.register(api, {\n coordId: roams.generateCoordId(coordModel),\n allCoordIds: allCoordIds,\n containsPoint: function (e, x, y) {\n return coordModel.coordinateSystem.containPoint([x, y]);\n },\n dataZoomId: dataZoomModel.id,\n dataZoomModel: dataZoomModel,\n getRange: getRange\n });\n }, this);\n }, this);\n },\n\n /**\n * @override\n */\n dispose: function () {\n roams.unregister(this.api, this.dataZoomModel.id);\n InsideZoomView.superApply(this, 'dispose', arguments);\n this._range = null;\n }\n});\nvar roamHandlers = {\n /**\n * @this {module:echarts/component/dataZoom/InsideZoomView}\n */\n zoom: function (coordInfo, coordSysName, controller, e) {\n var lastRange = this._range;\n var range = lastRange.slice(); // Calculate transform by the first axis.\n\n var axisModel = coordInfo.axisModels[0];\n\n if (!axisModel) {\n return;\n }\n\n var directionInfo = getDirectionInfo[coordSysName](null, [e.originX, e.originY], axisModel, controller, coordInfo);\n var percentPoint = (directionInfo.signal > 0 ? directionInfo.pixelStart + directionInfo.pixelLength - directionInfo.pixel : directionInfo.pixel - directionInfo.pixelStart) / directionInfo.pixelLength * (range[1] - range[0]) + range[0];\n var scale = Math.max(1 / e.scale, 0);\n range[0] = (range[0] - percentPoint) * scale + percentPoint;\n range[1] = (range[1] - percentPoint) * scale + percentPoint; // Restrict range.\n\n var minMaxSpan = this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();\n sliderMove(0, range, [0, 100], 0, minMaxSpan.minSpan, minMaxSpan.maxSpan);\n this._range = range;\n\n if (lastRange[0] !== range[0] || lastRange[1] !== range[1]) {\n return range;\n }\n },\n\n /**\n * @this {module:echarts/component/dataZoom/InsideZoomView}\n */\n pan: makeMover(function (range, axisModel, coordInfo, coordSysName, controller, e) {\n var directionInfo = getDirectionInfo[coordSysName]([e.oldX, e.oldY], [e.newX, e.newY], axisModel, controller, coordInfo);\n return directionInfo.signal * (range[1] - range[0]) * directionInfo.pixel / directionInfo.pixelLength;\n }),\n\n /**\n * @this {module:echarts/component/dataZoom/InsideZoomView}\n */\n scrollMove: makeMover(function (range, axisModel, coordInfo, coordSysName, controller, e) {\n var directionInfo = getDirectionInfo[coordSysName]([0, 0], [e.scrollDelta, e.scrollDelta], axisModel, controller, coordInfo);\n return directionInfo.signal * (range[1] - range[0]) * e.scrollDelta;\n })\n};\n\nfunction makeMover(getPercentDelta) {\n return function (coordInfo, coordSysName, controller, e) {\n var lastRange = this._range;\n var range = lastRange.slice(); // Calculate transform by the first axis.\n\n var axisModel = coordInfo.axisModels[0];\n\n if (!axisModel) {\n return;\n }\n\n var percentDelta = getPercentDelta(range, axisModel, coordInfo, coordSysName, controller, e);\n sliderMove(percentDelta, range, [0, 100], 'all');\n this._range = range;\n\n if (lastRange[0] !== range[0] || lastRange[1] !== range[1]) {\n return range;\n }\n };\n}\n\nvar getDirectionInfo = {\n grid: function (oldPoint, newPoint, axisModel, controller, coordInfo) {\n var axis = axisModel.axis;\n var ret = {};\n var rect = coordInfo.model.coordinateSystem.getRect();\n oldPoint = oldPoint || [0, 0];\n\n if (axis.dim === 'x') {\n ret.pixel = newPoint[0] - oldPoint[0];\n ret.pixelLength = rect.width;\n ret.pixelStart = rect.x;\n ret.signal = axis.inverse ? 1 : -1;\n } else {\n // axis.dim === 'y'\n ret.pixel = newPoint[1] - oldPoint[1];\n ret.pixelLength = rect.height;\n ret.pixelStart = rect.y;\n ret.signal = axis.inverse ? -1 : 1;\n }\n\n return ret;\n },\n polar: function (oldPoint, newPoint, axisModel, controller, coordInfo) {\n var axis = axisModel.axis;\n var ret = {};\n var polar = coordInfo.model.coordinateSystem;\n var radiusExtent = polar.getRadiusAxis().getExtent();\n var angleExtent = polar.getAngleAxis().getExtent();\n oldPoint = oldPoint ? polar.pointToCoord(oldPoint) : [0, 0];\n newPoint = polar.pointToCoord(newPoint);\n\n if (axisModel.mainType === 'radiusAxis') {\n ret.pixel = newPoint[0] - oldPoint[0]; // ret.pixelLength = Math.abs(radiusExtent[1] - radiusExtent[0]);\n // ret.pixelStart = Math.min(radiusExtent[0], radiusExtent[1]);\n\n ret.pixelLength = radiusExtent[1] - radiusExtent[0];\n ret.pixelStart = radiusExtent[0];\n ret.signal = axis.inverse ? 1 : -1;\n } else {\n // 'angleAxis'\n ret.pixel = newPoint[1] - oldPoint[1]; // ret.pixelLength = Math.abs(angleExtent[1] - angleExtent[0]);\n // ret.pixelStart = Math.min(angleExtent[0], angleExtent[1]);\n\n ret.pixelLength = angleExtent[1] - angleExtent[0];\n ret.pixelStart = angleExtent[0];\n ret.signal = axis.inverse ? -1 : 1;\n }\n\n return ret;\n },\n singleAxis: function (oldPoint, newPoint, axisModel, controller, coordInfo) {\n var axis = axisModel.axis;\n var rect = coordInfo.model.coordinateSystem.getRect();\n var ret = {};\n oldPoint = oldPoint || [0, 0];\n\n if (axis.orient === 'horizontal') {\n ret.pixel = newPoint[0] - oldPoint[0];\n ret.pixelLength = rect.width;\n ret.pixelStart = rect.x;\n ret.signal = axis.inverse ? 1 : -1;\n } else {\n // 'vertical'\n ret.pixel = newPoint[1] - oldPoint[1];\n ret.pixelLength = rect.height;\n ret.pixelStart = rect.y;\n ret.signal = axis.inverse ? -1 : 1;\n }\n\n return ret;\n }\n};\nvar _default = InsideZoomView;\nmodule.exports = _default;","var staticStrUndefined = require('../static/staticStrUndefined')\r\nvar staticDocument = require('../static/staticDocument')\r\nvar staticWindow = require('../static/staticWindow')\r\n\r\nvar assign = require('../object/assign')\r\nvar arrayEach = require('../array/arrayEach')\r\n\r\n/* eslint-disable valid-typeof */\r\nfunction isBrowseStorage (storage) {\r\n try {\r\n var testKey = '__xe_t'\r\n storage.setItem(testKey, 1)\r\n storage.removeItem(testKey)\r\n return true\r\n } catch (e) {\r\n return false\r\n }\r\n}\r\n\r\nfunction isBrowseType (type) {\r\n return navigator.userAgent.indexOf(type) > -1\r\n}\r\n\r\n/**\r\n * 获取浏览器内核\r\n * @return Object\r\n */\r\nfunction browse () {\r\n var $body, isChrome, isEdge\r\n var isMobile = false\r\n var result = {\r\n isNode: false,\r\n isMobile: isMobile,\r\n isPC: false,\r\n isDoc: !!staticDocument\r\n }\r\n if (!staticWindow && typeof process !== staticStrUndefined) {\r\n result.isNode = true\r\n } else {\r\n isEdge = isBrowseType('Edge')\r\n isChrome = isBrowseType('Chrome')\r\n isMobile = /(Android|webOS|iPhone|iPad|iPod|SymbianOS|BlackBerry|Windows Phone)/.test(navigator.userAgent)\r\n if (result.isDoc) {\r\n $body = staticDocument.body || staticDocument.documentElement\r\n arrayEach(['webkit', 'khtml', 'moz', 'ms', 'o'], function (core) {\r\n result['-' + core] = !!$body[core + 'MatchesSelector']\r\n })\r\n }\r\n assign(result, {\r\n edge: isEdge,\r\n firefox: isBrowseType('Firefox'),\r\n msie: !isEdge && result['-ms'],\r\n safari: !isChrome && !isEdge && isBrowseType('Safari'),\r\n isMobile: isMobile,\r\n isPC: !isMobile,\r\n isLocalStorage: isBrowseStorage(staticWindow.localStorage),\r\n isSessionStorage: isBrowseStorage(staticWindow.sessionStorage)\r\n })\r\n }\r\n return result\r\n}\r\n\r\nmodule.exports = browse\r\n","function helperGetDateMonth (date) {\r\n return date.getMonth()\r\n}\r\n\r\nmodule.exports = helperGetDateMonth\r\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var completeDimensions = require('echarts/lib/data/helper/completeDimensions');\nvar echarts = require('echarts/lib/echarts');\n\necharts.extendSeriesModel({\n\n type: 'series.liquidFill',\n\n visualColorAccessPath: 'textStyle.normal.color',\n\n optionUpdated: function () {\n var option = this.option;\n option.gridSize = Math.max(Math.floor(option.gridSize), 4);\n },\n\n getInitialData: function (option, ecModel) {\n var dimensions = completeDimensions(['value'], option.data);\n var list = new echarts.List(dimensions, this);\n list.initData(option.data);\n return list;\n },\n\n defaultOption: {\n color: ['#294D99', '#156ACF', '#1598ED', '#45BDFF'],\n center: ['50%', '50%'],\n radius: '50%',\n amplitude: '8%',\n waveLength: '80%',\n phase: 'auto',\n period: 'auto',\n direction: 'right',\n shape: 'circle',\n\n waveAnimation: true,\n animationEasing: 'linear',\n animationEasingUpdate: 'linear',\n animationDuration: 2000,\n animationDurationUpdate: 1000,\n\n outline: {\n show: true,\n borderDistance: 8,\n itemStyle: {\n color: 'none',\n borderColor: '#294D99',\n borderWidth: 8,\n shadowBlur: 20,\n shadowColor: 'rgba(0, 0, 0, 0.25)'\n }\n },\n\n backgroundStyle: {\n color: '#E3F7FF'\n },\n\n itemStyle: {\n opacity: 0.95,\n shadowBlur: 50,\n shadowColor: 'rgba(0, 0, 0, 0.4)'\n },\n\n label: {\n show: true,\n color: '#294D99',\n insideColor: '#fff',\n fontSize: 50,\n fontWeight: 'bold',\n\n align: 'center',\n baseline: 'middle',\n position: 'inside'\n },\n\n emphasis: {\n itemStyle: {\n opacity: 0.8\n }\n }\n }\n});\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\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\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar List = require(\"../../data/List\");\n\nvar createDimensions = require(\"../../data/helper/createDimensions\");\n\nvar _sourceType = require(\"../../data/helper/sourceType\");\n\nvar SOURCE_FORMAT_ORIGINAL = _sourceType.SOURCE_FORMAT_ORIGINAL;\n\nvar _dimensionHelper = require(\"../../data/helper/dimensionHelper\");\n\nvar getDimensionTypeByAxis = _dimensionHelper.getDimensionTypeByAxis;\n\nvar _model = require(\"../../util/model\");\n\nvar getDataItemValue = _model.getDataItemValue;\n\nvar CoordinateSystem = require(\"../../CoordinateSystem\");\n\nvar _referHelper = require(\"../../model/referHelper\");\n\nvar getCoordSysInfoBySeries = _referHelper.getCoordSysInfoBySeries;\n\nvar Source = require(\"../../data/Source\");\n\nvar _dataStackHelper = require(\"../../data/helper/dataStackHelper\");\n\nvar enableDataStack = _dataStackHelper.enableDataStack;\n\nvar _sourceHelper = require(\"../../data/helper/sourceHelper\");\n\nvar makeSeriesEncodeForAxisCoordSys = _sourceHelper.makeSeriesEncodeForAxisCoordSys;\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 * @param {module:echarts/data/Source|Array} source Or raw data.\n * @param {module:echarts/model/Series} seriesModel\n * @param {Object} [opt]\n * @param {string} [opt.generateCoord]\n * @param {boolean} [opt.useEncodeDefaulter]\n */\nfunction createListFromArray(source, seriesModel, opt) {\n opt = opt || {};\n\n if (!Source.isInstance(source)) {\n source = Source.seriesDataToSource(source);\n }\n\n var coordSysName = seriesModel.get('coordinateSystem');\n var registeredCoordSys = CoordinateSystem.get(coordSysName);\n var coordSysInfo = getCoordSysInfoBySeries(seriesModel);\n var coordSysDimDefs;\n\n if (coordSysInfo) {\n coordSysDimDefs = zrUtil.map(coordSysInfo.coordSysDims, function (dim) {\n var dimInfo = {\n name: dim\n };\n var axisModel = coordSysInfo.axisMap.get(dim);\n\n if (axisModel) {\n var axisType = axisModel.get('type');\n dimInfo.type = getDimensionTypeByAxis(axisType); // dimInfo.stackable = isStackable(axisType);\n }\n\n return dimInfo;\n });\n }\n\n if (!coordSysDimDefs) {\n // Get dimensions from registered coordinate system\n coordSysDimDefs = registeredCoordSys && (registeredCoordSys.getDimensionsInfo ? registeredCoordSys.getDimensionsInfo() : registeredCoordSys.dimensions.slice()) || ['x', 'y'];\n }\n\n var dimInfoList = createDimensions(source, {\n coordDimensions: coordSysDimDefs,\n generateCoord: opt.generateCoord,\n encodeDefaulter: opt.useEncodeDefaulter ? zrUtil.curry(makeSeriesEncodeForAxisCoordSys, coordSysDimDefs, seriesModel) : null\n });\n var firstCategoryDimIndex;\n var hasNameEncode;\n coordSysInfo && zrUtil.each(dimInfoList, function (dimInfo, dimIndex) {\n var coordDim = dimInfo.coordDim;\n var categoryAxisModel = coordSysInfo.categoryAxisMap.get(coordDim);\n\n if (categoryAxisModel) {\n if (firstCategoryDimIndex == null) {\n firstCategoryDimIndex = dimIndex;\n }\n\n dimInfo.ordinalMeta = categoryAxisModel.getOrdinalMeta();\n }\n\n if (dimInfo.otherDims.itemName != null) {\n hasNameEncode = true;\n }\n });\n\n if (!hasNameEncode && firstCategoryDimIndex != null) {\n dimInfoList[firstCategoryDimIndex].otherDims.itemName = 0;\n }\n\n var stackCalculationInfo = enableDataStack(seriesModel, dimInfoList);\n var list = new List(dimInfoList, seriesModel);\n list.setCalculationInfo(stackCalculationInfo);\n var dimValueGetter = firstCategoryDimIndex != null && isNeedCompleteOrdinalData(source) ? function (itemOpt, dimName, dataIndex, dimIndex) {\n // Use dataIndex as ordinal value in categoryAxis\n return dimIndex === firstCategoryDimIndex ? dataIndex : this.defaultDimValueGetter(itemOpt, dimName, dataIndex, dimIndex);\n } : null;\n list.hasItemOption = false;\n list.initData(source, null, dimValueGetter);\n return list;\n}\n\nfunction isNeedCompleteOrdinalData(source) {\n if (source.sourceFormat === SOURCE_FORMAT_ORIGINAL) {\n var sampleItem = firstDataNotNull(source.data || []);\n return sampleItem != null && !zrUtil.isArray(getDataItemValue(sampleItem));\n }\n}\n\nfunction firstDataNotNull(data) {\n var i = 0;\n\n while (i < data.length && data[i] == null) {\n i++;\n }\n\n return data[i];\n}\n\nvar _default = createListFromArray;\nmodule.exports = _default;","\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\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar _symbol = require(\"../../util/symbol\");\n\nvar createSymbol = _symbol.createSymbol;\n\nvar _number = require(\"../../util/number\");\n\nvar parsePercent = _number.parsePercent;\nvar isNumeric = _number.isNumeric;\n\nvar _helper = require(\"./helper\");\n\nvar setLabel = _helper.setLabel;\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*/\nvar BAR_BORDER_WIDTH_QUERY = ['itemStyle', 'borderWidth']; // index: +isHorizontal\n\nvar LAYOUT_ATTRS = [{\n xy: 'x',\n wh: 'width',\n index: 0,\n posDesc: ['left', 'right']\n}, {\n xy: 'y',\n wh: 'height',\n index: 1,\n posDesc: ['top', 'bottom']\n}];\nvar pathForLineWidth = new graphic.Circle();\nvar BarView = echarts.extendChartView({\n type: 'pictorialBar',\n render: function (seriesModel, ecModel, api) {\n var group = this.group;\n var data = seriesModel.getData();\n var oldData = this._data;\n var cartesian = seriesModel.coordinateSystem;\n var baseAxis = cartesian.getBaseAxis();\n var isHorizontal = !!baseAxis.isHorizontal();\n var coordSysRect = cartesian.grid.getRect();\n var opt = {\n ecSize: {\n width: api.getWidth(),\n height: api.getHeight()\n },\n seriesModel: seriesModel,\n coordSys: cartesian,\n coordSysExtent: [[coordSysRect.x, coordSysRect.x + coordSysRect.width], [coordSysRect.y, coordSysRect.y + coordSysRect.height]],\n isHorizontal: isHorizontal,\n valueDim: LAYOUT_ATTRS[+isHorizontal],\n categoryDim: LAYOUT_ATTRS[1 - isHorizontal]\n };\n data.diff(oldData).add(function (dataIndex) {\n if (!data.hasValue(dataIndex)) {\n return;\n }\n\n var itemModel = getItemModel(data, dataIndex);\n var symbolMeta = getSymbolMeta(data, dataIndex, itemModel, opt);\n var bar = createBar(data, opt, symbolMeta);\n data.setItemGraphicEl(dataIndex, bar);\n group.add(bar);\n updateCommon(bar, opt, symbolMeta);\n }).update(function (newIndex, oldIndex) {\n var bar = oldData.getItemGraphicEl(oldIndex);\n\n if (!data.hasValue(newIndex)) {\n group.remove(bar);\n return;\n }\n\n var itemModel = getItemModel(data, newIndex);\n var symbolMeta = getSymbolMeta(data, newIndex, itemModel, opt);\n var pictorialShapeStr = getShapeStr(data, symbolMeta);\n\n if (bar && pictorialShapeStr !== bar.__pictorialShapeStr) {\n group.remove(bar);\n data.setItemGraphicEl(newIndex, null);\n bar = null;\n }\n\n if (bar) {\n updateBar(bar, opt, symbolMeta);\n } else {\n bar = createBar(data, opt, symbolMeta, true);\n }\n\n data.setItemGraphicEl(newIndex, bar);\n bar.__pictorialSymbolMeta = symbolMeta; // Add back\n\n group.add(bar);\n updateCommon(bar, opt, symbolMeta);\n }).remove(function (dataIndex) {\n var bar = oldData.getItemGraphicEl(dataIndex);\n bar && removeBar(oldData, dataIndex, bar.__pictorialSymbolMeta.animationModel, bar);\n }).execute();\n this._data = data;\n return this.group;\n },\n dispose: zrUtil.noop,\n remove: function (ecModel, api) {\n var group = this.group;\n var data = this._data;\n\n if (ecModel.get('animation')) {\n if (data) {\n data.eachItemGraphicEl(function (bar) {\n removeBar(data, bar.dataIndex, ecModel, bar);\n });\n }\n } else {\n group.removeAll();\n }\n }\n}); // Set or calculate default value about symbol, and calculate layout info.\n\nfunction getSymbolMeta(data, dataIndex, itemModel, opt) {\n var layout = data.getItemLayout(dataIndex);\n var symbolRepeat = itemModel.get('symbolRepeat');\n var symbolClip = itemModel.get('symbolClip');\n var symbolPosition = itemModel.get('symbolPosition') || 'start';\n var symbolRotate = itemModel.get('symbolRotate');\n var rotation = (symbolRotate || 0) * Math.PI / 180 || 0;\n var symbolPatternSize = itemModel.get('symbolPatternSize') || 2;\n var isAnimationEnabled = itemModel.isAnimationEnabled();\n var symbolMeta = {\n dataIndex: dataIndex,\n layout: layout,\n itemModel: itemModel,\n symbolType: data.getItemVisual(dataIndex, 'symbol') || 'circle',\n color: data.getItemVisual(dataIndex, 'color'),\n symbolClip: symbolClip,\n symbolRepeat: symbolRepeat,\n symbolRepeatDirection: itemModel.get('symbolRepeatDirection'),\n symbolPatternSize: symbolPatternSize,\n rotation: rotation,\n animationModel: isAnimationEnabled ? itemModel : null,\n hoverAnimation: isAnimationEnabled && itemModel.get('hoverAnimation'),\n z2: itemModel.getShallow('z', true) || 0\n };\n prepareBarLength(itemModel, symbolRepeat, layout, opt, symbolMeta);\n prepareSymbolSize(data, dataIndex, layout, symbolRepeat, symbolClip, symbolMeta.boundingLength, symbolMeta.pxSign, symbolPatternSize, opt, symbolMeta);\n prepareLineWidth(itemModel, symbolMeta.symbolScale, rotation, opt, symbolMeta);\n var symbolSize = symbolMeta.symbolSize;\n var symbolOffset = itemModel.get('symbolOffset');\n\n if (zrUtil.isArray(symbolOffset)) {\n symbolOffset = [parsePercent(symbolOffset[0], symbolSize[0]), parsePercent(symbolOffset[1], symbolSize[1])];\n }\n\n prepareLayoutInfo(itemModel, symbolSize, layout, symbolRepeat, symbolClip, symbolOffset, symbolPosition, symbolMeta.valueLineWidth, symbolMeta.boundingLength, symbolMeta.repeatCutLength, opt, symbolMeta);\n return symbolMeta;\n} // bar length can be negative.\n\n\nfunction prepareBarLength(itemModel, symbolRepeat, layout, opt, output) {\n var valueDim = opt.valueDim;\n var symbolBoundingData = itemModel.get('symbolBoundingData');\n var valueAxis = opt.coordSys.getOtherAxis(opt.coordSys.getBaseAxis());\n var zeroPx = valueAxis.toGlobalCoord(valueAxis.dataToCoord(0));\n var pxSignIdx = 1 - +(layout[valueDim.wh] <= 0);\n var boundingLength;\n\n if (zrUtil.isArray(symbolBoundingData)) {\n var symbolBoundingExtent = [convertToCoordOnAxis(valueAxis, symbolBoundingData[0]) - zeroPx, convertToCoordOnAxis(valueAxis, symbolBoundingData[1]) - zeroPx];\n symbolBoundingExtent[1] < symbolBoundingExtent[0] && symbolBoundingExtent.reverse();\n boundingLength = symbolBoundingExtent[pxSignIdx];\n } else if (symbolBoundingData != null) {\n boundingLength = convertToCoordOnAxis(valueAxis, symbolBoundingData) - zeroPx;\n } else if (symbolRepeat) {\n boundingLength = opt.coordSysExtent[valueDim.index][pxSignIdx] - zeroPx;\n } else {\n boundingLength = layout[valueDim.wh];\n }\n\n output.boundingLength = boundingLength;\n\n if (symbolRepeat) {\n output.repeatCutLength = layout[valueDim.wh];\n }\n\n output.pxSign = boundingLength > 0 ? 1 : boundingLength < 0 ? -1 : 0;\n}\n\nfunction convertToCoordOnAxis(axis, value) {\n return axis.toGlobalCoord(axis.dataToCoord(axis.scale.parse(value)));\n} // Support ['100%', '100%']\n\n\nfunction prepareSymbolSize(data, dataIndex, layout, symbolRepeat, symbolClip, boundingLength, pxSign, symbolPatternSize, opt, output) {\n var valueDim = opt.valueDim;\n var categoryDim = opt.categoryDim;\n var categorySize = Math.abs(layout[categoryDim.wh]);\n var symbolSize = data.getItemVisual(dataIndex, 'symbolSize');\n\n if (zrUtil.isArray(symbolSize)) {\n symbolSize = symbolSize.slice();\n } else {\n if (symbolSize == null) {\n symbolSize = '100%';\n }\n\n symbolSize = [symbolSize, symbolSize];\n } // Note: percentage symbolSize (like '100%') do not consider lineWidth, because it is\n // to complicated to calculate real percent value if considering scaled lineWidth.\n // So the actual size will bigger than layout size if lineWidth is bigger than zero,\n // which can be tolerated in pictorial chart.\n\n\n symbolSize[categoryDim.index] = parsePercent(symbolSize[categoryDim.index], categorySize);\n symbolSize[valueDim.index] = parsePercent(symbolSize[valueDim.index], symbolRepeat ? categorySize : Math.abs(boundingLength));\n output.symbolSize = symbolSize; // If x or y is less than zero, show reversed shape.\n\n var symbolScale = output.symbolScale = [symbolSize[0] / symbolPatternSize, symbolSize[1] / symbolPatternSize]; // Follow convention, 'right' and 'top' is the normal scale.\n\n symbolScale[valueDim.index] *= (opt.isHorizontal ? -1 : 1) * pxSign;\n}\n\nfunction prepareLineWidth(itemModel, symbolScale, rotation, opt, output) {\n // In symbols are drawn with scale, so do not need to care about the case that width\n // or height are too small. But symbol use strokeNoScale, where acture lineWidth should\n // be calculated.\n var valueLineWidth = itemModel.get(BAR_BORDER_WIDTH_QUERY) || 0;\n\n if (valueLineWidth) {\n pathForLineWidth.attr({\n scale: symbolScale.slice(),\n rotation: rotation\n });\n pathForLineWidth.updateTransform();\n valueLineWidth /= pathForLineWidth.getLineScale();\n valueLineWidth *= symbolScale[opt.valueDim.index];\n }\n\n output.valueLineWidth = valueLineWidth;\n}\n\nfunction prepareLayoutInfo(itemModel, symbolSize, layout, symbolRepeat, symbolClip, symbolOffset, symbolPosition, valueLineWidth, boundingLength, repeatCutLength, opt, output) {\n var categoryDim = opt.categoryDim;\n var valueDim = opt.valueDim;\n var pxSign = output.pxSign;\n var unitLength = Math.max(symbolSize[valueDim.index] + valueLineWidth, 0);\n var pathLen = unitLength; // Note: rotation will not effect the layout of symbols, because user may\n // want symbols to rotate on its center, which should not be translated\n // when rotating.\n\n if (symbolRepeat) {\n var absBoundingLength = Math.abs(boundingLength);\n var symbolMargin = zrUtil.retrieve(itemModel.get('symbolMargin'), '15%') + '';\n var hasEndGap = false;\n\n if (symbolMargin.lastIndexOf('!') === symbolMargin.length - 1) {\n hasEndGap = true;\n symbolMargin = symbolMargin.slice(0, symbolMargin.length - 1);\n }\n\n symbolMargin = parsePercent(symbolMargin, symbolSize[valueDim.index]);\n var uLenWithMargin = Math.max(unitLength + symbolMargin * 2, 0); // When symbol margin is less than 0, margin at both ends will be subtracted\n // to ensure that all of the symbols will not be overflow the given area.\n\n var endFix = hasEndGap ? 0 : symbolMargin * 2; // Both final repeatTimes and final symbolMargin area calculated based on\n // boundingLength.\n\n var repeatSpecified = isNumeric(symbolRepeat);\n var repeatTimes = repeatSpecified ? symbolRepeat : toIntTimes((absBoundingLength + endFix) / uLenWithMargin); // Adjust calculate margin, to ensure each symbol is displayed\n // entirely in the given layout area.\n\n var mDiff = absBoundingLength - repeatTimes * unitLength;\n symbolMargin = mDiff / 2 / (hasEndGap ? repeatTimes : repeatTimes - 1);\n uLenWithMargin = unitLength + symbolMargin * 2;\n endFix = hasEndGap ? 0 : symbolMargin * 2; // Update repeatTimes when not all symbol will be shown.\n\n if (!repeatSpecified && symbolRepeat !== 'fixed') {\n repeatTimes = repeatCutLength ? toIntTimes((Math.abs(repeatCutLength) + endFix) / uLenWithMargin) : 0;\n }\n\n pathLen = repeatTimes * uLenWithMargin - endFix;\n output.repeatTimes = repeatTimes;\n output.symbolMargin = symbolMargin;\n }\n\n var sizeFix = pxSign * (pathLen / 2);\n var pathPosition = output.pathPosition = [];\n pathPosition[categoryDim.index] = layout[categoryDim.wh] / 2;\n pathPosition[valueDim.index] = symbolPosition === 'start' ? sizeFix : symbolPosition === 'end' ? boundingLength - sizeFix : boundingLength / 2; // 'center'\n\n if (symbolOffset) {\n pathPosition[0] += symbolOffset[0];\n pathPosition[1] += symbolOffset[1];\n }\n\n var bundlePosition = output.bundlePosition = [];\n bundlePosition[categoryDim.index] = layout[categoryDim.xy];\n bundlePosition[valueDim.index] = layout[valueDim.xy];\n var barRectShape = output.barRectShape = zrUtil.extend({}, layout);\n barRectShape[valueDim.wh] = pxSign * Math.max(Math.abs(layout[valueDim.wh]), Math.abs(pathPosition[valueDim.index] + sizeFix));\n barRectShape[categoryDim.wh] = layout[categoryDim.wh];\n var clipShape = output.clipShape = {}; // Consider that symbol may be overflow layout rect.\n\n clipShape[categoryDim.xy] = -layout[categoryDim.xy];\n clipShape[categoryDim.wh] = opt.ecSize[categoryDim.wh];\n clipShape[valueDim.xy] = 0;\n clipShape[valueDim.wh] = layout[valueDim.wh];\n}\n\nfunction createPath(symbolMeta) {\n var symbolPatternSize = symbolMeta.symbolPatternSize;\n var path = createSymbol( // Consider texture img, make a big size.\n symbolMeta.symbolType, -symbolPatternSize / 2, -symbolPatternSize / 2, symbolPatternSize, symbolPatternSize, symbolMeta.color);\n path.attr({\n culling: true\n });\n path.type !== 'image' && path.setStyle({\n strokeNoScale: true\n });\n return path;\n}\n\nfunction createOrUpdateRepeatSymbols(bar, opt, symbolMeta, isUpdate) {\n var bundle = bar.__pictorialBundle;\n var symbolSize = symbolMeta.symbolSize;\n var valueLineWidth = symbolMeta.valueLineWidth;\n var pathPosition = symbolMeta.pathPosition;\n var valueDim = opt.valueDim;\n var repeatTimes = symbolMeta.repeatTimes || 0;\n var index = 0;\n var unit = symbolSize[opt.valueDim.index] + valueLineWidth + symbolMeta.symbolMargin * 2;\n eachPath(bar, function (path) {\n path.__pictorialAnimationIndex = index;\n path.__pictorialRepeatTimes = repeatTimes;\n\n if (index < repeatTimes) {\n updateAttr(path, null, makeTarget(index), symbolMeta, isUpdate);\n } else {\n updateAttr(path, null, {\n scale: [0, 0]\n }, symbolMeta, isUpdate, function () {\n bundle.remove(path);\n });\n }\n\n updateHoverAnimation(path, symbolMeta);\n index++;\n });\n\n for (; index < repeatTimes; index++) {\n var path = createPath(symbolMeta);\n path.__pictorialAnimationIndex = index;\n path.__pictorialRepeatTimes = repeatTimes;\n bundle.add(path);\n var target = makeTarget(index);\n updateAttr(path, {\n position: target.position,\n scale: [0, 0]\n }, {\n scale: target.scale,\n rotation: target.rotation\n }, symbolMeta, isUpdate); // FIXME\n // If all emphasis/normal through action.\n\n path.on('mouseover', onMouseOver).on('mouseout', onMouseOut);\n updateHoverAnimation(path, symbolMeta);\n }\n\n function makeTarget(index) {\n var position = pathPosition.slice(); // (start && pxSign > 0) || (end && pxSign < 0): i = repeatTimes - index\n // Otherwise: i = index;\n\n var pxSign = symbolMeta.pxSign;\n var i = index;\n\n if (symbolMeta.symbolRepeatDirection === 'start' ? pxSign > 0 : pxSign < 0) {\n i = repeatTimes - 1 - index;\n }\n\n position[valueDim.index] = unit * (i - repeatTimes / 2 + 0.5) + pathPosition[valueDim.index];\n return {\n position: position,\n scale: symbolMeta.symbolScale.slice(),\n rotation: symbolMeta.rotation\n };\n }\n\n function onMouseOver() {\n eachPath(bar, function (path) {\n path.trigger('emphasis');\n });\n }\n\n function onMouseOut() {\n eachPath(bar, function (path) {\n path.trigger('normal');\n });\n }\n}\n\nfunction createOrUpdateSingleSymbol(bar, opt, symbolMeta, isUpdate) {\n var bundle = bar.__pictorialBundle;\n var mainPath = bar.__pictorialMainPath;\n\n if (!mainPath) {\n mainPath = bar.__pictorialMainPath = createPath(symbolMeta);\n bundle.add(mainPath);\n updateAttr(mainPath, {\n position: symbolMeta.pathPosition.slice(),\n scale: [0, 0],\n rotation: symbolMeta.rotation\n }, {\n scale: symbolMeta.symbolScale.slice()\n }, symbolMeta, isUpdate);\n mainPath.on('mouseover', onMouseOver).on('mouseout', onMouseOut);\n } else {\n updateAttr(mainPath, null, {\n position: symbolMeta.pathPosition.slice(),\n scale: symbolMeta.symbolScale.slice(),\n rotation: symbolMeta.rotation\n }, symbolMeta, isUpdate);\n }\n\n updateHoverAnimation(mainPath, symbolMeta);\n\n function onMouseOver() {\n this.trigger('emphasis');\n }\n\n function onMouseOut() {\n this.trigger('normal');\n }\n} // bar rect is used for label.\n\n\nfunction createOrUpdateBarRect(bar, symbolMeta, isUpdate) {\n var rectShape = zrUtil.extend({}, symbolMeta.barRectShape);\n var barRect = bar.__pictorialBarRect;\n\n if (!barRect) {\n barRect = bar.__pictorialBarRect = new graphic.Rect({\n z2: 2,\n shape: rectShape,\n silent: true,\n style: {\n stroke: 'transparent',\n fill: 'transparent',\n lineWidth: 0\n }\n });\n bar.add(barRect);\n } else {\n updateAttr(barRect, null, {\n shape: rectShape\n }, symbolMeta, isUpdate);\n }\n}\n\nfunction createOrUpdateClip(bar, opt, symbolMeta, isUpdate) {\n // If not clip, symbol will be remove and rebuilt.\n if (symbolMeta.symbolClip) {\n var clipPath = bar.__pictorialClipPath;\n var clipShape = zrUtil.extend({}, symbolMeta.clipShape);\n var valueDim = opt.valueDim;\n var animationModel = symbolMeta.animationModel;\n var dataIndex = symbolMeta.dataIndex;\n\n if (clipPath) {\n graphic.updateProps(clipPath, {\n shape: clipShape\n }, animationModel, dataIndex);\n } else {\n clipShape[valueDim.wh] = 0;\n clipPath = new graphic.Rect({\n shape: clipShape\n });\n\n bar.__pictorialBundle.setClipPath(clipPath);\n\n bar.__pictorialClipPath = clipPath;\n var target = {};\n target[valueDim.wh] = symbolMeta.clipShape[valueDim.wh];\n graphic[isUpdate ? 'updateProps' : 'initProps'](clipPath, {\n shape: target\n }, animationModel, dataIndex);\n }\n }\n}\n\nfunction getItemModel(data, dataIndex) {\n var itemModel = data.getItemModel(dataIndex);\n itemModel.getAnimationDelayParams = getAnimationDelayParams;\n itemModel.isAnimationEnabled = isAnimationEnabled;\n return itemModel;\n}\n\nfunction getAnimationDelayParams(path) {\n // The order is the same as the z-order, see `symbolRepeatDiretion`.\n return {\n index: path.__pictorialAnimationIndex,\n count: path.__pictorialRepeatTimes\n };\n}\n\nfunction isAnimationEnabled() {\n // `animation` prop can be set on itemModel in pictorial bar chart.\n return this.parentModel.isAnimationEnabled() && !!this.getShallow('animation');\n}\n\nfunction updateHoverAnimation(path, symbolMeta) {\n path.off('emphasis').off('normal');\n var scale = symbolMeta.symbolScale.slice();\n symbolMeta.hoverAnimation && path.on('emphasis', function () {\n this.animateTo({\n scale: [scale[0] * 1.1, scale[1] * 1.1]\n }, 400, 'elasticOut');\n }).on('normal', function () {\n this.animateTo({\n scale: scale.slice()\n }, 400, 'elasticOut');\n });\n}\n\nfunction createBar(data, opt, symbolMeta, isUpdate) {\n // bar is the main element for each data.\n var bar = new graphic.Group(); // bundle is used for location and clip.\n\n var bundle = new graphic.Group();\n bar.add(bundle);\n bar.__pictorialBundle = bundle;\n bundle.attr('position', symbolMeta.bundlePosition.slice());\n\n if (symbolMeta.symbolRepeat) {\n createOrUpdateRepeatSymbols(bar, opt, symbolMeta);\n } else {\n createOrUpdateSingleSymbol(bar, opt, symbolMeta);\n }\n\n createOrUpdateBarRect(bar, symbolMeta, isUpdate);\n createOrUpdateClip(bar, opt, symbolMeta, isUpdate);\n bar.__pictorialShapeStr = getShapeStr(data, symbolMeta);\n bar.__pictorialSymbolMeta = symbolMeta;\n return bar;\n}\n\nfunction updateBar(bar, opt, symbolMeta) {\n var animationModel = symbolMeta.animationModel;\n var dataIndex = symbolMeta.dataIndex;\n var bundle = bar.__pictorialBundle;\n graphic.updateProps(bundle, {\n position: symbolMeta.bundlePosition.slice()\n }, animationModel, dataIndex);\n\n if (symbolMeta.symbolRepeat) {\n createOrUpdateRepeatSymbols(bar, opt, symbolMeta, true);\n } else {\n createOrUpdateSingleSymbol(bar, opt, symbolMeta, true);\n }\n\n createOrUpdateBarRect(bar, symbolMeta, true);\n createOrUpdateClip(bar, opt, symbolMeta, true);\n}\n\nfunction removeBar(data, dataIndex, animationModel, bar) {\n // Not show text when animating\n var labelRect = bar.__pictorialBarRect;\n labelRect && (labelRect.style.text = null);\n var pathes = [];\n eachPath(bar, function (path) {\n pathes.push(path);\n });\n bar.__pictorialMainPath && pathes.push(bar.__pictorialMainPath); // I do not find proper remove animation for clip yet.\n\n bar.__pictorialClipPath && (animationModel = null);\n zrUtil.each(pathes, function (path) {\n graphic.updateProps(path, {\n scale: [0, 0]\n }, animationModel, dataIndex, function () {\n bar.parent && bar.parent.remove(bar);\n });\n });\n data.setItemGraphicEl(dataIndex, null);\n}\n\nfunction getShapeStr(data, symbolMeta) {\n return [data.getItemVisual(symbolMeta.dataIndex, 'symbol') || 'none', !!symbolMeta.symbolRepeat, !!symbolMeta.symbolClip].join(':');\n}\n\nfunction eachPath(bar, cb, context) {\n // Do not use Group#eachChild, because it do not support remove.\n zrUtil.each(bar.__pictorialBundle.children(), function (el) {\n el !== bar.__pictorialBarRect && cb.call(context, el);\n });\n}\n\nfunction updateAttr(el, immediateAttrs, animationAttrs, symbolMeta, isUpdate, cb) {\n immediateAttrs && el.attr(immediateAttrs); // when symbolCip used, only clip path has init animation, otherwise it would be weird effect.\n\n if (symbolMeta.symbolClip && !isUpdate) {\n animationAttrs && el.attr(animationAttrs);\n } else {\n animationAttrs && graphic[isUpdate ? 'updateProps' : 'initProps'](el, animationAttrs, symbolMeta.animationModel, symbolMeta.dataIndex, cb);\n }\n}\n\nfunction updateCommon(bar, opt, symbolMeta) {\n var color = symbolMeta.color;\n var dataIndex = symbolMeta.dataIndex;\n var itemModel = symbolMeta.itemModel; // Color must be excluded.\n // Because symbol provide setColor individually to set fill and stroke\n\n var normalStyle = itemModel.getModel('itemStyle').getItemStyle(['color']);\n var hoverStyle = itemModel.getModel('emphasis.itemStyle').getItemStyle();\n var cursorStyle = itemModel.getShallow('cursor');\n eachPath(bar, function (path) {\n // PENDING setColor should be before setStyle!!!\n path.setColor(color);\n path.setStyle(zrUtil.defaults({\n fill: color,\n opacity: symbolMeta.opacity\n }, normalStyle));\n graphic.setHoverStyle(path, hoverStyle);\n cursorStyle && (path.cursor = cursorStyle);\n path.z2 = symbolMeta.z2;\n });\n var barRectHoverStyle = {};\n var barPositionOutside = opt.valueDim.posDesc[+(symbolMeta.boundingLength > 0)];\n var barRect = bar.__pictorialBarRect;\n setLabel(barRect.style, barRectHoverStyle, itemModel, color, opt.seriesModel, dataIndex, barPositionOutside);\n graphic.setHoverStyle(barRect, barRectHoverStyle);\n}\n\nfunction toIntTimes(times) {\n var roundedTimes = Math.round(times); // Escapse accurate error\n\n return Math.abs(times - roundedTimes) < 1e-4 ? roundedTimes : Math.ceil(times);\n}\n\nvar _default = BarView;\nmodule.exports = _default;","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.DomTools = void 0;\n\nvar _xeUtils = _interopRequireDefault(require(\"xe-utils/methods/xe-utils\"));\n\nvar _utils = _interopRequireDefault(require(\"./utils\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar browse = _xeUtils.default.browse();\n\nvar htmlElem = browse.isDoc ? document.querySelector('html') : 0;\nvar bodyElem = browse.isDoc ? document.body : 0;\n\nfunction getClsRE(cls) {\n if (!reClsMap[cls]) {\n reClsMap[cls] = new RegExp(\"(?:^|\\\\s)\".concat(cls, \"(?!\\\\S)\"), 'g');\n }\n\n return reClsMap[cls];\n}\n\nvar reClsMap = {};\nvar DomTools = {\n browse: browse,\n isPx: function isPx(val) {\n return val && /^\\d+(px)?$/.test(val);\n },\n isScale: function isScale(val) {\n return val && /^\\d+%$/.test(val);\n },\n hasClass: function hasClass(elem, cls) {\n return elem && elem.className && elem.className.match && elem.className.match(getClsRE(cls));\n },\n removeClass: function removeClass(elem, cls) {\n if (elem && DomTools.hasClass(elem, cls)) {\n elem.className = elem.className.replace(getClsRE(cls), '');\n }\n },\n addClass: function addClass(elem, cls) {\n if (elem && !DomTools.hasClass(elem, cls)) {\n DomTools.removeClass(elem, cls);\n elem.className = \"\".concat(elem.className, \" \").concat(cls);\n }\n },\n updateCellTitle: function updateCellTitle(evnt) {\n var cellElem = evnt.currentTarget.querySelector('.plx-cell');\n var content = cellElem.innerText;\n\n if (cellElem.getAttribute('title') !== content) {\n cellElem.setAttribute('title', content);\n }\n },\n rowToVisible: function rowToVisible($table, row) {\n var bodyElem = $table.$refs.tableBody.$el;\n var trElem = bodyElem.querySelector(\"[data-rowid=\\\"\".concat(_utils.default.getRowid($table, row), \"\\\"]\"));\n\n if (trElem) {\n var bodyHeight = bodyElem.clientHeight;\n var bodySrcollTop = bodyElem.scrollTop;\n var trOffsetTop = trElem.offsetTop + (trElem.offsetParent ? trElem.offsetParent.offsetTop : 0);\n var trHeight = trElem.clientHeight; // 检测行是否在可视区中\n\n if (trOffsetTop < bodySrcollTop || trOffsetTop > bodySrcollTop + bodyHeight) {\n // 向上定位\n return $table.scrollTo(null, trOffsetTop);\n } else if (trOffsetTop + trHeight >= bodyHeight + bodySrcollTop) {\n // 向下定位\n return $table.scrollTo(null, bodySrcollTop + trHeight);\n }\n } else {\n // 如果是虚拟渲染跨行滚动\n if ($table.scrollYLoad) {\n return $table.scrollTo(null, ($table.afterFullData.indexOf(row) - 1) * $table.scrollYStore.rowHeight);\n }\n }\n\n return Promise.resolve();\n },\n colToVisible: function colToVisible($table, column) {\n var bodyElem = $table.$refs.tableBody.$el;\n var tdElem = bodyElem.querySelector(\".\".concat(column.id));\n\n if (tdElem) {\n var bodyWidth = bodyElem.clientWidth;\n var bodySrcollLeft = bodyElem.scrollLeft;\n var tdOffsetLeft = tdElem.offsetLeft + (tdElem.offsetParent ? tdElem.offsetParent.offsetLeft : 0);\n var tdWidth = tdElem.clientWidth; // 检测行是否在可视区中\n\n if (tdOffsetLeft < bodySrcollLeft || tdOffsetLeft > bodySrcollLeft + bodyWidth) {\n // 向左定位\n return $table.scrollTo(tdOffsetLeft);\n } else if (tdOffsetLeft + tdWidth >= bodyWidth + bodySrcollLeft) {\n // 向右定位\n return $table.scrollTo(bodySrcollLeft + tdWidth);\n }\n } else {\n // 如果是虚拟渲染跨行滚动\n if ($table.scrollXLoad) {\n var visibleColumn = $table.visibleColumn;\n var scrollLeft = 0;\n\n for (var index = 0; index < visibleColumn.length; index++) {\n if (visibleColumn[index] === column) {\n break;\n }\n\n scrollLeft += visibleColumn[index].renderWidth;\n }\n\n return $table.scrollTo(scrollLeft);\n }\n }\n\n return Promise.resolve();\n },\n getDomNode: function getDomNode() {\n var documentElement = document.documentElement;\n var bodyElem = document.body;\n return {\n scrollTop: documentElement.scrollTop || bodyElem.scrollTop,\n scrollLeft: documentElement.scrollLeft || bodyElem.scrollLeft,\n visibleHeight: documentElement.clientHeight || bodyElem.clientHeight,\n visibleWidth: documentElement.clientWidth || bodyElem.clientWidth\n };\n },\n\n /**\n * 检查触发源是否属于目标节点\n */\n getEventTargetNode: function getEventTargetNode(evnt, container, queryCls, queryMethod) {\n var targetElem;\n var target = evnt.target;\n\n while (target && target.nodeType && target !== document) {\n if (queryCls && DomTools.hasClass(target, queryCls) && (!queryMethod || queryMethod(target))) {\n targetElem = target;\n } else if (target === container) {\n return {\n flag: queryCls ? !!targetElem : true,\n container: container,\n targetElem: targetElem\n };\n }\n\n target = target.parentNode;\n }\n\n return {\n flag: false\n };\n },\n\n /**\n * 获取元素相对于 document 的位置\n */\n getOffsetPos: function getOffsetPos(elem, container) {\n return getNodeOffset(elem, container, {\n left: 0,\n top: 0\n });\n },\n getAbsolutePos: function getAbsolutePos(elem) {\n var bounding = elem.getBoundingClientRect();\n\n var _DomTools$getDomNode = DomTools.getDomNode(),\n scrollTop = _DomTools$getDomNode.scrollTop,\n scrollLeft = _DomTools$getDomNode.scrollLeft;\n\n return {\n top: scrollTop + bounding.top,\n left: scrollLeft + bounding.left\n };\n },\n\n /**\n * 获取单元格节点索引\n */\n getCellNodeIndex: function getCellNodeIndex(cell) {\n var trElem = cell.parentNode;\n\n var columnIndex = _xeUtils.default.arrayIndexOf(trElem.children, cell);\n\n var rowIndex = _xeUtils.default.arrayIndexOf(trElem.parentNode.children, trElem);\n\n return {\n columnIndex: columnIndex,\n rowIndex: rowIndex\n };\n },\n\n /**\n * 获取选中单元格矩阵范围\n */\n getRowNodes: function getRowNodes(trList, cellNode, targetCellNode) {\n var startColIndex = cellNode.columnIndex;\n var startRowIndex = cellNode.rowIndex;\n var targetColIndex = targetCellNode.columnIndex;\n var targetRowIndex = targetCellNode.rowIndex;\n var rows = [];\n\n for (var rowIndex = Math.min(startRowIndex, targetRowIndex), rowLen = Math.max(startRowIndex, targetRowIndex); rowIndex <= rowLen; rowIndex++) {\n var cells = [];\n var trElem = trList[rowIndex];\n\n for (var colIndex = Math.min(startColIndex, targetColIndex), colLen = Math.max(startColIndex, targetColIndex); colIndex <= colLen; colIndex++) {\n var tdElem = trElem.children[colIndex];\n cells.push(tdElem);\n }\n\n rows.push(cells);\n }\n\n return rows;\n },\n getCellIndexs: function getCellIndexs(cell) {\n var trElem = cell.parentNode;\n var rowid = trElem.getAttribute('data-rowid');\n var columnIndex = [].indexOf.call(trElem.children, cell);\n var rowIndex = [].indexOf.call(trElem.parentNode.children, trElem);\n return {\n rowid: rowid,\n rowIndex: rowIndex,\n columnIndex: columnIndex\n };\n },\n getCell: function getCell($table, _ref) {\n var row = _ref.row,\n column = _ref.column;\n\n var rowid = _utils.default.getRowid($table, row);\n\n var bodyElem = $table.$refs[\"\".concat(column.fixed || 'table', \"Body\")];\n return (bodyElem || $table.$refs.tableBody).$el.querySelector(\".plx-body--row[data-rowid=\\\"\".concat(rowid, \"\\\"] .\").concat(column.id));\n },\n toView: function toView(elem) {\n var scrollIntoViewIfNeeded = 'scrollIntoViewIfNeeded';\n var scrollIntoView = 'scrollIntoView';\n\n if (elem) {\n if (elem[scrollIntoViewIfNeeded]) {\n elem[scrollIntoViewIfNeeded]();\n } else if (elem[scrollIntoView]) {\n elem[scrollIntoView]();\n }\n }\n }\n};\nexports.DomTools = DomTools;\n\nfunction getNodeOffset(elem, container, rest) {\n if (elem) {\n var parentElem = elem.parentNode;\n rest.top += elem.offsetTop;\n rest.left += elem.offsetLeft;\n\n if (parentElem && parentElem !== htmlElem && parentElem !== bodyElem) {\n rest.top -= parentElem.scrollTop;\n rest.left -= parentElem.scrollLeft;\n }\n\n if (container && (elem === container || elem.offsetParent === container) ? 0 : elem.offsetParent) {\n return getNodeOffset(elem.offsetParent, container, rest);\n }\n }\n\n return rest;\n}\n\nvar _default = DomTools;\nexports.default = _default;","\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\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar ChartView = require(\"../../view/Chart\");\n\nvar SunburstPiece = require(\"./SunburstPiece\");\n\nvar DataDiffer = require(\"../../data/DataDiffer\");\n\nvar _format = require(\"../../util/format\");\n\nvar windowOpen = _format.windowOpen;\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*/\nvar ROOT_TO_NODE_ACTION = 'sunburstRootToNode';\nvar SunburstView = ChartView.extend({\n type: 'sunburst',\n init: function () {},\n render: function (seriesModel, ecModel, api, payload) {\n var that = this;\n this.seriesModel = seriesModel;\n this.api = api;\n this.ecModel = ecModel;\n var data = seriesModel.getData();\n var virtualRoot = data.tree.root;\n var newRoot = seriesModel.getViewRoot();\n var group = this.group;\n var renderLabelForZeroData = seriesModel.get('renderLabelForZeroData');\n var newChildren = [];\n newRoot.eachNode(function (node) {\n newChildren.push(node);\n });\n var oldChildren = this._oldChildren || [];\n dualTravel(newChildren, oldChildren);\n renderRollUp(virtualRoot, newRoot);\n\n if (payload && payload.highlight && payload.highlight.piece) {\n var highlightPolicy = seriesModel.getShallow('highlightPolicy');\n payload.highlight.piece.onEmphasis(highlightPolicy);\n } else if (payload && payload.unhighlight) {\n var piece = this.virtualPiece;\n\n if (!piece && virtualRoot.children.length) {\n piece = virtualRoot.children[0].piece;\n }\n\n if (piece) {\n piece.onNormal();\n }\n }\n\n this._initEvents();\n\n this._oldChildren = newChildren;\n\n function dualTravel(newChildren, oldChildren) {\n if (newChildren.length === 0 && oldChildren.length === 0) {\n return;\n }\n\n new DataDiffer(oldChildren, newChildren, getKey, getKey).add(processNode).update(processNode).remove(zrUtil.curry(processNode, null)).execute();\n\n function getKey(node) {\n return node.getId();\n }\n\n function processNode(newId, oldId) {\n var newNode = newId == null ? null : newChildren[newId];\n var oldNode = oldId == null ? null : oldChildren[oldId];\n doRenderNode(newNode, oldNode);\n }\n }\n\n function doRenderNode(newNode, oldNode) {\n if (!renderLabelForZeroData && newNode && !newNode.getValue()) {\n // Not render data with value 0\n newNode = null;\n }\n\n if (newNode !== virtualRoot && oldNode !== virtualRoot) {\n if (oldNode && oldNode.piece) {\n if (newNode) {\n // Update\n oldNode.piece.updateData(false, newNode, 'normal', seriesModel, ecModel); // For tooltip\n\n data.setItemGraphicEl(newNode.dataIndex, oldNode.piece);\n } else {\n // Remove\n removeNode(oldNode);\n }\n } else if (newNode) {\n // Add\n var piece = new SunburstPiece(newNode, seriesModel, ecModel);\n group.add(piece); // For tooltip\n\n data.setItemGraphicEl(newNode.dataIndex, piece);\n }\n }\n }\n\n function removeNode(node) {\n if (!node) {\n return;\n }\n\n if (node.piece) {\n group.remove(node.piece);\n node.piece = null;\n }\n }\n\n function renderRollUp(virtualRoot, viewRoot) {\n if (viewRoot.depth > 0) {\n // Render\n if (that.virtualPiece) {\n // Update\n that.virtualPiece.updateData(false, virtualRoot, 'normal', seriesModel, ecModel);\n } else {\n // Add\n that.virtualPiece = new SunburstPiece(virtualRoot, seriesModel, ecModel);\n group.add(that.virtualPiece);\n }\n\n if (viewRoot.piece._onclickEvent) {\n viewRoot.piece.off('click', viewRoot.piece._onclickEvent);\n }\n\n var event = function (e) {\n that._rootToNode(viewRoot.parentNode);\n };\n\n viewRoot.piece._onclickEvent = event;\n that.virtualPiece.on('click', event);\n } else if (that.virtualPiece) {\n // Remove\n group.remove(that.virtualPiece);\n that.virtualPiece = null;\n }\n }\n },\n dispose: function () {},\n\n /**\n * @private\n */\n _initEvents: function () {\n var that = this;\n\n var event = function (e) {\n var targetFound = false;\n var viewRoot = that.seriesModel.getViewRoot();\n viewRoot.eachNode(function (node) {\n if (!targetFound && node.piece && node.piece.childAt(0) === e.target) {\n var nodeClick = node.getModel().get('nodeClick');\n\n if (nodeClick === 'rootToNode') {\n that._rootToNode(node);\n } else if (nodeClick === 'link') {\n var itemModel = node.getModel();\n var link = itemModel.get('link');\n\n if (link) {\n var linkTarget = itemModel.get('target', true) || '_blank';\n windowOpen(link, linkTarget);\n }\n }\n\n targetFound = true;\n }\n });\n };\n\n if (this.group._onclickEvent) {\n this.group.off('click', this.group._onclickEvent);\n }\n\n this.group.on('click', event);\n this.group._onclickEvent = event;\n },\n\n /**\n * @private\n */\n _rootToNode: function (node) {\n if (node !== this.seriesModel.getViewRoot()) {\n this.api.dispatchAction({\n type: ROOT_TO_NODE_ACTION,\n from: this.uid,\n seriesId: this.seriesModel.id,\n targetNode: node\n });\n }\n },\n\n /**\n * @implement\n */\n containPoint: function (point, seriesModel) {\n var treeRoot = seriesModel.getData();\n var itemLayout = treeRoot.getItemLayout(0);\n\n if (itemLayout) {\n var dx = point[0] - itemLayout.cx;\n var dy = point[1] - itemLayout.cy;\n var radius = Math.sqrt(dx * dx + dy * dy);\n return radius <= itemLayout.r && radius >= itemLayout.r0;\n }\n }\n});\nvar _default = SunburstView;\nmodule.exports = _default;","var Path = require(\"../graphic/Path\");\n\nvar PathProxy = require(\"../core/PathProxy\");\n\nvar transformPath = require(\"./transformPath\");\n\n// command chars\n// var cc = [\n// 'm', 'M', 'l', 'L', 'v', 'V', 'h', 'H', 'z', 'Z',\n// 'c', 'C', 'q', 'Q', 't', 'T', 's', 'S', 'a', 'A'\n// ];\nvar mathSqrt = Math.sqrt;\nvar mathSin = Math.sin;\nvar mathCos = Math.cos;\nvar PI = Math.PI;\n\nvar vMag = function (v) {\n return Math.sqrt(v[0] * v[0] + v[1] * v[1]);\n};\n\nvar vRatio = function (u, v) {\n return (u[0] * v[0] + u[1] * v[1]) / (vMag(u) * vMag(v));\n};\n\nvar vAngle = function (u, v) {\n return (u[0] * v[1] < u[1] * v[0] ? -1 : 1) * Math.acos(vRatio(u, v));\n};\n\nfunction processArc(x1, y1, x2, y2, fa, fs, rx, ry, psiDeg, cmd, path) {\n var psi = psiDeg * (PI / 180.0);\n var xp = mathCos(psi) * (x1 - x2) / 2.0 + mathSin(psi) * (y1 - y2) / 2.0;\n var yp = -1 * mathSin(psi) * (x1 - x2) / 2.0 + mathCos(psi) * (y1 - y2) / 2.0;\n var lambda = xp * xp / (rx * rx) + yp * yp / (ry * ry);\n\n if (lambda > 1) {\n rx *= mathSqrt(lambda);\n ry *= mathSqrt(lambda);\n }\n\n var f = (fa === fs ? -1 : 1) * mathSqrt((rx * rx * (ry * ry) - rx * rx * (yp * yp) - ry * ry * (xp * xp)) / (rx * rx * (yp * yp) + ry * ry * (xp * xp))) || 0;\n var cxp = f * rx * yp / ry;\n var cyp = f * -ry * xp / rx;\n var cx = (x1 + x2) / 2.0 + mathCos(psi) * cxp - mathSin(psi) * cyp;\n var cy = (y1 + y2) / 2.0 + mathSin(psi) * cxp + mathCos(psi) * cyp;\n var theta = vAngle([1, 0], [(xp - cxp) / rx, (yp - cyp) / ry]);\n var u = [(xp - cxp) / rx, (yp - cyp) / ry];\n var v = [(-1 * xp - cxp) / rx, (-1 * yp - cyp) / ry];\n var dTheta = vAngle(u, v);\n\n if (vRatio(u, v) <= -1) {\n dTheta = PI;\n }\n\n if (vRatio(u, v) >= 1) {\n dTheta = 0;\n }\n\n if (fs === 0 && dTheta > 0) {\n dTheta = dTheta - 2 * PI;\n }\n\n if (fs === 1 && dTheta < 0) {\n dTheta = dTheta + 2 * PI;\n }\n\n path.addData(cmd, cx, cy, rx, ry, theta, dTheta, psi, fs);\n}\n\nvar commandReg = /([mlvhzcqtsa])([^mlvhzcqtsa]*)/ig; // Consider case:\n// (1) delimiter can be comma or space, where continuous commas\n// or spaces should be seen as one comma.\n// (2) value can be like:\n// '2e-4', 'l.5.9' (ignore 0), 'M-10-10', 'l-2.43e-1,34.9983',\n// 'l-.5E1,54', '121-23-44-11' (no delimiter)\n\nvar numberReg = /-?([0-9]*\\.)?[0-9]+([eE]-?[0-9]+)?/g; // var valueSplitReg = /[\\s,]+/;\n\nfunction createPathProxyFromString(data) {\n if (!data) {\n return new PathProxy();\n } // var data = data.replace(/-/g, ' -')\n // .replace(/ /g, ' ')\n // .replace(/ /g, ',')\n // .replace(/,,/g, ',');\n // var n;\n // create pipes so that we can split the data\n // for (n = 0; n < cc.length; n++) {\n // cs = cs.replace(new RegExp(cc[n], 'g'), '|' + cc[n]);\n // }\n // data = data.replace(/-/g, ',-');\n // create array\n // var arr = cs.split('|');\n // init context point\n\n\n var cpx = 0;\n var cpy = 0;\n var subpathX = cpx;\n var subpathY = cpy;\n var prevCmd;\n var path = new PathProxy();\n var CMD = PathProxy.CMD; // commandReg.lastIndex = 0;\n // var cmdResult;\n // while ((cmdResult = commandReg.exec(data)) != null) {\n // var cmdStr = cmdResult[1];\n // var cmdContent = cmdResult[2];\n\n var cmdList = data.match(commandReg);\n\n for (var l = 0; l < cmdList.length; l++) {\n var cmdText = cmdList[l];\n var cmdStr = cmdText.charAt(0);\n var cmd; // String#split is faster a little bit than String#replace or RegExp#exec.\n // var p = cmdContent.split(valueSplitReg);\n // var pLen = 0;\n // for (var i = 0; i < p.length; i++) {\n // // '' and other invalid str => NaN\n // var val = parseFloat(p[i]);\n // !isNaN(val) && (p[pLen++] = val);\n // }\n\n var p = cmdText.match(numberReg) || [];\n var pLen = p.length;\n\n for (var i = 0; i < pLen; i++) {\n p[i] = parseFloat(p[i]);\n }\n\n var off = 0;\n\n while (off < pLen) {\n var ctlPtx;\n var ctlPty;\n var rx;\n var ry;\n var psi;\n var fa;\n var fs;\n var x1 = cpx;\n var y1 = cpy; // convert l, H, h, V, and v to L\n\n switch (cmdStr) {\n case 'l':\n cpx += p[off++];\n cpy += p[off++];\n cmd = CMD.L;\n path.addData(cmd, cpx, cpy);\n break;\n\n case 'L':\n cpx = p[off++];\n cpy = p[off++];\n cmd = CMD.L;\n path.addData(cmd, cpx, cpy);\n break;\n\n case 'm':\n cpx += p[off++];\n cpy += p[off++];\n cmd = CMD.M;\n path.addData(cmd, cpx, cpy);\n subpathX = cpx;\n subpathY = cpy;\n cmdStr = 'l';\n break;\n\n case 'M':\n cpx = p[off++];\n cpy = p[off++];\n cmd = CMD.M;\n path.addData(cmd, cpx, cpy);\n subpathX = cpx;\n subpathY = cpy;\n cmdStr = 'L';\n break;\n\n case 'h':\n cpx += p[off++];\n cmd = CMD.L;\n path.addData(cmd, cpx, cpy);\n break;\n\n case 'H':\n cpx = p[off++];\n cmd = CMD.L;\n path.addData(cmd, cpx, cpy);\n break;\n\n case 'v':\n cpy += p[off++];\n cmd = CMD.L;\n path.addData(cmd, cpx, cpy);\n break;\n\n case 'V':\n cpy = p[off++];\n cmd = CMD.L;\n path.addData(cmd, cpx, cpy);\n break;\n\n case 'C':\n cmd = CMD.C;\n path.addData(cmd, p[off++], p[off++], p[off++], p[off++], p[off++], p[off++]);\n cpx = p[off - 2];\n cpy = p[off - 1];\n break;\n\n case 'c':\n cmd = CMD.C;\n path.addData(cmd, p[off++] + cpx, p[off++] + cpy, p[off++] + cpx, p[off++] + cpy, p[off++] + cpx, p[off++] + cpy);\n cpx += p[off - 2];\n cpy += p[off - 1];\n break;\n\n case 'S':\n ctlPtx = cpx;\n ctlPty = cpy;\n var len = path.len();\n var pathData = path.data;\n\n if (prevCmd === CMD.C) {\n ctlPtx += cpx - pathData[len - 4];\n ctlPty += cpy - pathData[len - 3];\n }\n\n cmd = CMD.C;\n x1 = p[off++];\n y1 = p[off++];\n cpx = p[off++];\n cpy = p[off++];\n path.addData(cmd, ctlPtx, ctlPty, x1, y1, cpx, cpy);\n break;\n\n case 's':\n ctlPtx = cpx;\n ctlPty = cpy;\n var len = path.len();\n var pathData = path.data;\n\n if (prevCmd === CMD.C) {\n ctlPtx += cpx - pathData[len - 4];\n ctlPty += cpy - pathData[len - 3];\n }\n\n cmd = CMD.C;\n x1 = cpx + p[off++];\n y1 = cpy + p[off++];\n cpx += p[off++];\n cpy += p[off++];\n path.addData(cmd, ctlPtx, ctlPty, x1, y1, cpx, cpy);\n break;\n\n case 'Q':\n x1 = p[off++];\n y1 = p[off++];\n cpx = p[off++];\n cpy = p[off++];\n cmd = CMD.Q;\n path.addData(cmd, x1, y1, cpx, cpy);\n break;\n\n case 'q':\n x1 = p[off++] + cpx;\n y1 = p[off++] + cpy;\n cpx += p[off++];\n cpy += p[off++];\n cmd = CMD.Q;\n path.addData(cmd, x1, y1, cpx, cpy);\n break;\n\n case 'T':\n ctlPtx = cpx;\n ctlPty = cpy;\n var len = path.len();\n var pathData = path.data;\n\n if (prevCmd === CMD.Q) {\n ctlPtx += cpx - pathData[len - 4];\n ctlPty += cpy - pathData[len - 3];\n }\n\n cpx = p[off++];\n cpy = p[off++];\n cmd = CMD.Q;\n path.addData(cmd, ctlPtx, ctlPty, cpx, cpy);\n break;\n\n case 't':\n ctlPtx = cpx;\n ctlPty = cpy;\n var len = path.len();\n var pathData = path.data;\n\n if (prevCmd === CMD.Q) {\n ctlPtx += cpx - pathData[len - 4];\n ctlPty += cpy - pathData[len - 3];\n }\n\n cpx += p[off++];\n cpy += p[off++];\n cmd = CMD.Q;\n path.addData(cmd, ctlPtx, ctlPty, cpx, cpy);\n break;\n\n case 'A':\n rx = p[off++];\n ry = p[off++];\n psi = p[off++];\n fa = p[off++];\n fs = p[off++];\n x1 = cpx, y1 = cpy;\n cpx = p[off++];\n cpy = p[off++];\n cmd = CMD.A;\n processArc(x1, y1, cpx, cpy, fa, fs, rx, ry, psi, cmd, path);\n break;\n\n case 'a':\n rx = p[off++];\n ry = p[off++];\n psi = p[off++];\n fa = p[off++];\n fs = p[off++];\n x1 = cpx, y1 = cpy;\n cpx += p[off++];\n cpy += p[off++];\n cmd = CMD.A;\n processArc(x1, y1, cpx, cpy, fa, fs, rx, ry, psi, cmd, path);\n break;\n }\n }\n\n if (cmdStr === 'z' || cmdStr === 'Z') {\n cmd = CMD.Z;\n path.addData(cmd); // z may be in the middle of the path.\n\n cpx = subpathX;\n cpy = subpathY;\n }\n\n prevCmd = cmd;\n }\n\n path.toStatic();\n return path;\n} // TODO Optimize double memory cost problem\n\n\nfunction createPathOptions(str, opts) {\n var pathProxy = createPathProxyFromString(str);\n opts = opts || {};\n\n opts.buildPath = function (path) {\n if (path.setData) {\n path.setData(pathProxy.data); // Svg and vml renderer don't have context\n\n var ctx = path.getContext();\n\n if (ctx) {\n path.rebuildPath(ctx);\n }\n } else {\n var ctx = path;\n pathProxy.rebuildPath(ctx);\n }\n };\n\n opts.applyTransform = function (m) {\n transformPath(pathProxy, m);\n this.dirty(true);\n };\n\n return opts;\n}\n/**\n * Create a Path object from path string data\n * http://www.w3.org/TR/SVG/paths.html#PathData\n * @param {Object} opts Other options\n */\n\n\nfunction createFromString(str, opts) {\n return new Path(createPathOptions(str, opts));\n}\n/**\n * Create a Path class from path string data\n * @param {string} str\n * @param {Object} opts Other options\n */\n\n\nfunction extendFromString(str, opts) {\n return Path.extend(createPathOptions(str, opts));\n}\n/**\n * Merge multiple paths\n */\n// TODO Apply transform\n// TODO stroke dash\n// TODO Optimize double memory cost problem\n\n\nfunction mergePath(pathEls, opts) {\n var pathList = [];\n var len = pathEls.length;\n\n for (var i = 0; i < len; i++) {\n var pathEl = pathEls[i];\n\n if (!pathEl.path) {\n pathEl.createPathProxy();\n }\n\n if (pathEl.__dirtyPath) {\n pathEl.buildPath(pathEl.path, pathEl.shape, true);\n }\n\n pathList.push(pathEl.path);\n }\n\n var pathBundle = new Path(opts); // Need path proxy.\n\n pathBundle.createPathProxy();\n\n pathBundle.buildPath = function (path) {\n path.appendPath(pathList); // Svg and vml renderer don't have context\n\n var ctx = path.getContext();\n\n if (ctx) {\n path.rebuildPath(ctx);\n }\n };\n\n return pathBundle;\n}\n\nexports.createFromString = createFromString;\nexports.extendFromString = extendFromString;\nexports.mergePath = mergePath;","var objectToString = Object.prototype.toString\r\n\r\nmodule.exports = objectToString\r\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\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar BoundingRect = require(\"zrender/lib/core/BoundingRect\");\n\nvar matrix = require(\"zrender/lib/core/matrix\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar layout = require(\"../../util/layout\");\n\nvar TimelineView = require(\"./TimelineView\");\n\nvar TimelineAxis = require(\"./TimelineAxis\");\n\nvar _symbol = require(\"../../util/symbol\");\n\nvar createSymbol = _symbol.createSymbol;\n\nvar axisHelper = require(\"../../coord/axisHelper\");\n\nvar numberUtil = require(\"../../util/number\");\n\nvar _format = require(\"../../util/format\");\n\nvar encodeHTML = _format.encodeHTML;\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*/\nvar bind = zrUtil.bind;\nvar each = zrUtil.each;\nvar PI = Math.PI;\n\nvar _default = TimelineView.extend({\n type: 'timeline.slider',\n init: function (ecModel, api) {\n this.api = api;\n /**\n * @private\n * @type {module:echarts/component/timeline/TimelineAxis}\n */\n\n this._axis;\n /**\n * @private\n * @type {module:zrender/core/BoundingRect}\n */\n\n this._viewRect;\n /**\n * @type {number}\n */\n\n this._timer;\n /**\n * @type {module:zrender/Element}\n */\n\n this._currentPointer;\n /**\n * @type {module:zrender/container/Group}\n */\n\n this._mainGroup;\n /**\n * @type {module:zrender/container/Group}\n */\n\n this._labelGroup;\n },\n\n /**\n * @override\n */\n render: function (timelineModel, ecModel, api, payload) {\n this.model = timelineModel;\n this.api = api;\n this.ecModel = ecModel;\n this.group.removeAll();\n\n if (timelineModel.get('show', true)) {\n var layoutInfo = this._layout(timelineModel, api);\n\n var mainGroup = this._createGroup('mainGroup');\n\n var labelGroup = this._createGroup('labelGroup');\n /**\n * @private\n * @type {module:echarts/component/timeline/TimelineAxis}\n */\n\n\n var axis = this._axis = this._createAxis(layoutInfo, timelineModel);\n\n timelineModel.formatTooltip = function (dataIndex) {\n return encodeHTML(axis.scale.getLabel(dataIndex));\n };\n\n each(['AxisLine', 'AxisTick', 'Control', 'CurrentPointer'], function (name) {\n this['_render' + name](layoutInfo, mainGroup, axis, timelineModel);\n }, this);\n\n this._renderAxisLabel(layoutInfo, labelGroup, axis, timelineModel);\n\n this._position(layoutInfo, timelineModel);\n }\n\n this._doPlayStop();\n },\n\n /**\n * @override\n */\n remove: function () {\n this._clearTimer();\n\n this.group.removeAll();\n },\n\n /**\n * @override\n */\n dispose: function () {\n this._clearTimer();\n },\n _layout: function (timelineModel, api) {\n var labelPosOpt = timelineModel.get('label.position');\n var orient = timelineModel.get('orient');\n var viewRect = getViewRect(timelineModel, api); // Auto label offset.\n\n if (labelPosOpt == null || labelPosOpt === 'auto') {\n labelPosOpt = orient === 'horizontal' ? viewRect.y + viewRect.height / 2 < api.getHeight() / 2 ? '-' : '+' : viewRect.x + viewRect.width / 2 < api.getWidth() / 2 ? '+' : '-';\n } else if (isNaN(labelPosOpt)) {\n labelPosOpt = {\n horizontal: {\n top: '-',\n bottom: '+'\n },\n vertical: {\n left: '-',\n right: '+'\n }\n }[orient][labelPosOpt];\n }\n\n var labelAlignMap = {\n horizontal: 'center',\n vertical: labelPosOpt >= 0 || labelPosOpt === '+' ? 'left' : 'right'\n };\n var labelBaselineMap = {\n horizontal: labelPosOpt >= 0 || labelPosOpt === '+' ? 'top' : 'bottom',\n vertical: 'middle'\n };\n var rotationMap = {\n horizontal: 0,\n vertical: PI / 2\n }; // Position\n\n var mainLength = orient === 'vertical' ? viewRect.height : viewRect.width;\n var controlModel = timelineModel.getModel('controlStyle');\n var showControl = controlModel.get('show', true);\n var controlSize = showControl ? controlModel.get('itemSize') : 0;\n var controlGap = showControl ? controlModel.get('itemGap') : 0;\n var sizePlusGap = controlSize + controlGap; // Special label rotate.\n\n var labelRotation = timelineModel.get('label.rotate') || 0;\n labelRotation = labelRotation * PI / 180; // To radian.\n\n var playPosition;\n var prevBtnPosition;\n var nextBtnPosition;\n var axisExtent;\n var controlPosition = controlModel.get('position', true);\n var showPlayBtn = showControl && controlModel.get('showPlayBtn', true);\n var showPrevBtn = showControl && controlModel.get('showPrevBtn', true);\n var showNextBtn = showControl && controlModel.get('showNextBtn', true);\n var xLeft = 0;\n var xRight = mainLength; // position[0] means left, position[1] means middle.\n\n if (controlPosition === 'left' || controlPosition === 'bottom') {\n showPlayBtn && (playPosition = [0, 0], xLeft += sizePlusGap);\n showPrevBtn && (prevBtnPosition = [xLeft, 0], xLeft += sizePlusGap);\n showNextBtn && (nextBtnPosition = [xRight - controlSize, 0], xRight -= sizePlusGap);\n } else {\n // 'top' 'right'\n showPlayBtn && (playPosition = [xRight - controlSize, 0], xRight -= sizePlusGap);\n showPrevBtn && (prevBtnPosition = [0, 0], xLeft += sizePlusGap);\n showNextBtn && (nextBtnPosition = [xRight - controlSize, 0], xRight -= sizePlusGap);\n }\n\n axisExtent = [xLeft, xRight];\n\n if (timelineModel.get('inverse')) {\n axisExtent.reverse();\n }\n\n return {\n viewRect: viewRect,\n mainLength: mainLength,\n orient: orient,\n rotation: rotationMap[orient],\n labelRotation: labelRotation,\n labelPosOpt: labelPosOpt,\n labelAlign: timelineModel.get('label.align') || labelAlignMap[orient],\n labelBaseline: timelineModel.get('label.verticalAlign') || timelineModel.get('label.baseline') || labelBaselineMap[orient],\n // Based on mainGroup.\n playPosition: playPosition,\n prevBtnPosition: prevBtnPosition,\n nextBtnPosition: nextBtnPosition,\n axisExtent: axisExtent,\n controlSize: controlSize,\n controlGap: controlGap\n };\n },\n _position: function (layoutInfo, timelineModel) {\n // Position is be called finally, because bounding rect is needed for\n // adapt content to fill viewRect (auto adapt offset).\n // Timeline may be not all in the viewRect when 'offset' is specified\n // as a number, because it is more appropriate that label aligns at\n // 'offset' but not the other edge defined by viewRect.\n var mainGroup = this._mainGroup;\n var labelGroup = this._labelGroup;\n var viewRect = layoutInfo.viewRect;\n\n if (layoutInfo.orient === 'vertical') {\n // transform to horizontal, inverse rotate by left-top point.\n var m = matrix.create();\n var rotateOriginX = viewRect.x;\n var rotateOriginY = viewRect.y + viewRect.height;\n matrix.translate(m, m, [-rotateOriginX, -rotateOriginY]);\n matrix.rotate(m, m, -PI / 2);\n matrix.translate(m, m, [rotateOriginX, rotateOriginY]);\n viewRect = viewRect.clone();\n viewRect.applyTransform(m);\n }\n\n var viewBound = getBound(viewRect);\n var mainBound = getBound(mainGroup.getBoundingRect());\n var labelBound = getBound(labelGroup.getBoundingRect());\n var mainPosition = mainGroup.position;\n var labelsPosition = labelGroup.position;\n labelsPosition[0] = mainPosition[0] = viewBound[0][0];\n var labelPosOpt = layoutInfo.labelPosOpt;\n\n if (isNaN(labelPosOpt)) {\n // '+' or '-'\n var mainBoundIdx = labelPosOpt === '+' ? 0 : 1;\n toBound(mainPosition, mainBound, viewBound, 1, mainBoundIdx);\n toBound(labelsPosition, labelBound, viewBound, 1, 1 - mainBoundIdx);\n } else {\n var mainBoundIdx = labelPosOpt >= 0 ? 0 : 1;\n toBound(mainPosition, mainBound, viewBound, 1, mainBoundIdx);\n labelsPosition[1] = mainPosition[1] + labelPosOpt;\n }\n\n mainGroup.attr('position', mainPosition);\n labelGroup.attr('position', labelsPosition);\n mainGroup.rotation = labelGroup.rotation = layoutInfo.rotation;\n setOrigin(mainGroup);\n setOrigin(labelGroup);\n\n function setOrigin(targetGroup) {\n var pos = targetGroup.position;\n targetGroup.origin = [viewBound[0][0] - pos[0], viewBound[1][0] - pos[1]];\n }\n\n function getBound(rect) {\n // [[xmin, xmax], [ymin, ymax]]\n return [[rect.x, rect.x + rect.width], [rect.y, rect.y + rect.height]];\n }\n\n function toBound(fromPos, from, to, dimIdx, boundIdx) {\n fromPos[dimIdx] += to[dimIdx][boundIdx] - from[dimIdx][boundIdx];\n }\n },\n _createAxis: function (layoutInfo, timelineModel) {\n var data = timelineModel.getData();\n var axisType = timelineModel.get('axisType');\n var scale = axisHelper.createScaleByModel(timelineModel, axisType); // Customize scale. The `tickValue` is `dataIndex`.\n\n scale.getTicks = function () {\n return data.mapArray(['value'], function (value) {\n return value;\n });\n };\n\n var dataExtent = data.getDataExtent('value');\n scale.setExtent(dataExtent[0], dataExtent[1]);\n scale.niceTicks();\n var axis = new TimelineAxis('value', scale, layoutInfo.axisExtent, axisType);\n axis.model = timelineModel;\n return axis;\n },\n _createGroup: function (name) {\n var newGroup = this['_' + name] = new graphic.Group();\n this.group.add(newGroup);\n return newGroup;\n },\n _renderAxisLine: function (layoutInfo, group, axis, timelineModel) {\n var axisExtent = axis.getExtent();\n\n if (!timelineModel.get('lineStyle.show')) {\n return;\n }\n\n group.add(new graphic.Line({\n shape: {\n x1: axisExtent[0],\n y1: 0,\n x2: axisExtent[1],\n y2: 0\n },\n style: zrUtil.extend({\n lineCap: 'round'\n }, timelineModel.getModel('lineStyle').getLineStyle()),\n silent: true,\n z2: 1\n }));\n },\n\n /**\n * @private\n */\n _renderAxisTick: function (layoutInfo, group, axis, timelineModel) {\n var data = timelineModel.getData(); // Show all ticks, despite ignoring strategy.\n\n var ticks = axis.scale.getTicks(); // The value is dataIndex, see the costomized scale.\n\n each(ticks, function (value) {\n var tickCoord = axis.dataToCoord(value);\n var itemModel = data.getItemModel(value);\n var itemStyleModel = itemModel.getModel('itemStyle');\n var hoverStyleModel = itemModel.getModel('emphasis.itemStyle');\n var symbolOpt = {\n position: [tickCoord, 0],\n onclick: bind(this._changeTimeline, this, value)\n };\n var el = giveSymbol(itemModel, itemStyleModel, group, symbolOpt);\n graphic.setHoverStyle(el, hoverStyleModel.getItemStyle());\n\n if (itemModel.get('tooltip')) {\n el.dataIndex = value;\n el.dataModel = timelineModel;\n } else {\n el.dataIndex = el.dataModel = null;\n }\n }, this);\n },\n\n /**\n * @private\n */\n _renderAxisLabel: function (layoutInfo, group, axis, timelineModel) {\n var labelModel = axis.getLabelModel();\n\n if (!labelModel.get('show')) {\n return;\n }\n\n var data = timelineModel.getData();\n var labels = axis.getViewLabels();\n each(labels, function (labelItem) {\n // The tickValue is dataIndex, see the costomized scale.\n var dataIndex = labelItem.tickValue;\n var itemModel = data.getItemModel(dataIndex);\n var normalLabelModel = itemModel.getModel('label');\n var hoverLabelModel = itemModel.getModel('emphasis.label');\n var tickCoord = axis.dataToCoord(labelItem.tickValue);\n var textEl = new graphic.Text({\n position: [tickCoord, 0],\n rotation: layoutInfo.labelRotation - layoutInfo.rotation,\n onclick: bind(this._changeTimeline, this, dataIndex),\n silent: false\n });\n graphic.setTextStyle(textEl.style, normalLabelModel, {\n text: labelItem.formattedLabel,\n textAlign: layoutInfo.labelAlign,\n textVerticalAlign: layoutInfo.labelBaseline\n });\n group.add(textEl);\n graphic.setHoverStyle(textEl, graphic.setTextStyle({}, hoverLabelModel));\n }, this);\n },\n\n /**\n * @private\n */\n _renderControl: function (layoutInfo, group, axis, timelineModel) {\n var controlSize = layoutInfo.controlSize;\n var rotation = layoutInfo.rotation;\n var itemStyle = timelineModel.getModel('controlStyle').getItemStyle();\n var hoverStyle = timelineModel.getModel('emphasis.controlStyle').getItemStyle();\n var rect = [0, -controlSize / 2, controlSize, controlSize];\n var playState = timelineModel.getPlayState();\n var inverse = timelineModel.get('inverse', true);\n makeBtn(layoutInfo.nextBtnPosition, 'controlStyle.nextIcon', bind(this._changeTimeline, this, inverse ? '-' : '+'));\n makeBtn(layoutInfo.prevBtnPosition, 'controlStyle.prevIcon', bind(this._changeTimeline, this, inverse ? '+' : '-'));\n makeBtn(layoutInfo.playPosition, 'controlStyle.' + (playState ? 'stopIcon' : 'playIcon'), bind(this._handlePlayClick, this, !playState), true);\n\n function makeBtn(position, iconPath, onclick, willRotate) {\n if (!position) {\n return;\n }\n\n var opt = {\n position: position,\n origin: [controlSize / 2, 0],\n rotation: willRotate ? -rotation : 0,\n rectHover: true,\n style: itemStyle,\n onclick: onclick\n };\n var btn = makeIcon(timelineModel, iconPath, rect, opt);\n group.add(btn);\n graphic.setHoverStyle(btn, hoverStyle);\n }\n },\n _renderCurrentPointer: function (layoutInfo, group, axis, timelineModel) {\n var data = timelineModel.getData();\n var currentIndex = timelineModel.getCurrentIndex();\n var pointerModel = data.getItemModel(currentIndex).getModel('checkpointStyle');\n var me = this;\n var callback = {\n onCreate: function (pointer) {\n pointer.draggable = true;\n pointer.drift = bind(me._handlePointerDrag, me);\n pointer.ondragend = bind(me._handlePointerDragend, me);\n pointerMoveTo(pointer, currentIndex, axis, timelineModel, true);\n },\n onUpdate: function (pointer) {\n pointerMoveTo(pointer, currentIndex, axis, timelineModel);\n }\n }; // Reuse when exists, for animation and drag.\n\n this._currentPointer = giveSymbol(pointerModel, pointerModel, this._mainGroup, {}, this._currentPointer, callback);\n },\n _handlePlayClick: function (nextState) {\n this._clearTimer();\n\n this.api.dispatchAction({\n type: 'timelinePlayChange',\n playState: nextState,\n from: this.uid\n });\n },\n _handlePointerDrag: function (dx, dy, e) {\n this._clearTimer();\n\n this._pointerChangeTimeline([e.offsetX, e.offsetY]);\n },\n _handlePointerDragend: function (e) {\n this._pointerChangeTimeline([e.offsetX, e.offsetY], true);\n },\n _pointerChangeTimeline: function (mousePos, trigger) {\n var toCoord = this._toAxisCoord(mousePos)[0];\n\n var axis = this._axis;\n var axisExtent = numberUtil.asc(axis.getExtent().slice());\n toCoord > axisExtent[1] && (toCoord = axisExtent[1]);\n toCoord < axisExtent[0] && (toCoord = axisExtent[0]);\n this._currentPointer.position[0] = toCoord;\n\n this._currentPointer.dirty();\n\n var targetDataIndex = this._findNearestTick(toCoord);\n\n var timelineModel = this.model;\n\n if (trigger || targetDataIndex !== timelineModel.getCurrentIndex() && timelineModel.get('realtime')) {\n this._changeTimeline(targetDataIndex);\n }\n },\n _doPlayStop: function () {\n this._clearTimer();\n\n if (this.model.getPlayState()) {\n this._timer = setTimeout(bind(handleFrame, this), this.model.get('playInterval'));\n }\n\n function handleFrame() {\n // Do not cache\n var timelineModel = this.model;\n\n this._changeTimeline(timelineModel.getCurrentIndex() + (timelineModel.get('rewind', true) ? -1 : 1));\n }\n },\n _toAxisCoord: function (vertex) {\n var trans = this._mainGroup.getLocalTransform();\n\n return graphic.applyTransform(vertex, trans, true);\n },\n _findNearestTick: function (axisCoord) {\n var data = this.model.getData();\n var dist = Infinity;\n var targetDataIndex;\n var axis = this._axis;\n data.each(['value'], function (value, dataIndex) {\n var coord = axis.dataToCoord(value);\n var d = Math.abs(coord - axisCoord);\n\n if (d < dist) {\n dist = d;\n targetDataIndex = dataIndex;\n }\n });\n return targetDataIndex;\n },\n _clearTimer: function () {\n if (this._timer) {\n clearTimeout(this._timer);\n this._timer = null;\n }\n },\n _changeTimeline: function (nextIndex) {\n var currentIndex = this.model.getCurrentIndex();\n\n if (nextIndex === '+') {\n nextIndex = currentIndex + 1;\n } else if (nextIndex === '-') {\n nextIndex = currentIndex - 1;\n }\n\n this.api.dispatchAction({\n type: 'timelineChange',\n currentIndex: nextIndex,\n from: this.uid\n });\n }\n});\n\nfunction getViewRect(model, api) {\n return layout.getLayoutRect(model.getBoxLayoutParams(), {\n width: api.getWidth(),\n height: api.getHeight()\n }, model.get('padding'));\n}\n\nfunction makeIcon(timelineModel, objPath, rect, opts) {\n var style = opts.style;\n var icon = graphic.createIcon(timelineModel.get(objPath), opts || {}, new BoundingRect(rect[0], rect[1], rect[2], rect[3])); // TODO createIcon won't use style in opt.\n\n if (style) {\n icon.setStyle(style);\n }\n\n return icon;\n}\n/**\n * Create symbol or update symbol\n * opt: basic position and event handlers\n */\n\n\nfunction giveSymbol(hostModel, itemStyleModel, group, opt, symbol, callback) {\n var color = itemStyleModel.get('color');\n\n if (!symbol) {\n var symbolType = hostModel.get('symbol');\n symbol = createSymbol(symbolType, -1, -1, 2, 2, color);\n symbol.setStyle('strokeNoScale', true);\n group.add(symbol);\n callback && callback.onCreate(symbol);\n } else {\n symbol.setColor(color);\n group.add(symbol); // Group may be new, also need to add.\n\n callback && callback.onUpdate(symbol);\n } // Style\n\n\n var itemStyle = itemStyleModel.getItemStyle(['color', 'symbol', 'symbolSize']);\n symbol.setStyle(itemStyle); // Transform and events.\n\n opt = zrUtil.merge({\n rectHover: true,\n z2: 100\n }, opt, true);\n var symbolSize = hostModel.get('symbolSize');\n symbolSize = symbolSize instanceof Array ? symbolSize.slice() : [+symbolSize, +symbolSize];\n symbolSize[0] /= 2;\n symbolSize[1] /= 2;\n opt.scale = symbolSize;\n var symbolOffset = hostModel.get('symbolOffset');\n\n if (symbolOffset) {\n var pos = opt.position = opt.position || [0, 0];\n pos[0] += numberUtil.parsePercent(symbolOffset[0], symbolSize[0]);\n pos[1] += numberUtil.parsePercent(symbolOffset[1], symbolSize[1]);\n }\n\n var symbolRotate = hostModel.get('symbolRotate');\n opt.rotation = (symbolRotate || 0) * Math.PI / 180 || 0;\n symbol.attr(opt); // FIXME\n // (1) When symbol.style.strokeNoScale is true and updateTransform is not performed,\n // getBoundingRect will return wrong result.\n // (This is supposed to be resolved in zrender, but it is a little difficult to\n // leverage performance and auto updateTransform)\n // (2) All of ancesters of symbol do not scale, so we can just updateTransform symbol.\n\n symbol.updateTransform();\n return symbol;\n}\n\nfunction pointerMoveTo(pointer, dataIndex, axis, timelineModel, noAnimation) {\n if (pointer.dragging) {\n return;\n }\n\n var pointerModel = timelineModel.getModel('checkpointStyle');\n var toCoord = axis.dataToCoord(timelineModel.getData().get(['value'], dataIndex));\n\n if (noAnimation || !pointerModel.get('animation', true)) {\n pointer.attr({\n position: [toCoord, 0]\n });\n } else {\n pointer.stopAnimation(true);\n pointer.animateTo({\n position: [toCoord, 0]\n }, pointerModel.get('animationDuration', true), pointerModel.get('animationEasing', true));\n }\n}\n\nmodule.exports = _default;","var staticParseInt = require('../static/staticParseInt')\r\n\r\nvar helperCreateToNumber = require('./helperCreateToNumber')\r\n\r\n/**\r\n * 转整数\r\n * @param { String/Number } str 数值\r\n *\r\n * @return {Number}\r\n */\r\nvar toInteger = helperCreateToNumber(staticParseInt)\r\n\r\nmodule.exports = toInteger\r\n","function helperNumberDecimal (numStr) {\r\n return (numStr.split('.')[1] || '').length\r\n}\r\n\r\nmodule.exports = helperNumberDecimal\r\n","exports.f = {}.propertyIsEnumerable;\n","function arrayLastIndexOf (obj, val) {\r\n if (obj.lastIndexOf) {\r\n return obj.lastIndexOf(val)\r\n }\r\n for (var len = obj.length - 1; len >= 0; len--) {\r\n if (val === obj[len]) {\r\n return len\r\n }\r\n }\r\n return -1\r\n}\r\n\r\nmodule.exports = arrayLastIndexOf\r\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var completeDimensions = require('echarts/lib/data/helper/completeDimensions');\nvar echarts = require('echarts/lib/echarts');\n\necharts.extendSeriesModel({\n\n type: 'series.wordCloud',\n\n visualColorAccessPath: 'textStyle.normal.color',\n\n optionUpdated: function () {\n var option = this.option;\n option.gridSize = Math.max(Math.floor(option.gridSize), 4);\n },\n\n getInitialData: function (option, ecModel) {\n var dimensions = completeDimensions(['value'], option.data);\n var list = new echarts.List(dimensions, this);\n list.initData(option.data);\n return list;\n },\n\n // Most of options are from https://github.com/timdream/wordcloud2.js/blob/gh-pages/API.md\n defaultOption: {\n\n maskImage: null,\n\n // Shape can be 'circle', 'cardioid', 'diamond', 'triangle-forward', 'triangle', 'pentagon', 'star'\n shape: 'circle',\n\n left: 'center',\n\n top: 'center',\n\n width: '70%',\n\n height: '80%',\n\n sizeRange: [12, 60],\n\n rotationRange: [-90, 90],\n\n rotationStep: 45,\n\n gridSize: 8,\n\n drawOutOfBound: false,\n\n textStyle: {\n normal: {\n fontWeight: 'normal'\n }\n }\n }\n});\n","var round = require('./round')\r\nvar ceil = require('./ceil')\r\nvar floor = require('./floor')\r\n\r\nvar isNumber = require('../base/isNumber')\r\nvar toValString = require('../string/toString')\r\nvar toFixed = require('./toFixed')\r\n\r\nvar toNumberString = require('./toNumberString')\r\n\r\n/**\r\n * 千分位分隔符、小数点\r\n *\r\n * @param {String/Number} num 数值\r\n * @param {CommafyOptions} options 参数\r\n * @return {String}\r\n */\r\nfunction commafy(num, options) {\r\n var opts = options || {}\r\n var optDigits = opts.digits || opts.fixed\r\n var isNum = isNumber(num)\r\n var rest, result, isNegative, intStr, floatStr\r\n if (isNum) {\r\n rest = (opts.ceil ? ceil : (opts.floor ? floor : round))(num, optDigits)\r\n result = toNumberString(optDigits ? toFixed(rest, optDigits) : rest).split('.')\r\n intStr = result[0]\r\n floatStr = result[1]\r\n isNegative = intStr && rest < 0\r\n if (isNegative) {\r\n intStr = intStr.substring(1, intStr.length)\r\n }\r\n } else {\r\n // 如果为字符串,仅用于分隔\r\n rest = toValString(num).replace(/,/g, '')\r\n result = rest ? [rest] : []\r\n intStr = result[0]\r\n }\r\n if (result.length) {\r\n return (isNegative ? '-' : '') + intStr.replace(new RegExp('(?=(?!(\\\\b))(.{' + (opts.spaceNumber || 3) + '})+$)', 'g'), (opts.separator || ',')) + (floatStr ? ('.' + floatStr) : '')\r\n }\r\n return rest\r\n}\r\n\r\nmodule.exports = commafy\r\n","var isNumber = require('./isNumber')\r\n\r\n/* eslint-disable eqeqeq */\r\nfunction isNumberNaN (obj) {\r\n return isNumber(obj) && isNaN(obj)\r\n}\r\n\r\nmodule.exports = isNumberNaN\r\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","var helperCreateInInObjectString = require('./helperCreateInInObjectString')\r\n\r\n/**\r\n * 判断是否RegExp对象\r\n *\r\n * @param {Object} obj 对象\r\n * @return {Boolean}\r\n */\r\nvar isRegExp = helperCreateInInObjectString('RegExp')\r\n\r\nmodule.exports = isRegExp\r\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\nvar DataZoomModel = require(\"./DataZoomModel\");\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*/\nvar SliderZoomModel = DataZoomModel.extend({\n type: 'dataZoom.slider',\n layoutMode: 'box',\n\n /**\n * @protected\n */\n defaultOption: {\n show: true,\n // ph => placeholder. Using placehoder here because\n // deault value can only be drived in view stage.\n right: 'ph',\n // Default align to grid rect.\n top: 'ph',\n // Default align to grid rect.\n width: 'ph',\n // Default align to grid rect.\n height: 'ph',\n // Default align to grid rect.\n left: null,\n // Default align to grid rect.\n bottom: null,\n // Default align to grid rect.\n backgroundColor: 'rgba(47,69,84,0)',\n // Background of slider zoom component.\n // dataBackgroundColor: '#ddd', // Background coor of data shadow and border of box,\n // highest priority, remain for compatibility of\n // previous version, but not recommended any more.\n dataBackground: {\n lineStyle: {\n color: '#2f4554',\n width: 0.5,\n opacity: 0.3\n },\n areaStyle: {\n color: 'rgba(47,69,84,0.3)',\n opacity: 0.3\n }\n },\n borderColor: '#ddd',\n // border color of the box. For compatibility,\n // if dataBackgroundColor is set, borderColor\n // is ignored.\n fillerColor: 'rgba(167,183,204,0.4)',\n // Color of selected area.\n // handleColor: 'rgba(89,170,216,0.95)', // Color of handle.\n // handleIcon: 'path://M4.9,17.8c0-1.4,4.5-10.5,5.5-12.4c0-0.1,0.6-1.1,0.9-1.1c0.4,0,0.9,1,0.9,1.1c1.1,2.2,5.4,11,5.4,12.4v17.8c0,1.5-0.6,2.1-1.3,2.1H6.1c-0.7,0-1.3-0.6-1.3-2.1V17.8z',\n\n /* eslint-disable */\n handleIcon: 'M8.2,13.6V3.9H6.3v9.7H3.1v14.9h3.3v9.7h1.8v-9.7h3.3V13.6H8.2z M9.7,24.4H4.8v-1.4h4.9V24.4z M9.7,19.1H4.8v-1.4h4.9V19.1z',\n\n /* eslint-enable */\n // Percent of the slider height\n handleSize: '100%',\n handleStyle: {\n color: '#a7b7cc'\n },\n labelPrecision: null,\n labelFormatter: null,\n showDetail: true,\n showDataShadow: 'auto',\n // Default auto decision.\n realtime: true,\n zoomLock: false,\n // Whether disable zoom.\n textStyle: {\n color: '#333'\n }\n }\n});\nvar _default = SliderZoomModel;\nmodule.exports = _default;","exports.f = require('./_wks');\n","var helperCreateiterateIndexOf = require('./helperCreateiterateIndexOf')\r\n\r\n/**\r\n * 从最后开始的索引值,返回对象第一个索引值\r\n *\r\n * @param {Object} obj 对象/数组\r\n * @param {Function} iterate(item, index, obj) 回调\r\n * @param {Object} context 上下文\r\n * @return {Object}\r\n */\r\nvar findLastIndexOf = helperCreateiterateIndexOf(function (obj, iterate, context) {\r\n for (var len = obj.length - 1; len >= 0; len--) {\r\n if (iterate.call(context, obj[len], len, obj)) {\r\n return len\r\n }\r\n }\r\n return -1\r\n})\r\n\r\nmodule.exports = findLastIndexOf\r\n","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\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\nvar zrUtil = require(\"zrender/lib/core/util\");\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* A third-party license is embeded for some of the code in this file:\n* The method \"quantile\" was copied from \"d3.js\".\n* (See more details in the comment of the method below.)\n* The use of the source code of this file is also subject to the terms\n* and consitions of the license of \"d3.js\" (BSD-3Clause, see\n* ).\n*/\nvar RADIAN_EPSILON = 1e-4;\n\nfunction _trim(str) {\n return str.replace(/^\\s+|\\s+$/g, '');\n}\n/**\n * Linear mapping a value from domain to range\n * @memberOf module:echarts/util/number\n * @param {(number|Array.)} val\n * @param {Array.} domain Domain extent domain[0] can be bigger than domain[1]\n * @param {Array.} range Range extent range[0] can be bigger than range[1]\n * @param {boolean} clamp\n * @return {(number|Array.}\n */\n\n\nfunction linearMap(val, domain, range, clamp) {\n var subDomain = domain[1] - domain[0];\n var subRange = range[1] - range[0];\n\n if (subDomain === 0) {\n return subRange === 0 ? range[0] : (range[0] + range[1]) / 2;\n } // Avoid accuracy problem in edge, such as\n // 146.39 - 62.83 === 83.55999999999999.\n // See echarts/test/ut/spec/util/number.js#linearMap#accuracyError\n // It is a little verbose for efficiency considering this method\n // is a hotspot.\n\n\n if (clamp) {\n if (subDomain > 0) {\n if (val <= domain[0]) {\n return range[0];\n } else if (val >= domain[1]) {\n return range[1];\n }\n } else {\n if (val >= domain[0]) {\n return range[0];\n } else if (val <= domain[1]) {\n return range[1];\n }\n }\n } else {\n if (val === domain[0]) {\n return range[0];\n }\n\n if (val === domain[1]) {\n return range[1];\n }\n }\n\n return (val - domain[0]) / subDomain * subRange + range[0];\n}\n/**\n * Convert a percent string to absolute number.\n * Returns NaN if percent is not a valid string or number\n * @memberOf module:echarts/util/number\n * @param {string|number} percent\n * @param {number} all\n * @return {number}\n */\n\n\nfunction parsePercent(percent, all) {\n switch (percent) {\n case 'center':\n case 'middle':\n percent = '50%';\n break;\n\n case 'left':\n case 'top':\n percent = '0%';\n break;\n\n case 'right':\n case 'bottom':\n percent = '100%';\n break;\n }\n\n if (typeof percent === 'string') {\n if (_trim(percent).match(/%$/)) {\n return parseFloat(percent) / 100 * all;\n }\n\n return parseFloat(percent);\n }\n\n return percent == null ? NaN : +percent;\n}\n/**\n * (1) Fix rounding error of float numbers.\n * (2) Support return string to avoid scientific notation like '3.5e-7'.\n *\n * @param {number} x\n * @param {number} [precision]\n * @param {boolean} [returnStr]\n * @return {number|string}\n */\n\n\nfunction round(x, precision, returnStr) {\n if (precision == null) {\n precision = 10;\n } // Avoid range error\n\n\n precision = Math.min(Math.max(0, precision), 20);\n x = (+x).toFixed(precision);\n return returnStr ? x : +x;\n}\n/**\n * asc sort arr.\n * The input arr will be modified.\n *\n * @param {Array} arr\n * @return {Array} The input arr.\n */\n\n\nfunction asc(arr) {\n arr.sort(function (a, b) {\n return a - b;\n });\n return arr;\n}\n/**\n * Get precision\n * @param {number} val\n */\n\n\nfunction getPrecision(val) {\n val = +val;\n\n if (isNaN(val)) {\n return 0;\n } // It is much faster than methods converting number to string as follows\n // var tmp = val.toString();\n // return tmp.length - 1 - tmp.indexOf('.');\n // especially when precision is low\n\n\n var e = 1;\n var count = 0;\n\n while (Math.round(val * e) / e !== val) {\n e *= 10;\n count++;\n }\n\n return count;\n}\n/**\n * @param {string|number} val\n * @return {number}\n */\n\n\nfunction getPrecisionSafe(val) {\n var str = val.toString(); // Consider scientific notation: '3.4e-12' '3.4e+12'\n\n var eIndex = str.indexOf('e');\n\n if (eIndex > 0) {\n var precision = +str.slice(eIndex + 1);\n return precision < 0 ? -precision : 0;\n } else {\n var dotIndex = str.indexOf('.');\n return dotIndex < 0 ? 0 : str.length - 1 - dotIndex;\n }\n}\n/**\n * Minimal dicernible data precisioin according to a single pixel.\n *\n * @param {Array.} dataExtent\n * @param {Array.} pixelExtent\n * @return {number} precision\n */\n\n\nfunction getPixelPrecision(dataExtent, pixelExtent) {\n var log = Math.log;\n var LN10 = Math.LN10;\n var dataQuantity = Math.floor(log(dataExtent[1] - dataExtent[0]) / LN10);\n var sizeQuantity = Math.round(log(Math.abs(pixelExtent[1] - pixelExtent[0])) / LN10); // toFixed() digits argument must be between 0 and 20.\n\n var precision = Math.min(Math.max(-dataQuantity + sizeQuantity, 0), 20);\n return !isFinite(precision) ? 20 : precision;\n}\n/**\n * Get a data of given precision, assuring the sum of percentages\n * in valueList is 1.\n * The largest remainer method is used.\n * https://en.wikipedia.org/wiki/Largest_remainder_method\n *\n * @param {Array.} valueList a list of all data\n * @param {number} idx index of the data to be processed in valueList\n * @param {number} precision integer number showing digits of precision\n * @return {number} percent ranging from 0 to 100\n */\n\n\nfunction getPercentWithPrecision(valueList, idx, precision) {\n if (!valueList[idx]) {\n return 0;\n }\n\n var sum = zrUtil.reduce(valueList, function (acc, val) {\n return acc + (isNaN(val) ? 0 : val);\n }, 0);\n\n if (sum === 0) {\n return 0;\n }\n\n var digits = Math.pow(10, precision);\n var votesPerQuota = zrUtil.map(valueList, function (val) {\n return (isNaN(val) ? 0 : val) / sum * digits * 100;\n });\n var targetSeats = digits * 100;\n var seats = zrUtil.map(votesPerQuota, function (votes) {\n // Assign automatic seats.\n return Math.floor(votes);\n });\n var currentSum = zrUtil.reduce(seats, function (acc, val) {\n return acc + val;\n }, 0);\n var remainder = zrUtil.map(votesPerQuota, function (votes, idx) {\n return votes - seats[idx];\n }); // Has remainding votes.\n\n while (currentSum < targetSeats) {\n // Find next largest remainder.\n var max = Number.NEGATIVE_INFINITY;\n var maxId = null;\n\n for (var i = 0, len = remainder.length; i < len; ++i) {\n if (remainder[i] > max) {\n max = remainder[i];\n maxId = i;\n }\n } // Add a vote to max remainder.\n\n\n ++seats[maxId];\n remainder[maxId] = 0;\n ++currentSum;\n }\n\n return seats[idx] / digits;\n} // Number.MAX_SAFE_INTEGER, ie do not support.\n\n\nvar MAX_SAFE_INTEGER = 9007199254740991;\n/**\n * To 0 - 2 * PI, considering negative radian.\n * @param {number} radian\n * @return {number}\n */\n\nfunction remRadian(radian) {\n var pi2 = Math.PI * 2;\n return (radian % pi2 + pi2) % pi2;\n}\n/**\n * @param {type} radian\n * @return {boolean}\n */\n\n\nfunction isRadianAroundZero(val) {\n return val > -RADIAN_EPSILON && val < RADIAN_EPSILON;\n}\n/* eslint-disable */\n\n\nvar TIME_REG = /^(?:(\\d{4})(?:[-\\/](\\d{1,2})(?:[-\\/](\\d{1,2})(?:[T ](\\d{1,2})(?::(\\d\\d)(?::(\\d\\d)(?:[.,](\\d+))?)?)?(Z|[\\+\\-]\\d\\d:?\\d\\d)?)?)?)?)?$/; // jshint ignore:line\n\n/* eslint-enable */\n\n/**\n * @param {string|Date|number} value These values can be accepted:\n * + An instance of Date, represent a time in its own time zone.\n * + Or string in a subset of ISO 8601, only including:\n * + only year, month, date: '2012-03', '2012-03-01', '2012-03-01 05', '2012-03-01 05:06',\n * + separated with T or space: '2012-03-01T12:22:33.123', '2012-03-01 12:22:33.123',\n * + time zone: '2012-03-01T12:22:33Z', '2012-03-01T12:22:33+8000', '2012-03-01T12:22:33-05:00',\n * all of which will be treated as local time if time zone is not specified\n * (see ).\n * + Or other string format, including (all of which will be treated as loacal time):\n * '2012', '2012-3-1', '2012/3/1', '2012/03/01',\n * '2009/6/12 2:00', '2009/6/12 2:05:08', '2009/6/12 2:05:08.123'\n * + a timestamp, which represent a time in UTC.\n * @return {Date} date\n */\n\nfunction parseDate(value) {\n if (value instanceof Date) {\n return value;\n } else if (typeof value === 'string') {\n // Different browsers parse date in different way, so we parse it manually.\n // Some other issues:\n // new Date('1970-01-01') is UTC,\n // new Date('1970/01/01') and new Date('1970-1-01') is local.\n // See issue #3623\n var match = TIME_REG.exec(value);\n\n if (!match) {\n // return Invalid Date.\n return new Date(NaN);\n } // Use local time when no timezone offset specifed.\n\n\n if (!match[8]) {\n // match[n] can only be string or undefined.\n // But take care of '12' + 1 => '121'.\n return new Date(+match[1], +(match[2] || 1) - 1, +match[3] || 1, +match[4] || 0, +(match[5] || 0), +match[6] || 0, +match[7] || 0);\n } // Timezoneoffset of Javascript Date has considered DST (Daylight Saving Time,\n // https://tc39.github.io/ecma262/#sec-daylight-saving-time-adjustment).\n // For example, system timezone is set as \"Time Zone: America/Toronto\",\n // then these code will get different result:\n // `new Date(1478411999999).getTimezoneOffset(); // get 240`\n // `new Date(1478412000000).getTimezoneOffset(); // get 300`\n // So we should not use `new Date`, but use `Date.UTC`.\n else {\n var hour = +match[4] || 0;\n\n if (match[8].toUpperCase() !== 'Z') {\n hour -= match[8].slice(0, 3);\n }\n\n return new Date(Date.UTC(+match[1], +(match[2] || 1) - 1, +match[3] || 1, hour, +(match[5] || 0), +match[6] || 0, +match[7] || 0));\n }\n } else if (value == null) {\n return new Date(NaN);\n }\n\n return new Date(Math.round(value));\n}\n/**\n * Quantity of a number. e.g. 0.1, 1, 10, 100\n *\n * @param {number} val\n * @return {number}\n */\n\n\nfunction quantity(val) {\n return Math.pow(10, quantityExponent(val));\n}\n/**\n * Exponent of the quantity of a number\n * e.g., 1234 equals to 1.234*10^3, so quantityExponent(1234) is 3\n *\n * @param {number} val non-negative value\n * @return {number}\n */\n\n\nfunction quantityExponent(val) {\n if (val === 0) {\n return 0;\n }\n\n var exp = Math.floor(Math.log(val) / Math.LN10);\n /**\n * exp is expected to be the rounded-down result of the base-10 log of val.\n * But due to the precision loss with Math.log(val), we need to restore it\n * using 10^exp to make sure we can get val back from exp. #11249\n */\n\n if (val / Math.pow(10, exp) >= 10) {\n exp++;\n }\n\n return exp;\n}\n/**\n * find a “nice” number approximately equal to x. Round the number if round = true,\n * take ceiling if round = false. The primary observation is that the “nicest”\n * numbers in decimal are 1, 2, and 5, and all power-of-ten multiples of these numbers.\n *\n * See \"Nice Numbers for Graph Labels\" of Graphic Gems.\n *\n * @param {number} val Non-negative value.\n * @param {boolean} round\n * @return {number}\n */\n\n\nfunction nice(val, round) {\n var exponent = quantityExponent(val);\n var exp10 = Math.pow(10, exponent);\n var f = val / exp10; // 1 <= f < 10\n\n var nf;\n\n if (round) {\n if (f < 1.5) {\n nf = 1;\n } else if (f < 2.5) {\n nf = 2;\n } else if (f < 4) {\n nf = 3;\n } else if (f < 7) {\n nf = 5;\n } else {\n nf = 10;\n }\n } else {\n if (f < 1) {\n nf = 1;\n } else if (f < 2) {\n nf = 2;\n } else if (f < 3) {\n nf = 3;\n } else if (f < 5) {\n nf = 5;\n } else {\n nf = 10;\n }\n }\n\n val = nf * exp10; // Fix 3 * 0.1 === 0.30000000000000004 issue (see IEEE 754).\n // 20 is the uppper bound of toFixed.\n\n return exponent >= -20 ? +val.toFixed(exponent < 0 ? -exponent : 0) : val;\n}\n/**\n * This code was copied from \"d3.js\"\n * .\n * See the license statement at the head of this file.\n * @param {Array.} ascArr\n */\n\n\nfunction quantile(ascArr, p) {\n var H = (ascArr.length - 1) * p + 1;\n var h = Math.floor(H);\n var v = +ascArr[h - 1];\n var e = H - h;\n return e ? v + e * (ascArr[h] - v) : v;\n}\n/**\n * Order intervals asc, and split them when overlap.\n * expect(numberUtil.reformIntervals([\n * {interval: [18, 62], close: [1, 1]},\n * {interval: [-Infinity, -70], close: [0, 0]},\n * {interval: [-70, -26], close: [1, 1]},\n * {interval: [-26, 18], close: [1, 1]},\n * {interval: [62, 150], close: [1, 1]},\n * {interval: [106, 150], close: [1, 1]},\n * {interval: [150, Infinity], close: [0, 0]}\n * ])).toEqual([\n * {interval: [-Infinity, -70], close: [0, 0]},\n * {interval: [-70, -26], close: [1, 1]},\n * {interval: [-26, 18], close: [0, 1]},\n * {interval: [18, 62], close: [0, 1]},\n * {interval: [62, 150], close: [0, 1]},\n * {interval: [150, Infinity], close: [0, 0]}\n * ]);\n * @param {Array.} list, where `close` mean open or close\n * of the interval, and Infinity can be used.\n * @return {Array.} The origin list, which has been reformed.\n */\n\n\nfunction reformIntervals(list) {\n list.sort(function (a, b) {\n return littleThan(a, b, 0) ? -1 : 1;\n });\n var curr = -Infinity;\n var currClose = 1;\n\n for (var i = 0; i < list.length;) {\n var interval = list[i].interval;\n var close = list[i].close;\n\n for (var lg = 0; lg < 2; lg++) {\n if (interval[lg] <= curr) {\n interval[lg] = curr;\n close[lg] = !lg ? 1 - currClose : 1;\n }\n\n curr = interval[lg];\n currClose = close[lg];\n }\n\n if (interval[0] === interval[1] && close[0] * close[1] !== 1) {\n list.splice(i, 1);\n } else {\n i++;\n }\n }\n\n return list;\n\n function littleThan(a, b, lg) {\n return a.interval[lg] < b.interval[lg] || a.interval[lg] === b.interval[lg] && (a.close[lg] - b.close[lg] === (!lg ? 1 : -1) || !lg && littleThan(a, b, 1));\n }\n}\n/**\n * parseFloat NaNs numeric-cast false positives (null|true|false|\"\")\n * ...but misinterprets leading-number strings, particularly hex literals (\"0x...\")\n * subtraction forces infinities to NaN\n *\n * @param {*} v\n * @return {boolean}\n */\n\n\nfunction isNumeric(v) {\n return v - parseFloat(v) >= 0;\n}\n\nexports.linearMap = linearMap;\nexports.parsePercent = parsePercent;\nexports.round = round;\nexports.asc = asc;\nexports.getPrecision = getPrecision;\nexports.getPrecisionSafe = getPrecisionSafe;\nexports.getPixelPrecision = getPixelPrecision;\nexports.getPercentWithPrecision = getPercentWithPrecision;\nexports.MAX_SAFE_INTEGER = MAX_SAFE_INTEGER;\nexports.remRadian = remRadian;\nexports.isRadianAroundZero = isRadianAroundZero;\nexports.parseDate = parseDate;\nexports.quantity = quantity;\nexports.quantityExponent = quantityExponent;\nexports.nice = nice;\nexports.quantile = quantile;\nexports.reformIntervals = reformIntervals;\nexports.isNumeric = isNumeric;","function helperDeleteProperty (obj, property) {\r\n try {\r\n delete obj[property]\r\n } catch (e) {\r\n obj[property] = undefined\r\n }\r\n}\r\n\r\nmodule.exports = helperDeleteProperty\r\n","// 21.2.5.3 get RegExp.prototype.flags()\nif (require('./_descriptors') && /./g.flags != 'g') require('./_object-dp').f(RegExp.prototype, 'flags', {\n configurable: true,\n get: require('./_flags')\n});\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n error.request = request;\n error.response = response;\n return error;\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*/\n\nvar _dataProvider = require(\"../../data/helper/dataProvider\");\n\nvar retrieveRawValue = _dataProvider.retrieveRawValue;\n\nvar _format = require(\"../../util/format\");\n\nvar getTooltipMarker = _format.getTooltipMarker;\nvar formatTpl = _format.formatTpl;\n\nvar _model = require(\"../../util/model\");\n\nvar getTooltipRenderMode = _model.getTooltipRenderMode;\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*/\nvar DIMENSION_LABEL_REG = /\\{@(.+?)\\}/g; // PENDING A little ugly\n\nvar _default = {\n /**\n * Get params for formatter\n * @param {number} dataIndex\n * @param {string} [dataType]\n * @return {Object}\n */\n getDataParams: function (dataIndex, dataType) {\n var data = this.getData(dataType);\n var rawValue = this.getRawValue(dataIndex, dataType);\n var rawDataIndex = data.getRawIndex(dataIndex);\n var name = data.getName(dataIndex);\n var itemOpt = data.getRawDataItem(dataIndex);\n var color = data.getItemVisual(dataIndex, 'color');\n var borderColor = data.getItemVisual(dataIndex, 'borderColor');\n var tooltipModel = this.ecModel.getComponent('tooltip');\n var renderModeOption = tooltipModel && tooltipModel.get('renderMode');\n var renderMode = getTooltipRenderMode(renderModeOption);\n var mainType = this.mainType;\n var isSeries = mainType === 'series';\n var userOutput = data.userOutput;\n return {\n componentType: mainType,\n componentSubType: this.subType,\n componentIndex: this.componentIndex,\n seriesType: isSeries ? this.subType : null,\n seriesIndex: this.seriesIndex,\n seriesId: isSeries ? this.id : null,\n seriesName: isSeries ? this.name : null,\n name: name,\n dataIndex: rawDataIndex,\n data: itemOpt,\n dataType: dataType,\n value: rawValue,\n color: color,\n borderColor: borderColor,\n dimensionNames: userOutput ? userOutput.dimensionNames : null,\n encode: userOutput ? userOutput.encode : null,\n marker: getTooltipMarker({\n color: color,\n renderMode: renderMode\n }),\n // Param name list for mapping `a`, `b`, `c`, `d`, `e`\n $vars: ['seriesName', 'name', 'value']\n };\n },\n\n /**\n * Format label\n * @param {number} dataIndex\n * @param {string} [status='normal'] 'normal' or 'emphasis'\n * @param {string} [dataType]\n * @param {number} [dimIndex] Only used in some chart that\n * use formatter in different dimensions, like radar.\n * @param {string} [labelProp='label']\n * @return {string} If not formatter, return null/undefined\n */\n getFormattedLabel: function (dataIndex, status, dataType, dimIndex, labelProp) {\n status = status || 'normal';\n var data = this.getData(dataType);\n var itemModel = data.getItemModel(dataIndex);\n var params = this.getDataParams(dataIndex, dataType);\n\n if (dimIndex != null && params.value instanceof Array) {\n params.value = params.value[dimIndex];\n }\n\n var formatter = itemModel.get(status === 'normal' ? [labelProp || 'label', 'formatter'] : [status, labelProp || 'label', 'formatter']);\n\n if (typeof formatter === 'function') {\n params.status = status;\n params.dimensionIndex = dimIndex;\n return formatter(params);\n } else if (typeof formatter === 'string') {\n var str = formatTpl(formatter, params); // Support 'aaa{@[3]}bbb{@product}ccc'.\n // Do not support '}' in dim name util have to.\n\n return str.replace(DIMENSION_LABEL_REG, function (origin, dim) {\n var len = dim.length;\n\n if (dim.charAt(0) === '[' && dim.charAt(len - 1) === ']') {\n dim = +dim.slice(1, len - 1); // Also: '[]' => 0\n }\n\n return retrieveRawValue(data, dataIndex, dim);\n });\n }\n },\n\n /**\n * Get raw value in option\n * @param {number} idx\n * @param {string} [dataType]\n * @return {Array|number|string}\n */\n getRawValue: function (idx, dataType) {\n return retrieveRawValue(this.getData(dataType), idx);\n },\n\n /**\n * Should be implemented.\n * @param {number} dataIndex\n * @param {boolean} [multipleSeries=false]\n * @param {number} [dataType]\n * @return {string} tooltip string\n */\n formatTooltip: function () {// Empty function\n }\n};\nmodule.exports = _default;","var isArray = require('./isArray')\r\nvar lastArrayEach = require('../array/lastArrayEach')\r\nvar lastObjectEach = require('../object/lastObjectEach')\r\n\r\n/**\r\n * 迭代器,从最后开始迭代\r\n *\r\n * @param {Object} obj 对象/数组\r\n * @param {Function} iterate(item, index, obj) 回调\r\n * @param {Object} context 上下文\r\n * @return {Object}\r\n */\r\nfunction lastEach (obj, iterate, context) {\r\n if (obj) {\r\n return (isArray(obj) ? lastArrayEach : lastObjectEach)(obj, iterate, context)\r\n }\r\n return obj\r\n}\r\n\r\nmodule.exports = lastEach\r\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\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*/\n\nvar makeStyleMapper = require(\"./makeStyleMapper\");\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*/\nvar getLineStyle = makeStyleMapper([['lineWidth', 'width'], ['stroke', 'color'], ['opacity'], ['shadowBlur'], ['shadowOffsetX'], ['shadowOffsetY'], ['shadowColor']]);\nvar _default = {\n getLineStyle: function (excludes) {\n var style = getLineStyle(this, excludes); // Always set lineDash whether dashed, otherwise we can not\n // erase the previous style when assigning to el.style.\n\n style.lineDash = this.getLineDash(style.lineWidth);\n return style;\n },\n getLineDash: function (lineWidth) {\n if (lineWidth == null) {\n lineWidth = 1;\n }\n\n var lineType = this.get('type');\n var dotSize = Math.max(lineWidth, 2);\n var dashSize = lineWidth * 4;\n return lineType === 'solid' || lineType == null ? // Use `false` but not `null` for the solid line here, because `null` might be\n // ignored when assigning to `el.style`. e.g., when setting `lineStyle.type` as\n // `'dashed'` and `emphasis.lineStyle.type` as `'solid'` in graph series, the\n // `lineDash` gotten form the latter one is not able to erase that from the former\n // one if using `null` here according to the emhpsis strategy in `util/graphic.js`.\n false : lineType === 'dashed' ? [dashSize, dashSize] : [dotSize, dotSize];\n }\n};\nmodule.exports = _default;","var _util = require(\"../core/util\");\n\nvar inherits = _util.inherits;\n\nvar Displayble = require(\"./Displayable\");\n\nvar BoundingRect = require(\"../core/BoundingRect\");\n\n/**\n * Displayable for incremental rendering. It will be rendered in a separate layer\n * IncrementalDisplay have two main methods. `clearDisplayables` and `addDisplayables`\n * addDisplayables will render the added displayables incremetally.\n *\n * It use a not clearFlag to tell the painter don't clear the layer if it's the first element.\n */\n// TODO Style override ?\nfunction IncrementalDisplayble(opts) {\n Displayble.call(this, opts);\n this._displayables = [];\n this._temporaryDisplayables = [];\n this._cursor = 0;\n this.notClear = true;\n}\n\nIncrementalDisplayble.prototype.incremental = true;\n\nIncrementalDisplayble.prototype.clearDisplaybles = function () {\n this._displayables = [];\n this._temporaryDisplayables = [];\n this._cursor = 0;\n this.dirty();\n this.notClear = false;\n};\n\nIncrementalDisplayble.prototype.addDisplayable = function (displayable, notPersistent) {\n if (notPersistent) {\n this._temporaryDisplayables.push(displayable);\n } else {\n this._displayables.push(displayable);\n }\n\n this.dirty();\n};\n\nIncrementalDisplayble.prototype.addDisplayables = function (displayables, notPersistent) {\n notPersistent = notPersistent || false;\n\n for (var i = 0; i < displayables.length; i++) {\n this.addDisplayable(displayables[i], notPersistent);\n }\n};\n\nIncrementalDisplayble.prototype.eachPendingDisplayable = function (cb) {\n for (var i = this._cursor; i < this._displayables.length; i++) {\n cb && cb(this._displayables[i]);\n }\n\n for (var i = 0; i < this._temporaryDisplayables.length; i++) {\n cb && cb(this._temporaryDisplayables[i]);\n }\n};\n\nIncrementalDisplayble.prototype.update = function () {\n this.updateTransform();\n\n for (var i = this._cursor; i < this._displayables.length; i++) {\n var displayable = this._displayables[i]; // PENDING\n\n displayable.parent = this;\n displayable.update();\n displayable.parent = null;\n }\n\n for (var i = 0; i < this._temporaryDisplayables.length; i++) {\n var displayable = this._temporaryDisplayables[i]; // PENDING\n\n displayable.parent = this;\n displayable.update();\n displayable.parent = null;\n }\n};\n\nIncrementalDisplayble.prototype.brush = function (ctx, prevEl) {\n // Render persistant displayables.\n for (var i = this._cursor; i < this._displayables.length; i++) {\n var displayable = this._displayables[i];\n displayable.beforeBrush && displayable.beforeBrush(ctx);\n displayable.brush(ctx, i === this._cursor ? null : this._displayables[i - 1]);\n displayable.afterBrush && displayable.afterBrush(ctx);\n }\n\n this._cursor = i; // Render temporary displayables.\n\n for (var i = 0; i < this._temporaryDisplayables.length; i++) {\n var displayable = this._temporaryDisplayables[i];\n displayable.beforeBrush && displayable.beforeBrush(ctx);\n displayable.brush(ctx, i === 0 ? null : this._temporaryDisplayables[i - 1]);\n displayable.afterBrush && displayable.afterBrush(ctx);\n }\n\n this._temporaryDisplayables = [];\n this.notClear = true;\n};\n\nvar m = [];\n\nIncrementalDisplayble.prototype.getBoundingRect = function () {\n if (!this._rect) {\n var rect = new BoundingRect(Infinity, Infinity, -Infinity, -Infinity);\n\n for (var i = 0; i < this._displayables.length; i++) {\n var displayable = this._displayables[i];\n var childRect = displayable.getBoundingRect().clone();\n\n if (displayable.needLocalTransform()) {\n childRect.applyTransform(displayable.getLocalTransform(m));\n }\n\n rect.union(childRect);\n }\n\n this._rect = rect;\n }\n\n return this._rect;\n};\n\nIncrementalDisplayble.prototype.contain = function (x, y) {\n var localPos = this.transformCoordToLocal(x, y);\n var rect = this.getBoundingRect();\n\n if (rect.contain(localPos[0], localPos[1])) {\n for (var i = 0; i < this._displayables.length; i++) {\n var displayable = this._displayables[i];\n\n if (displayable.contain(x, y)) {\n return true;\n }\n }\n }\n\n return false;\n};\n\ninherits(IncrementalDisplayble, Displayble);\nvar _default = IncrementalDisplayble;\nmodule.exports = _default;","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\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*/\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\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*/\necharts.registerAction({\n type: 'timelineChange',\n event: 'timelineChanged',\n update: 'prepareAndUpdate'\n}, function (payload, ecModel) {\n var timelineModel = ecModel.getComponent('timeline');\n\n if (timelineModel && payload.currentIndex != null) {\n timelineModel.setCurrentIndex(payload.currentIndex);\n\n if (!timelineModel.get('loop', true) && timelineModel.isIndexMax()) {\n timelineModel.setPlayState(false);\n }\n } // Set normalized currentIndex to payload.\n\n\n ecModel.resetOption('timeline');\n return zrUtil.defaults({\n currentIndex: timelineModel.option.currentIndex\n }, payload);\n});\necharts.registerAction({\n type: 'timelinePlayChange',\n event: 'timelinePlayChanged',\n update: 'update'\n}, function (payload, ecModel) {\n var timelineModel = ecModel.getComponent('timeline');\n\n if (timelineModel && payload.playState != null) {\n timelineModel.setPlayState(payload.playState);\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*/\n\nvar SeriesModel = require(\"../../model/Series\");\n\nvar createListFromArray = require(\"../helper/createListFromArray\");\n\nvar CoordinateSystem = require(\"../../CoordinateSystem\");\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*/\nvar _default = SeriesModel.extend({\n type: 'series.heatmap',\n getInitialData: function (option, ecModel) {\n return createListFromArray(this.getSource(), this, {\n generateCoord: 'value'\n });\n },\n preventIncremental: function () {\n var coordSysCreator = CoordinateSystem.get(this.get('coordinateSystem'));\n\n if (coordSysCreator && coordSysCreator.dimensions) {\n return coordSysCreator.dimensions[0] === 'lng' && coordSysCreator.dimensions[1] === 'lat';\n }\n },\n defaultOption: {\n // Cartesian2D or geo\n coordinateSystem: 'cartesian2d',\n zlevel: 0,\n z: 2,\n // Cartesian coordinate system\n // xAxisIndex: 0,\n // yAxisIndex: 0,\n // Geo coordinate system\n geoIndex: 0,\n blurSize: 30,\n pointSize: 20,\n maxOpacity: 1,\n minOpacity: 0\n }\n});\n\nmodule.exports = _default;","var staticStrUndefined = require('./staticStrUndefined')\r\n\r\n/* eslint-disable valid-typeof */\r\nvar staticLocation = typeof location === staticStrUndefined ? 0 : location\r\n\r\nmodule.exports = staticLocation\r\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\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*/\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar env = require(\"zrender/lib/core/env\");\n\nvar modelUtil = require(\"../../util/model\");\n\nvar helper = require(\"./helper\");\n\nvar AxisProxy = require(\"./AxisProxy\");\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*/\nvar each = zrUtil.each;\nvar eachAxisDim = helper.eachAxisDim;\nvar DataZoomModel = echarts.extendComponentModel({\n type: 'dataZoom',\n dependencies: ['xAxis', 'yAxis', 'zAxis', 'radiusAxis', 'angleAxis', 'singleAxis', 'series'],\n\n /**\n * @protected\n */\n defaultOption: {\n zlevel: 0,\n z: 4,\n // Higher than normal component (z: 2).\n orient: null,\n // Default auto by axisIndex. Possible value: 'horizontal', 'vertical'.\n xAxisIndex: null,\n // Default the first horizontal category axis.\n yAxisIndex: null,\n // Default the first vertical category axis.\n filterMode: 'filter',\n // Possible values: 'filter' or 'empty' or 'weakFilter'.\n // 'filter': data items which are out of window will be removed. This option is\n // applicable when filtering outliers. For each data item, it will be\n // filtered if one of the relevant dimensions is out of the window.\n // 'weakFilter': data items which are out of window will be removed. This option\n // is applicable when filtering outliers. For each data item, it will be\n // filtered only if all of the relevant dimensions are out of the same\n // side of the window.\n // 'empty': data items which are out of window will be set to empty.\n // This option is applicable when user should not neglect\n // that there are some data items out of window.\n // 'none': Do not filter.\n // Taking line chart as an example, line will be broken in\n // the filtered points when filterModel is set to 'empty', but\n // be connected when set to 'filter'.\n throttle: null,\n // Dispatch action by the fixed rate, avoid frequency.\n // default 100. Do not throttle when use null/undefined.\n // If animation === true and animationDurationUpdate > 0,\n // default value is 100, otherwise 20.\n start: 0,\n // Start percent. 0 ~ 100\n end: 100,\n // End percent. 0 ~ 100\n startValue: null,\n // Start value. If startValue specified, start is ignored.\n endValue: null,\n // End value. If endValue specified, end is ignored.\n minSpan: null,\n // 0 ~ 100\n maxSpan: null,\n // 0 ~ 100\n minValueSpan: null,\n // The range of dataZoom can not be smaller than that.\n maxValueSpan: null,\n // The range of dataZoom can not be larger than that.\n rangeMode: null // Array, can be 'value' or 'percent'.\n\n },\n\n /**\n * @override\n */\n init: function (option, parentModel, ecModel) {\n /**\n * key like x_0, y_1\n * @private\n * @type {Object}\n */\n this._dataIntervalByAxis = {};\n /**\n * @private\n */\n\n this._dataInfo = {};\n /**\n * key like x_0, y_1\n * @private\n */\n\n this._axisProxies = {};\n /**\n * @readOnly\n */\n\n this.textStyleModel;\n /**\n * @private\n */\n\n this._autoThrottle = true;\n /**\n * It is `[rangeModeForMin, rangeModeForMax]`.\n * The optional values for `rangeMode`:\n * + `'value'` mode: the axis extent will always be determined by\n * `dataZoom.startValue` and `dataZoom.endValue`, despite\n * how data like and how `axis.min` and `axis.max` are.\n * + `'percent'` mode: `100` represents 100% of the `[dMin, dMax]`,\n * where `dMin` is `axis.min` if `axis.min` specified, otherwise `data.extent[0]`,\n * and `dMax` is `axis.max` if `axis.max` specified, otherwise `data.extent[1]`.\n * Axis extent will be determined by the result of the percent of `[dMin, dMax]`.\n *\n * For example, when users are using dynamic data (update data periodically via `setOption`),\n * if in `'value`' mode, the window will be kept in a fixed value range despite how\n * data are appended, while if in `'percent'` mode, whe window range will be changed alone with\n * the appended data (suppose `axis.min` and `axis.max` are not specified).\n *\n * @private\n */\n\n this._rangePropMode = ['percent', 'percent'];\n var inputRawOption = retrieveRawOption(option);\n /**\n * Suppose a \"main process\" start at the point that model prepared (that is,\n * model initialized or merged or method called in `action`).\n * We should keep the `main process` idempotent, that is, given a set of values\n * on `option`, we get the same result.\n *\n * But sometimes, values on `option` will be updated for providing users\n * a \"final calculated value\" (`dataZoomProcessor` will do that). Those value\n * should not be the base/input of the `main process`.\n *\n * So in that case we should save and keep the input of the `main process`\n * separately, called `settledOption`.\n *\n * For example, consider the case:\n * (Step_1) brush zoom the grid by `toolbox.dataZoom`,\n * where the original input `option.startValue`, `option.endValue` are earsed by\n * calculated value.\n * (Step)2) click the legend to hide and show a series,\n * where the new range is calculated by the earsed `startValue` and `endValue`,\n * which brings incorrect result.\n *\n * @readOnly\n */\n\n this.settledOption = inputRawOption;\n this.mergeDefaultAndTheme(option, ecModel);\n this.doInit(inputRawOption);\n },\n\n /**\n * @override\n */\n mergeOption: function (newOption) {\n var inputRawOption = retrieveRawOption(newOption); //FIX #2591\n\n zrUtil.merge(this.option, newOption, true);\n zrUtil.merge(this.settledOption, inputRawOption, true);\n this.doInit(inputRawOption);\n },\n\n /**\n * @protected\n */\n doInit: function (inputRawOption) {\n var thisOption = this.option; // Disable realtime view update if canvas is not supported.\n\n if (!env.canvasSupported) {\n thisOption.realtime = false;\n }\n\n this._setDefaultThrottle(inputRawOption);\n\n updateRangeUse(this, inputRawOption);\n var settledOption = this.settledOption;\n each([['start', 'startValue'], ['end', 'endValue']], function (names, index) {\n // start/end has higher priority over startValue/endValue if they\n // both set, but we should make chart.setOption({endValue: 1000})\n // effective, rather than chart.setOption({endValue: 1000, end: null}).\n if (this._rangePropMode[index] === 'value') {\n thisOption[names[0]] = settledOption[names[0]] = null;\n } // Otherwise do nothing and use the merge result.\n\n }, this);\n this.textStyleModel = this.getModel('textStyle');\n\n this._resetTarget();\n\n this._giveAxisProxies();\n },\n\n /**\n * @private\n */\n _giveAxisProxies: function () {\n var axisProxies = this._axisProxies;\n this.eachTargetAxis(function (dimNames, axisIndex, dataZoomModel, ecModel) {\n var axisModel = this.dependentModels[dimNames.axis][axisIndex]; // If exists, share axisProxy with other dataZoomModels.\n\n var axisProxy = axisModel.__dzAxisProxy || ( // Use the first dataZoomModel as the main model of axisProxy.\n axisModel.__dzAxisProxy = new AxisProxy(dimNames.name, axisIndex, this, ecModel)); // FIXME\n // dispose __dzAxisProxy\n\n axisProxies[dimNames.name + '_' + axisIndex] = axisProxy;\n }, this);\n },\n\n /**\n * @private\n */\n _resetTarget: function () {\n var thisOption = this.option;\n\n var autoMode = this._judgeAutoMode();\n\n eachAxisDim(function (dimNames) {\n var axisIndexName = dimNames.axisIndex;\n thisOption[axisIndexName] = modelUtil.normalizeToArray(thisOption[axisIndexName]);\n }, this);\n\n if (autoMode === 'axisIndex') {\n this._autoSetAxisIndex();\n } else if (autoMode === 'orient') {\n this._autoSetOrient();\n }\n },\n\n /**\n * @private\n */\n _judgeAutoMode: function () {\n // Auto set only works for setOption at the first time.\n // The following is user's reponsibility. So using merged\n // option is OK.\n var thisOption = this.option;\n var hasIndexSpecified = false;\n eachAxisDim(function (dimNames) {\n // When user set axisIndex as a empty array, we think that user specify axisIndex\n // but do not want use auto mode. Because empty array may be encountered when\n // some error occured.\n if (thisOption[dimNames.axisIndex] != null) {\n hasIndexSpecified = true;\n }\n }, this);\n var orient = thisOption.orient;\n\n if (orient == null && hasIndexSpecified) {\n return 'orient';\n } else if (!hasIndexSpecified) {\n if (orient == null) {\n thisOption.orient = 'horizontal';\n }\n\n return 'axisIndex';\n }\n },\n\n /**\n * @private\n */\n _autoSetAxisIndex: function () {\n var autoAxisIndex = true;\n var orient = this.get('orient', true);\n var thisOption = this.option;\n var dependentModels = this.dependentModels;\n\n if (autoAxisIndex) {\n // Find axis that parallel to dataZoom as default.\n var dimName = orient === 'vertical' ? 'y' : 'x';\n\n if (dependentModels[dimName + 'Axis'].length) {\n thisOption[dimName + 'AxisIndex'] = [0];\n autoAxisIndex = false;\n } else {\n each(dependentModels.singleAxis, function (singleAxisModel) {\n if (autoAxisIndex && singleAxisModel.get('orient', true) === orient) {\n thisOption.singleAxisIndex = [singleAxisModel.componentIndex];\n autoAxisIndex = false;\n }\n });\n }\n }\n\n if (autoAxisIndex) {\n // Find the first category axis as default. (consider polar)\n eachAxisDim(function (dimNames) {\n if (!autoAxisIndex) {\n return;\n }\n\n var axisIndices = [];\n var axisModels = this.dependentModels[dimNames.axis];\n\n if (axisModels.length && !axisIndices.length) {\n for (var i = 0, len = axisModels.length; i < len; i++) {\n if (axisModels[i].get('type') === 'category') {\n axisIndices.push(i);\n }\n }\n }\n\n thisOption[dimNames.axisIndex] = axisIndices;\n\n if (axisIndices.length) {\n autoAxisIndex = false;\n }\n }, this);\n }\n\n if (autoAxisIndex) {\n // FIXME\n // 这里是兼容ec2的写法(没指定xAxisIndex和yAxisIndex时把scatter和双数值轴折柱纳入dataZoom控制),\n // 但是实际是否需要Grid.js#getScaleByOption来判断(考虑time,log等axis type)?\n // If both dataZoom.xAxisIndex and dataZoom.yAxisIndex is not specified,\n // dataZoom component auto adopts series that reference to\n // both xAxis and yAxis which type is 'value'.\n this.ecModel.eachSeries(function (seriesModel) {\n if (this._isSeriesHasAllAxesTypeOf(seriesModel, 'value')) {\n eachAxisDim(function (dimNames) {\n var axisIndices = thisOption[dimNames.axisIndex];\n var axisIndex = seriesModel.get(dimNames.axisIndex);\n var axisId = seriesModel.get(dimNames.axisId);\n var axisModel = seriesModel.ecModel.queryComponents({\n mainType: dimNames.axis,\n index: axisIndex,\n id: axisId\n })[0];\n axisIndex = axisModel.componentIndex;\n\n if (zrUtil.indexOf(axisIndices, axisIndex) < 0) {\n axisIndices.push(axisIndex);\n }\n });\n }\n }, this);\n }\n },\n\n /**\n * @private\n */\n _autoSetOrient: function () {\n var dim; // Find the first axis\n\n this.eachTargetAxis(function (dimNames) {\n !dim && (dim = dimNames.name);\n }, this);\n this.option.orient = dim === 'y' ? 'vertical' : 'horizontal';\n },\n\n /**\n * @private\n */\n _isSeriesHasAllAxesTypeOf: function (seriesModel, axisType) {\n // FIXME\n // 需要series的xAxisIndex和yAxisIndex都首先自动设置上。\n // 例如series.type === scatter时。\n var is = true;\n eachAxisDim(function (dimNames) {\n var seriesAxisIndex = seriesModel.get(dimNames.axisIndex);\n var axisModel = this.dependentModels[dimNames.axis][seriesAxisIndex];\n\n if (!axisModel || axisModel.get('type') !== axisType) {\n is = false;\n }\n }, this);\n return is;\n },\n\n /**\n * @private\n */\n _setDefaultThrottle: function (inputRawOption) {\n // When first time user set throttle, auto throttle ends.\n if (inputRawOption.hasOwnProperty('throttle')) {\n this._autoThrottle = false;\n }\n\n if (this._autoThrottle) {\n var globalOption = this.ecModel.option;\n this.option.throttle = globalOption.animation && globalOption.animationDurationUpdate > 0 ? 100 : 20;\n }\n },\n\n /**\n * @public\n */\n getFirstTargetAxisModel: function () {\n var firstAxisModel;\n eachAxisDim(function (dimNames) {\n if (firstAxisModel == null) {\n var indices = this.get(dimNames.axisIndex);\n\n if (indices.length) {\n firstAxisModel = this.dependentModels[dimNames.axis][indices[0]];\n }\n }\n }, this);\n return firstAxisModel;\n },\n\n /**\n * @public\n * @param {Function} callback param: axisModel, dimNames, axisIndex, dataZoomModel, ecModel\n */\n eachTargetAxis: function (callback, context) {\n var ecModel = this.ecModel;\n eachAxisDim(function (dimNames) {\n each(this.get(dimNames.axisIndex), function (axisIndex) {\n callback.call(context, dimNames, axisIndex, this, ecModel);\n }, this);\n }, this);\n },\n\n /**\n * @param {string} dimName\n * @param {number} axisIndex\n * @return {module:echarts/component/dataZoom/AxisProxy} If not found, return null/undefined.\n */\n getAxisProxy: function (dimName, axisIndex) {\n return this._axisProxies[dimName + '_' + axisIndex];\n },\n\n /**\n * @param {string} dimName\n * @param {number} axisIndex\n * @return {module:echarts/model/Model} If not found, return null/undefined.\n */\n getAxisModel: function (dimName, axisIndex) {\n var axisProxy = this.getAxisProxy(dimName, axisIndex);\n return axisProxy && axisProxy.getAxisModel();\n },\n\n /**\n * If not specified, set to undefined.\n *\n * @public\n * @param {Object} opt\n * @param {number} [opt.start]\n * @param {number} [opt.end]\n * @param {number} [opt.startValue]\n * @param {number} [opt.endValue]\n */\n setRawRange: function (opt) {\n var thisOption = this.option;\n var settledOption = this.settledOption;\n each([['start', 'startValue'], ['end', 'endValue']], function (names) {\n // Consider the pair :\n // If one has value and the other one is `null/undefined`, we both set them\n // to `settledOption`. This strategy enables the feature to clear the original\n // value in `settledOption` to `null/undefined`.\n // But if both of them are `null/undefined`, we do not set them to `settledOption`\n // and keep `settledOption` with the original value. This strategy enables users to\n // only set but not set when calling\n // `dispatchAction`.\n // The pair is treated in the same way.\n if (opt[names[0]] != null || opt[names[1]] != null) {\n thisOption[names[0]] = settledOption[names[0]] = opt[names[0]];\n thisOption[names[1]] = settledOption[names[1]] = opt[names[1]];\n }\n }, this);\n updateRangeUse(this, opt);\n },\n\n /**\n * @public\n * @param {Object} opt\n * @param {number} [opt.start]\n * @param {number} [opt.end]\n * @param {number} [opt.startValue]\n * @param {number} [opt.endValue]\n */\n setCalculatedRange: function (opt) {\n var option = this.option;\n each(['start', 'startValue', 'end', 'endValue'], function (name) {\n option[name] = opt[name];\n });\n },\n\n /**\n * @public\n * @return {Array.} [startPercent, endPercent]\n */\n getPercentRange: function () {\n var axisProxy = this.findRepresentativeAxisProxy();\n\n if (axisProxy) {\n return axisProxy.getDataPercentWindow();\n }\n },\n\n /**\n * @public\n * For example, chart.getModel().getComponent('dataZoom').getValueRange('y', 0);\n *\n * @param {string} [axisDimName]\n * @param {number} [axisIndex]\n * @return {Array.} [startValue, endValue] value can only be '-' or finite number.\n */\n getValueRange: function (axisDimName, axisIndex) {\n if (axisDimName == null && axisIndex == null) {\n var axisProxy = this.findRepresentativeAxisProxy();\n\n if (axisProxy) {\n return axisProxy.getDataValueWindow();\n }\n } else {\n return this.getAxisProxy(axisDimName, axisIndex).getDataValueWindow();\n }\n },\n\n /**\n * @public\n * @param {module:echarts/model/Model} [axisModel] If axisModel given, find axisProxy\n * corresponding to the axisModel\n * @return {module:echarts/component/dataZoom/AxisProxy}\n */\n findRepresentativeAxisProxy: function (axisModel) {\n if (axisModel) {\n return axisModel.__dzAxisProxy;\n } // Find the first hosted axisProxy\n\n\n var axisProxies = this._axisProxies;\n\n for (var key in axisProxies) {\n if (axisProxies.hasOwnProperty(key) && axisProxies[key].hostedBy(this)) {\n return axisProxies[key];\n }\n } // If no hosted axis find not hosted axisProxy.\n // Consider this case: dataZoomModel1 and dataZoomModel2 control the same axis,\n // and the option.start or option.end settings are different. The percentRange\n // should follow axisProxy.\n // (We encounter this problem in toolbox data zoom.)\n\n\n for (var key in axisProxies) {\n if (axisProxies.hasOwnProperty(key) && !axisProxies[key].hostedBy(this)) {\n return axisProxies[key];\n }\n }\n },\n\n /**\n * @return {Array.}\n */\n getRangePropMode: function () {\n return this._rangePropMode.slice();\n }\n});\n/**\n * Retrieve the those raw params from option, which will be cached separately.\n * becasue they will be overwritten by normalized/calculated values in the main\n * process.\n */\n\nfunction retrieveRawOption(option) {\n var ret = {};\n each(['start', 'end', 'startValue', 'endValue', 'throttle'], function (name) {\n option.hasOwnProperty(name) && (ret[name] = option[name]);\n });\n return ret;\n}\n\nfunction updateRangeUse(dataZoomModel, inputRawOption) {\n var rangePropMode = dataZoomModel._rangePropMode;\n var rangeModeInOption = dataZoomModel.get('rangeMode');\n each([['start', 'startValue'], ['end', 'endValue']], function (names, index) {\n var percentSpecified = inputRawOption[names[0]] != null;\n var valueSpecified = inputRawOption[names[1]] != null;\n\n if (percentSpecified && !valueSpecified) {\n rangePropMode[index] = 'percent';\n } else if (!percentSpecified && valueSpecified) {\n rangePropMode[index] = 'value';\n } else if (rangeModeInOption) {\n rangePropMode[index] = rangeModeInOption[index];\n } else if (percentSpecified) {\n // percentSpecified && valueSpecified\n rangePropMode[index] = 'percent';\n } // else remain its original setting.\n\n });\n}\n\nvar _default = DataZoomModel;\nmodule.exports = _default;","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","var staticEncodeURIComponent = encodeURIComponent\r\n\r\nmodule.exports = staticEncodeURIComponent\r\n","var global = require('./_global');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar dP = require('./_object-dp').f;\nvar gOPN = require('./_object-gopn').f;\nvar isRegExp = require('./_is-regexp');\nvar $flags = require('./_flags');\nvar $RegExp = global.RegExp;\nvar Base = $RegExp;\nvar proto = $RegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n// \"new\" creates a new object, old webkit buggy here\nvar CORRECT_NEW = new $RegExp(re1) !== re1;\n\nif (require('./_descriptors') && (!CORRECT_NEW || require('./_fails')(function () {\n re2[require('./_wks')('match')] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n}))) {\n $RegExp = function RegExp(p, f) {\n var tiRE = this instanceof $RegExp;\n var piRE = isRegExp(p);\n var fiU = f === undefined;\n return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n : inheritIfRequired(CORRECT_NEW\n ? new Base(piRE && !fiU ? p.source : p, f)\n : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n , tiRE ? this : proto, $RegExp);\n };\n var proxy = function (key) {\n key in $RegExp || dP($RegExp, key, {\n configurable: true,\n get: function () { return Base[key]; },\n set: function (it) { Base[key] = it; }\n });\n };\n for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]);\n proto.constructor = $RegExp;\n $RegExp.prototype = proto;\n require('./_redefine')(global, 'RegExp', $RegExp);\n}\n\nrequire('./_set-species')('RegExp');\n","'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n return Array.isArray(val) ? [] : {}\n}\n\nfunction cloneIfNecessary(value, optionsArgument) {\n var clone = optionsArgument && optionsArgument.clone === true;\n return (clone && isMergeableObject(value)) ? deepmerge(emptyTarget(value), value, optionsArgument) : value\n}\n\nfunction defaultArrayMerge(target, source, optionsArgument) {\n var destination = target.slice();\n source.forEach(function(e, i) {\n if (typeof destination[i] === 'undefined') {\n destination[i] = cloneIfNecessary(e, optionsArgument);\n } else if (isMergeableObject(e)) {\n destination[i] = deepmerge(target[i], e, optionsArgument);\n } else if (target.indexOf(e) === -1) {\n destination.push(cloneIfNecessary(e, optionsArgument));\n }\n });\n return destination\n}\n\nfunction mergeObject(target, source, optionsArgument) {\n var destination = {};\n if (isMergeableObject(target)) {\n Object.keys(target).forEach(function(key) {\n destination[key] = cloneIfNecessary(target[key], optionsArgument);\n });\n }\n Object.keys(source).forEach(function(key) {\n if (!isMergeableObject(source[key]) || !target[key]) {\n destination[key] = cloneIfNecessary(source[key], optionsArgument);\n } else {\n destination[key] = deepmerge(target[key], source[key], optionsArgument);\n }\n });\n return destination\n}\n\nfunction deepmerge(target, source, optionsArgument) {\n var sourceIsArray = Array.isArray(source);\n var targetIsArray = Array.isArray(target);\n var options = optionsArgument || { arrayMerge: defaultArrayMerge };\n var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n if (!sourceAndTargetTypesMatch) {\n return cloneIfNecessary(source, optionsArgument)\n } else if (sourceIsArray) {\n var arrayMerge = options.arrayMerge || defaultArrayMerge;\n return arrayMerge(target, source, optionsArgument)\n } else {\n return mergeObject(target, source, optionsArgument)\n }\n}\n\ndeepmerge.all = function deepmergeAll(array, optionsArgument) {\n if (!Array.isArray(array) || array.length < 2) {\n throw new Error('first argument should be an array with at least two elements')\n }\n\n // we are sure there are at least 2 values, so it is safe to have no initial value\n return array.reduce(function(prev, next) {\n return deepmerge(prev, next, optionsArgument)\n })\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.Validator = void 0;\n\nvar _table = _interopRequireDefault(require(\"../table\"));\n\nvar _mixin = _interopRequireDefault(require(\"./src/mixin\"));\n\nvar _vXETable = _interopRequireDefault(require(\"../v-x-e-table\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Validator = {\n install: function install() {\n _vXETable.default.reg('valid');\n\n _table.default.mixins.push(_mixin.default);\n }\n};\nexports.Validator = Validator;\nvar _default = Validator;\nexports.default = _default;","var helperDeleteProperty = require('./helperDeleteProperty')\r\n\r\nvar isPlainObject = require('./isPlainObject')\r\nvar isObject = require('./isObject')\r\nvar isArray = require('./isArray')\r\nvar isNull = require('./isNull')\r\nvar assign = require('../object/assign')\r\nvar objectEach = require('../object/objectEach')\r\n\r\n/**\r\n * 清空对象\r\n *\r\n * @param {Object} obj 对象\r\n * @param {*} defs 默认值,如果不传(清空所有属性)、如果传对象(清空并继承)、如果传值(给所有赋值)\r\n * @param {Object/Array} assigns 默认值\r\n * @return {Object}\r\n */\r\nfunction clear (obj, defs, assigns) {\r\n if (obj) {\r\n var len\r\n var isDefs = arguments.length > 1 && (isNull(defs) || !isObject(defs))\r\n var extds = isDefs ? assigns : defs\r\n if (isPlainObject(obj)) {\r\n objectEach(obj, isDefs ? function (val, key) {\r\n obj[key] = defs\r\n } : function (val, key) {\r\n helperDeleteProperty(obj, key)\r\n })\r\n if (extds) {\r\n assign(obj, extds)\r\n }\r\n } else if (isArray(obj)) {\r\n if (isDefs) {\r\n len = obj.length\r\n while (len > 0) {\r\n len--\r\n obj[len] = defs\r\n }\r\n } else {\r\n obj.length = 0\r\n }\r\n if (extds) {\r\n obj.push.apply(obj, extds)\r\n }\r\n }\r\n }\r\n return obj\r\n}\r\n\r\nmodule.exports = clear\r\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\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar LinearGradient = require(\"zrender/lib/graphic/LinearGradient\");\n\nvar eventTool = require(\"zrender/lib/core/event\");\n\nvar VisualMapView = require(\"./VisualMapView\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar numberUtil = require(\"../../util/number\");\n\nvar sliderMove = require(\"../helper/sliderMove\");\n\nvar helper = require(\"./helper\");\n\nvar modelUtil = require(\"../../util/model\");\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*/\nvar linearMap = numberUtil.linearMap;\nvar each = zrUtil.each;\nvar mathMin = Math.min;\nvar mathMax = Math.max; // Arbitrary value\n\nvar HOVER_LINK_SIZE = 12;\nvar HOVER_LINK_OUT = 6; // Notice:\n// Any \"interval\" should be by the order of [low, high].\n// \"handle0\" (handleIndex === 0) maps to\n// low data value: this._dataInterval[0] and has low coord.\n// \"handle1\" (handleIndex === 1) maps to\n// high data value: this._dataInterval[1] and has high coord.\n// The logic of transform is implemented in this._createBarGroup.\n\nvar ContinuousView = VisualMapView.extend({\n type: 'visualMap.continuous',\n\n /**\n * @override\n */\n init: function () {\n ContinuousView.superApply(this, 'init', arguments);\n /**\n * @private\n */\n\n this._shapes = {};\n /**\n * @private\n */\n\n this._dataInterval = [];\n /**\n * @private\n */\n\n this._handleEnds = [];\n /**\n * @private\n */\n\n this._orient;\n /**\n * @private\n */\n\n this._useHandle;\n /**\n * @private\n */\n\n this._hoverLinkDataIndices = [];\n /**\n * @private\n */\n\n this._dragging;\n /**\n * @private\n */\n\n this._hovering;\n },\n\n /**\n * @protected\n * @override\n */\n doRender: function (visualMapModel, ecModel, api, payload) {\n if (!payload || payload.type !== 'selectDataRange' || payload.from !== this.uid) {\n this._buildView();\n }\n },\n\n /**\n * @private\n */\n _buildView: function () {\n this.group.removeAll();\n var visualMapModel = this.visualMapModel;\n var thisGroup = this.group;\n this._orient = visualMapModel.get('orient');\n this._useHandle = visualMapModel.get('calculable');\n\n this._resetInterval();\n\n this._renderBar(thisGroup);\n\n var dataRangeText = visualMapModel.get('text');\n\n this._renderEndsText(thisGroup, dataRangeText, 0);\n\n this._renderEndsText(thisGroup, dataRangeText, 1); // Do this for background size calculation.\n\n\n this._updateView(true); // After updating view, inner shapes is built completely,\n // and then background can be rendered.\n\n\n this.renderBackground(thisGroup); // Real update view\n\n this._updateView();\n\n this._enableHoverLinkToSeries();\n\n this._enableHoverLinkFromSeries();\n\n this.positionGroup(thisGroup);\n },\n\n /**\n * @private\n */\n _renderEndsText: function (group, dataRangeText, endsIndex) {\n if (!dataRangeText) {\n return;\n } // Compatible with ec2, text[0] map to high value, text[1] map low value.\n\n\n var text = dataRangeText[1 - endsIndex];\n text = text != null ? text + '' : '';\n var visualMapModel = this.visualMapModel;\n var textGap = visualMapModel.get('textGap');\n var itemSize = visualMapModel.itemSize;\n var barGroup = this._shapes.barGroup;\n\n var position = this._applyTransform([itemSize[0] / 2, endsIndex === 0 ? -textGap : itemSize[1] + textGap], barGroup);\n\n var align = this._applyTransform(endsIndex === 0 ? 'bottom' : 'top', barGroup);\n\n var orient = this._orient;\n var textStyleModel = this.visualMapModel.textStyleModel;\n this.group.add(new graphic.Text({\n style: {\n x: position[0],\n y: position[1],\n textVerticalAlign: orient === 'horizontal' ? 'middle' : align,\n textAlign: orient === 'horizontal' ? align : 'center',\n text: text,\n textFont: textStyleModel.getFont(),\n textFill: textStyleModel.getTextColor()\n }\n }));\n },\n\n /**\n * @private\n */\n _renderBar: function (targetGroup) {\n var visualMapModel = this.visualMapModel;\n var shapes = this._shapes;\n var itemSize = visualMapModel.itemSize;\n var orient = this._orient;\n var useHandle = this._useHandle;\n var itemAlign = helper.getItemAlign(visualMapModel, this.api, itemSize);\n\n var barGroup = shapes.barGroup = this._createBarGroup(itemAlign); // Bar\n\n\n barGroup.add(shapes.outOfRange = createPolygon());\n barGroup.add(shapes.inRange = createPolygon(null, useHandle ? getCursor(this._orient) : null, zrUtil.bind(this._dragHandle, this, 'all', false), zrUtil.bind(this._dragHandle, this, 'all', true)));\n var textRect = visualMapModel.textStyleModel.getTextRect('国');\n var textSize = mathMax(textRect.width, textRect.height); // Handle\n\n if (useHandle) {\n shapes.handleThumbs = [];\n shapes.handleLabels = [];\n shapes.handleLabelPoints = [];\n\n this._createHandle(barGroup, 0, itemSize, textSize, orient, itemAlign);\n\n this._createHandle(barGroup, 1, itemSize, textSize, orient, itemAlign);\n }\n\n this._createIndicator(barGroup, itemSize, textSize, orient);\n\n targetGroup.add(barGroup);\n },\n\n /**\n * @private\n */\n _createHandle: function (barGroup, handleIndex, itemSize, textSize, orient) {\n var onDrift = zrUtil.bind(this._dragHandle, this, handleIndex, false);\n var onDragEnd = zrUtil.bind(this._dragHandle, this, handleIndex, true);\n var handleThumb = createPolygon(createHandlePoints(handleIndex, textSize), getCursor(this._orient), onDrift, onDragEnd);\n handleThumb.position[0] = itemSize[0];\n barGroup.add(handleThumb); // Text is always horizontal layout but should not be effected by\n // transform (orient/inverse). So label is built separately but not\n // use zrender/graphic/helper/RectText, and is located based on view\n // group (according to handleLabelPoint) but not barGroup.\n\n var textStyleModel = this.visualMapModel.textStyleModel;\n var handleLabel = new graphic.Text({\n draggable: true,\n drift: onDrift,\n onmousemove: function (e) {\n // Fot mobile devicem, prevent screen slider on the button.\n eventTool.stop(e.event);\n },\n ondragend: onDragEnd,\n style: {\n x: 0,\n y: 0,\n text: '',\n textFont: textStyleModel.getFont(),\n textFill: textStyleModel.getTextColor()\n }\n });\n this.group.add(handleLabel);\n var handleLabelPoint = [orient === 'horizontal' ? textSize / 2 : textSize * 1.5, orient === 'horizontal' ? handleIndex === 0 ? -(textSize * 1.5) : textSize * 1.5 : handleIndex === 0 ? -textSize / 2 : textSize / 2];\n var shapes = this._shapes;\n shapes.handleThumbs[handleIndex] = handleThumb;\n shapes.handleLabelPoints[handleIndex] = handleLabelPoint;\n shapes.handleLabels[handleIndex] = handleLabel;\n },\n\n /**\n * @private\n */\n _createIndicator: function (barGroup, itemSize, textSize, orient) {\n var indicator = createPolygon([[0, 0]], 'move');\n indicator.position[0] = itemSize[0];\n indicator.attr({\n invisible: true,\n silent: true\n });\n barGroup.add(indicator);\n var textStyleModel = this.visualMapModel.textStyleModel;\n var indicatorLabel = new graphic.Text({\n silent: true,\n invisible: true,\n style: {\n x: 0,\n y: 0,\n text: '',\n textFont: textStyleModel.getFont(),\n textFill: textStyleModel.getTextColor()\n }\n });\n this.group.add(indicatorLabel);\n var indicatorLabelPoint = [orient === 'horizontal' ? textSize / 2 : HOVER_LINK_OUT + 3, 0];\n var shapes = this._shapes;\n shapes.indicator = indicator;\n shapes.indicatorLabel = indicatorLabel;\n shapes.indicatorLabelPoint = indicatorLabelPoint;\n },\n\n /**\n * @private\n */\n _dragHandle: function (handleIndex, isEnd, dx, dy) {\n if (!this._useHandle) {\n return;\n }\n\n this._dragging = !isEnd;\n\n if (!isEnd) {\n // Transform dx, dy to bar coordination.\n var vertex = this._applyTransform([dx, dy], this._shapes.barGroup, true);\n\n this._updateInterval(handleIndex, vertex[1]); // Considering realtime, update view should be executed\n // before dispatch action.\n\n\n this._updateView();\n } // dragEnd do not dispatch action when realtime.\n\n\n if (isEnd === !this.visualMapModel.get('realtime')) {\n // jshint ignore:line\n this.api.dispatchAction({\n type: 'selectDataRange',\n from: this.uid,\n visualMapId: this.visualMapModel.id,\n selected: this._dataInterval.slice()\n });\n }\n\n if (isEnd) {\n !this._hovering && this._clearHoverLinkToSeries();\n } else if (useHoverLinkOnHandle(this.visualMapModel)) {\n this._doHoverLinkToSeries(this._handleEnds[handleIndex], false);\n }\n },\n\n /**\n * @private\n */\n _resetInterval: function () {\n var visualMapModel = this.visualMapModel;\n var dataInterval = this._dataInterval = visualMapModel.getSelected();\n var dataExtent = visualMapModel.getExtent();\n var sizeExtent = [0, visualMapModel.itemSize[1]];\n this._handleEnds = [linearMap(dataInterval[0], dataExtent, sizeExtent, true), linearMap(dataInterval[1], dataExtent, sizeExtent, true)];\n },\n\n /**\n * @private\n * @param {(number|string)} handleIndex 0 or 1 or 'all'\n * @param {number} dx\n * @param {number} dy\n */\n _updateInterval: function (handleIndex, delta) {\n delta = delta || 0;\n var visualMapModel = this.visualMapModel;\n var handleEnds = this._handleEnds;\n var sizeExtent = [0, visualMapModel.itemSize[1]];\n sliderMove(delta, handleEnds, sizeExtent, handleIndex, // cross is forbiden\n 0);\n var dataExtent = visualMapModel.getExtent(); // Update data interval.\n\n this._dataInterval = [linearMap(handleEnds[0], sizeExtent, dataExtent, true), linearMap(handleEnds[1], sizeExtent, dataExtent, true)];\n },\n\n /**\n * @private\n */\n _updateView: function (forSketch) {\n var visualMapModel = this.visualMapModel;\n var dataExtent = visualMapModel.getExtent();\n var shapes = this._shapes;\n var outOfRangeHandleEnds = [0, visualMapModel.itemSize[1]];\n var inRangeHandleEnds = forSketch ? outOfRangeHandleEnds : this._handleEnds;\n\n var visualInRange = this._createBarVisual(this._dataInterval, dataExtent, inRangeHandleEnds, 'inRange');\n\n var visualOutOfRange = this._createBarVisual(dataExtent, dataExtent, outOfRangeHandleEnds, 'outOfRange');\n\n shapes.inRange.setStyle({\n fill: visualInRange.barColor,\n opacity: visualInRange.opacity\n }).setShape('points', visualInRange.barPoints);\n shapes.outOfRange.setStyle({\n fill: visualOutOfRange.barColor,\n opacity: visualOutOfRange.opacity\n }).setShape('points', visualOutOfRange.barPoints);\n\n this._updateHandle(inRangeHandleEnds, visualInRange);\n },\n\n /**\n * @private\n */\n _createBarVisual: function (dataInterval, dataExtent, handleEnds, forceState) {\n var opts = {\n forceState: forceState,\n convertOpacityToAlpha: true\n };\n\n var colorStops = this._makeColorGradient(dataInterval, opts);\n\n var symbolSizes = [this.getControllerVisual(dataInterval[0], 'symbolSize', opts), this.getControllerVisual(dataInterval[1], 'symbolSize', opts)];\n\n var barPoints = this._createBarPoints(handleEnds, symbolSizes);\n\n return {\n barColor: new LinearGradient(0, 0, 0, 1, colorStops),\n barPoints: barPoints,\n handlesColor: [colorStops[0].color, colorStops[colorStops.length - 1].color]\n };\n },\n\n /**\n * @private\n */\n _makeColorGradient: function (dataInterval, opts) {\n // Considering colorHue, which is not linear, so we have to sample\n // to calculate gradient color stops, but not only caculate head\n // and tail.\n var sampleNumber = 100; // Arbitrary value.\n\n var colorStops = [];\n var step = (dataInterval[1] - dataInterval[0]) / sampleNumber;\n colorStops.push({\n color: this.getControllerVisual(dataInterval[0], 'color', opts),\n offset: 0\n });\n\n for (var i = 1; i < sampleNumber; i++) {\n var currValue = dataInterval[0] + step * i;\n\n if (currValue > dataInterval[1]) {\n break;\n }\n\n colorStops.push({\n color: this.getControllerVisual(currValue, 'color', opts),\n offset: i / sampleNumber\n });\n }\n\n colorStops.push({\n color: this.getControllerVisual(dataInterval[1], 'color', opts),\n offset: 1\n });\n return colorStops;\n },\n\n /**\n * @private\n */\n _createBarPoints: function (handleEnds, symbolSizes) {\n var itemSize = this.visualMapModel.itemSize;\n return [[itemSize[0] - symbolSizes[0], handleEnds[0]], [itemSize[0], handleEnds[0]], [itemSize[0], handleEnds[1]], [itemSize[0] - symbolSizes[1], handleEnds[1]]];\n },\n\n /**\n * @private\n */\n _createBarGroup: function (itemAlign) {\n var orient = this._orient;\n var inverse = this.visualMapModel.get('inverse');\n return new graphic.Group(orient === 'horizontal' && !inverse ? {\n scale: itemAlign === 'bottom' ? [1, 1] : [-1, 1],\n rotation: Math.PI / 2\n } : orient === 'horizontal' && inverse ? {\n scale: itemAlign === 'bottom' ? [-1, 1] : [1, 1],\n rotation: -Math.PI / 2\n } : orient === 'vertical' && !inverse ? {\n scale: itemAlign === 'left' ? [1, -1] : [-1, -1]\n } : {\n scale: itemAlign === 'left' ? [1, 1] : [-1, 1]\n });\n },\n\n /**\n * @private\n */\n _updateHandle: function (handleEnds, visualInRange) {\n if (!this._useHandle) {\n return;\n }\n\n var shapes = this._shapes;\n var visualMapModel = this.visualMapModel;\n var handleThumbs = shapes.handleThumbs;\n var handleLabels = shapes.handleLabels;\n each([0, 1], function (handleIndex) {\n var handleThumb = handleThumbs[handleIndex];\n handleThumb.setStyle('fill', visualInRange.handlesColor[handleIndex]);\n handleThumb.position[1] = handleEnds[handleIndex]; // Update handle label position.\n\n var textPoint = graphic.applyTransform(shapes.handleLabelPoints[handleIndex], graphic.getTransform(handleThumb, this.group));\n handleLabels[handleIndex].setStyle({\n x: textPoint[0],\n y: textPoint[1],\n text: visualMapModel.formatValueText(this._dataInterval[handleIndex]),\n textVerticalAlign: 'middle',\n textAlign: this._applyTransform(this._orient === 'horizontal' ? handleIndex === 0 ? 'bottom' : 'top' : 'left', shapes.barGroup)\n });\n }, this);\n },\n\n /**\n * @private\n * @param {number} cursorValue\n * @param {number} textValue\n * @param {string} [rangeSymbol]\n * @param {number} [halfHoverLinkSize]\n */\n _showIndicator: function (cursorValue, textValue, rangeSymbol, halfHoverLinkSize) {\n var visualMapModel = this.visualMapModel;\n var dataExtent = visualMapModel.getExtent();\n var itemSize = visualMapModel.itemSize;\n var sizeExtent = [0, itemSize[1]];\n var pos = linearMap(cursorValue, dataExtent, sizeExtent, true);\n var shapes = this._shapes;\n var indicator = shapes.indicator;\n\n if (!indicator) {\n return;\n }\n\n indicator.position[1] = pos;\n indicator.attr('invisible', false);\n indicator.setShape('points', createIndicatorPoints(!!rangeSymbol, halfHoverLinkSize, pos, itemSize[1]));\n var opts = {\n convertOpacityToAlpha: true\n };\n var color = this.getControllerVisual(cursorValue, 'color', opts);\n indicator.setStyle('fill', color); // Update handle label position.\n\n var textPoint = graphic.applyTransform(shapes.indicatorLabelPoint, graphic.getTransform(indicator, this.group));\n var indicatorLabel = shapes.indicatorLabel;\n indicatorLabel.attr('invisible', false);\n\n var align = this._applyTransform('left', shapes.barGroup);\n\n var orient = this._orient;\n indicatorLabel.setStyle({\n text: (rangeSymbol ? rangeSymbol : '') + visualMapModel.formatValueText(textValue),\n textVerticalAlign: orient === 'horizontal' ? align : 'middle',\n textAlign: orient === 'horizontal' ? 'center' : align,\n x: textPoint[0],\n y: textPoint[1]\n });\n },\n\n /**\n * @private\n */\n _enableHoverLinkToSeries: function () {\n var self = this;\n\n this._shapes.barGroup.on('mousemove', function (e) {\n self._hovering = true;\n\n if (!self._dragging) {\n var itemSize = self.visualMapModel.itemSize;\n\n var pos = self._applyTransform([e.offsetX, e.offsetY], self._shapes.barGroup, true, true); // For hover link show when hover handle, which might be\n // below or upper than sizeExtent.\n\n\n pos[1] = mathMin(mathMax(0, pos[1]), itemSize[1]);\n\n self._doHoverLinkToSeries(pos[1], 0 <= pos[0] && pos[0] <= itemSize[0]);\n }\n }).on('mouseout', function () {\n // When mouse is out of handle, hoverLink still need\n // to be displayed when realtime is set as false.\n self._hovering = false;\n !self._dragging && self._clearHoverLinkToSeries();\n });\n },\n\n /**\n * @private\n */\n _enableHoverLinkFromSeries: function () {\n var zr = this.api.getZr();\n\n if (this.visualMapModel.option.hoverLink) {\n zr.on('mouseover', this._hoverLinkFromSeriesMouseOver, this);\n zr.on('mouseout', this._hideIndicator, this);\n } else {\n this._clearHoverLinkFromSeries();\n }\n },\n\n /**\n * @private\n */\n _doHoverLinkToSeries: function (cursorPos, hoverOnBar) {\n var visualMapModel = this.visualMapModel;\n var itemSize = visualMapModel.itemSize;\n\n if (!visualMapModel.option.hoverLink) {\n return;\n }\n\n var sizeExtent = [0, itemSize[1]];\n var dataExtent = visualMapModel.getExtent(); // For hover link show when hover handle, which might be below or upper than sizeExtent.\n\n cursorPos = mathMin(mathMax(sizeExtent[0], cursorPos), sizeExtent[1]);\n var halfHoverLinkSize = getHalfHoverLinkSize(visualMapModel, dataExtent, sizeExtent);\n var hoverRange = [cursorPos - halfHoverLinkSize, cursorPos + halfHoverLinkSize];\n var cursorValue = linearMap(cursorPos, sizeExtent, dataExtent, true);\n var valueRange = [linearMap(hoverRange[0], sizeExtent, dataExtent, true), linearMap(hoverRange[1], sizeExtent, dataExtent, true)]; // Consider data range is out of visualMap range, see test/visualMap-continuous.html,\n // where china and india has very large population.\n\n hoverRange[0] < sizeExtent[0] && (valueRange[0] = -Infinity);\n hoverRange[1] > sizeExtent[1] && (valueRange[1] = Infinity); // Do not show indicator when mouse is over handle,\n // otherwise labels overlap, especially when dragging.\n\n if (hoverOnBar) {\n if (valueRange[0] === -Infinity) {\n this._showIndicator(cursorValue, valueRange[1], '< ', halfHoverLinkSize);\n } else if (valueRange[1] === Infinity) {\n this._showIndicator(cursorValue, valueRange[0], '> ', halfHoverLinkSize);\n } else {\n this._showIndicator(cursorValue, cursorValue, '≈ ', halfHoverLinkSize);\n }\n } // When realtime is set as false, handles, which are in barGroup,\n // also trigger hoverLink, which help user to realize where they\n // focus on when dragging. (see test/heatmap-large.html)\n // When realtime is set as true, highlight will not show when hover\n // handle, because the label on handle, which displays a exact value\n // but not range, might mislead users.\n\n\n var oldBatch = this._hoverLinkDataIndices;\n var newBatch = [];\n\n if (hoverOnBar || useHoverLinkOnHandle(visualMapModel)) {\n newBatch = this._hoverLinkDataIndices = visualMapModel.findTargetDataIndices(valueRange);\n }\n\n var resultBatches = modelUtil.compressBatches(oldBatch, newBatch);\n\n this._dispatchHighDown('downplay', helper.makeHighDownBatch(resultBatches[0], visualMapModel));\n\n this._dispatchHighDown('highlight', helper.makeHighDownBatch(resultBatches[1], visualMapModel));\n },\n\n /**\n * @private\n */\n _hoverLinkFromSeriesMouseOver: function (e) {\n var el = e.target;\n var visualMapModel = this.visualMapModel;\n\n if (!el || el.dataIndex == null) {\n return;\n }\n\n var dataModel = this.ecModel.getSeriesByIndex(el.seriesIndex);\n\n if (!visualMapModel.isTargetSeries(dataModel)) {\n return;\n }\n\n var data = dataModel.getData(el.dataType);\n var value = data.get(visualMapModel.getDataDimension(data), el.dataIndex, true);\n\n if (!isNaN(value)) {\n this._showIndicator(value, value);\n }\n },\n\n /**\n * @private\n */\n _hideIndicator: function () {\n var shapes = this._shapes;\n shapes.indicator && shapes.indicator.attr('invisible', true);\n shapes.indicatorLabel && shapes.indicatorLabel.attr('invisible', true);\n },\n\n /**\n * @private\n */\n _clearHoverLinkToSeries: function () {\n this._hideIndicator();\n\n var indices = this._hoverLinkDataIndices;\n\n this._dispatchHighDown('downplay', helper.makeHighDownBatch(indices, this.visualMapModel));\n\n indices.length = 0;\n },\n\n /**\n * @private\n */\n _clearHoverLinkFromSeries: function () {\n this._hideIndicator();\n\n var zr = this.api.getZr();\n zr.off('mouseover', this._hoverLinkFromSeriesMouseOver);\n zr.off('mouseout', this._hideIndicator);\n },\n\n /**\n * @private\n */\n _applyTransform: function (vertex, element, inverse, global) {\n var transform = graphic.getTransform(element, global ? null : this.group);\n return graphic[zrUtil.isArray(vertex) ? 'applyTransform' : 'transformDirection'](vertex, transform, inverse);\n },\n\n /**\n * @private\n */\n _dispatchHighDown: function (type, batch) {\n batch && batch.length && this.api.dispatchAction({\n type: type,\n batch: batch\n });\n },\n\n /**\n * @override\n */\n dispose: function () {\n this._clearHoverLinkFromSeries();\n\n this._clearHoverLinkToSeries();\n },\n\n /**\n * @override\n */\n remove: function () {\n this._clearHoverLinkFromSeries();\n\n this._clearHoverLinkToSeries();\n }\n});\n\nfunction createPolygon(points, cursor, onDrift, onDragEnd) {\n return new graphic.Polygon({\n shape: {\n points: points\n },\n draggable: !!onDrift,\n cursor: cursor,\n drift: onDrift,\n onmousemove: function (e) {\n // Fot mobile devicem, prevent screen slider on the button.\n eventTool.stop(e.event);\n },\n ondragend: onDragEnd\n });\n}\n\nfunction createHandlePoints(handleIndex, textSize) {\n return handleIndex === 0 ? [[0, 0], [textSize, 0], [textSize, -textSize]] : [[0, 0], [textSize, 0], [textSize, textSize]];\n}\n\nfunction createIndicatorPoints(isRange, halfHoverLinkSize, pos, extentMax) {\n return isRange ? [// indicate range\n [0, -mathMin(halfHoverLinkSize, mathMax(pos, 0))], [HOVER_LINK_OUT, 0], [0, mathMin(halfHoverLinkSize, mathMax(extentMax - pos, 0))]] : [// indicate single value\n [0, 0], [5, -5], [5, 5]];\n}\n\nfunction getHalfHoverLinkSize(visualMapModel, dataExtent, sizeExtent) {\n var halfHoverLinkSize = HOVER_LINK_SIZE / 2;\n var hoverLinkDataSize = visualMapModel.get('hoverLinkDataSize');\n\n if (hoverLinkDataSize) {\n halfHoverLinkSize = linearMap(hoverLinkDataSize, dataExtent, sizeExtent, true) / 2;\n }\n\n return halfHoverLinkSize;\n}\n\nfunction useHoverLinkOnHandle(visualMapModel) {\n var hoverLinkOnHandle = visualMapModel.get('hoverLinkOnHandle');\n return !!(hoverLinkOnHandle == null ? visualMapModel.get('realtime') : hoverLinkOnHandle);\n}\n\nfunction getCursor(orient) {\n return orient === 'vertical' ? 'ns-resize' : 'ew-resize';\n}\n\nvar _default = ContinuousView;\nmodule.exports = _default;","var helperCreateInInObjectString = require('./helperCreateInInObjectString')\r\n\r\n/**\r\n * 判断是否Arguments对象\r\n *\r\n * @param {Object} obj 对象\r\n * @return {Boolean}\r\n */\r\nvar isArguments = helperCreateInInObjectString('Arguments')\r\n\r\nmodule.exports = isArguments\r\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\nvar _config = require(\"./config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar zrender = require(\"zrender/lib/zrender\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar colorTool = require(\"zrender/lib/tool/color\");\n\nvar env = require(\"zrender/lib/core/env\");\n\nvar timsort = require(\"zrender/lib/core/timsort\");\n\nvar Eventful = require(\"zrender/lib/mixin/Eventful\");\n\nvar GlobalModel = require(\"./model/Global\");\n\nvar ExtensionAPI = require(\"./ExtensionAPI\");\n\nvar CoordinateSystemManager = require(\"./CoordinateSystem\");\n\nvar OptionManager = require(\"./model/OptionManager\");\n\nvar backwardCompat = require(\"./preprocessor/backwardCompat\");\n\nvar dataStack = require(\"./processor/dataStack\");\n\nvar ComponentModel = require(\"./model/Component\");\n\nvar SeriesModel = require(\"./model/Series\");\n\nvar ComponentView = require(\"./view/Component\");\n\nvar ChartView = require(\"./view/Chart\");\n\nvar graphic = require(\"./util/graphic\");\n\nvar modelUtil = require(\"./util/model\");\n\nvar _throttle = require(\"./util/throttle\");\n\nvar throttle = _throttle.throttle;\n\nvar seriesColor = require(\"./visual/seriesColor\");\n\nvar aria = require(\"./visual/aria\");\n\nvar loadingDefault = require(\"./loading/default\");\n\nvar Scheduler = require(\"./stream/Scheduler\");\n\nvar lightTheme = require(\"./theme/light\");\n\nvar darkTheme = require(\"./theme/dark\");\n\nrequire(\"./component/dataset\");\n\nvar mapDataStorage = require(\"./coord/geo/mapDataStorage\");\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*/\nvar assert = zrUtil.assert;\nvar each = zrUtil.each;\nvar isFunction = zrUtil.isFunction;\nvar isObject = zrUtil.isObject;\nvar parseClassType = ComponentModel.parseClassType;\nvar version = '4.9.0';\nvar dependencies = {\n zrender: '4.3.2'\n};\nvar TEST_FRAME_REMAIN_TIME = 1;\nvar PRIORITY_PROCESSOR_FILTER = 1000;\nvar PRIORITY_PROCESSOR_SERIES_FILTER = 800;\nvar PRIORITY_PROCESSOR_DATASTACK = 900;\nvar PRIORITY_PROCESSOR_STATISTIC = 5000;\nvar PRIORITY_VISUAL_LAYOUT = 1000;\nvar PRIORITY_VISUAL_PROGRESSIVE_LAYOUT = 1100;\nvar PRIORITY_VISUAL_GLOBAL = 2000;\nvar PRIORITY_VISUAL_CHART = 3000;\nvar PRIORITY_VISUAL_POST_CHART_LAYOUT = 3500;\nvar PRIORITY_VISUAL_COMPONENT = 4000; // FIXME\n// necessary?\n\nvar PRIORITY_VISUAL_BRUSH = 5000;\nvar PRIORITY = {\n PROCESSOR: {\n FILTER: PRIORITY_PROCESSOR_FILTER,\n SERIES_FILTER: PRIORITY_PROCESSOR_SERIES_FILTER,\n STATISTIC: PRIORITY_PROCESSOR_STATISTIC\n },\n VISUAL: {\n LAYOUT: PRIORITY_VISUAL_LAYOUT,\n PROGRESSIVE_LAYOUT: PRIORITY_VISUAL_PROGRESSIVE_LAYOUT,\n GLOBAL: PRIORITY_VISUAL_GLOBAL,\n CHART: PRIORITY_VISUAL_CHART,\n POST_CHART_LAYOUT: PRIORITY_VISUAL_POST_CHART_LAYOUT,\n COMPONENT: PRIORITY_VISUAL_COMPONENT,\n BRUSH: PRIORITY_VISUAL_BRUSH\n }\n}; // Main process have three entries: `setOption`, `dispatchAction` and `resize`,\n// where they must not be invoked nestedly, except the only case: invoke\n// dispatchAction with updateMethod \"none\" in main process.\n// This flag is used to carry out this rule.\n// All events will be triggered out side main process (i.e. when !this[IN_MAIN_PROCESS]).\n\nvar IN_MAIN_PROCESS = '__flagInMainProcess';\nvar OPTION_UPDATED = '__optionUpdated';\nvar ACTION_REG = /^[a-zA-Z0-9_]+$/;\n\nfunction createRegisterEventWithLowercaseName(method, ignoreDisposed) {\n return function (eventName, handler, context) {\n if (!ignoreDisposed && this._disposed) {\n disposedWarning(this.id);\n return;\n } // Event name is all lowercase\n\n\n eventName = eventName && eventName.toLowerCase();\n Eventful.prototype[method].call(this, eventName, handler, context);\n };\n}\n/**\n * @module echarts~MessageCenter\n */\n\n\nfunction MessageCenter() {\n Eventful.call(this);\n}\n\nMessageCenter.prototype.on = createRegisterEventWithLowercaseName('on', true);\nMessageCenter.prototype.off = createRegisterEventWithLowercaseName('off', true);\nMessageCenter.prototype.one = createRegisterEventWithLowercaseName('one', true);\nzrUtil.mixin(MessageCenter, Eventful);\n/**\n * @module echarts~ECharts\n */\n\nfunction ECharts(dom, theme, opts) {\n opts = opts || {}; // Get theme by name\n\n if (typeof theme === 'string') {\n theme = themeStorage[theme];\n }\n /**\n * @type {string}\n */\n\n\n this.id;\n /**\n * Group id\n * @type {string}\n */\n\n this.group;\n /**\n * @type {HTMLElement}\n * @private\n */\n\n this._dom = dom;\n var defaultRenderer = 'canvas';\n\n /**\n * @type {module:zrender/ZRender}\n * @private\n */\n var zr = this._zr = zrender.init(dom, {\n renderer: opts.renderer || defaultRenderer,\n devicePixelRatio: opts.devicePixelRatio,\n width: opts.width,\n height: opts.height\n });\n /**\n * Expect 60 fps.\n * @type {Function}\n * @private\n */\n\n this._throttledZrFlush = throttle(zrUtil.bind(zr.flush, zr), 17);\n var theme = zrUtil.clone(theme);\n theme && backwardCompat(theme, true);\n /**\n * @type {Object}\n * @private\n */\n\n this._theme = theme;\n /**\n * @type {Array.}\n * @private\n */\n\n this._chartsViews = [];\n /**\n * @type {Object.}\n * @private\n */\n\n this._chartsMap = {};\n /**\n * @type {Array.}\n * @private\n */\n\n this._componentsViews = [];\n /**\n * @type {Object.}\n * @private\n */\n\n this._componentsMap = {};\n /**\n * @type {module:echarts/CoordinateSystem}\n * @private\n */\n\n this._coordSysMgr = new CoordinateSystemManager();\n /**\n * @type {module:echarts/ExtensionAPI}\n * @private\n */\n\n var api = this._api = createExtensionAPI(this); // Sort on demand\n\n function prioritySortFunc(a, b) {\n return a.__prio - b.__prio;\n }\n\n timsort(visualFuncs, prioritySortFunc);\n timsort(dataProcessorFuncs, prioritySortFunc);\n /**\n * @type {module:echarts/stream/Scheduler}\n */\n\n this._scheduler = new Scheduler(this, api, dataProcessorFuncs, visualFuncs);\n Eventful.call(this, this._ecEventProcessor = new EventProcessor());\n /**\n * @type {module:echarts~MessageCenter}\n * @private\n */\n\n this._messageCenter = new MessageCenter(); // Init mouse events\n\n this._initEvents(); // In case some people write `window.onresize = chart.resize`\n\n\n this.resize = zrUtil.bind(this.resize, this); // Can't dispatch action during rendering procedure\n\n this._pendingActions = [];\n zr.animation.on('frame', this._onframe, this);\n bindRenderedEvent(zr, this); // ECharts instance can be used as value.\n\n zrUtil.setAsPrimitive(this);\n}\n\nvar echartsProto = ECharts.prototype;\n\nechartsProto._onframe = function () {\n if (this._disposed) {\n return;\n }\n\n var scheduler = this._scheduler; // Lazy update\n\n if (this[OPTION_UPDATED]) {\n var silent = this[OPTION_UPDATED].silent;\n this[IN_MAIN_PROCESS] = true;\n prepare(this);\n updateMethods.update.call(this);\n this[IN_MAIN_PROCESS] = false;\n this[OPTION_UPDATED] = false;\n flushPendingActions.call(this, silent);\n triggerUpdatedEvent.call(this, silent);\n } // Avoid do both lazy update and progress in one frame.\n else if (scheduler.unfinished) {\n // Stream progress.\n var remainTime = TEST_FRAME_REMAIN_TIME;\n var ecModel = this._model;\n var api = this._api;\n scheduler.unfinished = false;\n\n do {\n var startTime = +new Date();\n scheduler.performSeriesTasks(ecModel); // Currently dataProcessorFuncs do not check threshold.\n\n scheduler.performDataProcessorTasks(ecModel);\n updateStreamModes(this, ecModel); // Do not update coordinate system here. Because that coord system update in\n // each frame is not a good user experience. So we follow the rule that\n // the extent of the coordinate system is determin in the first frame (the\n // frame is executed immedietely after task reset.\n // this._coordSysMgr.update(ecModel, api);\n // console.log('--- ec frame visual ---', remainTime);\n\n scheduler.performVisualTasks(ecModel);\n renderSeries(this, this._model, api, 'remain');\n remainTime -= +new Date() - startTime;\n } while (remainTime > 0 && scheduler.unfinished); // Call flush explicitly for trigger finished event.\n\n\n if (!scheduler.unfinished) {\n this._zr.flush();\n } // Else, zr flushing be ensue within the same frame,\n // because zr flushing is after onframe event.\n\n }\n};\n/**\n * @return {HTMLElement}\n */\n\n\nechartsProto.getDom = function () {\n return this._dom;\n};\n/**\n * @return {module:zrender~ZRender}\n */\n\n\nechartsProto.getZr = function () {\n return this._zr;\n};\n/**\n * Usage:\n * chart.setOption(option, notMerge, lazyUpdate);\n * chart.setOption(option, {\n * notMerge: ...,\n * lazyUpdate: ...,\n * silent: ...\n * });\n *\n * @param {Object} option\n * @param {Object|boolean} [opts] opts or notMerge.\n * @param {boolean} [opts.notMerge=false]\n * @param {boolean} [opts.lazyUpdate=false] Useful when setOption frequently.\n */\n\n\nechartsProto.setOption = function (option, notMerge, lazyUpdate) {\n if (this._disposed) {\n disposedWarning(this.id);\n return;\n }\n\n var silent;\n\n if (isObject(notMerge)) {\n lazyUpdate = notMerge.lazyUpdate;\n silent = notMerge.silent;\n notMerge = notMerge.notMerge;\n }\n\n this[IN_MAIN_PROCESS] = true;\n\n if (!this._model || notMerge) {\n var optionManager = new OptionManager(this._api);\n var theme = this._theme;\n var ecModel = this._model = new GlobalModel();\n ecModel.scheduler = this._scheduler;\n ecModel.init(null, null, theme, optionManager);\n }\n\n this._model.setOption(option, optionPreprocessorFuncs);\n\n if (lazyUpdate) {\n this[OPTION_UPDATED] = {\n silent: silent\n };\n this[IN_MAIN_PROCESS] = false;\n } else {\n prepare(this);\n updateMethods.update.call(this); // Ensure zr refresh sychronously, and then pixel in canvas can be\n // fetched after `setOption`.\n\n this._zr.flush();\n\n this[OPTION_UPDATED] = false;\n this[IN_MAIN_PROCESS] = false;\n flushPendingActions.call(this, silent);\n triggerUpdatedEvent.call(this, silent);\n }\n};\n/**\n * @DEPRECATED\n */\n\n\nechartsProto.setTheme = function () {\n console.error('ECharts#setTheme() is DEPRECATED in ECharts 3.0');\n};\n/**\n * @return {module:echarts/model/Global}\n */\n\n\nechartsProto.getModel = function () {\n return this._model;\n};\n/**\n * @return {Object}\n */\n\n\nechartsProto.getOption = function () {\n return this._model && this._model.getOption();\n};\n/**\n * @return {number}\n */\n\n\nechartsProto.getWidth = function () {\n return this._zr.getWidth();\n};\n/**\n * @return {number}\n */\n\n\nechartsProto.getHeight = function () {\n return this._zr.getHeight();\n};\n/**\n * @return {number}\n */\n\n\nechartsProto.getDevicePixelRatio = function () {\n return this._zr.painter.dpr || window.devicePixelRatio || 1;\n};\n/**\n * Get canvas which has all thing rendered\n * @param {Object} opts\n * @param {string} [opts.backgroundColor]\n * @return {string}\n */\n\n\nechartsProto.getRenderedCanvas = function (opts) {\n if (!env.canvasSupported) {\n return;\n }\n\n opts = opts || {};\n opts.pixelRatio = opts.pixelRatio || 1;\n opts.backgroundColor = opts.backgroundColor || this._model.get('backgroundColor');\n var zr = this._zr; // var list = zr.storage.getDisplayList();\n // Stop animations\n // Never works before in init animation, so remove it.\n // zrUtil.each(list, function (el) {\n // el.stopAnimation(true);\n // });\n\n return zr.painter.getRenderedCanvas(opts);\n};\n/**\n * Get svg data url\n * @return {string}\n */\n\n\nechartsProto.getSvgDataURL = function () {\n if (!env.svgSupported) {\n return;\n }\n\n var zr = this._zr;\n var list = zr.storage.getDisplayList(); // Stop animations\n\n zrUtil.each(list, function (el) {\n el.stopAnimation(true);\n });\n return zr.painter.toDataURL();\n};\n/**\n * @return {string}\n * @param {Object} opts\n * @param {string} [opts.type='png']\n * @param {string} [opts.pixelRatio=1]\n * @param {string} [opts.backgroundColor]\n * @param {string} [opts.excludeComponents]\n */\n\n\nechartsProto.getDataURL = function (opts) {\n if (this._disposed) {\n disposedWarning(this.id);\n return;\n }\n\n opts = opts || {};\n var excludeComponents = opts.excludeComponents;\n var ecModel = this._model;\n var excludesComponentViews = [];\n var self = this;\n each(excludeComponents, function (componentType) {\n ecModel.eachComponent({\n mainType: componentType\n }, function (component) {\n var view = self._componentsMap[component.__viewId];\n\n if (!view.group.ignore) {\n excludesComponentViews.push(view);\n view.group.ignore = true;\n }\n });\n });\n var url = this._zr.painter.getType() === 'svg' ? this.getSvgDataURL() : this.getRenderedCanvas(opts).toDataURL('image/' + (opts && opts.type || 'png'));\n each(excludesComponentViews, function (view) {\n view.group.ignore = false;\n });\n return url;\n};\n/**\n * @return {string}\n * @param {Object} opts\n * @param {string} [opts.type='png']\n * @param {string} [opts.pixelRatio=1]\n * @param {string} [opts.backgroundColor]\n */\n\n\nechartsProto.getConnectedDataURL = function (opts) {\n if (this._disposed) {\n disposedWarning(this.id);\n return;\n }\n\n if (!env.canvasSupported) {\n return;\n }\n\n var isSvg = opts.type === 'svg';\n var groupId = this.group;\n var mathMin = Math.min;\n var mathMax = Math.max;\n var MAX_NUMBER = Infinity;\n\n if (connectedGroups[groupId]) {\n var left = MAX_NUMBER;\n var top = MAX_NUMBER;\n var right = -MAX_NUMBER;\n var bottom = -MAX_NUMBER;\n var canvasList = [];\n var dpr = opts && opts.pixelRatio || 1;\n zrUtil.each(instances, function (chart, id) {\n if (chart.group === groupId) {\n var canvas = isSvg ? chart.getZr().painter.getSvgDom().innerHTML : chart.getRenderedCanvas(zrUtil.clone(opts));\n var boundingRect = chart.getDom().getBoundingClientRect();\n left = mathMin(boundingRect.left, left);\n top = mathMin(boundingRect.top, top);\n right = mathMax(boundingRect.right, right);\n bottom = mathMax(boundingRect.bottom, bottom);\n canvasList.push({\n dom: canvas,\n left: boundingRect.left,\n top: boundingRect.top\n });\n }\n });\n left *= dpr;\n top *= dpr;\n right *= dpr;\n bottom *= dpr;\n var width = right - left;\n var height = bottom - top;\n var targetCanvas = zrUtil.createCanvas();\n var zr = zrender.init(targetCanvas, {\n renderer: isSvg ? 'svg' : 'canvas'\n });\n zr.resize({\n width: width,\n height: height\n });\n\n if (isSvg) {\n var content = '';\n each(canvasList, function (item) {\n var x = item.left - left;\n var y = item.top - top;\n content += '' + item.dom + '';\n });\n zr.painter.getSvgRoot().innerHTML = content;\n\n if (opts.connectedBackgroundColor) {\n zr.painter.setBackgroundColor(opts.connectedBackgroundColor);\n }\n\n zr.refreshImmediately();\n return zr.painter.toDataURL();\n } else {\n // Background between the charts\n if (opts.connectedBackgroundColor) {\n zr.add(new graphic.Rect({\n shape: {\n x: 0,\n y: 0,\n width: width,\n height: height\n },\n style: {\n fill: opts.connectedBackgroundColor\n }\n }));\n }\n\n each(canvasList, function (item) {\n var img = new graphic.Image({\n style: {\n x: item.left * dpr - left,\n y: item.top * dpr - top,\n image: item.dom\n }\n });\n zr.add(img);\n });\n zr.refreshImmediately();\n return targetCanvas.toDataURL('image/' + (opts && opts.type || 'png'));\n }\n } else {\n return this.getDataURL(opts);\n }\n};\n/**\n * Convert from logical coordinate system to pixel coordinate system.\n * See CoordinateSystem#convertToPixel.\n * @param {string|Object} finder\n * If string, e.g., 'geo', means {geoIndex: 0}.\n * If Object, could contain some of these properties below:\n * {\n * seriesIndex / seriesId / seriesName,\n * geoIndex / geoId, geoName,\n * bmapIndex / bmapId / bmapName,\n * xAxisIndex / xAxisId / xAxisName,\n * yAxisIndex / yAxisId / yAxisName,\n * gridIndex / gridId / gridName,\n * ... (can be extended)\n * }\n * @param {Array|number} value\n * @return {Array|number} result\n */\n\n\nechartsProto.convertToPixel = zrUtil.curry(doConvertPixel, 'convertToPixel');\n/**\n * Convert from pixel coordinate system to logical coordinate system.\n * See CoordinateSystem#convertFromPixel.\n * @param {string|Object} finder\n * If string, e.g., 'geo', means {geoIndex: 0}.\n * If Object, could contain some of these properties below:\n * {\n * seriesIndex / seriesId / seriesName,\n * geoIndex / geoId / geoName,\n * bmapIndex / bmapId / bmapName,\n * xAxisIndex / xAxisId / xAxisName,\n * yAxisIndex / yAxisId / yAxisName\n * gridIndex / gridId / gridName,\n * ... (can be extended)\n * }\n * @param {Array|number} value\n * @return {Array|number} result\n */\n\nechartsProto.convertFromPixel = zrUtil.curry(doConvertPixel, 'convertFromPixel');\n\nfunction doConvertPixel(methodName, finder, value) {\n if (this._disposed) {\n disposedWarning(this.id);\n return;\n }\n\n var ecModel = this._model;\n\n var coordSysList = this._coordSysMgr.getCoordinateSystems();\n\n var result;\n finder = modelUtil.parseFinder(ecModel, finder);\n\n for (var i = 0; i < coordSysList.length; i++) {\n var coordSys = coordSysList[i];\n\n if (coordSys[methodName] && (result = coordSys[methodName](ecModel, finder, value)) != null) {\n return result;\n }\n }\n}\n/**\n * Is the specified coordinate systems or components contain the given pixel point.\n * @param {string|Object} finder\n * If string, e.g., 'geo', means {geoIndex: 0}.\n * If Object, could contain some of these properties below:\n * {\n * seriesIndex / seriesId / seriesName,\n * geoIndex / geoId / geoName,\n * bmapIndex / bmapId / bmapName,\n * xAxisIndex / xAxisId / xAxisName,\n * yAxisIndex / yAxisId / yAxisName,\n * gridIndex / gridId / gridName,\n * ... (can be extended)\n * }\n * @param {Array|number} value\n * @return {boolean} result\n */\n\n\nechartsProto.containPixel = function (finder, value) {\n if (this._disposed) {\n disposedWarning(this.id);\n return;\n }\n\n var ecModel = this._model;\n var result;\n finder = modelUtil.parseFinder(ecModel, finder);\n zrUtil.each(finder, function (models, key) {\n key.indexOf('Models') >= 0 && zrUtil.each(models, function (model) {\n var coordSys = model.coordinateSystem;\n\n if (coordSys && coordSys.containPoint) {\n result |= !!coordSys.containPoint(value);\n } else if (key === 'seriesModels') {\n var view = this._chartsMap[model.__viewId];\n\n if (view && view.containPoint) {\n result |= view.containPoint(value, model);\n } else {}\n } else {}\n }, this);\n }, this);\n return !!result;\n};\n/**\n * Get visual from series or data.\n * @param {string|Object} finder\n * If string, e.g., 'series', means {seriesIndex: 0}.\n * If Object, could contain some of these properties below:\n * {\n * seriesIndex / seriesId / seriesName,\n * dataIndex / dataIndexInside\n * }\n * If dataIndex is not specified, series visual will be fetched,\n * but not data item visual.\n * If all of seriesIndex, seriesId, seriesName are not specified,\n * visual will be fetched from first series.\n * @param {string} visualType 'color', 'symbol', 'symbolSize'\n */\n\n\nechartsProto.getVisual = function (finder, visualType) {\n var ecModel = this._model;\n finder = modelUtil.parseFinder(ecModel, finder, {\n defaultMainType: 'series'\n });\n var seriesModel = finder.seriesModel;\n var data = seriesModel.getData();\n var dataIndexInside = finder.hasOwnProperty('dataIndexInside') ? finder.dataIndexInside : finder.hasOwnProperty('dataIndex') ? data.indexOfRawIndex(finder.dataIndex) : null;\n return dataIndexInside != null ? data.getItemVisual(dataIndexInside, visualType) : data.getVisual(visualType);\n};\n/**\n * Get view of corresponding component model\n * @param {module:echarts/model/Component} componentModel\n * @return {module:echarts/view/Component}\n */\n\n\nechartsProto.getViewOfComponentModel = function (componentModel) {\n return this._componentsMap[componentModel.__viewId];\n};\n/**\n * Get view of corresponding series model\n * @param {module:echarts/model/Series} seriesModel\n * @return {module:echarts/view/Chart}\n */\n\n\nechartsProto.getViewOfSeriesModel = function (seriesModel) {\n return this._chartsMap[seriesModel.__viewId];\n};\n\nvar updateMethods = {\n prepareAndUpdate: function (payload) {\n prepare(this);\n updateMethods.update.call(this, payload);\n },\n\n /**\n * @param {Object} payload\n * @private\n */\n update: function (payload) {\n // console.profile && console.profile('update');\n var ecModel = this._model;\n var api = this._api;\n var zr = this._zr;\n var coordSysMgr = this._coordSysMgr;\n var scheduler = this._scheduler; // update before setOption\n\n if (!ecModel) {\n return;\n }\n\n scheduler.restoreData(ecModel, payload);\n scheduler.performSeriesTasks(ecModel); // TODO\n // Save total ecModel here for undo/redo (after restoring data and before processing data).\n // Undo (restoration of total ecModel) can be carried out in 'action' or outside API call.\n // Create new coordinate system each update\n // In LineView may save the old coordinate system and use it to get the orignal point\n\n coordSysMgr.create(ecModel, api);\n scheduler.performDataProcessorTasks(ecModel, payload); // Current stream render is not supported in data process. So we can update\n // stream modes after data processing, where the filtered data is used to\n // deteming whether use progressive rendering.\n\n updateStreamModes(this, ecModel); // We update stream modes before coordinate system updated, then the modes info\n // can be fetched when coord sys updating (consider the barGrid extent fix). But\n // the drawback is the full coord info can not be fetched. Fortunately this full\n // coord is not requied in stream mode updater currently.\n\n coordSysMgr.update(ecModel, api);\n clearColorPalette(ecModel);\n scheduler.performVisualTasks(ecModel, payload);\n render(this, ecModel, api, payload); // Set background\n\n var backgroundColor = ecModel.get('backgroundColor') || 'transparent'; // In IE8\n\n if (!env.canvasSupported) {\n var colorArr = colorTool.parse(backgroundColor);\n backgroundColor = colorTool.stringify(colorArr, 'rgb');\n\n if (colorArr[3] === 0) {\n backgroundColor = 'transparent';\n }\n } else {\n zr.setBackgroundColor(backgroundColor);\n }\n\n performPostUpdateFuncs(ecModel, api); // console.profile && console.profileEnd('update');\n },\n\n /**\n * @param {Object} payload\n * @private\n */\n updateTransform: function (payload) {\n var ecModel = this._model;\n var ecIns = this;\n var api = this._api; // update before setOption\n\n if (!ecModel) {\n return;\n } // ChartView.markUpdateMethod(payload, 'updateTransform');\n\n\n var componentDirtyList = [];\n ecModel.eachComponent(function (componentType, componentModel) {\n var componentView = ecIns.getViewOfComponentModel(componentModel);\n\n if (componentView && componentView.__alive) {\n if (componentView.updateTransform) {\n var result = componentView.updateTransform(componentModel, ecModel, api, payload);\n result && result.update && componentDirtyList.push(componentView);\n } else {\n componentDirtyList.push(componentView);\n }\n }\n });\n var seriesDirtyMap = zrUtil.createHashMap();\n ecModel.eachSeries(function (seriesModel) {\n var chartView = ecIns._chartsMap[seriesModel.__viewId];\n\n if (chartView.updateTransform) {\n var result = chartView.updateTransform(seriesModel, ecModel, api, payload);\n result && result.update && seriesDirtyMap.set(seriesModel.uid, 1);\n } else {\n seriesDirtyMap.set(seriesModel.uid, 1);\n }\n });\n clearColorPalette(ecModel); // Keep pipe to the exist pipeline because it depends on the render task of the full pipeline.\n // this._scheduler.performVisualTasks(ecModel, payload, 'layout', true);\n\n this._scheduler.performVisualTasks(ecModel, payload, {\n setDirty: true,\n dirtyMap: seriesDirtyMap\n }); // Currently, not call render of components. Geo render cost a lot.\n // renderComponents(ecIns, ecModel, api, payload, componentDirtyList);\n\n\n renderSeries(ecIns, ecModel, api, payload, seriesDirtyMap);\n performPostUpdateFuncs(ecModel, this._api);\n },\n\n /**\n * @param {Object} payload\n * @private\n */\n updateView: function (payload) {\n var ecModel = this._model; // update before setOption\n\n if (!ecModel) {\n return;\n }\n\n ChartView.markUpdateMethod(payload, 'updateView');\n clearColorPalette(ecModel); // Keep pipe to the exist pipeline because it depends on the render task of the full pipeline.\n\n this._scheduler.performVisualTasks(ecModel, payload, {\n setDirty: true\n });\n\n render(this, this._model, this._api, payload);\n performPostUpdateFuncs(ecModel, this._api);\n },\n\n /**\n * @param {Object} payload\n * @private\n */\n updateVisual: function (payload) {\n updateMethods.update.call(this, payload); // var ecModel = this._model;\n // // update before setOption\n // if (!ecModel) {\n // return;\n // }\n // ChartView.markUpdateMethod(payload, 'updateVisual');\n // clearColorPalette(ecModel);\n // // Keep pipe to the exist pipeline because it depends on the render task of the full pipeline.\n // this._scheduler.performVisualTasks(ecModel, payload, {visualType: 'visual', setDirty: true});\n // render(this, this._model, this._api, payload);\n // performPostUpdateFuncs(ecModel, this._api);\n },\n\n /**\n * @param {Object} payload\n * @private\n */\n updateLayout: function (payload) {\n updateMethods.update.call(this, payload); // var ecModel = this._model;\n // // update before setOption\n // if (!ecModel) {\n // return;\n // }\n // ChartView.markUpdateMethod(payload, 'updateLayout');\n // // Keep pipe to the exist pipeline because it depends on the render task of the full pipeline.\n // // this._scheduler.performVisualTasks(ecModel, payload, 'layout', true);\n // this._scheduler.performVisualTasks(ecModel, payload, {setDirty: true});\n // render(this, this._model, this._api, payload);\n // performPostUpdateFuncs(ecModel, this._api);\n }\n};\n\nfunction prepare(ecIns) {\n var ecModel = ecIns._model;\n var scheduler = ecIns._scheduler;\n scheduler.restorePipelines(ecModel);\n scheduler.prepareStageTasks();\n prepareView(ecIns, 'component', ecModel, scheduler);\n prepareView(ecIns, 'chart', ecModel, scheduler);\n scheduler.plan();\n}\n/**\n * @private\n */\n\n\nfunction updateDirectly(ecIns, method, payload, mainType, subType) {\n var ecModel = ecIns._model; // broadcast\n\n if (!mainType) {\n // FIXME\n // Chart will not be update directly here, except set dirty.\n // But there is no such scenario now.\n each(ecIns._componentsViews.concat(ecIns._chartsViews), callView);\n return;\n }\n\n var query = {};\n query[mainType + 'Id'] = payload[mainType + 'Id'];\n query[mainType + 'Index'] = payload[mainType + 'Index'];\n query[mainType + 'Name'] = payload[mainType + 'Name'];\n var condition = {\n mainType: mainType,\n query: query\n };\n subType && (condition.subType = subType); // subType may be '' by parseClassType;\n\n var excludeSeriesId = payload.excludeSeriesId;\n\n if (excludeSeriesId != null) {\n excludeSeriesId = zrUtil.createHashMap(modelUtil.normalizeToArray(excludeSeriesId));\n } // If dispatchAction before setOption, do nothing.\n\n\n ecModel && ecModel.eachComponent(condition, function (model) {\n if (!excludeSeriesId || excludeSeriesId.get(model.id) == null) {\n callView(ecIns[mainType === 'series' ? '_chartsMap' : '_componentsMap'][model.__viewId]);\n }\n }, ecIns);\n\n function callView(view) {\n view && view.__alive && view[method] && view[method](view.__model, ecModel, ecIns._api, payload);\n }\n}\n/**\n * Resize the chart\n * @param {Object} opts\n * @param {number} [opts.width] Can be 'auto' (the same as null/undefined)\n * @param {number} [opts.height] Can be 'auto' (the same as null/undefined)\n * @param {boolean} [opts.silent=false]\n */\n\n\nechartsProto.resize = function (opts) {\n if (this._disposed) {\n disposedWarning(this.id);\n return;\n }\n\n this._zr.resize(opts);\n\n var ecModel = this._model; // Resize loading effect\n\n this._loadingFX && this._loadingFX.resize();\n\n if (!ecModel) {\n return;\n }\n\n var optionChanged = ecModel.resetOption('media');\n var silent = opts && opts.silent;\n this[IN_MAIN_PROCESS] = true;\n optionChanged && prepare(this);\n updateMethods.update.call(this);\n this[IN_MAIN_PROCESS] = false;\n flushPendingActions.call(this, silent);\n triggerUpdatedEvent.call(this, silent);\n};\n\nfunction updateStreamModes(ecIns, ecModel) {\n var chartsMap = ecIns._chartsMap;\n var scheduler = ecIns._scheduler;\n ecModel.eachSeries(function (seriesModel) {\n scheduler.updateStreamModes(seriesModel, chartsMap[seriesModel.__viewId]);\n });\n}\n/**\n * Show loading effect\n * @param {string} [name='default']\n * @param {Object} [cfg]\n */\n\n\nechartsProto.showLoading = function (name, cfg) {\n if (this._disposed) {\n disposedWarning(this.id);\n return;\n }\n\n if (isObject(name)) {\n cfg = name;\n name = '';\n }\n\n name = name || 'default';\n this.hideLoading();\n\n if (!loadingEffects[name]) {\n return;\n }\n\n var el = loadingEffects[name](this._api, cfg);\n var zr = this._zr;\n this._loadingFX = el;\n zr.add(el);\n};\n/**\n * Hide loading effect\n */\n\n\nechartsProto.hideLoading = function () {\n if (this._disposed) {\n disposedWarning(this.id);\n return;\n }\n\n this._loadingFX && this._zr.remove(this._loadingFX);\n this._loadingFX = null;\n};\n/**\n * @param {Object} eventObj\n * @return {Object}\n */\n\n\nechartsProto.makeActionFromEvent = function (eventObj) {\n var payload = zrUtil.extend({}, eventObj);\n payload.type = eventActionMap[eventObj.type];\n return payload;\n};\n/**\n * @pubilc\n * @param {Object} payload\n * @param {string} [payload.type] Action type\n * @param {Object|boolean} [opt] If pass boolean, means opt.silent\n * @param {boolean} [opt.silent=false] Whether trigger events.\n * @param {boolean} [opt.flush=undefined]\n * true: Flush immediately, and then pixel in canvas can be fetched\n * immediately. Caution: it might affect performance.\n * false: Not flush.\n * undefined: Auto decide whether perform flush.\n */\n\n\nechartsProto.dispatchAction = function (payload, opt) {\n if (this._disposed) {\n disposedWarning(this.id);\n return;\n }\n\n if (!isObject(opt)) {\n opt = {\n silent: !!opt\n };\n }\n\n if (!actions[payload.type]) {\n return;\n } // Avoid dispatch action before setOption. Especially in `connect`.\n\n\n if (!this._model) {\n return;\n } // May dispatchAction in rendering procedure\n\n\n if (this[IN_MAIN_PROCESS]) {\n this._pendingActions.push(payload);\n\n return;\n }\n\n doDispatchAction.call(this, payload, opt.silent);\n\n if (opt.flush) {\n this._zr.flush(true);\n } else if (opt.flush !== false && env.browser.weChat) {\n // In WeChat embeded browser, `requestAnimationFrame` and `setInterval`\n // hang when sliding page (on touch event), which cause that zr does not\n // refresh util user interaction finished, which is not expected.\n // But `dispatchAction` may be called too frequently when pan on touch\n // screen, which impacts performance if do not throttle them.\n this._throttledZrFlush();\n }\n\n flushPendingActions.call(this, opt.silent);\n triggerUpdatedEvent.call(this, opt.silent);\n};\n\nfunction doDispatchAction(payload, silent) {\n var payloadType = payload.type;\n var escapeConnect = payload.escapeConnect;\n var actionWrap = actions[payloadType];\n var actionInfo = actionWrap.actionInfo;\n var cptType = (actionInfo.update || 'update').split(':');\n var updateMethod = cptType.pop();\n cptType = cptType[0] != null && parseClassType(cptType[0]);\n this[IN_MAIN_PROCESS] = true;\n var payloads = [payload];\n var batched = false; // Batch action\n\n if (payload.batch) {\n batched = true;\n payloads = zrUtil.map(payload.batch, function (item) {\n item = zrUtil.defaults(zrUtil.extend({}, item), payload);\n item.batch = null;\n return item;\n });\n }\n\n var eventObjBatch = [];\n var eventObj;\n var isHighDown = payloadType === 'highlight' || payloadType === 'downplay';\n each(payloads, function (batchItem) {\n // Action can specify the event by return it.\n eventObj = actionWrap.action(batchItem, this._model, this._api); // Emit event outside\n\n eventObj = eventObj || zrUtil.extend({}, batchItem); // Convert type to eventType\n\n eventObj.type = actionInfo.event || eventObj.type;\n eventObjBatch.push(eventObj); // light update does not perform data process, layout and visual.\n\n if (isHighDown) {\n // method, payload, mainType, subType\n updateDirectly(this, updateMethod, batchItem, 'series');\n } else if (cptType) {\n updateDirectly(this, updateMethod, batchItem, cptType.main, cptType.sub);\n }\n }, this);\n\n if (updateMethod !== 'none' && !isHighDown && !cptType) {\n // Still dirty\n if (this[OPTION_UPDATED]) {\n // FIXME Pass payload ?\n prepare(this);\n updateMethods.update.call(this, payload);\n this[OPTION_UPDATED] = false;\n } else {\n updateMethods[updateMethod].call(this, payload);\n }\n } // Follow the rule of action batch\n\n\n if (batched) {\n eventObj = {\n type: actionInfo.event || payloadType,\n escapeConnect: escapeConnect,\n batch: eventObjBatch\n };\n } else {\n eventObj = eventObjBatch[0];\n }\n\n this[IN_MAIN_PROCESS] = false;\n !silent && this._messageCenter.trigger(eventObj.type, eventObj);\n}\n\nfunction flushPendingActions(silent) {\n var pendingActions = this._pendingActions;\n\n while (pendingActions.length) {\n var payload = pendingActions.shift();\n doDispatchAction.call(this, payload, silent);\n }\n}\n\nfunction triggerUpdatedEvent(silent) {\n !silent && this.trigger('updated');\n}\n/**\n * Event `rendered` is triggered when zr\n * rendered. It is useful for realtime\n * snapshot (reflect animation).\n *\n * Event `finished` is triggered when:\n * (1) zrender rendering finished.\n * (2) initial animation finished.\n * (3) progressive rendering finished.\n * (4) no pending action.\n * (5) no delayed setOption needs to be processed.\n */\n\n\nfunction bindRenderedEvent(zr, ecIns) {\n zr.on('rendered', function () {\n ecIns.trigger('rendered'); // The `finished` event should not be triggered repeatly,\n // so it should only be triggered when rendering indeed happend\n // in zrender. (Consider the case that dipatchAction is keep\n // triggering when mouse move).\n\n if ( // Although zr is dirty if initial animation is not finished\n // and this checking is called on frame, we also check\n // animation finished for robustness.\n zr.animation.isFinished() && !ecIns[OPTION_UPDATED] && !ecIns._scheduler.unfinished && !ecIns._pendingActions.length) {\n ecIns.trigger('finished');\n }\n });\n}\n/**\n * @param {Object} params\n * @param {number} params.seriesIndex\n * @param {Array|TypedArray} params.data\n */\n\n\nechartsProto.appendData = function (params) {\n if (this._disposed) {\n disposedWarning(this.id);\n return;\n }\n\n var seriesIndex = params.seriesIndex;\n var ecModel = this.getModel();\n var seriesModel = ecModel.getSeriesByIndex(seriesIndex);\n seriesModel.appendData(params); // Note: `appendData` does not support that update extent of coordinate\n // system, util some scenario require that. In the expected usage of\n // `appendData`, the initial extent of coordinate system should better\n // be fixed by axis `min`/`max` setting or initial data, otherwise if\n // the extent changed while `appendData`, the location of the painted\n // graphic elements have to be changed, which make the usage of\n // `appendData` meaningless.\n\n this._scheduler.unfinished = true;\n};\n/**\n * Register event\n * @method\n */\n\n\nechartsProto.on = createRegisterEventWithLowercaseName('on', false);\nechartsProto.off = createRegisterEventWithLowercaseName('off', false);\nechartsProto.one = createRegisterEventWithLowercaseName('one', false);\n/**\n * Prepare view instances of charts and components\n * @param {module:echarts/model/Global} ecModel\n * @private\n */\n\nfunction prepareView(ecIns, type, ecModel, scheduler) {\n var isComponent = type === 'component';\n var viewList = isComponent ? ecIns._componentsViews : ecIns._chartsViews;\n var viewMap = isComponent ? ecIns._componentsMap : ecIns._chartsMap;\n var zr = ecIns._zr;\n var api = ecIns._api;\n\n for (var i = 0; i < viewList.length; i++) {\n viewList[i].__alive = false;\n }\n\n isComponent ? ecModel.eachComponent(function (componentType, model) {\n componentType !== 'series' && doPrepare(model);\n }) : ecModel.eachSeries(doPrepare);\n\n function doPrepare(model) {\n // Consider: id same and type changed.\n var viewId = '_ec_' + model.id + '_' + model.type;\n var view = viewMap[viewId];\n\n if (!view) {\n var classType = parseClassType(model.type);\n var Clazz = isComponent ? ComponentView.getClass(classType.main, classType.sub) : ChartView.getClass(classType.sub);\n view = new Clazz();\n view.init(ecModel, api);\n viewMap[viewId] = view;\n viewList.push(view);\n zr.add(view.group);\n }\n\n model.__viewId = view.__id = viewId;\n view.__alive = true;\n view.__model = model;\n view.group.__ecComponentInfo = {\n mainType: model.mainType,\n index: model.componentIndex\n };\n !isComponent && scheduler.prepareView(view, model, ecModel, api);\n }\n\n for (var i = 0; i < viewList.length;) {\n var view = viewList[i];\n\n if (!view.__alive) {\n !isComponent && view.renderTask.dispose();\n zr.remove(view.group);\n view.dispose(ecModel, api);\n viewList.splice(i, 1);\n delete viewMap[view.__id];\n view.__id = view.group.__ecComponentInfo = null;\n } else {\n i++;\n }\n }\n} // /**\n// * Encode visual infomation from data after data processing\n// *\n// * @param {module:echarts/model/Global} ecModel\n// * @param {object} layout\n// * @param {boolean} [layoutFilter] `true`: only layout,\n// * `false`: only not layout,\n// * `null`/`undefined`: all.\n// * @param {string} taskBaseTag\n// * @private\n// */\n// function startVisualEncoding(ecIns, ecModel, api, payload, layoutFilter) {\n// each(visualFuncs, function (visual, index) {\n// var isLayout = visual.isLayout;\n// if (layoutFilter == null\n// || (layoutFilter === false && !isLayout)\n// || (layoutFilter === true && isLayout)\n// ) {\n// visual.func(ecModel, api, payload);\n// }\n// });\n// }\n\n\nfunction clearColorPalette(ecModel) {\n ecModel.clearColorPalette();\n ecModel.eachSeries(function (seriesModel) {\n seriesModel.clearColorPalette();\n });\n}\n\nfunction render(ecIns, ecModel, api, payload) {\n renderComponents(ecIns, ecModel, api, payload);\n each(ecIns._chartsViews, function (chart) {\n chart.__alive = false;\n });\n renderSeries(ecIns, ecModel, api, payload); // Remove groups of unrendered charts\n\n each(ecIns._chartsViews, function (chart) {\n if (!chart.__alive) {\n chart.remove(ecModel, api);\n }\n });\n}\n\nfunction renderComponents(ecIns, ecModel, api, payload, dirtyList) {\n each(dirtyList || ecIns._componentsViews, function (componentView) {\n var componentModel = componentView.__model;\n componentView.render(componentModel, ecModel, api, payload);\n updateZ(componentModel, componentView);\n });\n}\n/**\n * Render each chart and component\n * @private\n */\n\n\nfunction renderSeries(ecIns, ecModel, api, payload, dirtyMap) {\n // Render all charts\n var scheduler = ecIns._scheduler;\n var unfinished;\n ecModel.eachSeries(function (seriesModel) {\n var chartView = ecIns._chartsMap[seriesModel.__viewId];\n chartView.__alive = true;\n var renderTask = chartView.renderTask;\n scheduler.updatePayload(renderTask, payload);\n\n if (dirtyMap && dirtyMap.get(seriesModel.uid)) {\n renderTask.dirty();\n }\n\n unfinished |= renderTask.perform(scheduler.getPerformArgs(renderTask));\n chartView.group.silent = !!seriesModel.get('silent');\n updateZ(seriesModel, chartView);\n updateBlend(seriesModel, chartView);\n });\n scheduler.unfinished |= unfinished; // If use hover layer\n\n updateHoverLayerStatus(ecIns, ecModel); // Add aria\n\n aria(ecIns._zr.dom, ecModel);\n}\n\nfunction performPostUpdateFuncs(ecModel, api) {\n each(postUpdateFuncs, function (func) {\n func(ecModel, api);\n });\n}\n\nvar MOUSE_EVENT_NAMES = ['click', 'dblclick', 'mouseover', 'mouseout', 'mousemove', 'mousedown', 'mouseup', 'globalout', 'contextmenu'];\n/**\n * @private\n */\n\nechartsProto._initEvents = function () {\n each(MOUSE_EVENT_NAMES, function (eveName) {\n var handler = function (e) {\n var ecModel = this.getModel();\n var el = e.target;\n var params;\n var isGlobalOut = eveName === 'globalout'; // no e.target when 'globalout'.\n\n if (isGlobalOut) {\n params = {};\n } else if (el && el.dataIndex != null) {\n var dataModel = el.dataModel || ecModel.getSeriesByIndex(el.seriesIndex);\n params = dataModel && dataModel.getDataParams(el.dataIndex, el.dataType, el) || {};\n } // If element has custom eventData of components\n else if (el && el.eventData) {\n params = zrUtil.extend({}, el.eventData);\n } // Contract: if params prepared in mouse event,\n // these properties must be specified:\n // {\n // componentType: string (component main type)\n // componentIndex: number\n // }\n // Otherwise event query can not work.\n\n\n if (params) {\n var componentType = params.componentType;\n var componentIndex = params.componentIndex; // Special handling for historic reason: when trigger by\n // markLine/markPoint/markArea, the componentType is\n // 'markLine'/'markPoint'/'markArea', but we should better\n // enable them to be queried by seriesIndex, since their\n // option is set in each series.\n\n if (componentType === 'markLine' || componentType === 'markPoint' || componentType === 'markArea') {\n componentType = 'series';\n componentIndex = params.seriesIndex;\n }\n\n var model = componentType && componentIndex != null && ecModel.getComponent(componentType, componentIndex);\n var view = model && this[model.mainType === 'series' ? '_chartsMap' : '_componentsMap'][model.__viewId];\n params.event = e;\n params.type = eveName;\n this._ecEventProcessor.eventInfo = {\n targetEl: el,\n packedEvent: params,\n model: model,\n view: view\n };\n this.trigger(eveName, params);\n }\n }; // Consider that some component (like tooltip, brush, ...)\n // register zr event handler, but user event handler might\n // do anything, such as call `setOption` or `dispatchAction`,\n // which probably update any of the content and probably\n // cause problem if it is called previous other inner handlers.\n\n\n handler.zrEventfulCallAtLast = true;\n\n this._zr.on(eveName, handler, this);\n }, this);\n each(eventActionMap, function (actionType, eventType) {\n this._messageCenter.on(eventType, function (event) {\n this.trigger(eventType, event);\n }, this);\n }, this);\n};\n/**\n * @return {boolean}\n */\n\n\nechartsProto.isDisposed = function () {\n return this._disposed;\n};\n/**\n * Clear\n */\n\n\nechartsProto.clear = function () {\n if (this._disposed) {\n disposedWarning(this.id);\n return;\n }\n\n this.setOption({\n series: []\n }, true);\n};\n/**\n * Dispose instance\n */\n\n\nechartsProto.dispose = function () {\n if (this._disposed) {\n disposedWarning(this.id);\n return;\n }\n\n this._disposed = true;\n modelUtil.setAttribute(this.getDom(), DOM_ATTRIBUTE_KEY, '');\n var api = this._api;\n var ecModel = this._model;\n each(this._componentsViews, function (component) {\n component.dispose(ecModel, api);\n });\n each(this._chartsViews, function (chart) {\n chart.dispose(ecModel, api);\n }); // Dispose after all views disposed\n\n this._zr.dispose();\n\n delete instances[this.id];\n};\n\nzrUtil.mixin(ECharts, Eventful);\n\nfunction disposedWarning(id) {}\n\nfunction updateHoverLayerStatus(ecIns, ecModel) {\n var zr = ecIns._zr;\n var storage = zr.storage;\n var elCount = 0;\n storage.traverse(function (el) {\n elCount++;\n });\n\n if (elCount > ecModel.get('hoverLayerThreshold') && !env.node) {\n ecModel.eachSeries(function (seriesModel) {\n if (seriesModel.preventUsingHoverLayer) {\n return;\n }\n\n var chartView = ecIns._chartsMap[seriesModel.__viewId];\n\n if (chartView.__alive) {\n chartView.group.traverse(function (el) {\n // Don't switch back.\n el.useHoverLayer = true;\n });\n }\n });\n }\n}\n/**\n * Update chart progressive and blend.\n * @param {module:echarts/model/Series|module:echarts/model/Component} model\n * @param {module:echarts/view/Component|module:echarts/view/Chart} view\n */\n\n\nfunction updateBlend(seriesModel, chartView) {\n var blendMode = seriesModel.get('blendMode') || null;\n chartView.group.traverse(function (el) {\n // FIXME marker and other components\n if (!el.isGroup) {\n // Only set if blendMode is changed. In case element is incremental and don't wan't to rerender.\n if (el.style.blend !== blendMode) {\n el.setStyle('blend', blendMode);\n }\n }\n\n if (el.eachPendingDisplayable) {\n el.eachPendingDisplayable(function (displayable) {\n displayable.setStyle('blend', blendMode);\n });\n }\n });\n}\n/**\n * @param {module:echarts/model/Series|module:echarts/model/Component} model\n * @param {module:echarts/view/Component|module:echarts/view/Chart} view\n */\n\n\nfunction updateZ(model, view) {\n var z = model.get('z');\n var zlevel = model.get('zlevel'); // Set z and zlevel\n\n view.group.traverse(function (el) {\n if (el.type !== 'group') {\n z != null && (el.z = z);\n zlevel != null && (el.zlevel = zlevel);\n }\n });\n}\n\nfunction createExtensionAPI(ecInstance) {\n var coordSysMgr = ecInstance._coordSysMgr;\n return zrUtil.extend(new ExtensionAPI(ecInstance), {\n // Inject methods\n getCoordinateSystems: zrUtil.bind(coordSysMgr.getCoordinateSystems, coordSysMgr),\n getComponentByElement: function (el) {\n while (el) {\n var modelInfo = el.__ecComponentInfo;\n\n if (modelInfo != null) {\n return ecInstance._model.getComponent(modelInfo.mainType, modelInfo.index);\n }\n\n el = el.parent;\n }\n }\n });\n}\n/**\n * @class\n * Usage of query:\n * `chart.on('click', query, handler);`\n * The `query` can be:\n * + The component type query string, only `mainType` or `mainType.subType`,\n * like: 'xAxis', 'series', 'xAxis.category' or 'series.line'.\n * + The component query object, like:\n * `{seriesIndex: 2}`, `{seriesName: 'xx'}`, `{seriesId: 'some'}`,\n * `{xAxisIndex: 2}`, `{xAxisName: 'xx'}`, `{xAxisId: 'some'}`.\n * + The data query object, like:\n * `{dataIndex: 123}`, `{dataType: 'link'}`, `{name: 'some'}`.\n * + The other query object (cmponent customized query), like:\n * `{element: 'some'}` (only available in custom series).\n *\n * Caveat: If a prop in the `query` object is `null/undefined`, it is the\n * same as there is no such prop in the `query` object.\n */\n\n\nfunction EventProcessor() {\n // These info required: targetEl, packedEvent, model, view\n this.eventInfo;\n}\n\nEventProcessor.prototype = {\n constructor: EventProcessor,\n normalizeQuery: function (query) {\n var cptQuery = {};\n var dataQuery = {};\n var otherQuery = {}; // `query` is `mainType` or `mainType.subType` of component.\n\n if (zrUtil.isString(query)) {\n var condCptType = parseClassType(query); // `.main` and `.sub` may be ''.\n\n cptQuery.mainType = condCptType.main || null;\n cptQuery.subType = condCptType.sub || null;\n } // `query` is an object, convert to {mainType, index, name, id}.\n else {\n // `xxxIndex`, `xxxName`, `xxxId`, `name`, `dataIndex`, `dataType` is reserved,\n // can not be used in `compomentModel.filterForExposedEvent`.\n var suffixes = ['Index', 'Name', 'Id'];\n var dataKeys = {\n name: 1,\n dataIndex: 1,\n dataType: 1\n };\n zrUtil.each(query, function (val, key) {\n var reserved = false;\n\n for (var i = 0; i < suffixes.length; i++) {\n var propSuffix = suffixes[i];\n var suffixPos = key.lastIndexOf(propSuffix);\n\n if (suffixPos > 0 && suffixPos === key.length - propSuffix.length) {\n var mainType = key.slice(0, suffixPos); // Consider `dataIndex`.\n\n if (mainType !== 'data') {\n cptQuery.mainType = mainType;\n cptQuery[propSuffix.toLowerCase()] = val;\n reserved = true;\n }\n }\n }\n\n if (dataKeys.hasOwnProperty(key)) {\n dataQuery[key] = val;\n reserved = true;\n }\n\n if (!reserved) {\n otherQuery[key] = val;\n }\n });\n }\n\n return {\n cptQuery: cptQuery,\n dataQuery: dataQuery,\n otherQuery: otherQuery\n };\n },\n filter: function (eventType, query, args) {\n // They should be assigned before each trigger call.\n var eventInfo = this.eventInfo;\n\n if (!eventInfo) {\n return true;\n }\n\n var targetEl = eventInfo.targetEl;\n var packedEvent = eventInfo.packedEvent;\n var model = eventInfo.model;\n var view = eventInfo.view; // For event like 'globalout'.\n\n if (!model || !view) {\n return true;\n }\n\n var cptQuery = query.cptQuery;\n var dataQuery = query.dataQuery;\n return check(cptQuery, model, 'mainType') && check(cptQuery, model, 'subType') && check(cptQuery, model, 'index', 'componentIndex') && check(cptQuery, model, 'name') && check(cptQuery, model, 'id') && check(dataQuery, packedEvent, 'name') && check(dataQuery, packedEvent, 'dataIndex') && check(dataQuery, packedEvent, 'dataType') && (!view.filterForExposedEvent || view.filterForExposedEvent(eventType, query.otherQuery, targetEl, packedEvent));\n\n function check(query, host, prop, propOnHost) {\n return query[prop] == null || host[propOnHost || prop] === query[prop];\n }\n },\n afterTrigger: function () {\n // Make sure the eventInfo wont be used in next trigger.\n this.eventInfo = null;\n }\n};\n/**\n * @type {Object} key: actionType.\n * @inner\n */\n\nvar actions = {};\n/**\n * Map eventType to actionType\n * @type {Object}\n */\n\nvar eventActionMap = {};\n/**\n * Data processor functions of each stage\n * @type {Array.>}\n * @inner\n */\n\nvar dataProcessorFuncs = [];\n/**\n * @type {Array.}\n * @inner\n */\n\nvar optionPreprocessorFuncs = [];\n/**\n * @type {Array.}\n * @inner\n */\n\nvar postUpdateFuncs = [];\n/**\n * Visual encoding functions of each stage\n * @type {Array.>}\n */\n\nvar visualFuncs = [];\n/**\n * Theme storage\n * @type {Object.}\n */\n\nvar themeStorage = {};\n/**\n * Loading effects\n */\n\nvar loadingEffects = {};\nvar instances = {};\nvar connectedGroups = {};\nvar idBase = new Date() - 0;\nvar groupIdBase = new Date() - 0;\nvar DOM_ATTRIBUTE_KEY = '_echarts_instance_';\n\nfunction enableConnect(chart) {\n var STATUS_PENDING = 0;\n var STATUS_UPDATING = 1;\n var STATUS_UPDATED = 2;\n var STATUS_KEY = '__connectUpdateStatus';\n\n function updateConnectedChartsStatus(charts, status) {\n for (var i = 0; i < charts.length; i++) {\n var otherChart = charts[i];\n otherChart[STATUS_KEY] = status;\n }\n }\n\n each(eventActionMap, function (actionType, eventType) {\n chart._messageCenter.on(eventType, function (event) {\n if (connectedGroups[chart.group] && chart[STATUS_KEY] !== STATUS_PENDING) {\n if (event && event.escapeConnect) {\n return;\n }\n\n var action = chart.makeActionFromEvent(event);\n var otherCharts = [];\n each(instances, function (otherChart) {\n if (otherChart !== chart && otherChart.group === chart.group) {\n otherCharts.push(otherChart);\n }\n });\n updateConnectedChartsStatus(otherCharts, STATUS_PENDING);\n each(otherCharts, function (otherChart) {\n if (otherChart[STATUS_KEY] !== STATUS_UPDATING) {\n otherChart.dispatchAction(action);\n }\n });\n updateConnectedChartsStatus(otherCharts, STATUS_UPDATED);\n }\n });\n });\n}\n/**\n * @param {HTMLElement} dom\n * @param {Object} [theme]\n * @param {Object} opts\n * @param {number} [opts.devicePixelRatio] Use window.devicePixelRatio by default\n * @param {string} [opts.renderer] Can choose 'canvas' or 'svg' to render the chart.\n * @param {number} [opts.width] Use clientWidth of the input `dom` by default.\n * Can be 'auto' (the same as null/undefined)\n * @param {number} [opts.height] Use clientHeight of the input `dom` by default.\n * Can be 'auto' (the same as null/undefined)\n */\n\n\nfunction init(dom, theme, opts) {\n var existInstance = getInstanceByDom(dom);\n\n if (existInstance) {\n return existInstance;\n }\n\n var chart = new ECharts(dom, theme, opts);\n chart.id = 'ec_' + idBase++;\n instances[chart.id] = chart;\n modelUtil.setAttribute(dom, DOM_ATTRIBUTE_KEY, chart.id);\n enableConnect(chart);\n return chart;\n}\n/**\n * @return {string|Array.} groupId\n */\n\n\nfunction connect(groupId) {\n // Is array of charts\n if (zrUtil.isArray(groupId)) {\n var charts = groupId;\n groupId = null; // If any chart has group\n\n each(charts, function (chart) {\n if (chart.group != null) {\n groupId = chart.group;\n }\n });\n groupId = groupId || 'g_' + groupIdBase++;\n each(charts, function (chart) {\n chart.group = groupId;\n });\n }\n\n connectedGroups[groupId] = true;\n return groupId;\n}\n/**\n * @DEPRECATED\n * @return {string} groupId\n */\n\n\nfunction disConnect(groupId) {\n connectedGroups[groupId] = false;\n}\n/**\n * @return {string} groupId\n */\n\n\nvar disconnect = disConnect;\n/**\n * Dispose a chart instance\n * @param {module:echarts~ECharts|HTMLDomElement|string} chart\n */\n\nfunction dispose(chart) {\n if (typeof chart === 'string') {\n chart = instances[chart];\n } else if (!(chart instanceof ECharts)) {\n // Try to treat as dom\n chart = getInstanceByDom(chart);\n }\n\n if (chart instanceof ECharts && !chart.isDisposed()) {\n chart.dispose();\n }\n}\n/**\n * @param {HTMLElement} dom\n * @return {echarts~ECharts}\n */\n\n\nfunction getInstanceByDom(dom) {\n return instances[modelUtil.getAttribute(dom, DOM_ATTRIBUTE_KEY)];\n}\n/**\n * @param {string} key\n * @return {echarts~ECharts}\n */\n\n\nfunction getInstanceById(key) {\n return instances[key];\n}\n/**\n * Register theme\n */\n\n\nfunction registerTheme(name, theme) {\n themeStorage[name] = theme;\n}\n/**\n * Register option preprocessor\n * @param {Function} preprocessorFunc\n */\n\n\nfunction registerPreprocessor(preprocessorFunc) {\n optionPreprocessorFuncs.push(preprocessorFunc);\n}\n/**\n * @param {number} [priority=1000]\n * @param {Object|Function} processor\n */\n\n\nfunction registerProcessor(priority, processor) {\n normalizeRegister(dataProcessorFuncs, priority, processor, PRIORITY_PROCESSOR_FILTER);\n}\n/**\n * Register postUpdater\n * @param {Function} postUpdateFunc\n */\n\n\nfunction registerPostUpdate(postUpdateFunc) {\n postUpdateFuncs.push(postUpdateFunc);\n}\n/**\n * Usage:\n * registerAction('someAction', 'someEvent', function () { ... });\n * registerAction('someAction', function () { ... });\n * registerAction(\n * {type: 'someAction', event: 'someEvent', update: 'updateView'},\n * function () { ... }\n * );\n *\n * @param {(string|Object)} actionInfo\n * @param {string} actionInfo.type\n * @param {string} [actionInfo.event]\n * @param {string} [actionInfo.update]\n * @param {string} [eventName]\n * @param {Function} action\n */\n\n\nfunction registerAction(actionInfo, eventName, action) {\n if (typeof eventName === 'function') {\n action = eventName;\n eventName = '';\n }\n\n var actionType = isObject(actionInfo) ? actionInfo.type : [actionInfo, actionInfo = {\n event: eventName\n }][0]; // Event name is all lowercase\n\n actionInfo.event = (actionInfo.event || actionType).toLowerCase();\n eventName = actionInfo.event; // Validate action type and event name.\n\n assert(ACTION_REG.test(actionType) && ACTION_REG.test(eventName));\n\n if (!actions[actionType]) {\n actions[actionType] = {\n action: action,\n actionInfo: actionInfo\n };\n }\n\n eventActionMap[eventName] = actionType;\n}\n/**\n * @param {string} type\n * @param {*} CoordinateSystem\n */\n\n\nfunction registerCoordinateSystem(type, CoordinateSystem) {\n CoordinateSystemManager.register(type, CoordinateSystem);\n}\n/**\n * Get dimensions of specified coordinate system.\n * @param {string} type\n * @return {Array.}\n */\n\n\nfunction getCoordinateSystemDimensions(type) {\n var coordSysCreator = CoordinateSystemManager.get(type);\n\n if (coordSysCreator) {\n return coordSysCreator.getDimensionsInfo ? coordSysCreator.getDimensionsInfo() : coordSysCreator.dimensions.slice();\n }\n}\n/**\n * Layout is a special stage of visual encoding\n * Most visual encoding like color are common for different chart\n * But each chart has it's own layout algorithm\n *\n * @param {number} [priority=1000]\n * @param {Function} layoutTask\n */\n\n\nfunction registerLayout(priority, layoutTask) {\n normalizeRegister(visualFuncs, priority, layoutTask, PRIORITY_VISUAL_LAYOUT, 'layout');\n}\n/**\n * @param {number} [priority=3000]\n * @param {module:echarts/stream/Task} visualTask\n */\n\n\nfunction registerVisual(priority, visualTask) {\n normalizeRegister(visualFuncs, priority, visualTask, PRIORITY_VISUAL_CHART, 'visual');\n}\n/**\n * @param {Object|Function} fn: {seriesType, createOnAllSeries, performRawSeries, reset}\n */\n\n\nfunction normalizeRegister(targetList, priority, fn, defaultPriority, visualType) {\n if (isFunction(priority) || isObject(priority)) {\n fn = priority;\n priority = defaultPriority;\n }\n\n var stageHandler = Scheduler.wrapStageHandler(fn, visualType);\n stageHandler.__prio = priority;\n stageHandler.__raw = fn;\n targetList.push(stageHandler);\n return stageHandler;\n}\n/**\n * @param {string} name\n */\n\n\nfunction registerLoading(name, loadingFx) {\n loadingEffects[name] = loadingFx;\n}\n/**\n * @param {Object} opts\n * @param {string} [superClass]\n */\n\n\nfunction extendComponentModel(opts\n/*, superClass*/\n) {\n // var Clazz = ComponentModel;\n // if (superClass) {\n // var classType = parseClassType(superClass);\n // Clazz = ComponentModel.getClass(classType.main, classType.sub, true);\n // }\n return ComponentModel.extend(opts);\n}\n/**\n * @param {Object} opts\n * @param {string} [superClass]\n */\n\n\nfunction extendComponentView(opts\n/*, superClass*/\n) {\n // var Clazz = ComponentView;\n // if (superClass) {\n // var classType = parseClassType(superClass);\n // Clazz = ComponentView.getClass(classType.main, classType.sub, true);\n // }\n return ComponentView.extend(opts);\n}\n/**\n * @param {Object} opts\n * @param {string} [superClass]\n */\n\n\nfunction extendSeriesModel(opts\n/*, superClass*/\n) {\n // var Clazz = SeriesModel;\n // if (superClass) {\n // superClass = 'series.' + superClass.replace('series.', '');\n // var classType = parseClassType(superClass);\n // Clazz = ComponentModel.getClass(classType.main, classType.sub, true);\n // }\n return SeriesModel.extend(opts);\n}\n/**\n * @param {Object} opts\n * @param {string} [superClass]\n */\n\n\nfunction extendChartView(opts\n/*, superClass*/\n) {\n // var Clazz = ChartView;\n // if (superClass) {\n // superClass = superClass.replace('series.', '');\n // var classType = parseClassType(superClass);\n // Clazz = ChartView.getClass(classType.main, true);\n // }\n return ChartView.extend(opts);\n}\n/**\n * ZRender need a canvas context to do measureText.\n * But in node environment canvas may be created by node-canvas.\n * So we need to specify how to create a canvas instead of using document.createElement('canvas')\n *\n * Be careful of using it in the browser.\n *\n * @param {Function} creator\n * @example\n * var Canvas = require('canvas');\n * var echarts = require('echarts');\n * echarts.setCanvasCreator(function () {\n * // Small size is enough.\n * return new Canvas(32, 32);\n * });\n */\n\n\nfunction setCanvasCreator(creator) {\n zrUtil.$override('createCanvas', creator);\n}\n/**\n * @param {string} mapName\n * @param {Array.|Object|string} geoJson\n * @param {Object} [specialAreas]\n *\n * @example GeoJSON\n * $.get('USA.json', function (geoJson) {\n * echarts.registerMap('USA', geoJson);\n * // Or\n * echarts.registerMap('USA', {\n * geoJson: geoJson,\n * specialAreas: {}\n * })\n * });\n *\n * $.get('airport.svg', function (svg) {\n * echarts.registerMap('airport', {\n * svg: svg\n * }\n * });\n *\n * echarts.registerMap('eu', [\n * {svg: eu-topographic.svg},\n * {geoJSON: eu.json}\n * ])\n */\n\n\nfunction registerMap(mapName, geoJson, specialAreas) {\n mapDataStorage.registerMap(mapName, geoJson, specialAreas);\n}\n/**\n * @param {string} mapName\n * @return {Object}\n */\n\n\nfunction getMap(mapName) {\n // For backward compatibility, only return the first one.\n var records = mapDataStorage.retrieveMap(mapName);\n return records && records[0] && {\n geoJson: records[0].geoJSON,\n specialAreas: records[0].specialAreas\n };\n}\n\nregisterVisual(PRIORITY_VISUAL_GLOBAL, seriesColor);\nregisterPreprocessor(backwardCompat);\nregisterProcessor(PRIORITY_PROCESSOR_DATASTACK, dataStack);\nregisterLoading('default', loadingDefault); // Default actions\n\nregisterAction({\n type: 'highlight',\n event: 'highlight',\n update: 'highlight'\n}, zrUtil.noop);\nregisterAction({\n type: 'downplay',\n event: 'downplay',\n update: 'downplay'\n}, zrUtil.noop); // Default theme\n\nregisterTheme('light', lightTheme);\nregisterTheme('dark', darkTheme); // For backward compatibility, where the namespace `dataTool` will\n// be mounted on `echarts` is the extension `dataTool` is imported.\n\nvar dataTool = {};\nexports.version = version;\nexports.dependencies = dependencies;\nexports.PRIORITY = PRIORITY;\nexports.init = init;\nexports.connect = connect;\nexports.disConnect = disConnect;\nexports.disconnect = disconnect;\nexports.dispose = dispose;\nexports.getInstanceByDom = getInstanceByDom;\nexports.getInstanceById = getInstanceById;\nexports.registerTheme = registerTheme;\nexports.registerPreprocessor = registerPreprocessor;\nexports.registerProcessor = registerProcessor;\nexports.registerPostUpdate = registerPostUpdate;\nexports.registerAction = registerAction;\nexports.registerCoordinateSystem = registerCoordinateSystem;\nexports.getCoordinateSystemDimensions = getCoordinateSystemDimensions;\nexports.registerLayout = registerLayout;\nexports.registerVisual = registerVisual;\nexports.registerLoading = registerLoading;\nexports.extendComponentModel = extendComponentModel;\nexports.extendComponentView = extendComponentView;\nexports.extendSeriesModel = extendSeriesModel;\nexports.extendChartView = extendChartView;\nexports.setCanvasCreator = setCanvasCreator;\nexports.registerMap = registerMap;\nexports.getMap = getMap;\nexports.dataTool = dataTool;\nvar ___ec_export = require(\"./export\");\n(function () {\n for (var key in ___ec_export) {\n if (___ec_export.hasOwnProperty(key)) {\n exports[key] = ___ec_export[key];\n }\n }\n})();","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _conf = _interopRequireDefault(require(\"../../conf\"));\n\nvar _vXETable = require(\"../../v-x-e-table\");\n\nvar _tools = require(\"../../tools\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _default = {\n name: 'PlxTableFilter',\n props: {\n filterStore: Object,\n optimizeOpts: Object\n },\n render: function render(h) {\n var filterStore = this.filterStore,\n optimizeOpts = this.optimizeOpts;\n var column = filterStore.column;\n var filterRender = column ? column.own.filterRender : null;\n var compConf = filterRender ? _vXETable.Renderer.get(filterRender.name) : null;\n return h('div', {\n class: ['plx-table--filter-wrapper', 'filter--prevent-default', compConf && compConf.className ? compConf.className : '', {\n 't--animat': optimizeOpts.animat,\n 'is--multiple': filterStore.multiple,\n 'filter--active': filterStore.visible\n }],\n style: filterStore.style\n }, filterStore.visible ? this.renderOptions(h, filterRender, compConf).concat(this.renderFooter(h)) : []);\n },\n methods: {\n renderOptions: function renderOptions(h, filterRender, compConf) {\n var _this = this;\n\n var $table = this.$parent,\n filterStore = this.filterStore;\n var args = filterStore.args,\n column = filterStore.column,\n multiple = filterStore.multiple;\n var slots = column.slots;\n\n if (slots && slots.filter) {\n return [h('div', {\n class: 'plx-table--filter-template'\n }, slots.filter.call($table, Object.assign({\n $table: $table,\n context: this\n }, args), h))];\n } else if (compConf && compConf.renderFilter) {\n return [h('div', {\n class: 'plx-table--filter-template'\n }, compConf.renderFilter.call($table, h, filterRender, args, this))];\n }\n\n return [h('ul', {\n class: 'plx-table--filter-header'\n }, [h('li', {\n class: ['plx-table--filter-option', {\n 'is--checked': multiple ? filterStore.isAllSelected : !filterStore.options.some(function (item) {\n return item.checked;\n }),\n 'is--indeterminate': multiple && filterStore.isIndeterminate\n }],\n attrs: {\n title: _conf.default.i18n(multiple ? 'plx.table.allTitle' : 'plx.table.allFilter')\n },\n on: {\n click: function click(evnt) {\n _this.changeAllOption(evnt, !filterStore.isAllSelected);\n }\n }\n }, _conf.default.i18n('plx.table.allFilter'))]), h('ul', {\n class: 'plx-table--filter-body'\n }, filterStore.options.map(function (item) {\n return h('li', {\n class: ['plx-table--filter-option', {\n 'is--checked': item.checked\n }],\n attrs: {\n title: item.label\n },\n on: {\n click: function click(evnt) {\n _this.changeOption(evnt, !item.checked, item);\n }\n }\n }, _tools.UtilTools.formatText(item.label, 1));\n }))];\n },\n renderFooter: function renderFooter(h) {\n var filterStore = this.filterStore;\n var column = filterStore.column,\n multiple = filterStore.multiple;\n var filterRender = column.own.filterRender;\n var compConf = filterRender ? _vXETable.Renderer.get(filterRender.name) : null;\n return multiple && (!compConf || compConf.isFooter !== false) ? [h('div', {\n class: 'plx-table--filter-footer'\n }, [h('button', {\n class: {\n 'is--disabled': !filterStore.isAllSelected && !filterStore.isIndeterminate\n },\n attrs: {\n disabled: !filterStore.isAllSelected && !filterStore.isIndeterminate\n },\n on: {\n click: this.confirmFilter\n }\n }, _conf.default.i18n('plx.table.confirmFilter')), h('button', {\n on: {\n click: this.resetFilter\n }\n }, _conf.default.i18n('plx.table.resetFilter'))])] : [];\n },\n // 全部筛选事件\n filterCheckAllEvent: function filterCheckAllEvent(evnt, value) {\n var filterStore = this.filterStore;\n filterStore.options.forEach(function (option) {\n option.checked = value;\n });\n filterStore.isAllSelected = value;\n filterStore.isIndeterminate = false;\n },\n checkOptions: function checkOptions() {\n var filterStore = this.filterStore;\n filterStore.isAllSelected = filterStore.options.every(function (option) {\n return option.checked;\n });\n filterStore.isIndeterminate = !filterStore.isAllSelected && filterStore.options.some(function (option) {\n return option.checked;\n });\n },\n\n /*************************\n * Publish methods\n *************************/\n // (单选)筛选发生改变\n changeRadioOption: function changeRadioOption(evnt, checked, item) {\n this.filterStore.options.forEach(function (option) {\n option.checked = false;\n });\n item.checked = checked;\n this.checkOptions();\n this.$parent.confirmFilterEvent();\n },\n // (多选)筛选发生改变\n changeMultipleOption: function changeMultipleOption(evnt, checked, item) {\n item.checked = checked;\n this.checkOptions();\n },\n changeAllOption: function changeAllOption(evnt, checked) {\n if (this.filterStore.multiple) {\n this.filterCheckAllEvent(evnt, checked);\n } else {\n this.resetFilter();\n }\n },\n // 筛选发生改变\n changeOption: function changeOption(evnt, checked, item) {\n if (this.filterStore.multiple) {\n this.changeMultipleOption(evnt, checked, item);\n } else {\n this.changeRadioOption(evnt, checked, item);\n }\n },\n // 确认筛选\n confirmFilter: function confirmFilter() {\n this.$parent.confirmFilterEvent();\n },\n // 重置筛选\n resetFilter: function resetFilter() {\n this.$parent.resetFilterEvent();\n }\n /*************************\n * Publish methods\n *************************/\n\n }\n};\nexports.default = _default;","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };","var _core = require(\"./core\");\n\nvar createElement = _core.createElement;\n\nvar PathProxy = require(\"../core/PathProxy\");\n\nvar BoundingRect = require(\"../core/BoundingRect\");\n\nvar matrix = require(\"../core/matrix\");\n\nvar textContain = require(\"../contain/text\");\n\nvar textHelper = require(\"../graphic/helper/text\");\n\nvar Text = require(\"../graphic/Text\");\n\n// TODO\n// 1. shadow\n// 2. Image: sx, sy, sw, sh\nvar CMD = PathProxy.CMD;\nvar arrayJoin = Array.prototype.join;\nvar NONE = 'none';\nvar mathRound = Math.round;\nvar mathSin = Math.sin;\nvar mathCos = Math.cos;\nvar PI = Math.PI;\nvar PI2 = Math.PI * 2;\nvar degree = 180 / PI;\nvar EPSILON = 1e-4;\n\nfunction round4(val) {\n return mathRound(val * 1e4) / 1e4;\n}\n\nfunction isAroundZero(val) {\n return val < EPSILON && val > -EPSILON;\n}\n\nfunction pathHasFill(style, isText) {\n var fill = isText ? style.textFill : style.fill;\n return fill != null && fill !== NONE;\n}\n\nfunction pathHasStroke(style, isText) {\n var stroke = isText ? style.textStroke : style.stroke;\n return stroke != null && stroke !== NONE;\n}\n\nfunction setTransform(svgEl, m) {\n if (m) {\n attr(svgEl, 'transform', 'matrix(' + arrayJoin.call(m, ',') + ')');\n }\n}\n\nfunction attr(el, key, val) {\n if (!val || val.type !== 'linear' && val.type !== 'radial') {\n // Don't set attribute for gradient, since it need new dom nodes\n el.setAttribute(key, val);\n }\n}\n\nfunction attrXLink(el, key, val) {\n el.setAttributeNS('http://www.w3.org/1999/xlink', key, val);\n}\n\nfunction bindStyle(svgEl, style, isText, el) {\n if (pathHasFill(style, isText)) {\n var fill = isText ? style.textFill : style.fill;\n fill = fill === 'transparent' ? NONE : fill;\n attr(svgEl, 'fill', fill);\n attr(svgEl, 'fill-opacity', style.fillOpacity != null ? style.fillOpacity * style.opacity : style.opacity);\n } else {\n attr(svgEl, 'fill', NONE);\n }\n\n if (pathHasStroke(style, isText)) {\n var stroke = isText ? style.textStroke : style.stroke;\n stroke = stroke === 'transparent' ? NONE : stroke;\n attr(svgEl, 'stroke', stroke);\n var strokeWidth = isText ? style.textStrokeWidth : style.lineWidth;\n var strokeScale = !isText && style.strokeNoScale ? el.getLineScale() : 1;\n attr(svgEl, 'stroke-width', strokeWidth / strokeScale); // stroke then fill for text; fill then stroke for others\n\n attr(svgEl, 'paint-order', isText ? 'stroke' : 'fill');\n attr(svgEl, 'stroke-opacity', style.strokeOpacity != null ? style.strokeOpacity : style.opacity);\n var lineDash = style.lineDash;\n\n if (lineDash) {\n attr(svgEl, 'stroke-dasharray', style.lineDash.join(','));\n attr(svgEl, 'stroke-dashoffset', mathRound(style.lineDashOffset || 0));\n } else {\n attr(svgEl, 'stroke-dasharray', '');\n } // PENDING\n\n\n style.lineCap && attr(svgEl, 'stroke-linecap', style.lineCap);\n style.lineJoin && attr(svgEl, 'stroke-linejoin', style.lineJoin);\n style.miterLimit && attr(svgEl, 'stroke-miterlimit', style.miterLimit);\n } else {\n attr(svgEl, 'stroke', NONE);\n }\n}\n/***************************************************\n * PATH\n **************************************************/\n\n\nfunction pathDataToString(path) {\n var str = [];\n var data = path.data;\n var dataLength = path.len();\n\n for (var i = 0; i < dataLength;) {\n var cmd = data[i++];\n var cmdStr = '';\n var nData = 0;\n\n switch (cmd) {\n case CMD.M:\n cmdStr = 'M';\n nData = 2;\n break;\n\n case CMD.L:\n cmdStr = 'L';\n nData = 2;\n break;\n\n case CMD.Q:\n cmdStr = 'Q';\n nData = 4;\n break;\n\n case CMD.C:\n cmdStr = 'C';\n nData = 6;\n break;\n\n case CMD.A:\n var cx = data[i++];\n var cy = data[i++];\n var rx = data[i++];\n var ry = data[i++];\n var theta = data[i++];\n var dTheta = data[i++];\n var psi = data[i++];\n var clockwise = data[i++];\n var dThetaPositive = Math.abs(dTheta);\n var isCircle = isAroundZero(dThetaPositive - PI2) || (clockwise ? dTheta >= PI2 : -dTheta >= PI2); // Mapping to 0~2PI\n\n var unifiedTheta = dTheta > 0 ? dTheta % PI2 : dTheta % PI2 + PI2;\n var large = false;\n\n if (isCircle) {\n large = true;\n } else if (isAroundZero(dThetaPositive)) {\n large = false;\n } else {\n large = unifiedTheta >= PI === !!clockwise;\n }\n\n var x0 = round4(cx + rx * mathCos(theta));\n var y0 = round4(cy + ry * mathSin(theta)); // It will not draw if start point and end point are exactly the same\n // We need to shift the end point with a small value\n // FIXME A better way to draw circle ?\n\n if (isCircle) {\n if (clockwise) {\n dTheta = PI2 - 1e-4;\n } else {\n dTheta = -PI2 + 1e-4;\n }\n\n large = true;\n\n if (i === 9) {\n // Move to (x0, y0) only when CMD.A comes at the\n // first position of a shape.\n // For instance, when drawing a ring, CMD.A comes\n // after CMD.M, so it's unnecessary to move to\n // (x0, y0).\n str.push('M', x0, y0);\n }\n }\n\n var x = round4(cx + rx * mathCos(theta + dTheta));\n var y = round4(cy + ry * mathSin(theta + dTheta)); // FIXME Ellipse\n\n str.push('A', round4(rx), round4(ry), mathRound(psi * degree), +large, +clockwise, x, y);\n break;\n\n case CMD.Z:\n cmdStr = 'Z';\n break;\n\n case CMD.R:\n var x = round4(data[i++]);\n var y = round4(data[i++]);\n var w = round4(data[i++]);\n var h = round4(data[i++]);\n str.push('M', x, y, 'L', x + w, y, 'L', x + w, y + h, 'L', x, y + h, 'L', x, y);\n break;\n }\n\n cmdStr && str.push(cmdStr);\n\n for (var j = 0; j < nData; j++) {\n // PENDING With scale\n str.push(round4(data[i++]));\n }\n }\n\n return str.join(' ');\n}\n\nvar svgPath = {};\n\nsvgPath.brush = function (el) {\n var style = el.style;\n var svgEl = el.__svgEl;\n\n if (!svgEl) {\n svgEl = createElement('path');\n el.__svgEl = svgEl;\n }\n\n if (!el.path) {\n el.createPathProxy();\n }\n\n var path = el.path;\n\n if (el.__dirtyPath) {\n path.beginPath();\n path.subPixelOptimize = false;\n el.buildPath(path, el.shape);\n el.__dirtyPath = false;\n var pathStr = pathDataToString(path);\n\n if (pathStr.indexOf('NaN') < 0) {\n // Ignore illegal path, which may happen such in out-of-range\n // data in Calendar series.\n attr(svgEl, 'd', pathStr);\n }\n }\n\n bindStyle(svgEl, style, false, el);\n setTransform(svgEl, el.transform);\n\n if (style.text != null) {\n svgTextDrawRectText(el, el.getBoundingRect());\n } else {\n removeOldTextNode(el);\n }\n};\n/***************************************************\n * IMAGE\n **************************************************/\n\n\nvar svgImage = {};\n\nsvgImage.brush = function (el) {\n var style = el.style;\n var image = style.image;\n\n if (image instanceof HTMLImageElement) {\n var src = image.src;\n image = src;\n }\n\n if (!image) {\n return;\n }\n\n var x = style.x || 0;\n var y = style.y || 0;\n var dw = style.width;\n var dh = style.height;\n var svgEl = el.__svgEl;\n\n if (!svgEl) {\n svgEl = createElement('image');\n el.__svgEl = svgEl;\n }\n\n if (image !== el.__imageSrc) {\n attrXLink(svgEl, 'href', image); // Caching image src\n\n el.__imageSrc = image;\n }\n\n attr(svgEl, 'width', dw);\n attr(svgEl, 'height', dh);\n attr(svgEl, 'x', x);\n attr(svgEl, 'y', y);\n setTransform(svgEl, el.transform);\n\n if (style.text != null) {\n svgTextDrawRectText(el, el.getBoundingRect());\n } else {\n removeOldTextNode(el);\n }\n};\n/***************************************************\n * TEXT\n **************************************************/\n\n\nvar svgText = {};\n\nvar _tmpTextHostRect = new BoundingRect();\n\nvar _tmpTextBoxPos = {};\nvar _tmpTextTransform = [];\nvar TEXT_ALIGN_TO_ANCHRO = {\n left: 'start',\n right: 'end',\n center: 'middle',\n middle: 'middle'\n};\n/**\n * @param {module:zrender/Element} el\n * @param {Object|boolean} [hostRect] {x, y, width, height}\n * If set false, rect text is not used.\n */\n\nvar svgTextDrawRectText = function (el, hostRect) {\n var style = el.style;\n var elTransform = el.transform;\n var needTransformTextByHostEl = el instanceof Text || style.transformText;\n el.__dirty && textHelper.normalizeTextStyle(style, true);\n var text = style.text; // Convert to string\n\n text != null && (text += '');\n\n if (!textHelper.needDrawText(text, style)) {\n return;\n } // render empty text for svg if no text but need draw text.\n\n\n text == null && (text = ''); // Follow the setting in the canvas renderer, if not transform the\n // text, transform the hostRect, by which the text is located.\n\n if (!needTransformTextByHostEl && elTransform) {\n _tmpTextHostRect.copy(hostRect);\n\n _tmpTextHostRect.applyTransform(elTransform);\n\n hostRect = _tmpTextHostRect;\n }\n\n var textSvgEl = el.__textSvgEl;\n\n if (!textSvgEl) {\n textSvgEl = createElement('text');\n el.__textSvgEl = textSvgEl;\n } // style.font has been normalized by `normalizeTextStyle`.\n\n\n var textSvgElStyle = textSvgEl.style;\n var font = style.font || textContain.DEFAULT_FONT;\n var computedFont = textSvgEl.__computedFont;\n\n if (font !== textSvgEl.__styleFont) {\n textSvgElStyle.font = textSvgEl.__styleFont = font; // The computedFont might not be the orginal font if it is illegal font.\n\n computedFont = textSvgEl.__computedFont = textSvgElStyle.font;\n }\n\n var textPadding = style.textPadding;\n var textLineHeight = style.textLineHeight;\n var contentBlock = el.__textCotentBlock;\n\n if (!contentBlock || el.__dirtyText) {\n contentBlock = el.__textCotentBlock = textContain.parsePlainText(text, computedFont, textPadding, textLineHeight, style.truncate);\n }\n\n var outerHeight = contentBlock.outerHeight;\n var lineHeight = contentBlock.lineHeight;\n textHelper.getBoxPosition(_tmpTextBoxPos, el, style, hostRect);\n var baseX = _tmpTextBoxPos.baseX;\n var baseY = _tmpTextBoxPos.baseY;\n var textAlign = _tmpTextBoxPos.textAlign || 'left';\n var textVerticalAlign = _tmpTextBoxPos.textVerticalAlign;\n setTextTransform(textSvgEl, needTransformTextByHostEl, elTransform, style, hostRect, baseX, baseY);\n var boxY = textContain.adjustTextY(baseY, outerHeight, textVerticalAlign);\n var textX = baseX;\n var textY = boxY; // TODO needDrawBg\n\n if (textPadding) {\n textX = getTextXForPadding(baseX, textAlign, textPadding);\n textY += textPadding[0];\n } // `textBaseline` is set as 'middle'.\n\n\n textY += lineHeight / 2;\n bindStyle(textSvgEl, style, true, el); // FIXME\n // Add a \"), '', '', \"\"), \"\".concat(columns.map(function (column) {\n return \"\");\n }).join(''), \"\")].join('');\n\n if (opts.isHeader) {\n html += \"\".concat(columns.map(function (column) {\n var headAlign = column.headerAlign || column.align || allHeaderAlign || allAlign;\n var classNames = hasEllipsis($table, column, 'showHeaderOverflow', allColumnHeaderOverflow) ? ['col--ellipsis'] : [];\n var cellTitle = getHeaderTitle(opts, column);\n\n if (headAlign) {\n classNames.push(\"col--\".concat(headAlign));\n }\n\n if (['selection', 'checkbox'].indexOf(column.type) > -1) {\n return \"\");\n }\n\n return \"\");\n }).join(''), \"\");\n }\n\n if (datas.length) {\n html += '';\n\n if (treeConfig) {\n datas.forEach(function (row) {\n html += '' + columns.map(function (column) {\n var cellAlign = column.align || allAlign;\n var classNames = hasEllipsis($table, column, 'showOverflow', allColumnOverflow) ? ['col--ellipsis'] : [];\n var cellValue = row[column.id];\n\n if (cellAlign) {\n classNames.push(\"col--\".concat(cellAlign));\n }\n\n if (column.treeNode) {\n var treeIcon = '';\n\n if (row._hasChild) {\n treeIcon = \"\";\n }\n\n classNames.push('plx-table--tree-node');\n\n if (column.type === 'radio') {\n return \"\");\n } else if (['selection', 'checkbox'].indexOf(column.type) > -1) {\n return \"\");\n }\n\n return \"\");\n }\n\n if (column.type === 'radio') {\n return \"\");\n } else if (['selection', 'checkbox'].indexOf(column.type) > -1) {\n return \"\");\n }\n\n return \"\");\n }).join('') + '';\n });\n } else {\n datas.forEach(function (row) {\n html += '' + columns.map(function (column) {\n var cellAlign = column.align || allAlign;\n var classNames = hasEllipsis($table, column, 'showOverflow', allColumnOverflow) ? ['col--ellipsis'] : [];\n var cellValue = row[column.id];\n\n if (cellAlign) {\n classNames.push(\"col--\".concat(cellAlign));\n }\n\n if (column.type === 'radio') {\n return \"\");\n } else if (['selection', 'checkbox'].indexOf(column.type) > -1) {\n return \"\");\n }\n\n return \"\");\n }).join('') + '';\n });\n }\n\n html += '';\n }\n\n if (opts.isFooter) {\n var footerData = $table.footerData;\n var footers = opts.footerFilterMethod ? footerData.filter(opts.footerFilterMethod) : footerData;\n\n if (footers.length) {\n html += '';\n footers.forEach(function (rows) {\n html += \"\".concat(columns.map(function (column) {\n var footAlign = column.footerAlign || column.align || allFooterAlign || allAlign;\n var classNames = hasEllipsis($table, column, 'showOverflow', allColumnOverflow) ? ['col--ellipsis'] : [];\n\n var cellValue = _xeUtils.default.toString(rows[$table.$getColumnIndex(column)]);\n\n if (footAlign) {\n classNames.push(\"col--\".concat(footAlign));\n }\n\n return \"\");\n }).join(''), \"\");\n });\n html += '';\n }\n }\n\n return html + '
\").concat(cellTitle, \"
\").concat(treeIcon, \"
\").concat(treeIcon, \"
\").concat(treeIcon, \"
\").concat(cellValue, \"
\").concat(cellValue, \"
\").concat(cellValue, \"
\").concat(cellValue, \"
';\n}\n\nfunction toXML($table, opts, columns, datas) {\n var xml = ['', '', '', '', '16.00', '', '', '7920', '21570', '32767', '32767', 'False', 'False', '', \"\"), '', columns.map(function (column) {\n return \"\");\n }).join('')].join('');\n\n if (opts.isHeader) {\n xml += \"\".concat(columns.map(function (column) {\n return \"\".concat(getHeaderTitle(opts, column), \"\");\n }).join(''), \"\");\n }\n\n datas.forEach(function (row, rowIndex) {\n xml += '' + columns.map(function (column) {\n return \"\".concat(row[column.id], \"\");\n }).join('') + '';\n });\n\n if (opts.isFooter) {\n var footerData = $table.footerData;\n var footers = opts.footerFilterMethod ? footerData.filter(opts.footerFilterMethod) : footerData;\n footers.forEach(function (rows) {\n xml += \"\".concat(columns.map(function (column) {\n return \"\".concat(rows[$table.$getColumnIndex(column) || ''], \"\");\n }).join(''), \"\");\n });\n }\n\n return \"\".concat(xml, \"
\");\n}\n\nfunction downloadFile($table, opts, content) {\n var filename = opts.filename,\n type = opts.type,\n download = opts.download;\n var name = \"\".concat(filename, \".\").concat(type);\n\n if (window.Blob) {\n var blob = new Blob([content], {\n type: \"text/\".concat(type)\n });\n\n if (!download) {\n return Promise.resolve({\n type: type,\n content: content,\n blob: blob\n });\n }\n\n if (navigator.msSaveBlob) {\n navigator.msSaveBlob(blob, name);\n } else {\n var linkElem = document.createElement('a');\n linkElem.target = '_blank';\n linkElem.download = name;\n linkElem.href = URL.createObjectURL(blob);\n document.body.appendChild(linkElem);\n linkElem.click();\n document.body.removeChild(linkElem);\n }\n\n if (opts.message !== false) {\n _vXETable.default.$modal.message({\n message: _conf.default.i18n('plx.table.expSuccess'),\n status: 'success'\n });\n }\n } else {\n _tools.UtilTools.error('plx.error.notExp');\n }\n}\n\nfunction getLabelData($table, columns, datas) {\n var treeConfig = $table.treeConfig,\n treeOpts = $table.treeOpts,\n scrollXLoad = $table.scrollXLoad,\n scrollYLoad = $table.scrollYLoad;\n\n if (treeConfig) {\n // 如果是树表格只允许导出数据源\n var rest = [];\n\n _xeUtils.default.eachTree(datas, function (row, rowIndex, items, path, parent, nodes) {\n var item = {\n _level: nodes.length - 1,\n _hasChild: hasTreeChildren($table, row)\n };\n columns.forEach(function (column, columnIndex) {\n var cellValue = '';\n\n switch (column.type) {\n // v3.0 废弃 type=index\n case 'seq':\n case 'index':\n cellValue = getSeq($table, row, rowIndex, column, columnIndex);\n break;\n // v3.0 废弃 type=selection\n\n case 'selection':\n case 'checkbox':\n cellValue = $table.isCheckedByCheckboxRow(row);\n break;\n\n case 'radio':\n cellValue = $table.isCheckedByRadioRow(row);\n break;\n\n default:\n cellValue = _tools.UtilTools.getCellLabel(row, column, {\n $table: $table\n });\n }\n\n item[column.id] = _xeUtils.default.toString(cellValue);\n });\n rest.push(Object.assign(item, row));\n }, treeOpts);\n\n return rest;\n }\n\n return datas.map(function (row, rowIndex) {\n var item = {};\n columns.forEach(function (column, columnIndex) {\n var cellValue = '';\n\n switch (column.type) {\n // v3.0 废弃 type=index\n case 'seq':\n case 'index':\n cellValue = getSeq($table, row, rowIndex, column, columnIndex);\n break;\n // v3.0 废弃 type=selection\n\n case 'selection':\n case 'checkbox':\n cellValue = $table.isCheckedByCheckboxRow(row);\n break;\n\n case 'radio':\n cellValue = $table.isCheckedByRadioRow(row);\n break;\n\n default:\n // 如果是启用虚拟滚动后只允许导出数据源\n if (scrollXLoad || scrollYLoad) {\n cellValue = _tools.UtilTools.getCellLabel(row, column, {\n $table: $table\n });\n } else {\n var cell = _tools.DomTools.getCell($table, {\n row: row,\n column: column\n });\n\n cellValue = cell ? cell.innerText.trim() : _tools.UtilTools.getCellLabel(row, column, {\n $table: $table\n });\n }\n\n }\n\n item[column.id] = _xeUtils.default.toString(cellValue);\n });\n return item;\n });\n}\n\nfunction getExportData($table, opts, fullData, oColumns) {\n var columns = opts.columns ? opts.columns : oColumns;\n var datas = opts.data || fullData;\n\n if (opts.columnFilterMethod) {\n columns = columns.filter(opts.columnFilterMethod);\n }\n\n if (opts.dataFilterMethod) {\n datas = datas.filter(opts.dataFilterMethod);\n }\n\n return {\n columns: columns,\n datas: getLabelData($table, columns, datas)\n };\n}\n\nfunction replaceDoubleQuotation(val) {\n return val.replace(/^\"/, '').replace(/\"$/, '');\n}\n\nfunction parseCsv(columns, content) {\n var list = content.split('\\n');\n var rows = [];\n var fields = [];\n\n if (list.length) {\n var rList = list.slice(1);\n fields = list[0].split(',').map(replaceDoubleQuotation);\n rList.forEach(function (r) {\n if (r) {\n var item = {};\n r.split(',').forEach(function (val, colIndex) {\n if (fields[colIndex]) {\n item[fields[colIndex]] = replaceDoubleQuotation(val);\n }\n });\n rows.push(item);\n }\n });\n }\n\n return {\n fields: fields,\n rows: rows\n };\n}\n\nfunction parseTxt(columns, content) {\n var list = content.split('\\n');\n var rows = [];\n var fields = [];\n\n if (list.length) {\n var rList = list.slice(1);\n fields = list[0].split('\\t');\n rList.forEach(function (r) {\n if (r) {\n var item = {};\n r.split('\\t').forEach(function (val, colIndex) {\n if (fields[colIndex]) {\n item[fields[colIndex]] = replaceDoubleQuotation(val);\n }\n });\n rows.push(item);\n }\n });\n }\n\n return {\n fields: fields,\n rows: rows\n };\n}\n\nfunction parseHTML(columns, content) {\n var domParser = new DOMParser();\n var xmlDoc = domParser.parseFromString(content, 'text/html');\n var bodyNodes = getElementsByTagName(xmlDoc, 'body');\n var rows = [];\n var fields = [];\n\n if (bodyNodes.length) {\n var tableNodes = getElementsByTagName(bodyNodes[0], 'table');\n\n if (tableNodes.length) {\n var theadNodes = getElementsByTagName(tableNodes[0], 'thead');\n\n if (theadNodes.length) {\n _xeUtils.default.arrayEach(getElementsByTagName(theadNodes[0], 'tr'), function (rowNode) {\n _xeUtils.default.arrayEach(getElementsByTagName(rowNode, 'th'), function (cellNode) {\n fields.push(cellNode.textContent);\n });\n });\n\n var tbodyNodes = getElementsByTagName(tableNodes[0], 'tbody');\n\n if (tbodyNodes.length) {\n _xeUtils.default.arrayEach(getElementsByTagName(tbodyNodes[0], 'tr'), function (rowNode) {\n var item = {};\n\n _xeUtils.default.arrayEach(getElementsByTagName(rowNode, 'td'), function (cellNode, colIndex) {\n if (fields[colIndex]) {\n item[fields[colIndex]] = cellNode.textContent || '';\n }\n });\n\n rows.push(item);\n });\n }\n }\n }\n }\n\n return {\n fields: fields,\n rows: rows\n };\n}\n\nfunction parseXML(columns, content) {\n var domParser = new DOMParser();\n var xmlDoc = domParser.parseFromString(content, 'application/xml');\n var sheetNodes = getElementsByTagName(xmlDoc, 'Worksheet');\n var rows = [];\n var fields = [];\n\n if (sheetNodes.length) {\n var tableNodes = getElementsByTagName(sheetNodes[0], 'Table');\n\n if (tableNodes.length) {\n var rowNodes = getElementsByTagName(tableNodes[0], 'Row');\n\n if (rowNodes.length) {\n _xeUtils.default.arrayEach(getElementsByTagName(rowNodes[0], 'Cell'), function (cellNode) {\n fields.push(cellNode.textContent);\n });\n\n _xeUtils.default.arrayEach(rowNodes, function (rowNode, index) {\n if (index) {\n var item = {};\n var cellNodes = getElementsByTagName(rowNode, 'Cell');\n\n _xeUtils.default.arrayEach(cellNodes, function (cellNode, colIndex) {\n if (fields[colIndex]) {\n item[fields[colIndex]] = cellNode.textContent;\n }\n });\n\n rows.push(item);\n }\n });\n }\n }\n }\n\n return {\n fields: fields,\n rows: rows\n };\n}\n\nfunction getElementsByTagName(elem, qualifiedName) {\n return elem.getElementsByTagName(qualifiedName);\n}\n/**\n * 检查导入的列是否完整\n * @param {Array} fields 字段名列表\n * @param {Array} rows 数据列表\n */\n\n\nfunction checkImportData(columns, fields, rows) {\n var tableFields = [];\n columns.forEach(function (column) {\n var field = column.property;\n\n if (field) {\n tableFields.push(field);\n }\n });\n return tableFields.every(function (field) {\n return fields.indexOf(field) > -1;\n });\n}\n\nfunction handleImport($table, content, opts) {\n var tableFullColumn = $table.tableFullColumn,\n _importResolve = $table._importResolve;\n var rest = {\n fields: [],\n rows: []\n };\n\n switch (opts.type) {\n case 'csv':\n rest = parseCsv(tableFullColumn, content);\n break;\n\n case 'txt':\n rest = parseTxt(tableFullColumn, content);\n break;\n\n case 'html':\n rest = parseHTML(tableFullColumn, content);\n break;\n\n case 'xml':\n rest = parseXML(tableFullColumn, content);\n break;\n }\n\n var _rest = rest,\n fields = _rest.fields,\n rows = _rest.rows;\n var status = checkImportData(tableFullColumn, fields, rows);\n\n if (status) {\n $table.createData(rows).then(function (data) {\n if (opts.mode === 'append') {\n $table.insertAt(data, -1);\n } else {\n $table.reloadData(data);\n }\n });\n\n if (opts.message !== false) {\n _vXETable.default.$modal.message({\n message: _conf.default.i18n('plx.table.impSuccess'),\n status: 'success'\n });\n }\n } else if (opts.message !== false) {\n _vXETable.default.$modal.message({\n message: _conf.default.i18n('plx.error.impFields'),\n status: 'error'\n });\n }\n\n if (_importResolve) {\n _importResolve(status);\n\n $table._importResolve = null;\n }\n}\n\nvar _default = {\n methods: {\n // 在 v3.0 中废弃 exportCsv 方法\n _exportCsv: function _exportCsv(options) {\n _tools.UtilTools.warn('plx.error.delFunc', ['exportCsv', 'exportData']);\n\n return this.exportData(options);\n },\n\n /**\n * 导出文件,支持 csv/html/xml/txt\n * 如果是树表格,则默认是导出所有节点\n * 如果是启用了虚拟滚动,则只能导出数据源,可以配合 dataFilterMethod 函数自行转换数据\n * @param {Object} options 参数\n */\n _exportData: function _exportData(options) {\n var visibleColumn = this.visibleColumn,\n tableFullData = this.tableFullData;\n var opts = Object.assign({\n filename: '',\n sheetName: '',\n original: false,\n message: false,\n isHeader: true,\n isFooter: true,\n download: true,\n type: 'csv',\n data: null,\n columns: null,\n // 在 v3.0 中废弃 type=selection\n columnFilterMethod: options && options.columns ? null : function (column) {\n return ['seq', 'index'].indexOf(column.type) > -1 || column.property;\n },\n dataFilterMethod: null,\n footerFilterMethod: null\n }, _conf.default.export, options);\n\n if (!opts.filename) {\n opts.filename = _xeUtils.default.template(_conf.default.i18n(opts.original ? 'plx.table.expOriginFilename' : 'plx.table.expFilename'), [_xeUtils.default.toDateString(Date.now(), 'yyyyMMddHHmmss')]);\n }\n\n if (!opts.sheetName) {\n opts.sheetName = _conf.default.i18n('plx.table.expSheetName');\n }\n\n if (_vXETable.default.exportTypes.indexOf(opts.type) === -1) {\n throw new Error(_tools.UtilTools.getLog('plx.error.notType', [opts.type]));\n }\n\n return handleExport(this, opts, visibleColumn, tableFullData);\n },\n _importByFile: function _importByFile(file, opts) {\n var _this = this;\n\n if (window.FileReader) {\n var _UtilTools$parseFile = _tools.UtilTools.parseFile(file),\n type = _UtilTools$parseFile.type,\n filename = _UtilTools$parseFile.filename;\n\n var options = Object.assign({\n mode: 'covering'\n }, opts, {\n type: type,\n filename: filename\n });\n var types = options.types || _vXETable.default.importTypes;\n\n if (types.indexOf(type) > -1) {\n this.preventEvent(null, 'event.import', {\n $table: this,\n file: file,\n options: options,\n columns: this.tableFullColumn\n }, function () {\n var reader = new FileReader();\n\n reader.onerror = function (e) {\n _tools.UtilTools.error('plx.error.notType', [type]);\n };\n\n reader.onload = function (e) {\n handleImport(_this, e.target.result.trim(), options);\n };\n\n reader.readAsText(file, 'UTF-8');\n });\n } else {\n _tools.UtilTools.error('plx.error.notType', [type]);\n }\n } else {\n _tools.UtilTools.error('plx.error.notExp');\n }\n },\n _importData: function _importData(options) {\n var _this2 = this;\n\n var opts = Object.assign({}, _conf.default.import, options);\n var rest = new Promise(function (resolve, reject) {\n _this2._importResolve = resolve;\n _this2._importReject = reject;\n });\n this.readFile(opts).then(function (evnt) {\n return _this2.importByFile(evnt.target.files[0], opts);\n }).catch(function (evnt) {\n _this2._importReject(evnt);\n\n _this2._importReject = null;\n });\n return rest;\n },\n _readFile: function _readFile() {\n var _this3 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (!fileForm.parentNode) {\n document.body.appendChild(fileForm);\n }\n\n var types = options.types || _vXETable.default.importTypes;\n\n if (options.multiple) {\n fileInput.multiple = 'multiple';\n }\n\n fileInput.accept = \".\".concat(types.join(', .'));\n\n fileInput.onchange = function (evnt) {\n var _UtilTools$parseFile2 = _tools.UtilTools.parseFile(evnt.target.files[0]),\n type = _UtilTools$parseFile2.type;\n\n if (types.indexOf(type) > -1) {\n _this3._fileResolve(evnt);\n } else {\n if (options.message !== false) {\n _vXETable.default.$modal.message({\n message: _xeUtils.default.template(_conf.default.i18n('plx.error.notType'), [type]),\n status: 'error'\n });\n }\n\n _this3._fileReject(evnt);\n }\n\n _this3._fileResolve = null;\n };\n\n fileForm.reset();\n fileInput.click();\n return new Promise(function (resolve, reject) {\n _this3._fileResolve = resolve;\n _this3._fileReject = reject;\n });\n },\n _print: function _print(options) {\n var opts = Object.assign({\n original: false\n }, options, {\n type: 'html',\n download: false,\n print: true\n });\n\n if (!opts.sheetName) {\n opts.sheetName = opts.filename;\n }\n\n this.exportData(opts).then(function (_ref) {\n var content = _ref.content,\n blob = _ref.blob;\n\n if (_tools.DomTools.browse.msie) {\n if (printFrame) {\n try {\n printFrame.contentDocument.write('');\n printFrame.contentDocument.clear();\n } catch (e) {}\n\n document.body.removeChild(printFrame);\n }\n\n printFrame = createFrame();\n document.body.appendChild(printFrame);\n printFrame.contentDocument.write(content);\n printFrame.contentDocument.execCommand('print');\n } else {\n if (!printFrame) {\n printFrame = createFrame();\n\n printFrame.onload = function (evnt) {\n if (evnt.target.src) {\n evnt.target.contentWindow.print();\n }\n };\n\n document.body.appendChild(printFrame);\n }\n\n printFrame.src = URL.createObjectURL(blob);\n }\n });\n },\n _openImport: function _openImport(options) {\n var defOpts = Object.assign({\n mode: 'covering',\n message: true\n }, options, this.importOpts);\n var isTree = !!this.getTreeStatus();\n\n if (isTree) {\n if (defOpts.message) {\n _vXETable.default.$modal.message({\n message: _conf.default.i18n('plx.error.treeNotImp'),\n status: 'error'\n });\n }\n\n return;\n }\n\n if (!this.importConfig) {\n _tools.UtilTools.warn('plx.error.reqProp', ['import-config']);\n }\n\n Object.assign(this.importStore, {\n file: null,\n type: '',\n filename: '',\n visible: true\n });\n Object.assign(this.importParams, defOpts);\n },\n _openExport: function _openExport(options) {\n var $toolbar = this.$toolbar,\n exportConfig = this.exportConfig,\n exportOpts = this.exportOpts,\n treeConfig = this.treeConfig,\n tableFullColumn = this.tableFullColumn,\n footerData = this.footerData;\n var selectRecords = this.getCheckboxRecords(); // v3.0 废弃 type=index\n\n var exportColumns = tableFullColumn.filter(function (column) {\n return ['seq', 'index'].indexOf(column.type) > -1 || column.property;\n });\n var isTree = !!treeConfig;\n var hasFooter = !!footerData.length;\n var defOpts = Object.assign({\n message: true,\n isHeader: true\n }, exportOpts, options);\n var types = defOpts.types || _vXETable.default.exportTypes;\n var checkMethod = exportOpts.checkMethod || ($toolbar ? $toolbar.customOpts.checkMethod : null);\n\n if (!exportConfig) {\n _tools.UtilTools.warn('plx.error.reqProp', ['export-config']);\n } // 处理类型\n\n\n defOpts.types = types.map(function (value) {\n return {\n value: value,\n label: \"plx.types.\".concat(value)\n };\n }); // 默认全部选中\n\n exportColumns.forEach(function (column) {\n column.checked = column.visible;\n column.disabled = checkMethod ? !checkMethod({\n column: column\n }) : false;\n }); // 更新条件\n\n Object.assign(this.exportStore, {\n columns: exportColumns,\n selectRecords: selectRecords,\n mode: selectRecords.length ? 'selected' : 'all',\n hasFooter: hasFooter,\n visible: true,\n isTree: isTree\n }); // 重置参数\n\n Object.assign(this.exportParams, {\n filename: defOpts.filename || '',\n sheetName: defOpts.sheetName || '',\n type: defOpts.type || defOpts.types[0].value,\n types: defOpts.types,\n original: defOpts.original,\n message: defOpts.message,\n isHeader: defOpts.isHeader,\n isFooter: hasFooter\n });\n return this.$nextTick();\n },\n confirmExportEvent: function confirmExportEvent(options) {\n this.exportData(Object.assign({}, this.exportOpts, options));\n },\n confirmImportEvent: function confirmImportEvent(options) {\n this.importByFile(this.importStore.file, Object.assign({}, this.importOpts, options));\n },\n confirmPrintEvent: function confirmPrintEvent(options) {\n this.print(Object.assign({}, this.printOpts, options));\n }\n }\n};\nexports.default = _default;","var isObject = require('./isObject')\r\nvar isString = require('./isString')\r\n\r\n/**\r\n * 字符串转JSON\r\n *\r\n * @param {String} str 字符串\r\n * @return {Object} 返回转换后对象\r\n */\r\nfunction toStringJSON (str) {\r\n if (isObject(str)) {\r\n return str\r\n } else if (isString(str)) {\r\n try {\r\n return JSON.parse(str)\r\n } catch (e) {}\r\n }\r\n return {}\r\n}\r\n\r\nmodule.exports = toStringJSON\r\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\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar modelUtil = require(\"../../util/model\");\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*/\nfunction _default(option) {\n createParallelIfNeeded(option);\n mergeAxisOptionFromParallel(option);\n}\n/**\n * Create a parallel coordinate if not exists.\n * @inner\n */\n\n\nfunction createParallelIfNeeded(option) {\n if (option.parallel) {\n return;\n }\n\n var hasParallelSeries = false;\n zrUtil.each(option.series, function (seriesOpt) {\n if (seriesOpt && seriesOpt.type === 'parallel') {\n hasParallelSeries = true;\n }\n });\n\n if (hasParallelSeries) {\n option.parallel = [{}];\n }\n}\n/**\n * Merge aixs definition from parallel option (if exists) to axis option.\n * @inner\n */\n\n\nfunction mergeAxisOptionFromParallel(option) {\n var axes = modelUtil.normalizeToArray(option.parallelAxis);\n zrUtil.each(axes, function (axisOption) {\n if (!zrUtil.isObject(axisOption)) {\n return;\n }\n\n var parallelIndex = axisOption.parallelIndex || 0;\n var parallelOption = modelUtil.normalizeToArray(option.parallel)[parallelIndex];\n\n if (parallelOption && parallelOption.parallelAxisDefault) {\n zrUtil.merge(axisOption, parallelOption.parallelAxisDefault, false);\n }\n });\n}\n\nmodule.exports = _default;","\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\nvar createRenderPlanner = require(\"../helper/createRenderPlanner\");\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/* global Float32Array */\nvar _default = {\n seriesType: 'lines',\n plan: createRenderPlanner(),\n reset: function (seriesModel) {\n var coordSys = seriesModel.coordinateSystem;\n var isPolyline = seriesModel.get('polyline');\n var isLarge = seriesModel.pipelineContext.large;\n\n function progress(params, lineData) {\n var lineCoords = [];\n\n if (isLarge) {\n var points;\n var segCount = params.end - params.start;\n\n if (isPolyline) {\n var totalCoordsCount = 0;\n\n for (var i = params.start; i < params.end; i++) {\n totalCoordsCount += seriesModel.getLineCoordsCount(i);\n }\n\n points = new Float32Array(segCount + totalCoordsCount * 2);\n } else {\n points = new Float32Array(segCount * 4);\n }\n\n var offset = 0;\n var pt = [];\n\n for (var i = params.start; i < params.end; i++) {\n var len = seriesModel.getLineCoords(i, lineCoords);\n\n if (isPolyline) {\n points[offset++] = len;\n }\n\n for (var k = 0; k < len; k++) {\n pt = coordSys.dataToPoint(lineCoords[k], false, pt);\n points[offset++] = pt[0];\n points[offset++] = pt[1];\n }\n }\n\n lineData.setLayout('linesPoints', points);\n } else {\n for (var i = params.start; i < params.end; i++) {\n var itemModel = lineData.getItemModel(i);\n var len = seriesModel.getLineCoords(i, lineCoords);\n var pts = [];\n\n if (isPolyline) {\n for (var j = 0; j < len; j++) {\n pts.push(coordSys.dataToPoint(lineCoords[j]));\n }\n } else {\n pts[0] = coordSys.dataToPoint(lineCoords[0]);\n pts[1] = coordSys.dataToPoint(lineCoords[1]);\n var curveness = itemModel.get('lineStyle.curveness');\n\n if (+curveness) {\n pts[2] = [(pts[0][0] + pts[1][0]) / 2 - (pts[0][1] - pts[1][1]) * curveness, (pts[0][1] + pts[1][1]) / 2 - (pts[1][0] - pts[0][0]) * curveness];\n }\n }\n\n lineData.setItemLayout(i, pts);\n }\n }\n }\n\n return {\n progress: progress\n };\n }\n};\nmodule.exports = _default;","var env = require(\"./env\");\n\nvar _fourPointsTransform = require(\"./fourPointsTransform\");\n\nvar buildTransformer = _fourPointsTransform.buildTransformer;\nvar EVENT_SAVED_PROP = '___zrEVENTSAVED';\nvar _calcOut = [];\n/**\n * Transform \"local coord\" from `elFrom` to `elTarget`.\n * \"local coord\": the coord based on the input `el`. The origin point is at\n * the position of \"left: 0; top: 0;\" in the `el`.\n *\n * Support when CSS transform is used.\n *\n * Having the `out` (that is, `[outX, outY]`), we can create an DOM element\n * and set the CSS style as \"left: outX; top: outY;\" and append it to `elTarge`\n * to locate the element.\n *\n * For example, this code below positions a child of `document.body` on the event\n * point, no matter whether `body` has `margin`/`paddin`/`transfrom`/... :\n * ```js\n * transformLocalCoord(out, container, document.body, event.offsetX, event.offsetY);\n * if (!eqNaN(out[0])) {\n * // Then locate the tip element on the event point.\n * var tipEl = document.createElement('div');\n * tipEl.style.cssText = 'position: absolute; left:' + out[0] + ';top:' + out[1] + ';';\n * document.body.appendChild(tipEl);\n * }\n * ```\n *\n * Notice: In some env this method is not supported. If called, `out` will be `[NaN, NaN]`.\n *\n * @param {Array.} out [inX: number, inY: number] The output..\n * If can not transform, `out` will not be modified but return `false`.\n * @param {HTMLElement} elFrom The `[inX, inY]` is based on elFrom.\n * @param {HTMLElement} elTarget The `out` is based on elTarget.\n * @param {number} inX\n * @param {number} inY\n * @return {boolean} Whether transform successfully.\n */\n\nfunction transformLocalCoord(out, elFrom, elTarget, inX, inY) {\n return transformCoordWithViewport(_calcOut, elFrom, inX, inY, true) && transformCoordWithViewport(out, elTarget, _calcOut[0], _calcOut[1]);\n}\n/**\n * Transform between a \"viewport coord\" and a \"local coord\".\n * \"viewport coord\": the coord based on the left-top corner of the viewport\n * of the browser.\n * \"local coord\": the coord based on the input `el`. The origin point is at\n * the position of \"left: 0; top: 0;\" in the `el`.\n *\n * Support the case when CSS transform is used on el.\n *\n * @param {Array.} out [inX: number, inY: number] The output. If `inverse: false`,\n * it represents \"local coord\", otherwise \"vireport coord\".\n * If can not transform, `out` will not be modified but return `false`.\n * @param {HTMLElement} el The \"local coord\" is based on the `el`, see comment above.\n * @param {number} inX If `inverse: false`,\n * it represents \"vireport coord\", otherwise \"local coord\".\n * @param {number} inY If `inverse: false`,\n * it represents \"vireport coord\", otherwise \"local coord\".\n * @param {boolean} [inverse=false]\n * `true`: from \"viewport coord\" to \"local coord\".\n * `false`: from \"local coord\" to \"viewport coord\".\n * @return {boolean} Whether transform successfully.\n */\n\n\nfunction transformCoordWithViewport(out, el, inX, inY, inverse) {\n if (el.getBoundingClientRect && env.domSupported && !isCanvasEl(el)) {\n var saved = el[EVENT_SAVED_PROP] || (el[EVENT_SAVED_PROP] = {});\n var markers = prepareCoordMarkers(el, saved);\n var transformer = preparePointerTransformer(markers, saved, inverse);\n\n if (transformer) {\n transformer(out, inX, inY);\n return true;\n }\n }\n\n return false;\n}\n\nfunction prepareCoordMarkers(el, saved) {\n var markers = saved.markers;\n\n if (markers) {\n return markers;\n }\n\n markers = saved.markers = [];\n var propLR = ['left', 'right'];\n var propTB = ['top', 'bottom'];\n\n for (var i = 0; i < 4; i++) {\n var marker = document.createElement('div');\n var stl = marker.style;\n var idxLR = i % 2;\n var idxTB = (i >> 1) % 2;\n stl.cssText = ['position: absolute', 'visibility: hidden', 'padding: 0', 'margin: 0', 'border-width: 0', 'user-select: none', 'width:0', 'height:0', // 'width: 5px',\n // 'height: 5px',\n propLR[idxLR] + ':0', propTB[idxTB] + ':0', propLR[1 - idxLR] + ':auto', propTB[1 - idxTB] + ':auto', ''].join('!important;');\n el.appendChild(marker);\n markers.push(marker);\n }\n\n return markers;\n}\n\nfunction preparePointerTransformer(markers, saved, inverse) {\n var transformerName = inverse ? 'invTrans' : 'trans';\n var transformer = saved[transformerName];\n var oldSrcCoords = saved.srcCoords;\n var oldCoordTheSame = true;\n var srcCoords = [];\n var destCoords = [];\n\n for (var i = 0; i < 4; i++) {\n var rect = markers[i].getBoundingClientRect();\n var ii = 2 * i;\n var x = rect.left;\n var y = rect.top;\n srcCoords.push(x, y);\n oldCoordTheSame = oldCoordTheSame && oldSrcCoords && x === oldSrcCoords[ii] && y === oldSrcCoords[ii + 1];\n destCoords.push(markers[i].offsetLeft, markers[i].offsetTop);\n } // Cache to avoid time consuming of `buildTransformer`.\n\n\n return oldCoordTheSame && transformer ? transformer : (saved.srcCoords = srcCoords, saved[transformerName] = inverse ? buildTransformer(destCoords, srcCoords) : buildTransformer(srcCoords, destCoords));\n}\n\nfunction isCanvasEl(el) {\n return el.nodeName.toUpperCase() === 'CANVAS';\n}\n\nexports.transformLocalCoord = transformLocalCoord;\nexports.transformCoordWithViewport = transformCoordWithViewport;\nexports.isCanvasEl = isCanvasEl;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var isString = require('./isString')\r\nvar isNumber = require('./isNumber')\r\n\r\n/**\r\n * 判断是否Element对象\r\n *\r\n * @param {Object} obj 对象\r\n * @return {Boolean}\r\n */\r\nfunction isElement (obj) {\r\n return !!(obj && isString(obj.nodeName) && isNumber(obj.nodeType))\r\n}\r\n\r\nmodule.exports = isElement\r\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\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar echarts = require(\"../../echarts\");\n\nvar axisPointerModelHelper = require(\"../axisPointer/modelHelper\");\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 * Base class of AxisView.\n */\nvar AxisView = echarts.extendComponentView({\n type: 'axis',\n\n /**\n * @private\n */\n _axisPointer: null,\n\n /**\n * @protected\n * @type {string}\n */\n axisPointerClass: null,\n\n /**\n * @override\n */\n render: function (axisModel, ecModel, api, payload) {\n // FIXME\n // This process should proformed after coordinate systems updated\n // (axis scale updated), and should be performed each time update.\n // So put it here temporarily, although it is not appropriate to\n // put a model-writing procedure in `view`.\n this.axisPointerClass && axisPointerModelHelper.fixValue(axisModel);\n AxisView.superApply(this, 'render', arguments);\n updateAxisPointer(this, axisModel, ecModel, api, payload, true);\n },\n\n /**\n * Action handler.\n * @public\n * @param {module:echarts/coord/cartesian/AxisModel} axisModel\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n * @param {Object} payload\n */\n updateAxisPointer: function (axisModel, ecModel, api, payload, force) {\n updateAxisPointer(this, axisModel, ecModel, api, payload, false);\n },\n\n /**\n * @override\n */\n remove: function (ecModel, api) {\n var axisPointer = this._axisPointer;\n axisPointer && axisPointer.remove(api);\n AxisView.superApply(this, 'remove', arguments);\n },\n\n /**\n * @override\n */\n dispose: function (ecModel, api) {\n disposeAxisPointer(this, api);\n AxisView.superApply(this, 'dispose', arguments);\n }\n});\n\nfunction updateAxisPointer(axisView, axisModel, ecModel, api, payload, forceRender) {\n var Clazz = AxisView.getAxisPointerClass(axisView.axisPointerClass);\n\n if (!Clazz) {\n return;\n }\n\n var axisPointerModel = axisPointerModelHelper.getAxisPointerModel(axisModel);\n axisPointerModel ? (axisView._axisPointer || (axisView._axisPointer = new Clazz())).render(axisModel, axisPointerModel, api, forceRender) : disposeAxisPointer(axisView, api);\n}\n\nfunction disposeAxisPointer(axisView, ecModel, api) {\n var axisPointer = axisView._axisPointer;\n axisPointer && axisPointer.dispose(ecModel, api);\n axisView._axisPointer = null;\n}\n\nvar axisPointerClazz = [];\n\nAxisView.registerAxisPointerClass = function (type, clazz) {\n axisPointerClazz[type] = clazz;\n};\n\nAxisView.getAxisPointerClass = function (type) {\n return type && axisPointerClazz[type];\n};\n\nvar _default = AxisView;\nmodule.exports = _default;","\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\nvar zrUtil = require(\"zrender/lib/core/util\");\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*/\nfunction _default(option) {\n var timelineOpt = option && option.timeline;\n\n if (!zrUtil.isArray(timelineOpt)) {\n timelineOpt = timelineOpt ? [timelineOpt] : [];\n }\n\n zrUtil.each(timelineOpt, function (opt) {\n if (!opt) {\n return;\n }\n\n compatibleEC2(opt);\n });\n}\n\nfunction compatibleEC2(opt) {\n var type = opt.type;\n var ec2Types = {\n 'number': 'value',\n 'time': 'time'\n }; // Compatible with ec2\n\n if (ec2Types[type]) {\n opt.axisType = ec2Types[type];\n delete opt.type;\n }\n\n transferItem(opt);\n\n if (has(opt, 'controlPosition')) {\n var controlStyle = opt.controlStyle || (opt.controlStyle = {});\n\n if (!has(controlStyle, 'position')) {\n controlStyle.position = opt.controlPosition;\n }\n\n if (controlStyle.position === 'none' && !has(controlStyle, 'show')) {\n controlStyle.show = false;\n delete controlStyle.position;\n }\n\n delete opt.controlPosition;\n }\n\n zrUtil.each(opt.data || [], function (dataItem) {\n if (zrUtil.isObject(dataItem) && !zrUtil.isArray(dataItem)) {\n if (!has(dataItem, 'value') && has(dataItem, 'name')) {\n // In ec2, using name as value.\n dataItem.value = dataItem.name;\n }\n\n transferItem(dataItem);\n }\n });\n}\n\nfunction transferItem(opt) {\n var itemStyle = opt.itemStyle || (opt.itemStyle = {});\n var itemStyleEmphasis = itemStyle.emphasis || (itemStyle.emphasis = {}); // Transfer label out\n\n var label = opt.label || opt.label || {};\n var labelNormal = label.normal || (label.normal = {});\n var excludeLabelAttr = {\n normal: 1,\n emphasis: 1\n };\n zrUtil.each(label, function (value, name) {\n if (!excludeLabelAttr[name] && !has(labelNormal, name)) {\n labelNormal[name] = value;\n }\n });\n\n if (itemStyleEmphasis.label && !has(label, 'emphasis')) {\n label.emphasis = itemStyleEmphasis.label;\n delete itemStyleEmphasis.label;\n }\n}\n\nfunction has(obj, attr) {\n return obj.hasOwnProperty(attr);\n}\n\nmodule.exports = _default;","\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\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Axis = require(\"../Axis\");\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 * @constructor module:echarts/coord/single/SingleAxis\n * @extends {module:echarts/coord/Axis}\n * @param {string} dim\n * @param {*} scale\n * @param {Array.} coordExtent\n * @param {string} axisType\n * @param {string} position\n */\nvar SingleAxis = function (dim, scale, coordExtent, axisType, position) {\n Axis.call(this, dim, scale, coordExtent);\n /**\n * Axis type\n * - 'category'\n * - 'value'\n * - 'time'\n * - 'log'\n * @type {string}\n */\n\n this.type = axisType || 'value';\n /**\n * Axis position\n * - 'top'\n * - 'bottom'\n * - 'left'\n * - 'right'\n * @type {string}\n */\n\n this.position = position || 'bottom';\n /**\n * Axis orient\n * - 'horizontal'\n * - 'vertical'\n * @type {[type]}\n */\n\n this.orient = null;\n};\n\nSingleAxis.prototype = {\n constructor: SingleAxis,\n\n /**\n * Axis model\n * @type {module:echarts/coord/single/AxisModel}\n */\n model: null,\n\n /**\n * Judge the orient of the axis.\n * @return {boolean}\n */\n isHorizontal: function () {\n var position = this.position;\n return position === 'top' || position === 'bottom';\n },\n\n /**\n * @override\n */\n pointToData: function (point, clamp) {\n return this.coordinateSystem.pointToData(point, clamp)[0];\n },\n\n /**\n * Convert the local coord(processed by dataToCoord())\n * to global coord(concrete pixel coord).\n * designated by module:echarts/coord/single/Single.\n * @type {Function}\n */\n toGlobalCoord: null,\n\n /**\n * Convert the global coord to local coord.\n * designated by module:echarts/coord/single/Single.\n * @type {Function}\n */\n toLocalCoord: null\n};\nzrUtil.inherits(SingleAxis, Axis);\nvar _default = SingleAxis;\nmodule.exports = _default;","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\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*/\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*/\nfunction _default(ecModel) {\n var legendModels = ecModel.findComponents({\n mainType: 'legend'\n });\n\n if (!legendModels || !legendModels.length) {\n return;\n }\n\n ecModel.eachSeriesByType('graph', function (graphSeries) {\n var categoriesData = graphSeries.getCategoriesData();\n var graph = graphSeries.getGraph();\n var data = graph.data;\n var categoryNames = categoriesData.mapArray(categoriesData.getName);\n data.filterSelf(function (idx) {\n var model = data.getItemModel(idx);\n var category = model.getShallow('category');\n\n if (category != null) {\n if (typeof category === 'number') {\n category = categoryNames[category];\n } // If in any legend component the status is not selected.\n\n\n for (var i = 0; i < legendModels.length; i++) {\n if (!legendModels[i].isSelected(category)) {\n return false;\n }\n }\n }\n\n return true;\n });\n }, this);\n}\n\nmodule.exports = _default;","\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\nvar echarts = require(\"../echarts\");\n\nrequire(\"./map/MapSeries\");\n\nrequire(\"./map/MapView\");\n\nrequire(\"../action/geoRoam\");\n\nrequire(\"../coord/geo/geoCreator\");\n\nvar mapSymbolLayout = require(\"./map/mapSymbolLayout\");\n\nvar mapVisual = require(\"./map/mapVisual\");\n\nvar mapDataStatistic = require(\"./map/mapDataStatistic\");\n\nvar backwardCompat = require(\"./map/backwardCompat\");\n\nvar createDataSelectAction = require(\"../action/createDataSelectAction\");\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*/\necharts.registerLayout(mapSymbolLayout);\necharts.registerVisual(mapVisual);\necharts.registerProcessor(echarts.PRIORITY.PROCESSOR.STATISTIC, mapDataStatistic);\necharts.registerPreprocessor(backwardCompat);\ncreateDataSelectAction('map', [{\n type: 'mapToggleSelect',\n event: 'mapselectchanged',\n method: 'toggleSelected'\n}, {\n type: 'mapSelect',\n event: 'mapselected',\n method: 'select'\n}, {\n type: 'mapUnSelect',\n event: 'mapunselected',\n method: 'unSelect'\n}]);","'use strict';\n// https://github.com/tc39/Array.prototype.includes\nvar $export = require('./_export');\nvar $includes = require('./_array-includes')(true);\n\n$export($export.P, 'Array', {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\nrequire('./_add-to-unscopables')('includes');\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\nvar createListFromArray = require(\"../helper/createListFromArray\");\n\nvar SeriesModel = require(\"../../model/Series\");\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*/\nvar _default = SeriesModel.extend({\n type: 'series.effectScatter',\n dependencies: ['grid', 'polar'],\n getInitialData: function (option, ecModel) {\n return createListFromArray(this.getSource(), this, {\n useEncodeDefaulter: true\n });\n },\n brushSelector: 'point',\n defaultOption: {\n coordinateSystem: 'cartesian2d',\n zlevel: 0,\n z: 2,\n legendHoverLink: true,\n effectType: 'ripple',\n progressive: 0,\n // When to show the effect, option: 'render'|'emphasis'\n showEffectOn: 'render',\n // Ripple effect config\n rippleEffect: {\n period: 4,\n // Scale of ripple\n scale: 2.5,\n // Brush type can be fill or stroke\n brushType: 'fill'\n },\n // Cartesian coordinate system\n // xAxisIndex: 0,\n // yAxisIndex: 0,\n // Polar coordinate system\n // polarIndex: 0,\n // Geo coordinate system\n // geoIndex: 0,\n // symbol: null, // 图形类型\n symbolSize: 10 // 图形大小,半宽(半径)参数,当图形为方向或菱形则总宽度为symbolSize * 2\n // symbolRotate: null, // 图形旋转控制\n // large: false,\n // Available when large is true\n // largeThreshold: 2000,\n // itemStyle: {\n // opacity: 1\n // }\n\n }\n});\n\nmodule.exports = _default;","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\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*/\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar _helper = require(\"./helper\");\n\nvar setLabel = _helper.setLabel;\n\nvar Model = require(\"../../model/Model\");\n\nvar barItemStyle = require(\"./barItemStyle\");\n\nvar Path = require(\"zrender/lib/graphic/Path\");\n\nvar Group = require(\"zrender/lib/container/Group\");\n\nvar _throttle = require(\"../../util/throttle\");\n\nvar throttle = _throttle.throttle;\n\nvar _createClipPathFromCoordSys = require(\"../helper/createClipPathFromCoordSys\");\n\nvar createClipPath = _createClipPathFromCoordSys.createClipPath;\n\nvar Sausage = require(\"../../util/shape/sausage\");\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*/\nvar BAR_BORDER_WIDTH_QUERY = ['itemStyle', 'barBorderWidth'];\nvar _eventPos = [0, 0]; // FIXME\n// Just for compatible with ec2.\n\nzrUtil.extend(Model.prototype, barItemStyle);\n\nfunction getClipArea(coord, data) {\n var coordSysClipArea = coord.getArea && coord.getArea();\n\n if (coord.type === 'cartesian2d') {\n var baseAxis = coord.getBaseAxis(); // When boundaryGap is false or using time axis. bar may exceed the grid.\n // We should not clip this part.\n // See test/bar2.html\n\n if (baseAxis.type !== 'category' || !baseAxis.onBand) {\n var expandWidth = data.getLayout('bandWidth');\n\n if (baseAxis.isHorizontal()) {\n coordSysClipArea.x -= expandWidth;\n coordSysClipArea.width += expandWidth * 2;\n } else {\n coordSysClipArea.y -= expandWidth;\n coordSysClipArea.height += expandWidth * 2;\n }\n }\n }\n\n return coordSysClipArea;\n}\n\nvar _default = echarts.extendChartView({\n type: 'bar',\n render: function (seriesModel, ecModel, api) {\n this._updateDrawMode(seriesModel);\n\n var coordinateSystemType = seriesModel.get('coordinateSystem');\n\n if (coordinateSystemType === 'cartesian2d' || coordinateSystemType === 'polar') {\n this._isLargeDraw ? this._renderLarge(seriesModel, ecModel, api) : this._renderNormal(seriesModel, ecModel, api);\n } else {}\n\n return this.group;\n },\n incrementalPrepareRender: function (seriesModel, ecModel, api) {\n this._clear();\n\n this._updateDrawMode(seriesModel);\n },\n incrementalRender: function (params, seriesModel, ecModel, api) {\n // Do not support progressive in normal mode.\n this._incrementalRenderLarge(params, seriesModel);\n },\n _updateDrawMode: function (seriesModel) {\n var isLargeDraw = seriesModel.pipelineContext.large;\n\n if (this._isLargeDraw == null || isLargeDraw ^ this._isLargeDraw) {\n this._isLargeDraw = isLargeDraw;\n\n this._clear();\n }\n },\n _renderNormal: function (seriesModel, ecModel, api) {\n var group = this.group;\n var data = seriesModel.getData();\n var oldData = this._data;\n var coord = seriesModel.coordinateSystem;\n var baseAxis = coord.getBaseAxis();\n var isHorizontalOrRadial;\n\n if (coord.type === 'cartesian2d') {\n isHorizontalOrRadial = baseAxis.isHorizontal();\n } else if (coord.type === 'polar') {\n isHorizontalOrRadial = baseAxis.dim === 'angle';\n }\n\n var animationModel = seriesModel.isAnimationEnabled() ? seriesModel : null;\n var needsClip = seriesModel.get('clip', true);\n var coordSysClipArea = getClipArea(coord, data); // If there is clipPath created in large mode. Remove it.\n\n group.removeClipPath(); // We don't use clipPath in normal mode because we needs a perfect animation\n // And don't want the label are clipped.\n\n var roundCap = seriesModel.get('roundCap', true);\n var drawBackground = seriesModel.get('showBackground', true);\n var backgroundModel = seriesModel.getModel('backgroundStyle');\n var barBorderRadius = backgroundModel.get('barBorderRadius') || 0;\n var bgEls = [];\n var oldBgEls = this._backgroundEls || [];\n\n var createBackground = function (dataIndex) {\n var bgLayout = getLayout[coord.type](data, dataIndex);\n var bgEl = createBackgroundEl(coord, isHorizontalOrRadial, bgLayout);\n bgEl.useStyle(backgroundModel.getBarItemStyle()); // Only cartesian2d support borderRadius.\n\n if (coord.type === 'cartesian2d') {\n bgEl.setShape('r', barBorderRadius);\n }\n\n bgEls[dataIndex] = bgEl;\n return bgEl;\n };\n\n data.diff(oldData).add(function (dataIndex) {\n var itemModel = data.getItemModel(dataIndex);\n var layout = getLayout[coord.type](data, dataIndex, itemModel);\n\n if (drawBackground) {\n createBackground(dataIndex);\n } // If dataZoom in filteMode: 'empty', the baseValue can be set as NaN in \"axisProxy\".\n\n\n if (!data.hasValue(dataIndex)) {\n return;\n }\n\n if (needsClip) {\n // Clip will modify the layout params.\n // And return a boolean to determine if the shape are fully clipped.\n var isClipped = clip[coord.type](coordSysClipArea, layout);\n\n if (isClipped) {\n group.remove(el);\n return;\n }\n }\n\n var el = elementCreator[coord.type](dataIndex, layout, isHorizontalOrRadial, animationModel, false, roundCap);\n data.setItemGraphicEl(dataIndex, el);\n group.add(el);\n updateStyle(el, data, dataIndex, itemModel, layout, seriesModel, isHorizontalOrRadial, coord.type === 'polar');\n }).update(function (newIndex, oldIndex) {\n var itemModel = data.getItemModel(newIndex);\n var layout = getLayout[coord.type](data, newIndex, itemModel);\n\n if (drawBackground) {\n var bgEl;\n\n if (oldBgEls.length === 0) {\n bgEl = createBackground(oldIndex);\n } else {\n bgEl = oldBgEls[oldIndex];\n bgEl.useStyle(backgroundModel.getBarItemStyle()); // Only cartesian2d support borderRadius.\n\n if (coord.type === 'cartesian2d') {\n bgEl.setShape('r', barBorderRadius);\n }\n\n bgEls[newIndex] = bgEl;\n }\n\n var bgLayout = getLayout[coord.type](data, newIndex);\n var shape = createBackgroundShape(isHorizontalOrRadial, bgLayout, coord);\n graphic.updateProps(bgEl, {\n shape: shape\n }, animationModel, newIndex);\n }\n\n var el = oldData.getItemGraphicEl(oldIndex);\n\n if (!data.hasValue(newIndex)) {\n group.remove(el);\n return;\n }\n\n if (needsClip) {\n var isClipped = clip[coord.type](coordSysClipArea, layout);\n\n if (isClipped) {\n group.remove(el);\n return;\n }\n }\n\n if (el) {\n graphic.updateProps(el, {\n shape: layout\n }, animationModel, newIndex);\n } else {\n el = elementCreator[coord.type](newIndex, layout, isHorizontalOrRadial, animationModel, true, roundCap);\n }\n\n data.setItemGraphicEl(newIndex, el); // Add back\n\n group.add(el);\n updateStyle(el, data, newIndex, itemModel, layout, seriesModel, isHorizontalOrRadial, coord.type === 'polar');\n }).remove(function (dataIndex) {\n var el = oldData.getItemGraphicEl(dataIndex);\n\n if (coord.type === 'cartesian2d') {\n el && removeRect(dataIndex, animationModel, el);\n } else {\n el && removeSector(dataIndex, animationModel, el);\n }\n }).execute();\n var bgGroup = this._backgroundGroup || (this._backgroundGroup = new Group());\n bgGroup.removeAll();\n\n for (var i = 0; i < bgEls.length; ++i) {\n bgGroup.add(bgEls[i]);\n }\n\n group.add(bgGroup);\n this._backgroundEls = bgEls;\n this._data = data;\n },\n _renderLarge: function (seriesModel, ecModel, api) {\n this._clear();\n\n createLarge(seriesModel, this.group); // Use clipPath in large mode.\n\n var clipPath = seriesModel.get('clip', true) ? createClipPath(seriesModel.coordinateSystem, false, seriesModel) : null;\n\n if (clipPath) {\n this.group.setClipPath(clipPath);\n } else {\n this.group.removeClipPath();\n }\n },\n _incrementalRenderLarge: function (params, seriesModel) {\n this._removeBackground();\n\n createLarge(seriesModel, this.group, true);\n },\n dispose: zrUtil.noop,\n remove: function (ecModel) {\n this._clear(ecModel);\n },\n _clear: function (ecModel) {\n var group = this.group;\n var data = this._data;\n\n if (ecModel && ecModel.get('animation') && data && !this._isLargeDraw) {\n this._removeBackground();\n\n this._backgroundEls = [];\n data.eachItemGraphicEl(function (el) {\n if (el.type === 'sector') {\n removeSector(el.dataIndex, ecModel, el);\n } else {\n removeRect(el.dataIndex, ecModel, el);\n }\n });\n } else {\n group.removeAll();\n }\n\n this._data = null;\n },\n _removeBackground: function () {\n this.group.remove(this._backgroundGroup);\n this._backgroundGroup = null;\n }\n});\n\nvar mathMax = Math.max;\nvar mathMin = Math.min;\nvar clip = {\n cartesian2d: function (coordSysBoundingRect, layout) {\n var signWidth = layout.width < 0 ? -1 : 1;\n var signHeight = layout.height < 0 ? -1 : 1; // Needs positive width and height\n\n if (signWidth < 0) {\n layout.x += layout.width;\n layout.width = -layout.width;\n }\n\n if (signHeight < 0) {\n layout.y += layout.height;\n layout.height = -layout.height;\n }\n\n var x = mathMax(layout.x, coordSysBoundingRect.x);\n var x2 = mathMin(layout.x + layout.width, coordSysBoundingRect.x + coordSysBoundingRect.width);\n var y = mathMax(layout.y, coordSysBoundingRect.y);\n var y2 = mathMin(layout.y + layout.height, coordSysBoundingRect.y + coordSysBoundingRect.height);\n layout.x = x;\n layout.y = y;\n layout.width = x2 - x;\n layout.height = y2 - y;\n var clipped = layout.width < 0 || layout.height < 0; // Reverse back\n\n if (signWidth < 0) {\n layout.x += layout.width;\n layout.width = -layout.width;\n }\n\n if (signHeight < 0) {\n layout.y += layout.height;\n layout.height = -layout.height;\n }\n\n return clipped;\n },\n polar: function (coordSysClipArea, layout) {\n var signR = layout.r0 <= layout.r ? 1 : -1; // Make sure r is larger than r0\n\n if (signR < 0) {\n var r = layout.r;\n layout.r = layout.r0;\n layout.r0 = r;\n }\n\n var r = mathMin(layout.r, coordSysClipArea.r);\n var r0 = mathMax(layout.r0, coordSysClipArea.r0);\n layout.r = r;\n layout.r0 = r0;\n var clipped = r - r0 < 0; // Reverse back\n\n if (signR < 0) {\n var r = layout.r;\n layout.r = layout.r0;\n layout.r0 = r;\n }\n\n return clipped;\n }\n};\nvar elementCreator = {\n cartesian2d: function (dataIndex, layout, isHorizontal, animationModel, isUpdate) {\n var rect = new graphic.Rect({\n shape: zrUtil.extend({}, layout),\n z2: 1\n });\n rect.name = 'item'; // Animation\n\n if (animationModel) {\n var rectShape = rect.shape;\n var animateProperty = isHorizontal ? 'height' : 'width';\n var animateTarget = {};\n rectShape[animateProperty] = 0;\n animateTarget[animateProperty] = layout[animateProperty];\n graphic[isUpdate ? 'updateProps' : 'initProps'](rect, {\n shape: animateTarget\n }, animationModel, dataIndex);\n }\n\n return rect;\n },\n polar: function (dataIndex, layout, isRadial, animationModel, isUpdate, roundCap) {\n // Keep the same logic with bar in catesion: use end value to control\n // direction. Notice that if clockwise is true (by default), the sector\n // will always draw clockwisely, no matter whether endAngle is greater\n // or less than startAngle.\n var clockwise = layout.startAngle < layout.endAngle;\n var ShapeClass = !isRadial && roundCap ? Sausage : graphic.Sector;\n var sector = new ShapeClass({\n shape: zrUtil.defaults({\n clockwise: clockwise\n }, layout),\n z2: 1\n });\n sector.name = 'item'; // Animation\n\n if (animationModel) {\n var sectorShape = sector.shape;\n var animateProperty = isRadial ? 'r' : 'endAngle';\n var animateTarget = {};\n sectorShape[animateProperty] = isRadial ? 0 : layout.startAngle;\n animateTarget[animateProperty] = layout[animateProperty];\n graphic[isUpdate ? 'updateProps' : 'initProps'](sector, {\n shape: animateTarget\n }, animationModel, dataIndex);\n }\n\n return sector;\n }\n};\n\nfunction removeRect(dataIndex, animationModel, el) {\n // Not show text when animating\n el.style.text = null;\n graphic.updateProps(el, {\n shape: {\n width: 0\n }\n }, animationModel, dataIndex, function () {\n el.parent && el.parent.remove(el);\n });\n}\n\nfunction removeSector(dataIndex, animationModel, el) {\n // Not show text when animating\n el.style.text = null;\n graphic.updateProps(el, {\n shape: {\n r: el.shape.r0\n }\n }, animationModel, dataIndex, function () {\n el.parent && el.parent.remove(el);\n });\n}\n\nvar getLayout = {\n // itemModel is only used to get borderWidth, which is not needed\n // when calculating bar background layout.\n cartesian2d: function (data, dataIndex, itemModel) {\n var layout = data.getItemLayout(dataIndex);\n var fixedLineWidth = itemModel ? getLineWidth(itemModel, layout) : 0; // fix layout with lineWidth\n\n var signX = layout.width > 0 ? 1 : -1;\n var signY = layout.height > 0 ? 1 : -1;\n return {\n x: layout.x + signX * fixedLineWidth / 2,\n y: layout.y + signY * fixedLineWidth / 2,\n width: layout.width - signX * fixedLineWidth,\n height: layout.height - signY * fixedLineWidth\n };\n },\n polar: function (data, dataIndex, itemModel) {\n var layout = data.getItemLayout(dataIndex);\n return {\n cx: layout.cx,\n cy: layout.cy,\n r0: layout.r0,\n r: layout.r,\n startAngle: layout.startAngle,\n endAngle: layout.endAngle\n };\n }\n};\n\nfunction isZeroOnPolar(layout) {\n return layout.startAngle != null && layout.endAngle != null && layout.startAngle === layout.endAngle;\n}\n\nfunction updateStyle(el, data, dataIndex, itemModel, layout, seriesModel, isHorizontal, isPolar) {\n var color = data.getItemVisual(dataIndex, 'color');\n var opacity = data.getItemVisual(dataIndex, 'opacity');\n var stroke = data.getVisual('borderColor');\n var itemStyleModel = itemModel.getModel('itemStyle');\n var hoverStyle = itemModel.getModel('emphasis.itemStyle').getBarItemStyle();\n\n if (!isPolar) {\n el.setShape('r', itemStyleModel.get('barBorderRadius') || 0);\n }\n\n el.useStyle(zrUtil.defaults({\n stroke: isZeroOnPolar(layout) ? 'none' : stroke,\n fill: isZeroOnPolar(layout) ? 'none' : color,\n opacity: opacity\n }, itemStyleModel.getBarItemStyle()));\n var cursorStyle = itemModel.getShallow('cursor');\n cursorStyle && el.attr('cursor', cursorStyle);\n var labelPositionOutside = isHorizontal ? layout.height > 0 ? 'bottom' : 'top' : layout.width > 0 ? 'left' : 'right';\n\n if (!isPolar) {\n setLabel(el.style, hoverStyle, itemModel, color, seriesModel, dataIndex, labelPositionOutside);\n }\n\n if (isZeroOnPolar(layout)) {\n hoverStyle.fill = hoverStyle.stroke = 'none';\n }\n\n graphic.setHoverStyle(el, hoverStyle);\n} // In case width or height are too small.\n\n\nfunction getLineWidth(itemModel, rawLayout) {\n var lineWidth = itemModel.get(BAR_BORDER_WIDTH_QUERY) || 0; // width or height may be NaN for empty data\n\n var width = isNaN(rawLayout.width) ? Number.MAX_VALUE : Math.abs(rawLayout.width);\n var height = isNaN(rawLayout.height) ? Number.MAX_VALUE : Math.abs(rawLayout.height);\n return Math.min(lineWidth, width, height);\n}\n\nvar LargePath = Path.extend({\n type: 'largeBar',\n shape: {\n points: []\n },\n buildPath: function (ctx, shape) {\n // Drawing lines is more efficient than drawing\n // a whole line or drawing rects.\n var points = shape.points;\n var startPoint = this.__startPoint;\n var baseDimIdx = this.__baseDimIdx;\n\n for (var i = 0; i < points.length; i += 2) {\n startPoint[baseDimIdx] = points[i + baseDimIdx];\n ctx.moveTo(startPoint[0], startPoint[1]);\n ctx.lineTo(points[i], points[i + 1]);\n }\n }\n});\n\nfunction createLarge(seriesModel, group, incremental) {\n // TODO support polar\n var data = seriesModel.getData();\n var startPoint = [];\n var baseDimIdx = data.getLayout('valueAxisHorizontal') ? 1 : 0;\n startPoint[1 - baseDimIdx] = data.getLayout('valueAxisStart');\n var largeDataIndices = data.getLayout('largeDataIndices');\n var barWidth = data.getLayout('barWidth');\n var backgroundModel = seriesModel.getModel('backgroundStyle');\n var drawBackground = seriesModel.get('showBackground', true);\n\n if (drawBackground) {\n var points = data.getLayout('largeBackgroundPoints');\n var backgroundStartPoint = [];\n backgroundStartPoint[1 - baseDimIdx] = data.getLayout('backgroundStart');\n var bgEl = new LargePath({\n shape: {\n points: points\n },\n incremental: !!incremental,\n __startPoint: backgroundStartPoint,\n __baseDimIdx: baseDimIdx,\n __largeDataIndices: largeDataIndices,\n __barWidth: barWidth,\n silent: true,\n z2: 0\n });\n setLargeBackgroundStyle(bgEl, backgroundModel, data);\n group.add(bgEl);\n }\n\n var el = new LargePath({\n shape: {\n points: data.getLayout('largePoints')\n },\n incremental: !!incremental,\n __startPoint: startPoint,\n __baseDimIdx: baseDimIdx,\n __largeDataIndices: largeDataIndices,\n __barWidth: barWidth\n });\n group.add(el);\n setLargeStyle(el, seriesModel, data); // Enable tooltip and user mouse/touch event handlers.\n\n el.seriesIndex = seriesModel.seriesIndex;\n\n if (!seriesModel.get('silent')) {\n el.on('mousedown', largePathUpdateDataIndex);\n el.on('mousemove', largePathUpdateDataIndex);\n }\n} // Use throttle to avoid frequently traverse to find dataIndex.\n\n\nvar largePathUpdateDataIndex = throttle(function (event) {\n var largePath = this;\n var dataIndex = largePathFindDataIndex(largePath, event.offsetX, event.offsetY);\n largePath.dataIndex = dataIndex >= 0 ? dataIndex : null;\n}, 30, false);\n\nfunction largePathFindDataIndex(largePath, x, y) {\n var baseDimIdx = largePath.__baseDimIdx;\n var valueDimIdx = 1 - baseDimIdx;\n var points = largePath.shape.points;\n var largeDataIndices = largePath.__largeDataIndices;\n var barWidthHalf = Math.abs(largePath.__barWidth / 2);\n var startValueVal = largePath.__startPoint[valueDimIdx];\n _eventPos[0] = x;\n _eventPos[1] = y;\n var pointerBaseVal = _eventPos[baseDimIdx];\n var pointerValueVal = _eventPos[1 - baseDimIdx];\n var baseLowerBound = pointerBaseVal - barWidthHalf;\n var baseUpperBound = pointerBaseVal + barWidthHalf;\n\n for (var i = 0, len = points.length / 2; i < len; i++) {\n var ii = i * 2;\n var barBaseVal = points[ii + baseDimIdx];\n var barValueVal = points[ii + valueDimIdx];\n\n if (barBaseVal >= baseLowerBound && barBaseVal <= baseUpperBound && (startValueVal <= barValueVal ? pointerValueVal >= startValueVal && pointerValueVal <= barValueVal : pointerValueVal >= barValueVal && pointerValueVal <= startValueVal)) {\n return largeDataIndices[i];\n }\n }\n\n return -1;\n}\n\nfunction setLargeStyle(el, seriesModel, data) {\n var borderColor = data.getVisual('borderColor') || data.getVisual('color');\n var itemStyle = seriesModel.getModel('itemStyle').getItemStyle(['color', 'borderColor']);\n el.useStyle(itemStyle);\n el.style.fill = null;\n el.style.stroke = borderColor;\n el.style.lineWidth = data.getLayout('barWidth');\n}\n\nfunction setLargeBackgroundStyle(el, backgroundModel, data) {\n var borderColor = backgroundModel.get('borderColor') || backgroundModel.get('color');\n var itemStyle = backgroundModel.getItemStyle(['color', 'borderColor']);\n el.useStyle(itemStyle);\n el.style.fill = null;\n el.style.stroke = borderColor;\n el.style.lineWidth = data.getLayout('barWidth');\n}\n\nfunction createBackgroundShape(isHorizontalOrRadial, layout, coord) {\n var coordLayout;\n var isPolar = coord.type === 'polar';\n\n if (isPolar) {\n coordLayout = coord.getArea();\n } else {\n coordLayout = coord.grid.getRect();\n }\n\n if (isPolar) {\n return {\n cx: coordLayout.cx,\n cy: coordLayout.cy,\n r0: isHorizontalOrRadial ? coordLayout.r0 : layout.r0,\n r: isHorizontalOrRadial ? coordLayout.r : layout.r,\n startAngle: isHorizontalOrRadial ? layout.startAngle : 0,\n endAngle: isHorizontalOrRadial ? layout.endAngle : Math.PI * 2\n };\n } else {\n return {\n x: isHorizontalOrRadial ? layout.x : coordLayout.x,\n y: isHorizontalOrRadial ? coordLayout.y : layout.y,\n width: isHorizontalOrRadial ? layout.width : coordLayout.width,\n height: isHorizontalOrRadial ? coordLayout.height : layout.height\n };\n }\n}\n\nfunction createBackgroundEl(coord, isHorizontalOrRadial, layout) {\n var ElementClz = coord.type === 'polar' ? graphic.Sector : graphic.Rect;\n return new ElementClz({\n shape: createBackgroundShape(isHorizontalOrRadial, layout, coord),\n silent: true,\n z2: 0\n });\n}\n\nmodule.exports = _default;","var hasOwnProp = require('../base/hasOwnProp')\r\nvar isArray = require('../base/isArray')\r\n\r\nfunction helperCreateIterateHandle (prop, useArray, restIndex, matchValue, defaultValue) {\r\n return function (obj, iterate, context) {\r\n if (obj && iterate) {\r\n if (prop && obj[prop]) {\r\n return obj[prop](iterate, context)\r\n } else {\r\n if (useArray && isArray(obj)) {\r\n for (var index = 0, len = obj.length; index < len; index++) {\r\n if (!!iterate.call(context, obj[index], index, obj) === matchValue) {\r\n return [true, false, index, obj[index]][restIndex]\r\n }\r\n }\r\n } else {\r\n for (var key in obj) {\r\n if (hasOwnProp(obj, key)) {\r\n if (!!iterate.call(context, obj[key], key, obj) === matchValue) {\r\n return [true, false, key, obj[key]][restIndex]\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return defaultValue\r\n }\r\n}\r\n\r\nmodule.exports = helperCreateIterateHandle\r\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","var _curve = require(\"../core/curve\");\n\nvar quadraticProjectPoint = _curve.quadraticProjectPoint;\n\n/**\n * 二次贝塞尔曲线描边包含判断\n * @param {number} x0\n * @param {number} y0\n * @param {number} x1\n * @param {number} y1\n * @param {number} x2\n * @param {number} y2\n * @param {number} lineWidth\n * @param {number} x\n * @param {number} y\n * @return {boolean}\n */\nfunction containStroke(x0, y0, x1, y1, x2, y2, lineWidth, x, y) {\n if (lineWidth === 0) {\n return false;\n }\n\n var _l = lineWidth; // Quick reject\n\n if (y > y0 + _l && y > y1 + _l && y > y2 + _l || y < y0 - _l && y < y1 - _l && y < y2 - _l || x > x0 + _l && x > x1 + _l && x > x2 + _l || x < x0 - _l && x < x1 - _l && x < x2 - _l) {\n return false;\n }\n\n var d = quadraticProjectPoint(x0, y0, x1, y1, x2, y2, x, y, null);\n return d <= _l / 2;\n}\n\nexports.containStroke = containStroke;","\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\nvar Component = require(\"../../model/Component\");\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*/\nComponent.registerSubTypeDefaulter('dataZoom', function () {\n // Default 'slider' when no type specified.\n return 'slider';\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\nvar _config = require(\"../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar OrdinalScale = require(\"../scale/Ordinal\");\n\nvar IntervalScale = require(\"../scale/Interval\");\n\nvar Scale = require(\"../scale/Scale\");\n\nvar numberUtil = require(\"../util/number\");\n\nvar _barGrid = require(\"../layout/barGrid\");\n\nvar prepareLayoutBarSeries = _barGrid.prepareLayoutBarSeries;\nvar makeColumnLayout = _barGrid.makeColumnLayout;\nvar retrieveColumnLayout = _barGrid.retrieveColumnLayout;\n\nvar BoundingRect = require(\"zrender/lib/core/BoundingRect\");\n\nrequire(\"../scale/Time\");\n\nrequire(\"../scale/Log\");\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 * Get axis scale extent before niced.\n * Item of returned array can only be number (including Infinity and NaN).\n */\nfunction getScaleExtent(scale, model) {\n var scaleType = scale.type;\n var min = model.getMin();\n var max = model.getMax();\n var originalExtent = scale.getExtent();\n var axisDataLen;\n var boundaryGap;\n var span;\n\n if (scaleType === 'ordinal') {\n axisDataLen = model.getCategories().length;\n } else {\n boundaryGap = model.get('boundaryGap');\n\n if (!zrUtil.isArray(boundaryGap)) {\n boundaryGap = [boundaryGap || 0, boundaryGap || 0];\n }\n\n if (typeof boundaryGap[0] === 'boolean') {\n boundaryGap = [0, 0];\n }\n\n boundaryGap[0] = numberUtil.parsePercent(boundaryGap[0], 1);\n boundaryGap[1] = numberUtil.parsePercent(boundaryGap[1], 1);\n span = originalExtent[1] - originalExtent[0] || Math.abs(originalExtent[0]);\n } // Notice: When min/max is not set (that is, when there are null/undefined,\n // which is the most common case), these cases should be ensured:\n // (1) For 'ordinal', show all axis.data.\n // (2) For others:\n // + `boundaryGap` is applied (if min/max set, boundaryGap is\n // disabled).\n // + If `needCrossZero`, min/max should be zero, otherwise, min/max should\n // be the result that originalExtent enlarged by boundaryGap.\n // (3) If no data, it should be ensured that `scale.setBlank` is set.\n // FIXME\n // (1) When min/max is 'dataMin' or 'dataMax', should boundaryGap be able to used?\n // (2) When `needCrossZero` and all data is positive/negative, should it be ensured\n // that the results processed by boundaryGap are positive/negative?\n\n\n if (min === 'dataMin') {\n min = originalExtent[0];\n } else if (typeof min === 'function') {\n min = min({\n min: originalExtent[0],\n max: originalExtent[1]\n });\n }\n\n if (max === 'dataMax') {\n max = originalExtent[1];\n } else if (typeof max === 'function') {\n max = max({\n min: originalExtent[0],\n max: originalExtent[1]\n });\n }\n\n var fixMin = min != null;\n var fixMax = max != null;\n\n if (min == null) {\n min = scaleType === 'ordinal' ? axisDataLen ? 0 : NaN : originalExtent[0] - boundaryGap[0] * span;\n }\n\n if (max == null) {\n max = scaleType === 'ordinal' ? axisDataLen ? axisDataLen - 1 : NaN : originalExtent[1] + boundaryGap[1] * span;\n }\n\n (min == null || !isFinite(min)) && (min = NaN);\n (max == null || !isFinite(max)) && (max = NaN);\n scale.setBlank(zrUtil.eqNaN(min) || zrUtil.eqNaN(max) || scaleType === 'ordinal' && !scale.getOrdinalMeta().categories.length); // Evaluate if axis needs cross zero\n\n if (model.getNeedCrossZero()) {\n // Axis is over zero and min is not set\n if (min > 0 && max > 0 && !fixMin) {\n min = 0;\n } // Axis is under zero and max is not set\n\n\n if (min < 0 && max < 0 && !fixMax) {\n max = 0;\n }\n } // If bars are placed on a base axis of type time or interval account for axis boundary overflow and current axis\n // is base axis\n // FIXME\n // (1) Consider support value axis, where below zero and axis `onZero` should be handled properly.\n // (2) Refactor the logic with `barGrid`. Is it not need to `makeBarWidthAndOffsetInfo` twice with different extent?\n // Should not depend on series type `bar`?\n // (3) Fix that might overlap when using dataZoom.\n // (4) Consider other chart types using `barGrid`?\n // See #6728, #4862, `test/bar-overflow-time-plot.html`\n\n\n var ecModel = model.ecModel;\n\n if (ecModel && scaleType === 'time'\n /*|| scaleType === 'interval' */\n ) {\n var barSeriesModels = prepareLayoutBarSeries('bar', ecModel);\n var isBaseAxisAndHasBarSeries;\n zrUtil.each(barSeriesModels, function (seriesModel) {\n isBaseAxisAndHasBarSeries |= seriesModel.getBaseAxis() === model.axis;\n });\n\n if (isBaseAxisAndHasBarSeries) {\n // Calculate placement of bars on axis\n var barWidthAndOffset = makeColumnLayout(barSeriesModels); // Adjust axis min and max to account for overflow\n\n var adjustedScale = adjustScaleForOverflow(min, max, model, barWidthAndOffset);\n min = adjustedScale.min;\n max = adjustedScale.max;\n }\n }\n\n return {\n extent: [min, max],\n // \"fix\" means \"fixed\", the value should not be\n // changed in the subsequent steps.\n fixMin: fixMin,\n fixMax: fixMax\n };\n}\n\nfunction adjustScaleForOverflow(min, max, model, barWidthAndOffset) {\n // Get Axis Length\n var axisExtent = model.axis.getExtent();\n var axisLength = axisExtent[1] - axisExtent[0]; // Get bars on current base axis and calculate min and max overflow\n\n var barsOnCurrentAxis = retrieveColumnLayout(barWidthAndOffset, model.axis);\n\n if (barsOnCurrentAxis === undefined) {\n return {\n min: min,\n max: max\n };\n }\n\n var minOverflow = Infinity;\n zrUtil.each(barsOnCurrentAxis, function (item) {\n minOverflow = Math.min(item.offset, minOverflow);\n });\n var maxOverflow = -Infinity;\n zrUtil.each(barsOnCurrentAxis, function (item) {\n maxOverflow = Math.max(item.offset + item.width, maxOverflow);\n });\n minOverflow = Math.abs(minOverflow);\n maxOverflow = Math.abs(maxOverflow);\n var totalOverFlow = minOverflow + maxOverflow; // Calulate required buffer based on old range and overflow\n\n var oldRange = max - min;\n var oldRangePercentOfNew = 1 - (minOverflow + maxOverflow) / axisLength;\n var overflowBuffer = oldRange / oldRangePercentOfNew - oldRange;\n max += overflowBuffer * (maxOverflow / totalOverFlow);\n min -= overflowBuffer * (minOverflow / totalOverFlow);\n return {\n min: min,\n max: max\n };\n}\n\nfunction niceScaleExtent(scale, model) {\n var extentInfo = getScaleExtent(scale, model);\n var extent = extentInfo.extent;\n var splitNumber = model.get('splitNumber');\n\n if (scale.type === 'log') {\n scale.base = model.get('logBase');\n }\n\n var scaleType = scale.type;\n scale.setExtent(extent[0], extent[1]);\n scale.niceExtent({\n splitNumber: splitNumber,\n fixMin: extentInfo.fixMin,\n fixMax: extentInfo.fixMax,\n minInterval: scaleType === 'interval' || scaleType === 'time' ? model.get('minInterval') : null,\n maxInterval: scaleType === 'interval' || scaleType === 'time' ? model.get('maxInterval') : null\n }); // If some one specified the min, max. And the default calculated interval\n // is not good enough. He can specify the interval. It is often appeared\n // in angle axis with angle 0 - 360. Interval calculated in interval scale is hard\n // to be 60.\n // FIXME\n\n var interval = model.get('interval');\n\n if (interval != null) {\n scale.setInterval && scale.setInterval(interval);\n }\n}\n/**\n * @param {module:echarts/model/Model} model\n * @param {string} [axisType] Default retrieve from model.type\n * @return {module:echarts/scale/*}\n */\n\n\nfunction createScaleByModel(model, axisType) {\n axisType = axisType || model.get('type');\n\n if (axisType) {\n switch (axisType) {\n // Buildin scale\n case 'category':\n return new OrdinalScale(model.getOrdinalMeta ? model.getOrdinalMeta() : model.getCategories(), [Infinity, -Infinity]);\n\n case 'value':\n return new IntervalScale();\n // Extended scale, like time and log\n\n default:\n return (Scale.getClass(axisType) || IntervalScale).create(model);\n }\n }\n}\n/**\n * Check if the axis corss 0\n */\n\n\nfunction ifAxisCrossZero(axis) {\n var dataExtent = axis.scale.getExtent();\n var min = dataExtent[0];\n var max = dataExtent[1];\n return !(min > 0 && max > 0 || min < 0 && max < 0);\n}\n/**\n * @param {module:echarts/coord/Axis} axis\n * @return {Function} Label formatter function.\n * param: {number} tickValue,\n * param: {number} idx, the index in all ticks.\n * If category axis, this param is not requied.\n * return: {string} label string.\n */\n\n\nfunction makeLabelFormatter(axis) {\n var labelFormatter = axis.getLabelModel().get('formatter');\n var categoryTickStart = axis.type === 'category' ? axis.scale.getExtent()[0] : null;\n\n if (typeof labelFormatter === 'string') {\n labelFormatter = function (tpl) {\n return function (val) {\n // For category axis, get raw value; for numeric axis,\n // get foramtted label like '1,333,444'.\n val = axis.scale.getLabel(val);\n return tpl.replace('{value}', val != null ? val : '');\n };\n }(labelFormatter); // Consider empty array\n\n\n return labelFormatter;\n } else if (typeof labelFormatter === 'function') {\n return function (tickValue, idx) {\n // The original intention of `idx` is \"the index of the tick in all ticks\".\n // But the previous implementation of category axis do not consider the\n // `axisLabel.interval`, which cause that, for example, the `interval` is\n // `1`, then the ticks \"name5\", \"name7\", \"name9\" are displayed, where the\n // corresponding `idx` are `0`, `2`, `4`, but not `0`, `1`, `2`. So we keep\n // the definition here for back compatibility.\n if (categoryTickStart != null) {\n idx = tickValue - categoryTickStart;\n }\n\n return labelFormatter(getAxisRawValue(axis, tickValue), idx);\n };\n } else {\n return function (tick) {\n return axis.scale.getLabel(tick);\n };\n }\n}\n\nfunction getAxisRawValue(axis, value) {\n // In category axis with data zoom, tick is not the original\n // index of axis.data. So tick should not be exposed to user\n // in category axis.\n return axis.type === 'category' ? axis.scale.getLabel(value) : value;\n}\n/**\n * @param {module:echarts/coord/Axis} axis\n * @return {module:zrender/core/BoundingRect} Be null/undefined if no labels.\n */\n\n\nfunction estimateLabelUnionRect(axis) {\n var axisModel = axis.model;\n var scale = axis.scale;\n\n if (!axisModel.get('axisLabel.show') || scale.isBlank()) {\n return;\n }\n\n var isCategory = axis.type === 'category';\n var realNumberScaleTicks;\n var tickCount;\n var categoryScaleExtent = scale.getExtent(); // Optimize for large category data, avoid call `getTicks()`.\n\n if (isCategory) {\n tickCount = scale.count();\n } else {\n realNumberScaleTicks = scale.getTicks();\n tickCount = realNumberScaleTicks.length;\n }\n\n var axisLabelModel = axis.getLabelModel();\n var labelFormatter = makeLabelFormatter(axis);\n var rect;\n var step = 1; // Simple optimization for large amount of labels\n\n if (tickCount > 40) {\n step = Math.ceil(tickCount / 40);\n }\n\n for (var i = 0; i < tickCount; i += step) {\n var tickValue = realNumberScaleTicks ? realNumberScaleTicks[i] : categoryScaleExtent[0] + i;\n var label = labelFormatter(tickValue);\n var unrotatedSingleRect = axisLabelModel.getTextRect(label);\n var singleRect = rotateTextRect(unrotatedSingleRect, axisLabelModel.get('rotate') || 0);\n rect ? rect.union(singleRect) : rect = singleRect;\n }\n\n return rect;\n}\n\nfunction rotateTextRect(textRect, rotate) {\n var rotateRadians = rotate * Math.PI / 180;\n var boundingBox = textRect.plain();\n var beforeWidth = boundingBox.width;\n var beforeHeight = boundingBox.height;\n var afterWidth = beforeWidth * Math.abs(Math.cos(rotateRadians)) + Math.abs(beforeHeight * Math.sin(rotateRadians));\n var afterHeight = beforeWidth * Math.abs(Math.sin(rotateRadians)) + Math.abs(beforeHeight * Math.cos(rotateRadians));\n var rotatedRect = new BoundingRect(boundingBox.x, boundingBox.y, afterWidth, afterHeight);\n return rotatedRect;\n}\n/**\n * @param {module:echarts/src/model/Model} model axisLabelModel or axisTickModel\n * @return {number|String} Can be null|'auto'|number|function\n */\n\n\nfunction getOptionCategoryInterval(model) {\n var interval = model.get('interval');\n return interval == null ? 'auto' : interval;\n}\n/**\n * Set `categoryInterval` as 0 implicitly indicates that\n * show all labels reguardless of overlap.\n * @param {Object} axis axisModel.axis\n * @return {boolean}\n */\n\n\nfunction shouldShowAllLabels(axis) {\n return axis.type === 'category' && getOptionCategoryInterval(axis.getLabelModel()) === 0;\n}\n\nexports.getScaleExtent = getScaleExtent;\nexports.niceScaleExtent = niceScaleExtent;\nexports.createScaleByModel = createScaleByModel;\nexports.ifAxisCrossZero = ifAxisCrossZero;\nexports.makeLabelFormatter = makeLabelFormatter;\nexports.getAxisRawValue = getAxisRawValue;\nexports.estimateLabelUnionRect = estimateLabelUnionRect;\nexports.getOptionCategoryInterval = getOptionCategoryInterval;\nexports.shouldShowAllLabels = shouldShowAllLabels;","var guid = require(\"./core/guid\");\n\nvar env = require(\"./core/env\");\n\nvar zrUtil = require(\"./core/util\");\n\nvar Handler = require(\"./Handler\");\n\nvar Storage = require(\"./Storage\");\n\nvar Painter = require(\"./Painter\");\n\nvar Animation = require(\"./animation/Animation\");\n\nvar HandlerProxy = require(\"./dom/HandlerProxy\");\n\n/*!\n* ZRender, a high performance 2d drawing library.\n*\n* Copyright (c) 2013, Baidu Inc.\n* All rights reserved.\n*\n* LICENSE\n* https://github.com/ecomfe/zrender/blob/master/LICENSE.txt\n*/\nvar useVML = !env.canvasSupported;\nvar painterCtors = {\n canvas: Painter\n};\nvar instances = {}; // ZRender实例map索引\n\n/**\n * @type {string}\n */\n\nvar version = '4.3.2';\n/**\n * Initializing a zrender instance\n * @param {HTMLElement} dom\n * @param {Object} [opts]\n * @param {string} [opts.renderer='canvas'] 'canvas' or 'svg'\n * @param {number} [opts.devicePixelRatio]\n * @param {number|string} [opts.width] Can be 'auto' (the same as null/undefined)\n * @param {number|string} [opts.height] Can be 'auto' (the same as null/undefined)\n * @return {module:zrender/ZRender}\n */\n\nfunction init(dom, opts) {\n var zr = new ZRender(guid(), dom, opts);\n instances[zr.id] = zr;\n return zr;\n}\n/**\n * Dispose zrender instance\n * @param {module:zrender/ZRender} zr\n */\n\n\nfunction dispose(zr) {\n if (zr) {\n zr.dispose();\n } else {\n for (var key in instances) {\n if (instances.hasOwnProperty(key)) {\n instances[key].dispose();\n }\n }\n\n instances = {};\n }\n\n return this;\n}\n/**\n * Get zrender instance by id\n * @param {string} id zrender instance id\n * @return {module:zrender/ZRender}\n */\n\n\nfunction getInstance(id) {\n return instances[id];\n}\n\nfunction registerPainter(name, Ctor) {\n painterCtors[name] = Ctor;\n}\n\nfunction delInstance(id) {\n delete instances[id];\n}\n/**\n * @module zrender/ZRender\n */\n\n/**\n * @constructor\n * @alias module:zrender/ZRender\n * @param {string} id\n * @param {HTMLElement} dom\n * @param {Object} opts\n * @param {string} [opts.renderer='canvas'] 'canvas' or 'svg'\n * @param {number} [opts.devicePixelRatio]\n * @param {number} [opts.width] Can be 'auto' (the same as null/undefined)\n * @param {number} [opts.height] Can be 'auto' (the same as null/undefined)\n */\n\n\nvar ZRender = function (id, dom, opts) {\n opts = opts || {};\n /**\n * @type {HTMLDomElement}\n */\n\n this.dom = dom;\n /**\n * @type {string}\n */\n\n this.id = id;\n var self = this;\n var storage = new Storage();\n var rendererType = opts.renderer; // TODO WebGL\n\n if (useVML) {\n if (!painterCtors.vml) {\n throw new Error('You need to require \\'zrender/vml/vml\\' to support IE8');\n }\n\n rendererType = 'vml';\n } else if (!rendererType || !painterCtors[rendererType]) {\n rendererType = 'canvas';\n }\n\n var painter = new painterCtors[rendererType](dom, storage, opts, id);\n this.storage = storage;\n this.painter = painter;\n var handerProxy = !env.node && !env.worker ? new HandlerProxy(painter.getViewportRoot(), painter.root) : null;\n this.handler = new Handler(storage, painter, handerProxy, painter.root);\n /**\n * @type {module:zrender/animation/Animation}\n */\n\n this.animation = new Animation({\n stage: {\n update: zrUtil.bind(this.flush, this)\n }\n });\n this.animation.start();\n /**\n * @type {boolean}\n * @private\n */\n\n this._needsRefresh; // 修改 storage.delFromStorage, 每次删除元素之前删除动画\n // FIXME 有点ugly\n\n var oldDelFromStorage = storage.delFromStorage;\n var oldAddToStorage = storage.addToStorage;\n\n storage.delFromStorage = function (el) {\n oldDelFromStorage.call(storage, el);\n el && el.removeSelfFromZr(self);\n };\n\n storage.addToStorage = function (el) {\n oldAddToStorage.call(storage, el);\n el.addSelfToZr(self);\n };\n};\n\nZRender.prototype = {\n constructor: ZRender,\n\n /**\n * 获取实例唯一标识\n * @return {string}\n */\n getId: function () {\n return this.id;\n },\n\n /**\n * 添加元素\n * @param {module:zrender/Element} el\n */\n add: function (el) {\n this.storage.addRoot(el);\n this._needsRefresh = true;\n },\n\n /**\n * 删除元素\n * @param {module:zrender/Element} el\n */\n remove: function (el) {\n this.storage.delRoot(el);\n this._needsRefresh = true;\n },\n\n /**\n * Change configuration of layer\n * @param {string} zLevel\n * @param {Object} config\n * @param {string} [config.clearColor=0] Clear color\n * @param {string} [config.motionBlur=false] If enable motion blur\n * @param {number} [config.lastFrameAlpha=0.7] Motion blur factor. Larger value cause longer trailer\n */\n configLayer: function (zLevel, config) {\n if (this.painter.configLayer) {\n this.painter.configLayer(zLevel, config);\n }\n\n this._needsRefresh = true;\n },\n\n /**\n * Set background color\n * @param {string} backgroundColor\n */\n setBackgroundColor: function (backgroundColor) {\n if (this.painter.setBackgroundColor) {\n this.painter.setBackgroundColor(backgroundColor);\n }\n\n this._needsRefresh = true;\n },\n\n /**\n * Repaint the canvas immediately\n */\n refreshImmediately: function () {\n // var start = new Date();\n // Clear needsRefresh ahead to avoid something wrong happens in refresh\n // Or it will cause zrender refreshes again and again.\n this._needsRefresh = this._needsRefreshHover = false;\n this.painter.refresh(); // Avoid trigger zr.refresh in Element#beforeUpdate hook\n\n this._needsRefresh = this._needsRefreshHover = false; // var end = new Date();\n // var log = document.getElementById('log');\n // if (log) {\n // log.innerHTML = log.innerHTML + '
' + (end - start);\n // }\n },\n\n /**\n * Mark and repaint the canvas in the next frame of browser\n */\n refresh: function () {\n this._needsRefresh = true;\n },\n\n /**\n * Perform all refresh\n */\n flush: function () {\n var triggerRendered;\n\n if (this._needsRefresh) {\n triggerRendered = true;\n this.refreshImmediately();\n }\n\n if (this._needsRefreshHover) {\n triggerRendered = true;\n this.refreshHoverImmediately();\n }\n\n triggerRendered && this.trigger('rendered');\n },\n\n /**\n * Add element to hover layer\n * @param {module:zrender/Element} el\n * @param {Object} style\n */\n addHover: function (el, style) {\n if (this.painter.addHover) {\n var elMirror = this.painter.addHover(el, style);\n this.refreshHover();\n return elMirror;\n }\n },\n\n /**\n * Add element from hover layer\n * @param {module:zrender/Element} el\n */\n removeHover: function (el) {\n if (this.painter.removeHover) {\n this.painter.removeHover(el);\n this.refreshHover();\n }\n },\n\n /**\n * Clear all hover elements in hover layer\n * @param {module:zrender/Element} el\n */\n clearHover: function () {\n if (this.painter.clearHover) {\n this.painter.clearHover();\n this.refreshHover();\n }\n },\n\n /**\n * Refresh hover in next frame\n */\n refreshHover: function () {\n this._needsRefreshHover = true;\n },\n\n /**\n * Refresh hover immediately\n */\n refreshHoverImmediately: function () {\n this._needsRefreshHover = false;\n this.painter.refreshHover && this.painter.refreshHover();\n },\n\n /**\n * Resize the canvas.\n * Should be invoked when container size is changed\n * @param {Object} [opts]\n * @param {number|string} [opts.width] Can be 'auto' (the same as null/undefined)\n * @param {number|string} [opts.height] Can be 'auto' (the same as null/undefined)\n */\n resize: function (opts) {\n opts = opts || {};\n this.painter.resize(opts.width, opts.height);\n this.handler.resize();\n },\n\n /**\n * Stop and clear all animation immediately\n */\n clearAnimation: function () {\n this.animation.clear();\n },\n\n /**\n * Get container width\n */\n getWidth: function () {\n return this.painter.getWidth();\n },\n\n /**\n * Get container height\n */\n getHeight: function () {\n return this.painter.getHeight();\n },\n\n /**\n * Export the canvas as Base64 URL\n * @param {string} type\n * @param {string} [backgroundColor='#fff']\n * @return {string} Base64 URL\n */\n // toDataURL: function(type, backgroundColor) {\n // return this.painter.getRenderedCanvas({\n // backgroundColor: backgroundColor\n // }).toDataURL(type);\n // },\n\n /**\n * Converting a path to image.\n * It has much better performance of drawing image rather than drawing a vector path.\n * @param {module:zrender/graphic/Path} e\n * @param {number} width\n * @param {number} height\n */\n pathToImage: function (e, dpr) {\n return this.painter.pathToImage(e, dpr);\n },\n\n /**\n * Set default cursor\n * @param {string} [cursorStyle='default'] 例如 crosshair\n */\n setCursorStyle: function (cursorStyle) {\n this.handler.setCursorStyle(cursorStyle);\n },\n\n /**\n * Find hovered element\n * @param {number} x\n * @param {number} y\n * @return {Object} {target, topTarget}\n */\n findHover: function (x, y) {\n return this.handler.findHover(x, y);\n },\n\n /**\n * Bind event\n *\n * @param {string} eventName Event name\n * @param {Function} eventHandler Handler function\n * @param {Object} [context] Context object\n */\n on: function (eventName, eventHandler, context) {\n this.handler.on(eventName, eventHandler, context);\n },\n\n /**\n * Unbind event\n * @param {string} eventName Event name\n * @param {Function} [eventHandler] Handler function\n */\n off: function (eventName, eventHandler) {\n this.handler.off(eventName, eventHandler);\n },\n\n /**\n * Trigger event manually\n *\n * @param {string} eventName Event name\n * @param {event=} event Event object\n */\n trigger: function (eventName, event) {\n this.handler.trigger(eventName, event);\n },\n\n /**\n * Clear all objects and the canvas.\n */\n clear: function () {\n this.storage.delRoot();\n this.painter.clear();\n },\n\n /**\n * Dispose self.\n */\n dispose: function () {\n this.animation.stop();\n this.clear();\n this.storage.dispose();\n this.painter.dispose();\n this.handler.dispose();\n this.animation = this.storage = this.painter = this.handler = null;\n delInstance(this.id);\n }\n};\nexports.version = version;\nexports.init = init;\nexports.dispose = dispose;\nexports.getInstance = getInstance;\nexports.registerPainter = registerPainter;","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","require('./_wks-define')('asyncIterator');\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\nvar _util = require(\"zrender/lib/core/util\");\n\nvar each = _util.each;\nvar map = _util.map;\nvar isFunction = _util.isFunction;\nvar createHashMap = _util.createHashMap;\nvar noop = _util.noop;\n\nvar _task = require(\"./task\");\n\nvar createTask = _task.createTask;\n\nvar _component = require(\"../util/component\");\n\nvar getUID = _component.getUID;\n\nvar GlobalModel = require(\"../model/Global\");\n\nvar ExtensionAPI = require(\"../ExtensionAPI\");\n\nvar _model = require(\"../util/model\");\n\nvar normalizeToArray = _model.normalizeToArray;\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 * @module echarts/stream/Scheduler\n */\n\n/**\n * @constructor\n */\nfunction Scheduler(ecInstance, api, dataProcessorHandlers, visualHandlers) {\n this.ecInstance = ecInstance;\n this.api = api;\n this.unfinished; // Fix current processors in case that in some rear cases that\n // processors might be registered after echarts instance created.\n // Register processors incrementally for a echarts instance is\n // not supported by this stream architecture.\n\n var dataProcessorHandlers = this._dataProcessorHandlers = dataProcessorHandlers.slice();\n var visualHandlers = this._visualHandlers = visualHandlers.slice();\n this._allHandlers = dataProcessorHandlers.concat(visualHandlers);\n /**\n * @private\n * @type {\n * [handlerUID: string]: {\n * seriesTaskMap?: {\n * [seriesUID: string]: Task\n * },\n * overallTask?: Task\n * }\n * }\n */\n\n this._stageTaskMap = createHashMap();\n}\n\nvar proto = Scheduler.prototype;\n/**\n * @param {module:echarts/model/Global} ecModel\n * @param {Object} payload\n */\n\nproto.restoreData = function (ecModel, payload) {\n // TODO: Only restore needed series and components, but not all components.\n // Currently `restoreData` of all of the series and component will be called.\n // But some independent components like `title`, `legend`, `graphic`, `toolbox`,\n // `tooltip`, `axisPointer`, etc, do not need series refresh when `setOption`,\n // and some components like coordinate system, axes, dataZoom, visualMap only\n // need their target series refresh.\n // (1) If we are implementing this feature some day, we should consider these cases:\n // if a data processor depends on a component (e.g., dataZoomProcessor depends\n // on the settings of `dataZoom`), it should be re-performed if the component\n // is modified by `setOption`.\n // (2) If a processor depends on sevral series, speicified by its `getTargetSeries`,\n // it should be re-performed when the result array of `getTargetSeries` changed.\n // We use `dependencies` to cover these issues.\n // (3) How to update target series when coordinate system related components modified.\n // TODO: simply the dirty mechanism? Check whether only the case here can set tasks dirty,\n // and this case all of the tasks will be set as dirty.\n ecModel.restoreData(payload); // Theoretically an overall task not only depends on each of its target series, but also\n // depends on all of the series.\n // The overall task is not in pipeline, and `ecModel.restoreData` only set pipeline tasks\n // dirty. If `getTargetSeries` of an overall task returns nothing, we should also ensure\n // that the overall task is set as dirty and to be performed, otherwise it probably cause\n // state chaos. So we have to set dirty of all of the overall tasks manually, otherwise it\n // probably cause state chaos (consider `dataZoomProcessor`).\n\n this._stageTaskMap.each(function (taskRecord) {\n var overallTask = taskRecord.overallTask;\n overallTask && overallTask.dirty();\n });\n}; // If seriesModel provided, incremental threshold is check by series data.\n\n\nproto.getPerformArgs = function (task, isBlock) {\n // For overall task\n if (!task.__pipeline) {\n return;\n }\n\n var pipeline = this._pipelineMap.get(task.__pipeline.id);\n\n var pCtx = pipeline.context;\n var incremental = !isBlock && pipeline.progressiveEnabled && (!pCtx || pCtx.progressiveRender) && task.__idxInPipeline > pipeline.blockIndex;\n var step = incremental ? pipeline.step : null;\n var modDataCount = pCtx && pCtx.modDataCount;\n var modBy = modDataCount != null ? Math.ceil(modDataCount / step) : null;\n return {\n step: step,\n modBy: modBy,\n modDataCount: modDataCount\n };\n};\n\nproto.getPipeline = function (pipelineId) {\n return this._pipelineMap.get(pipelineId);\n};\n/**\n * Current, progressive rendering starts from visual and layout.\n * Always detect render mode in the same stage, avoiding that incorrect\n * detection caused by data filtering.\n * Caution:\n * `updateStreamModes` use `seriesModel.getData()`.\n */\n\n\nproto.updateStreamModes = function (seriesModel, view) {\n var pipeline = this._pipelineMap.get(seriesModel.uid);\n\n var data = seriesModel.getData();\n var dataLen = data.count(); // `progressiveRender` means that can render progressively in each\n // animation frame. Note that some types of series do not provide\n // `view.incrementalPrepareRender` but support `chart.appendData`. We\n // use the term `incremental` but not `progressive` to describe the\n // case that `chart.appendData`.\n\n var progressiveRender = pipeline.progressiveEnabled && view.incrementalPrepareRender && dataLen >= pipeline.threshold;\n var large = seriesModel.get('large') && dataLen >= seriesModel.get('largeThreshold'); // TODO: modDataCount should not updated if `appendData`, otherwise cause whole repaint.\n // see `test/candlestick-large3.html`\n\n var modDataCount = seriesModel.get('progressiveChunkMode') === 'mod' ? dataLen : null;\n seriesModel.pipelineContext = pipeline.context = {\n progressiveRender: progressiveRender,\n modDataCount: modDataCount,\n large: large\n };\n};\n\nproto.restorePipelines = function (ecModel) {\n var scheduler = this;\n var pipelineMap = scheduler._pipelineMap = createHashMap();\n ecModel.eachSeries(function (seriesModel) {\n var progressive = seriesModel.getProgressive();\n var pipelineId = seriesModel.uid;\n pipelineMap.set(pipelineId, {\n id: pipelineId,\n head: null,\n tail: null,\n threshold: seriesModel.getProgressiveThreshold(),\n progressiveEnabled: progressive && !(seriesModel.preventIncremental && seriesModel.preventIncremental()),\n blockIndex: -1,\n step: Math.round(progressive || 700),\n count: 0\n });\n pipe(scheduler, seriesModel, seriesModel.dataTask);\n });\n};\n\nproto.prepareStageTasks = function () {\n var stageTaskMap = this._stageTaskMap;\n var ecModel = this.ecInstance.getModel();\n var api = this.api;\n each(this._allHandlers, function (handler) {\n var record = stageTaskMap.get(handler.uid) || stageTaskMap.set(handler.uid, []);\n handler.reset && createSeriesStageTask(this, handler, record, ecModel, api);\n handler.overallReset && createOverallStageTask(this, handler, record, ecModel, api);\n }, this);\n};\n\nproto.prepareView = function (view, model, ecModel, api) {\n var renderTask = view.renderTask;\n var context = renderTask.context;\n context.model = model;\n context.ecModel = ecModel;\n context.api = api;\n renderTask.__block = !view.incrementalPrepareRender;\n pipe(this, model, renderTask);\n};\n\nproto.performDataProcessorTasks = function (ecModel, payload) {\n // If we do not use `block` here, it should be considered when to update modes.\n performStageTasks(this, this._dataProcessorHandlers, ecModel, payload, {\n block: true\n });\n}; // opt\n// opt.visualType: 'visual' or 'layout'\n// opt.setDirty\n\n\nproto.performVisualTasks = function (ecModel, payload, opt) {\n performStageTasks(this, this._visualHandlers, ecModel, payload, opt);\n};\n\nfunction performStageTasks(scheduler, stageHandlers, ecModel, payload, opt) {\n opt = opt || {};\n var unfinished;\n each(stageHandlers, function (stageHandler, idx) {\n if (opt.visualType && opt.visualType !== stageHandler.visualType) {\n return;\n }\n\n var stageHandlerRecord = scheduler._stageTaskMap.get(stageHandler.uid);\n\n var seriesTaskMap = stageHandlerRecord.seriesTaskMap;\n var overallTask = stageHandlerRecord.overallTask;\n\n if (overallTask) {\n var overallNeedDirty;\n var agentStubMap = overallTask.agentStubMap;\n agentStubMap.each(function (stub) {\n if (needSetDirty(opt, stub)) {\n stub.dirty();\n overallNeedDirty = true;\n }\n });\n overallNeedDirty && overallTask.dirty();\n updatePayload(overallTask, payload);\n var performArgs = scheduler.getPerformArgs(overallTask, opt.block); // Execute stubs firstly, which may set the overall task dirty,\n // then execute the overall task. And stub will call seriesModel.setData,\n // which ensures that in the overallTask seriesModel.getData() will not\n // return incorrect data.\n\n agentStubMap.each(function (stub) {\n stub.perform(performArgs);\n });\n unfinished |= overallTask.perform(performArgs);\n } else if (seriesTaskMap) {\n seriesTaskMap.each(function (task, pipelineId) {\n if (needSetDirty(opt, task)) {\n task.dirty();\n }\n\n var performArgs = scheduler.getPerformArgs(task, opt.block); // FIXME\n // if intending to decalare `performRawSeries` in handlers, only\n // stream-independent (specifically, data item independent) operations can be\n // performed. Because is a series is filtered, most of the tasks will not\n // be performed. A stream-dependent operation probably cause wrong biz logic.\n // Perhaps we should not provide a separate callback for this case instead\n // of providing the config `performRawSeries`. The stream-dependent operaions\n // and stream-independent operations should better not be mixed.\n\n performArgs.skip = !stageHandler.performRawSeries && ecModel.isSeriesFiltered(task.context.model);\n updatePayload(task, payload);\n unfinished |= task.perform(performArgs);\n });\n }\n });\n\n function needSetDirty(opt, task) {\n return opt.setDirty && (!opt.dirtyMap || opt.dirtyMap.get(task.__pipeline.id));\n }\n\n scheduler.unfinished |= unfinished;\n}\n\nproto.performSeriesTasks = function (ecModel) {\n var unfinished;\n ecModel.eachSeries(function (seriesModel) {\n // Progress to the end for dataInit and dataRestore.\n unfinished |= seriesModel.dataTask.perform();\n });\n this.unfinished |= unfinished;\n};\n\nproto.plan = function () {\n // Travel pipelines, check block.\n this._pipelineMap.each(function (pipeline) {\n var task = pipeline.tail;\n\n do {\n if (task.__block) {\n pipeline.blockIndex = task.__idxInPipeline;\n break;\n }\n\n task = task.getUpstream();\n } while (task);\n });\n};\n\nvar updatePayload = proto.updatePayload = function (task, payload) {\n payload !== 'remain' && (task.context.payload = payload);\n};\n\nfunction createSeriesStageTask(scheduler, stageHandler, stageHandlerRecord, ecModel, api) {\n var seriesTaskMap = stageHandlerRecord.seriesTaskMap || (stageHandlerRecord.seriesTaskMap = createHashMap());\n var seriesType = stageHandler.seriesType;\n var getTargetSeries = stageHandler.getTargetSeries; // If a stageHandler should cover all series, `createOnAllSeries` should be declared mandatorily,\n // to avoid some typo or abuse. Otherwise if an extension do not specify a `seriesType`,\n // it works but it may cause other irrelevant charts blocked.\n\n if (stageHandler.createOnAllSeries) {\n ecModel.eachRawSeries(create);\n } else if (seriesType) {\n ecModel.eachRawSeriesByType(seriesType, create);\n } else if (getTargetSeries) {\n getTargetSeries(ecModel, api).each(create);\n }\n\n function create(seriesModel) {\n var pipelineId = seriesModel.uid; // Init tasks for each seriesModel only once.\n // Reuse original task instance.\n\n var task = seriesTaskMap.get(pipelineId) || seriesTaskMap.set(pipelineId, createTask({\n plan: seriesTaskPlan,\n reset: seriesTaskReset,\n count: seriesTaskCount\n }));\n task.context = {\n model: seriesModel,\n ecModel: ecModel,\n api: api,\n useClearVisual: stageHandler.isVisual && !stageHandler.isLayout,\n plan: stageHandler.plan,\n reset: stageHandler.reset,\n scheduler: scheduler\n };\n pipe(scheduler, seriesModel, task);\n } // Clear unused series tasks.\n\n\n var pipelineMap = scheduler._pipelineMap;\n seriesTaskMap.each(function (task, pipelineId) {\n if (!pipelineMap.get(pipelineId)) {\n task.dispose();\n seriesTaskMap.removeKey(pipelineId);\n }\n });\n}\n\nfunction createOverallStageTask(scheduler, stageHandler, stageHandlerRecord, ecModel, api) {\n var overallTask = stageHandlerRecord.overallTask = stageHandlerRecord.overallTask // For overall task, the function only be called on reset stage.\n || createTask({\n reset: overallTaskReset\n });\n overallTask.context = {\n ecModel: ecModel,\n api: api,\n overallReset: stageHandler.overallReset,\n scheduler: scheduler\n }; // Reuse orignal stubs.\n\n var agentStubMap = overallTask.agentStubMap = overallTask.agentStubMap || createHashMap();\n var seriesType = stageHandler.seriesType;\n var getTargetSeries = stageHandler.getTargetSeries;\n var overallProgress = true;\n var modifyOutputEnd = stageHandler.modifyOutputEnd; // An overall task with seriesType detected or has `getTargetSeries`, we add\n // stub in each pipelines, it will set the overall task dirty when the pipeline\n // progress. Moreover, to avoid call the overall task each frame (too frequent),\n // we set the pipeline block.\n\n if (seriesType) {\n ecModel.eachRawSeriesByType(seriesType, createStub);\n } else if (getTargetSeries) {\n getTargetSeries(ecModel, api).each(createStub);\n } // Otherwise, (usually it is legancy case), the overall task will only be\n // executed when upstream dirty. Otherwise the progressive rendering of all\n // pipelines will be disabled unexpectedly. But it still needs stubs to receive\n // dirty info from upsteam.\n else {\n overallProgress = false;\n each(ecModel.getSeries(), createStub);\n }\n\n function createStub(seriesModel) {\n var pipelineId = seriesModel.uid;\n var stub = agentStubMap.get(pipelineId);\n\n if (!stub) {\n stub = agentStubMap.set(pipelineId, createTask({\n reset: stubReset,\n onDirty: stubOnDirty\n })); // When the result of `getTargetSeries` changed, the overallTask\n // should be set as dirty and re-performed.\n\n overallTask.dirty();\n }\n\n stub.context = {\n model: seriesModel,\n overallProgress: overallProgress,\n modifyOutputEnd: modifyOutputEnd\n };\n stub.agent = overallTask;\n stub.__block = overallProgress;\n pipe(scheduler, seriesModel, stub);\n } // Clear unused stubs.\n\n\n var pipelineMap = scheduler._pipelineMap;\n agentStubMap.each(function (stub, pipelineId) {\n if (!pipelineMap.get(pipelineId)) {\n stub.dispose(); // When the result of `getTargetSeries` changed, the overallTask\n // should be set as dirty and re-performed.\n\n overallTask.dirty();\n agentStubMap.removeKey(pipelineId);\n }\n });\n}\n\nfunction overallTaskReset(context) {\n context.overallReset(context.ecModel, context.api, context.payload);\n}\n\nfunction stubReset(context, upstreamContext) {\n return context.overallProgress && stubProgress;\n}\n\nfunction stubProgress() {\n this.agent.dirty();\n this.getDownstream().dirty();\n}\n\nfunction stubOnDirty() {\n this.agent && this.agent.dirty();\n}\n\nfunction seriesTaskPlan(context) {\n return context.plan && context.plan(context.model, context.ecModel, context.api, context.payload);\n}\n\nfunction seriesTaskReset(context) {\n if (context.useClearVisual) {\n context.data.clearAllVisual();\n }\n\n var resetDefines = context.resetDefines = normalizeToArray(context.reset(context.model, context.ecModel, context.api, context.payload));\n return resetDefines.length > 1 ? map(resetDefines, function (v, idx) {\n return makeSeriesTaskProgress(idx);\n }) : singleSeriesTaskProgress;\n}\n\nvar singleSeriesTaskProgress = makeSeriesTaskProgress(0);\n\nfunction makeSeriesTaskProgress(resetDefineIdx) {\n return function (params, context) {\n var data = context.data;\n var resetDefine = context.resetDefines[resetDefineIdx];\n\n if (resetDefine && resetDefine.dataEach) {\n for (var i = params.start; i < params.end; i++) {\n resetDefine.dataEach(data, i);\n }\n } else if (resetDefine && resetDefine.progress) {\n resetDefine.progress(params, data);\n }\n };\n}\n\nfunction seriesTaskCount(context) {\n return context.data.count();\n}\n\nfunction pipe(scheduler, seriesModel, task) {\n var pipelineId = seriesModel.uid;\n\n var pipeline = scheduler._pipelineMap.get(pipelineId);\n\n !pipeline.head && (pipeline.head = task);\n pipeline.tail && pipeline.tail.pipe(task);\n pipeline.tail = task;\n task.__idxInPipeline = pipeline.count++;\n task.__pipeline = pipeline;\n}\n\nScheduler.wrapStageHandler = function (stageHandler, visualType) {\n if (isFunction(stageHandler)) {\n stageHandler = {\n overallReset: stageHandler,\n seriesType: detectSeriseType(stageHandler)\n };\n }\n\n stageHandler.uid = getUID('stageHandler');\n visualType && (stageHandler.visualType = visualType);\n return stageHandler;\n};\n/**\n * Only some legacy stage handlers (usually in echarts extensions) are pure function.\n * To ensure that they can work normally, they should work in block mode, that is,\n * they should not be started util the previous tasks finished. So they cause the\n * progressive rendering disabled. We try to detect the series type, to narrow down\n * the block range to only the series type they concern, but not all series.\n */\n\n\nfunction detectSeriseType(legacyFunc) {\n seriesType = null;\n\n try {\n // Assume there is no async when calling `eachSeriesByType`.\n legacyFunc(ecModelMock, apiMock);\n } catch (e) {}\n\n return seriesType;\n}\n\nvar ecModelMock = {};\nvar apiMock = {};\nvar seriesType;\nmockMethods(ecModelMock, GlobalModel);\nmockMethods(apiMock, ExtensionAPI);\n\necModelMock.eachSeriesByType = ecModelMock.eachRawSeriesByType = function (type) {\n seriesType = type;\n};\n\necModelMock.eachComponent = function (cond) {\n if (cond.mainType === 'series' && cond.subType) {\n seriesType = cond.subType;\n }\n};\n\nfunction mockMethods(target, Clz) {\n /* eslint-disable */\n for (var name in Clz.prototype) {\n // Do not use hasOwnProperty\n target[name] = noop;\n }\n /* eslint-enable */\n\n}\n\nvar _default = Scheduler;\nmodule.exports = _default;","var helperGetDateTime = require('./helperGetDateTime')\r\nvar helperNewDate = require('./helperNewDate')\r\n\r\n/**\r\n * 返回当前时间戳\r\n *\r\n * @returns Number\r\n */\r\nvar now = Date.now || function () {\r\n return helperGetDateTime(helperNewDate())\r\n}\r\n\r\nmodule.exports = now\r\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\nvar Polyline = require(\"./Polyline\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar EffectLine = require(\"./EffectLine\");\n\nvar vec2 = require(\"zrender/lib/core/vector\");\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 * Provide effect for line\n * @module echarts/chart/helper/EffectLine\n */\n\n/**\n * @constructor\n * @extends {module:echarts/chart/helper/EffectLine}\n * @alias {module:echarts/chart/helper/Polyline}\n */\nfunction EffectPolyline(lineData, idx, seriesScope) {\n EffectLine.call(this, lineData, idx, seriesScope);\n this._lastFrame = 0;\n this._lastFramePercent = 0;\n}\n\nvar effectPolylineProto = EffectPolyline.prototype; // Overwrite\n\neffectPolylineProto.createLine = function (lineData, idx, seriesScope) {\n return new Polyline(lineData, idx, seriesScope);\n}; // Overwrite\n\n\neffectPolylineProto.updateAnimationPoints = function (symbol, points) {\n this._points = points;\n var accLenArr = [0];\n var len = 0;\n\n for (var i = 1; i < points.length; i++) {\n var p1 = points[i - 1];\n var p2 = points[i];\n len += vec2.dist(p1, p2);\n accLenArr.push(len);\n }\n\n if (len === 0) {\n return;\n }\n\n for (var i = 0; i < accLenArr.length; i++) {\n accLenArr[i] /= len;\n }\n\n this._offsets = accLenArr;\n this._length = len;\n}; // Overwrite\n\n\neffectPolylineProto.getLineLength = function (symbol) {\n return this._length;\n}; // Overwrite\n\n\neffectPolylineProto.updateSymbolPosition = function (symbol) {\n var t = symbol.__t;\n var points = this._points;\n var offsets = this._offsets;\n var len = points.length;\n\n if (!offsets) {\n // Has length 0\n return;\n }\n\n var lastFrame = this._lastFrame;\n var frame;\n\n if (t < this._lastFramePercent) {\n // Start from the next frame\n // PENDING start from lastFrame ?\n var start = Math.min(lastFrame + 1, len - 1);\n\n for (frame = start; frame >= 0; frame--) {\n if (offsets[frame] <= t) {\n break;\n }\n } // PENDING really need to do this ?\n\n\n frame = Math.min(frame, len - 2);\n } else {\n for (var frame = lastFrame; frame < len; frame++) {\n if (offsets[frame] > t) {\n break;\n }\n }\n\n frame = Math.min(frame - 1, len - 2);\n }\n\n vec2.lerp(symbol.position, points[frame], points[frame + 1], (t - offsets[frame]) / (offsets[frame + 1] - offsets[frame]));\n var tx = points[frame + 1][0] - points[frame][0];\n var ty = points[frame + 1][1] - points[frame][1];\n symbol.rotation = -Math.atan2(ty, tx) - Math.PI / 2;\n this._lastFrame = frame;\n this._lastFramePercent = t;\n symbol.ignore = false;\n};\n\nzrUtil.inherits(EffectPolyline, EffectLine);\nvar _default = EffectPolyline;\nmodule.exports = _default;","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\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*/\n\nvar formatUtil = require(\"../../util/format\");\n\nvar BaseAxisPointer = require(\"./BaseAxisPointer\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar viewHelper = require(\"./viewHelper\");\n\nvar matrix = require(\"zrender/lib/core/matrix\");\n\nvar AxisBuilder = require(\"../axis/AxisBuilder\");\n\nvar AxisView = require(\"../axis/AxisView\");\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*/\nvar PolarAxisPointer = BaseAxisPointer.extend({\n /**\n * @override\n */\n makeElOption: function (elOption, value, axisModel, axisPointerModel, api) {\n var axis = axisModel.axis;\n\n if (axis.dim === 'angle') {\n this.animationThreshold = Math.PI / 18;\n }\n\n var polar = axis.polar;\n var otherAxis = polar.getOtherAxis(axis);\n var otherExtent = otherAxis.getExtent();\n var coordValue;\n coordValue = axis['dataTo' + formatUtil.capitalFirst(axis.dim)](value);\n var axisPointerType = axisPointerModel.get('type');\n\n if (axisPointerType && axisPointerType !== 'none') {\n var elStyle = viewHelper.buildElStyle(axisPointerModel);\n var pointerOption = pointerShapeBuilder[axisPointerType](axis, polar, coordValue, otherExtent, elStyle);\n pointerOption.style = elStyle;\n elOption.graphicKey = pointerOption.type;\n elOption.pointer = pointerOption;\n }\n\n var labelMargin = axisPointerModel.get('label.margin');\n var labelPos = getLabelPosition(value, axisModel, axisPointerModel, polar, labelMargin);\n viewHelper.buildLabelElOption(elOption, axisModel, axisPointerModel, api, labelPos);\n } // Do not support handle, utill any user requires it.\n\n});\n\nfunction getLabelPosition(value, axisModel, axisPointerModel, polar, labelMargin) {\n var axis = axisModel.axis;\n var coord = axis.dataToCoord(value);\n var axisAngle = polar.getAngleAxis().getExtent()[0];\n axisAngle = axisAngle / 180 * Math.PI;\n var radiusExtent = polar.getRadiusAxis().getExtent();\n var position;\n var align;\n var verticalAlign;\n\n if (axis.dim === 'radius') {\n var transform = matrix.create();\n matrix.rotate(transform, transform, axisAngle);\n matrix.translate(transform, transform, [polar.cx, polar.cy]);\n position = graphic.applyTransform([coord, -labelMargin], transform);\n var labelRotation = axisModel.getModel('axisLabel').get('rotate') || 0;\n var labelLayout = AxisBuilder.innerTextLayout(axisAngle, labelRotation * Math.PI / 180, -1);\n align = labelLayout.textAlign;\n verticalAlign = labelLayout.textVerticalAlign;\n } else {\n // angle axis\n var r = radiusExtent[1];\n position = polar.coordToPoint([r + labelMargin, coord]);\n var cx = polar.cx;\n var cy = polar.cy;\n align = Math.abs(position[0] - cx) / r < 0.3 ? 'center' : position[0] > cx ? 'left' : 'right';\n verticalAlign = Math.abs(position[1] - cy) / r < 0.3 ? 'middle' : position[1] > cy ? 'top' : 'bottom';\n }\n\n return {\n position: position,\n align: align,\n verticalAlign: verticalAlign\n };\n}\n\nvar pointerShapeBuilder = {\n line: function (axis, polar, coordValue, otherExtent, elStyle) {\n return axis.dim === 'angle' ? {\n type: 'Line',\n shape: viewHelper.makeLineShape(polar.coordToPoint([otherExtent[0], coordValue]), polar.coordToPoint([otherExtent[1], coordValue]))\n } : {\n type: 'Circle',\n shape: {\n cx: polar.cx,\n cy: polar.cy,\n r: coordValue\n }\n };\n },\n shadow: function (axis, polar, coordValue, otherExtent, elStyle) {\n var bandWidth = Math.max(1, axis.getBandWidth());\n var radian = Math.PI / 180;\n return axis.dim === 'angle' ? {\n type: 'Sector',\n shape: viewHelper.makeSectorShape(polar.cx, polar.cy, otherExtent[0], otherExtent[1], // In ECharts y is negative if angle is positive\n (-coordValue - bandWidth / 2) * radian, (-coordValue + bandWidth / 2) * radian)\n } : {\n type: 'Sector',\n shape: viewHelper.makeSectorShape(polar.cx, polar.cy, coordValue - bandWidth / 2, coordValue + bandWidth / 2, 0, Math.PI * 2)\n };\n }\n};\nAxisView.registerAxisPointerClass('PolarAxisPointer', PolarAxisPointer);\nvar _default = PolarAxisPointer;\nmodule.exports = _default;","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","'use strict';\nrequire('./es6.regexp.flags');\nvar anObject = require('./_an-object');\nvar $flags = require('./_flags');\nvar DESCRIPTORS = require('./_descriptors');\nvar TO_STRING = 'toString';\nvar $toString = /./[TO_STRING];\n\nvar define = function (fn) {\n require('./_redefine')(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif (require('./_fails')(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {\n define(function toString() {\n var R = anObject(this);\n return '/'.concat(R.source, '/',\n 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n });\n// FF44- RegExp#toString has a wrong name\n} else if ($toString.name != TO_STRING) {\n define(function toString() {\n return $toString.call(this);\n });\n}\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","var helperCreatePickOmit = require('./helperCreatePickOmit')\r\n\r\n/**\r\n * 根据 key 过滤指定的属性值,返回一个新的对象\r\n *\r\n * @param {Object} obj 对象\r\n * @param {String/Array} key 键数组\r\n * @return {Object}\r\n */\r\nvar pick = helperCreatePickOmit(1, 0)\r\n\r\nmodule.exports = pick\r\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* 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*/\nvar geoCoordMap = {\n 'Russia': [100, 60],\n 'United States': [-99, 38],\n 'United States of America': [-99, 38]\n};\n\nfunction _default(mapType, region) {\n if (mapType === 'world') {\n var geoCoord = geoCoordMap[region.name];\n\n if (geoCoord) {\n var cp = region.center;\n cp[0] = geoCoord[0];\n cp[1] = geoCoord[1];\n }\n }\n}\n\nmodule.exports = _default;","\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\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar AxisBuilder = require(\"../axis/AxisBuilder\");\n\nvar graphic = require(\"../../util/graphic\");\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*/\nvar axisBuilderAttrs = ['axisLine', 'axisTickLabel', 'axisName'];\n\nvar _default = echarts.extendComponentView({\n type: 'radar',\n render: function (radarModel, ecModel, api) {\n var group = this.group;\n group.removeAll();\n\n this._buildAxes(radarModel);\n\n this._buildSplitLineAndArea(radarModel);\n },\n _buildAxes: function (radarModel) {\n var radar = radarModel.coordinateSystem;\n var indicatorAxes = radar.getIndicatorAxes();\n var axisBuilders = zrUtil.map(indicatorAxes, function (indicatorAxis) {\n var axisBuilder = new AxisBuilder(indicatorAxis.model, {\n position: [radar.cx, radar.cy],\n rotation: indicatorAxis.angle,\n labelDirection: -1,\n tickDirection: -1,\n nameDirection: 1\n });\n return axisBuilder;\n });\n zrUtil.each(axisBuilders, function (axisBuilder) {\n zrUtil.each(axisBuilderAttrs, axisBuilder.add, axisBuilder);\n this.group.add(axisBuilder.getGroup());\n }, this);\n },\n _buildSplitLineAndArea: function (radarModel) {\n var radar = radarModel.coordinateSystem;\n var indicatorAxes = radar.getIndicatorAxes();\n\n if (!indicatorAxes.length) {\n return;\n }\n\n var shape = radarModel.get('shape');\n var splitLineModel = radarModel.getModel('splitLine');\n var splitAreaModel = radarModel.getModel('splitArea');\n var lineStyleModel = splitLineModel.getModel('lineStyle');\n var areaStyleModel = splitAreaModel.getModel('areaStyle');\n var showSplitLine = splitLineModel.get('show');\n var showSplitArea = splitAreaModel.get('show');\n var splitLineColors = lineStyleModel.get('color');\n var splitAreaColors = areaStyleModel.get('color');\n splitLineColors = zrUtil.isArray(splitLineColors) ? splitLineColors : [splitLineColors];\n splitAreaColors = zrUtil.isArray(splitAreaColors) ? splitAreaColors : [splitAreaColors];\n var splitLines = [];\n var splitAreas = [];\n\n function getColorIndex(areaOrLine, areaOrLineColorList, idx) {\n var colorIndex = idx % areaOrLineColorList.length;\n areaOrLine[colorIndex] = areaOrLine[colorIndex] || [];\n return colorIndex;\n }\n\n if (shape === 'circle') {\n var ticksRadius = indicatorAxes[0].getTicksCoords();\n var cx = radar.cx;\n var cy = radar.cy;\n\n for (var i = 0; i < ticksRadius.length; i++) {\n if (showSplitLine) {\n var colorIndex = getColorIndex(splitLines, splitLineColors, i);\n splitLines[colorIndex].push(new graphic.Circle({\n shape: {\n cx: cx,\n cy: cy,\n r: ticksRadius[i].coord\n }\n }));\n }\n\n if (showSplitArea && i < ticksRadius.length - 1) {\n var colorIndex = getColorIndex(splitAreas, splitAreaColors, i);\n splitAreas[colorIndex].push(new graphic.Ring({\n shape: {\n cx: cx,\n cy: cy,\n r0: ticksRadius[i].coord,\n r: ticksRadius[i + 1].coord\n }\n }));\n }\n }\n } // Polyyon\n else {\n var realSplitNumber;\n var axesTicksPoints = zrUtil.map(indicatorAxes, function (indicatorAxis, idx) {\n var ticksCoords = indicatorAxis.getTicksCoords();\n realSplitNumber = realSplitNumber == null ? ticksCoords.length - 1 : Math.min(ticksCoords.length - 1, realSplitNumber);\n return zrUtil.map(ticksCoords, function (tickCoord) {\n return radar.coordToPoint(tickCoord.coord, idx);\n });\n });\n var prevPoints = [];\n\n for (var i = 0; i <= realSplitNumber; i++) {\n var points = [];\n\n for (var j = 0; j < indicatorAxes.length; j++) {\n points.push(axesTicksPoints[j][i]);\n } // Close\n\n\n if (points[0]) {\n points.push(points[0].slice());\n } else {}\n\n if (showSplitLine) {\n var colorIndex = getColorIndex(splitLines, splitLineColors, i);\n splitLines[colorIndex].push(new graphic.Polyline({\n shape: {\n points: points\n }\n }));\n }\n\n if (showSplitArea && prevPoints) {\n var colorIndex = getColorIndex(splitAreas, splitAreaColors, i - 1);\n splitAreas[colorIndex].push(new graphic.Polygon({\n shape: {\n points: points.concat(prevPoints)\n }\n }));\n }\n\n prevPoints = points.slice().reverse();\n }\n }\n\n var lineStyle = lineStyleModel.getLineStyle();\n var areaStyle = areaStyleModel.getAreaStyle(); // Add splitArea before splitLine\n\n zrUtil.each(splitAreas, function (splitAreas, idx) {\n this.group.add(graphic.mergePath(splitAreas, {\n style: zrUtil.defaults({\n stroke: 'none',\n fill: splitAreaColors[idx % splitAreaColors.length]\n }, areaStyle),\n silent: true\n }));\n }, this);\n zrUtil.each(splitLines, function (splitLines, idx) {\n this.group.add(graphic.mergePath(splitLines, {\n style: zrUtil.defaults({\n fill: 'none',\n stroke: splitLineColors[idx % splitLineColors.length]\n }, lineStyle),\n silent: true\n }));\n }, this);\n }\n});\n\nmodule.exports = _default;","\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\nvar echarts = require(\"../echarts\");\n\nrequire(\"../component/singleAxis\");\n\nrequire(\"./themeRiver/ThemeRiverSeries\");\n\nrequire(\"./themeRiver/ThemeRiverView\");\n\nvar themeRiverLayout = require(\"./themeRiver/themeRiverLayout\");\n\nvar themeRiverVisual = require(\"./themeRiver/themeRiverVisual\");\n\nvar dataFilter = require(\"../processor/dataFilter\");\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*/\necharts.registerLayout(themeRiverLayout);\necharts.registerVisual(themeRiverVisual);\necharts.registerProcessor(dataFilter('themeRiver'));","require('./es6.array.iterator');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar TO_STRING_TAG = require('./_wks')('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n 'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n var NAME = DOMIterables[i];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.Pager = void 0;\n\nvar _pager = _interopRequireDefault(require(\"./src/pager\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_pager.default.install = function (Vue) {\n Vue.component(_pager.default.name, _pager.default);\n};\n\nvar Pager = _pager.default;\nexports.Pager = Pager;\nvar _default = _pager.default;\nexports.default = _default;","var round = require('./round')\r\nvar toValString = require('../string/toString')\r\n\r\nvar helperStringRepeat = require('../string/helperStringRepeat')\r\nvar helperNumberOffsetPoint = require('./helperNumberOffsetPoint')\r\n\r\n/**\r\n * 将数值四舍五入并格式化为固定小数位的字符串\r\n *\r\n * @param {string|number} num 数值\r\n * @param {number} digits 小数保留位数\r\n * @return {String}\r\n */\r\nfunction toFixed (num, digits) {\r\n var str = toValString(round(num, digits))\r\n var nums = str.split('.')\r\n var intStr = nums[0]\r\n var floatStr = nums[1] || ''\r\n var digitOffsetIndex = digits - floatStr.length\r\n if (digits) {\r\n if (digitOffsetIndex > 0) {\r\n return intStr + '.' + floatStr + helperStringRepeat('0', digitOffsetIndex)\r\n }\r\n return intStr + helperNumberOffsetPoint(floatStr, Math.abs(digitOffsetIndex))\r\n }\r\n return intStr\r\n}\r\n\r\nmodule.exports = toFixed\r\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\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Model = require(\"./Model\");\n\nvar componentUtil = require(\"../util/component\");\n\nvar _clazz = require(\"../util/clazz\");\n\nvar enableClassManagement = _clazz.enableClassManagement;\nvar parseClassType = _clazz.parseClassType;\n\nvar _model = require(\"../util/model\");\n\nvar makeInner = _model.makeInner;\n\nvar layout = require(\"../util/layout\");\n\nvar boxLayoutMixin = require(\"./mixin/boxLayout\");\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 * Component model\n *\n * @module echarts/model/Component\n */\nvar inner = makeInner();\n/**\n * @alias module:echarts/model/Component\n * @constructor\n * @param {Object} option\n * @param {module:echarts/model/Model} parentModel\n * @param {module:echarts/model/Model} ecModel\n */\n\nvar ComponentModel = Model.extend({\n type: 'component',\n\n /**\n * @readOnly\n * @type {string}\n */\n id: '',\n\n /**\n * Because simplified concept is probably better, series.name (or component.name)\n * has been having too many resposibilities:\n * (1) Generating id (which requires name in option should not be modified).\n * (2) As an index to mapping series when merging option or calling API (a name\n * can refer to more then one components, which is convinient is some case).\n * (3) Display.\n * @readOnly\n */\n name: '',\n\n /**\n * @readOnly\n * @type {string}\n */\n mainType: '',\n\n /**\n * @readOnly\n * @type {string}\n */\n subType: '',\n\n /**\n * @readOnly\n * @type {number}\n */\n componentIndex: 0,\n\n /**\n * @type {Object}\n * @protected\n */\n defaultOption: null,\n\n /**\n * @type {module:echarts/model/Global}\n * @readOnly\n */\n ecModel: null,\n\n /**\n * key: componentType\n * value: Component model list, can not be null.\n * @type {Object.>}\n * @readOnly\n */\n dependentModels: [],\n\n /**\n * @type {string}\n * @readOnly\n */\n uid: null,\n\n /**\n * Support merge layout params.\n * Only support 'box' now (left/right/top/bottom/width/height).\n * @type {string|Object} Object can be {ignoreSize: true}\n * @readOnly\n */\n layoutMode: null,\n $constructor: function (option, parentModel, ecModel, extraOpt) {\n Model.call(this, option, parentModel, ecModel, extraOpt);\n this.uid = componentUtil.getUID('ec_cpt_model');\n },\n init: function (option, parentModel, ecModel, extraOpt) {\n this.mergeDefaultAndTheme(option, ecModel);\n },\n mergeDefaultAndTheme: function (option, ecModel) {\n var layoutMode = this.layoutMode;\n var inputPositionParams = layoutMode ? layout.getLayoutParams(option) : {};\n var themeModel = ecModel.getTheme();\n zrUtil.merge(option, themeModel.get(this.mainType));\n zrUtil.merge(option, this.getDefaultOption());\n\n if (layoutMode) {\n layout.mergeLayoutParam(option, inputPositionParams, layoutMode);\n }\n },\n mergeOption: function (option, extraOpt) {\n zrUtil.merge(this.option, option, true);\n var layoutMode = this.layoutMode;\n\n if (layoutMode) {\n layout.mergeLayoutParam(this.option, option, layoutMode);\n }\n },\n // Hooker after init or mergeOption\n optionUpdated: function (newCptOption, isInit) {},\n getDefaultOption: function () {\n var fields = inner(this);\n\n if (!fields.defaultOption) {\n var optList = [];\n var Class = this.constructor;\n\n while (Class) {\n var opt = Class.prototype.defaultOption;\n opt && optList.push(opt);\n Class = Class.superClass;\n }\n\n var defaultOption = {};\n\n for (var i = optList.length - 1; i >= 0; i--) {\n defaultOption = zrUtil.merge(defaultOption, optList[i], true);\n }\n\n fields.defaultOption = defaultOption;\n }\n\n return fields.defaultOption;\n },\n getReferringComponents: function (mainType) {\n return this.ecModel.queryComponents({\n mainType: mainType,\n index: this.get(mainType + 'Index', true),\n id: this.get(mainType + 'Id', true)\n });\n }\n}); // Reset ComponentModel.extend, add preConstruct.\n// clazzUtil.enableClassExtend(\n// ComponentModel,\n// function (option, parentModel, ecModel, extraOpt) {\n// // Set dependentModels, componentIndex, name, id, mainType, subType.\n// zrUtil.extend(this, extraOpt);\n// this.uid = componentUtil.getUID('componentModel');\n// // this.setReadOnly([\n// // 'type', 'id', 'uid', 'name', 'mainType', 'subType',\n// // 'dependentModels', 'componentIndex'\n// // ]);\n// }\n// );\n// Add capability of registerClass, getClass, hasClass, registerSubTypeDefaulter and so on.\n\nenableClassManagement(ComponentModel, {\n registerWhenExtend: true\n});\ncomponentUtil.enableSubTypeDefaulter(ComponentModel); // Add capability of ComponentModel.topologicalTravel.\n\ncomponentUtil.enableTopologicalTravel(ComponentModel, getDependencies);\n\nfunction getDependencies(componentType) {\n var deps = [];\n zrUtil.each(ComponentModel.getClassesByMainType(componentType), function (Clazz) {\n deps = deps.concat(Clazz.prototype.dependencies || []);\n }); // Ensure main type.\n\n deps = zrUtil.map(deps, function (type) {\n return parseClassType(type).main;\n }); // Hack dataset for convenience.\n\n if (componentType !== 'dataset' && zrUtil.indexOf(deps, 'dataset') <= 0) {\n deps.unshift('dataset');\n }\n\n return deps;\n}\n\nzrUtil.mixin(ComponentModel, boxLayoutMixin);\nvar _default = ComponentModel;\nmodule.exports = _default;","\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\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar vector = require(\"zrender/lib/core/vector\");\n\nvar matrix = require(\"zrender/lib/core/matrix\");\n\nvar BoundingRect = require(\"zrender/lib/core/BoundingRect\");\n\nvar Transformable = require(\"zrender/lib/mixin/Transformable\");\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 * Simple view coordinate system\n * Mapping given x, y to transformd view x, y\n */\nvar v2ApplyTransform = vector.applyTransform; // Dummy transform node\n\nfunction TransformDummy() {\n Transformable.call(this);\n}\n\nzrUtil.mixin(TransformDummy, Transformable);\n\nfunction View(name) {\n /**\n * @type {string}\n */\n this.name = name;\n /**\n * @type {Object}\n */\n\n this.zoomLimit;\n Transformable.call(this);\n this._roamTransformable = new TransformDummy();\n this._rawTransformable = new TransformDummy();\n this._center;\n this._zoom;\n}\n\nView.prototype = {\n constructor: View,\n type: 'view',\n\n /**\n * @param {Array.}\n * @readOnly\n */\n dimensions: ['x', 'y'],\n\n /**\n * Set bounding rect\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n */\n // PENDING to getRect\n setBoundingRect: function (x, y, width, height) {\n this._rect = new BoundingRect(x, y, width, height);\n return this._rect;\n },\n\n /**\n * @return {module:zrender/core/BoundingRect}\n */\n // PENDING to getRect\n getBoundingRect: function () {\n return this._rect;\n },\n\n /**\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n */\n setViewRect: function (x, y, width, height) {\n this.transformTo(x, y, width, height);\n this._viewRect = new BoundingRect(x, y, width, height);\n },\n\n /**\n * Transformed to particular position and size\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n */\n transformTo: function (x, y, width, height) {\n var rect = this.getBoundingRect();\n var rawTransform = this._rawTransformable;\n rawTransform.transform = rect.calculateTransform(new BoundingRect(x, y, width, height));\n rawTransform.decomposeTransform();\n\n this._updateTransform();\n },\n\n /**\n * Set center of view\n * @param {Array.} [centerCoord]\n */\n setCenter: function (centerCoord) {\n if (!centerCoord) {\n return;\n }\n\n this._center = centerCoord;\n\n this._updateCenterAndZoom();\n },\n\n /**\n * @param {number} zoom\n */\n setZoom: function (zoom) {\n zoom = zoom || 1;\n var zoomLimit = this.zoomLimit;\n\n if (zoomLimit) {\n if (zoomLimit.max != null) {\n zoom = Math.min(zoomLimit.max, zoom);\n }\n\n if (zoomLimit.min != null) {\n zoom = Math.max(zoomLimit.min, zoom);\n }\n }\n\n this._zoom = zoom;\n\n this._updateCenterAndZoom();\n },\n\n /**\n * Get default center without roam\n */\n getDefaultCenter: function () {\n // Rect before any transform\n var rawRect = this.getBoundingRect();\n var cx = rawRect.x + rawRect.width / 2;\n var cy = rawRect.y + rawRect.height / 2;\n return [cx, cy];\n },\n getCenter: function () {\n return this._center || this.getDefaultCenter();\n },\n getZoom: function () {\n return this._zoom || 1;\n },\n\n /**\n * @return {Array.} data\n * @param {boolean} noRoam\n * @param {Array.} [out]\n * @return {Array.}\n */\n dataToPoint: function (data, noRoam, out) {\n var transform = noRoam ? this._rawTransform : this.transform;\n out = out || [];\n return transform ? v2ApplyTransform(out, data, transform) : vector.copy(out, data);\n },\n\n /**\n * Convert a (x, y) point to (lon, lat) data\n * @param {Array.} point\n * @return {Array.}\n */\n pointToData: function (point) {\n var invTransform = this.invTransform;\n return invTransform ? v2ApplyTransform([], point, invTransform) : [point[0], point[1]];\n },\n\n /**\n * @implements\n * see {module:echarts/CoodinateSystem}\n */\n convertToPixel: zrUtil.curry(doConvert, 'dataToPoint'),\n\n /**\n * @implements\n * see {module:echarts/CoodinateSystem}\n */\n convertFromPixel: zrUtil.curry(doConvert, 'pointToData'),\n\n /**\n * @implements\n * see {module:echarts/CoodinateSystem}\n */\n containPoint: function (point) {\n return this.getViewRectAfterRoam().contain(point[0], point[1]);\n }\n /**\n * @return {number}\n */\n // getScalarScale: function () {\n // // Use determinant square root of transform to mutiply scalar\n // var m = this.transform;\n // var det = Math.sqrt(Math.abs(m[0] * m[3] - m[2] * m[1]));\n // return det;\n // }\n\n};\nzrUtil.mixin(View, Transformable);\n\nfunction doConvert(methodName, ecModel, finder, value) {\n var seriesModel = finder.seriesModel;\n var coordSys = seriesModel ? seriesModel.coordinateSystem : null; // e.g., graph.\n\n return coordSys === this ? coordSys[methodName](value) : null;\n}\n\nvar _default = View;\nmodule.exports = _default;","\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\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar SymbolClz = require(\"../helper/Symbol\");\n\nvar _layoutHelper = require(\"./layoutHelper\");\n\nvar radialCoordinate = _layoutHelper.radialCoordinate;\n\nvar echarts = require(\"../../echarts\");\n\nvar bbox = require(\"zrender/lib/core/bbox\");\n\nvar View = require(\"../../coord/View\");\n\nvar roamHelper = require(\"../../component/helper/roamHelper\");\n\nvar RoamController = require(\"../../component/helper/RoamController\");\n\nvar _cursorHelper = require(\"../../component/helper/cursorHelper\");\n\nvar onIrrelevantElement = _cursorHelper.onIrrelevantElement;\n\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar _number = require(\"../../util/number\");\n\nvar parsePercent = _number.parsePercent;\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*/\nvar TreeShape = graphic.extendShape({\n shape: {\n parentPoint: [],\n childPoints: [],\n orient: '',\n forkPosition: ''\n },\n style: {\n stroke: '#000',\n fill: null\n },\n buildPath: function (ctx, shape) {\n var childPoints = shape.childPoints;\n var childLen = childPoints.length;\n var parentPoint = shape.parentPoint;\n var firstChildPos = childPoints[0];\n var lastChildPos = childPoints[childLen - 1];\n\n if (childLen === 1) {\n ctx.moveTo(parentPoint[0], parentPoint[1]);\n ctx.lineTo(firstChildPos[0], firstChildPos[1]);\n return;\n }\n\n var orient = shape.orient;\n var forkDim = orient === 'TB' || orient === 'BT' ? 0 : 1;\n var otherDim = 1 - forkDim;\n var forkPosition = parsePercent(shape.forkPosition, 1);\n var tmpPoint = [];\n tmpPoint[forkDim] = parentPoint[forkDim];\n tmpPoint[otherDim] = parentPoint[otherDim] + (lastChildPos[otherDim] - parentPoint[otherDim]) * forkPosition;\n ctx.moveTo(parentPoint[0], parentPoint[1]);\n ctx.lineTo(tmpPoint[0], tmpPoint[1]);\n ctx.moveTo(firstChildPos[0], firstChildPos[1]);\n tmpPoint[forkDim] = firstChildPos[forkDim];\n ctx.lineTo(tmpPoint[0], tmpPoint[1]);\n tmpPoint[forkDim] = lastChildPos[forkDim];\n ctx.lineTo(tmpPoint[0], tmpPoint[1]);\n ctx.lineTo(lastChildPos[0], lastChildPos[1]);\n\n for (var i = 1; i < childLen - 1; i++) {\n var point = childPoints[i];\n ctx.moveTo(point[0], point[1]);\n tmpPoint[forkDim] = point[forkDim];\n ctx.lineTo(tmpPoint[0], tmpPoint[1]);\n }\n }\n});\n\nvar _default = echarts.extendChartView({\n type: 'tree',\n\n /**\n * Init the chart\n * @override\n * @param {module:echarts/model/Global} ecModel\n * @param {module:echarts/ExtensionAPI} api\n */\n init: function (ecModel, api) {\n /**\n * @private\n * @type {module:echarts/data/Tree}\n */\n this._oldTree;\n /**\n * @private\n * @type {module:zrender/container/Group}\n */\n\n this._mainGroup = new graphic.Group();\n /**\n * @private\n * @type {module:echarts/componet/helper/RoamController}\n */\n\n this._controller = new RoamController(api.getZr());\n this._controllerHost = {\n target: this.group\n };\n this.group.add(this._mainGroup);\n },\n render: function (seriesModel, ecModel, api, payload) {\n var data = seriesModel.getData();\n var layoutInfo = seriesModel.layoutInfo;\n var group = this._mainGroup;\n var layout = seriesModel.get('layout');\n\n if (layout === 'radial') {\n group.attr('position', [layoutInfo.x + layoutInfo.width / 2, layoutInfo.y + layoutInfo.height / 2]);\n } else {\n group.attr('position', [layoutInfo.x, layoutInfo.y]);\n }\n\n this._updateViewCoordSys(seriesModel, layoutInfo, layout);\n\n this._updateController(seriesModel, ecModel, api);\n\n var oldData = this._data;\n var seriesScope = {\n expandAndCollapse: seriesModel.get('expandAndCollapse'),\n layout: layout,\n edgeShape: seriesModel.get('edgeShape'),\n edgeForkPosition: seriesModel.get('edgeForkPosition'),\n orient: seriesModel.getOrient(),\n curvature: seriesModel.get('lineStyle.curveness'),\n symbolRotate: seriesModel.get('symbolRotate'),\n symbolOffset: seriesModel.get('symbolOffset'),\n hoverAnimation: seriesModel.get('hoverAnimation'),\n useNameLabel: true,\n fadeIn: true\n };\n data.diff(oldData).add(function (newIdx) {\n if (symbolNeedsDraw(data, newIdx)) {\n // Create node and edge\n updateNode(data, newIdx, null, group, seriesModel, seriesScope);\n }\n }).update(function (newIdx, oldIdx) {\n var symbolEl = oldData.getItemGraphicEl(oldIdx);\n\n if (!symbolNeedsDraw(data, newIdx)) {\n symbolEl && removeNode(oldData, oldIdx, symbolEl, group, seriesModel, seriesScope);\n return;\n } // Update node and edge\n\n\n updateNode(data, newIdx, symbolEl, group, seriesModel, seriesScope);\n }).remove(function (oldIdx) {\n var symbolEl = oldData.getItemGraphicEl(oldIdx); // When remove a collapsed node of subtree, since the collapsed\n // node haven't been initialized with a symbol element,\n // you can't found it's symbol element through index.\n // so if we want to remove the symbol element we should insure\n // that the symbol element is not null.\n\n if (symbolEl) {\n removeNode(oldData, oldIdx, symbolEl, group, seriesModel, seriesScope);\n }\n }).execute();\n this._nodeScaleRatio = seriesModel.get('nodeScaleRatio');\n\n this._updateNodeAndLinkScale(seriesModel);\n\n if (seriesScope.expandAndCollapse === true) {\n data.eachItemGraphicEl(function (el, dataIndex) {\n el.off('click').on('click', function () {\n api.dispatchAction({\n type: 'treeExpandAndCollapse',\n seriesId: seriesModel.id,\n dataIndex: dataIndex\n });\n });\n });\n }\n\n this._data = data;\n },\n _updateViewCoordSys: function (seriesModel) {\n var data = seriesModel.getData();\n var points = [];\n data.each(function (idx) {\n var layout = data.getItemLayout(idx);\n\n if (layout && !isNaN(layout.x) && !isNaN(layout.y)) {\n points.push([+layout.x, +layout.y]);\n }\n });\n var min = [];\n var max = [];\n bbox.fromPoints(points, min, max); // If don't Store min max when collapse the root node after roam,\n // the root node will disappear.\n\n var oldMin = this._min;\n var oldMax = this._max; // If width or height is 0\n\n if (max[0] - min[0] === 0) {\n min[0] = oldMin ? oldMin[0] : min[0] - 1;\n max[0] = oldMax ? oldMax[0] : max[0] + 1;\n }\n\n if (max[1] - min[1] === 0) {\n min[1] = oldMin ? oldMin[1] : min[1] - 1;\n max[1] = oldMax ? oldMax[1] : max[1] + 1;\n }\n\n var viewCoordSys = seriesModel.coordinateSystem = new View();\n viewCoordSys.zoomLimit = seriesModel.get('scaleLimit');\n viewCoordSys.setBoundingRect(min[0], min[1], max[0] - min[0], max[1] - min[1]);\n viewCoordSys.setCenter(seriesModel.get('center'));\n viewCoordSys.setZoom(seriesModel.get('zoom')); // Here we use viewCoordSys just for computing the 'position' and 'scale' of the group\n\n this.group.attr({\n position: viewCoordSys.position,\n scale: viewCoordSys.scale\n });\n this._viewCoordSys = viewCoordSys;\n this._min = min;\n this._max = max;\n },\n _updateController: function (seriesModel, ecModel, api) {\n var controller = this._controller;\n var controllerHost = this._controllerHost;\n var group = this.group;\n controller.setPointerChecker(function (e, x, y) {\n var rect = group.getBoundingRect();\n rect.applyTransform(group.transform);\n return rect.contain(x, y) && !onIrrelevantElement(e, api, seriesModel);\n });\n controller.enable(seriesModel.get('roam'));\n controllerHost.zoomLimit = seriesModel.get('scaleLimit');\n controllerHost.zoom = seriesModel.coordinateSystem.getZoom();\n controller.off('pan').off('zoom').on('pan', function (e) {\n roamHelper.updateViewOnPan(controllerHost, e.dx, e.dy);\n api.dispatchAction({\n seriesId: seriesModel.id,\n type: 'treeRoam',\n dx: e.dx,\n dy: e.dy\n });\n }, this).on('zoom', function (e) {\n roamHelper.updateViewOnZoom(controllerHost, e.scale, e.originX, e.originY);\n api.dispatchAction({\n seriesId: seriesModel.id,\n type: 'treeRoam',\n zoom: e.scale,\n originX: e.originX,\n originY: e.originY\n });\n\n this._updateNodeAndLinkScale(seriesModel);\n }, this);\n },\n _updateNodeAndLinkScale: function (seriesModel) {\n var data = seriesModel.getData();\n\n var nodeScale = this._getNodeGlobalScale(seriesModel);\n\n var invScale = [nodeScale, nodeScale];\n data.eachItemGraphicEl(function (el, idx) {\n el.attr('scale', invScale);\n });\n },\n _getNodeGlobalScale: function (seriesModel) {\n var coordSys = seriesModel.coordinateSystem;\n\n if (coordSys.type !== 'view') {\n return 1;\n }\n\n var nodeScaleRatio = this._nodeScaleRatio;\n var groupScale = coordSys.scale;\n var groupZoom = groupScale && groupScale[0] || 1; // Scale node when zoom changes\n\n var roamZoom = coordSys.getZoom();\n var nodeScale = (roamZoom - 1) * nodeScaleRatio + 1;\n return nodeScale / groupZoom;\n },\n dispose: function () {\n this._controller && this._controller.dispose();\n this._controllerHost = {};\n },\n remove: function () {\n this._mainGroup.removeAll();\n\n this._data = null;\n }\n});\n\nfunction symbolNeedsDraw(data, dataIndex) {\n var layout = data.getItemLayout(dataIndex);\n return layout && !isNaN(layout.x) && !isNaN(layout.y) && data.getItemVisual(dataIndex, 'symbol') !== 'none';\n}\n\nfunction getTreeNodeStyle(node, itemModel, seriesScope) {\n seriesScope.itemModel = itemModel;\n seriesScope.itemStyle = itemModel.getModel('itemStyle').getItemStyle();\n seriesScope.hoverItemStyle = itemModel.getModel('emphasis.itemStyle').getItemStyle();\n seriesScope.lineStyle = itemModel.getModel('lineStyle').getLineStyle();\n seriesScope.labelModel = itemModel.getModel('label');\n seriesScope.hoverLabelModel = itemModel.getModel('emphasis.label');\n\n if (node.isExpand === false && node.children.length !== 0) {\n seriesScope.symbolInnerColor = seriesScope.itemStyle.fill;\n } else {\n seriesScope.symbolInnerColor = '#fff';\n }\n\n return seriesScope;\n}\n\nfunction updateNode(data, dataIndex, symbolEl, group, seriesModel, seriesScope) {\n var isInit = !symbolEl;\n var node = data.tree.getNodeByDataIndex(dataIndex);\n var itemModel = node.getModel();\n var seriesScope = getTreeNodeStyle(node, itemModel, seriesScope);\n var virtualRoot = data.tree.root;\n var source = node.parentNode === virtualRoot ? node : node.parentNode || node;\n var sourceSymbolEl = data.getItemGraphicEl(source.dataIndex);\n var sourceLayout = source.getLayout();\n var sourceOldLayout = sourceSymbolEl ? {\n x: sourceSymbolEl.position[0],\n y: sourceSymbolEl.position[1],\n rawX: sourceSymbolEl.__radialOldRawX,\n rawY: sourceSymbolEl.__radialOldRawY\n } : sourceLayout;\n var targetLayout = node.getLayout();\n\n if (isInit) {\n symbolEl = new SymbolClz(data, dataIndex, seriesScope);\n symbolEl.attr('position', [sourceOldLayout.x, sourceOldLayout.y]);\n } else {\n symbolEl.updateData(data, dataIndex, seriesScope);\n }\n\n symbolEl.__radialOldRawX = symbolEl.__radialRawX;\n symbolEl.__radialOldRawY = symbolEl.__radialRawY;\n symbolEl.__radialRawX = targetLayout.rawX;\n symbolEl.__radialRawY = targetLayout.rawY;\n group.add(symbolEl);\n data.setItemGraphicEl(dataIndex, symbolEl);\n graphic.updateProps(symbolEl, {\n position: [targetLayout.x, targetLayout.y]\n }, seriesModel);\n var symbolPath = symbolEl.getSymbolPath();\n\n if (seriesScope.layout === 'radial') {\n var realRoot = virtualRoot.children[0];\n var rootLayout = realRoot.getLayout();\n var length = realRoot.children.length;\n var rad;\n var isLeft;\n\n if (targetLayout.x === rootLayout.x && node.isExpand === true) {\n var center = {};\n center.x = (realRoot.children[0].getLayout().x + realRoot.children[length - 1].getLayout().x) / 2;\n center.y = (realRoot.children[0].getLayout().y + realRoot.children[length - 1].getLayout().y) / 2;\n rad = Math.atan2(center.y - rootLayout.y, center.x - rootLayout.x);\n\n if (rad < 0) {\n rad = Math.PI * 2 + rad;\n }\n\n isLeft = center.x < rootLayout.x;\n\n if (isLeft) {\n rad = rad - Math.PI;\n }\n } else {\n rad = Math.atan2(targetLayout.y - rootLayout.y, targetLayout.x - rootLayout.x);\n\n if (rad < 0) {\n rad = Math.PI * 2 + rad;\n }\n\n if (node.children.length === 0 || node.children.length !== 0 && node.isExpand === false) {\n isLeft = targetLayout.x < rootLayout.x;\n\n if (isLeft) {\n rad = rad - Math.PI;\n }\n } else {\n isLeft = targetLayout.x > rootLayout.x;\n\n if (!isLeft) {\n rad = rad - Math.PI;\n }\n }\n }\n\n var textPosition = isLeft ? 'left' : 'right';\n var rotate = seriesScope.labelModel.get('rotate');\n var labelRotateRadian = rotate * (Math.PI / 180);\n symbolPath.setStyle({\n textPosition: seriesScope.labelModel.get('position') || textPosition,\n textRotation: rotate == null ? -rad : labelRotateRadian,\n textOrigin: 'center',\n verticalAlign: 'middle'\n });\n }\n\n drawEdge(seriesModel, node, virtualRoot, symbolEl, sourceOldLayout, sourceLayout, targetLayout, group, seriesScope);\n}\n\nfunction drawEdge(seriesModel, node, virtualRoot, symbolEl, sourceOldLayout, sourceLayout, targetLayout, group, seriesScope) {\n var edgeShape = seriesScope.edgeShape;\n var edge = symbolEl.__edge;\n\n if (edgeShape === 'curve') {\n if (node.parentNode && node.parentNode !== virtualRoot) {\n if (!edge) {\n edge = symbolEl.__edge = new graphic.BezierCurve({\n shape: getEdgeShape(seriesScope, sourceOldLayout, sourceOldLayout),\n style: zrUtil.defaults({\n opacity: 0,\n strokeNoScale: true\n }, seriesScope.lineStyle)\n });\n }\n\n graphic.updateProps(edge, {\n shape: getEdgeShape(seriesScope, sourceLayout, targetLayout),\n style: zrUtil.defaults({\n opacity: 1\n }, seriesScope.lineStyle)\n }, seriesModel);\n }\n } else if (edgeShape === 'polyline') {\n if (seriesScope.layout === 'orthogonal') {\n if (node !== virtualRoot && node.children && node.children.length !== 0 && node.isExpand === true) {\n var children = node.children;\n var childPoints = [];\n\n for (var i = 0; i < children.length; i++) {\n var childLayout = children[i].getLayout();\n childPoints.push([childLayout.x, childLayout.y]);\n }\n\n if (!edge) {\n edge = symbolEl.__edge = new TreeShape({\n shape: {\n parentPoint: [targetLayout.x, targetLayout.y],\n childPoints: [[targetLayout.x, targetLayout.y]],\n orient: seriesScope.orient,\n forkPosition: seriesScope.edgeForkPosition\n },\n style: zrUtil.defaults({\n opacity: 0,\n strokeNoScale: true\n }, seriesScope.lineStyle)\n });\n }\n\n graphic.updateProps(edge, {\n shape: {\n parentPoint: [targetLayout.x, targetLayout.y],\n childPoints: childPoints\n },\n style: zrUtil.defaults({\n opacity: 1\n }, seriesScope.lineStyle)\n }, seriesModel);\n }\n } else {}\n }\n\n group.add(edge);\n}\n\nfunction removeNode(data, dataIndex, symbolEl, group, seriesModel, seriesScope) {\n var node = data.tree.getNodeByDataIndex(dataIndex);\n var virtualRoot = data.tree.root;\n var itemModel = node.getModel();\n var seriesScope = getTreeNodeStyle(node, itemModel, seriesScope);\n var source = node.parentNode === virtualRoot ? node : node.parentNode || node;\n var edgeShape = seriesScope.edgeShape;\n var sourceLayout;\n\n while (sourceLayout = source.getLayout(), sourceLayout == null) {\n source = source.parentNode === virtualRoot ? source : source.parentNode || source;\n }\n\n graphic.updateProps(symbolEl, {\n position: [sourceLayout.x + 1, sourceLayout.y + 1]\n }, seriesModel, function () {\n group.remove(symbolEl);\n data.setItemGraphicEl(dataIndex, null);\n });\n symbolEl.fadeOut(null, {\n keepLabel: true\n });\n var sourceSymbolEl = data.getItemGraphicEl(source.dataIndex);\n var sourceEdge = sourceSymbolEl.__edge; // 1. when expand the sub tree, delete the children node should delete the edge of\n // the source at the same time. because the polyline edge shape is only owned by the source.\n // 2.when the node is the only children of the source, delete the node should delete the edge of\n // the source at the same time. the same reason as above.\n\n var edge = symbolEl.__edge || (source.isExpand === false || source.children.length === 1 ? sourceEdge : undefined);\n var edgeShape = seriesScope.edgeShape;\n\n if (edge) {\n if (edgeShape === 'curve') {\n graphic.updateProps(edge, {\n shape: getEdgeShape(seriesScope, sourceLayout, sourceLayout),\n style: {\n opacity: 0\n }\n }, seriesModel, function () {\n group.remove(edge);\n });\n } else if (edgeShape === 'polyline' && seriesScope.layout === 'orthogonal') {\n graphic.updateProps(edge, {\n shape: {\n parentPoint: [sourceLayout.x, sourceLayout.y],\n childPoints: [[sourceLayout.x, sourceLayout.y]]\n },\n style: {\n opacity: 0\n }\n }, seriesModel, function () {\n group.remove(edge);\n });\n }\n }\n}\n\nfunction getEdgeShape(seriesScope, sourceLayout, targetLayout) {\n var cpx1;\n var cpy1;\n var cpx2;\n var cpy2;\n var orient = seriesScope.orient;\n var x1;\n var x2;\n var y1;\n var y2;\n\n if (seriesScope.layout === 'radial') {\n x1 = sourceLayout.rawX;\n y1 = sourceLayout.rawY;\n x2 = targetLayout.rawX;\n y2 = targetLayout.rawY;\n var radialCoor1 = radialCoordinate(x1, y1);\n var radialCoor2 = radialCoordinate(x1, y1 + (y2 - y1) * seriesScope.curvature);\n var radialCoor3 = radialCoordinate(x2, y2 + (y1 - y2) * seriesScope.curvature);\n var radialCoor4 = radialCoordinate(x2, y2);\n return {\n x1: radialCoor1.x,\n y1: radialCoor1.y,\n x2: radialCoor4.x,\n y2: radialCoor4.y,\n cpx1: radialCoor2.x,\n cpy1: radialCoor2.y,\n cpx2: radialCoor3.x,\n cpy2: radialCoor3.y\n };\n } else {\n x1 = sourceLayout.x;\n y1 = sourceLayout.y;\n x2 = targetLayout.x;\n y2 = targetLayout.y;\n\n if (orient === 'LR' || orient === 'RL') {\n cpx1 = x1 + (x2 - x1) * seriesScope.curvature;\n cpy1 = y1;\n cpx2 = x2 + (x1 - x2) * seriesScope.curvature;\n cpy2 = y2;\n }\n\n if (orient === 'TB' || orient === 'BT') {\n cpx1 = x1;\n cpy1 = y1 + (y2 - y1) * seriesScope.curvature;\n cpx2 = x2;\n cpy2 = y2 + (y1 - y2) * seriesScope.curvature;\n }\n }\n\n return {\n x1: x1,\n y1: y1,\n x2: x2,\n y2: y2,\n cpx1: cpx1,\n cpy1: cpy1,\n cpx2: cpx2,\n cpy2: cpy2\n };\n}\n\nmodule.exports = _default;","var map = require('./map')\r\n\r\nvar property = require('../function/property')\r\n\r\n/**\r\n * 获取数组对象中某属性值,返回一个数组\r\n *\r\n * @param {Array} array 数组\r\n * @param {String} key 属性值\r\n * @return {Array}\r\n */\r\nfunction pluck (obj, key) {\r\n return map(obj, property(key))\r\n}\r\n\r\nmodule.exports = pluck\r\n","var staticStrUndefined = 'undefined'\r\n\r\nmodule.exports = staticStrUndefined\r\n","/**\n * @module zrender/core/util\n */\n// 用于处理merge时无法遍历Date等对象的问题\nvar BUILTIN_OBJECT = {\n '[object Function]': 1,\n '[object RegExp]': 1,\n '[object Date]': 1,\n '[object Error]': 1,\n '[object CanvasGradient]': 1,\n '[object CanvasPattern]': 1,\n // For node-canvas\n '[object Image]': 1,\n '[object Canvas]': 1\n};\nvar TYPED_ARRAY = {\n '[object Int8Array]': 1,\n '[object Uint8Array]': 1,\n '[object Uint8ClampedArray]': 1,\n '[object Int16Array]': 1,\n '[object Uint16Array]': 1,\n '[object Int32Array]': 1,\n '[object Uint32Array]': 1,\n '[object Float32Array]': 1,\n '[object Float64Array]': 1\n};\nvar objToString = Object.prototype.toString;\nvar arrayProto = Array.prototype;\nvar nativeForEach = arrayProto.forEach;\nvar nativeFilter = arrayProto.filter;\nvar nativeSlice = arrayProto.slice;\nvar nativeMap = arrayProto.map;\nvar nativeReduce = arrayProto.reduce; // Avoid assign to an exported variable, for transforming to cjs.\n\nvar methods = {};\n\nfunction $override(name, fn) {\n // Clear ctx instance for different environment\n if (name === 'createCanvas') {\n _ctx = null;\n }\n\n methods[name] = fn;\n}\n/**\n * Those data types can be cloned:\n * Plain object, Array, TypedArray, number, string, null, undefined.\n * Those data types will be assgined using the orginal data:\n * BUILTIN_OBJECT\n * Instance of user defined class will be cloned to a plain object, without\n * properties in prototype.\n * Other data types is not supported (not sure what will happen).\n *\n * Caution: do not support clone Date, for performance consideration.\n * (There might be a large number of date in `series.data`).\n * So date should not be modified in and out of echarts.\n *\n * @param {*} source\n * @return {*} new\n */\n\n\nfunction clone(source) {\n if (source == null || typeof source !== 'object') {\n return source;\n }\n\n var result = source;\n var typeStr = objToString.call(source);\n\n if (typeStr === '[object Array]') {\n if (!isPrimitive(source)) {\n result = [];\n\n for (var i = 0, len = source.length; i < len; i++) {\n result[i] = clone(source[i]);\n }\n }\n } else if (TYPED_ARRAY[typeStr]) {\n if (!isPrimitive(source)) {\n var Ctor = source.constructor;\n\n if (source.constructor.from) {\n result = Ctor.from(source);\n } else {\n result = new Ctor(source.length);\n\n for (var i = 0, len = source.length; i < len; i++) {\n result[i] = clone(source[i]);\n }\n }\n }\n } else if (!BUILTIN_OBJECT[typeStr] && !isPrimitive(source) && !isDom(source)) {\n result = {};\n\n for (var key in source) {\n if (source.hasOwnProperty(key)) {\n result[key] = clone(source[key]);\n }\n }\n }\n\n return result;\n}\n/**\n * @memberOf module:zrender/core/util\n * @param {*} target\n * @param {*} source\n * @param {boolean} [overwrite=false]\n */\n\n\nfunction merge(target, source, overwrite) {\n // We should escapse that source is string\n // and enter for ... in ...\n if (!isObject(source) || !isObject(target)) {\n return overwrite ? clone(source) : target;\n }\n\n for (var key in source) {\n if (source.hasOwnProperty(key)) {\n var targetProp = target[key];\n var sourceProp = source[key];\n\n if (isObject(sourceProp) && isObject(targetProp) && !isArray(sourceProp) && !isArray(targetProp) && !isDom(sourceProp) && !isDom(targetProp) && !isBuiltInObject(sourceProp) && !isBuiltInObject(targetProp) && !isPrimitive(sourceProp) && !isPrimitive(targetProp)) {\n // 如果需要递归覆盖,就递归调用merge\n merge(targetProp, sourceProp, overwrite);\n } else if (overwrite || !(key in target)) {\n // 否则只处理overwrite为true,或者在目标对象中没有此属性的情况\n // NOTE,在 target[key] 不存在的时候也是直接覆盖\n target[key] = clone(source[key], true);\n }\n }\n }\n\n return target;\n}\n/**\n * @param {Array} targetAndSources The first item is target, and the rests are source.\n * @param {boolean} [overwrite=false]\n * @return {*} target\n */\n\n\nfunction mergeAll(targetAndSources, overwrite) {\n var result = targetAndSources[0];\n\n for (var i = 1, len = targetAndSources.length; i < len; i++) {\n result = merge(result, targetAndSources[i], overwrite);\n }\n\n return result;\n}\n/**\n * @param {*} target\n * @param {*} source\n * @memberOf module:zrender/core/util\n */\n\n\nfunction extend(target, source) {\n for (var key in source) {\n if (source.hasOwnProperty(key)) {\n target[key] = source[key];\n }\n }\n\n return target;\n}\n/**\n * @param {*} target\n * @param {*} source\n * @param {boolean} [overlay=false]\n * @memberOf module:zrender/core/util\n */\n\n\nfunction defaults(target, source, overlay) {\n for (var key in source) {\n if (source.hasOwnProperty(key) && (overlay ? source[key] != null : target[key] == null)) {\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nvar createCanvas = function () {\n return methods.createCanvas();\n};\n\nmethods.createCanvas = function () {\n return document.createElement('canvas');\n}; // FIXME\n\n\nvar _ctx;\n\nfunction getContext() {\n if (!_ctx) {\n // Use util.createCanvas instead of createCanvas\n // because createCanvas may be overwritten in different environment\n _ctx = createCanvas().getContext('2d');\n }\n\n return _ctx;\n}\n/**\n * 查询数组中元素的index\n * @memberOf module:zrender/core/util\n */\n\n\nfunction indexOf(array, value) {\n if (array) {\n if (array.indexOf) {\n return array.indexOf(value);\n }\n\n for (var i = 0, len = array.length; i < len; i++) {\n if (array[i] === value) {\n return i;\n }\n }\n }\n\n return -1;\n}\n/**\n * 构造类继承关系\n *\n * @memberOf module:zrender/core/util\n * @param {Function} clazz 源类\n * @param {Function} baseClazz 基类\n */\n\n\nfunction inherits(clazz, baseClazz) {\n var clazzPrototype = clazz.prototype;\n\n function F() {}\n\n F.prototype = baseClazz.prototype;\n clazz.prototype = new F();\n\n for (var prop in clazzPrototype) {\n if (clazzPrototype.hasOwnProperty(prop)) {\n clazz.prototype[prop] = clazzPrototype[prop];\n }\n }\n\n clazz.prototype.constructor = clazz;\n clazz.superClass = baseClazz;\n}\n/**\n * @memberOf module:zrender/core/util\n * @param {Object|Function} target\n * @param {Object|Function} sorce\n * @param {boolean} overlay\n */\n\n\nfunction mixin(target, source, overlay) {\n target = 'prototype' in target ? target.prototype : target;\n source = 'prototype' in source ? source.prototype : source;\n defaults(target, source, overlay);\n}\n/**\n * Consider typed array.\n * @param {Array|TypedArray} data\n */\n\n\nfunction isArrayLike(data) {\n if (!data) {\n return;\n }\n\n if (typeof data === 'string') {\n return false;\n }\n\n return typeof data.length === 'number';\n}\n/**\n * 数组或对象遍历\n * @memberOf module:zrender/core/util\n * @param {Object|Array} obj\n * @param {Function} cb\n * @param {*} [context]\n */\n\n\nfunction each(obj, cb, context) {\n if (!(obj && cb)) {\n return;\n }\n\n if (obj.forEach && obj.forEach === nativeForEach) {\n obj.forEach(cb, context);\n } else if (obj.length === +obj.length) {\n for (var i = 0, len = obj.length; i < len; i++) {\n cb.call(context, obj[i], i, obj);\n }\n } else {\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n cb.call(context, obj[key], key, obj);\n }\n }\n }\n}\n/**\n * 数组映射\n * @memberOf module:zrender/core/util\n * @param {Array} obj\n * @param {Function} cb\n * @param {*} [context]\n * @return {Array}\n */\n\n\nfunction map(obj, cb, context) {\n if (!(obj && cb)) {\n return;\n }\n\n if (obj.map && obj.map === nativeMap) {\n return obj.map(cb, context);\n } else {\n var result = [];\n\n for (var i = 0, len = obj.length; i < len; i++) {\n result.push(cb.call(context, obj[i], i, obj));\n }\n\n return result;\n }\n}\n/**\n * @memberOf module:zrender/core/util\n * @param {Array} obj\n * @param {Function} cb\n * @param {Object} [memo]\n * @param {*} [context]\n * @return {Array}\n */\n\n\nfunction reduce(obj, cb, memo, context) {\n if (!(obj && cb)) {\n return;\n }\n\n if (obj.reduce && obj.reduce === nativeReduce) {\n return obj.reduce(cb, memo, context);\n } else {\n for (var i = 0, len = obj.length; i < len; i++) {\n memo = cb.call(context, memo, obj[i], i, obj);\n }\n\n return memo;\n }\n}\n/**\n * 数组过滤\n * @memberOf module:zrender/core/util\n * @param {Array} obj\n * @param {Function} cb\n * @param {*} [context]\n * @return {Array}\n */\n\n\nfunction filter(obj, cb, context) {\n if (!(obj && cb)) {\n return;\n }\n\n if (obj.filter && obj.filter === nativeFilter) {\n return obj.filter(cb, context);\n } else {\n var result = [];\n\n for (var i = 0, len = obj.length; i < len; i++) {\n if (cb.call(context, obj[i], i, obj)) {\n result.push(obj[i]);\n }\n }\n\n return result;\n }\n}\n/**\n * 数组项查找\n * @memberOf module:zrender/core/util\n * @param {Array} obj\n * @param {Function} cb\n * @param {*} [context]\n * @return {*}\n */\n\n\nfunction find(obj, cb, context) {\n if (!(obj && cb)) {\n return;\n }\n\n for (var i = 0, len = obj.length; i < len; i++) {\n if (cb.call(context, obj[i], i, obj)) {\n return obj[i];\n }\n }\n}\n/**\n * @memberOf module:zrender/core/util\n * @param {Function} func\n * @param {*} context\n * @return {Function}\n */\n\n\nfunction bind(func, context) {\n var args = nativeSlice.call(arguments, 2);\n return function () {\n return func.apply(context, args.concat(nativeSlice.call(arguments)));\n };\n}\n/**\n * @memberOf module:zrender/core/util\n * @param {Function} func\n * @return {Function}\n */\n\n\nfunction curry(func) {\n var args = nativeSlice.call(arguments, 1);\n return function () {\n return func.apply(this, args.concat(nativeSlice.call(arguments)));\n };\n}\n/**\n * @memberOf module:zrender/core/util\n * @param {*} value\n * @return {boolean}\n */\n\n\nfunction isArray(value) {\n return objToString.call(value) === '[object Array]';\n}\n/**\n * @memberOf module:zrender/core/util\n * @param {*} value\n * @return {boolean}\n */\n\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n/**\n * @memberOf module:zrender/core/util\n * @param {*} value\n * @return {boolean}\n */\n\n\nfunction isString(value) {\n return objToString.call(value) === '[object String]';\n}\n/**\n * @memberOf module:zrender/core/util\n * @param {*} value\n * @return {boolean}\n */\n\n\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return type === 'function' || !!value && type === 'object';\n}\n/**\n * @memberOf module:zrender/core/util\n * @param {*} value\n * @return {boolean}\n */\n\n\nfunction isBuiltInObject(value) {\n return !!BUILTIN_OBJECT[objToString.call(value)];\n}\n/**\n * @memberOf module:zrender/core/util\n * @param {*} value\n * @return {boolean}\n */\n\n\nfunction isTypedArray(value) {\n return !!TYPED_ARRAY[objToString.call(value)];\n}\n/**\n * @memberOf module:zrender/core/util\n * @param {*} value\n * @return {boolean}\n */\n\n\nfunction isDom(value) {\n return typeof value === 'object' && typeof value.nodeType === 'number' && typeof value.ownerDocument === 'object';\n}\n/**\n * Whether is exactly NaN. Notice isNaN('a') returns true.\n * @param {*} value\n * @return {boolean}\n */\n\n\nfunction eqNaN(value) {\n /* eslint-disable-next-line no-self-compare */\n return value !== value;\n}\n/**\n * If value1 is not null, then return value1, otherwise judget rest of values.\n * Low performance.\n * @memberOf module:zrender/core/util\n * @return {*} Final value\n */\n\n\nfunction retrieve(values) {\n for (var i = 0, len = arguments.length; i < len; i++) {\n if (arguments[i] != null) {\n return arguments[i];\n }\n }\n}\n\nfunction retrieve2(value0, value1) {\n return value0 != null ? value0 : value1;\n}\n\nfunction retrieve3(value0, value1, value2) {\n return value0 != null ? value0 : value1 != null ? value1 : value2;\n}\n/**\n * @memberOf module:zrender/core/util\n * @param {Array} arr\n * @param {number} startIndex\n * @param {number} endIndex\n * @return {Array}\n */\n\n\nfunction slice() {\n return Function.call.apply(nativeSlice, arguments);\n}\n/**\n * Normalize css liked array configuration\n * e.g.\n * 3 => [3, 3, 3, 3]\n * [4, 2] => [4, 2, 4, 2]\n * [4, 3, 2] => [4, 3, 2, 3]\n * @param {number|Array.} val\n * @return {Array.}\n */\n\n\nfunction normalizeCssArray(val) {\n if (typeof val === 'number') {\n return [val, val, val, val];\n }\n\n var len = val.length;\n\n if (len === 2) {\n // vertical | horizontal\n return [val[0], val[1], val[0], val[1]];\n } else if (len === 3) {\n // top | horizontal | bottom\n return [val[0], val[1], val[2], val[1]];\n }\n\n return val;\n}\n/**\n * @memberOf module:zrender/core/util\n * @param {boolean} condition\n * @param {string} message\n */\n\n\nfunction assert(condition, message) {\n if (!condition) {\n throw new Error(message);\n }\n}\n/**\n * @memberOf module:zrender/core/util\n * @param {string} str string to be trimed\n * @return {string} trimed string\n */\n\n\nfunction trim(str) {\n if (str == null) {\n return null;\n } else if (typeof str.trim === 'function') {\n return str.trim();\n } else {\n return str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n }\n}\n\nvar primitiveKey = '__ec_primitive__';\n/**\n * Set an object as primitive to be ignored traversing children in clone or merge\n */\n\nfunction setAsPrimitive(obj) {\n obj[primitiveKey] = true;\n}\n\nfunction isPrimitive(obj) {\n return obj[primitiveKey];\n}\n/**\n * @constructor\n * @param {Object} obj Only apply `ownProperty`.\n */\n\n\nfunction HashMap(obj) {\n var isArr = isArray(obj); // Key should not be set on this, otherwise\n // methods get/set/... may be overrided.\n\n this.data = {};\n var thisMap = this;\n obj instanceof HashMap ? obj.each(visit) : obj && each(obj, visit);\n\n function visit(value, key) {\n isArr ? thisMap.set(value, key) : thisMap.set(key, value);\n }\n}\n\nHashMap.prototype = {\n constructor: HashMap,\n // Do not provide `has` method to avoid defining what is `has`.\n // (We usually treat `null` and `undefined` as the same, different\n // from ES6 Map).\n get: function (key) {\n return this.data.hasOwnProperty(key) ? this.data[key] : null;\n },\n set: function (key, value) {\n // Comparing with invocation chaining, `return value` is more commonly\n // used in this case: `var someVal = map.set('a', genVal());`\n return this.data[key] = value;\n },\n // Although util.each can be performed on this hashMap directly, user\n // should not use the exposed keys, who are prefixed.\n each: function (cb, context) {\n context !== void 0 && (cb = bind(cb, context));\n /* eslint-disable guard-for-in */\n\n for (var key in this.data) {\n this.data.hasOwnProperty(key) && cb(this.data[key], key);\n }\n /* eslint-enable guard-for-in */\n\n },\n // Do not use this method if performance sensitive.\n removeKey: function (key) {\n delete this.data[key];\n }\n};\n\nfunction createHashMap(obj) {\n return new HashMap(obj);\n}\n\nfunction concatArray(a, b) {\n var newArray = new a.constructor(a.length + b.length);\n\n for (var i = 0; i < a.length; i++) {\n newArray[i] = a[i];\n }\n\n var offset = a.length;\n\n for (i = 0; i < b.length; i++) {\n newArray[i + offset] = b[i];\n }\n\n return newArray;\n}\n\nfunction noop() {}\n\nexports.$override = $override;\nexports.clone = clone;\nexports.merge = merge;\nexports.mergeAll = mergeAll;\nexports.extend = extend;\nexports.defaults = defaults;\nexports.createCanvas = createCanvas;\nexports.getContext = getContext;\nexports.indexOf = indexOf;\nexports.inherits = inherits;\nexports.mixin = mixin;\nexports.isArrayLike = isArrayLike;\nexports.each = each;\nexports.map = map;\nexports.reduce = reduce;\nexports.filter = filter;\nexports.find = find;\nexports.bind = bind;\nexports.curry = curry;\nexports.isArray = isArray;\nexports.isFunction = isFunction;\nexports.isString = isString;\nexports.isObject = isObject;\nexports.isBuiltInObject = isBuiltInObject;\nexports.isTypedArray = isTypedArray;\nexports.isDom = isDom;\nexports.eqNaN = eqNaN;\nexports.retrieve = retrieve;\nexports.retrieve2 = retrieve2;\nexports.retrieve3 = retrieve3;\nexports.slice = slice;\nexports.normalizeCssArray = normalizeCssArray;\nexports.assert = assert;\nexports.trim = trim;\nexports.setAsPrimitive = setAsPrimitive;\nexports.isPrimitive = isPrimitive;\nexports.createHashMap = createHashMap;\nexports.concatArray = concatArray;\nexports.noop = noop;","\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* 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 * Traverse the tree from bottom to top and do something\n * @param {module:echarts/data/Tree~TreeNode} root The real root of the tree\n * @param {Function} callback\n */\nfunction eachAfter(root, callback, separation) {\n var nodes = [root];\n var next = [];\n var node;\n\n while (node = nodes.pop()) {\n // jshint ignore:line\n next.push(node);\n\n if (node.isExpand) {\n var children = node.children;\n\n if (children.length) {\n for (var i = 0; i < children.length; i++) {\n nodes.push(children[i]);\n }\n }\n }\n }\n\n while (node = next.pop()) {\n // jshint ignore:line\n callback(node, separation);\n }\n}\n/**\n * Traverse the tree from top to bottom and do something\n * @param {module:echarts/data/Tree~TreeNode} root The real root of the tree\n * @param {Function} callback\n */\n\n\nfunction eachBefore(root, callback) {\n var nodes = [root];\n var node;\n\n while (node = nodes.pop()) {\n // jshint ignore:line\n callback(node);\n\n if (node.isExpand) {\n var children = node.children;\n\n if (children.length) {\n for (var i = children.length - 1; i >= 0; i--) {\n nodes.push(children[i]);\n }\n }\n }\n }\n}\n\nexports.eachAfter = eachAfter;\nexports.eachBefore = eachBefore;","var random = require('../number/random')\r\n\r\nvar values = require('../base/values')\r\n\r\n/**\r\n * 将一个数组随机打乱,返回一个新的数组\r\n *\r\n * @param {Array} array 数组\r\n * @return {Array}\r\n */\r\nfunction shuffle (array) {\r\n var index\r\n var result = []\r\n var list = values(array)\r\n var len = list.length - 1\r\n for (; len >= 0; len--) {\r\n index = len > 0 ? random(0, len) : 0\r\n result.push(list[index])\r\n list.splice(index, 1)\r\n }\r\n return result\r\n}\r\n\r\nmodule.exports = shuffle\r\n","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element ().\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\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\nvar zrUtil = require(\"zrender/lib/core/util\");\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*/\nvar each = zrUtil.each;\nvar ATTR = '\\0_ec_hist_store';\n/**\n * @param {module:echarts/model/Global} ecModel\n * @param {Object} newSnapshot {dataZoomId, batch: [payloadInfo, ...]}\n */\n\nfunction push(ecModel, newSnapshot) {\n var store = giveStore(ecModel); // If previous dataZoom can not be found,\n // complete an range with current range.\n\n each(newSnapshot, function (batchItem, dataZoomId) {\n var i = store.length - 1;\n\n for (; i >= 0; i--) {\n var snapshot = store[i];\n\n if (snapshot[dataZoomId]) {\n break;\n }\n }\n\n if (i < 0) {\n // No origin range set, create one by current range.\n var dataZoomModel = ecModel.queryComponents({\n mainType: 'dataZoom',\n subType: 'select',\n id: dataZoomId\n })[0];\n\n if (dataZoomModel) {\n var percentRange = dataZoomModel.getPercentRange();\n store[0][dataZoomId] = {\n dataZoomId: dataZoomId,\n start: percentRange[0],\n end: percentRange[1]\n };\n }\n }\n });\n store.push(newSnapshot);\n}\n/**\n * @param {module:echarts/model/Global} ecModel\n * @return {Object} snapshot\n */\n\n\nfunction pop(ecModel) {\n var store = giveStore(ecModel);\n var head = store[store.length - 1];\n store.length > 1 && store.pop(); // Find top for all dataZoom.\n\n var snapshot = {};\n each(head, function (batchItem, dataZoomId) {\n for (var i = store.length - 1; i >= 0; i--) {\n var batchItem = store[i][dataZoomId];\n\n if (batchItem) {\n snapshot[dataZoomId] = batchItem;\n break;\n }\n }\n });\n return snapshot;\n}\n/**\n * @param {module:echarts/model/Global} ecModel\n */\n\n\nfunction clear(ecModel) {\n ecModel[ATTR] = null;\n}\n/**\n * @param {module:echarts/model/Global} ecModel\n * @return {number} records. always >= 1.\n */\n\n\nfunction count(ecModel) {\n return giveStore(ecModel).length;\n}\n/**\n * [{key: dataZoomId, value: {dataZoomId, range}}, ...]\n * History length of each dataZoom may be different.\n * this._history[0] is used to store origin range.\n * @type {Array.}\n */\n\n\nfunction giveStore(ecModel) {\n var store = ecModel[ATTR];\n\n if (!store) {\n store = ecModel[ATTR] = [{}];\n }\n\n return store;\n}\n\nexports.push = push;\nexports.pop = pop;\nexports.clear = clear;\nexports.count = count;","\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\nvar zrUtil = require(\"zrender/lib/core/util\");\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 * Data selectable mixin for chart series.\n * To eanble data select, option of series must have `selectedMode`.\n * And each data item will use `selected` to toggle itself selected status\n */\nvar _default = {\n /**\n * @param {Array.} targetList [{name, value, selected}, ...]\n * If targetList is an array, it should like [{name: ..., value: ...}, ...].\n * If targetList is a \"List\", it must have coordDim: 'value' dimension and name.\n */\n updateSelectedMap: function (targetList) {\n this._targetList = zrUtil.isArray(targetList) ? targetList.slice() : [];\n this._selectTargetMap = zrUtil.reduce(targetList || [], function (targetMap, target) {\n targetMap.set(target.name, target);\n return targetMap;\n }, zrUtil.createHashMap());\n },\n\n /**\n * Either name or id should be passed as input here.\n * If both of them are defined, id is used.\n *\n * @param {string|undefined} name name of data\n * @param {number|undefined} id dataIndex of data\n */\n // PENGING If selectedMode is null ?\n select: function (name, id) {\n var target = id != null ? this._targetList[id] : this._selectTargetMap.get(name);\n var selectedMode = this.get('selectedMode');\n\n if (selectedMode === 'single') {\n this._selectTargetMap.each(function (target) {\n target.selected = false;\n });\n }\n\n target && (target.selected = true);\n },\n\n /**\n * Either name or id should be passed as input here.\n * If both of them are defined, id is used.\n *\n * @param {string|undefined} name name of data\n * @param {number|undefined} id dataIndex of data\n */\n unSelect: function (name, id) {\n var target = id != null ? this._targetList[id] : this._selectTargetMap.get(name); // var selectedMode = this.get('selectedMode');\n // selectedMode !== 'single' && target && (target.selected = false);\n\n target && (target.selected = false);\n },\n\n /**\n * Either name or id should be passed as input here.\n * If both of them are defined, id is used.\n *\n * @param {string|undefined} name name of data\n * @param {number|undefined} id dataIndex of data\n */\n toggleSelected: function (name, id) {\n var target = id != null ? this._targetList[id] : this._selectTargetMap.get(name);\n\n if (target != null) {\n this[target.selected ? 'unSelect' : 'select'](name, id);\n return target.selected;\n }\n },\n\n /**\n * Either name or id should be passed as input here.\n * If both of them are defined, id is used.\n *\n * @param {string|undefined} name name of data\n * @param {number|undefined} id dataIndex of data\n */\n isSelected: function (name, id) {\n var target = id != null ? this._targetList[id] : this._selectTargetMap.get(name);\n return target && target.selected;\n }\n};\nmodule.exports = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _conf = _interopRequireDefault(require(\"../../conf\"));\n\nvar _xeUtils = _interopRequireDefault(require(\"xe-utils/methods/xe-utils\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction mergeOpts(data1, data2) {\n if (data1 && _xeUtils.default.isObject(data2)) {\n _xeUtils.default.objectEach(data2, function (val, key) {\n data1[key] = data1[key] && val ? mergeOpts(data1[key], val) : val;\n });\n\n return data1;\n }\n\n return data2;\n}\n/**\n * 全局参数设置\n */\n\n\nfunction setup() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n mergeOpts(_conf.default, options);\n return _conf.default;\n}\n\nvar _default = setup;\nexports.default = _default;","\"use strict\";\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _table = _interopRequireDefault(require(\"../../table\"));\n\nvar _xeUtils = _interopRequireDefault(require(\"xe-utils/methods/xe-utils\"));\n\nvar _conf = _interopRequireDefault(require(\"../../conf\"));\n\nvar _tools = require(\"../../tools\");\n\nvar _vXETable = _interopRequireWildcard(require(\"../../v-x-e-table\"));\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar methods = {};\nvar propKeys = Object.keys(_table.default.props);\nObject.keys(_table.default.methods).forEach(function (name) {\n methods[name] = function () {\n return this.$refs.xTable[name].apply(this.$refs.xTable[name], arguments);\n };\n});\nvar _default = {\n name: 'PlxGrid',\n props: _objectSpread({\n columns: Array,\n pagerConfig: [Boolean, Object],\n proxyConfig: Object,\n toolbar: [Boolean, Object],\n formConfig: [Boolean, Object]\n }, _table.default.props),\n provide: function provide() {\n return {\n $grid: this\n };\n },\n data: function data() {\n return {\n tableLoading: false,\n maximize: false,\n tableData: [],\n tableCustoms: [],\n pendingRecords: [],\n filterData: [],\n sortData: {},\n tZindex: 0,\n tablePage: {\n total: 0,\n pageSize: 10,\n currentPage: 1\n }\n };\n },\n computed: {\n vSize: function vSize() {\n return this.size || this.$parent.size || this.$parent.vSize;\n },\n isMsg: function isMsg() {\n return this.proxyOpts.message !== false;\n },\n proxyOpts: function proxyOpts() {\n return Object.assign({}, _conf.default.grid.proxyConfig, this.proxyConfig);\n },\n pagerOpts: function pagerOpts() {\n return Object.assign({}, _conf.default.grid.pagerConfig, this.pagerConfig);\n },\n toolbarOpts: function toolbarOpts() {\n return Object.assign({}, _conf.default.grid.toolbar, this.toolbar);\n },\n toolbarSlots: function toolbarSlots() {\n var $scopedSlots = this.$scopedSlots,\n toolbar = this.toolbar,\n toolbarOpts = this.toolbarOpts;\n var $buttons = $scopedSlots.buttons;\n var $tools = $scopedSlots.tools;\n var slots = {};\n\n if (toolbar) {\n if (toolbarOpts.slots) {\n $buttons = toolbarOpts.slots.buttons || $buttons;\n $tools = toolbarOpts.slots.tools || $tools;\n }\n }\n\n if ($buttons) {\n slots.buttons = $buttons;\n }\n\n if ($tools) {\n slots.tools = $tools;\n }\n\n return slots;\n },\n renderClass: function renderClass() {\n var _ref;\n\n var tableProps = this.tableProps,\n vSize = this.vSize,\n maximize = this.maximize;\n return ['plx-grid', (_ref = {}, _defineProperty(_ref, \"size--\".concat(vSize), vSize), _defineProperty(_ref, 't--animat', tableProps.optimization.animat), _defineProperty(_ref, 'is--maximize', maximize), _ref)];\n },\n renderStyle: function renderStyle() {\n return this.maximize ? {\n zIndex: this.tZindex\n } : null;\n },\n tableExtendProps: function tableExtendProps() {\n var _this = this;\n\n var rest = {};\n propKeys.forEach(function (key) {\n rest[key] = _this[key];\n });\n return rest;\n },\n tableProps: function tableProps() {\n var maximize = this.maximize,\n seqConfig = this.seqConfig,\n pagerConfig = this.pagerConfig,\n loading = this.loading,\n toolbar = this.toolbar,\n toolbarOpts = this.toolbarOpts,\n editConfig = this.editConfig,\n proxyConfig = this.proxyConfig,\n proxyOpts = this.proxyOpts,\n tableExtendProps = this.tableExtendProps,\n tableLoading = this.tableLoading,\n tablePage = this.tablePage,\n tableData = this.tableData,\n tableCustoms = this.tableCustoms,\n optimization = this.optimization;\n var props = Object.assign({}, tableExtendProps, {\n optimization: Object.assign({}, _conf.default.optimization, optimization)\n });\n\n if (maximize) {\n if (tableExtendProps.maxHeight) {\n props.maxHeight = 'auto';\n } else {\n props.height = 'auto';\n }\n }\n\n if (proxyConfig) {\n Object.assign(props, {\n loading: loading || tableLoading,\n data: tableData,\n rowClassName: this.handleRowClassName\n });\n\n if ((proxyOpts.seq || proxyOpts.index) && pagerConfig) {\n props.seqConfig = Object.assign({}, seqConfig, {\n startIndex: (tablePage.currentPage - 1) * tablePage.pageSize\n });\n }\n }\n\n if (toolbar) {\n if (!(toolbarOpts.setting && toolbarOpts.setting.storage)) {\n props.customs = tableCustoms;\n }\n }\n\n if (editConfig) {\n props.editConfig = Object.assign({}, editConfig, {\n activeMethod: this.handleActiveMethod\n });\n }\n\n return props;\n },\n tableOns: function tableOns() {\n var $listeners = this.$listeners,\n toolbar = this.toolbar,\n proxyConfig = this.proxyConfig,\n proxyOpts = this.proxyOpts;\n var ons = Object.assign({}, $listeners);\n\n if (proxyConfig) {\n if (proxyOpts.sort) {\n ons['sort-change'] = this.sortChangeEvent;\n }\n\n if (proxyOpts.filter) {\n ons['filter-change'] = this.filterChangeEvent;\n }\n }\n\n if (toolbar) {\n ons['update:customs'] = this.updateCustomsEent;\n }\n\n return ons;\n },\n toolbarProps: function toolbarProps() {\n return Object.assign({\n loading: this.loading || this.tableLoading\n }, this.toolbarOpts);\n },\n pagerProps: function pagerProps() {\n return Object.assign({\n size: this.vSize,\n loading: this.loading || this.tableLoading\n }, this.pagerOpts, this.proxyConfig ? this.tablePage : {});\n }\n },\n watch: {\n columns: function columns(value) {\n var _this2 = this;\n\n this.$nextTick(function () {\n return _this2.loadColumn(value);\n });\n },\n tableCustoms: function tableCustoms() {\n var $refs = this.$refs,\n toolbar = this.toolbar;\n\n if (toolbar && $refs.toolbar) {\n $refs.toolbar.loadStorage();\n }\n },\n proxyConfig: function proxyConfig() {\n this.initProxy();\n },\n pagerConfig: function pagerConfig(value) {\n this.initPages();\n }\n },\n created: function created() {\n var customs = this.customs,\n data = this.data,\n proxyConfig = this.proxyConfig,\n proxyOpts = this.proxyOpts;\n var props = proxyOpts.props;\n\n if (customs) {\n this.tableCustoms = customs;\n }\n\n if (data && proxyConfig) {\n console.warn('[plx-grid] There is a conflict between the props proxy-config and data.');\n } // v3.0 中废弃 proxy-config.index\n\n\n if (proxyOpts.index) {} // UtilTools.warn('plx.error.delProp', ['proxy-config.index', 'proxy-config.seq'])\n // (v3.0 中废弃 proxyConfig.props.data)\n\n\n if (props && props.data) {\n _tools.UtilTools.warn('plx.error.delProp', ['proxy-config.props.data', 'proxy-config.props.result']);\n }\n },\n mounted: function mounted() {\n if (this.columns && this.columns.length) {\n this.loadColumn(this.columns);\n }\n\n this.initPages();\n this.initProxy();\n },\n render: function render(h) {\n var $scopedSlots = this.$scopedSlots;\n return h('div', {\n class: this.renderClass,\n style: this.renderStyle\n }, [\n /**\n * 渲染表单\n */\n this.formConfig ? h('div', {\n ref: 'form',\n class: ['plx-form', {\n 'is--loading': this.tableLoading\n }]\n }, $scopedSlots.form ? $scopedSlots.form.call(this, {\n $grid: this\n }, h) : []) : null,\n /**\n * 渲染工具栏\n */\n this.toolbar ? h('plx-toolbar', {\n ref: 'toolbar',\n props: this.toolbarProps,\n scopedSlots: this.toolbarSlots\n }) : null,\n /**\n * 渲染表格\n */\n h('plx-table', {\n props: this.tableProps,\n on: this.tableOns,\n scopedSlots: $scopedSlots,\n ref: 'xTable'\n }, this.$slots.default),\n /**\n * 渲染分页\n */\n this.pagerConfig ? $scopedSlots.pager ? $scopedSlots.pager.call(this, {\n $grid: this\n }, h) : h('plx-pager', {\n props: this.pagerProps,\n on: {\n 'page-change': this.pageChangeEvent\n },\n ref: 'pager'\n }) : null]);\n },\n methods: _objectSpread({}, methods, {\n getParentHeight: function getParentHeight() {\n return (this.maximize ? _tools.DomTools.getDomNode().visibleHeight : this.$el.parentNode.clientHeight) - this.getExcludeHeight();\n },\n\n /**\n * 获取需要排除的高度\n */\n getExcludeHeight: function getExcludeHeight() {\n var _this$$refs = this.$refs,\n formElem = _this$$refs.form,\n toolbar = _this$$refs.toolbar,\n pager = _this$$refs.pager;\n return (formElem ? formElem.offsetHeight : 0) + (toolbar && toolbar.$el ? toolbar.$el.offsetHeight : 0) + (pager && pager.$el ? pager.$el.offsetHeight : 0);\n },\n handleRowClassName: function handleRowClassName(params) {\n var rowClassName = this.rowClassName;\n var clss = [];\n\n if (this.pendingRecords.some(function (item) {\n return item === params.row;\n })) {\n clss.push('row--pending');\n }\n\n return clss.concat(rowClassName ? rowClassName(params) : []);\n },\n handleActiveMethod: function handleActiveMethod(params) {\n var activeMethod = this.editConfig.activeMethod;\n return this.pendingRecords.indexOf(params.row) === -1 && (!activeMethod || activeMethod(params));\n },\n loadColumn: function loadColumn(columns) {\n var $scopedSlots = this.$scopedSlots;\n columns.forEach(function (column) {\n if (column.slots) {\n _xeUtils.default.each(column.slots, function (func, name, slots) {\n if (!_xeUtils.default.isFunction(func)) {\n if ($scopedSlots[func]) {\n slots[name] = $scopedSlots[func];\n } else {\n slots[name] = null;\n\n _tools.UtilTools.error('plx.error.notSlot', [func]);\n }\n }\n });\n }\n });\n this.$refs.xTable.loadColumn(columns);\n },\n reloadColumn: function reloadColumn(columns) {\n this.clearAll();\n return this.loadColumn(columns);\n },\n initPages: function initPages() {\n if (this.pagerConfig && this.pagerOpts.pageSize) {\n this.tablePage.pageSize = this.pagerOpts.pageSize;\n }\n },\n initProxy: function initProxy() {\n var _this3 = this;\n\n if (!this.proxyInited && this.proxyConfig && this.proxyOpts.autoLoad !== false) {\n this.proxyInited = true;\n this.$nextTick(function () {\n return _this3.commitProxy('reload');\n });\n }\n },\n\n /**\n * 提交指令,支持 code 或 button\n * @param {String/Object} code 字符串或对象\n */\n commitProxy: function commitProxy(code) {\n var _this4 = this;\n\n var $refs = this.$refs,\n toolbar = this.toolbar,\n toolbarOpts = this.toolbarOpts,\n proxyOpts = this.proxyOpts,\n tablePage = this.tablePage,\n pagerConfig = this.pagerConfig,\n sortData = this.sortData,\n filterData = this.filterData,\n isMsg = this.isMsg;\n var beforeQuery = proxyOpts.beforeQuery,\n beforeDelete = proxyOpts.beforeDelete,\n beforeSave = proxyOpts.beforeSave,\n _proxyOpts$ajax = proxyOpts.ajax,\n ajax = _proxyOpts$ajax === void 0 ? {} : _proxyOpts$ajax,\n _proxyOpts$props = proxyOpts.props,\n props = _proxyOpts$props === void 0 ? {} : _proxyOpts$props;\n var $table = $refs.xTable;\n\n var args = _xeUtils.default.slice(arguments, 1);\n\n var button;\n\n if (_xeUtils.default.isString(code)) {\n var matchObj = toolbar ? _xeUtils.default.findTree(toolbarOpts.buttons, function (item) {\n return item.code === code;\n }, {\n children: 'dropdowns'\n }) : null;\n button = matchObj ? matchObj.item : null;\n } else {\n button = code;\n code = button.code;\n }\n\n var btnParams = button ? button.params : null;\n\n switch (code) {\n case 'insert':\n this.insert();\n break;\n\n case 'insert_actived':\n this.insert().then(function (_ref2) {\n var row = _ref2.row;\n return _this4.setActiveRow(row);\n });\n break;\n\n case 'mark_cancel':\n this.triggerPendingEvent(code);\n break;\n\n case 'delete_selection':\n this.handleDeleteRow(code, 'plx.grid.deleteSelectRecord', function () {\n return _this4.commitProxy.apply(_this4, ['delete'].concat(args));\n });\n break;\n\n case 'remove_selection':\n this.handleDeleteRow(code, 'plx.grid.removeSelectRecord', function () {\n return _this4.removeSelecteds();\n });\n break;\n\n case 'import':\n this.importData(btnParams);\n break;\n\n case 'open_import':\n this.openImport(btnParams);\n break;\n\n case 'export':\n this.exportData(btnParams);\n break;\n\n case 'open_export':\n this.openExport(btnParams);\n break;\n\n case 'reset_custom':\n this.resetAll();\n break;\n\n case 'reload':\n case 'query':\n {\n var ajaxMethods = ajax.query;\n\n if (ajaxMethods) {\n var params = {\n code: code,\n $grid: this,\n sort: sortData,\n filters: filterData,\n options: ajaxMethods\n };\n this.tableLoading = true;\n\n if (pagerConfig) {\n params.page = tablePage;\n }\n\n if (code === 'reload') {\n var defaultSort = $table.sortOpts.defaultSort;\n var sortParams = {};\n\n if (pagerConfig) {\n tablePage.currentPage = 1;\n } // 如果使用默认排序\n\n\n if (defaultSort) {\n sortParams = {\n property: defaultSort.field,\n field: defaultSort.field,\n // v3 废弃 prop\n prop: defaultSort.field,\n order: defaultSort.order,\n $table: $table\n };\n }\n\n this.sortData = params.sort = sortParams;\n this.filterData = params.filters = [];\n this.pendingRecords = [];\n this.clearAll();\n }\n\n return (beforeQuery || ajaxMethods).apply(this, [params].concat(args)).then(function (rest) {\n if (rest) {\n if (pagerConfig) {\n tablePage.total = _xeUtils.default.get(rest, props.total || 'page.total') || 0;\n _this4.tableData = _xeUtils.default.get(rest, props.result || props.data || 'result') || [];\n } else {\n _this4.tableData = (props.list ? _xeUtils.default.get(rest, props.list) : rest) || [];\n }\n } else {\n _this4.tableData = [];\n }\n\n _this4.tableLoading = false;\n }).catch(function (e) {\n _this4.tableLoading = false;\n console.error(e);\n });\n } else {\n _tools.UtilTools.error('plx.error.notFunc', [code]);\n }\n\n break;\n }\n\n case 'delete':\n {\n var _ajaxMethods = ajax.delete;\n\n if (_ajaxMethods) {\n var selectRecords = this.getCheckboxRecords();\n this.remove(selectRecords).then(function () {\n var removeRecords = _this4.getRemoveRecords();\n\n var body = {\n removeRecords: removeRecords\n };\n\n if (removeRecords.length) {\n _this4.tableLoading = true;\n return (beforeDelete || _ajaxMethods).apply(_this4, [{\n $grid: _this4,\n code: code,\n body: body,\n options: _ajaxMethods\n }].concat(args)).then(function (result) {\n _this4.tableLoading = false;\n }).catch(function (e) {\n _this4.tableLoading = false;\n console.error(e);\n }).then(function () {\n return _this4.commitProxy('reload');\n });\n } else {\n if (isMsg && !selectRecords.length) {\n _vXETable.default.$modal.message({\n id: code,\n message: _conf.default.i18n('plx.grid.selectOneRecord'),\n status: 'warning'\n });\n }\n }\n });\n } else {\n _tools.UtilTools.error('plx.error.notFunc', [code]);\n }\n\n break;\n }\n\n case 'save':\n {\n var _ajaxMethods2 = ajax.save;\n\n if (_ajaxMethods2) {\n var body = Object.assign({\n pendingRecords: this.pendingRecords\n }, this.getRecordset());\n var insertRecords = body.insertRecords,\n removeRecords = body.removeRecords,\n updateRecords = body.updateRecords,\n pendingRecords = body.pendingRecords; // 排除掉新增且标记为删除的数据\n\n if (insertRecords.length) {\n body.pendingRecords = pendingRecords.filter(function (row) {\n return insertRecords.indexOf(row) === -1;\n });\n } // 排除已标记为删除的数据\n\n\n if (pendingRecords.length) {\n body.insertRecords = insertRecords.filter(function (row) {\n return pendingRecords.indexOf(row) === -1;\n });\n } // 只校验新增和修改的数据\n\n\n return new Promise(function (resolve) {\n _this4.validate(body.insertRecords.concat(updateRecords), function (vaild) {\n if (vaild) {\n if (body.insertRecords.length || removeRecords.length || updateRecords.length || body.pendingRecords.length) {\n _this4.tableLoading = true;\n resolve((beforeSave || _ajaxMethods2).apply(_this4, [{\n $grid: _this4,\n code: code,\n body: body,\n options: _ajaxMethods2\n }].concat(args)).then(function () {\n _vXETable.default.$modal.message({\n id: code,\n message: _conf.default.i18n('plx.grid.saveSuccess'),\n status: 'success'\n });\n\n _this4.tableLoading = false;\n }).catch(function (e) {\n _this4.tableLoading = false;\n console.error(e);\n }).then(function () {\n return _this4.commitProxy('reload');\n }));\n } else {\n if (isMsg) {\n // 直接移除未保存且标记为删除的数据\n if (pendingRecords.length) {\n _this4.remove(pendingRecords);\n } else {\n _vXETable.default.$modal.message({\n id: code,\n message: _conf.default.i18n('plx.grid.dataUnchanged'),\n status: 'info'\n });\n }\n }\n\n resolve();\n }\n } else {\n resolve(vaild);\n }\n });\n });\n } else {\n _tools.UtilTools.error('plx.error.notFunc', [code]);\n }\n\n break;\n }\n\n default:\n var btnMethod = _vXETable.Buttons.get(code);\n\n if (btnMethod) {\n btnMethod.apply(this, [{\n code: code,\n button: button,\n $grid: this,\n $table: $table\n }].concat(args));\n }\n\n }\n\n return this.$nextTick();\n },\n handleDeleteRow: function handleDeleteRow(code, alertKey, callback) {\n var selectRecords = this.getCheckboxRecords();\n\n if (this.isMsg) {\n if (selectRecords.length) {\n _vXETable.default.$modal.confirm(_conf.default.i18n(alertKey)).then(function (type) {\n if (type === 'confirm') {\n callback();\n }\n });\n } else {\n _vXETable.default.$modal.message({\n id: code,\n message: _conf.default.i18n('plx.grid.selectOneRecord'),\n status: 'warning'\n });\n }\n } else {\n if (selectRecords.length) {\n callback();\n }\n }\n },\n getPendingRecords: function getPendingRecords() {\n return this.pendingRecords;\n },\n updateCustomsEent: function updateCustomsEent(value) {\n this.tableCustoms = value;\n },\n triggerToolbarBtnEvent: function triggerToolbarBtnEvent(button, evnt) {\n this.commitProxy(button, evnt);\n\n _tools.UtilTools.emitEvent(this, 'toolbar-button-click', [{\n code: button.code,\n button: button,\n $grid: this\n }, evnt]);\n },\n triggerPendingEvent: function triggerPendingEvent(code) {\n var pendingRecords = this.pendingRecords,\n isMsg = this.isMsg;\n var selectRecords = this.getCheckboxRecords();\n\n if (selectRecords.length) {\n var plus = [];\n var minus = [];\n selectRecords.forEach(function (data) {\n if (pendingRecords.some(function (item) {\n return data === item;\n })) {\n minus.push(data);\n } else {\n plus.push(data);\n }\n });\n\n if (minus.length) {\n this.pendingRecords = pendingRecords.filter(function (item) {\n return minus.indexOf(item) === -1;\n }).concat(plus);\n } else if (plus.length) {\n this.pendingRecords = pendingRecords.concat(plus);\n }\n\n this.clearCheckboxRow();\n } else {\n if (isMsg) {\n _vXETable.default.$modal.message({\n id: code,\n message: _conf.default.i18n('plx.grid.selectOneRecord'),\n status: 'warning'\n });\n }\n }\n },\n pageChangeEvent: function pageChangeEvent(params) {\n var proxyConfig = this.proxyConfig,\n tablePage = this.tablePage;\n var currentPage = params.currentPage,\n pageSize = params.pageSize;\n tablePage.currentPage = currentPage;\n tablePage.pageSize = pageSize;\n\n if (params.type === 'current-change') {\n _tools.UtilTools.emitEvent(this, 'current-page-change', [currentPage]);\n } else {\n _tools.UtilTools.emitEvent(this, 'page-size-change', [pageSize]);\n }\n\n _tools.UtilTools.emitEvent(this, 'page-change', [Object.assign({\n $grid: this\n }, params)]);\n\n if (proxyConfig) {\n this.commitProxy('query');\n }\n },\n sortChangeEvent: function sortChangeEvent(params) {\n var proxyConfig = this.proxyConfig,\n remoteSort = this.remoteSort;\n var $table = params.$table,\n column = params.column;\n var isRemote = _xeUtils.default.isBoolean(column.remoteSort) ? column.remoteSort : $table.sortOpts.remote || remoteSort; // 如果是服务端排序\n\n if (isRemote) {\n this.sortData = params;\n\n if (proxyConfig) {\n this.commitProxy('query');\n }\n }\n\n _tools.UtilTools.emitEvent(this, 'sort-change', [Object.assign({\n $grid: this\n }, params)]);\n },\n filterChangeEvent: function filterChangeEvent(params) {\n var remoteFilter = this.remoteFilter;\n var $table = params.$table,\n filters = params.filters; // 如果是服务端过滤\n\n if ($table.filterOpts.remote || remoteFilter) {\n this.filterData = filters;\n this.commitProxy('query');\n }\n\n _tools.UtilTools.emitEvent(this, 'filter-change', [Object.assign({\n $grid: this\n }, params)]);\n },\n zoom: function zoom() {\n var _this5 = this;\n\n this.maximize = !this.maximize;\n\n if (this.maximize) {\n if (this.tZindex < _tools.UtilTools.getLastZIndex()) {\n this.tZindex = _tools.UtilTools.nextZIndex();\n }\n }\n\n return this.$nextTick().then(function () {\n return _this5.recalculate(true);\n }).then(function () {\n return _this5.maximize;\n });\n },\n isMaximized: function isMaximized() {\n return this.maximize;\n }\n })\n};\nexports.default = _default;","var orderBy = require('./orderBy')\r\n\r\nvar sortBy = orderBy\r\n\r\nmodule.exports = sortBy\r\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _xeUtils = _interopRequireDefault(require(\"xe-utils/methods/xe-utils\"));\n\nvar _conf = _interopRequireDefault(require(\"../../conf\"));\n\nvar _tools = require(\"../../tools\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _default = {\n name: 'PlxButton',\n props: {\n type: String,\n size: String,\n name: [String, Number],\n icon: String,\n disabled: Boolean,\n loading: Boolean\n },\n computed: {\n vSize: function vSize() {\n return this.size || this.$parent.size || this.$parent.vSize;\n }\n },\n render: function render(h) {\n var _ref2,\n _this = this,\n _ref3;\n\n var $scopedSlots = this.$scopedSlots,\n $listeners = this.$listeners,\n type = this.type,\n vSize = this.vSize,\n name = this.name,\n disabled = this.disabled,\n loading = this.loading;\n var isText = type === 'text';\n return $scopedSlots.dropdowns ? h('div', {\n class: ['plx-button--dropdown', _defineProperty({}, \"size--\".concat(vSize), vSize)]\n }, [h('button', {\n class: ['plx-button', \"type--\".concat(isText ? type : 'button'), (_ref2 = {}, _defineProperty(_ref2, \"size--\".concat(vSize), vSize), _defineProperty(_ref2, \"theme--\".concat(type), type && !isText), _defineProperty(_ref2, 'is--disabled', disabled || loading), _defineProperty(_ref2, 'is--loading', loading), _ref2)],\n attrs: {\n name: name,\n disabled: disabled || loading\n },\n on: Object.assign({\n mouseenter: this.mouseenterEvent,\n mouseleave: this.mouseleaveEvent\n }, _xeUtils.default.objectMap($listeners, function (cb, type) {\n return function (evnt) {\n return _this.$emit(type, evnt);\n };\n }))\n }, this.renderContent(h).concat([h('i', {\n class: \"plx-button--dropdown-arrow \".concat(_conf.default.icon.dropdownBottom)\n })])), h('div', {\n class: 'plx-button--dropdown-wrapper',\n on: {\n click: this.clickDropdownEvent,\n mouseenter: this.mouseenterEvent,\n mouseleave: this.mouseleaveEvent\n }\n }, $scopedSlots.dropdowns.call(this))]) : h('button', {\n class: ['plx-button', \"type--\".concat(isText ? type : 'button'), (_ref3 = {}, _defineProperty(_ref3, \"size--\".concat(vSize), vSize), _defineProperty(_ref3, \"theme--\".concat(type), type && !isText), _defineProperty(_ref3, 'is--disabled', disabled || loading), _defineProperty(_ref3, 'is--loading', loading), _ref3)],\n attrs: {\n name: name,\n disabled: disabled || loading\n },\n on: _xeUtils.default.objectMap($listeners, function (cb, type) {\n return function (evnt) {\n return _this.$emit(type, evnt);\n };\n })\n }, this.renderContent(h));\n },\n methods: {\n renderContent: function renderContent(h) {\n var $scopedSlots = this.$scopedSlots,\n icon = this.icon,\n loading = this.loading;\n var contents = [];\n\n if (loading) {\n contents.push(h('i', {\n class: ['plx-button--loading-icon', _conf.default.icon.btnLoading]\n }));\n } else if (icon) {\n contents.push(h('i', {\n class: ['plx-button--icon', icon]\n }));\n }\n\n if ($scopedSlots.default) {\n contents.push($scopedSlots.default.call(this));\n }\n\n return contents;\n },\n clickDropdownEvent: function clickDropdownEvent(evnt) {\n var dropdownElem = evnt.currentTarget;\n var wrapperElem = dropdownElem.parentNode;\n\n var _DomTools$getEventTar = _tools.DomTools.getEventTargetNode(evnt, dropdownElem, 'plx-button'),\n flag = _DomTools$getEventTar.flag,\n targetElem = _DomTools$getEventTar.targetElem;\n\n if (flag) {\n wrapperElem.dataset.active = 'N';\n\n _tools.DomTools.removeClass(wrapperElem, 'is--active');\n\n _tools.UtilTools.emitEvent(this, 'dropdown-click', [{\n name: targetElem.getAttribute('name')\n }, evnt]);\n }\n },\n mouseenterEvent: function mouseenterEvent(evnt) {\n var dropdownElem = evnt.currentTarget;\n var wrapperElem = dropdownElem.parentNode;\n wrapperElem.dataset.active = 'Y';\n\n _tools.DomTools.addClass(wrapperElem, 'is--active');\n },\n mouseleaveEvent: function mouseleaveEvent(evnt) {\n var dropdownElem = evnt.currentTarget;\n var wrapperElem = dropdownElem.parentNode;\n wrapperElem.dataset.active = 'N';\n setTimeout(function () {\n if (wrapperElem.dataset.active !== 'Y') {\n _tools.DomTools.removeClass(wrapperElem, 'is--active');\n }\n }, 300);\n }\n }\n};\nexports.default = _default;","\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\nvar zrUtil = require(\"zrender/lib/core/util\");\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*/\nvar defaultOption = {\n show: true,\n zlevel: 0,\n z: 0,\n // Inverse the axis.\n inverse: false,\n // Axis name displayed.\n name: '',\n // 'start' | 'middle' | 'end'\n nameLocation: 'end',\n // By degree. By default auto rotate by nameLocation.\n nameRotate: null,\n nameTruncate: {\n maxWidth: null,\n ellipsis: '...',\n placeholder: '.'\n },\n // Use global text style by default.\n nameTextStyle: {},\n // The gap between axisName and axisLine.\n nameGap: 15,\n // Default `false` to support tooltip.\n silent: false,\n // Default `false` to avoid legacy user event listener fail.\n triggerEvent: false,\n tooltip: {\n show: false\n },\n axisPointer: {},\n axisLine: {\n show: true,\n onZero: true,\n onZeroAxisIndex: null,\n lineStyle: {\n color: '#333',\n width: 1,\n type: 'solid'\n },\n // The arrow at both ends the the axis.\n symbol: ['none', 'none'],\n symbolSize: [10, 15]\n },\n axisTick: {\n show: true,\n // Whether axisTick is inside the grid or outside the grid.\n inside: false,\n // The length of axisTick.\n length: 5,\n lineStyle: {\n width: 1\n }\n },\n axisLabel: {\n show: true,\n // Whether axisLabel is inside the grid or outside the grid.\n inside: false,\n rotate: 0,\n // true | false | null/undefined (auto)\n showMinLabel: null,\n // true | false | null/undefined (auto)\n showMaxLabel: null,\n margin: 8,\n // formatter: null,\n fontSize: 12\n },\n splitLine: {\n show: true,\n lineStyle: {\n color: ['#ccc'],\n width: 1,\n type: 'solid'\n }\n },\n splitArea: {\n show: false,\n areaStyle: {\n color: ['rgba(250,250,250,0.3)', 'rgba(200,200,200,0.3)']\n }\n }\n};\nvar axisDefault = {};\naxisDefault.categoryAxis = zrUtil.merge({\n // The gap at both ends of the axis. For categoryAxis, boolean.\n boundaryGap: true,\n // Set false to faster category collection.\n // Only usefull in the case like: category is\n // ['2012-01-01', '2012-01-02', ...], where the input\n // data has been ensured not duplicate and is large data.\n // null means \"auto\":\n // if axis.data provided, do not deduplication,\n // else do deduplication.\n deduplication: null,\n // splitArea: {\n // show: false\n // },\n splitLine: {\n show: false\n },\n axisTick: {\n // If tick is align with label when boundaryGap is true\n alignWithLabel: false,\n interval: 'auto'\n },\n axisLabel: {\n interval: 'auto'\n }\n}, defaultOption);\naxisDefault.valueAxis = zrUtil.merge({\n // The gap at both ends of the axis. For value axis, [GAP, GAP], where\n // `GAP` can be an absolute pixel number (like `35`), or percent (like `'30%'`)\n boundaryGap: [0, 0],\n // TODO\n // min/max: [30, datamin, 60] or [20, datamin] or [datamin, 60]\n // Min value of the axis. can be:\n // + a number\n // + 'dataMin': use the min value in data.\n // + null/undefined: auto decide min value (consider pretty look and boundaryGap).\n // min: null,\n // Max value of the axis. can be:\n // + a number\n // + 'dataMax': use the max value in data.\n // + null/undefined: auto decide max value (consider pretty look and boundaryGap).\n // max: null,\n // Readonly prop, specifies start value of the range when using data zoom.\n // rangeStart: null\n // Readonly prop, specifies end value of the range when using data zoom.\n // rangeEnd: null\n // Optional value can be:\n // + `false`: always include value 0.\n // + `true`: the extent do not consider value 0.\n // scale: false,\n // AxisTick and axisLabel and splitLine are caculated based on splitNumber.\n splitNumber: 5,\n // Interval specifies the span of the ticks is mandatorily.\n // interval: null\n // Specify min interval when auto calculate tick interval.\n // minInterval: null\n // Specify max interval when auto calculate tick interval.\n // maxInterval: null\n minorTick: {\n // Minor tick, not available for cateogry axis.\n show: false,\n // Split number of minor ticks. The value should be in range of (0, 100)\n splitNumber: 5,\n // Lenght of minor tick\n length: 3,\n // Same inside with axisTick\n // Line style\n lineStyle: {// Default to be same with axisTick\n }\n },\n minorSplitLine: {\n show: false,\n lineStyle: {\n color: '#eee',\n width: 1\n }\n }\n}, defaultOption);\naxisDefault.timeAxis = zrUtil.defaults({\n scale: true,\n min: 'dataMin',\n max: 'dataMax'\n}, axisDefault.valueAxis);\naxisDefault.logAxis = zrUtil.defaults({\n scale: true,\n logBase: 10\n}, axisDefault.valueAxis);\nvar _default = axisDefault;\nmodule.exports = _default;","\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\nvar _util = require(\"zrender/lib/core/util\");\n\nvar createHashMap = _util.createHashMap;\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*/\nfunction _default(ecModel) {\n ecModel.eachSeriesByType('themeRiver', function (seriesModel) {\n var data = seriesModel.getData();\n var rawData = seriesModel.getRawData();\n var colorList = seriesModel.get('color');\n var idxMap = createHashMap();\n data.each(function (idx) {\n idxMap.set(data.getRawIndex(idx), idx);\n });\n rawData.each(function (rawIndex) {\n var name = rawData.getName(rawIndex);\n var color = colorList[(seriesModel.nameMap.get(name) - 1) % colorList.length];\n rawData.setItemVisual(rawIndex, 'color', color);\n var idx = idxMap.get(rawIndex);\n\n if (idx != null) {\n data.setItemVisual(idx, 'color', color);\n }\n });\n });\n}\n\nmodule.exports = _default;","/**\r\n * 获取一个全局唯一标识\r\n *\r\n * @param {String} prefix 前缀\r\n * @return {Number}\r\n */\r\nvar __uniqueId = 0\r\nfunction uniqueId (prefix) {\r\n return [prefix, ++__uniqueId].join('')\r\n}\r\n\r\nmodule.exports = uniqueId\r\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","var helperNumberAdd = require('./helperNumberAdd')\r\nvar toNumber = require('./toNumber')\r\n\r\n/**\r\n * 加法运算\r\n *\r\n * @param { Number } num1 被加数\r\n * @param { Number } num2 加数\r\n * @return {Number}\r\n */\r\nfunction add (num1, num2) {\r\n return helperNumberAdd(toNumber(num1), toNumber(num2))\r\n}\r\n\r\nmodule.exports = add\r\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\nvar _config = require(\"../../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar SeriesModel = require(\"../../model/Series\");\n\nvar List = require(\"../../data/List\");\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar concatArray = _util.concatArray;\nvar mergeAll = _util.mergeAll;\nvar map = _util.map;\n\nvar _format = require(\"../../util/format\");\n\nvar encodeHTML = _format.encodeHTML;\n\nvar CoordinateSystem = require(\"../../CoordinateSystem\");\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/* global Uint32Array, Float64Array, Float32Array */\nvar Uint32Arr = typeof Uint32Array === 'undefined' ? Array : Uint32Array;\nvar Float64Arr = typeof Float64Array === 'undefined' ? Array : Float64Array;\n\nfunction compatEc2(seriesOpt) {\n var data = seriesOpt.data;\n\n if (data && data[0] && data[0][0] && data[0][0].coord) {\n seriesOpt.data = map(data, function (itemOpt) {\n var coords = [itemOpt[0].coord, itemOpt[1].coord];\n var target = {\n coords: coords\n };\n\n if (itemOpt[0].name) {\n target.fromName = itemOpt[0].name;\n }\n\n if (itemOpt[1].name) {\n target.toName = itemOpt[1].name;\n }\n\n return mergeAll([target, itemOpt[0], itemOpt[1]]);\n });\n }\n}\n\nvar LinesSeries = SeriesModel.extend({\n type: 'series.lines',\n dependencies: ['grid', 'polar'],\n visualColorAccessPath: 'lineStyle.color',\n init: function (option) {\n // The input data may be null/undefined.\n option.data = option.data || []; // Not using preprocessor because mergeOption may not have series.type\n\n compatEc2(option);\n\n var result = this._processFlatCoordsArray(option.data);\n\n this._flatCoords = result.flatCoords;\n this._flatCoordsOffset = result.flatCoordsOffset;\n\n if (result.flatCoords) {\n option.data = new Float32Array(result.count);\n }\n\n LinesSeries.superApply(this, 'init', arguments);\n },\n mergeOption: function (option) {\n compatEc2(option);\n\n if (option.data) {\n // Only update when have option data to merge.\n var result = this._processFlatCoordsArray(option.data);\n\n this._flatCoords = result.flatCoords;\n this._flatCoordsOffset = result.flatCoordsOffset;\n\n if (result.flatCoords) {\n option.data = new Float32Array(result.count);\n }\n }\n\n LinesSeries.superApply(this, 'mergeOption', arguments);\n },\n appendData: function (params) {\n var result = this._processFlatCoordsArray(params.data);\n\n if (result.flatCoords) {\n if (!this._flatCoords) {\n this._flatCoords = result.flatCoords;\n this._flatCoordsOffset = result.flatCoordsOffset;\n } else {\n this._flatCoords = concatArray(this._flatCoords, result.flatCoords);\n this._flatCoordsOffset = concatArray(this._flatCoordsOffset, result.flatCoordsOffset);\n }\n\n params.data = new Float32Array(result.count);\n }\n\n this.getRawData().appendData(params.data);\n },\n _getCoordsFromItemModel: function (idx) {\n var itemModel = this.getData().getItemModel(idx);\n var coords = itemModel.option instanceof Array ? itemModel.option : itemModel.getShallow('coords');\n return coords;\n },\n getLineCoordsCount: function (idx) {\n if (this._flatCoordsOffset) {\n return this._flatCoordsOffset[idx * 2 + 1];\n } else {\n return this._getCoordsFromItemModel(idx).length;\n }\n },\n getLineCoords: function (idx, out) {\n if (this._flatCoordsOffset) {\n var offset = this._flatCoordsOffset[idx * 2];\n var len = this._flatCoordsOffset[idx * 2 + 1];\n\n for (var i = 0; i < len; i++) {\n out[i] = out[i] || [];\n out[i][0] = this._flatCoords[offset + i * 2];\n out[i][1] = this._flatCoords[offset + i * 2 + 1];\n }\n\n return len;\n } else {\n var coords = this._getCoordsFromItemModel(idx);\n\n for (var i = 0; i < coords.length; i++) {\n out[i] = out[i] || [];\n out[i][0] = coords[i][0];\n out[i][1] = coords[i][1];\n }\n\n return coords.length;\n }\n },\n _processFlatCoordsArray: function (data) {\n var startOffset = 0;\n\n if (this._flatCoords) {\n startOffset = this._flatCoords.length;\n } // Stored as a typed array. In format\n // Points Count(2) | x | y | x | y | Points Count(3) | x | y | x | y | x | y |\n\n\n if (typeof data[0] === 'number') {\n var len = data.length; // Store offset and len of each segment\n\n var coordsOffsetAndLenStorage = new Uint32Arr(len);\n var coordsStorage = new Float64Arr(len);\n var coordsCursor = 0;\n var offsetCursor = 0;\n var dataCount = 0;\n\n for (var i = 0; i < len;) {\n dataCount++;\n var count = data[i++]; // Offset\n\n coordsOffsetAndLenStorage[offsetCursor++] = coordsCursor + startOffset; // Len\n\n coordsOffsetAndLenStorage[offsetCursor++] = count;\n\n for (var k = 0; k < count; k++) {\n var x = data[i++];\n var y = data[i++];\n coordsStorage[coordsCursor++] = x;\n coordsStorage[coordsCursor++] = y;\n\n if (i > len) {}\n }\n }\n\n return {\n flatCoordsOffset: new Uint32Array(coordsOffsetAndLenStorage.buffer, 0, offsetCursor),\n flatCoords: coordsStorage,\n count: dataCount\n };\n }\n\n return {\n flatCoordsOffset: null,\n flatCoords: null,\n count: data.length\n };\n },\n getInitialData: function (option, ecModel) {\n var lineData = new List(['value'], this);\n lineData.hasItemOption = false;\n lineData.initData(option.data, [], function (dataItem, dimName, dataIndex, dimIndex) {\n // dataItem is simply coords\n if (dataItem instanceof Array) {\n return NaN;\n } else {\n lineData.hasItemOption = true;\n var value = dataItem.value;\n\n if (value != null) {\n return value instanceof Array ? value[dimIndex] : value;\n }\n }\n });\n return lineData;\n },\n formatTooltip: function (dataIndex) {\n var data = this.getData();\n var itemModel = data.getItemModel(dataIndex);\n var name = itemModel.get('name');\n\n if (name) {\n return name;\n }\n\n var fromName = itemModel.get('fromName');\n var toName = itemModel.get('toName');\n var html = [];\n fromName != null && html.push(fromName);\n toName != null && html.push(toName);\n return encodeHTML(html.join(' > '));\n },\n preventIncremental: function () {\n return !!this.get('effect.show');\n },\n getProgressive: function () {\n var progressive = this.option.progressive;\n\n if (progressive == null) {\n return this.option.large ? 1e4 : this.get('progressive');\n }\n\n return progressive;\n },\n getProgressiveThreshold: function () {\n var progressiveThreshold = this.option.progressiveThreshold;\n\n if (progressiveThreshold == null) {\n return this.option.large ? 2e4 : this.get('progressiveThreshold');\n }\n\n return progressiveThreshold;\n },\n defaultOption: {\n coordinateSystem: 'geo',\n zlevel: 0,\n z: 2,\n legendHoverLink: true,\n hoverAnimation: true,\n // Cartesian coordinate system\n xAxisIndex: 0,\n yAxisIndex: 0,\n symbol: ['none', 'none'],\n symbolSize: [10, 10],\n // Geo coordinate system\n geoIndex: 0,\n effect: {\n show: false,\n period: 4,\n // Animation delay. support callback\n // delay: 0,\n // If move with constant speed px/sec\n // period will be ignored if this property is > 0,\n constantSpeed: 0,\n symbol: 'circle',\n symbolSize: 3,\n loop: true,\n // Length of trail, 0 - 1\n trailLength: 0.2 // Same with lineStyle.color\n // color\n\n },\n large: false,\n // Available when large is true\n largeThreshold: 2000,\n // If lines are polyline\n // polyline not support curveness, label, animation\n polyline: false,\n // If clip the overflow.\n // Available when coordinateSystem is cartesian or polar.\n clip: true,\n label: {\n show: false,\n position: 'end' // distance: 5,\n // formatter: 标签文本格式器,同Tooltip.formatter,不支持异步回调\n\n },\n lineStyle: {\n opacity: 0.5\n }\n }\n});\nvar _default = LinesSeries;\nmodule.exports = _default;","\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\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar formatUtil = require(\"../../util/format\");\n\nvar layout = require(\"../../util/layout\");\n\nvar VisualMapping = require(\"../../visual/VisualMapping\");\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*/\nvar _default = echarts.extendComponentView({\n type: 'visualMap',\n\n /**\n * @readOnly\n * @type {Object}\n */\n autoPositionValues: {\n left: 1,\n right: 1,\n top: 1,\n bottom: 1\n },\n init: function (ecModel, api) {\n /**\n * @readOnly\n * @type {module:echarts/model/Global}\n */\n this.ecModel = ecModel;\n /**\n * @readOnly\n * @type {module:echarts/ExtensionAPI}\n */\n\n this.api = api;\n /**\n * @readOnly\n * @type {module:echarts/component/visualMap/visualMapModel}\n */\n\n this.visualMapModel;\n },\n\n /**\n * @protected\n */\n render: function (visualMapModel, ecModel, api, payload) {\n this.visualMapModel = visualMapModel;\n\n if (visualMapModel.get('show') === false) {\n this.group.removeAll();\n return;\n }\n\n this.doRender.apply(this, arguments);\n },\n\n /**\n * @protected\n */\n renderBackground: function (group) {\n var visualMapModel = this.visualMapModel;\n var padding = formatUtil.normalizeCssArray(visualMapModel.get('padding') || 0);\n var rect = group.getBoundingRect();\n group.add(new graphic.Rect({\n z2: -1,\n // Lay background rect on the lowest layer.\n silent: true,\n shape: {\n x: rect.x - padding[3],\n y: rect.y - padding[0],\n width: rect.width + padding[3] + padding[1],\n height: rect.height + padding[0] + padding[2]\n },\n style: {\n fill: visualMapModel.get('backgroundColor'),\n stroke: visualMapModel.get('borderColor'),\n lineWidth: visualMapModel.get('borderWidth')\n }\n }));\n },\n\n /**\n * @protected\n * @param {number} targetValue can be Infinity or -Infinity\n * @param {string=} visualCluster Only can be 'color' 'opacity' 'symbol' 'symbolSize'\n * @param {Object} [opts]\n * @param {string=} [opts.forceState] Specify state, instead of using getValueState method.\n * @param {string=} [opts.convertOpacityToAlpha=false] For color gradient in controller widget.\n * @return {*} Visual value.\n */\n getControllerVisual: function (targetValue, visualCluster, opts) {\n opts = opts || {};\n var forceState = opts.forceState;\n var visualMapModel = this.visualMapModel;\n var visualObj = {}; // Default values.\n\n if (visualCluster === 'symbol') {\n visualObj.symbol = visualMapModel.get('itemSymbol');\n }\n\n if (visualCluster === 'color') {\n var defaultColor = visualMapModel.get('contentColor');\n visualObj.color = defaultColor;\n }\n\n function getter(key) {\n return visualObj[key];\n }\n\n function setter(key, value) {\n visualObj[key] = value;\n }\n\n var mappings = visualMapModel.controllerVisuals[forceState || visualMapModel.getValueState(targetValue)];\n var visualTypes = VisualMapping.prepareVisualTypes(mappings);\n zrUtil.each(visualTypes, function (type) {\n var visualMapping = mappings[type];\n\n if (opts.convertOpacityToAlpha && type === 'opacity') {\n type = 'colorAlpha';\n visualMapping = mappings.__alphaForOpacity;\n }\n\n if (VisualMapping.dependsOn(type, visualCluster)) {\n visualMapping && visualMapping.applyVisual(targetValue, getter, setter);\n }\n });\n return visualObj[visualCluster];\n },\n\n /**\n * @protected\n */\n positionGroup: function (group) {\n var model = this.visualMapModel;\n var api = this.api;\n layout.positionElement(group, model.getBoxLayoutParams(), {\n width: api.getWidth(),\n height: api.getHeight()\n });\n },\n\n /**\n * @protected\n * @abstract\n */\n doRender: zrUtil.noop\n});\n\nmodule.exports = _default;","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\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\nvar _config = require(\"../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _clazz = require(\"../util/clazz\");\n\nvar enableClassCheck = _clazz.enableClassCheck;\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// id may be function name of Object, add a prefix to avoid this problem.\nfunction generateNodeKey(id) {\n return '_EC_' + id;\n}\n/**\n * @alias module:echarts/data/Graph\n * @constructor\n * @param {boolean} directed\n */\n\n\nvar Graph = function (directed) {\n /**\n * 是否是有向图\n * @type {boolean}\n * @private\n */\n this._directed = directed || false;\n /**\n * @type {Array.}\n * @readOnly\n */\n\n this.nodes = [];\n /**\n * @type {Array.}\n * @readOnly\n */\n\n this.edges = [];\n /**\n * @type {Object.}\n * @private\n */\n\n this._nodesMap = {};\n /**\n * @type {Object.}\n * @private\n */\n\n this._edgesMap = {};\n /**\n * @type {module:echarts/data/List}\n * @readOnly\n */\n\n this.data;\n /**\n * @type {module:echarts/data/List}\n * @readOnly\n */\n\n this.edgeData;\n};\n\nvar graphProto = Graph.prototype;\n/**\n * @type {string}\n */\n\ngraphProto.type = 'graph';\n/**\n * If is directed graph\n * @return {boolean}\n */\n\ngraphProto.isDirected = function () {\n return this._directed;\n};\n/**\n * Add a new node\n * @param {string} id\n * @param {number} [dataIndex]\n */\n\n\ngraphProto.addNode = function (id, dataIndex) {\n id = id == null ? '' + dataIndex : '' + id;\n var nodesMap = this._nodesMap;\n\n if (nodesMap[generateNodeKey(id)]) {\n return;\n }\n\n var node = new Node(id, dataIndex);\n node.hostGraph = this;\n this.nodes.push(node);\n nodesMap[generateNodeKey(id)] = node;\n return node;\n};\n/**\n * Get node by data index\n * @param {number} dataIndex\n * @return {module:echarts/data/Graph~Node}\n */\n\n\ngraphProto.getNodeByIndex = function (dataIndex) {\n var rawIdx = this.data.getRawIndex(dataIndex);\n return this.nodes[rawIdx];\n};\n/**\n * Get node by id\n * @param {string} id\n * @return {module:echarts/data/Graph.Node}\n */\n\n\ngraphProto.getNodeById = function (id) {\n return this._nodesMap[generateNodeKey(id)];\n};\n/**\n * Add a new edge\n * @param {number|string|module:echarts/data/Graph.Node} n1\n * @param {number|string|module:echarts/data/Graph.Node} n2\n * @param {number} [dataIndex=-1]\n * @return {module:echarts/data/Graph.Edge}\n */\n\n\ngraphProto.addEdge = function (n1, n2, dataIndex) {\n var nodesMap = this._nodesMap;\n var edgesMap = this._edgesMap; // PNEDING\n\n if (typeof n1 === 'number') {\n n1 = this.nodes[n1];\n }\n\n if (typeof n2 === 'number') {\n n2 = this.nodes[n2];\n }\n\n if (!Node.isInstance(n1)) {\n n1 = nodesMap[generateNodeKey(n1)];\n }\n\n if (!Node.isInstance(n2)) {\n n2 = nodesMap[generateNodeKey(n2)];\n }\n\n if (!n1 || !n2) {\n return;\n }\n\n var key = n1.id + '-' + n2.id;\n var edge = new Edge(n1, n2, dataIndex);\n edge.hostGraph = this;\n\n if (this._directed) {\n n1.outEdges.push(edge);\n n2.inEdges.push(edge);\n }\n\n n1.edges.push(edge);\n\n if (n1 !== n2) {\n n2.edges.push(edge);\n }\n\n this.edges.push(edge);\n edgesMap[key] = edge;\n return edge;\n};\n/**\n * Get edge by data index\n * @param {number} dataIndex\n * @return {module:echarts/data/Graph~Node}\n */\n\n\ngraphProto.getEdgeByIndex = function (dataIndex) {\n var rawIdx = this.edgeData.getRawIndex(dataIndex);\n return this.edges[rawIdx];\n};\n/**\n * Get edge by two linked nodes\n * @param {module:echarts/data/Graph.Node|string} n1\n * @param {module:echarts/data/Graph.Node|string} n2\n * @return {module:echarts/data/Graph.Edge}\n */\n\n\ngraphProto.getEdge = function (n1, n2) {\n if (Node.isInstance(n1)) {\n n1 = n1.id;\n }\n\n if (Node.isInstance(n2)) {\n n2 = n2.id;\n }\n\n var edgesMap = this._edgesMap;\n\n if (this._directed) {\n return edgesMap[n1 + '-' + n2];\n } else {\n return edgesMap[n1 + '-' + n2] || edgesMap[n2 + '-' + n1];\n }\n};\n/**\n * Iterate all nodes\n * @param {Function} cb\n * @param {*} [context]\n */\n\n\ngraphProto.eachNode = function (cb, context) {\n var nodes = this.nodes;\n var len = nodes.length;\n\n for (var i = 0; i < len; i++) {\n if (nodes[i].dataIndex >= 0) {\n cb.call(context, nodes[i], i);\n }\n }\n};\n/**\n * Iterate all edges\n * @param {Function} cb\n * @param {*} [context]\n */\n\n\ngraphProto.eachEdge = function (cb, context) {\n var edges = this.edges;\n var len = edges.length;\n\n for (var i = 0; i < len; i++) {\n if (edges[i].dataIndex >= 0 && edges[i].node1.dataIndex >= 0 && edges[i].node2.dataIndex >= 0) {\n cb.call(context, edges[i], i);\n }\n }\n};\n/**\n * Breadth first traverse\n * @param {Function} cb\n * @param {module:echarts/data/Graph.Node} startNode\n * @param {string} [direction='none'] 'none'|'in'|'out'\n * @param {*} [context]\n */\n\n\ngraphProto.breadthFirstTraverse = function (cb, startNode, direction, context) {\n if (!Node.isInstance(startNode)) {\n startNode = this._nodesMap[generateNodeKey(startNode)];\n }\n\n if (!startNode) {\n return;\n }\n\n var edgeType = direction === 'out' ? 'outEdges' : direction === 'in' ? 'inEdges' : 'edges';\n\n for (var i = 0; i < this.nodes.length; i++) {\n this.nodes[i].__visited = false;\n }\n\n if (cb.call(context, startNode, null)) {\n return;\n }\n\n var queue = [startNode];\n\n while (queue.length) {\n var currentNode = queue.shift();\n var edges = currentNode[edgeType];\n\n for (var i = 0; i < edges.length; i++) {\n var e = edges[i];\n var otherNode = e.node1 === currentNode ? e.node2 : e.node1;\n\n if (!otherNode.__visited) {\n if (cb.call(context, otherNode, currentNode)) {\n // Stop traversing\n return;\n }\n\n queue.push(otherNode);\n otherNode.__visited = true;\n }\n }\n }\n}; // TODO\n// graphProto.depthFirstTraverse = function (\n// cb, startNode, direction, context\n// ) {\n// };\n// Filter update\n\n\ngraphProto.update = function () {\n var data = this.data;\n var edgeData = this.edgeData;\n var nodes = this.nodes;\n var edges = this.edges;\n\n for (var i = 0, len = nodes.length; i < len; i++) {\n nodes[i].dataIndex = -1;\n }\n\n for (var i = 0, len = data.count(); i < len; i++) {\n nodes[data.getRawIndex(i)].dataIndex = i;\n }\n\n edgeData.filterSelf(function (idx) {\n var edge = edges[edgeData.getRawIndex(idx)];\n return edge.node1.dataIndex >= 0 && edge.node2.dataIndex >= 0;\n }); // Update edge\n\n for (var i = 0, len = edges.length; i < len; i++) {\n edges[i].dataIndex = -1;\n }\n\n for (var i = 0, len = edgeData.count(); i < len; i++) {\n edges[edgeData.getRawIndex(i)].dataIndex = i;\n }\n};\n/**\n * @return {module:echarts/data/Graph}\n */\n\n\ngraphProto.clone = function () {\n var graph = new Graph(this._directed);\n var nodes = this.nodes;\n var edges = this.edges;\n\n for (var i = 0; i < nodes.length; i++) {\n graph.addNode(nodes[i].id, nodes[i].dataIndex);\n }\n\n for (var i = 0; i < edges.length; i++) {\n var e = edges[i];\n graph.addEdge(e.node1.id, e.node2.id, e.dataIndex);\n }\n\n return graph;\n};\n/**\n * @alias module:echarts/data/Graph.Node\n */\n\n\nfunction Node(id, dataIndex) {\n /**\n * @type {string}\n */\n this.id = id == null ? '' : id;\n /**\n * @type {Array.}\n */\n\n this.inEdges = [];\n /**\n * @type {Array.}\n */\n\n this.outEdges = [];\n /**\n * @type {Array.}\n */\n\n this.edges = [];\n /**\n * @type {module:echarts/data/Graph}\n */\n\n this.hostGraph;\n /**\n * @type {number}\n */\n\n this.dataIndex = dataIndex == null ? -1 : dataIndex;\n}\n\nNode.prototype = {\n constructor: Node,\n\n /**\n * @return {number}\n */\n degree: function () {\n return this.edges.length;\n },\n\n /**\n * @return {number}\n */\n inDegree: function () {\n return this.inEdges.length;\n },\n\n /**\n * @return {number}\n */\n outDegree: function () {\n return this.outEdges.length;\n },\n\n /**\n * @param {string} [path]\n * @return {module:echarts/model/Model}\n */\n getModel: function (path) {\n if (this.dataIndex < 0) {\n return;\n }\n\n var graph = this.hostGraph;\n var itemModel = graph.data.getItemModel(this.dataIndex);\n return itemModel.getModel(path);\n }\n};\n/**\n * 图边\n * @alias module:echarts/data/Graph.Edge\n * @param {module:echarts/data/Graph.Node} n1\n * @param {module:echarts/data/Graph.Node} n2\n * @param {number} [dataIndex=-1]\n */\n\nfunction Edge(n1, n2, dataIndex) {\n /**\n * 节点1,如果是有向图则为源节点\n * @type {module:echarts/data/Graph.Node}\n */\n this.node1 = n1;\n /**\n * 节点2,如果是有向图则为目标节点\n * @type {module:echarts/data/Graph.Node}\n */\n\n this.node2 = n2;\n this.dataIndex = dataIndex == null ? -1 : dataIndex;\n}\n/**\n * @param {string} [path]\n * @return {module:echarts/model/Model}\n */\n\n\nEdge.prototype.getModel = function (path) {\n if (this.dataIndex < 0) {\n return;\n }\n\n var graph = this.hostGraph;\n var itemModel = graph.edgeData.getItemModel(this.dataIndex);\n return itemModel.getModel(path);\n};\n\nvar createGraphDataProxyMixin = function (hostName, dataName) {\n return {\n /**\n * @param {string=} [dimension='value'] Default 'value'. can be 'a', 'b', 'c', 'd', 'e'.\n * @return {number}\n */\n getValue: function (dimension) {\n var data = this[hostName][dataName];\n return data.get(data.getDimension(dimension || 'value'), this.dataIndex);\n },\n\n /**\n * @param {Object|string} key\n * @param {*} [value]\n */\n setVisual: function (key, value) {\n this.dataIndex >= 0 && this[hostName][dataName].setItemVisual(this.dataIndex, key, value);\n },\n\n /**\n * @param {string} key\n * @return {boolean}\n */\n getVisual: function (key, ignoreParent) {\n return this[hostName][dataName].getItemVisual(this.dataIndex, key, ignoreParent);\n },\n\n /**\n * @param {Object} layout\n * @return {boolean} [merge=false]\n */\n setLayout: function (layout, merge) {\n this.dataIndex >= 0 && this[hostName][dataName].setItemLayout(this.dataIndex, layout, merge);\n },\n\n /**\n * @return {Object}\n */\n getLayout: function () {\n return this[hostName][dataName].getItemLayout(this.dataIndex);\n },\n\n /**\n * @return {module:zrender/Element}\n */\n getGraphicEl: function () {\n return this[hostName][dataName].getItemGraphicEl(this.dataIndex);\n },\n\n /**\n * @return {number}\n */\n getRawIndex: function () {\n return this[hostName][dataName].getRawIndex(this.dataIndex);\n }\n };\n};\n\nzrUtil.mixin(Node, createGraphDataProxyMixin('hostGraph', 'data'));\nzrUtil.mixin(Edge, createGraphDataProxyMixin('hostGraph', 'edgeData'));\nGraph.Node = Node;\nGraph.Edge = Edge;\nenableClassCheck(Node);\nenableClassCheck(Edge);\nvar _default = Graph;\nmodule.exports = _default;","var toDateString = require('./toDateString')\r\n\r\n/**\r\n * 比较两个日期\r\n *\r\n * @param {Number/String/Date} date1 日期\r\n * @param {Number/String/Date} date2 日期\r\n * @param {String} format 对比格式\r\n */\r\nfunction isDateSame (date1, date2, format) {\r\n if (date1 && date2) {\r\n date1 = toDateString(date1, format)\r\n return date1 !== 'Invalid Date' && date1 === toDateString(date2, format)\r\n }\r\n return false\r\n}\r\n\r\nmodule.exports = isDateSame\r\n","'use strict';\n\nexports.__esModule = true;\nexports.isString = isString;\nexports.isObject = isObject;\nexports.isHtmlElement = isHtmlElement;\nfunction isString(obj) {\n return Object.prototype.toString.call(obj) === '[object String]';\n}\n\nfunction isObject(obj) {\n return Object.prototype.toString.call(obj) === '[object Object]';\n}\n\nfunction isHtmlElement(node) {\n return node && node.nodeType === Node.ELEMENT_NODE;\n}\n\nvar isFunction = exports.isFunction = function isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n};\n\nvar isUndefined = exports.isUndefined = function isUndefined(val) {\n return val === void 0;\n};\n\nvar isDefined = exports.isDefined = function isDefined(val) {\n return val !== undefined && val !== null;\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\nvar graphic = require(\"../../util/graphic\");\n\nvar LineGroup = require(\"./Line\");\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 * @module echarts/chart/helper/LineDraw\n */\n// import IncrementalDisplayable from 'zrender/src/graphic/IncrementalDisplayable';\n\n/**\n * @alias module:echarts/component/marker/LineDraw\n * @constructor\n */\nfunction LineDraw(ctor) {\n this._ctor = ctor || LineGroup;\n this.group = new graphic.Group();\n}\n\nvar lineDrawProto = LineDraw.prototype;\n\nlineDrawProto.isPersistent = function () {\n return true;\n};\n/**\n * @param {module:echarts/data/List} lineData\n */\n\n\nlineDrawProto.updateData = function (lineData) {\n var lineDraw = this;\n var group = lineDraw.group;\n var oldLineData = lineDraw._lineData;\n lineDraw._lineData = lineData; // There is no oldLineData only when first rendering or switching from\n // stream mode to normal mode, where previous elements should be removed.\n\n if (!oldLineData) {\n group.removeAll();\n }\n\n var seriesScope = makeSeriesScope(lineData);\n lineData.diff(oldLineData).add(function (idx) {\n doAdd(lineDraw, lineData, idx, seriesScope);\n }).update(function (newIdx, oldIdx) {\n doUpdate(lineDraw, oldLineData, lineData, oldIdx, newIdx, seriesScope);\n }).remove(function (idx) {\n group.remove(oldLineData.getItemGraphicEl(idx));\n }).execute();\n};\n\nfunction doAdd(lineDraw, lineData, idx, seriesScope) {\n var itemLayout = lineData.getItemLayout(idx);\n\n if (!lineNeedsDraw(itemLayout)) {\n return;\n }\n\n var el = new lineDraw._ctor(lineData, idx, seriesScope);\n lineData.setItemGraphicEl(idx, el);\n lineDraw.group.add(el);\n}\n\nfunction doUpdate(lineDraw, oldLineData, newLineData, oldIdx, newIdx, seriesScope) {\n var itemEl = oldLineData.getItemGraphicEl(oldIdx);\n\n if (!lineNeedsDraw(newLineData.getItemLayout(newIdx))) {\n lineDraw.group.remove(itemEl);\n return;\n }\n\n if (!itemEl) {\n itemEl = new lineDraw._ctor(newLineData, newIdx, seriesScope);\n } else {\n itemEl.updateData(newLineData, newIdx, seriesScope);\n }\n\n newLineData.setItemGraphicEl(newIdx, itemEl);\n lineDraw.group.add(itemEl);\n}\n\nlineDrawProto.updateLayout = function () {\n var lineData = this._lineData; // Do not support update layout in incremental mode.\n\n if (!lineData) {\n return;\n }\n\n lineData.eachItemGraphicEl(function (el, idx) {\n el.updateLayout(lineData, idx);\n }, this);\n};\n\nlineDrawProto.incrementalPrepareUpdate = function (lineData) {\n this._seriesScope = makeSeriesScope(lineData);\n this._lineData = null;\n this.group.removeAll();\n};\n\nfunction isEffectObject(el) {\n return el.animators && el.animators.length > 0;\n}\n\nlineDrawProto.incrementalUpdate = function (taskParams, lineData) {\n function updateIncrementalAndHover(el) {\n if (!el.isGroup && !isEffectObject(el)) {\n el.incremental = el.useHoverLayer = true;\n }\n }\n\n for (var idx = taskParams.start; idx < taskParams.end; idx++) {\n var itemLayout = lineData.getItemLayout(idx);\n\n if (lineNeedsDraw(itemLayout)) {\n var el = new this._ctor(lineData, idx, this._seriesScope);\n el.traverse(updateIncrementalAndHover);\n this.group.add(el);\n lineData.setItemGraphicEl(idx, el);\n }\n }\n};\n\nfunction makeSeriesScope(lineData) {\n var hostModel = lineData.hostModel;\n return {\n lineStyle: hostModel.getModel('lineStyle').getLineStyle(),\n hoverLineStyle: hostModel.getModel('emphasis.lineStyle').getLineStyle(),\n labelModel: hostModel.getModel('label'),\n hoverLabelModel: hostModel.getModel('emphasis.label')\n };\n}\n\nlineDrawProto.remove = function () {\n this._clearIncremental();\n\n this._incremental = null;\n this.group.removeAll();\n};\n\nlineDrawProto._clearIncremental = function () {\n var incremental = this._incremental;\n\n if (incremental) {\n incremental.clearDisplaybles();\n }\n};\n\nfunction isPointNaN(pt) {\n return isNaN(pt[0]) || isNaN(pt[1]);\n}\n\nfunction lineNeedsDraw(pts) {\n return !isPointNaN(pts[0]) && !isPointNaN(pts[1]);\n}\n\nvar _default = LineDraw;\nmodule.exports = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.Grid = void 0;\n\nvar _grid = _interopRequireDefault(require(\"./src/grid\"));\n\nvar _vXETable = _interopRequireDefault(require(\"../v-x-e-table\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_grid.default.install = function (Vue) {\n _vXETable.default.Grid = _grid.default;\n Vue.component(_grid.default.name, _grid.default);\n};\n\nvar Grid = _grid.default;\nexports.Grid = Grid;\nvar _default = _grid.default;\nexports.default = _default;","\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\nvar echarts = require(\"../echarts\");\n\nvar preprocessor = require(\"./visualMap/preprocessor\");\n\nrequire(\"./visualMap/typeDefaulter\");\n\nrequire(\"./visualMap/visualEncoding\");\n\nrequire(\"./visualMap/ContinuousModel\");\n\nrequire(\"./visualMap/ContinuousView\");\n\nrequire(\"./visualMap/visualMapAction\");\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 * DataZoom component entry\n */\necharts.registerPreprocessor(preprocessor);","/**\n * 缓动代码来自 https://github.com/sole/tween.js/blob/master/src/Tween.js\n * @see http://sole.github.io/tween.js/examples/03_graphs.html\n * @exports zrender/animation/easing\n */\nvar easing = {\n /**\n * @param {number} k\n * @return {number}\n */\n linear: function (k) {\n return k;\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n quadraticIn: function (k) {\n return k * k;\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n quadraticOut: function (k) {\n return k * (2 - k);\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n quadraticInOut: function (k) {\n if ((k *= 2) < 1) {\n return 0.5 * k * k;\n }\n\n return -0.5 * (--k * (k - 2) - 1);\n },\n // 三次方的缓动(t^3)\n\n /**\n * @param {number} k\n * @return {number}\n */\n cubicIn: function (k) {\n return k * k * k;\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n cubicOut: function (k) {\n return --k * k * k + 1;\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n cubicInOut: function (k) {\n if ((k *= 2) < 1) {\n return 0.5 * k * k * k;\n }\n\n return 0.5 * ((k -= 2) * k * k + 2);\n },\n // 四次方的缓动(t^4)\n\n /**\n * @param {number} k\n * @return {number}\n */\n quarticIn: function (k) {\n return k * k * k * k;\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n quarticOut: function (k) {\n return 1 - --k * k * k * k;\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n quarticInOut: function (k) {\n if ((k *= 2) < 1) {\n return 0.5 * k * k * k * k;\n }\n\n return -0.5 * ((k -= 2) * k * k * k - 2);\n },\n // 五次方的缓动(t^5)\n\n /**\n * @param {number} k\n * @return {number}\n */\n quinticIn: function (k) {\n return k * k * k * k * k;\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n quinticOut: function (k) {\n return --k * k * k * k * k + 1;\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n quinticInOut: function (k) {\n if ((k *= 2) < 1) {\n return 0.5 * k * k * k * k * k;\n }\n\n return 0.5 * ((k -= 2) * k * k * k * k + 2);\n },\n // 正弦曲线的缓动(sin(t))\n\n /**\n * @param {number} k\n * @return {number}\n */\n sinusoidalIn: function (k) {\n return 1 - Math.cos(k * Math.PI / 2);\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n sinusoidalOut: function (k) {\n return Math.sin(k * Math.PI / 2);\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n sinusoidalInOut: function (k) {\n return 0.5 * (1 - Math.cos(Math.PI * k));\n },\n // 指数曲线的缓动(2^t)\n\n /**\n * @param {number} k\n * @return {number}\n */\n exponentialIn: function (k) {\n return k === 0 ? 0 : Math.pow(1024, k - 1);\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n exponentialOut: function (k) {\n return k === 1 ? 1 : 1 - Math.pow(2, -10 * k);\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n exponentialInOut: function (k) {\n if (k === 0) {\n return 0;\n }\n\n if (k === 1) {\n return 1;\n }\n\n if ((k *= 2) < 1) {\n return 0.5 * Math.pow(1024, k - 1);\n }\n\n return 0.5 * (-Math.pow(2, -10 * (k - 1)) + 2);\n },\n // 圆形曲线的缓动(sqrt(1-t^2))\n\n /**\n * @param {number} k\n * @return {number}\n */\n circularIn: function (k) {\n return 1 - Math.sqrt(1 - k * k);\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n circularOut: function (k) {\n return Math.sqrt(1 - --k * k);\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n circularInOut: function (k) {\n if ((k *= 2) < 1) {\n return -0.5 * (Math.sqrt(1 - k * k) - 1);\n }\n\n return 0.5 * (Math.sqrt(1 - (k -= 2) * k) + 1);\n },\n // 创建类似于弹簧在停止前来回振荡的动画\n\n /**\n * @param {number} k\n * @return {number}\n */\n elasticIn: function (k) {\n var s;\n var a = 0.1;\n var p = 0.4;\n\n if (k === 0) {\n return 0;\n }\n\n if (k === 1) {\n return 1;\n }\n\n if (!a || a < 1) {\n a = 1;\n s = p / 4;\n } else {\n s = p * Math.asin(1 / a) / (2 * Math.PI);\n }\n\n return -(a * Math.pow(2, 10 * (k -= 1)) * Math.sin((k - s) * (2 * Math.PI) / p));\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n elasticOut: function (k) {\n var s;\n var a = 0.1;\n var p = 0.4;\n\n if (k === 0) {\n return 0;\n }\n\n if (k === 1) {\n return 1;\n }\n\n if (!a || a < 1) {\n a = 1;\n s = p / 4;\n } else {\n s = p * Math.asin(1 / a) / (2 * Math.PI);\n }\n\n return a * Math.pow(2, -10 * k) * Math.sin((k - s) * (2 * Math.PI) / p) + 1;\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n elasticInOut: function (k) {\n var s;\n var a = 0.1;\n var p = 0.4;\n\n if (k === 0) {\n return 0;\n }\n\n if (k === 1) {\n return 1;\n }\n\n if (!a || a < 1) {\n a = 1;\n s = p / 4;\n } else {\n s = p * Math.asin(1 / a) / (2 * Math.PI);\n }\n\n if ((k *= 2) < 1) {\n return -0.5 * (a * Math.pow(2, 10 * (k -= 1)) * Math.sin((k - s) * (2 * Math.PI) / p));\n }\n\n return a * Math.pow(2, -10 * (k -= 1)) * Math.sin((k - s) * (2 * Math.PI) / p) * 0.5 + 1;\n },\n // 在某一动画开始沿指示的路径进行动画处理前稍稍收回该动画的移动\n\n /**\n * @param {number} k\n * @return {number}\n */\n backIn: function (k) {\n var s = 1.70158;\n return k * k * ((s + 1) * k - s);\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n backOut: function (k) {\n var s = 1.70158;\n return --k * k * ((s + 1) * k + s) + 1;\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n backInOut: function (k) {\n var s = 1.70158 * 1.525;\n\n if ((k *= 2) < 1) {\n return 0.5 * (k * k * ((s + 1) * k - s));\n }\n\n return 0.5 * ((k -= 2) * k * ((s + 1) * k + s) + 2);\n },\n // 创建弹跳效果\n\n /**\n * @param {number} k\n * @return {number}\n */\n bounceIn: function (k) {\n return 1 - easing.bounceOut(1 - k);\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n bounceOut: function (k) {\n if (k < 1 / 2.75) {\n return 7.5625 * k * k;\n } else if (k < 2 / 2.75) {\n return 7.5625 * (k -= 1.5 / 2.75) * k + 0.75;\n } else if (k < 2.5 / 2.75) {\n return 7.5625 * (k -= 2.25 / 2.75) * k + 0.9375;\n } else {\n return 7.5625 * (k -= 2.625 / 2.75) * k + 0.984375;\n }\n },\n\n /**\n * @param {number} k\n * @return {number}\n */\n bounceInOut: function (k) {\n if (k < 0.5) {\n return easing.bounceIn(k * 2) * 0.5;\n }\n\n return easing.bounceOut(k * 2 - 1) * 0.5 + 0.5;\n }\n};\nvar _default = easing;\nmodule.exports = _default;","\"use strict\";\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _xeUtils = _interopRequireDefault(require(\"xe-utils/methods/xe-utils\"));\n\nvar _cell = _interopRequireDefault(require(\"../../cell\"));\n\nvar _vXETable = _interopRequireWildcard(require(\"../../v-x-e-table\"));\n\nvar _tools = require(\"../../tools\");\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar rowUniqueId = 0;\nvar browse = _tools.DomTools.browse;\nvar isWebkit = browse['-webkit'] && !browse.edge;\nvar debounceScrollYDuration = browse.msie ? 40 : 20; // 分组表头的属性\n\nvar headerProps = {\n children: 'children'\n};\n/**\n * 生成行的唯一主键\n */\n\nfunction getRowUniqueId() {\n return \"row_\".concat(++rowUniqueId);\n}\n\nfunction isTargetRadioOrCheckbox(evnt, column, colType, targetType) {\n var target = evnt.target;\n return target && column.type === colType && target.tagName.toLowerCase() === 'input' && target.type === (targetType || colType);\n}\n\nvar Methods = {\n /**\n * 获取父容器元素\n */\n getParentElem: function getParentElem() {\n return this.$grid ? this.$grid.$el.parentNode : this.$el.parentNode;\n },\n\n /**\n * 获取父容器的高度\n */\n getParentHeight: function getParentHeight() {\n return this.$grid ? this.$grid.getParentHeight() : this.getParentElem().clientHeight;\n },\n\n /**\n * 获取需要排除的高度\n * 但渲染表格高度时,需要排除工具栏或分页等相关组件的高度\n * 如果存在表尾合计滚动条,则需要排除滚动条高度\n */\n getExcludeHeight: function getExcludeHeight() {\n return this.$grid ? this.$grid.getExcludeHeight() : 0;\n },\n\n /**\n * 重置表格的一切数据状态\n */\n clearAll: function clearAll() {\n this.inited = false;\n this.clearSort();\n this.clearCurrentRow();\n this.clearCurrentColumn();\n this.clearCheckboxRow();\n this.clearCheckboxReserve();\n this.clearRowExpand();\n this.clearTreeExpand();\n\n if (_vXETable.default._edit) {\n this.clearActived();\n }\n\n if (_vXETable.default._filter) {\n this.clearFilter();\n }\n\n if (this.keyboardConfig || this.mouseConfig) {\n this.clearIndexChecked();\n this.clearHeaderChecked();\n this.clearChecked();\n this.clearSelected();\n this.clearCopyed();\n }\n\n return this.clearScroll();\n },\n\n /**\n * 同步刷新 data 数据\n * 如果用了该方法,那么组件将不再记录增删改的状态,只能自行实现对应逻辑\n * 对于某些特殊的场景,比如深层树节点元素发生变动时可能会用到\n */\n refreshData: function refreshData() {\n var _this = this;\n\n return this.$nextTick().then(function () {\n _this.tableData = [];\n return _this.$nextTick().then(function () {\n return _this.loadTableData(_this.tableFullData);\n });\n });\n },\n\n /**\n * 手动处理数据\n * 对于手动更改了排序、筛选...等条件后需要重新处理数据时可能会用到\n */\n updateData: function updateData() {\n return this.handleTableData(true).then(this.updateFooter).then(this.recalculate);\n },\n handleTableData: function handleTableData(force) {\n var scrollYLoad = this.scrollYLoad,\n scrollYStore = this.scrollYStore;\n var fullData = force ? this.updateAfterFullData() : this.afterFullData;\n this.tableData = scrollYLoad ? fullData.slice(scrollYStore.startIndex, scrollYStore.startIndex + scrollYStore.renderSize) : fullData.slice(0);\n return this.$nextTick();\n },\n\n /**\n * 加载表格数据\n * @param {Array} datas 数据\n */\n loadTableData: function loadTableData(datas) {\n var _this2 = this;\n\n var height = this.height,\n maxHeight = this.maxHeight,\n showOverflow = this.showOverflow,\n treeConfig = this.treeConfig,\n editStore = this.editStore,\n optimizeOpts = this.optimizeOpts,\n scrollYStore = this.scrollYStore;\n var scrollY = optimizeOpts.scrollY;\n var tableFullData = datas ? datas.slice(0) : [];\n var scrollYLoad = !treeConfig && scrollY && scrollY.gt && scrollY.gt < tableFullData.length;\n scrollYStore.startIndex = 0;\n scrollYStore.visibleIndex = 0;\n editStore.insertList = [];\n editStore.removeList = []; // 全量数据\n\n this.tableFullData = tableFullData; // 缓存数据\n\n this.updateCache(true); // 原始数据\n\n this.tableSynchData = datas;\n this.tableSourceData = _xeUtils.default.clone(tableFullData, true);\n this.scrollYLoad = scrollYLoad;\n\n if (scrollYLoad && !(height || maxHeight)) {\n _tools.UtilTools.error('plx.error.reqProp', ['height | max-height']);\n }\n\n if (scrollYLoad && !showOverflow) {\n _tools.UtilTools.warn('plx.error.reqProp', ['show-overflow']);\n }\n\n this.handleTableData(true);\n this.updateFooter();\n return this.computeScrollLoad().then(function () {\n // 是否加载了数据\n _this2.isLoadData = true;\n\n _this2.computeRowHeight();\n\n _this2.handleReserveStatus();\n\n _this2.checkSelectionStatus();\n\n return _this2.$nextTick().then(_this2.recalculate).then(_this2.refreshScroll);\n });\n },\n\n /**\n * 重新加载数据,不会清空表格状态\n * @param {Array} datas 数据\n */\n loadData: function loadData(datas) {\n this.inited = true;\n return this.loadTableData(datas).then(this.recalculate);\n },\n\n /**\n * 重新加载数据,会清空表格状态\n * @param {Array} datas 数据\n */\n reloadData: function reloadData(datas) {\n var _this3 = this;\n\n return this.clearAll().then(function () {\n _this3.inited = true;\n return _this3.loadTableData(datas);\n }).then(this.handleDefaults);\n },\n\n /**\n * 局部加载行数据并恢复到初始状态\n * 对于行数据需要局部更改的场景中可能会用到\n * @param {Row} row 行对象\n * @param {Object} record 新数据\n * @param {String} field 字段名\n */\n reloadRow: function reloadRow(row, record, field) {\n var tableSourceData = this.tableSourceData,\n tableData = this.tableData;\n var rowIndex = this.getRowIndex(row);\n var oRow = tableSourceData[rowIndex];\n\n if (oRow && row) {\n if (field) {\n _xeUtils.default.set(oRow, field, _xeUtils.default.get(record || row, field));\n } else {\n if (record) {\n tableSourceData[rowIndex] = record;\n\n _xeUtils.default.clear(row, undefined);\n\n Object.assign(row, this.defineField(Object.assign({}, record)));\n this.updateCache(true);\n } else {\n _xeUtils.default.destructuring(oRow, _xeUtils.default.clone(row, true));\n }\n }\n }\n\n this.tableData = tableData.slice(0);\n return this.$nextTick();\n },\n\n /**\n * 加载列配置\n * 对于表格列需要重载、局部递增场景下可能会用到\n * @param {ColumnConfig} columns 列配置\n */\n loadColumn: function loadColumn(columns) {\n var _this4 = this;\n\n this.collectColumn = _xeUtils.default.mapTree(columns, function (column) {\n return _cell.default.createColumn(_this4, column);\n }, headerProps);\n return this.$nextTick();\n },\n\n /**\n * 加载列配置并恢复到初始状态\n * 对于表格列需要重载、局部递增场景下可能会用到\n * @param {ColumnConfig} columns 列配置\n */\n reloadColumn: function reloadColumn(columns) {\n this.clearAll();\n return this.loadColumn(columns);\n },\n\n /**\n * 更新数据行的 Map\n * 牺牲数据组装的耗时,用来换取使用过程中的流畅\n */\n updateCache: function updateCache(source) {\n var _this5 = this;\n\n var treeConfig = this.treeConfig,\n treeOpts = this.treeOpts,\n tableFullData = this.tableFullData,\n fullDataRowIdData = this.fullDataRowIdData,\n fullDataRowMap = this.fullDataRowMap,\n fullAllDataRowMap = this.fullAllDataRowMap,\n fullAllDataRowIdData = this.fullAllDataRowIdData;\n\n var rowkey = _tools.UtilTools.getRowkey(this);\n\n var isLazy = treeConfig && treeOpts.lazy;\n\n var handleCache = function handleCache(row, index) {\n var rowid = _tools.UtilTools.getRowid(_this5, row);\n\n if (!rowid) {\n rowid = getRowUniqueId();\n\n _xeUtils.default.set(row, rowkey, rowid);\n }\n\n if (isLazy && row[treeOpts.hasChild] && _xeUtils.default.isUndefined(row[treeOpts.children])) {\n row[treeOpts.children] = null;\n }\n\n var rest = {\n row: row,\n rowid: rowid,\n index: index\n };\n\n if (source) {\n fullDataRowIdData[rowid] = rest;\n fullDataRowMap.set(row, rest);\n }\n\n fullAllDataRowIdData[rowid] = rest;\n fullAllDataRowMap.set(row, rest);\n };\n\n if (source) {\n fullDataRowIdData = this.fullDataRowIdData = {};\n fullDataRowMap.clear();\n }\n\n fullAllDataRowIdData = this.fullAllDataRowIdData = {};\n fullAllDataRowMap.clear();\n\n if (treeConfig) {\n _xeUtils.default.eachTree(tableFullData, handleCache, treeOpts);\n } else {\n tableFullData.forEach(handleCache);\n }\n },\n appendTreeCache: function appendTreeCache(row, childs) {\n var _this6 = this;\n\n var tableSourceData = this.tableSourceData,\n treeOpts = this.treeOpts,\n fullDataRowIdData = this.fullDataRowIdData,\n fullDataRowMap = this.fullDataRowMap,\n fullAllDataRowMap = this.fullAllDataRowMap,\n fullAllDataRowIdData = this.fullAllDataRowIdData;\n var children = treeOpts.children,\n hasChild = treeOpts.hasChild;\n\n var rowkey = _tools.UtilTools.getRowkey(this);\n\n var rowid = _tools.UtilTools.getRowid(this, row);\n\n var matchObj = _xeUtils.default.findTree(tableSourceData, function (item) {\n return rowid === _tools.UtilTools.getRowid(_this6, item);\n }, treeOpts);\n\n _xeUtils.default.eachTree(childs, function (row, index) {\n var rowid = _tools.UtilTools.getRowid(_this6, row);\n\n if (!rowid) {\n rowid = getRowUniqueId();\n\n _xeUtils.default.set(row, rowkey, rowid);\n }\n\n if (row[hasChild] && _xeUtils.default.isUndefined(row[children])) {\n row[children] = null;\n }\n\n var rest = {\n row: row,\n rowid: rowid,\n index: index\n };\n fullDataRowIdData[rowid] = rest;\n fullDataRowMap.set(row, rest);\n fullAllDataRowIdData[rowid] = rest;\n fullAllDataRowMap.set(row, rest);\n }, treeOpts);\n\n if (matchObj) {\n matchObj.item[children] = _xeUtils.default.clone(childs, true);\n }\n },\n\n /**\n * 更新数据列的 Map\n * 牺牲数据组装的耗时,用来换取使用过程中的流畅\n */\n cacheColumnMap: function cacheColumnMap() {\n var isGroup = this.isGroup,\n tableFullColumn = this.tableFullColumn,\n collectColumn = this.collectColumn,\n fullColumnMap = this.fullColumnMap;\n var fullColumnIdData = this.fullColumnIdData = {};\n fullColumnMap.clear();\n\n if (isGroup) {\n _xeUtils.default.eachTree(collectColumn, function (column, index) {\n if (column.children && column.children.length) {\n var rest = {\n column: column,\n colid: column.id,\n index: index\n };\n fullColumnIdData[column.id] = rest;\n fullColumnMap.set(column, rest);\n }\n }, headerProps);\n }\n\n tableFullColumn.forEach(function (column, index) {\n var rest = {\n column: column,\n colid: column.id,\n index: index\n };\n fullColumnIdData[column.id] = rest;\n fullColumnMap.set(column, rest);\n }, headerProps);\n },\n\n /**\n * 根据 tr 元素获取对应的 row 信息\n * @param {Element} tr 元素\n */\n getRowNode: function getRowNode(tr) {\n var _this7 = this;\n\n if (tr) {\n var treeConfig = this.treeConfig,\n treeOpts = this.treeOpts,\n tableFullData = this.tableFullData,\n fullAllDataRowIdData = this.fullAllDataRowIdData;\n var rowid = tr.getAttribute('data-rowid');\n\n if (treeConfig) {\n var matchObj = _xeUtils.default.findTree(tableFullData, function (row) {\n return _tools.UtilTools.getRowid(_this7, row) === rowid;\n }, treeOpts);\n\n if (matchObj) {\n return matchObj;\n }\n } else {\n if (fullAllDataRowIdData[rowid]) {\n var rest = fullAllDataRowIdData[rowid];\n return {\n item: rest.row,\n index: rest.index,\n items: tableFullData\n };\n }\n }\n }\n\n return null;\n },\n\n /**\n * 根据 th/td 元素获取对应的 column 信息\n * @param {Element} cell 元素\n */\n getColumnNode: function getColumnNode(cell) {\n if (cell) {\n var fullColumnIdData = this.fullColumnIdData,\n tableFullColumn = this.tableFullColumn;\n var colid = cell.getAttribute('data-colid');\n var _fullColumnIdData$col = fullColumnIdData[colid],\n column = _fullColumnIdData$col.column,\n index = _fullColumnIdData$col.index;\n return {\n item: column,\n index: index,\n items: tableFullColumn\n };\n }\n\n return null;\n },\n\n /**\n * 根据 row 获取相对于 data 中的索引\n * @param {Row} row 行对象\n */\n getRowIndex: function getRowIndex(row) {\n return this.fullDataRowMap.has(row) ? this.fullDataRowMap.get(row).index : -1;\n },\n\n /**\n * 根据 row 获取渲染中的虚拟索引\n * @param {Row} row 行对象\n */\n $getRowIndex: function $getRowIndex(row) {\n return this.afterFullData.indexOf(row);\n },\n\n /**\n * 根据 column 获取相对于 columns 中的索引\n * @param {ColumnConfig} column 列配置\n */\n getColumnIndex: function getColumnIndex(column) {\n return this.fullColumnMap.has(column) ? this.fullColumnMap.get(column).index : -1;\n },\n\n /**\n * 根据 column 获取渲染中的虚拟索引\n * @param {ColumnConfig} column 列配置\n */\n $getColumnIndex: function $getColumnIndex(column) {\n return this.visibleColumn.indexOf(column);\n },\n\n /**\n * 判断是否为索引列\n * @param {ColumnConfig} column 列配置\n */\n isSeqColumn: function isSeqColumn(column) {\n return column && (column.type === 'seq' || column.type === 'index');\n },\n\n /**\n * 定义行数据中的列属性,如果不存在则定义\n * @param {Row} row 行数据\n */\n defineField: function defineField(row) {\n var treeConfig = this.treeConfig,\n treeOpts = this.treeOpts;\n\n var rowkey = _tools.UtilTools.getRowkey(this);\n\n this.visibleColumn.forEach(function (_ref) {\n var property = _ref.property,\n editRender = _ref.editRender;\n\n if (property && !_xeUtils.default.has(row, property)) {\n _xeUtils.default.set(row, property, editRender && !_xeUtils.default.isUndefined(editRender.defaultValue) ? editRender.defaultValue : null);\n }\n });\n\n if (treeConfig && treeOpts.lazy && _xeUtils.default.isUndefined(row[treeOpts.children])) {\n row[treeOpts.children] = null;\n } // 必须有行数据的唯一主键,可以自行设置;也可以默认生成一个随机数\n\n\n if (!_xeUtils.default.get(row, rowkey)) {\n _xeUtils.default.set(row, rowkey, getRowUniqueId());\n }\n\n return row;\n },\n\n /**\n * 创建 data 对象\n * 对于某些特殊场景可能会用到,会自动对数据的字段名进行检测,如果不存在就自动定义\n * @param {Array} records 新数据\n */\n createData: function createData(records) {\n var _this8 = this;\n\n return this.$nextTick().then(function () {\n return records.map(_this8.defineField);\n });\n },\n\n /**\n * 创建 Row|Rows 对象\n * 对于某些特殊场景需要对数据进行手动插入时可能会用到\n * @param {Array/Object} records 新数据\n */\n createRow: function createRow(records) {\n var _this9 = this;\n\n var isArr = _xeUtils.default.isArray(records);\n\n if (!isArr) {\n records = [records];\n }\n\n return this.$nextTick().then(function () {\n var rows = records.map(function (record) {\n return _this9.defineField(Object.assign({}, record));\n });\n return isArr ? rows : rows[0];\n });\n },\n\n /**\n * 清空单元格内容\n * 如果不创参数,则清空整个表格内容\n * 如果传 row 则清空一行内容\n * 如果传 rows 则清空多行内容\n * 如果还额外传了 field 则清空指定单元格内容\n * @param {Array/Row} rows 行数据\n * @param {String} field 字段名\n */\n clearData: function clearData(rows, field) {\n var tableFullData = this.tableFullData,\n visibleColumn = this.visibleColumn;\n\n if (!arguments.length) {\n rows = tableFullData;\n } else if (rows && !_xeUtils.default.isArray(rows)) {\n rows = [rows];\n }\n\n if (field) {\n rows.forEach(function (row) {\n return _xeUtils.default.set(row, field, null);\n });\n } else {\n rows.forEach(function (row) {\n visibleColumn.forEach(function (column) {\n if (column.property) {\n _tools.UtilTools.setCellValue(row, column, null);\n }\n });\n });\n }\n\n return this.$nextTick();\n },\n\n /**\n * 检查是否为临时行数据\n * @param {Row} row 行对象\n */\n isInsertByRow: function isInsertByRow(row) {\n return this.editStore.insertList.indexOf(row) > -1;\n },\n // 在 v3.0 中废弃 hasRowChange\n hasRowChange: function hasRowChange(row, field) {\n _tools.UtilTools.warn('plx.error.delFunc', ['hasRowChange', 'isUpdateByRow']);\n\n return this.isUpdateByRow(row, field);\n },\n\n /**\n * 检查行或列数据是否发生改变\n * @param {Row} row 行对象\n * @param {String} field 字段名\n */\n isUpdateByRow: function isUpdateByRow(row, field) {\n var _this10 = this;\n\n var oRow, property;\n var visibleColumn = this.visibleColumn,\n treeConfig = this.treeConfig,\n treeOpts = this.treeOpts,\n tableSourceData = this.tableSourceData,\n fullDataRowIdData = this.fullDataRowIdData;\n\n var rowid = _tools.UtilTools.getRowid(this, row); // 新增的数据不需要检测\n\n\n if (!fullDataRowIdData[rowid]) {\n return false;\n }\n\n if (treeConfig) {\n var children = treeOpts.children;\n\n var matchObj = _xeUtils.default.findTree(tableSourceData, function (item) {\n return rowid === _tools.UtilTools.getRowid(_this10, item);\n }, treeOpts);\n\n row = Object.assign({}, row, _defineProperty({}, children, null));\n\n if (matchObj) {\n oRow = Object.assign({}, matchObj.item, _defineProperty({}, children, null));\n }\n } else {\n var oRowIndex = fullDataRowIdData[rowid].index;\n oRow = tableSourceData[oRowIndex];\n }\n\n if (oRow) {\n if (arguments.length > 1) {\n return !_xeUtils.default.isEqual(_xeUtils.default.get(oRow, field), _xeUtils.default.get(row, field));\n }\n\n for (var index = 0, len = visibleColumn.length; index < len; index++) {\n property = visibleColumn[index].property;\n\n if (property && !_xeUtils.default.isEqual(_xeUtils.default.get(oRow, property), _xeUtils.default.get(row, property))) {\n return true;\n }\n }\n }\n\n return false;\n },\n\n /**\n * 获取表格的可视列,也可以指定索引获取列\n * @param {Number} columnIndex 索引\n */\n getColumns: function getColumns(columnIndex) {\n var columns = this.visibleColumn;\n return arguments.length ? columns[columnIndex] : columns.slice(0);\n },\n\n /**\n * 根据列的唯一主键获取列\n * @param {String} colid 列主键\n */\n getColumnById: function getColumnById(colid) {\n var fullColumnIdData = this.fullColumnIdData;\n return fullColumnIdData[colid] ? fullColumnIdData[colid].column : null;\n },\n\n /**\n * 根据列的字段名获取列\n * @param {String} field 字段名\n */\n getColumnByField: function getColumnByField(field) {\n return _xeUtils.default.find(this.tableFullColumn, function (column) {\n return column.property === field;\n });\n },\n\n /**\n * 获取当前表格的列\n * 完整的全量表头列、处理条件之后的全量表头列、当前渲染中的表头列\n */\n getTableColumn: function getTableColumn() {\n return {\n fullColumn: this.tableFullColumn.slice(0),\n visibleColumn: this.visibleColumn.slice(0),\n tableColumn: this.tableColumn.slice(0)\n };\n },\n // 在 v3.0 中废弃 getRecords\n getRecords: function getRecords() {\n _tools.UtilTools.warn('plx.error.delFunc', ['getRecords', 'getData']);\n\n return this.getData.apply(this, arguments);\n },\n\n /**\n * 获取数据,和 data 的行为一致,也可以指定索引获取数据\n */\n getData: function getData(rowIndex) {\n var tableSynchData = this.data || this.tableSynchData;\n return arguments.length ? tableSynchData[rowIndex] : tableSynchData.slice(0);\n },\n // 在 v3.0 中废弃 getAllRecords\n getAllRecords: function getAllRecords() {\n _tools.UtilTools.warn('plx.error.delFunc', ['getAllRecords', 'getRecordset']);\n\n return this.getRecordset();\n },\n // 在 v3.0 中废弃 getSelectRecords\n getSelectRecords: function getSelectRecords() {\n // UtilTools.warn('plx.error.delFunc', ['getSelectRecords', 'getCheckboxRecords'])\n return this.getCheckboxRecords();\n },\n\n /**\n * 用于多选行,获取已选中的数据\n */\n getCheckboxRecords: function getCheckboxRecords() {\n var tableFullData = this.tableFullData,\n treeConfig = this.treeConfig,\n treeOpts = this.treeOpts,\n checkboxOpts = this.checkboxOpts;\n var property = checkboxOpts.checkField;\n var rowList = [];\n\n if (property) {\n if (treeConfig) {\n rowList = _xeUtils.default.filterTree(tableFullData, function (row) {\n return _xeUtils.default.get(row, property);\n }, treeOpts);\n } else {\n rowList = tableFullData.filter(function (row) {\n return _xeUtils.default.get(row, property);\n });\n }\n } else {\n var selection = this.selection;\n\n if (treeConfig) {\n rowList = _xeUtils.default.filterTree(tableFullData, function (row) {\n return selection.indexOf(row) > -1;\n }, treeOpts);\n } else {\n rowList = tableFullData.filter(function (row) {\n return selection.indexOf(row) > -1;\n });\n }\n }\n\n return rowList;\n },\n\n /**\n * 获取处理后全量的表格数据\n * 如果存在筛选条件,继续处理\n */\n updateAfterFullData: function updateAfterFullData() {\n var visibleColumn = this.visibleColumn,\n tableFullData = this.tableFullData,\n remoteSort = this.remoteSort,\n remoteFilter = this.remoteFilter,\n filterOpts = this.filterOpts,\n sortOpts = this.sortOpts;\n var tableData = tableFullData.slice(0);\n\n var column = _xeUtils.default.find(visibleColumn, function (column) {\n return column.order;\n });\n\n var filterColumns = [];\n visibleColumn.forEach(function (column) {\n if (column.filters && column.filters.length) {\n var valueList = [];\n var itemList = [];\n column.filters.forEach(function (item) {\n if (item.checked) {\n itemList.push(item);\n valueList.push(item.value);\n }\n });\n filterColumns.push({\n column: column,\n valueList: valueList,\n itemList: itemList\n });\n }\n });\n\n if (filterColumns.length) {\n tableData = tableData.filter(function (row) {\n return filterColumns.every(function (_ref2) {\n var column = _ref2.column,\n valueList = _ref2.valueList,\n itemList = _ref2.itemList;\n\n if (valueList.length && !(filterOpts.remote || remoteFilter)) {\n var filterRender = column.filterRender,\n property = column.property,\n filterMethod = column.filterMethod;\n var compConf = filterRender ? _vXETable.Renderer.get(filterRender.name) : null;\n\n if (!filterMethod && compConf && compConf.renderFilter) {\n filterMethod = compConf.filterMethod;\n }\n\n return filterMethod ? itemList.some(function (item) {\n return filterMethod({\n value: item.value,\n option: item,\n row: row,\n column: column\n });\n }) : valueList.indexOf(_xeUtils.default.get(row, property)) > -1;\n }\n\n return true;\n });\n });\n }\n\n if (column && column.order) {\n var allSortMethod = sortOpts.sortMethod || this.sortMethod;\n var isRemote = _xeUtils.default.isBoolean(column.remoteSort) ? column.remoteSort : sortOpts.remote || remoteSort;\n\n if (!isRemote) {\n if (allSortMethod) {\n tableData = allSortMethod({\n data: tableData,\n column: column,\n property: column.property,\n order: column.order,\n $table: this\n }) || tableData;\n } else {\n var rest = column.sortMethod ? tableData.sort(column.sortMethod) : _xeUtils.default.sortBy(tableData, column.property);\n tableData = column.order === 'desc' ? rest.reverse() : rest;\n }\n }\n }\n\n this.afterFullData = tableData;\n return tableData;\n },\n\n /**\n * 根据行的唯一主键获取行\n * @param {String/Number} rowid 行主键\n */\n getRowById: function getRowById(rowid) {\n var fullDataRowIdData = this.fullDataRowIdData;\n return fullDataRowIdData[rowid] ? fullDataRowIdData[rowid].row : null;\n },\n\n /**\n * 根据行获取行的唯一主键\n * @param {Row} row 行对象\n */\n getRowid: function getRowid(row) {\n var fullAllDataRowMap = this.fullAllDataRowMap;\n return fullAllDataRowMap.has(row) ? fullAllDataRowMap.get(row).rowid : null;\n },\n\n /**\n * 获取处理后的表格数据\n * 如果存在筛选条件,继续处理\n * 如果存在排序,继续处理\n */\n getTableData: function getTableData() {\n var tableFullData = this.tableFullData,\n afterFullData = this.afterFullData,\n tableData = this.tableData,\n footerData = this.footerData;\n return {\n fullData: tableFullData.slice(0),\n visibleData: afterFullData.slice(0),\n tableData: tableData.slice(0),\n footerData: footerData.slice(0)\n };\n },\n\n /**\n * 默认行为只允许执行一次\n */\n handleDefaults: function handleDefaults() {\n var _this11 = this;\n\n // 在 v3.0 中废弃 selectConfig\n var checkboxConfig = this.checkboxConfig || this.selectConfig;\n\n if (checkboxConfig) {\n this.handleDefaultSelectionChecked();\n }\n\n if (this.radioConfig) {\n this.handleDefaultRadioChecked();\n }\n\n if (this.sortConfig) {\n this.handleDefaultSort();\n }\n\n if (this.expandConfig) {\n this.handleDefaultRowExpand();\n }\n\n if (this.treeConfig) {\n this.handleDefaultTreeExpand();\n }\n\n this.$nextTick(function () {\n return setTimeout(_this11.recalculate);\n });\n },\n\n /**\n * 动态列处理\n */\n mergeCustomColumn: function mergeCustomColumn(customColumns) {\n var tableFullColumn = this.tableFullColumn;\n this.isUpdateCustoms = true;\n\n if (customColumns.length) {\n tableFullColumn.forEach(function (column) {\n // 在 v3.0 中废弃 prop\n var item = _xeUtils.default.find(customColumns, function (item) {\n return column.property && (item.field || item.prop) === column.property;\n });\n\n if (item) {\n if (_xeUtils.default.isNumber(item.resizeWidth)) {\n column.resizeWidth = item.resizeWidth;\n }\n\n if (_xeUtils.default.isBoolean(item.visible)) {\n column.visible = item.visible;\n }\n }\n });\n }\n\n this.$emit('update:customs', tableFullColumn);\n },\n\n /**\n * 手动重置列的所有操作,还原到初始状态\n * 如果已关联工具栏,则会同步更新\n */\n resetAll: function resetAll() {\n // UtilTools.warn('plx.error.delFunc', ['resetAll', 'resetColumn'])\n this.resetColumn(true);\n },\n\n /**\n * 隐藏指定列\n * @param {ColumnConfig} column 列配置\n */\n hideColumn: function hideColumn(column) {\n return this.handleVisibleColumn(column, false);\n },\n\n /**\n * 显示指定列\n * @param {ColumnConfig} column 列配置\n */\n showColumn: function showColumn(column) {\n return this.handleVisibleColumn(column, true);\n },\n\n /**\n * 手动重置列的显示隐藏、列宽拖动的状态;\n * 如果为 true 则重置所有状态\n * 如果已关联工具栏,则会同步更新\n */\n resetColumn: function resetColumn(options) {\n var opts = Object.assign({\n visible: true\n }, options);\n\n if (options === true || opts.resizable) {\n this.handleResetResizable();\n }\n\n if (opts.visible) {\n return this.handleVisibleColumn();\n }\n\n return this.$nextTick();\n },\n resetCustoms: function resetCustoms() {\n // UtilTools.warn('plx.error.delFunc', ['resetCustoms', 'resetColumn'])\n return this.resetColumn();\n },\n handleVisibleColumn: function handleVisibleColumn(column, visible) {\n if (arguments.length) {\n column.visible = visible;\n } else {\n this.tableFullColumn.forEach(function (column) {\n column.visible = true;\n });\n }\n\n if (this.$toolbar) {\n this.$toolbar.handleCustoms();\n }\n\n return this.$nextTick();\n },\n\n /**\n * 手动重置列宽拖动的操作,还原到初始状态\n * 如果已关联工具栏,则会同步更新\n */\n handleResetResizable: function handleResetResizable() {\n this.tableFullColumn.forEach(function (column) {\n column.resizeWidth = 0;\n });\n\n if (this.$toolbar) {\n this.$toolbar.resetResizable();\n }\n\n this.analyColumnWidth();\n return this.recalculate(true);\n },\n resetResizable: function resetResizable() {\n // UtilTools.warn('plx.error.delFunc', ['resetResizable', 'resetColumn'])\n return this.handleResetResizable();\n },\n\n /**\n * 初始化加载显示/隐藏列\n * 对于异步更新的场景下可能会用到\n * @param {Array} customColumns 自定义列数组\n */\n reloadCustoms: function reloadCustoms(customColumns) {\n var _this12 = this;\n\n // UtilTools.warn('plx.error.delFunc', ['reloadCustoms', 'column.visible & refreshColumn'])\n return this.$nextTick().then(function () {\n _this12.mergeCustomColumn(customColumns);\n\n return _this12.refreshColumn().then(function () {\n return _this12.tableFullColumn;\n });\n });\n },\n\n /**\n * 刷新列信息\n * 将固定的列左边、右边分别靠边\n * 如果使用了分组表头,固定列必须在左侧或者右侧\n */\n refreshColumn: function refreshColumn() {\n var _this13 = this;\n\n var isColspan;\n var letIndex = 0;\n var leftList = [];\n var leftStartIndex = null;\n var rightEndIndex = null;\n var centerList = [];\n var rightList = [];\n var tableFullColumn = this.tableFullColumn,\n isGroup = this.isGroup,\n columnStore = this.columnStore,\n scrollXStore = this.scrollXStore,\n optimizeOpts = this.optimizeOpts;\n var scrollX = optimizeOpts.scrollX; // 如果是分组表头,如果子列全部被隐藏,则根列也隐藏\n\n if (isGroup) {\n _xeUtils.default.eachTree(this.collectColumn, function (column) {\n if (column.children && column.children.length) {\n column.visible = !!_xeUtils.default.findTree(column.children, function (subColumn) {\n return subColumn.children && subColumn.children.length ? 0 : subColumn.visible;\n }, headerProps);\n }\n }, headerProps);\n } // 重新分配列\n\n\n tableFullColumn.filter(function (column) {\n return column.visible;\n }).forEach(function (column, columnIndex) {\n if (column.fixed === 'left') {\n if (leftStartIndex === null) {\n leftStartIndex = letIndex;\n }\n\n if (!isColspan) {\n if (columnIndex - letIndex !== 0) {\n isColspan = true;\n } else {\n letIndex++;\n }\n }\n\n leftList.push(column);\n } else if (column.fixed === 'right') {\n if (!isColspan) {\n if (rightEndIndex === null) {\n rightEndIndex = columnIndex;\n }\n\n if (columnIndex - rightEndIndex !== 0) {\n isColspan = true;\n } else {\n rightEndIndex++;\n }\n }\n\n rightList.push(column);\n } else {\n centerList.push(column);\n }\n });\n var visibleColumn = leftList.concat(centerList).concat(rightList);\n var scrollXLoad = scrollX && scrollX.gt && scrollX.gt < tableFullColumn.length;\n Object.assign(columnStore, {\n leftList: leftList,\n centerList: centerList,\n rightList: rightList\n });\n\n if (isGroup && (isColspan || leftStartIndex || rightEndIndex !== null && rightEndIndex !== visibleColumn.length)) {\n _tools.UtilTools.error('plx.error.groupFixed');\n }\n\n if (scrollXLoad) {\n if (this.isGroup) {\n _tools.UtilTools.warn('plx.error.scrollXNotGroup');\n }\n\n if (this.showHeader && !this.showHeaderOverflow) {\n _tools.UtilTools.warn('plx.error.reqProp', ['show-header-overflow']);\n } // if (this.resizable || visibleColumn.some(column => column.resizable)) {\n // UtilTools.warn('plx.error.scrollXNotResizable')\n // }\n\n\n Object.assign(scrollXStore, {\n startIndex: 0,\n visibleIndex: 0\n });\n visibleColumn = visibleColumn.slice(scrollXStore.startIndex, scrollXStore.startIndex + scrollXStore.renderSize);\n }\n\n this.scrollXLoad = scrollXLoad;\n this.tableColumn = visibleColumn;\n return this.$nextTick().then(function () {\n _this13.updateFooter();\n\n _this13.recalculate(true);\n });\n },\n\n /**\n * 指定列宽的列进行拆分\n */\n analyColumnWidth: function analyColumnWidth() {\n var columnWidth = this.columnWidth,\n columnMinWidth = this.columnMinWidth;\n var resizeList = [];\n var pxList = [];\n var pxMinList = [];\n var scaleList = [];\n var scaleMinList = [];\n var autoList = [];\n this.tableFullColumn.forEach(function (column) {\n if (columnWidth && !column.width) {\n column.width = columnWidth;\n }\n\n if (columnMinWidth && !column.minWidth) {\n column.minWidth = columnMinWidth;\n }\n\n if (column.visible) {\n if (column.resizeWidth) {\n resizeList.push(column);\n } else if (_tools.DomTools.isPx(column.width)) {\n pxList.push(column);\n } else if (_tools.DomTools.isScale(column.width)) {\n scaleList.push(column);\n } else if (_tools.DomTools.isPx(column.minWidth)) {\n pxMinList.push(column);\n } else if (_tools.DomTools.isScale(column.minWidth)) {\n scaleMinList.push(column);\n } else {\n autoList.push(column);\n }\n }\n });\n Object.assign(this.columnStore, {\n resizeList: resizeList,\n pxList: pxList,\n pxMinList: pxMinList,\n scaleList: scaleList,\n scaleMinList: scaleMinList,\n autoList: autoList\n });\n },\n\n /**\n * 刷新滚动操作,手动同步滚动相关位置(对于某些特殊的操作,比如滚动条错位、固定列不同步)\n */\n refreshScroll: function refreshScroll() {\n var _this14 = this;\n\n var lastScrollLeft = this.lastScrollLeft,\n lastScrollTop = this.lastScrollTop;\n this.clearScroll();\n return this.$nextTick().then(function () {\n if (lastScrollLeft || lastScrollTop) {\n // 重置最后滚动状态\n _this14.lastScrollLeft = 0;\n _this14.lastScrollTop = 0; // 还原滚动状态\n\n return _this14.scrollTo(lastScrollLeft, lastScrollTop);\n }\n });\n },\n\n /**\n * 计算单元格列宽,动态分配可用剩余空间\n * 支持 width=? width=?px width=?% min-width=? min-width=?px min-width=?%\n */\n recalculate: function recalculate(refull) {\n var _this15 = this;\n\n var $refs = this.$refs;\n var tableBody = $refs.tableBody,\n tableHeader = $refs.tableHeader,\n tableFooter = $refs.tableFooter;\n var bodyElem = tableBody ? tableBody.$el : null;\n var headerElem = tableHeader ? tableHeader.$el : null;\n var footerElem = tableFooter ? tableFooter.$el : null;\n\n if (bodyElem) {\n this.autoCellWidth(headerElem, bodyElem, footerElem);\n\n if (refull === true) {\n // 初始化时需要在列计算之后再执行优化运算,达到最优显示效果\n return this.computeScrollLoad().then(function () {\n _this15.autoCellWidth(headerElem, bodyElem, footerElem);\n\n _this15.computeScrollLoad();\n });\n }\n }\n\n return this.computeScrollLoad();\n },\n\n /**\n * 列宽算法\n * 支持 px、%、固定 混合分配\n * 支持动态列表调整分配\n * 支持自动分配偏移量\n * @param {Element} headerElem\n * @param {Element} bodyElem\n * @param {Element} footerElem\n * @param {Number} bodyWidth\n */\n autoCellWidth: function autoCellWidth(headerElem, bodyElem, footerElem) {\n var meanWidth;\n var tableWidth = 0;\n var minCellWidth = 40; // 列宽最少限制 40px\n\n var bodyWidth = bodyElem.clientWidth;\n var remainWidth = bodyWidth;\n var fit = this.fit,\n columnStore = this.columnStore;\n var resizeList = columnStore.resizeList,\n pxMinList = columnStore.pxMinList,\n pxList = columnStore.pxList,\n scaleList = columnStore.scaleList,\n scaleMinList = columnStore.scaleMinList,\n autoList = columnStore.autoList; // 最小宽\n\n pxMinList.forEach(function (column) {\n var minWidth = parseInt(column.minWidth);\n tableWidth += minWidth;\n column.renderWidth = minWidth;\n }); // 最小百分比\n\n meanWidth = remainWidth / 100;\n scaleMinList.forEach(function (column) {\n var scaleWidth = Math.floor(parseInt(column.minWidth) * meanWidth);\n tableWidth += scaleWidth;\n column.renderWidth = scaleWidth;\n }); // 固定百分比\n\n scaleList.forEach(function (column) {\n var scaleWidth = Math.floor(parseInt(column.width) * meanWidth);\n tableWidth += scaleWidth;\n column.renderWidth = scaleWidth;\n }); // 固定宽\n\n pxList.forEach(function (column) {\n var width = parseInt(column.width);\n tableWidth += width;\n column.renderWidth = width;\n }); // 调整了列宽\n\n resizeList.forEach(function (column) {\n var width = parseInt(column.resizeWidth);\n tableWidth += width;\n column.renderWidth = width;\n });\n remainWidth -= tableWidth;\n meanWidth = remainWidth > 0 ? Math.floor(remainWidth / (scaleMinList.length + pxMinList.length + autoList.length)) : 0;\n\n if (fit) {\n if (remainWidth > 0) {\n scaleMinList.concat(pxMinList).forEach(function (column) {\n tableWidth += meanWidth;\n column.renderWidth += meanWidth;\n });\n }\n } else {\n meanWidth = minCellWidth;\n } // 自适应\n\n\n autoList.forEach(function (column, index) {\n var width = Math.max(meanWidth, minCellWidth);\n column.renderWidth = width;\n tableWidth += width;\n });\n\n if (fit) {\n /**\n * 偏移量算法\n * 如果所有列足够放的情况下,从最后动态列开始分配\n */\n var dynamicList = scaleList.concat(scaleMinList).concat(pxMinList).concat(autoList);\n var dynamicSize = dynamicList.length - 1;\n\n if (dynamicSize > 0) {\n var odiffer = bodyWidth - tableWidth;\n\n if (odiffer > 0) {\n while (odiffer > 0 && dynamicSize >= 0) {\n odiffer--;\n dynamicList[dynamicSize--].renderWidth++;\n }\n\n tableWidth = bodyWidth;\n }\n }\n }\n\n var tableHeight = bodyElem.offsetHeight;\n var overflowY = bodyElem.scrollHeight > bodyElem.clientHeight;\n this.scrollbarWidth = overflowY ? bodyElem.offsetWidth - bodyWidth : 0;\n this.overflowY = overflowY;\n this.tableWidth = tableWidth;\n this.tableHeight = tableHeight;\n this.isCoverBody = tableWidth >= bodyWidth - 2;\n this.parentHeight = this.getParentHeight();\n\n if (headerElem) {\n this.headerHeight = headerElem.clientHeight; // 检测是否同步滚动\n\n if (headerElem.scrollLeft !== bodyElem.scrollLeft) {\n headerElem.scrollLeft = bodyElem.scrollLeft;\n }\n }\n\n if (footerElem) {\n var footerHeight = footerElem.offsetHeight;\n this.scrollbarHeight = Math.max(footerHeight - footerElem.clientHeight, 0);\n this.overflowX = tableWidth > footerElem.clientWidth;\n this.footerHeight = footerHeight;\n } else {\n this.scrollbarHeight = Math.max(tableHeight - bodyElem.clientHeight, 0);\n this.overflowX = tableWidth > bodyWidth;\n }\n\n if (this.overflowX) {\n this.checkScrolling();\n }\n },\n\n /**\n * 放弃 vue 的双向 dom 绑定,使用原生的方式更新 Dom,性能翻倍提升\n */\n updateStyle: function updateStyle() {\n var _this16 = this;\n\n var $refs = this.$refs,\n isGroup = this.isGroup,\n fullColumnIdData = this.fullColumnIdData,\n maxHeight = this.maxHeight,\n height = this.height,\n parentHeight = this.parentHeight,\n border = this.border,\n tableColumn = this.tableColumn,\n headerHeight = this.headerHeight,\n allColumnHeaderOverflow = this.showHeaderOverflow,\n showFooter = this.showFooter,\n allColumnOverflow = this.showOverflow,\n footerHeight = this.footerHeight,\n tableHeight = this.tableHeight,\n tableWidth = this.tableWidth,\n scrollbarHeight = this.scrollbarHeight,\n scrollbarWidth = this.scrollbarWidth,\n scrollXLoad = this.scrollXLoad,\n scrollYLoad = this.scrollYLoad,\n cellOffsetWidth = this.cellOffsetWidth,\n columnStore = this.columnStore,\n elemStore = this.elemStore,\n editStore = this.editStore,\n currentRow = this.currentRow,\n mouseConfig = this.mouseConfig;\n var containerList = ['main', 'left', 'right'];\n var customHeight = 0;\n\n if (height) {\n customHeight = height === 'auto' ? parentHeight : (_tools.DomTools.isScale(height) ? Math.floor(parseInt(height) / 100 * parentHeight) : _xeUtils.default.toNumber(height)) - this.getExcludeHeight();\n\n if (showFooter) {\n customHeight += scrollbarHeight + 1;\n }\n }\n\n var emptyPlaceholderElem = $refs.emptyPlaceholder;\n\n if (emptyPlaceholderElem) {\n emptyPlaceholderElem.style.top = height ? '' : \"\".concat(headerHeight, \"px\");\n }\n\n containerList.forEach(function (name, index) {\n var fixedType = index > 0 ? name : '';\n var layoutList = ['header', 'body', 'footer'];\n var fixedColumn = columnStore[\"\".concat(fixedType, \"List\")];\n var fixedWrapperElem = $refs[\"\".concat(fixedType, \"Container\")];\n layoutList.forEach(function (layout) {\n var wrapperElem = elemStore[\"\".concat(name, \"-\").concat(layout, \"-wrapper\")];\n var tableElem = elemStore[\"\".concat(name, \"-\").concat(layout, \"-table\")];\n\n if (layout === 'header') {\n // 表头体样式处理\n // 横向滚动渲染\n var tWidth = tableWidth;\n\n if (scrollXLoad) {\n if (fixedType) {\n tableColumn = fixedColumn;\n }\n\n tWidth = tableColumn.reduce(function (previous, column) {\n return previous + column.renderWidth;\n }, 0);\n }\n\n if (tableElem) {\n tableElem.style.width = tWidth ? \"\".concat(tWidth + scrollbarWidth, \"px\") : ''; // 修复 IE 中高度无法自适应问题\n\n if (browse.msie) {\n _xeUtils.default.arrayEach(tableElem.querySelectorAll('.plx-resizable'), function (resizeElem) {\n resizeElem.style.height = \"\".concat(resizeElem.parentNode.offsetHeight, \"px\");\n });\n }\n }\n\n var repairElem = elemStore[\"\".concat(name, \"-\").concat(layout, \"-repair\")];\n\n if (repairElem) {\n repairElem.style.width = \"\".concat(tableWidth, \"px\");\n }\n\n var listElem = elemStore[\"\".concat(name, \"-\").concat(layout, \"-list\")];\n\n if (isGroup && listElem) {\n // XEUtils.arrayEach(listElem.querySelectorAll(`.col--gutter`), thElem => {\n // thElem.style.width = `${scrollbarWidth}px`\n // })\n _xeUtils.default.arrayEach(listElem.querySelectorAll(\".col--group\"), function (thElem) {\n var column = _this16.getColumnNode(thElem).item;\n\n var showHeaderOverflow = column.showHeaderOverflow;\n var cellOverflow = _xeUtils.default.isBoolean(showHeaderOverflow) ? showHeaderOverflow : allColumnHeaderOverflow;\n var showEllipsis = cellOverflow === 'ellipsis';\n var showTitle = cellOverflow === 'title';\n var showTooltip = cellOverflow === true || cellOverflow === 'tooltip';\n var hasEllipsis = showTitle || showTooltip || showEllipsis;\n var childWidth = 0;\n var countChild = 0;\n\n if (hasEllipsis) {\n _xeUtils.default.eachTree(column.children, function (item) {\n if (!item.children || !column.children.length) {\n countChild++;\n }\n\n childWidth += item.renderWidth;\n });\n\n thElem.style.width = \"\".concat(childWidth - countChild - (border ? 2 : 0), \"px\");\n }\n });\n }\n } else if (layout === 'body') {\n var emptyBlockElem = elemStore[\"\".concat(name, \"-\").concat(layout, \"-emptyBlock\")];\n\n if (wrapperElem) {\n if (maxHeight) {\n maxHeight = maxHeight === 'auto' ? parentHeight : _tools.DomTools.isScale(maxHeight) ? Math.floor(parseInt(maxHeight) / 100 * parentHeight) : _xeUtils.default.toNumber(maxHeight);\n wrapperElem.style.maxHeight = \"\".concat(fixedType ? maxHeight - headerHeight - (showFooter ? 0 : scrollbarHeight) : maxHeight - headerHeight, \"px\");\n } else {\n if (customHeight > 0) {\n wrapperElem.style.height = \"\".concat(fixedType ? (customHeight > 0 ? customHeight - headerHeight - footerHeight : tableHeight) - (showFooter ? 0 : scrollbarHeight) : customHeight - headerHeight - footerHeight, \"px\");\n } else {\n wrapperElem.style.height = '';\n }\n }\n } // 如果是固定列\n\n\n if (fixedWrapperElem) {\n var isRightFixed = fixedType === 'right';\n var _fixedColumn = columnStore[\"\".concat(fixedType, \"List\")];\n wrapperElem.style.top = \"\".concat(headerHeight, \"px\");\n fixedWrapperElem.style.height = \"\".concat((customHeight > 0 ? customHeight - headerHeight - footerHeight : tableHeight) + headerHeight + footerHeight - scrollbarHeight * (showFooter ? 2 : 1), \"px\");\n fixedWrapperElem.style.width = \"\".concat(_fixedColumn.reduce(function (previous, column) {\n return previous + column.renderWidth;\n }, isRightFixed ? scrollbarWidth : 0) - (border === true ? 1 : 0), \"px\");\n }\n\n var _tWidth = tableWidth; // 如果是固定列与设置了超出隐藏\n\n if (fixedType && allColumnOverflow) {\n tableColumn = fixedColumn;\n _tWidth = tableColumn.reduce(function (previous, column) {\n return previous + column.renderWidth;\n }, 0);\n } else if (scrollXLoad) {\n if (fixedType) {\n tableColumn = fixedColumn;\n }\n\n _tWidth = tableColumn.reduce(function (previous, column) {\n return previous + column.renderWidth;\n }, 0);\n }\n\n if (tableElem) {\n tableElem.style.width = _tWidth ? \"\".concat(_tWidth, \"px\") : ''; // 兼容性处理\n\n tableElem.style.paddingRight = scrollbarWidth && fixedType && (browse['-moz'] || browse['safari']) ? \"\".concat(scrollbarWidth, \"px\") : '';\n }\n\n if (emptyBlockElem) {\n emptyBlockElem.style.width = _tWidth ? \"\".concat(_tWidth, \"px\") : '';\n }\n } else if (layout === 'footer') {\n // 如果是使用优化模式\n var _tWidth2 = tableWidth;\n\n if (fixedType && allColumnOverflow) {\n tableColumn = fixedColumn;\n _tWidth2 = tableColumn.reduce(function (previous, column) {\n return previous + column.renderWidth;\n }, 0);\n } else if (scrollXLoad) {\n if (fixedType) {\n tableColumn = fixedColumn;\n }\n\n _tWidth2 = tableColumn.reduce(function (previous, column) {\n return previous + column.renderWidth;\n }, 0);\n }\n\n if (wrapperElem) {\n // 如果是固定列\n if (fixedWrapperElem) {\n wrapperElem.style.top = \"\".concat(customHeight > 0 ? customHeight - footerHeight : tableHeight + headerHeight, \"px\");\n }\n\n wrapperElem.style.marginTop = \"\".concat(-scrollbarHeight - 1, \"px\");\n }\n\n if (tableElem) {\n tableElem.style.width = _tWidth2 ? \"\".concat(_tWidth2 + scrollbarWidth, \"px\") : '';\n } // let listElem = elemStore[`${name}-${layout}-list`]\n // if (listElem) {\n // XEUtils.arrayEach(listElem.querySelectorAll(`.col--gutter`), thElem => {\n // thElem.style.width = `${scrollbarWidth}px`\n // })\n // }\n\n }\n\n var colgroupElem = elemStore[\"\".concat(name, \"-\").concat(layout, \"-colgroup\")];\n\n if (colgroupElem) {\n _xeUtils.default.arrayEach(colgroupElem.children, function (colElem) {\n var colid = colElem.getAttribute('name');\n\n if (colid === 'col_gutter') {\n colElem.style.width = \"\".concat(scrollbarWidth, \"px\");\n }\n\n if (fullColumnIdData[colid]) {\n var column = fullColumnIdData[colid].column;\n var showHeaderOverflow = column.showHeaderOverflow,\n showOverflow = column.showOverflow;\n var cellOverflow;\n colElem.style.width = \"\".concat(column.renderWidth, \"px\");\n\n if (layout === 'header') {\n cellOverflow = _xeUtils.default.isUndefined(showHeaderOverflow) || _xeUtils.default.isNull(showHeaderOverflow) ? allColumnHeaderOverflow : showHeaderOverflow;\n } else {\n cellOverflow = _xeUtils.default.isUndefined(showOverflow) || _xeUtils.default.isNull(showOverflow) ? allColumnOverflow : showOverflow;\n }\n\n var showEllipsis = cellOverflow === 'ellipsis';\n var showTitle = cellOverflow === 'title';\n var showTooltip = cellOverflow === true || cellOverflow === 'tooltip';\n var hasEllipsis = showTitle || showTooltip || showEllipsis;\n var _listElem = elemStore[\"\".concat(name, \"-\").concat(layout, \"-list\")]; // 滚动的渲染不支持动态行高\n\n if ((scrollXLoad || scrollYLoad) && !hasEllipsis) {\n hasEllipsis = true;\n }\n\n if (_listElem && hasEllipsis) {\n _xeUtils.default.arrayEach(_listElem.querySelectorAll(\".\".concat(column.id)), function (elem) {\n var colspan = parseInt(elem.getAttribute('colspan') || 1);\n var cellElem = elem.querySelector('.plx-cell');\n var colWidth = column.renderWidth;\n\n if (cellElem) {\n if (colspan > 1) {\n var columnIndex = _this16.getColumnIndex(column);\n\n for (var _index = 1; _index < colspan; _index++) {\n var nextColumn = _this16.getColumns(columnIndex + _index);\n\n if (nextColumn) {\n colWidth += nextColumn.renderWidth;\n }\n }\n }\n\n cellElem.style.width = \"\".concat(colWidth - cellOffsetWidth * colspan, \"px\");\n }\n });\n }\n }\n });\n }\n });\n });\n\n if (currentRow) {\n this.setCurrentRow(currentRow);\n }\n\n if (mouseConfig && mouseConfig.selected && editStore.selected.row && editStore.selected.column) {\n this.addColSdCls();\n }\n\n return this.$nextTick();\n },\n\n /**\n * 处理固定列的显示状态\n */\n checkScrolling: function checkScrolling() {\n var _this$$refs = this.$refs,\n tableBody = _this$$refs.tableBody,\n leftContainer = _this$$refs.leftContainer,\n rightContainer = _this$$refs.rightContainer;\n var bodyElem = tableBody ? tableBody.$el : null;\n\n if (bodyElem) {\n if (leftContainer) {\n _tools.DomTools[bodyElem.scrollLeft > 0 ? 'addClass' : 'removeClass'](leftContainer, 'scrolling--middle');\n }\n\n if (rightContainer) {\n _tools.DomTools[bodyElem.clientWidth < bodyElem.scrollWidth - Math.ceil(bodyElem.scrollLeft) ? 'addClass' : 'removeClass'](rightContainer, 'scrolling--middle');\n }\n }\n },\n preventEvent: function preventEvent(evnt, type, args, next, end) {\n var _this17 = this;\n\n var evntList = _vXETable.Interceptor.get(type);\n\n var rest;\n\n if (!evntList.some(function (func) {\n return func(args, evnt, _this17) === false;\n })) {\n if (next) {\n rest = next();\n }\n }\n\n if (end) {\n end();\n }\n\n return rest;\n },\n\n /**\n * 全局按下事件处理\n */\n handleGlobalMousedownEvent: function handleGlobalMousedownEvent(evnt) {\n var _this18 = this;\n\n var $el = this.$el,\n $refs = this.$refs,\n mouseConfig = this.mouseConfig,\n mouseOpts = this.mouseOpts,\n editStore = this.editStore,\n ctxMenuStore = this.ctxMenuStore,\n editOpts = this.editOpts,\n filterStore = this.filterStore,\n getRowNode = this.getRowNode;\n var actived = editStore.actived;\n var filterWrapper = $refs.filterWrapper,\n validTip = $refs.validTip; // 在 v3.0 中废弃 mouse-config.checked\n\n var isMouseChecked = mouseConfig && (mouseOpts.range || mouseOpts.checked);\n\n if (filterWrapper) {\n if (_tools.DomTools.getEventTargetNode(evnt, $el, 'plx-filter-wrapper').flag) {// 如果点击了筛选按钮\n } else if (_tools.DomTools.getEventTargetNode(evnt, filterWrapper.$el).flag) {// 如果点击筛选容器\n } else {\n this.preventEvent(evnt, 'event.clearFilter', filterStore.args, this.closeFilter);\n }\n } // 如果已激活了编辑状态\n\n\n if (actived.row) {\n if (!(editOpts.autoClear === false)) {\n if (validTip && _tools.DomTools.getEventTargetNode(evnt, validTip.$el).flag) {// 如果是激活状态,且点击了校验提示框\n } else if (!this.lastCallTime || this.lastCallTime + 50 < Date.now()) {\n // 如果手动调用了激活单元格,避免触发源被移除后导致重复关闭\n this.preventEvent(evnt, 'event.clearActived', actived.args, function () {\n var isClear;\n\n if (editOpts.mode === 'row') {\n var rowNode = _tools.DomTools.getEventTargetNode(evnt, $el, 'plx-body--row'); // row 方式,如果点击了不同行\n\n\n isClear = rowNode.flag ? getRowNode(rowNode.targetElem).item !== getRowNode(actived.args.cell.parentNode).item : false;\n } else {\n // cell 方式,如果是非编辑列\n isClear = !_tools.DomTools.getEventTargetNode(evnt, $el, 'col--edit').flag;\n }\n\n if (!isClear) {\n isClear = _tools.DomTools.getEventTargetNode(evnt, $el, 'plx-header--row').flag;\n }\n\n if (!isClear) {\n isClear = _tools.DomTools.getEventTargetNode(evnt, $el, 'plx-footer--row').flag;\n }\n\n if (isClear || // 如果点击了当前表格之外\n !_tools.DomTools.getEventTargetNode(evnt, $el).flag) {\n setTimeout(function () {\n return _this18.clearActived(evnt);\n });\n }\n });\n }\n }\n } else if (mouseConfig) {\n if (!_tools.DomTools.getEventTargetNode(evnt, $el).flag) {\n if (isMouseChecked) {\n this.clearIndexChecked();\n this.clearHeaderChecked();\n this.clearChecked();\n }\n\n this.clearSelected();\n }\n } // 如果配置了快捷菜单且,点击了其他地方则关闭\n\n\n if (ctxMenuStore.visible && this.$refs.ctxWrapper && !_tools.DomTools.getEventTargetNode(evnt, this.$refs.ctxWrapper.$el).flag) {\n this.closeMenu();\n } // 最后激活的表格\n\n\n this.isActivated = _tools.DomTools.getEventTargetNode(evnt, (this.$grid || this).$el).flag;\n },\n\n /**\n * 窗口失焦事件处理\n */\n handleGlobalBlurEvent: function handleGlobalBlurEvent(evnt) {\n this.closeFilter();\n this.closeMenu();\n },\n\n /**\n * 全局滚动事件\n */\n handleGlobalMousewheelEvent: function handleGlobalMousewheelEvent(evnt) {\n this.clostTooltip();\n this.closeMenu();\n },\n\n /**\n * 全局键盘事件\n */\n handleGlobalKeydownEvent: function handleGlobalKeydownEvent(evnt) {\n var _this19 = this;\n\n // 该行为只对当前激活的表格有效\n if (this.isActivated) {\n this.preventEvent(evnt, 'event.keydown', {\n $table: this\n }, function () {\n var isCtxMenu = _this19.isCtxMenu,\n ctxMenuStore = _this19.ctxMenuStore,\n editStore = _this19.editStore,\n _this19$mouseConfig = _this19.mouseConfig,\n mouseConfig = _this19$mouseConfig === void 0 ? {} : _this19$mouseConfig,\n _this19$keyboardConfi = _this19.keyboardConfig,\n keyboardConfig = _this19$keyboardConfi === void 0 ? {} : _this19$keyboardConfi,\n treeConfig = _this19.treeConfig,\n treeOpts = _this19.treeOpts,\n highlightCurrentRow = _this19.highlightCurrentRow,\n currentRow = _this19.currentRow;\n var selected = editStore.selected,\n actived = editStore.actived;\n var keyCode = evnt.keyCode;\n var isBack = keyCode === 8;\n var isTab = keyCode === 9;\n var isEnter = keyCode === 13;\n var isEsc = keyCode === 27;\n var isSpacebar = keyCode === 32;\n var isLeftArrow = keyCode === 37;\n var isUpArrow = keyCode === 38;\n var isRightArrow = keyCode === 39;\n var isDwArrow = keyCode === 40;\n var isDel = keyCode === 46;\n var isA = keyCode === 65;\n var isC = keyCode === 67;\n var isV = keyCode === 86;\n var isX = keyCode === 88;\n var isF2 = keyCode === 113;\n var isCtrlKey = evnt.ctrlKey;\n var isShiftKey = evnt.shiftKey;\n var operArrow = isLeftArrow || isUpArrow || isRightArrow || isDwArrow;\n var operCtxMenu = isCtxMenu && ctxMenuStore.visible && (isEnter || isSpacebar || operArrow);\n var params;\n\n if (isEsc) {\n // 如果按下了 Esc 键,关闭快捷菜单、筛选\n _this19.closeMenu();\n\n _this19.closeFilter(); // 如果是激活编辑状态,则取消编辑\n\n\n if (actived.row) {\n params = actived.args;\n\n _this19.clearActived(evnt); // 如果配置了选中功能,则为选中状态\n\n\n if (mouseConfig.selected) {\n _this19.$nextTick(function () {\n return _this19.handleSelected(params, evnt);\n });\n }\n }\n } else if (isSpacebar && (keyboardConfig.isArrow || keyboardConfig.isTab) && selected.row && selected.column && (selected.column.type === 'checkbox' || selected.column.type === 'selection' || selected.column.type === 'radio')) {\n // 在 v3.0 中废弃 type=selection\n // 空格键支持选中复选列\n evnt.preventDefault(); // 在 v3.0 中废弃 type=selection\n\n if (selected.column.type === 'checkbox' || selected.column.type === 'selection') {\n _this19.handleToggleCheckRowEvent(selected.args, evnt);\n } else {\n _this19.triggerRadioRowEvent(evnt, selected.args);\n }\n } else if (isEnter && keyboardConfig.isEnter && (selected.row || actived.row || treeConfig && highlightCurrentRow && currentRow)) {\n // 如果是激活状态,退则出到下一行\n if (selected.row || actived.row) {\n _this19.moveSelected(selected.row ? selected.args : actived.args, isLeftArrow, isUpArrow, isRightArrow, true, evnt);\n } else if (treeConfig && highlightCurrentRow && currentRow) {\n // 如果是树形表格当前行回车移动到子节点\n var childrens = currentRow[treeOpts.children];\n\n if (childrens && childrens.length) {\n evnt.preventDefault();\n var targetRow = childrens[0];\n params = {\n $table: _this19,\n row: targetRow\n };\n\n _this19.setTreeExpansion(currentRow, true).then(function () {\n return _this19.scrollToRow(targetRow);\n }).then(function () {\n return _this19.triggerCurrentRowEvent(evnt, params);\n });\n }\n }\n } else if (operCtxMenu) {\n // 如果配置了右键菜单; 支持方向键操作、回车\n evnt.preventDefault();\n\n if (ctxMenuStore.showChild && _tools.UtilTools.hasChildrenList(ctxMenuStore.selected)) {\n _this19.moveCtxMenu(evnt, keyCode, ctxMenuStore, 'selectChild', 37, false, ctxMenuStore.selected.children);\n } else {\n _this19.moveCtxMenu(evnt, keyCode, ctxMenuStore, 'selected', 39, true, _this19.ctxMenuList);\n }\n } else if (isF2) {\n // 如果按下了 F2 键\n if (selected.row && selected.column) {\n evnt.preventDefault();\n\n _this19.handleActived(selected.args, evnt);\n }\n } else if (operArrow && keyboardConfig.isArrow) {\n // 如果按下了方向键\n if (selected.row && selected.column) {\n _this19.moveSelected(selected.args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt);\n } else if ((isUpArrow || isDwArrow) && highlightCurrentRow && currentRow) {\n // 当前行按键上下移动\n _this19.moveCurrentRow(isUpArrow, isDwArrow, evnt);\n }\n } else if (isTab && keyboardConfig.isTab) {\n // 如果按下了 Tab 键切换\n if (selected.row || selected.column) {\n _this19.moveTabSelected(selected.args, isShiftKey, evnt);\n } else if (actived.row || actived.column) {\n _this19.moveTabSelected(actived.args, isShiftKey, evnt);\n }\n } else if (isDel || (treeConfig && highlightCurrentRow && currentRow ? isBack && keyboardConfig.isArrow : isBack)) {\n // 如果是删除键\n if (keyboardConfig.isDel && (selected.row || selected.column)) {\n _tools.UtilTools.setCellValue(selected.row, selected.column, null);\n\n if (isBack) {\n _this19.handleActived(selected.args, evnt);\n }\n } else if (isBack && keyboardConfig.isArrow && treeConfig && highlightCurrentRow && currentRow) {\n // 如果树形表格回退键关闭当前行返回父节点\n var _XEUtils$findTree = _xeUtils.default.findTree(_this19.afterFullData, function (item) {\n return item === currentRow;\n }, treeOpts),\n parentRow = _XEUtils$findTree.parent;\n\n if (parentRow) {\n evnt.preventDefault();\n params = {\n $table: _this19,\n row: parentRow\n };\n\n _this19.setTreeExpansion(parentRow, false).then(function () {\n return _this19.scrollToRow(parentRow);\n }).then(function () {\n return _this19.triggerCurrentRowEvent(evnt, params);\n });\n }\n }\n } else if (keyboardConfig.isCut && isCtrlKey && (isA || isX || isC || isV)) {\n // 如果开启复制功能\n if (isA) {\n _this19.handleAllChecked(evnt);\n } else if (isX || isC) {\n _this19.handleCopyed(isX, evnt);\n } else {\n _this19.handlePaste(evnt);\n }\n } else if (keyboardConfig.isEdit && !isCtrlKey && (keyCode >= 48 && keyCode <= 57 || keyCode >= 65 && keyCode <= 90 || keyCode >= 96 && keyCode <= 111 || keyCode >= 186 && keyCode <= 192 || keyCode >= 219 && keyCode <= 222 || keyCode === 32)) {\n // 如果是按下非功能键之外允许直接编辑\n if (selected.column && selected.row && selected.column.editRender) {\n if (!keyboardConfig.editMethod || !(keyboardConfig.editMethod(selected.args, evnt) === false)) {\n _tools.UtilTools.setCellValue(selected.row, selected.column, null);\n\n _this19.handleActived(selected.args, evnt);\n }\n }\n }\n });\n }\n },\n handleGlobalResizeEvent: function handleGlobalResizeEvent() {\n this.closeMenu();\n this.recalculate();\n },\n handleTooltipLeaveEvent: function handleTooltipLeaveEvent(evnt) {\n var _this20 = this;\n\n var tooltipOpts = this.tooltipOpts;\n setTimeout(function () {\n if (!_this20.tooltipActive) {\n _this20.clostTooltip();\n }\n }, tooltipOpts.leaveDelay);\n },\n handleTargetEnterEvent: function handleTargetEnterEvent(evnt) {\n clearTimeout(this.tooltipTimeout);\n this.tooltipActive = true;\n this.clostTooltip();\n },\n handleTargetLeaveEvent: function handleTargetLeaveEvent(evnt) {\n var _this21 = this;\n\n var tooltipOpts = this.tooltipOpts;\n this.tooltipActive = false;\n\n if (tooltipOpts.enterable) {\n this.tooltipTimeout = setTimeout(function () {\n if (!_this21.$refs.tooltip.isHover) {\n _this21.clostTooltip();\n }\n }, tooltipOpts.leaveDelay);\n } else {\n this.clostTooltip();\n }\n },\n\n /**\n * 触发表头 tooltip 事件\n */\n triggerHeaderTooltipEvent: function triggerHeaderTooltipEvent(evnt, params) {\n var tooltipStore = this.tooltipStore;\n var column = params.column;\n this.handleTargetEnterEvent();\n\n if (tooltipStore.column !== column || !tooltipStore.visible) {\n // 在 v3.0 中废弃 label\n this.handleTooltip(evnt, column);\n }\n },\n\n /**\n * 触发表尾 tooltip 事件\n */\n triggerFooterTooltipEvent: function triggerFooterTooltipEvent(evnt, params) {\n var column = params.column;\n var tooltipStore = this.tooltipStore;\n this.handleTargetEnterEvent();\n\n if (tooltipStore.column !== column || !tooltipStore.visible) {\n this.handleTooltip(evnt, column);\n }\n },\n\n /**\n * 触发 tooltip 事件\n */\n triggerTooltipEvent: function triggerTooltipEvent(evnt, params) {\n var editConfig = this.editConfig,\n editOpts = this.editOpts,\n editStore = this.editStore,\n tooltipStore = this.tooltipStore;\n var actived = editStore.actived;\n var row = params.row,\n column = params.column;\n this.handleTargetEnterEvent();\n\n if (editConfig) {\n if (editOpts.mode === 'row' && actived.row === row || actived.row === row && actived.column === column) {\n return;\n }\n }\n\n if (tooltipStore.column !== column || tooltipStore.row !== row || !tooltipStore.visible) {\n this.handleTooltip(evnt, column, row);\n }\n },\n\n /**\n * 处理显示 tooltip\n * @param {Event} evnt 事件\n * @param {ColumnConfig} column 列配置\n * @param {Row} row 行对象\n */\n handleTooltip: function handleTooltip(evnt, column, row) {\n var cell = evnt.currentTarget;\n var tooltip = this.$refs.tooltip;\n var wrapperElem = cell.children[0];\n var content = cell.innerText;\n\n if (content && wrapperElem.scrollWidth > wrapperElem.clientWidth) {\n Object.assign(this.tooltipStore, {\n row: row,\n column: column,\n visible: true\n });\n\n if (tooltip) {\n tooltip.toVisible(cell, _tools.UtilTools.formatText(content));\n }\n }\n\n return this.$nextTick();\n },\n\n /**\n * 关闭 tooltip\n */\n clostTooltip: function clostTooltip() {\n var tooltip = this.$refs.tooltip;\n Object.assign(this.tooltipStore, {\n row: null,\n column: null,\n content: null,\n visible: false\n });\n\n if (tooltip) {\n tooltip.close();\n }\n\n return this.$nextTick();\n },\n\n /**\n * 处理默认勾选\n */\n handleDefaultSelectionChecked: function handleDefaultSelectionChecked() {\n var fullDataRowIdData = this.fullDataRowIdData,\n checkboxOpts = this.checkboxOpts;\n var checkAll = checkboxOpts.checkAll,\n checkRowKeys = checkboxOpts.checkRowKeys;\n\n if (checkAll) {\n this.setAllCheckboxRow(true);\n } else if (checkRowKeys) {\n var defSelection = [];\n checkRowKeys.forEach(function (rowid) {\n if (fullDataRowIdData[rowid]) {\n defSelection.push(fullDataRowIdData[rowid].row);\n }\n });\n this.setCheckboxRow(defSelection, true);\n }\n },\n // 在 v3.0 中废弃 setSelection\n setSelection: function setSelection(rows, value) {\n // UtilTools.warn('plx.error.delFunc', ['setSelection', 'setCheckboxRow'])\n return this.setCheckboxRow(rows, value);\n },\n\n /**\n * 用于多选行,设置行为选中状态,第二个参数为选中与否\n * @param {Array/Row} rows 行数据\n * @param {Boolean} value 是否选中\n */\n setCheckboxRow: function setCheckboxRow(rows, value) {\n var _this22 = this;\n\n if (rows && !_xeUtils.default.isArray(rows)) {\n rows = [rows];\n }\n\n rows.forEach(function (row) {\n return _this22.handleSelectRow({\n row: row\n }, !!value);\n });\n return this.$nextTick();\n },\n isCheckedByRow: function isCheckedByRow(row) {\n _tools.UtilTools.warn('plx.error.delFunc', ['isCheckedByRow', 'isCheckedByCheckboxRow']);\n\n return this.isCheckedByCheckboxRow(row);\n },\n isCheckedByCheckboxRow: function isCheckedByCheckboxRow(row) {\n var property = this.checkboxOpts.checkField;\n\n if (property) {\n return _xeUtils.default.get(row, property);\n }\n\n return this.selection.indexOf(row) > -1;\n },\n\n /**\n * 多选,行选中事件\n * value 选中true 不选false 不确定-1\n */\n handleSelectRow: function handleSelectRow(_ref3, value) {\n var _this23 = this;\n\n var row = _ref3.row;\n var selection = this.selection,\n afterFullData = this.afterFullData,\n treeConfig = this.treeConfig,\n treeOpts = this.treeOpts,\n treeIndeterminates = this.treeIndeterminates,\n checkboxOpts = this.checkboxOpts;\n var property = checkboxOpts.checkField,\n checkStrictly = checkboxOpts.checkStrictly,\n checkMethod = checkboxOpts.checkMethod;\n\n if (property) {\n if (treeConfig && !checkStrictly) {\n if (value === -1) {\n treeIndeterminates.push(row);\n\n _xeUtils.default.set(row, property, false);\n } else {\n // 更新子节点状态\n _xeUtils.default.eachTree([row], function (item, $rowIndex) {\n if (row === item || !checkMethod || checkMethod({\n row: item,\n $rowIndex: $rowIndex\n })) {\n _xeUtils.default.set(item, property, value);\n\n _this23.handleSelectReserveRow(row, value);\n }\n }, treeOpts);\n\n _xeUtils.default.remove(treeIndeterminates, function (item) {\n return item === row;\n });\n } // 如果存在父节点,更新父节点状态\n\n\n var matchObj = _xeUtils.default.findTree(afterFullData, function (item) {\n return item === row;\n }, treeOpts);\n\n if (matchObj && matchObj.parent) {\n var parentStatus;\n var vItems = checkMethod ? matchObj.items.filter(function (item, $rowIndex) {\n return checkMethod({\n row: item,\n $rowIndex: $rowIndex\n });\n }) : matchObj.items;\n\n var indeterminatesItem = _xeUtils.default.find(matchObj.items, function (item) {\n return treeIndeterminates.indexOf(item) > -1;\n });\n\n if (indeterminatesItem) {\n parentStatus = -1;\n } else {\n var selectItems = matchObj.items.filter(function (item) {\n return _xeUtils.default.get(item, property);\n });\n parentStatus = selectItems.filter(function (item) {\n return vItems.indexOf(item) > -1;\n }).length === vItems.length ? true : selectItems.length || value === -1 ? -1 : false;\n }\n\n return this.handleSelectRow({\n row: matchObj.parent\n }, parentStatus);\n }\n } else {\n _xeUtils.default.set(row, property, value);\n\n this.handleSelectReserveRow(row, value);\n }\n } else {\n if (treeConfig && !checkStrictly) {\n if (value === -1) {\n treeIndeterminates.push(row);\n\n _xeUtils.default.remove(selection, function (item) {\n return item === row;\n });\n } else {\n // 更新子节点状态\n _xeUtils.default.eachTree([row], function (item, $rowIndex) {\n if (row === item || !checkMethod || checkMethod({\n row: item,\n $rowIndex: $rowIndex\n })) {\n if (value) {\n selection.push(item);\n } else {\n _xeUtils.default.remove(selection, function (select) {\n return select === item;\n });\n }\n\n _this23.handleSelectReserveRow(row, value);\n }\n }, treeOpts);\n\n _xeUtils.default.remove(treeIndeterminates, function (item) {\n return item === row;\n });\n } // 如果存在父节点,更新父节点状态\n\n\n var _matchObj = _xeUtils.default.findTree(afterFullData, function (item) {\n return item === row;\n }, treeOpts);\n\n if (_matchObj && _matchObj.parent) {\n var _parentStatus;\n\n var _vItems = checkMethod ? _matchObj.items.filter(function (item, $rowIndex) {\n return checkMethod({\n row: item,\n $rowIndex: $rowIndex\n });\n }) : _matchObj.items;\n\n var _indeterminatesItem = _xeUtils.default.find(_matchObj.items, function (item) {\n return treeIndeterminates.indexOf(item) > -1;\n });\n\n if (_indeterminatesItem) {\n _parentStatus = -1;\n } else {\n var _selectItems = _matchObj.items.filter(function (item) {\n return selection.indexOf(item) > -1;\n });\n\n _parentStatus = _selectItems.filter(function (item) {\n return _vItems.indexOf(item) > -1;\n }).length === _vItems.length ? true : _selectItems.length || value === -1 ? -1 : false;\n }\n\n return this.handleSelectRow({\n row: _matchObj.parent\n }, _parentStatus);\n }\n } else {\n if (value) {\n if (selection.indexOf(row) === -1) {\n selection.push(row);\n }\n } else {\n _xeUtils.default.remove(selection, function (item) {\n return item === row;\n });\n }\n\n this.handleSelectReserveRow(row, value);\n }\n }\n\n this.checkSelectionStatus();\n },\n handleToggleCheckRowEvent: function handleToggleCheckRowEvent(params, evnt) {\n var selection = this.selection,\n checkboxOpts = this.checkboxOpts;\n var property = checkboxOpts.checkField;\n var row = params.row;\n var value = property ? !_xeUtils.default.get(row, property) : selection.indexOf(row) === -1;\n\n if (evnt) {\n this.triggerCheckRowEvent(evnt, params, value);\n } else {\n this.handleSelectRow(params, value);\n }\n },\n triggerCheckRowEvent: function triggerCheckRowEvent(evnt, params, value) {\n var checkMethod = this.checkboxOpts.checkMethod;\n\n if (!checkMethod || checkMethod({\n row: params.row,\n rowIndex: params.rowIndex,\n $rowIndex: params.$rowIndex\n })) {\n this.handleSelectRow(params, value);\n\n _tools.UtilTools.emitEvent(this, 'select-change', [Object.assign({\n selection: this.getCheckboxRecords(),\n reserves: this.getCheckboxReserveRecords(),\n checked: value,\n $table: this\n }, params), evnt]);\n }\n },\n // 在 v3.0 中废弃 toggleRowSelection\n toggleRowSelection: function toggleRowSelection(row) {\n // UtilTools.warn('plx.error.delFunc', ['toggleRowSelection', 'toggleCheckboxRow'])\n return this.toggleCheckboxRow(row);\n },\n\n /**\n * 多选,切换某一行的选中状态\n */\n toggleCheckboxRow: function toggleCheckboxRow(row) {\n this.handleToggleCheckRowEvent({\n row: row\n });\n return this.$nextTick();\n },\n // 在 v3.0 中废弃 setAllSelection\n setAllSelection: function setAllSelection(value) {\n // UtilTools.warn('plx.error.delFunc', ['setAllSelection', 'setAllCheckboxRow'])\n return this.setAllCheckboxRow(value);\n },\n\n /**\n * 用于多选行,设置所有行的选中状态\n * @param {Boolean} value 是否选中\n */\n setAllCheckboxRow: function setAllCheckboxRow(value) {\n var _this24 = this;\n\n var afterFullData = this.afterFullData,\n treeConfig = this.treeConfig,\n treeOpts = this.treeOpts,\n selection = this.selection,\n selectReserveRowMap = this.selectReserveRowMap,\n checkboxOpts = this.checkboxOpts;\n var property = checkboxOpts.checkField,\n reserve = checkboxOpts.reserve,\n checkStrictly = checkboxOpts.checkStrictly,\n checkMethod = checkboxOpts.checkMethod;\n var selectRows = [];\n var beforeSelection = treeConfig ? [] : selection.filter(function (row) {\n return afterFullData.indexOf(row) === -1;\n });\n\n if (!checkStrictly) {\n if (property) {\n var indexKey = \"\".concat(treeConfig ? '$' : '', \"rowIndex\");\n\n var setValFn = function setValFn(row, rowIndex) {\n var _checkMethod;\n\n if (!checkMethod || checkMethod((_checkMethod = {\n row: row\n }, _defineProperty(_checkMethod, indexKey, rowIndex), _defineProperty(_checkMethod, \"$rowIndex\", rowIndex), _checkMethod))) {\n _xeUtils.default.set(row, property, value);\n }\n };\n\n var clearValFn = function clearValFn(row, rowIndex) {\n var _checkMethod2;\n\n if (!checkMethod || (checkMethod((_checkMethod2 = {\n row: row\n }, _defineProperty(_checkMethod2, indexKey, rowIndex), _defineProperty(_checkMethod2, \"$rowIndex\", rowIndex), _checkMethod2)) ? 0 : selection.indexOf(row) > -1)) {\n _xeUtils.default.set(row, property, value);\n }\n };\n\n if (treeConfig) {\n _xeUtils.default.eachTree(afterFullData, value ? setValFn : clearValFn, treeOpts);\n } else {\n afterFullData.forEach(value ? setValFn : clearValFn);\n }\n } else {\n if (treeConfig) {\n if (value) {\n _xeUtils.default.eachTree(afterFullData, function (row, $rowIndex) {\n if (!checkMethod || checkMethod({\n row: row,\n $rowIndex: $rowIndex\n })) {\n selectRows.push(row);\n }\n }, treeOpts);\n } else {\n if (checkMethod) {\n _xeUtils.default.eachTree(afterFullData, function (row, $rowIndex) {\n if (checkMethod({\n row: row,\n $rowIndex: $rowIndex\n }) ? 0 : selection.indexOf(row) > -1) {\n selectRows.push(row);\n }\n }, treeOpts);\n }\n }\n } else {\n if (value) {\n if (checkMethod) {\n selectRows = afterFullData.filter(function (row, rowIndex) {\n return selection.indexOf(row) > -1 || checkMethod({\n row: row,\n rowIndex: rowIndex,\n $rowIndex: rowIndex\n });\n });\n } else {\n selectRows = afterFullData.slice(0);\n }\n } else {\n if (checkMethod) {\n selectRows = afterFullData.filter(function (row, rowIndex) {\n return checkMethod({\n row: row,\n rowIndex: rowIndex,\n $rowIndex: rowIndex\n }) ? 0 : selection.indexOf(row) > -1;\n });\n }\n }\n }\n }\n\n if (reserve) {\n if (value) {\n selectRows.forEach(function (row) {\n selectReserveRowMap[_tools.UtilTools.getRowid(_this24, row)] = row;\n });\n } else {\n afterFullData.forEach(function (row) {\n var rowid = _tools.UtilTools.getRowid(_this24, row);\n\n if (selectReserveRowMap[rowid]) {\n delete selectReserveRowMap[rowid];\n }\n });\n }\n }\n\n this.selection = beforeSelection.concat(selectRows);\n }\n\n this.treeIndeterminates = [];\n this.checkSelectionStatus();\n },\n checkSelectionStatus: function checkSelectionStatus() {\n var afterFullData = this.afterFullData,\n selection = this.selection,\n treeIndeterminates = this.treeIndeterminates,\n checkboxOpts = this.checkboxOpts;\n var property = checkboxOpts.checkField,\n checkStrictly = checkboxOpts.checkStrictly,\n checkMethod = checkboxOpts.checkMethod;\n\n if (!checkStrictly) {\n if (property) {\n this.isAllSelected = afterFullData.length && afterFullData.every(checkMethod ? function (row, rowIndex) {\n return !checkMethod({\n row: row,\n rowIndex: rowIndex,\n $rowIndex: rowIndex\n }) || _xeUtils.default.get(row, property);\n } : function (row) {\n return _xeUtils.default.get(row, property);\n });\n this.isIndeterminate = !this.isAllSelected && afterFullData.some(function (row) {\n return _xeUtils.default.get(row, property) || treeIndeterminates.indexOf(row) > -1;\n });\n } else {\n this.isAllSelected = afterFullData.length && afterFullData.every(checkMethod ? function (row, rowIndex) {\n return !checkMethod({\n row: row,\n rowIndex: rowIndex,\n $rowIndex: rowIndex\n }) || selection.indexOf(row) > -1;\n } : function (row) {\n return selection.indexOf(row) > -1;\n });\n this.isIndeterminate = !this.isAllSelected && afterFullData.some(function (row) {\n return treeIndeterminates.indexOf(row) > -1 || selection.indexOf(row) > -1;\n });\n }\n }\n },\n // 还原展开、选中等相关状态\n handleReserveStatus: function handleReserveStatus() {\n var rowId = this.rowId,\n treeConfig = this.treeConfig,\n fullDataRowIdData = this.fullDataRowIdData,\n selectReserveRowMap = this.selectReserveRowMap,\n checkboxOpts = this.checkboxOpts;\n var reserveSelection = [];\n var reserveRowExpandeds = [];\n var reserveTreeExpandeds = [];\n var reserveTreeIndeterminates = []; // 复选框\n\n if (rowId) {\n this.handleReserveByRowid(this.selection, reserveSelection);\n }\n\n if (checkboxOpts.reserve) {\n Object.keys(selectReserveRowMap).forEach(function (rowid) {\n if (fullDataRowIdData[rowid] && reserveSelection.indexOf(fullDataRowIdData[rowid].row) === -1) {\n reserveSelection.push(fullDataRowIdData[rowid].row);\n }\n });\n }\n\n this.selection = reserveSelection; // 行展开\n\n if (rowId) {\n this.handleReserveByRowid(this.rowExpandeds, reserveRowExpandeds);\n }\n\n this.rowExpandeds = reserveRowExpandeds; // 树展开\n\n if (rowId && treeConfig) {\n this.handleReserveByRowid(this.treeIndeterminates, reserveTreeIndeterminates);\n this.handleReserveByRowid(this.treeExpandeds, reserveTreeExpandeds);\n }\n\n this.treeExpandeds = reserveTreeExpandeds;\n this.treeIndeterminates = reserveTreeIndeterminates;\n },\n handleReserveByRowid: function handleReserveByRowid(list, rest) {\n var _this25 = this;\n\n var fullDataRowIdData = this.fullDataRowIdData;\n list.forEach(function (row) {\n var rowid = _tools.UtilTools.getRowid(_this25, row);\n\n if (fullDataRowIdData[rowid]) {\n rest.push(fullDataRowIdData[rowid].row);\n }\n });\n },\n // 在 v3.0 中废弃 getSelectReserveRecords\n getSelectReserveRecords: function getSelectReserveRecords() {\n // UtilTools.warn('plx.error.delFunc', ['getSelectReserveRecords', 'getCheckboxReserveRecords'])\n return this.getCheckboxReserveRecords();\n },\n\n /**\n * 获取保留选中的行\n */\n getCheckboxReserveRecords: function getCheckboxReserveRecords() {\n var fullDataRowIdData = this.fullDataRowIdData,\n selectReserveRowMap = this.selectReserveRowMap,\n checkboxOpts = this.checkboxOpts;\n var reserveSelection = [];\n\n if (checkboxOpts.reserve) {\n Object.keys(selectReserveRowMap).forEach(function (rowid, row) {\n if (!fullDataRowIdData[rowid]) {\n reserveSelection.push(selectReserveRowMap[rowid]);\n }\n });\n }\n\n return reserveSelection;\n },\n // 在 v3.0 中废弃 clearSelectReserve\n clearSelectReserve: function clearSelectReserve() {\n // UtilTools.warn('plx.error.delFunc', ['clearSelectReserve', 'clearCheckboxReserve'])\n return this.clearCheckboxReserve();\n },\n clearCheckboxReserve: function clearCheckboxReserve() {\n this.selectReserveRowMap = {};\n return this.$nextTick();\n },\n handleSelectReserveRow: function handleSelectReserveRow(row, checked) {\n var selectReserveRowMap = this.selectReserveRowMap,\n checkboxOpts = this.checkboxOpts;\n var reserve = checkboxOpts.reserve;\n\n if (reserve) {\n var rowid = _tools.UtilTools.getRowid(this, row);\n\n if (checked) {\n selectReserveRowMap[rowid] = row;\n } else if (selectReserveRowMap[rowid]) {\n delete selectReserveRowMap[rowid];\n }\n }\n },\n\n /**\n * 多选,选中所有事件\n */\n triggerCheckAllEvent: function triggerCheckAllEvent(evnt, value) {\n this.setAllCheckboxRow(value);\n\n _tools.UtilTools.emitEvent(this, 'select-all', [{\n selection: this.getCheckboxRecords(),\n reserves: this.getCheckboxReserveRecords(),\n checked: value,\n $table: this\n }, evnt]);\n },\n // 在 v3.0 中废弃 toggleAllSelection\n toggleAllSelection: function toggleAllSelection() {\n // UtilTools.warn('plx.error.delFunc', ['toggleAllSelection', 'toggleAllCheckboxRow'])\n return this.toggleAllCheckboxRow();\n },\n\n /**\n * 多选,切换所有行的选中状态\n */\n toggleAllCheckboxRow: function toggleAllCheckboxRow() {\n this.triggerCheckAllEvent(null, !this.isAllSelected);\n return this.$nextTick();\n },\n // 在 v3.0 中废弃 clearSelection\n clearSelection: function clearSelection() {\n // UtilTools.warn('plx.error.delFunc', ['clearSelection', 'clearCheckboxRow'])\n return this.clearCheckboxRow();\n },\n\n /**\n * 用于多选行,手动清空用户的选择\n */\n clearCheckboxRow: function clearCheckboxRow() {\n var tableFullData = this.tableFullData,\n treeConfig = this.treeConfig,\n treeOpts = this.treeOpts,\n checkboxOpts = this.checkboxOpts;\n var property = checkboxOpts.checkField;\n\n if (property) {\n if (treeConfig) {\n _xeUtils.default.eachTree(tableFullData, function (item) {\n return _xeUtils.default.set(item, property, false);\n }, treeOpts);\n } else {\n tableFullData.forEach(function (item) {\n return _xeUtils.default.set(item, property, false);\n });\n }\n }\n\n this.isAllSelected = false;\n this.isIndeterminate = false;\n this.selection = [];\n this.treeIndeterminates = [];\n return this.$nextTick();\n },\n\n /**\n * 处理单选框默认勾选\n */\n handleDefaultRadioChecked: function handleDefaultRadioChecked() {\n var radioOpts = this.radioOpts,\n fullDataRowIdData = this.fullDataRowIdData;\n var rowid = radioOpts.checkRowKey;\n\n if (rowid && fullDataRowIdData[rowid]) {\n this.setRadioRow(fullDataRowIdData[rowid].row);\n }\n },\n\n /**\n * 单选,行选中事件\n */\n triggerRadioRowEvent: function triggerRadioRowEvent(evnt, params) {\n var radioOpts = this.radioOpts;\n var checkMethod = radioOpts.checkMethod;\n\n if (!checkMethod || checkMethod({\n row: params.row,\n rowIndex: params.rowIndex,\n $rowIndex: params.$rowIndex\n })) {\n var isChange = this.selectRow !== params.row;\n this.setRadioRow(params.row);\n\n if (isChange) {\n _tools.UtilTools.emitEvent(this, 'radio-change', [params, evnt]);\n }\n }\n },\n triggerCurrentRowEvent: function triggerCurrentRowEvent(evnt, params) {\n var isChange = this.currentRow !== params.row;\n this.setCurrentRow(params.row);\n\n if (isChange) {\n _tools.UtilTools.emitEvent(this, 'current-change', [params, evnt]);\n }\n },\n\n /**\n * 用于当前行,设置某一行为高亮状态\n * @param {Row} row 行对象\n */\n setCurrentRow: function setCurrentRow(row) {\n this.clearCurrentRow();\n this.clearCurrentColumn();\n this.currentRow = row;\n\n if (this.highlightCurrentRow) {\n _xeUtils.default.arrayEach(this.$el.querySelectorAll(\"[data-rowid=\\\"\".concat(_tools.UtilTools.getRowid(this, row), \"\\\"]\")), function (elem) {\n return _tools.DomTools.addClass(elem, 'row--current');\n });\n }\n\n return this.$nextTick();\n },\n isCheckedByRadioRow: function isCheckedByRadioRow(row) {\n return this.selectRow === row;\n },\n\n /**\n * 用于单选行,设置某一行为选中状态\n * @param {Row} row 行对象\n */\n setRadioRow: function setRadioRow(row) {\n if (this.selectRow !== row) {\n this.clearRadioRow();\n }\n\n this.selectRow = row;\n return this.$nextTick();\n },\n\n /**\n * 用于当前行,手动清空当前高亮的状态\n */\n clearCurrentRow: function clearCurrentRow() {\n this.currentRow = null;\n this.hoverRow = null;\n\n _xeUtils.default.arrayEach(this.$el.querySelectorAll('.row--current'), function (elem) {\n return _tools.DomTools.removeClass(elem, 'row--current');\n });\n\n return this.$nextTick();\n },\n\n /**\n * 用于单选行,手动清空用户的选择\n */\n clearRadioRow: function clearRadioRow() {\n this.selectRow = null;\n return this.$nextTick();\n },\n // 在 v3.0 中废弃 getCurrentRow\n getCurrentRow: function getCurrentRow() {\n // UtilTools.warn('plx.error.delFunc', ['getCurrentRow', 'getCurrentRecord'])\n return this.getCurrentRecord();\n },\n\n /**\n * 用于当前行,获取当前行的数据\n */\n getCurrentRecord: function getCurrentRecord() {\n return this.currentRow;\n },\n // 在 v3.0 中废弃 getRadioRow\n getRadioRow: function getRadioRow() {\n // UtilTools.warn('plx.error.delFunc', ['getRadioRow', 'getRadioRecord'])\n return this.getRadioRecord();\n },\n\n /**\n * 用于单选行,获取当已选中的数据\n */\n getRadioRecord: function getRadioRecord() {\n return this.selectRow;\n },\n\n /**\n * 行 hover 事件\n */\n triggerHoverEvent: function triggerHoverEvent(evnt, _ref4) {\n var row = _ref4.row;\n this.setHoverRow(row);\n },\n setHoverRow: function setHoverRow(row) {\n var rowid = _tools.UtilTools.getRowid(this, row);\n\n this.clearHoverRow();\n\n _xeUtils.default.arrayEach(this.$el.querySelectorAll(\"[data-rowid=\\\"\".concat(rowid, \"\\\"]\")), function (elem) {\n return _tools.DomTools.addClass(elem, 'row--hover');\n });\n\n this.hoverRow = row;\n },\n clearHoverRow: function clearHoverRow() {\n _xeUtils.default.arrayEach(this.$el.querySelectorAll('.plx-body--row.row--hover'), function (elem) {\n return _tools.DomTools.removeClass(elem, 'row--hover');\n });\n\n this.hoverRow = null;\n },\n triggerHeaderCellClickEvent: function triggerHeaderCellClickEvent(evnt, params) {\n var _lastResizeTime = this._lastResizeTime,\n sortOpts = this.sortOpts;\n var column = params.column,\n cell = params.cell;\n\n var triggerResizable = _lastResizeTime && _lastResizeTime > Date.now() - 300;\n\n var triggerSort = _tools.DomTools.getEventTargetNode(evnt, cell, 'plx-sort-wrapper').flag;\n\n var triggerFilter = _tools.DomTools.getEventTargetNode(evnt, cell, 'plx-filter-wrapper').flag;\n\n if (sortOpts.trigger === 'cell' && !(triggerResizable || triggerSort || triggerFilter)) {\n this.triggerSortEvent(evnt, column, column.order === 'desc' ? 'asc' : 'desc');\n }\n\n _tools.UtilTools.emitEvent(this, 'header-cell-click', [Object.assign({\n triggerResizable: triggerResizable,\n triggerSort: triggerSort,\n triggerFilter: triggerFilter\n }, params), evnt]);\n\n if (this.highlightCurrentColumn) {\n return this.setCurrentColumn(column, true);\n }\n\n return this.$nextTick();\n },\n\n /**\n * 用于当前列,设置某列行为高亮状态\n * @param {ColumnConfig} column 列配置\n */\n setCurrentColumn: function setCurrentColumn(column) {\n this.clearCurrentRow();\n this.clearCurrentColumn();\n this.currentColumn = column;\n\n _xeUtils.default.arrayEach(this.$el.querySelectorAll(\".\".concat(column.id)), function (elem) {\n return _tools.DomTools.addClass(elem, 'col--current');\n });\n\n return this.$nextTick();\n },\n\n /**\n * 用于当前列,手动清空当前高亮的状态\n */\n clearCurrentColumn: function clearCurrentColumn() {\n this.currentColumn = null;\n\n _xeUtils.default.arrayEach(this.$el.querySelectorAll('.col--current'), function (elem) {\n return _tools.DomTools.removeClass(elem, 'col--current');\n });\n\n return this.$nextTick();\n },\n checkValidate: function checkValidate(type) {\n if (_vXETable.default._valid) {\n return this.triggerValidate(type);\n }\n\n return this.$nextTick();\n },\n\n /**\n * 当单元格发生改变时\n * 如果存在规则,则校验\n */\n handleChangeCell: function handleChangeCell(evnt, params) {\n var _this26 = this;\n\n this.checkValidate('blur').catch(function (e) {\n return e;\n }).then(function () {\n _this26.handleActived(params, evnt).then(function () {\n return _this26.checkValidate('change');\n }).catch(function (e) {\n return e;\n });\n });\n },\n\n /**\n * 列点击事件\n * 如果是单击模式,则激活为编辑状态\n * 如果是双击模式,则单击后选中状态\n */\n triggerCellClickEvent: function triggerCellClickEvent(evnt, params) {\n var $el = this.$el,\n highlightCurrentRow = this.highlightCurrentRow,\n editStore = this.editStore,\n radioOpts = this.radioOpts,\n expandOpts = this.expandOpts,\n treeOpts = this.treeOpts,\n editConfig = this.editConfig,\n editOpts = this.editOpts,\n checkboxOpts = this.checkboxOpts,\n mouseConfig = this.mouseConfig,\n mouseOpts = this.mouseOpts;\n var actived = editStore.actived;\n var row = params.row,\n column = params.column; // 在 v3.0 中废弃 mouse-config.checked\n\n var isMouseChecked = mouseConfig && (mouseOpts.range || mouseOpts.checked); // 解决 checkbox 重复触发两次问题\n\n if (isTargetRadioOrCheckbox(evnt, column, 'radio') || isTargetRadioOrCheckbox(evnt, column, 'checkbox', 'checkbox') || isTargetRadioOrCheckbox(evnt, column, 'selection', 'checkbox')) {\n // 在 v3.0 中废弃 type=selection\n return;\n } // 如果是展开行\n\n\n if ((expandOpts.trigger === 'row' || column.type === 'expand' && expandOpts.trigger === 'cell') && !_tools.DomTools.getEventTargetNode(evnt, $el, 'plx-table--expanded').flag) {\n this.triggerRowExpandEvent(evnt, params);\n } // 如果是树形表格\n\n\n if (treeOpts.trigger === 'row' || column.treeNode && treeOpts.trigger === 'cell') {\n this.triggerTreeExpandEvent(evnt, params);\n }\n\n if ((!column.treeNode || !_tools.DomTools.getEventTargetNode(evnt, $el, 'plx-tree--btn-wrapper').flag) && (column.type !== 'expand' || !_tools.DomTools.getEventTargetNode(evnt, $el, 'plx-table--expanded').flag)) {\n // 如果是高亮行\n if (highlightCurrentRow) {\n if (radioOpts.trigger === 'row' || !_tools.DomTools.getEventTargetNode(evnt, $el, 'plx-cell--checkbox').flag && !_tools.DomTools.getEventTargetNode(evnt, $el, 'plx-cell--radio').flag) {\n this.triggerCurrentRowEvent(evnt, params);\n }\n } // 如果是单选框\n\n\n if ((radioOpts.trigger === 'row' || column.type === 'radio' && radioOpts.trigger === 'cell') && !_tools.DomTools.getEventTargetNode(evnt, $el, 'plx-cell--radio').flag) {\n this.triggerRadioRowEvent(evnt, params);\n } // 如果是复选框\n\n\n if ((checkboxOpts.trigger === 'row' || (column.type === 'checkbox' || column.type === 'selection') && checkboxOpts.trigger === 'cell') && !_tools.DomTools.getEventTargetNode(evnt, params.cell, 'plx-cell--checkbox').flag) {\n // 在 v3.0 中废弃 type=selection\n this.handleToggleCheckRowEvent(params, evnt);\n } // 如果设置了单元格选中功能,则不会使用点击事件去处理(只能支持双击模式)\n\n\n if (!isMouseChecked) {\n if (editConfig) {\n if (editOpts.trigger === 'manual') {\n if (actived.args && actived.row === row && column !== actived.column) {\n this.handleChangeCell(evnt, params);\n }\n } else if (!actived.args || row !== actived.row || column !== actived.column) {\n if (editOpts.trigger === 'click') {\n this.handleChangeCell(evnt, params);\n } else if (editOpts.trigger === 'dblclick') {\n if (editOpts.mode === 'row' && actived.row === row) {\n this.handleChangeCell(evnt, params);\n }\n }\n }\n }\n }\n }\n\n _tools.UtilTools.emitEvent(this, 'cell-click', [params, evnt]);\n },\n\n /**\n * 列双击点击事件\n * 如果是双击模式,则激活为编辑状态\n */\n triggerCellDBLClickEvent: function triggerCellDBLClickEvent(evnt, params) {\n var _this27 = this;\n\n var editStore = this.editStore,\n editConfig = this.editConfig,\n editOpts = this.editOpts;\n var actived = editStore.actived;\n\n if (editConfig && editOpts.trigger === 'dblclick') {\n if (!actived.args || evnt.currentTarget !== actived.args.cell) {\n if (editOpts.mode === 'row') {\n this.checkValidate('blur').catch(function (e) {\n return e;\n }).then(function () {\n _this27.handleActived(params, evnt).then(function () {\n return _this27.checkValidate('change');\n }).catch(function (e) {\n return e;\n });\n });\n } else if (editOpts.mode === 'cell') {\n this.handleActived(params, evnt).then(function () {\n return _this27.checkValidate('change');\n }).catch(function (e) {\n return e;\n });\n }\n }\n }\n\n _tools.UtilTools.emitEvent(this, 'cell-dblclick', [params, evnt]);\n },\n handleDefaultSort: function handleDefaultSort() {\n var defaultSort = this.sortOpts.defaultSort;\n\n if (defaultSort) {\n var field = defaultSort.field,\n order = defaultSort.order;\n\n if (field && order) {\n var column = _xeUtils.default.find(this.visibleColumn, function (item) {\n return item.property === field;\n });\n\n if (column && !column.order) {\n this.sort(field, order);\n }\n }\n }\n },\n\n /**\n * 点击排序事件\n */\n triggerSortEvent: function triggerSortEvent(evnt, column, order) {\n var property = column.property;\n\n if (column.sortable || column.remoteSort) {\n var evntParams = {\n column: column,\n property: property,\n field: property,\n prop: property,\n order: order,\n $table: this\n };\n\n if (column.order === order) {\n evntParams.order = null;\n this.clearSort(column.property);\n } else {\n this.sort(property, order);\n }\n\n _tools.UtilTools.emitEvent(this, 'sort-change', [evntParams, evnt]);\n }\n },\n sort: function sort(field, order) {\n var visibleColumn = this.visibleColumn,\n tableFullColumn = this.tableFullColumn,\n remoteSort = this.remoteSort,\n sortOpts = this.sortOpts;\n\n var column = _xeUtils.default.find(visibleColumn, function (item) {\n return item.property === field;\n });\n\n if (column) {\n var isRemote = _xeUtils.default.isBoolean(column.remoteSort) ? column.remoteSort : sortOpts.remote || remoteSort;\n\n if (column.sortable || column.remoteSort) {\n if (!order) {\n order = column.order === 'desc' ? 'asc' : 'desc';\n }\n\n if (column.order !== order) {\n tableFullColumn.forEach(function (column) {\n column.order = null;\n });\n column.order = order; // 如果是服务端排序,则跳过本地排序处理\n\n if (!isRemote) {\n this.handleTableData(true);\n }\n }\n\n return this.$nextTick().then(this.updateStyle);\n }\n }\n\n return this.$nextTick();\n },\n\n /**\n * 手动清空排序条件,数据会恢复成未排序的状态\n */\n clearSort: function clearSort() {\n this.tableFullColumn.forEach(function (column) {\n column.order = null;\n });\n return this.handleTableData(true);\n },\n getSortColumn: function getSortColumn() {\n return this.visibleColumn.find(function (column) {\n return column.sortable && column.order;\n });\n },\n\n /**\n * 关闭筛选\n * @param {Event} evnt 事件\n */\n closeFilter: function closeFilter(evnt) {\n Object.assign(this.filterStore, {\n isAllSelected: false,\n isIndeterminate: false,\n options: [],\n visible: false\n });\n return this.$nextTick();\n },\n\n /**\n * 判断指定列是否为筛选状态,如果为空则判断所有列\n * @param {String} field 字段名\n */\n isFilter: function isFilter(field) {\n if (field) {\n var column = this.getColumnByField(field);\n return column.filters && column.filters.some(function (option) {\n return option.checked;\n });\n }\n\n return this.visibleColumn.some(function (column) {\n return column.filters && column.filters.some(function (option) {\n return option.checked;\n });\n });\n },\n\n /**\n * 判断展开行是否懒加载完成\n * @param {Row} row 行对象\n */\n isRowExpandLoaded: function isRowExpandLoaded(row) {\n var rest = this.fullAllDataRowMap.get(row);\n return rest && rest.expandLoaded;\n },\n clearRowExpandLoaded: function clearRowExpandLoaded(row) {\n var expandOpts = this.expandOpts,\n expandLazyLoadeds = this.expandLazyLoadeds,\n fullAllDataRowMap = this.fullAllDataRowMap;\n var lazy = expandOpts.lazy;\n var rest = fullAllDataRowMap.get(row);\n\n if (lazy && rest) {\n rest.expandLoaded = false;\n\n _xeUtils.default.remove(expandLazyLoadeds, function (item) {\n return row === item;\n });\n }\n\n return this.$nextTick();\n },\n\n /**\n * 重新加载展开行的内容\n * @param {Row} row 行对象\n */\n reloadExpandContent: function reloadExpandContent(row) {\n var _this28 = this;\n\n var expandOpts = this.expandOpts,\n expandLazyLoadeds = this.expandLazyLoadeds;\n var lazy = expandOpts.lazy;\n\n if (lazy && expandLazyLoadeds.indexOf(row) === -1) {\n this.clearRowExpandLoaded(row).then(function () {\n return _this28.handleAsyncRowExpand(row);\n });\n }\n\n return this.$nextTick();\n },\n\n /**\n * 展开行事件\n */\n triggerRowExpandEvent: function triggerRowExpandEvent(evnt, params) {\n var $listeners = this.$listeners,\n expandOpts = this.expandOpts,\n expandLazyLoadeds = this.expandLazyLoadeds;\n var row = params.row;\n var lazy = expandOpts.lazy;\n\n if (!lazy || expandLazyLoadeds.indexOf(row) === -1) {\n var expanded = !this.isExpandByRow(row);\n this.setRowExpansion(row, expanded);\n\n if ($listeners['toggle-expand-change']) {\n _tools.UtilTools.warn('plx.error.delEvent', ['toggle-expand-change', 'toggle-row-expand']);\n\n _tools.UtilTools.emitEvent(this, 'toggle-expand-change', [{\n expanded: expanded,\n row: row,\n rowIndex: this.getRowIndex(row),\n $table: this\n }, evnt]);\n } else {\n _tools.UtilTools.emitEvent(this, 'toggle-row-expand', [{\n expanded: expanded,\n row: row,\n rowIndex: this.getRowIndex(row),\n $table: this\n }, evnt]);\n }\n }\n },\n\n /**\n * 切换展开行\n */\n toggleRowExpansion: function toggleRowExpansion(row) {\n return this.setRowExpansion(row, !this.isExpandByRow(row));\n },\n\n /**\n * 处理默认展开行\n */\n handleDefaultRowExpand: function handleDefaultRowExpand() {\n var expandOpts = this.expandOpts,\n fullDataRowIdData = this.fullDataRowIdData;\n var expandAll = expandOpts.expandAll,\n expandRowKeys = expandOpts.expandRowKeys;\n\n if (expandAll) {\n this.setAllRowExpansion(true);\n } else if (expandRowKeys) {\n var defExpandeds = [];\n expandRowKeys.forEach(function (rowid) {\n if (fullDataRowIdData[rowid]) {\n defExpandeds.push(fullDataRowIdData[rowid].row);\n }\n });\n this.setRowExpansion(defExpandeds, true);\n }\n },\n\n /**\n * 设置所有行的展开与否\n * @param {Boolean} expanded 是否展开\n */\n setAllRowExpansion: function setAllRowExpansion(expanded) {\n if (this.expandOpts.lazy) {\n return this.setRowExpansion(this.tableData, true);\n }\n\n this.rowExpandeds = expanded ? this.tableFullData.slice(0) : [];\n return this.$nextTick().then(this.recalculate);\n },\n handleAsyncRowExpand: function handleAsyncRowExpand(row) {\n var _this29 = this;\n\n var fullAllDataRowMap = this.fullAllDataRowMap,\n rowExpandeds = this.rowExpandeds,\n expandLazyLoadeds = this.expandLazyLoadeds,\n expandOpts = this.expandOpts;\n var loadMethod = expandOpts.loadMethod;\n var rest = fullAllDataRowMap.get(row);\n return new Promise(function (resolve) {\n expandLazyLoadeds.push(row);\n loadMethod({\n $table: _this29,\n row: row\n }).catch(function (e) {\n return e;\n }).then(function () {\n rest.expandLoaded = true;\n\n _xeUtils.default.remove(expandLazyLoadeds, function (item) {\n return item === row;\n });\n\n rowExpandeds.push(row);\n resolve(_this29.$nextTick().then(_this29.recalculate));\n });\n });\n },\n\n /**\n * 设置展开行,二个参数设置这一行展开与否\n * 支持单行\n * 支持多行\n * @param {Array/Row} rows 行数据\n * @param {Boolean} expanded 是否展开\n */\n setRowExpansion: function setRowExpansion(rows, expanded) {\n var _this30 = this;\n\n var fullAllDataRowMap = this.fullAllDataRowMap,\n rowExpandeds = this.rowExpandeds,\n expandLazyLoadeds = this.expandLazyLoadeds,\n expandOpts = this.expandOpts;\n var lazy = expandOpts.lazy,\n accordion = expandOpts.accordion;\n var result = [];\n\n if (rows) {\n if (!_xeUtils.default.isArray(rows)) {\n rows = [rows];\n }\n\n if (accordion) {\n // 只能同时展开一个\n rowExpandeds = [];\n rows = rows.slice(rows.length - 1, rows.length);\n }\n\n if (expanded) {\n rows.forEach(function (row) {\n if (rowExpandeds.indexOf(row) === -1) {\n var rest = fullAllDataRowMap.get(row);\n var isLoad = lazy && !rest.expandLoaded && expandLazyLoadeds.indexOf(row) === -1;\n\n if (isLoad) {\n result.push(_this30.handleAsyncRowExpand(row));\n } else {\n rowExpandeds.push(row);\n }\n }\n });\n } else {\n _xeUtils.default.remove(rowExpandeds, function (row) {\n return rows.indexOf(row) > -1;\n });\n }\n }\n\n this.rowExpandeds = rowExpandeds;\n return Promise.all(result).then(this.recalculate);\n },\n // 在 v3.0 中废弃 getRecords\n hasRowExpand: function hasRowExpand(row) {\n _tools.UtilTools.warn('plx.error.delFunc', ['hasRowExpand', 'isExpandByRow']);\n\n return this.isExpandByRow(row);\n },\n\n /**\n * 判断行是否为展开状态\n * @param {Row} row 行对象\n */\n isExpandByRow: function isExpandByRow(row) {\n return this.rowExpandeds.indexOf(row) > -1;\n },\n\n /**\n * 手动清空展开行状态,数据会恢复成未展开的状态\n */\n clearRowExpand: function clearRowExpand() {\n var _this31 = this;\n\n var isExists = this.rowExpandeds.length;\n this.rowExpandeds = [];\n return this.$nextTick().then(function () {\n return isExists ? _this31.recalculate() : 0;\n });\n },\n getRowExpandRecords: function getRowExpandRecords() {\n return this.rowExpandeds.slice(0);\n },\n getTreeExpandRecords: function getTreeExpandRecords() {\n return this.treeExpandeds.slice(0);\n },\n\n /**\n * 获取数表格状态\n */\n getTreeStatus: function getTreeStatus() {\n if (this.treeConfig) {\n return {\n config: this.treeOpts,\n rowExpandeds: this.getTreeExpandRecords()\n };\n }\n\n return null;\n },\n\n /**\n * 判断树节点是否懒加载完成\n * @param {Row} row 行对象\n */\n isTreeExpandLoaded: function isTreeExpandLoaded(row) {\n var rest = this.fullAllDataRowMap.get(row);\n return rest && rest.treeLoaded;\n },\n clearTreeExpandLoaded: function clearTreeExpandLoaded(row) {\n var treeOpts = this.treeOpts,\n treeExpandeds = this.treeExpandeds,\n fullAllDataRowMap = this.fullAllDataRowMap;\n var lazy = treeOpts.lazy;\n var rest = fullAllDataRowMap.get(row);\n\n if (lazy && rest) {\n rest.treeLoaded = false;\n\n _xeUtils.default.remove(treeExpandeds, function (item) {\n return row === item;\n });\n }\n\n return this.$nextTick();\n },\n\n /**\n * 重新加载树的子节点\n * @param {Row} row 行对象\n */\n reloadTreeChilds: function reloadTreeChilds(row) {\n var _this32 = this;\n\n var treeOpts = this.treeOpts,\n treeLazyLoadeds = this.treeLazyLoadeds;\n var lazy = treeOpts.lazy,\n hasChild = treeOpts.hasChild;\n\n if (lazy && row[hasChild] && treeLazyLoadeds.indexOf(row) === -1) {\n this.clearTreeExpandLoaded(row).then(function () {\n return _this32.handleAsyncTreeExpandChilds(row);\n });\n }\n\n return this.$nextTick();\n },\n\n /**\n * 展开树节点事件\n */\n triggerTreeExpandEvent: function triggerTreeExpandEvent(evnt, params) {\n var $listeners = this.$listeners,\n treeOpts = this.treeOpts,\n treeLazyLoadeds = this.treeLazyLoadeds;\n var row = params.row;\n var lazy = treeOpts.lazy;\n\n if (!lazy || treeLazyLoadeds.indexOf(row) === -1) {\n var expanded = !this.isTreeExpandByRow(row);\n this.setTreeExpansion(row, expanded);\n\n if ($listeners['toggle-tree-change']) {\n _tools.UtilTools.warn('plx.error.delEvent', ['toggle-tree-change', 'toggle-tree-expand']);\n\n _tools.UtilTools.emitEvent(this, 'toggle-tree-change', [{\n expanded: expanded,\n row: row,\n rowIndex: this.getRowIndex(row),\n $table: this\n }, evnt]);\n } else {\n _tools.UtilTools.emitEvent(this, 'toggle-tree-expand', [{\n expanded: expanded,\n row: row,\n rowIndex: this.getRowIndex(row),\n $table: this\n }, evnt]);\n }\n }\n },\n\n /**\n * 切换/展开树节点\n */\n toggleTreeExpansion: function toggleTreeExpansion(row) {\n return this.setTreeExpansion(row, !this.isTreeExpandByRow(row));\n },\n\n /**\n * 处理默认展开树节点\n */\n handleDefaultTreeExpand: function handleDefaultTreeExpand() {\n var treeConfig = this.treeConfig,\n treeOpts = this.treeOpts,\n tableFullData = this.tableFullData;\n\n if (treeConfig) {\n var expandAll = treeOpts.expandAll,\n expandRowKeys = treeOpts.expandRowKeys;\n\n if (expandAll) {\n this.setAllTreeExpansion(true);\n } else if (expandRowKeys) {\n var defExpandeds = [];\n\n var rowkey = _tools.UtilTools.getRowkey(this);\n\n expandRowKeys.forEach(function (rowid) {\n var matchObj = _xeUtils.default.findTree(tableFullData, function (item) {\n return rowid === _xeUtils.default.get(item, rowkey);\n }, treeOpts);\n\n if (matchObj) {\n defExpandeds.push(matchObj.item);\n }\n });\n this.setTreeExpansion(defExpandeds, true);\n }\n }\n },\n handleAsyncTreeExpandChilds: function handleAsyncTreeExpandChilds(row) {\n var _this33 = this;\n\n var fullAllDataRowMap = this.fullAllDataRowMap,\n treeExpandeds = this.treeExpandeds,\n treeOpts = this.treeOpts,\n treeLazyLoadeds = this.treeLazyLoadeds;\n var loadMethod = treeOpts.loadMethod,\n children = treeOpts.children;\n var rest = fullAllDataRowMap.get(row);\n return new Promise(function (resolve) {\n treeLazyLoadeds.push(row);\n loadMethod({\n $table: _this33,\n row: row\n }).catch(function (e) {\n return [];\n }).then(function (childs) {\n rest.treeLoaded = true;\n\n _xeUtils.default.remove(treeLazyLoadeds, function (item) {\n return item === row;\n });\n\n if (!_xeUtils.default.isArray(childs)) {\n childs = [];\n }\n\n if (childs) {\n row[children] = childs;\n\n _this33.appendTreeCache(row, childs);\n\n if (childs.length && treeExpandeds.indexOf(row) === -1) {\n treeExpandeds.push(row);\n } // 如果当前节点已选中,则展开后子节点也被选中\n\n\n if (_this33.isCheckedByCheckboxRow(row)) {\n _this33.setCheckboxRow(childs, true);\n }\n }\n\n resolve(_this33.$nextTick().then(_this33.recalculate));\n });\n });\n },\n\n /**\n * 设置所有树节点的展开与否\n * @param {Boolean} expanded 是否展开\n */\n setAllTreeExpansion: function setAllTreeExpansion(expanded) {\n var _this34 = this;\n\n var tableFullData = this.tableFullData,\n treeOpts = this.treeOpts;\n var lazy = treeOpts.lazy,\n children = treeOpts.children;\n\n if (expanded) {\n if (lazy) {\n _xeUtils.default.eachTree(tableFullData, function (row) {\n _this34.setTreeExpansion(row, true);\n }, treeOpts);\n } else {\n var treeExpandeds = [];\n\n _xeUtils.default.eachTree(tableFullData, function (row) {\n var rowChildren = row[children];\n\n if (rowChildren && rowChildren.length) {\n treeExpandeds.push(row);\n }\n }, treeOpts);\n\n this.treeExpandeds = treeExpandeds;\n }\n } else {\n this.treeExpandeds = [];\n }\n\n return this.$nextTick().then(this.recalculate);\n },\n\n /**\n * 设置展开树形节点,二个参数设置这一行展开与否\n * 支持单行\n * 支持多行\n * @param {Array/Row} rows 行数据\n * @param {Boolean} expanded 是否展开\n */\n setTreeExpansion: function setTreeExpansion(rows, expanded) {\n var _this35 = this;\n\n var fullAllDataRowMap = this.fullAllDataRowMap,\n tableFullData = this.tableFullData,\n treeExpandeds = this.treeExpandeds,\n treeOpts = this.treeOpts,\n treeLazyLoadeds = this.treeLazyLoadeds;\n var lazy = treeOpts.lazy,\n hasChild = treeOpts.hasChild,\n children = treeOpts.children,\n accordion = treeOpts.accordion;\n var result = [];\n\n if (rows) {\n if (!_xeUtils.default.isArray(rows)) {\n rows = [rows];\n }\n\n if (rows.length) {\n if (accordion) {\n rows = rows.slice(rows.length - 1, rows.length); // 同一级只能展开一个\n\n var matchObj = _xeUtils.default.findTree(tableFullData, function (item) {\n return item === rows[0];\n }, treeOpts);\n\n _xeUtils.default.remove(treeExpandeds, function (item) {\n return matchObj.items.indexOf(item) > -1;\n });\n }\n\n if (expanded) {\n rows.forEach(function (row) {\n if (treeExpandeds.indexOf(row) === -1) {\n var rest = fullAllDataRowMap.get(row);\n var isLoad = lazy && row[hasChild] && !rest.treeLoaded && treeLazyLoadeds.indexOf(row) === -1; // 是否使用懒加载\n\n if (isLoad) {\n result.push(_this35.handleAsyncTreeExpandChilds(row));\n } else {\n if (row[children] && row[children].length) {\n treeExpandeds.push(row);\n }\n }\n }\n });\n } else {\n _xeUtils.default.remove(treeExpandeds, function (row) {\n return rows.indexOf(row) > -1;\n });\n }\n\n return Promise.all(result).then(this.recalculate);\n }\n }\n\n return Promise.resolve();\n },\n // 在 v3.0 中废弃 hasTreeExpand\n hasTreeExpand: function hasTreeExpand(row) {\n _tools.UtilTools.warn('plx.error.delFunc', ['hasTreeExpand', 'isTreeExpandByRow']);\n\n return this.isTreeExpandByRow(row);\n },\n\n /**\n * 判断行是否为树形节点展开状态\n * @param {Row} row 行对象\n */\n isTreeExpandByRow: function isTreeExpandByRow(row) {\n return this.treeExpandeds.indexOf(row) > -1;\n },\n\n /**\n * 手动清空树形节点的展开状态,数据会恢复成未展开的状态\n */\n clearTreeExpand: function clearTreeExpand() {\n var _this36 = this;\n\n var isExists = this.treeExpandeds.length;\n this.treeExpandeds = [];\n return this.$nextTick().then(function () {\n return isExists ? _this36.recalculate() : 0;\n });\n },\n getVirtualScroller: function getVirtualScroller() {\n // UtilTools.warn('plx.error.delFunc', ['getVirtualScroller', 'getTableScroll'])\n return this.getTableScroll();\n },\n\n /**\n * 获取表格的滚动状态\n */\n getTableScroll: function getTableScroll() {\n var $refs = this.$refs,\n scrollXLoad = this.scrollXLoad,\n scrollYLoad = this.scrollYLoad;\n var bodyElem = $refs.tableBody.$el;\n return {\n // v3 移除 scrollX 属性\n scrollX: scrollXLoad,\n isX: scrollXLoad,\n // v3 移除 scrollY 属性\n scrollY: scrollYLoad,\n isY: scrollYLoad,\n scrollTop: bodyElem.scrollTop,\n scrollLeft: bodyElem.scrollLeft\n };\n },\n\n /**\n * 横向 X 可视渲染事件处理\n */\n triggerScrollXEvent: function triggerScrollXEvent(evnt) {\n this.updateVirtualScrollX();\n },\n updateVirtualScrollX: function updateVirtualScrollX(force) {\n var $refs = this.$refs,\n visibleColumn = this.visibleColumn,\n scrollXStore = this.scrollXStore;\n var startIndex = scrollXStore.startIndex,\n renderSize = scrollXStore.renderSize,\n offsetSize = scrollXStore.offsetSize,\n visibleSize = scrollXStore.visibleSize;\n var scrollBodyElem = $refs.tableBody.$el;\n var scrollLeft = scrollBodyElem.scrollLeft;\n var toVisibleIndex = 0;\n var width = 0;\n var preload = force || false;\n var colLen = visibleColumn.length;\n\n for (var colIndex = 0; colIndex < colLen; colIndex++) {\n width += visibleColumn[colIndex].renderWidth;\n\n if (scrollLeft < width) {\n toVisibleIndex = colIndex;\n break;\n }\n }\n\n if (force || scrollXStore.visibleIndex !== toVisibleIndex) {\n var marginSize = Math.min(Math.floor((renderSize - visibleSize) / 2), visibleSize);\n\n if (scrollXStore.visibleIndex === toVisibleIndex) {\n scrollXStore.startIndex = toVisibleIndex;\n } else if (scrollXStore.visibleIndex > toVisibleIndex) {\n // 向左\n preload = toVisibleIndex - offsetSize <= startIndex;\n\n if (preload) {\n scrollXStore.startIndex = Math.max(0, Math.max(0, toVisibleIndex - marginSize));\n }\n } else {\n // 向右\n preload = toVisibleIndex + visibleSize + offsetSize >= startIndex + renderSize;\n\n if (preload) {\n scrollXStore.startIndex = Math.max(0, Math.min(visibleColumn.length - renderSize, toVisibleIndex - marginSize));\n }\n }\n\n if (preload) {\n this.updateScrollXData();\n }\n\n scrollXStore.visibleIndex = toVisibleIndex;\n }\n\n this.clostTooltip();\n },\n\n /**\n * 纵向 Y 可视渲染事件处理\n */\n triggerScrollYEvent: function triggerScrollYEvent(evnt) {\n // webkit 浏览器使用最佳的渲染方式\n if (isWebkit && this.scrollYStore.adaptive) {\n this.loadScrollYData(evnt);\n } else {\n this.debounceScrollY(evnt);\n }\n },\n debounceScrollY: _xeUtils.default.debounce(function (evnt) {\n this.loadScrollYData(evnt);\n }, debounceScrollYDuration, {\n leading: false,\n trailing: true\n }),\n\n /**\n * 纵向 Y 可视渲染处理\n */\n loadScrollYData: function loadScrollYData(evnt) {\n var afterFullData = this.afterFullData,\n scrollYStore = this.scrollYStore,\n isLoadData = this.isLoadData;\n var startIndex = scrollYStore.startIndex,\n renderSize = scrollYStore.renderSize,\n offsetSize = scrollYStore.offsetSize,\n visibleSize = scrollYStore.visibleSize,\n rowHeight = scrollYStore.rowHeight;\n var scrollBodyElem = evnt.target;\n var scrollTop = scrollBodyElem.scrollTop;\n var toVisibleIndex = Math.ceil(scrollTop / rowHeight);\n var preload = false;\n\n if (isLoadData || scrollYStore.visibleIndex !== toVisibleIndex) {\n var marginSize = Math.min(Math.floor((renderSize - visibleSize) / 2), visibleSize);\n\n if (scrollYStore.visibleIndex > toVisibleIndex) {\n // 向上\n preload = toVisibleIndex - offsetSize <= startIndex;\n\n if (preload) {\n scrollYStore.startIndex = Math.max(0, toVisibleIndex - Math.max(marginSize, renderSize - visibleSize));\n }\n } else {\n // 向下\n preload = toVisibleIndex + visibleSize + offsetSize >= startIndex + renderSize;\n\n if (preload) {\n scrollYStore.startIndex = Math.max(0, Math.min(afterFullData.length - renderSize, toVisibleIndex - marginSize));\n }\n }\n\n if (preload) {\n this.updateScrollYData();\n }\n\n scrollYStore.visibleIndex = toVisibleIndex;\n this.isLoadData = false;\n }\n },\n computeRowHeight: function computeRowHeight() {\n var tableBody = this.$refs.tableBody;\n var tableBodyElem = tableBody ? tableBody.$el : null;\n var tableHeader = this.$refs.tableHeader;\n var rowHeight;\n\n if (tableBodyElem) {\n var firstTrElem = tableBodyElem.querySelector('tbody>tr');\n\n if (!firstTrElem && tableHeader) {\n firstTrElem = tableHeader.$el.querySelector('thead>tr');\n }\n\n if (firstTrElem) {\n rowHeight = firstTrElem.clientHeight;\n }\n } // 默认的行高\n\n\n if (!rowHeight) {\n rowHeight = this.rowHeightMaps[this.vSize || 'default'];\n }\n\n this.rowHeight = rowHeight;\n },\n // 计算可视渲染相关数据\n computeScrollLoad: function computeScrollLoad() {\n var _this37 = this;\n\n return this.$nextTick().then(function () {\n var vSize = _this37.vSize,\n scrollXLoad = _this37.scrollXLoad,\n scrollYLoad = _this37.scrollYLoad,\n scrollYStore = _this37.scrollYStore,\n scrollXStore = _this37.scrollXStore,\n visibleColumn = _this37.visibleColumn,\n optimizeOpts = _this37.optimizeOpts,\n rowHeightMaps = _this37.rowHeightMaps;\n var scrollX = optimizeOpts.scrollX,\n scrollY = optimizeOpts.scrollY;\n var tableBody = _this37.$refs.tableBody;\n var tableBodyElem = tableBody ? tableBody.$el : null;\n var tableHeader = _this37.$refs.tableHeader;\n\n if (tableBodyElem) {\n // 计算 X 逻辑\n if (scrollXLoad) {\n var bodyWidth = tableBodyElem.clientWidth;\n\n var visibleXSize = _xeUtils.default.toNumber(scrollX.vSize);\n\n if (!scrollX.vSize) {\n var len = visibleXSize = visibleColumn.length;\n var countWidth = 0;\n var column;\n\n for (var colIndex = 0; colIndex < len; colIndex++) {\n column = visibleColumn[colIndex];\n countWidth += column.renderWidth;\n\n if (countWidth > bodyWidth) {\n visibleXSize = colIndex + 1;\n break;\n }\n }\n }\n\n scrollXStore.visibleSize = visibleXSize; // 自动优化\n\n if (!scrollX.oSize) {\n scrollXStore.offsetSize = visibleXSize;\n }\n\n if (!scrollX.rSize) {\n scrollXStore.renderSize = visibleXSize + 4;\n }\n\n _this37.updateScrollXData();\n } else {\n _this37.updateScrollXSpace();\n } // 计算 Y 逻辑\n\n\n if (scrollYLoad) {\n var rHeight;\n\n if (scrollY.rHeight) {\n rHeight = scrollY.rHeight;\n } else {\n var firstTrElem = tableBodyElem.querySelector('tbody>tr');\n\n if (!firstTrElem && tableHeader) {\n firstTrElem = tableHeader.$el.querySelector('thead>tr');\n }\n\n if (firstTrElem) {\n rHeight = firstTrElem.clientHeight;\n }\n } // 默认的行高\n\n\n if (!rHeight) {\n rHeight = rowHeightMaps[vSize || 'default'];\n }\n\n var visibleYSize = _xeUtils.default.toNumber(scrollY.vSize || Math.ceil(tableBodyElem.clientHeight / rHeight));\n\n scrollYStore.visibleSize = visibleYSize;\n scrollYStore.rowHeight = rHeight; // 自动优化\n\n if (!scrollY.oSize) {\n scrollYStore.offsetSize = visibleYSize;\n }\n\n if (!scrollY.rSize) {\n scrollYStore.renderSize = browse.edge ? visibleYSize * 10 : isWebkit ? visibleYSize + 2 : visibleYSize * 6;\n }\n\n _this37.updateScrollYData();\n } else {\n _this37.updateScrollYSpace();\n }\n }\n\n _this37.$nextTick(_this37.updateStyle);\n });\n },\n updateScrollXData: function updateScrollXData() {\n var visibleColumn = this.visibleColumn,\n scrollXStore = this.scrollXStore;\n this.tableColumn = visibleColumn.slice(scrollXStore.startIndex, scrollXStore.startIndex + scrollXStore.renderSize);\n this.updateScrollXSpace();\n },\n // 更新横向 X 可视渲染上下剩余空间大小\n updateScrollXSpace: function updateScrollXSpace() {\n var $refs = this.$refs,\n elemStore = this.elemStore,\n visibleColumn = this.visibleColumn,\n scrollXStore = this.scrollXStore,\n scrollXLoad = this.scrollXLoad,\n tableWidth = this.tableWidth,\n scrollbarWidth = this.scrollbarWidth;\n var tableHeader = $refs.tableHeader,\n tableBody = $refs.tableBody,\n tableFooter = $refs.tableFooter;\n var headerElem = tableHeader ? tableHeader.$el.querySelector('.plx-table--header') : null;\n var bodyElem = tableBody.$el.querySelector('.plx-table--body');\n var footerElem = tableFooter ? tableFooter.$el.querySelector('.plx-table--footer') : null;\n var leftSpaceWidth = visibleColumn.slice(0, scrollXStore.startIndex).reduce(function (previous, column) {\n return previous + column.renderWidth;\n }, 0);\n var marginLeft = '';\n\n if (scrollXLoad) {\n marginLeft = \"\".concat(leftSpaceWidth, \"px\");\n }\n\n if (headerElem) {\n headerElem.style.marginLeft = marginLeft;\n }\n\n bodyElem.style.marginLeft = marginLeft;\n\n if (footerElem) {\n footerElem.style.marginLeft = marginLeft;\n }\n\n var containerList = ['main'];\n containerList.forEach(function (name) {\n var layoutList = ['header', 'body', 'footer'];\n layoutList.forEach(function (layout) {\n var xSpaceElem = elemStore[\"\".concat(name, \"-\").concat(layout, \"-xSpace\")];\n\n if (xSpaceElem) {\n xSpaceElem.style.width = scrollXLoad ? \"\".concat(tableWidth + (layout === 'header' ? scrollbarWidth : 0), \"px\") : '';\n }\n });\n });\n this.$nextTick(this.updateStyle);\n },\n updateScrollYData: function updateScrollYData() {\n this.handleTableData();\n this.updateScrollYSpace();\n },\n // 更新纵向 Y 可视渲染上下剩余空间大小\n updateScrollYSpace: function updateScrollYSpace() {\n var elemStore = this.elemStore,\n scrollYStore = this.scrollYStore,\n scrollYLoad = this.scrollYLoad,\n afterFullData = this.afterFullData;\n var bodyHeight = afterFullData.length * scrollYStore.rowHeight;\n var topSpaceHeight = Math.max(scrollYStore.startIndex * scrollYStore.rowHeight, 0);\n var containerList = ['main', 'left', 'right'];\n var marginTop = '';\n var ySpaceHeight = '';\n\n if (scrollYLoad) {\n marginTop = \"\".concat(topSpaceHeight, \"px\");\n ySpaceHeight = \"\".concat(bodyHeight, \"px\");\n }\n\n containerList.forEach(function (name) {\n var layoutList = ['header', 'body', 'footer'];\n var tableElem = elemStore[\"\".concat(name, \"-body-table\")];\n\n if (tableElem) {\n tableElem.style.marginTop = marginTop;\n }\n\n layoutList.forEach(function (layout) {\n var ySpaceElem = elemStore[\"\".concat(name, \"-\").concat(layout, \"-ySpace\")];\n\n if (ySpaceElem) {\n ySpaceElem.style.height = ySpaceHeight;\n }\n });\n });\n this.$nextTick(this.updateStyle);\n },\n\n /**\n * 如果有滚动条,则滚动到对应的位置\n * @param {Number} scrollLeft 左距离\n * @param {Number} scrollTop 上距离\n */\n scrollTo: function scrollTo(scrollLeft, scrollTop) {\n var _this38 = this;\n\n var bodyElem = this.$refs.tableBody.$el;\n\n if (_xeUtils.default.isNumber(scrollLeft)) {\n var tableFooter = this.$refs.tableFooter;\n\n if (tableFooter) {\n tableFooter.$el.scrollLeft = scrollLeft;\n } else {\n bodyElem.scrollLeft = scrollLeft;\n }\n }\n\n if (_xeUtils.default.isNumber(scrollTop)) {\n var rightBody = this.$refs.rightBody;\n\n if (rightBody) {\n rightBody.$el.scrollTop = scrollTop;\n }\n\n bodyElem.scrollTop = scrollTop;\n }\n\n if (this.scrollXLoad || this.scrollYLoad) {\n return new Promise(function (resolve) {\n return setTimeout(function () {\n return resolve(_this38.$nextTick());\n }, 50);\n });\n }\n\n return this.$nextTick();\n },\n\n /**\n * 如果有滚动条,则滚动到对应的行\n * @param {Row} row 行对象\n * @param {ColumnConfig} column 列配置\n */\n scrollToRow: function scrollToRow(row, column) {\n var rest = [];\n\n if (row) {\n if (this.treeConfig) {\n rest.push(this.scrollToTreeRow(row));\n } else if (this.fullAllDataRowMap.has(row)) {\n rest.push(_tools.DomTools.rowToVisible(this, row));\n }\n }\n\n rest.push(this.scrollToColumn(column));\n return Promise.all(rest);\n },\n\n /**\n * 如果有滚动条,则滚动到对应的列\n * @param {ColumnConfig} column 列配置\n */\n scrollToColumn: function scrollToColumn(column) {\n if (column && this.fullColumnMap.has(column)) {\n return _tools.DomTools.colToVisible(this, column);\n }\n\n return this.$nextTick();\n },\n\n /**\n * 对于树形结构中,可以直接滚动到指定深层节点中\n * 对于某些特定的场景可能会用到,比如定位到某一节点\n * @param {Row} row 行对象\n */\n scrollToTreeRow: function scrollToTreeRow(row) {\n var _this39 = this;\n\n var tableFullData = this.tableFullData,\n treeConfig = this.treeConfig,\n treeOpts = this.treeOpts;\n\n if (treeConfig) {\n var matchObj = _xeUtils.default.findTree(tableFullData, function (item) {\n return item === row;\n }, treeOpts);\n\n if (matchObj) {\n var nodes = matchObj.nodes;\n nodes.forEach(function (row, index) {\n if (index < nodes.length - 1 && !_this39.isTreeExpandByRow(row)) {\n _this39.setTreeExpansion(row, true);\n }\n });\n }\n }\n\n return this.$nextTick();\n },\n\n /**\n * 手动清除滚动相关信息,还原到初始状态\n */\n clearScroll: function clearScroll() {\n var _this40 = this;\n\n var $refs = this.$refs;\n var tableBody = $refs.tableBody;\n var tableBodyElem = tableBody ? tableBody.$el : null;\n var tableFooter = $refs.tableFooter;\n var tableFooterElem = tableFooter ? tableFooter.$el : null;\n var footerTargetElem = tableFooterElem || tableBodyElem;\n\n if (tableBodyElem) {\n tableBodyElem.scrollTop = 0;\n }\n\n if (footerTargetElem) {\n footerTargetElem.scrollLeft = 0;\n }\n\n return new Promise(function (resolve) {\n return setTimeout(function () {\n return resolve(_this40.$nextTick());\n });\n });\n },\n\n /**\n * 更新表尾合计\n */\n updateFooter: function updateFooter() {\n var showFooter = this.showFooter,\n tableColumn = this.tableColumn,\n footerMethod = this.footerMethod;\n\n if (showFooter && footerMethod) {\n this.footerData = tableColumn.length ? footerMethod({\n columns: tableColumn,\n data: this.afterFullData\n }) : [];\n }\n\n return this.$nextTick();\n },\n\n /**\n * 更新列状态\n * 如果组件值 v-model 发生 change 时,调用改函数用于更新某一列编辑状态\n * 如果单元格配置了校验规则,则会进行校验\n */\n updateStatus: function updateStatus(scope, cellValue) {\n var _this41 = this;\n\n var customVal = !_xeUtils.default.isUndefined(cellValue);\n return this.$nextTick().then(function () {\n var $refs = _this41.$refs,\n tableData = _this41.tableData,\n editRules = _this41.editRules,\n validStore = _this41.validStore;\n\n if (scope && $refs.tableBody && editRules) {\n var row = scope.row,\n column = scope.column;\n var type = 'change';\n\n if (_this41.hasCellRules(type, row, column)) {\n var rowIndex = tableData.indexOf(row);\n\n var cell = _tools.DomTools.getCell(_this41, {\n row: row,\n rowIndex: rowIndex,\n column: column\n });\n\n if (cell) {\n return _this41.validCellRules(type, row, column, cellValue).then(function () {\n if (customVal && validStore.visible) {\n _tools.UtilTools.setCellValue(row, column, cellValue);\n }\n\n _this41.clearValidate();\n }).catch(function (_ref5) {\n var rule = _ref5.rule;\n\n if (customVal) {\n _tools.UtilTools.setCellValue(row, column, cellValue);\n }\n\n _this41.showValidTooltip({\n rule: rule,\n row: row,\n column: column,\n cell: cell\n });\n });\n }\n }\n }\n });\n },\n updateZindex: function updateZindex() {\n if (this.tZindex < _tools.UtilTools.getLastZIndex()) {\n this.tZindex = _tools.UtilTools.nextZIndex(this);\n }\n },\n\n /*************************\n * Publish methods\n *************************/\n // 与工具栏对接\n connect: function connect(_ref6) {\n var toolbar = _ref6.toolbar;\n this.$toolbar = toolbar;\n },\n // 检查触发源是否属于目标节点\n getEventTargetNode: _tools.DomTools.getEventTargetNode\n /*************************\n * Publish methods\n *************************/\n\n}; // Module methods\n\nvar funcs = 'setFilter,filter,clearFilter,closeMenu,getMouseSelecteds,getMouseCheckeds,clearCopyed,clearChecked,clearHeaderChecked,clearIndexChecked,clearSelected,insert,insertAt,remove,removeSelecteds,revert,revertData,getRecordset,getInsertRecords,getRemoveRecords,getUpdateRecords,clearActived,getActiveRecord,getActiveRow,hasActiveRow,isActiveByRow,setActiveRow,setActiveCell,setSelectCell,clearValidate,fullValidate,validate,exportCsv,openExport,exportData,openImport,importData,readFile,importByFile,print'.split(',');\nfuncs.forEach(function (name) {\n Methods[name] = function () {\n return this[\"_\".concat(name)] ? this[\"_\".concat(name)].apply(this, arguments) : null;\n };\n});\nvar _default = Methods;\nexports.default = _default;","var helperGetDateTime = require('./helperGetDateTime')\r\nvar helperGetYMD = require('./helperGetYMD')\r\n\r\nfunction helperGetYMDTime (date) {\r\n return helperGetDateTime(helperGetYMD(date))\r\n}\r\n\r\nmodule.exports = helperGetYMDTime\r\n","\"use strict\";\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _xeUtils = _interopRequireDefault(require(\"xe-utils/methods/xe-utils\"));\n\nvar _vXETable = _interopRequireWildcard(require(\"../../v-x-e-table\"));\n\nvar _tools = require(\"../../tools\");\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar browse = _tools.DomTools.browse;\nvar _default = {\n methods: {\n /**\n * 往表格中插入临时数据\n *\n * @param {*} records\n */\n _insert: function _insert(records) {\n return this.insertAt(records);\n },\n\n /**\n * 往表格指定行中插入临时数据\n * 如果 row 为空则从插入到顶部\n * 如果 row 为 -1 则从插入到底部\n * 如果 row 为有效行则插入到该行的位置\n * @param {Object/Array} records 新的数据\n * @param {Row} row 指定行\n */\n _insertAt: function _insertAt(records, row) {\n var _this = this;\n\n var afterFullData = this.afterFullData,\n editStore = this.editStore,\n scrollYLoad = this.scrollYLoad,\n tableFullData = this.tableFullData,\n treeConfig = this.treeConfig;\n\n if (treeConfig) {\n throw new Error(_tools.UtilTools.getLog('plx.error.noTree', ['insert']));\n }\n\n if (!_xeUtils.default.isArray(records)) {\n records = [records];\n }\n\n var nowData = afterFullData;\n var newRecords = records.map(function (record) {\n return _this.defineField(Object.assign({}, record));\n });\n\n if (!row) {\n nowData.unshift.apply(nowData, newRecords);\n tableFullData.unshift.apply(tableFullData, newRecords);\n } else {\n if (row === -1) {\n nowData.push.apply(nowData, newRecords);\n tableFullData.push.apply(tableFullData, newRecords);\n } else {\n var targetIndex = nowData.indexOf(row);\n\n if (targetIndex === -1) {\n throw new Error(_tools.UtilTools.error('plx.error.unableInsert'));\n }\n\n nowData.splice.apply(nowData, [targetIndex, 0].concat(newRecords));\n tableFullData.splice.apply(tableFullData, [tableFullData.indexOf(row), 0].concat(newRecords));\n }\n }\n\n [].unshift.apply(editStore.insertList, newRecords);\n this.handleTableData();\n this.updateCache();\n this.checkSelectionStatus();\n\n if (scrollYLoad) {\n this.updateScrollYSpace();\n }\n\n return this.$nextTick().then(function () {\n _this.recalculate();\n\n return {\n row: newRecords.length ? newRecords[newRecords.length - 1] : null,\n rows: newRecords\n };\n });\n },\n\n /**\n * 删除指定行数据\n * 如果传 row 则删除一行\n * 如果传 rows 则删除多行\n * 如果为空则删除所有\n */\n _remove: function _remove(rows) {\n var _this2 = this;\n\n var afterFullData = this.afterFullData,\n tableFullData = this.tableFullData,\n editStore = this.editStore,\n treeConfig = this.treeConfig,\n checkboxOpts = this.checkboxOpts,\n selection = this.selection,\n isInsertByRow = this.isInsertByRow,\n scrollYLoad = this.scrollYLoad;\n var removeList = editStore.removeList,\n insertList = editStore.insertList;\n var property = checkboxOpts.checkField;\n var rest = [];\n var nowData = afterFullData;\n\n if (treeConfig) {\n throw new Error(_tools.UtilTools.getLog('plx.error.noTree', ['remove']));\n }\n\n if (!rows) {\n rows = tableFullData;\n } else if (!_xeUtils.default.isArray(rows)) {\n rows = [rows];\n } // 如果是新增,则保存记录\n\n\n rows.forEach(function (row) {\n if (!isInsertByRow(row)) {\n removeList.push(row);\n }\n }); // 如果绑定了多选属性,则更新状态\n\n if (!property) {\n _xeUtils.default.remove(selection, function (row) {\n return rows.indexOf(row) > -1;\n });\n } // 从数据源中移除\n\n\n if (tableFullData === rows) {\n rows = rest = tableFullData.slice(0);\n tableFullData.length = 0;\n nowData.length = 0;\n } else {\n rest = _xeUtils.default.remove(tableFullData, function (row) {\n return rows.indexOf(row) > -1;\n });\n\n _xeUtils.default.remove(nowData, function (row) {\n return rows.indexOf(row) > -1;\n });\n } // 从新增中移除已删除的数据\n\n\n _xeUtils.default.remove(insertList, function (row) {\n return rows.indexOf(row) > -1;\n });\n\n this.handleTableData();\n this.updateCache();\n this.checkSelectionStatus();\n\n if (scrollYLoad) {\n this.updateScrollYSpace();\n }\n\n return this.$nextTick().then(function () {\n _this2.recalculate();\n\n return {\n row: rest.length ? rest[rest.length - 1] : null,\n rows: rest\n };\n });\n },\n\n /**\n * 删除选中数据\n */\n _removeSelecteds: function _removeSelecteds() {\n var _this3 = this;\n\n return this.remove(this.getCheckboxRecords()).then(function (params) {\n _this3.clearCheckboxRow();\n\n return params;\n });\n },\n _revert: function _revert() {\n _tools.UtilTools.warn('plx.error.delFunc', ['revert', 'revertData']);\n\n return this.revertData.apply(this, arguments);\n },\n\n /**\n * 还原数据\n * 如果不传任何参数,则还原整个表格\n * 如果传 row 则还原一行\n * 如果传 rows 则还原多行\n * 如果还额外传了 field 则还原指定的单元格数据\n */\n _revertData: function _revertData(rows, field) {\n var tableSourceData = this.tableSourceData,\n getRowIndex = this.getRowIndex;\n\n if (arguments.length) {\n if (rows && !_xeUtils.default.isArray(rows)) {\n rows = [rows];\n }\n\n rows.forEach(function (row) {\n var rowIndex = getRowIndex(row);\n var oRow = tableSourceData[rowIndex];\n\n if (oRow && row) {\n if (field) {\n _xeUtils.default.set(row, field, _xeUtils.default.clone(_xeUtils.default.get(oRow, field), true));\n } else {\n _xeUtils.default.destructuring(row, _xeUtils.default.clone(oRow, true));\n }\n }\n });\n return this.$nextTick();\n }\n\n return this.reloadData(tableSourceData);\n },\n\n /**\n * 获取表格数据集,包含新增、删除、修改\n */\n _getRecordset: function _getRecordset() {\n return {\n insertRecords: this.getInsertRecords(),\n removeRecords: this.getRemoveRecords(),\n updateRecords: this.getUpdateRecords()\n };\n },\n\n /**\n * 获取新增的临时数据\n */\n _getInsertRecords: function _getInsertRecords() {\n var insertList = this.editStore.insertList;\n var insertRecords = [];\n\n if (insertList.length) {\n this.tableFullData.forEach(function (row) {\n if (insertList.indexOf(row) > -1) {\n insertRecords.push(row);\n }\n });\n }\n\n return insertRecords;\n },\n\n /**\n * 获取已删除的数据\n */\n _getRemoveRecords: function _getRemoveRecords() {\n return this.editStore.removeList;\n },\n\n /**\n * 获取更新数据\n * 只精准匹配 row 的更改\n * 如果是树表格,子节点更改状态不会影响父节点的更新状态\n */\n _getUpdateRecords: function _getUpdateRecords() {\n var tableFullData = this.tableFullData,\n isUpdateByRow = this.isUpdateByRow,\n treeConfig = this.treeConfig,\n treeOpts = this.treeOpts;\n\n if (treeConfig) {\n return _xeUtils.default.filterTree(tableFullData, function (row) {\n return isUpdateByRow(row);\n }, treeOpts);\n }\n\n return tableFullData.filter(function (row) {\n return isUpdateByRow(row);\n });\n },\n\n /**\n * 处理激活编辑\n */\n handleActived: function handleActived(params, evnt) {\n var _this4 = this;\n\n var editStore = this.editStore,\n editOpts = this.editOpts,\n tableColumn = this.tableColumn;\n var mode = editOpts.mode,\n activeMethod = editOpts.activeMethod;\n var actived = editStore.actived;\n var row = params.row,\n column = params.column,\n cell = params.cell;\n var editRender = column.editRender;\n\n if (editRender && cell) {\n if (actived.row !== row || (mode === 'cell' ? actived.column !== column : false)) {\n // 判断是否禁用编辑\n var type = 'edit-disabled';\n\n if (!activeMethod || activeMethod(params)) {\n if (this.keyboardConfig || this.mouseConfig) {\n this.clearCopyed(evnt);\n this.clearChecked();\n this.clearSelected(evnt);\n }\n\n this.clostTooltip();\n this.clearActived(evnt);\n type = 'edit-actived';\n column.renderHeight = cell.offsetHeight;\n actived.args = params;\n actived.row = row;\n actived.column = column;\n\n if (mode === 'row') {\n tableColumn.forEach(function (column) {\n return _this4._getColumnModel(row, column);\n });\n } else {\n this._getColumnModel(row, column);\n }\n\n this.$nextTick(function () {\n _this4.handleFocus(params, evnt);\n });\n }\n\n _tools.UtilTools.emitEvent(this, type, [params, evnt]);\n } else {\n var oldColumn = actived.column;\n\n if (oldColumn !== column) {\n var oldModel = oldColumn.model;\n\n if (oldModel.update) {\n _tools.UtilTools.setCellValue(row, oldColumn, oldModel.value);\n }\n\n this.clearValidate();\n }\n\n column.renderHeight = cell.offsetHeight;\n actived.args = params;\n actived.column = column;\n setTimeout(function () {\n _this4.handleFocus(params, evnt);\n });\n }\n }\n\n return this.$nextTick();\n },\n _getColumnModel: function _getColumnModel(row, column) {\n var model = column.model,\n editRender = column.editRender;\n\n if (editRender) {\n model.value = _tools.UtilTools.getCellValue(row, column);\n model.update = false;\n }\n },\n _setColumnModel: function _setColumnModel(row, column) {\n var model = column.model,\n editRender = column.editRender;\n\n if (editRender && model.update) {\n _tools.UtilTools.setCellValue(row, column, model.value);\n\n model.update = false;\n model.value = null;\n }\n },\n\n /**\n * 清除激活的编辑\n */\n _clearActived: function _clearActived(evnt) {\n var _this5 = this;\n\n var tableColumn = this.tableColumn,\n editStore = this.editStore,\n editOpts = this.editOpts;\n var actived = editStore.actived;\n var args = actived.args,\n row = actived.row,\n column = actived.column;\n\n if (row || column) {\n if (editOpts.mode === 'row') {\n tableColumn.forEach(function (column) {\n return _this5._setColumnModel(row, column);\n });\n } else {\n this._setColumnModel(row, column);\n }\n\n this.updateFooter();\n\n _tools.UtilTools.emitEvent(this, 'edit-closed', [args, evnt]);\n }\n\n actived.args = null;\n actived.row = null;\n actived.column = null;\n return (_vXETable.default._valid ? this.clearValidate() : this.$nextTick()).then(this.recalculate);\n },\n // 在 v3.0 中废弃 getActiveRow\n _getActiveRow: function _getActiveRow() {\n // UtilTools.warn('plx.error.delFunc', ['getActiveRow', 'getActiveRecord'])\n return this.getActiveRecord();\n },\n _getActiveRecord: function _getActiveRecord() {\n var $el = this.$el,\n editStore = this.editStore,\n afterFullData = this.afterFullData;\n var _editStore$actived = editStore.actived,\n args = _editStore$actived.args,\n row = _editStore$actived.row;\n\n if (args && afterFullData.indexOf(row) > -1 && $el.querySelectorAll('.plx-body--column.col--actived').length) {\n return Object.assign({}, args);\n }\n\n return null;\n },\n // 在 v3.0 中废弃 hasActiveRow\n _hasActiveRow: function _hasActiveRow(row) {\n _tools.UtilTools.warn('plx.error.delFunc', ['hasActiveRow', 'isActiveByRow']);\n\n return this.isActiveByRow(row);\n },\n\n /**\n * 判断行是否为激活编辑状态\n * @param {Row} row 行对象\n */\n _isActiveByRow: function _isActiveByRow(row) {\n return this.editStore.actived.row === row;\n },\n\n /**\n * 处理聚焦\n */\n handleFocus: function handleFocus(params, evnt) {\n var row = params.row,\n column = params.column,\n cell = params.cell;\n var editRender = column.editRender;\n\n if (editRender) {\n var compRender = _vXETable.Renderer.get(editRender.name);\n\n var autofocus = editRender.autofocus,\n autoselect = editRender.autoselect;\n var inputElem; // 如果指定了聚焦 class\n\n if (autofocus) {\n inputElem = cell.querySelector(autofocus);\n } // 渲染器的聚焦处理\n\n\n if (!inputElem && compRender && compRender.autofocus) {\n inputElem = cell.querySelector(compRender.autofocus);\n }\n\n if (inputElem) {\n inputElem[autoselect ? 'select' : 'focus']();\n\n if (browse.msie) {\n var textRange = inputElem.createTextRange();\n textRange.collapse(false);\n textRange.select();\n }\n } else {\n // 显示到可视区中\n this.scrollToRow(row, column);\n }\n }\n },\n\n /**\n * 激活行编辑\n */\n _setActiveRow: function _setActiveRow(row) {\n return this.setActiveCell(row, _xeUtils.default.find(this.visibleColumn, function (column) {\n return column.editRender;\n }).property);\n },\n\n /**\n * 激活单元格编辑\n */\n _setActiveCell: function _setActiveCell(row, field) {\n var _this6 = this;\n\n return this.scrollToRow(row, true).then(function () {\n if (row && field) {\n var column = _xeUtils.default.find(_this6.visibleColumn, function (column) {\n return column.property === field;\n });\n\n if (column && column.editRender) {\n var cell = _tools.DomTools.getCell(_this6, {\n row: row,\n column: column\n });\n\n if (cell) {\n _this6.handleActived({\n row: row,\n rowIndex: _this6.getRowIndex(row),\n column: column,\n columnIndex: _this6.getColumnIndex(column),\n cell: cell,\n $table: _this6\n });\n\n _this6.lastCallTime = Date.now();\n }\n }\n }\n\n return _this6.$nextTick();\n });\n },\n\n /**\n * 只对 trigger=dblclick 有效,选中单元格\n */\n _setSelectCell: function _setSelectCell(row, field) {\n var tableData = this.tableData,\n editOpts = this.editOpts,\n visibleColumn = this.visibleColumn;\n\n if (row && field && editOpts.trigger !== 'manual') {\n var column = _xeUtils.default.find(visibleColumn, function (column) {\n return column.property === field;\n });\n\n var rowIndex = tableData.indexOf(row);\n\n if (rowIndex > -1 && column) {\n var cell = _tools.DomTools.getCell(this, {\n row: row,\n rowIndex: rowIndex,\n column: column\n });\n\n var params = {\n row: row,\n rowIndex: rowIndex,\n column: column,\n columnIndex: visibleColumn.indexOf(column),\n cell: cell\n };\n this.handleSelected(params, {});\n }\n }\n\n return this.$nextTick();\n },\n\n /**\n * 处理选中源\n */\n handleSelected: function handleSelected(params, evnt) {\n var _this7 = this;\n\n var mouseConfig = this.mouseConfig,\n mouseOpts = this.mouseOpts,\n editOpts = this.editOpts,\n editStore = this.editStore,\n elemStore = this.elemStore;\n var actived = editStore.actived,\n selected = editStore.selected;\n var row = params.row,\n column = params.column,\n cell = params.cell;\n var isMouseSelected = mouseConfig && mouseOpts.selected; // 在 v3.0 中废弃 mouse-config.checked\n\n var isMouseChecked = mouseConfig && (mouseOpts.range || mouseOpts.checked);\n\n var selectMethod = function selectMethod() {\n if ((isMouseSelected || isMouseChecked) && (selected.row !== row || selected.column !== column)) {\n if (actived.row !== row || (editOpts.mode === 'cell' ? actived.column !== column : false)) {\n if (_this7.keyboardConfig) {\n _this7.clearChecked(evnt);\n\n _this7.clearIndexChecked();\n\n _this7.clearHeaderChecked();\n\n _this7.clearSelected(evnt);\n }\n\n _this7.clearActived(evnt);\n\n selected.args = params;\n selected.row = row;\n selected.column = column;\n\n if (isMouseSelected) {\n _this7.addColSdCls();\n } // 如果配置了批量选中功能,则为批量选中状态\n\n\n if (isMouseChecked) {\n var headerElem = elemStore['main-header-list'];\n\n _this7.handleChecked([[cell]]);\n\n if (headerElem) {\n _this7.handleHeaderChecked([[headerElem.querySelector(\".\".concat(column.id))]]);\n }\n\n _this7.handleIndexChecked([[cell.parentNode.querySelector('.col--seq')]]);\n }\n }\n }\n\n return _this7.$nextTick();\n };\n\n return selectMethod();\n },\n\n /**\n * 清除所选中源状态\n */\n _clearSelected: function _clearSelected(evnt) {\n var selected = this.editStore.selected;\n selected.row = null;\n selected.column = null;\n this.reColTitleSdCls();\n this.reColSdCls();\n return this.$nextTick();\n },\n reColTitleSdCls: function reColTitleSdCls() {\n var headerElem = this.elemStore['main-header-list'];\n\n if (headerElem) {\n _xeUtils.default.arrayEach(headerElem.querySelectorAll('.col--title-selected'), function (elem) {\n return _tools.DomTools.removeClass(elem, 'col--title-selected');\n });\n }\n },\n reColSdCls: function reColSdCls() {\n var cell = this.$el.querySelector('.col--selected');\n\n if (cell) {\n _tools.DomTools.removeClass(cell, 'col--selected');\n }\n },\n addColSdCls: function addColSdCls() {\n var selected = this.editStore.selected;\n var row = selected.row,\n column = selected.column;\n this.reColSdCls();\n\n if (row && column) {\n var cell = _tools.DomTools.getCell(this, {\n row: row,\n column: column\n });\n\n if (cell) {\n _tools.DomTools.addClass(cell, 'col--selected');\n }\n }\n }\n }\n};\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.isDef = isDef;\nexports.isKorean = isKorean;\nfunction isDef(val) {\n return val !== undefined && val !== null;\n}\nfunction isKorean(text) {\n var reg = /([(\\uAC00-\\uD7AF)|(\\u3130-\\u318F)])+/gi;\n return reg.test(text);\n}","require('./_wks-define')('observable');\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\nvar MapDraw = require(\"../helper/MapDraw\");\n\nvar echarts = require(\"../../echarts\");\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*/\nvar _default = echarts.extendComponentView({\n type: 'geo',\n init: function (ecModel, api) {\n var mapDraw = new MapDraw(api, true);\n this._mapDraw = mapDraw;\n this.group.add(mapDraw.group);\n },\n render: function (geoModel, ecModel, api, payload) {\n // Not render if it is an toggleSelect action from self\n if (payload && payload.type === 'geoToggleSelect' && payload.from === this.uid) {\n return;\n }\n\n var mapDraw = this._mapDraw;\n\n if (geoModel.get('show')) {\n mapDraw.draw(geoModel, ecModel, api, this, payload);\n } else {\n this._mapDraw.group.removeAll();\n }\n\n this.group.silent = geoModel.get('silent');\n },\n dispose: function () {\n this._mapDraw && this._mapDraw.remove();\n }\n});\n\nmodule.exports = _default;","\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\nvar echarts = require(\"../../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar eventTool = require(\"zrender/lib/core/event\");\n\nvar lang = require(\"../../../lang\");\n\nvar featureManager = require(\"../featureManager\");\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*/\nvar dataViewLang = lang.toolbox.dataView;\nvar BLOCK_SPLITER = new Array(60).join('-');\nvar ITEM_SPLITER = '\\t';\n/**\n * Group series into two types\n * 1. on category axis, like line, bar\n * 2. others, like scatter, pie\n * @param {module:echarts/model/Global} ecModel\n * @return {Object}\n * @inner\n */\n\nfunction groupSeries(ecModel) {\n var seriesGroupByCategoryAxis = {};\n var otherSeries = [];\n var meta = [];\n ecModel.eachRawSeries(function (seriesModel) {\n var coordSys = seriesModel.coordinateSystem;\n\n if (coordSys && (coordSys.type === 'cartesian2d' || coordSys.type === 'polar')) {\n var baseAxis = coordSys.getBaseAxis();\n\n if (baseAxis.type === 'category') {\n var key = baseAxis.dim + '_' + baseAxis.index;\n\n if (!seriesGroupByCategoryAxis[key]) {\n seriesGroupByCategoryAxis[key] = {\n categoryAxis: baseAxis,\n valueAxis: coordSys.getOtherAxis(baseAxis),\n series: []\n };\n meta.push({\n axisDim: baseAxis.dim,\n axisIndex: baseAxis.index\n });\n }\n\n seriesGroupByCategoryAxis[key].series.push(seriesModel);\n } else {\n otherSeries.push(seriesModel);\n }\n } else {\n otherSeries.push(seriesModel);\n }\n });\n return {\n seriesGroupByCategoryAxis: seriesGroupByCategoryAxis,\n other: otherSeries,\n meta: meta\n };\n}\n/**\n * Assemble content of series on cateogory axis\n * @param {Array.} series\n * @return {string}\n * @inner\n */\n\n\nfunction assembleSeriesWithCategoryAxis(series) {\n var tables = [];\n zrUtil.each(series, function (group, key) {\n var categoryAxis = group.categoryAxis;\n var valueAxis = group.valueAxis;\n var valueAxisDim = valueAxis.dim;\n var headers = [' '].concat(zrUtil.map(group.series, function (series) {\n return series.name;\n }));\n var columns = [categoryAxis.model.getCategories()];\n zrUtil.each(group.series, function (series) {\n var rawData = series.getRawData();\n columns.push(series.getRawData().mapArray(rawData.mapDimension(valueAxisDim), function (val) {\n return val;\n }));\n }); // Assemble table content\n\n var lines = [headers.join(ITEM_SPLITER)];\n\n for (var i = 0; i < columns[0].length; i++) {\n var items = [];\n\n for (var j = 0; j < columns.length; j++) {\n items.push(columns[j][i]);\n }\n\n lines.push(items.join(ITEM_SPLITER));\n }\n\n tables.push(lines.join('\\n'));\n });\n return tables.join('\\n\\n' + BLOCK_SPLITER + '\\n\\n');\n}\n/**\n * Assemble content of other series\n * @param {Array.} series\n * @return {string}\n * @inner\n */\n\n\nfunction assembleOtherSeries(series) {\n return zrUtil.map(series, function (series) {\n var data = series.getRawData();\n var lines = [series.name];\n var vals = [];\n data.each(data.dimensions, function () {\n var argLen = arguments.length;\n var dataIndex = arguments[argLen - 1];\n var name = data.getName(dataIndex);\n\n for (var i = 0; i < argLen - 1; i++) {\n vals[i] = arguments[i];\n }\n\n lines.push((name ? name + ITEM_SPLITER : '') + vals.join(ITEM_SPLITER));\n });\n return lines.join('\\n');\n }).join('\\n\\n' + BLOCK_SPLITER + '\\n\\n');\n}\n/**\n * @param {module:echarts/model/Global}\n * @return {Object}\n * @inner\n */\n\n\nfunction getContentFromModel(ecModel) {\n var result = groupSeries(ecModel);\n return {\n value: zrUtil.filter([assembleSeriesWithCategoryAxis(result.seriesGroupByCategoryAxis), assembleOtherSeries(result.other)], function (str) {\n return str.replace(/[\\n\\t\\s]/g, '');\n }).join('\\n\\n' + BLOCK_SPLITER + '\\n\\n'),\n meta: result.meta\n };\n}\n\nfunction trim(str) {\n return str.replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n}\n/**\n * If a block is tsv format\n */\n\n\nfunction isTSVFormat(block) {\n // Simple method to find out if a block is tsv format\n var firstLine = block.slice(0, block.indexOf('\\n'));\n\n if (firstLine.indexOf(ITEM_SPLITER) >= 0) {\n return true;\n }\n}\n\nvar itemSplitRegex = new RegExp('[' + ITEM_SPLITER + ']+', 'g');\n/**\n * @param {string} tsv\n * @return {Object}\n */\n\nfunction parseTSVContents(tsv) {\n var tsvLines = tsv.split(/\\n+/g);\n var headers = trim(tsvLines.shift()).split(itemSplitRegex);\n var categories = [];\n var series = zrUtil.map(headers, function (header) {\n return {\n name: header,\n data: []\n };\n });\n\n for (var i = 0; i < tsvLines.length; i++) {\n var items = trim(tsvLines[i]).split(itemSplitRegex);\n categories.push(items.shift());\n\n for (var j = 0; j < items.length; j++) {\n series[j] && (series[j].data[i] = items[j]);\n }\n }\n\n return {\n series: series,\n categories: categories\n };\n}\n/**\n * @param {string} str\n * @return {Array.}\n * @inner\n */\n\n\nfunction parseListContents(str) {\n var lines = str.split(/\\n+/g);\n var seriesName = trim(lines.shift());\n var data = [];\n\n for (var i = 0; i < lines.length; i++) {\n // if line is empty, ignore it.\n // there is a case that a user forgot to delete `\\n`.\n var line = trim(lines[i]);\n\n if (!line) {\n continue;\n }\n\n var items = line.split(itemSplitRegex);\n var name = '';\n var value;\n var hasName = false;\n\n if (isNaN(items[0])) {\n // First item is name\n hasName = true;\n name = items[0];\n items = items.slice(1);\n data[i] = {\n name: name,\n value: []\n };\n value = data[i].value;\n } else {\n value = data[i] = [];\n }\n\n for (var j = 0; j < items.length; j++) {\n value.push(+items[j]);\n }\n\n if (value.length === 1) {\n hasName ? data[i].value = value[0] : data[i] = value[0];\n }\n }\n\n return {\n name: seriesName,\n data: data\n };\n}\n/**\n * @param {string} str\n * @param {Array.} blockMetaList\n * @return {Object}\n * @inner\n */\n\n\nfunction parseContents(str, blockMetaList) {\n var blocks = str.split(new RegExp('\\n*' + BLOCK_SPLITER + '\\n*', 'g'));\n var newOption = {\n series: []\n };\n zrUtil.each(blocks, function (block, idx) {\n if (isTSVFormat(block)) {\n var result = parseTSVContents(block);\n var blockMeta = blockMetaList[idx];\n var axisKey = blockMeta.axisDim + 'Axis';\n\n if (blockMeta) {\n newOption[axisKey] = newOption[axisKey] || [];\n newOption[axisKey][blockMeta.axisIndex] = {\n data: result.categories\n };\n newOption.series = newOption.series.concat(result.series);\n }\n } else {\n var result = parseListContents(block);\n newOption.series.push(result);\n }\n });\n return newOption;\n}\n/**\n * @alias {module:echarts/component/toolbox/feature/DataView}\n * @constructor\n * @param {module:echarts/model/Model} model\n */\n\n\nfunction DataView(model) {\n this._dom = null;\n this.model = model;\n}\n\nDataView.defaultOption = {\n show: true,\n readOnly: false,\n optionToContent: null,\n contentToOption: null,\n icon: 'M17.5,17.3H33 M17.5,17.3H33 M45.4,29.5h-28 M11.5,2v56H51V14.8L38.4,2H11.5z M38.4,2.2v12.7H51 M45.4,41.7h-28',\n title: zrUtil.clone(dataViewLang.title),\n lang: zrUtil.clone(dataViewLang.lang),\n backgroundColor: '#fff',\n textColor: '#000',\n textareaColor: '#fff',\n textareaBorderColor: '#333',\n buttonColor: '#c23531',\n buttonTextColor: '#fff'\n};\n\nDataView.prototype.onclick = function (ecModel, api) {\n var container = api.getDom();\n var model = this.model;\n\n if (this._dom) {\n container.removeChild(this._dom);\n }\n\n var root = document.createElement('div');\n root.style.cssText = 'position:absolute;left:5px;top:5px;bottom:5px;right:5px;';\n root.style.backgroundColor = model.get('backgroundColor') || '#fff'; // Create elements\n\n var header = document.createElement('h4');\n var lang = model.get('lang') || [];\n header.innerHTML = lang[0] || model.get('title');\n header.style.cssText = 'margin: 10px 20px;';\n header.style.color = model.get('textColor');\n var viewMain = document.createElement('div');\n var textarea = document.createElement('textarea');\n viewMain.style.cssText = 'display:block;width:100%;overflow:auto;';\n var optionToContent = model.get('optionToContent');\n var contentToOption = model.get('contentToOption');\n var result = getContentFromModel(ecModel);\n\n if (typeof optionToContent === 'function') {\n var htmlOrDom = optionToContent(api.getOption());\n\n if (typeof htmlOrDom === 'string') {\n viewMain.innerHTML = htmlOrDom;\n } else if (zrUtil.isDom(htmlOrDom)) {\n viewMain.appendChild(htmlOrDom);\n }\n } else {\n // Use default textarea\n viewMain.appendChild(textarea);\n textarea.readOnly = model.get('readOnly');\n textarea.style.cssText = 'width:100%;height:100%;font-family:monospace;font-size:14px;line-height:1.6rem;';\n textarea.style.color = model.get('textColor');\n textarea.style.borderColor = model.get('textareaBorderColor');\n textarea.style.backgroundColor = model.get('textareaColor');\n textarea.value = result.value;\n }\n\n var blockMetaList = result.meta;\n var buttonContainer = document.createElement('div');\n buttonContainer.style.cssText = 'position:absolute;bottom:0;left:0;right:0;';\n var buttonStyle = 'float:right;margin-right:20px;border:none;' + 'cursor:pointer;padding:2px 5px;font-size:12px;border-radius:3px';\n var closeButton = document.createElement('div');\n var refreshButton = document.createElement('div');\n buttonStyle += ';background-color:' + model.get('buttonColor');\n buttonStyle += ';color:' + model.get('buttonTextColor');\n var self = this;\n\n function close() {\n container.removeChild(root);\n self._dom = null;\n }\n\n eventTool.addEventListener(closeButton, 'click', close);\n eventTool.addEventListener(refreshButton, 'click', function () {\n var newOption;\n\n try {\n if (typeof contentToOption === 'function') {\n newOption = contentToOption(viewMain, api.getOption());\n } else {\n newOption = parseContents(textarea.value, blockMetaList);\n }\n } catch (e) {\n close();\n throw new Error('Data view format error ' + e);\n }\n\n if (newOption) {\n api.dispatchAction({\n type: 'changeDataView',\n newOption: newOption\n });\n }\n\n close();\n });\n closeButton.innerHTML = lang[1];\n refreshButton.innerHTML = lang[2];\n refreshButton.style.cssText = buttonStyle;\n closeButton.style.cssText = buttonStyle;\n !model.get('readOnly') && buttonContainer.appendChild(refreshButton);\n buttonContainer.appendChild(closeButton);\n root.appendChild(header);\n root.appendChild(viewMain);\n root.appendChild(buttonContainer);\n viewMain.style.height = container.clientHeight - 80 + 'px';\n container.appendChild(root);\n this._dom = root;\n};\n\nDataView.prototype.remove = function (ecModel, api) {\n this._dom && api.getDom().removeChild(this._dom);\n};\n\nDataView.prototype.dispose = function (ecModel, api) {\n this.remove(ecModel, api);\n};\n/**\n * @inner\n */\n\n\nfunction tryMergeDataOption(newData, originalData) {\n return zrUtil.map(newData, function (newVal, idx) {\n var original = originalData && originalData[idx];\n\n if (zrUtil.isObject(original) && !zrUtil.isArray(original)) {\n var newValIsObject = zrUtil.isObject(newVal) && !zrUtil.isArray(newVal);\n\n if (!newValIsObject) {\n newVal = {\n value: newVal\n };\n } // original data has name but new data has no name\n\n\n var shouldDeleteName = original.name != null && newVal.name == null; // Original data has option\n\n newVal = zrUtil.defaults(newVal, original);\n shouldDeleteName && delete newVal.name;\n return newVal;\n } else {\n return newVal;\n }\n });\n}\n\nfeatureManager.register('dataView', DataView);\necharts.registerAction({\n type: 'changeDataView',\n event: 'dataViewChanged',\n update: 'prepareAndUpdate'\n}, function (payload, ecModel) {\n var newSeriesOptList = [];\n zrUtil.each(payload.newOption.series, function (seriesOpt) {\n var seriesModel = ecModel.getSeriesByName(seriesOpt.name)[0];\n\n if (!seriesModel) {\n // New created series\n // Geuss the series type\n newSeriesOptList.push(zrUtil.extend({\n // Default is scatter\n type: 'scatter'\n }, seriesOpt));\n } else {\n var originalData = seriesModel.get('data');\n newSeriesOptList.push({\n name: seriesOpt.name,\n data: tryMergeDataOption(seriesOpt.data, originalData)\n });\n }\n });\n ecModel.mergeOption(zrUtil.defaults({\n series: newSeriesOptList\n }, payload.newOption));\n});\nvar _default = DataView;\nmodule.exports = _default;","var Displayable = require(\"./Displayable\");\n\nvar zrUtil = require(\"../core/util\");\n\nvar textContain = require(\"../contain/text\");\n\nvar textHelper = require(\"./helper/text\");\n\nvar _constant = require(\"./constant\");\n\nvar ContextCachedBy = _constant.ContextCachedBy;\n\n/**\n * @alias zrender/graphic/Text\n * @extends module:zrender/graphic/Displayable\n * @constructor\n * @param {Object} opts\n */\nvar Text = function (opts) {\n // jshint ignore:line\n Displayable.call(this, opts);\n};\n\nText.prototype = {\n constructor: Text,\n type: 'text',\n brush: function (ctx, prevEl) {\n var style = this.style; // Optimize, avoid normalize every time.\n\n this.__dirty && textHelper.normalizeTextStyle(style, true); // Use props with prefix 'text'.\n\n style.fill = style.stroke = style.shadowBlur = style.shadowColor = style.shadowOffsetX = style.shadowOffsetY = null;\n var text = style.text; // Convert to string\n\n text != null && (text += ''); // Do not apply style.bind in Text node. Because the real bind job\n // is in textHelper.renderText, and performance of text render should\n // be considered.\n // style.bind(ctx, this, prevEl);\n\n if (!textHelper.needDrawText(text, style)) {\n // The current el.style is not applied\n // and should not be used as cache.\n ctx.__attrCachedBy = ContextCachedBy.NONE;\n return;\n }\n\n this.setTransform(ctx);\n textHelper.renderText(this, ctx, text, style, null, prevEl);\n this.restoreTransform(ctx);\n },\n getBoundingRect: function () {\n var style = this.style; // Optimize, avoid normalize every time.\n\n this.__dirty && textHelper.normalizeTextStyle(style, true);\n\n if (!this._rect) {\n var text = style.text;\n text != null ? text += '' : text = '';\n var rect = textContain.getBoundingRect(style.text + '', style.font, style.textAlign, style.textVerticalAlign, style.textPadding, style.textLineHeight, style.rich);\n rect.x += style.x || 0;\n rect.y += style.y || 0;\n\n if (textHelper.getStroke(style.textStroke, style.textStrokeWidth)) {\n var w = style.textStrokeWidth;\n rect.x -= w / 2;\n rect.y -= w / 2;\n rect.width += w;\n rect.height += w;\n }\n\n this._rect = rect;\n }\n\n return this._rect;\n }\n};\nzrUtil.inherits(Text, Displayable);\nvar _default = Text;\nmodule.exports = _default;","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var invoke = require('./invoke')\r\n\r\nvar invokeMap = invoke\r\n\r\nmodule.exports = invokeMap\r\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\nvar echarts = require(\"../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\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*/\nfunction _default(seriesType, actionInfos) {\n zrUtil.each(actionInfos, function (actionInfo) {\n actionInfo.update = 'updateView';\n /**\n * @payload\n * @property {string} seriesName\n * @property {string} name\n */\n\n echarts.registerAction(actionInfo, function (payload, ecModel) {\n var selected = {};\n ecModel.eachComponent({\n mainType: 'series',\n subType: seriesType,\n query: payload\n }, function (seriesModel) {\n if (seriesModel[actionInfo.method]) {\n seriesModel[actionInfo.method](payload.name, payload.dataIndex);\n }\n\n var data = seriesModel.getData(); // Create selected map\n\n data.each(function (idx) {\n var name = data.getName(idx);\n selected[name] = seriesModel.isSelected(name) || false;\n });\n });\n return {\n name: payload.name,\n selected: selected,\n seriesId: payload.seriesId\n };\n });\n });\n}\n\nmodule.exports = _default;","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","var helperEqualCompare = require('./helperEqualCompare')\r\nvar helperDefaultCompare = require('./helperDefaultCompare')\r\n\r\nvar isFunction = require('./isFunction')\r\nvar isUndefined = require('./isUndefined')\r\n\r\n/**\r\n * 深度比较两个对象之间的值是否相等,使用自定义比较函数\r\n *\r\n * @param {Object} obj1 值1\r\n * @param {Object} obj2 值2\r\n * @param {Function} func 自定义函数\r\n * @return {Boolean}\r\n */\r\nfunction isEqualWith (obj1, obj2, func) {\r\n if (isFunction(func)) {\r\n return helperEqualCompare(obj1, obj2, function (v1, v2, key, obj1, obj2) {\r\n var result = func(v1, v2, key, obj1, obj2)\r\n return isUndefined(result) ? helperDefaultCompare(v1, v2) : !!result\r\n }, func)\r\n }\r\n return helperEqualCompare(obj1, obj2, helperDefaultCompare)\r\n}\r\n\r\nmodule.exports = isEqualWith\r\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _xeUtils = _interopRequireDefault(require(\"xe-utils/methods/xe-utils\"));\n\nvar _tools = require(\"../../tools\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _default = {\n name: 'PlxTableFooter',\n props: {\n footerData: Array,\n tableColumn: Array,\n visibleColumn: Array,\n fixedColumn: Array,\n size: String,\n fixedType: String\n },\n mounted: function mounted() {\n var $table = this.$parent,\n $el = this.$el,\n $refs = this.$refs,\n fixedType = this.fixedType;\n var elemStore = $table.elemStore;\n var prefix = \"\".concat(fixedType || 'main', \"-footer-\");\n elemStore[\"\".concat(prefix, \"wrapper\")] = $el;\n elemStore[\"\".concat(prefix, \"table\")] = $refs.table;\n elemStore[\"\".concat(prefix, \"colgroup\")] = $refs.colgroup;\n elemStore[\"\".concat(prefix, \"list\")] = $refs.tfoot;\n elemStore[\"\".concat(prefix, \"xSpace\")] = $refs.xSpace;\n },\n render: function render(h) {\n var _e = this._e,\n $table = this.$parent,\n fixedType = this.fixedType,\n fixedColumn = this.fixedColumn,\n tableColumn = this.tableColumn,\n footerData = this.footerData;\n var tableListeners = $table.$listeners,\n id = $table.id,\n footerRowClassName = $table.footerRowClassName,\n footerCellClassName = $table.footerCellClassName,\n footerRowStyle = $table.footerRowStyle,\n footerCellStyle = $table.footerCellStyle,\n allFooterAlign = $table.footerAlign,\n footerSpanMethod = $table.footerSpanMethod,\n allAlign = $table.align,\n scrollXLoad = $table.scrollXLoad,\n columnKey = $table.columnKey,\n allColumnOverflow = $table.showOverflow,\n overflowX = $table.overflowX,\n scrollbarWidth = $table.scrollbarWidth,\n getColumnIndex = $table.getColumnIndex; // 如果是使用优化模式\n\n if (fixedType && allColumnOverflow) {\n tableColumn = fixedColumn;\n } else if (scrollXLoad) {\n if (fixedType) {\n tableColumn = fixedColumn;\n }\n }\n\n return h('div', {\n class: ['plx-table--footer-wrapper', fixedType ? \"fixed-\".concat(fixedType, \"--wrapper\") : 'body--wrapper'],\n attrs: {\n 'data-tid': id\n },\n on: {\n scroll: this.scrollEvent\n }\n }, [fixedType ? _e() : h('div', {\n class: 'plx-body--x-space',\n ref: 'xSpace'\n }), h('table', {\n class: 'plx-table--footer',\n attrs: {\n 'data-tid': id,\n cellspacing: 0,\n cellpadding: 0,\n border: 0\n },\n ref: 'table'\n }, [\n /**\n * 列宽\n */\n h('colgroup', {\n ref: 'colgroup'\n }, tableColumn.map(function (column, columnIndex) {\n return h('col', {\n attrs: {\n name: column.id\n },\n key: columnIndex\n });\n }).concat(scrollbarWidth ? [h('col', {\n attrs: {\n name: 'col_gutter'\n }\n })] : [])),\n /**\n * 底部\n */\n h('tfoot', {\n ref: 'tfoot'\n }, footerData.map(function (list, $rowIndex) {\n return h('tr', {\n class: ['plx-footer--row', footerRowClassName ? _xeUtils.default.isFunction(footerRowClassName) ? footerRowClassName({\n $table: $table,\n $rowIndex: $rowIndex,\n fixed: fixedType\n }) : footerRowClassName : ''],\n style: footerRowStyle ? _xeUtils.default.isFunction(footerRowStyle) ? footerRowStyle({\n $table: $table,\n $rowIndex: $rowIndex,\n fixed: fixedType\n }) : footerRowStyle : null\n }, tableColumn.map(function (column, $columnIndex) {\n var _ref2;\n\n var showOverflow = column.showOverflow,\n footerAlign = column.footerAlign,\n align = column.align,\n footerClassName = column.footerClassName;\n var isColGroup = column.children && column.children.length;\n var fixedHiddenColumn = fixedType ? column.fixed !== fixedType && !isColGroup : column.fixed && overflowX;\n var cellOverflow = _xeUtils.default.isUndefined(showOverflow) || _xeUtils.default.isNull(showOverflow) ? allColumnOverflow : showOverflow;\n var footAlign = footerAlign || align || allFooterAlign || allAlign;\n var showEllipsis = cellOverflow === 'ellipsis';\n var showTitle = cellOverflow === 'title';\n var showTooltip = cellOverflow === true || cellOverflow === 'tooltip';\n var hasEllipsis = showTitle || showTooltip || showEllipsis;\n var attrs = {\n 'data-colid': column.id\n };\n var tfOns = {}; // 确保任何情况下 columnIndex 都精准指向真实列索引\n\n var columnIndex = getColumnIndex(column);\n var params = {\n $table: $table,\n $rowIndex: $rowIndex,\n column: column,\n columnIndex: columnIndex,\n $columnIndex: $columnIndex,\n fixed: fixedType\n };\n\n if (showTitle || showTooltip) {\n tfOns.mouseenter = function (evnt) {\n if (showTitle) {\n _tools.DomTools.updateCellTitle(evnt);\n } else if (showTooltip) {\n $table.triggerFooterTooltipEvent(evnt, {\n $table: $table,\n $rowIndex: $rowIndex,\n column: column,\n columnIndex: columnIndex,\n $columnIndex: $columnIndex,\n fixed: fixedType\n });\n }\n };\n }\n\n if (showTooltip) {\n tfOns.mouseleave = function (evnt) {\n if (showTooltip) {\n $table.handleTargetLeaveEvent(evnt);\n }\n };\n }\n\n if (tableListeners['header-cell-click']) {\n tfOns.click = function (evnt) {\n _tools.UtilTools.emitEvent($table, 'header-cell-click', [{\n $table: $table,\n $rowIndex: $rowIndex,\n column: column,\n columnIndex: columnIndex,\n $columnIndex: $columnIndex,\n fixed: fixedType,\n cell: evnt.currentTarget\n }, evnt]);\n };\n }\n\n if (tableListeners['header-cell-dblclick']) {\n tfOns.dblclick = function (evnt) {\n _tools.UtilTools.emitEvent($table, 'header-cell-dblclick', [{\n $table: $table,\n $rowIndex: $rowIndex,\n column: column,\n columnIndex: columnIndex,\n $columnIndex: $columnIndex,\n fixed: fixedType,\n cell: evnt.currentTarget\n }, evnt]);\n };\n } // 合并行或列\n\n\n if (footerSpanMethod) {\n var _ref = footerSpanMethod({\n $table: $table,\n $rowIndex: $rowIndex,\n column: column,\n columnIndex: columnIndex,\n $columnIndex: $columnIndex,\n fixed: fixedType,\n data: footerData\n }) || {},\n _ref$rowspan = _ref.rowspan,\n rowspan = _ref$rowspan === void 0 ? 1 : _ref$rowspan,\n _ref$colspan = _ref.colspan,\n colspan = _ref$colspan === void 0 ? 1 : _ref$colspan;\n\n if (!rowspan || !colspan) {\n return null;\n }\n\n attrs.rowspan = rowspan;\n attrs.colspan = colspan;\n }\n\n var type = column.type === 'seq' || column.type === 'index' ? 'seq' : column.type;\n return h('td', {\n class: ['plx-footer--column', column.id, (_ref2 = {}, _defineProperty(_ref2, \"col--\".concat(footAlign), footAlign), _defineProperty(_ref2, \"col--\".concat(type), type), _defineProperty(_ref2, 'col--last', $columnIndex === tableColumn.length - 1), _defineProperty(_ref2, 'fixed--hidden', fixedHiddenColumn), _defineProperty(_ref2, 'col--ellipsis', hasEllipsis), _defineProperty(_ref2, 'filter--active', column.filters && column.filters.some(function (item) {\n return item.checked;\n })), _ref2), _tools.UtilTools.getClass(footerClassName, params), _tools.UtilTools.getClass(footerCellClassName, params)],\n attrs: attrs,\n style: footerCellStyle ? _xeUtils.default.isFunction(footerCellStyle) ? footerCellStyle({\n $table: $table,\n $rowIndex: $rowIndex,\n column: column,\n columnIndex: columnIndex,\n $columnIndex: $columnIndex,\n fixed: fixedType\n }) : footerCellStyle : null,\n on: tfOns,\n key: columnKey ? column.id : columnIndex\n }, [h('div', {\n class: 'plx-cell'\n }, _tools.UtilTools.formatText(list[$table.tableColumn.indexOf(column)], 1))]);\n }).concat(scrollbarWidth ? [h('td', {\n class: 'col--gutter'\n })] : []));\n }))])]);\n },\n methods: {\n /**\n * 滚动处理\n * 如果存在列固定左侧,同步更新滚动状态\n * 如果存在列固定右侧,同步更新滚动状态\n */\n scrollEvent: function scrollEvent(evnt) {\n var $table = this.$parent,\n fixedType = this.fixedType;\n var $refs = $table.$refs,\n scrollXLoad = $table.scrollXLoad,\n triggerScrollXEvent = $table.triggerScrollXEvent,\n lastScrollLeft = $table.lastScrollLeft;\n var tableHeader = $refs.tableHeader;\n var headerElem = tableHeader ? tableHeader.$el : null;\n var bodyElem = $refs.tableBody.$el;\n var footerElem = $refs.tableFooter.$el;\n var scrollLeft = footerElem.scrollLeft;\n var isX = scrollLeft !== lastScrollLeft;\n $table.lastScrollLeft = scrollLeft;\n $table.lastScrollTime = Date.now();\n\n if (headerElem) {\n headerElem.scrollLeft = scrollLeft;\n }\n\n if (bodyElem) {\n bodyElem.scrollLeft = scrollLeft;\n }\n\n if (scrollXLoad && isX) {\n triggerScrollXEvent(evnt);\n }\n\n _tools.UtilTools.emitEvent($table, 'scroll', [{\n type: 'footer',\n fixed: fixedType,\n scrollTop: bodyElem.scrollTop,\n scrollLeft: scrollLeft,\n isX: isX,\n isY: false,\n $table: $table\n }, evnt]);\n }\n }\n};\nexports.default = _default;","\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\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Axis = require(\"../Axis\");\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*/\nfunction IndicatorAxis(dim, scale, radiusExtent) {\n Axis.call(this, dim, scale, radiusExtent);\n /**\n * Axis type\n * - 'category'\n * - 'value'\n * - 'time'\n * - 'log'\n * @type {string}\n */\n\n this.type = 'value';\n this.angle = 0;\n /**\n * Indicator name\n * @type {string}\n */\n\n this.name = '';\n /**\n * @type {module:echarts/model/Model}\n */\n\n this.model;\n}\n\nzrUtil.inherits(IndicatorAxis, Axis);\nvar _default = IndicatorAxis;\nmodule.exports = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.Tooltip = void 0;\n\nvar _tooltip = _interopRequireDefault(require(\"./src/tooltip\"));\n\nvar _vXETable = _interopRequireDefault(require(\"../v-x-e-table\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_tooltip.default.install = function (Vue) {\n _vXETable.default._tooltip = 1;\n Vue.component(_tooltip.default.name, _tooltip.default);\n};\n\nvar Tooltip = _tooltip.default;\nexports.Tooltip = Tooltip;\nvar _default = _tooltip.default;\nexports.default = _default;","\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\nvar zrUtil = require(\"zrender/lib/core/util\");\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// Backward compat for radar chart in 2\nfunction _default(option) {\n var polarOptArr = option.polar;\n\n if (polarOptArr) {\n if (!zrUtil.isArray(polarOptArr)) {\n polarOptArr = [polarOptArr];\n }\n\n var polarNotRadar = [];\n zrUtil.each(polarOptArr, function (polarOpt, idx) {\n if (polarOpt.indicator) {\n if (polarOpt.type && !polarOpt.shape) {\n polarOpt.shape = polarOpt.type;\n }\n\n option.radar = option.radar || [];\n\n if (!zrUtil.isArray(option.radar)) {\n option.radar = [option.radar];\n }\n\n option.radar.push(polarOpt);\n } else {\n polarNotRadar.push(polarOpt);\n }\n });\n option.polar = polarNotRadar;\n }\n\n zrUtil.each(option.series, function (seriesOpt) {\n if (seriesOpt && seriesOpt.type === 'radar' && seriesOpt.polarIndex) {\n seriesOpt.radarIndex = seriesOpt.polarIndex;\n }\n });\n}\n\nmodule.exports = _default;","\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\nvar echarts = require(\"../../echarts\");\n\nrequire(\"./AxisModel\");\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*/\nvar _default = echarts.extendComponentModel({\n type: 'polar',\n dependencies: ['polarAxis', 'angleAxis'],\n\n /**\n * @type {module:echarts/coord/polar/Polar}\n */\n coordinateSystem: null,\n\n /**\n * @param {string} axisType\n * @return {module:echarts/coord/polar/AxisModel}\n */\n findAxisModel: function (axisType) {\n var foundAxisModel;\n var ecModel = this.ecModel;\n ecModel.eachComponent(axisType, function (axisModel) {\n if (axisModel.getCoordSysModel() === this) {\n foundAxisModel = axisModel;\n }\n }, this);\n return foundAxisModel;\n },\n defaultOption: {\n zlevel: 0,\n z: 0,\n center: ['50%', '50%'],\n radius: '80%'\n }\n});\n\nmodule.exports = _default;","function helperStringLowerCase (str) {\r\n return str.toLowerCase()\r\n}\r\n\r\nmodule.exports = helperStringLowerCase\r\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\nvar _layout = require(\"../../util/layout\");\n\nvar getLayoutRect = _layout.getLayoutRect;\nvar layoutBox = _layout.box;\nvar positionElement = _layout.positionElement;\n\nvar formatUtil = require(\"../../util/format\");\n\nvar graphic = require(\"../../util/graphic\");\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 * Layout list like component.\n * It will box layout each items in group of component and then position the whole group in the viewport\n * @param {module:zrender/group/Group} group\n * @param {module:echarts/model/Component} componentModel\n * @param {module:echarts/ExtensionAPI}\n */\nfunction layout(group, componentModel, api) {\n var boxLayoutParams = componentModel.getBoxLayoutParams();\n var padding = componentModel.get('padding');\n var viewportSize = {\n width: api.getWidth(),\n height: api.getHeight()\n };\n var rect = getLayoutRect(boxLayoutParams, viewportSize, padding);\n layoutBox(componentModel.get('orient'), group, componentModel.get('itemGap'), rect.width, rect.height);\n positionElement(group, boxLayoutParams, viewportSize, padding);\n}\n\nfunction makeBackground(rect, componentModel) {\n var padding = formatUtil.normalizeCssArray(componentModel.get('padding'));\n var style = componentModel.getItemStyle(['color', 'opacity']);\n style.fill = componentModel.get('backgroundColor');\n var rect = new graphic.Rect({\n shape: {\n x: rect.x - padding[3],\n y: rect.y - padding[0],\n width: rect.width + padding[1] + padding[3],\n height: rect.height + padding[0] + padding[2],\n r: componentModel.get('borderRadius')\n },\n style: style,\n silent: true,\n z2: -1\n }); // FIXME\n // `subPixelOptimizeRect` may bring some gap between edge of viewpart\n // and background rect when setting like `left: 0`, `top: 0`.\n // graphic.subPixelOptimizeRect(rect);\n\n return rect;\n}\n\nexports.layout = layout;\nexports.makeBackground = makeBackground;","\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\nrequire(\"../coord/polar/polarCreator\");\n\nrequire(\"./axis/RadiusAxisView\");","/*!\n * wordcloud2.js\n * http://timdream.org/wordcloud2.js/\n *\n * Copyright 2011 - 2013 Tim Chien\n * Released under the MIT license\n */\n\n'use strict';\n\n// setImmediate\nif (!window.setImmediate) {\n window.setImmediate = (function setupSetImmediate() {\n return window.msSetImmediate ||\n window.webkitSetImmediate ||\n window.mozSetImmediate ||\n window.oSetImmediate ||\n (function setupSetZeroTimeout() {\n if (!window.postMessage || !window.addEventListener) {\n return null;\n }\n\n var callbacks = [undefined];\n var message = 'zero-timeout-message';\n\n // Like setTimeout, but only takes a function argument. There's\n // no time argument (always zero) and no arguments (you have to\n // use a closure).\n var setZeroTimeout = function setZeroTimeout(callback) {\n var id = callbacks.length;\n callbacks.push(callback);\n window.postMessage(message + id.toString(36), '*');\n\n return id;\n };\n\n window.addEventListener('message', function setZeroTimeoutMessage(evt) {\n // Skipping checking event source, retarded IE confused this window\n // object with another in the presence of iframe\n if (typeof evt.data !== 'string' ||\n evt.data.substr(0, message.length) !== message/* ||\n evt.source !== window */) {\n return;\n }\n\n evt.stopImmediatePropagation();\n\n var id = parseInt(evt.data.substr(message.length), 36);\n if (!callbacks[id]) {\n return;\n }\n\n callbacks[id]();\n callbacks[id] = undefined;\n }, true);\n\n /* specify clearImmediate() here since we need the scope */\n window.clearImmediate = function clearZeroTimeout(id) {\n if (!callbacks[id]) {\n return;\n }\n\n callbacks[id] = undefined;\n };\n\n return setZeroTimeout;\n })() ||\n // fallback\n function setImmediateFallback(fn) {\n window.setTimeout(fn, 0);\n };\n })();\n}\n\nif (!window.clearImmediate) {\n window.clearImmediate = (function setupClearImmediate() {\n return window.msClearImmediate ||\n window.webkitClearImmediate ||\n window.mozClearImmediate ||\n window.oClearImmediate ||\n // \"clearZeroTimeout\" is implement on the previous block ||\n // fallback\n function clearImmediateFallback(timer) {\n window.clearTimeout(timer);\n };\n })();\n}\n\n(function(global) {\n\n // Check if WordCloud can run on this browser\n var isSupported = (function isSupported() {\n var canvas = document.createElement('canvas');\n if (!canvas || !canvas.getContext) {\n return false;\n }\n\n var ctx = canvas.getContext('2d');\n if (!ctx.getImageData) {\n return false;\n }\n if (!ctx.fillText) {\n return false;\n }\n\n if (!Array.prototype.some) {\n return false;\n }\n if (!Array.prototype.push) {\n return false;\n }\n\n return true;\n }());\n\n // Find out if the browser impose minium font size by\n // drawing small texts on a canvas and measure it's width.\n var minFontSize = (function getMinFontSize() {\n if (!isSupported) {\n return;\n }\n\n var ctx = document.createElement('canvas').getContext('2d');\n\n // start from 20\n var size = 20;\n\n // two sizes to measure\n var hanWidth, mWidth;\n\n while (size) {\n ctx.font = size.toString(10) + 'px sans-serif';\n if ((ctx.measureText('\\uFF37').width === hanWidth) &&\n (ctx.measureText('m').width) === mWidth) {\n return (size + 1);\n }\n\n hanWidth = ctx.measureText('\\uFF37').width;\n mWidth = ctx.measureText('m').width;\n\n size--;\n }\n\n return 0;\n })();\n\n // Based on http://jsfromhell.com/array/shuffle\n var shuffleArray = function shuffleArray(arr) {\n for (var j, x, i = arr.length; i;\n j = Math.floor(Math.random() * i),\n x = arr[--i], arr[i] = arr[j],\n arr[j] = x) {}\n return arr;\n };\n\n var WordCloud = function WordCloud(elements, options) {\n if (!isSupported) {\n return;\n }\n\n if (!Array.isArray(elements)) {\n elements = [elements];\n }\n\n elements.forEach(function(el, i) {\n if (typeof el === 'string') {\n elements[i] = document.getElementById(el);\n if (!elements[i]) {\n throw 'The element id specified is not found.';\n }\n } else if (!el.tagName && !el.appendChild) {\n throw 'You must pass valid HTML elements, or ID of the element.';\n }\n });\n\n /* Default values to be overwritten by options object */\n var settings = {\n list: [],\n fontFamily: '\"Trebuchet MS\", \"Heiti TC\", \"微軟正黑體\", ' +\n '\"Arial Unicode MS\", \"Droid Fallback Sans\", sans-serif',\n fontWeight: 'normal',\n color: 'random-dark',\n minSize: 0, // 0 to disable\n weightFactor: 1,\n clearCanvas: true,\n backgroundColor: '#fff', // opaque white = rgba(255, 255, 255, 1)\n\n gridSize: 8,\n drawOutOfBound: false,\n origin: null,\n\n drawMask: false,\n maskColor: 'rgba(255,0,0,0.3)',\n maskGapWidth: 0.3,\n\n wait: 0,\n abortThreshold: 0, // disabled\n abort: function noop() {},\n\n minRotation: - Math.PI / 2,\n maxRotation: Math.PI / 2,\n rotationStep: 0.1,\n\n shuffle: true,\n rotateRatio: 0.1,\n\n shape: 'circle',\n ellipticity: 0.65,\n\n classes: null,\n\n hover: null,\n click: null\n };\n\n if (options) {\n for (var key in options) {\n if (key in settings) {\n settings[key] = options[key];\n }\n }\n }\n\n /* Convert weightFactor into a function */\n if (typeof settings.weightFactor !== 'function') {\n var factor = settings.weightFactor;\n settings.weightFactor = function weightFactor(pt) {\n return pt * factor; //in px\n };\n }\n\n /* Convert shape into a function */\n if (typeof settings.shape !== 'function') {\n switch (settings.shape) {\n case 'circle':\n /* falls through */\n default:\n // 'circle' is the default and a shortcut in the code loop.\n settings.shape = 'circle';\n break;\n\n case 'cardioid':\n settings.shape = function shapeCardioid(theta) {\n return 1 - Math.sin(theta);\n };\n break;\n\n /*\n To work out an X-gon, one has to calculate \"m\",\n where 1/(cos(2*PI/X)+m*sin(2*PI/X)) = 1/(cos(0)+m*sin(0))\n http://www.wolframalpha.com/input/?i=1%2F%28cos%282*PI%2FX%29%2Bm*sin%28\n 2*PI%2FX%29%29+%3D+1%2F%28cos%280%29%2Bm*sin%280%29%29\n Copy the solution into polar equation r = 1/(cos(t') + m*sin(t'))\n where t' equals to mod(t, 2PI/X);\n */\n\n case 'diamond':\n case 'square':\n // http://www.wolframalpha.com/input/?i=plot+r+%3D+1%2F%28cos%28mod+\n // %28t%2C+PI%2F2%29%29%2Bsin%28mod+%28t%2C+PI%2F2%29%29%29%2C+t+%3D\n // +0+..+2*PI\n settings.shape = function shapeSquare(theta) {\n var thetaPrime = theta % (2 * Math.PI / 4);\n return 1 / (Math.cos(thetaPrime) + Math.sin(thetaPrime));\n };\n break;\n\n case 'triangle-forward':\n // http://www.wolframalpha.com/input/?i=plot+r+%3D+1%2F%28cos%28mod+\n // %28t%2C+2*PI%2F3%29%29%2Bsqrt%283%29sin%28mod+%28t%2C+2*PI%2F3%29\n // %29%29%2C+t+%3D+0+..+2*PI\n settings.shape = function shapeTriangle(theta) {\n var thetaPrime = theta % (2 * Math.PI / 3);\n return 1 / (Math.cos(thetaPrime) +\n Math.sqrt(3) * Math.sin(thetaPrime));\n };\n break;\n\n case 'triangle':\n case 'triangle-upright':\n settings.shape = function shapeTriangle(theta) {\n var thetaPrime = (theta + Math.PI * 3 / 2) % (2 * Math.PI / 3);\n return 1 / (Math.cos(thetaPrime) +\n Math.sqrt(3) * Math.sin(thetaPrime));\n };\n break;\n\n case 'pentagon':\n settings.shape = function shapePentagon(theta) {\n var thetaPrime = (theta + 0.955) % (2 * Math.PI / 5);\n return 1 / (Math.cos(thetaPrime) +\n 0.726543 * Math.sin(thetaPrime));\n };\n break;\n\n case 'star':\n settings.shape = function shapeStar(theta) {\n var thetaPrime = (theta + 0.955) % (2 * Math.PI / 10);\n if ((theta + 0.955) % (2 * Math.PI / 5) - (2 * Math.PI / 10) >= 0) {\n return 1 / (Math.cos((2 * Math.PI / 10) - thetaPrime) +\n 3.07768 * Math.sin((2 * Math.PI / 10) - thetaPrime));\n } else {\n return 1 / (Math.cos(thetaPrime) +\n 3.07768 * Math.sin(thetaPrime));\n }\n };\n break;\n }\n }\n\n /* Make sure gridSize is a whole number and is not smaller than 4px */\n settings.gridSize = Math.max(Math.floor(settings.gridSize), 4);\n\n /* shorthand */\n var g = settings.gridSize;\n var maskRectWidth = g - settings.maskGapWidth;\n\n /* normalize rotation settings */\n var rotationRange = Math.abs(settings.maxRotation - settings.minRotation);\n var minRotation = Math.min(settings.maxRotation, settings.minRotation);\n var rotationStep = settings.rotationStep;\n\n /* information/object available to all functions, set when start() */\n var grid, // 2d array containing filling information\n ngx, ngy, // width and height of the grid\n center, // position of the center of the cloud\n maxRadius;\n\n /* timestamp for measuring each putWord() action */\n var escapeTime;\n\n /* function for getting the color of the text */\n var getTextColor;\n function random_hsl_color(min, max) {\n return 'hsl(' +\n (Math.random() * 360).toFixed() + ',' +\n (Math.random() * 30 + 70).toFixed() + '%,' +\n (Math.random() * (max - min) + min).toFixed() + '%)';\n }\n switch (settings.color) {\n case 'random-dark':\n getTextColor = function getRandomDarkColor() {\n return random_hsl_color(10, 50);\n };\n break;\n\n case 'random-light':\n getTextColor = function getRandomLightColor() {\n return random_hsl_color(50, 90);\n };\n break;\n\n default:\n if (typeof settings.color === 'function') {\n getTextColor = settings.color;\n }\n break;\n }\n\n /* function for getting the classes of the text */\n var getTextClasses = null;\n if (typeof settings.classes === 'function') {\n getTextClasses = settings.classes;\n }\n\n /* Interactive */\n var interactive = false;\n var infoGrid = [];\n var hovered;\n\n var getInfoGridFromMouseTouchEvent =\n function getInfoGridFromMouseTouchEvent(evt) {\n var canvas = evt.currentTarget;\n var rect = canvas.getBoundingClientRect();\n var clientX;\n var clientY;\n /** Detect if touches are available */\n if (evt.touches) {\n clientX = evt.touches[0].clientX;\n clientY = evt.touches[0].clientY;\n } else {\n clientX = evt.clientX;\n clientY = evt.clientY;\n }\n var eventX = clientX - rect.left;\n var eventY = clientY - rect.top;\n\n var x = Math.floor(eventX * ((canvas.width / rect.width) || 1) / g);\n var y = Math.floor(eventY * ((canvas.height / rect.height) || 1) / g);\n\n return infoGrid[x][y];\n };\n\n var wordcloudhover = function wordcloudhover(evt) {\n var info = getInfoGridFromMouseTouchEvent(evt);\n\n if (hovered === info) {\n return;\n }\n\n hovered = info;\n if (!info) {\n settings.hover(undefined, undefined, evt);\n\n return;\n }\n\n settings.hover(info.item, info.dimension, evt);\n\n };\n\n var wordcloudclick = function wordcloudclick(evt) {\n var info = getInfoGridFromMouseTouchEvent(evt);\n if (!info) {\n return;\n }\n\n settings.click(info.item, info.dimension, evt);\n evt.preventDefault();\n };\n\n /* Get points on the grid for a given radius away from the center */\n var pointsAtRadius = [];\n var getPointsAtRadius = function getPointsAtRadius(radius) {\n if (pointsAtRadius[radius]) {\n return pointsAtRadius[radius];\n }\n\n // Look for these number of points on each radius\n var T = radius * 8;\n\n // Getting all the points at this radius\n var t = T;\n var points = [];\n\n if (radius === 0) {\n points.push([center[0], center[1], 0]);\n }\n\n while (t--) {\n // distort the radius to put the cloud in shape\n var rx = 1;\n if (settings.shape !== 'circle') {\n rx = settings.shape(t / T * 2 * Math.PI); // 0 to 1\n }\n\n // Push [x, y, t]; t is used solely for getTextColor()\n points.push([\n center[0] + radius * rx * Math.cos(-t / T * 2 * Math.PI),\n center[1] + radius * rx * Math.sin(-t / T * 2 * Math.PI) *\n settings.ellipticity,\n t / T * 2 * Math.PI]);\n }\n\n pointsAtRadius[radius] = points;\n return points;\n };\n\n /* Return true if we had spent too much time */\n var exceedTime = function exceedTime() {\n return ((settings.abortThreshold > 0) &&\n ((new Date()).getTime() - escapeTime > settings.abortThreshold));\n };\n\n /* Get the deg of rotation according to settings, and luck. */\n var getRotateDeg = function getRotateDeg() {\n if (settings.rotateRatio === 0) {\n return 0;\n }\n\n if (Math.random() > settings.rotateRatio) {\n return 0;\n }\n\n if (rotationRange === 0) {\n return minRotation;\n }\n\n return minRotation + Math.round(Math.random() * rotationRange / rotationStep) * rotationStep;\n };\n\n var getTextInfo = function getTextInfo(word, weight, rotateDeg) {\n // calculate the acutal font size\n // fontSize === 0 means weightFactor function wants the text skipped,\n // and size < minSize means we cannot draw the text.\n var debug = false;\n var fontSize = settings.weightFactor(weight);\n if (fontSize <= settings.minSize) {\n return false;\n }\n\n // Scale factor here is to make sure fillText is not limited by\n // the minium font size set by browser.\n // It will always be 1 or 2n.\n var mu = 1;\n if (fontSize < minFontSize) {\n mu = (function calculateScaleFactor() {\n var mu = 2;\n while (mu * fontSize < minFontSize) {\n mu += 2;\n }\n return mu;\n })();\n }\n\n var fcanvas = document.createElement('canvas');\n var fctx = fcanvas.getContext('2d', { willReadFrequently: true });\n\n fctx.font = settings.fontWeight + ' ' +\n (fontSize * mu).toString(10) + 'px ' + settings.fontFamily;\n\n // Estimate the dimension of the text with measureText().\n var fw = fctx.measureText(word).width / mu;\n var fh = Math.max(fontSize * mu,\n fctx.measureText('m').width,\n fctx.measureText('\\uFF37').width) / mu;\n\n // Create a boundary box that is larger than our estimates,\n // so text don't get cut of (it sill might)\n var boxWidth = fw + fh * 2;\n var boxHeight = fh * 3;\n var fgw = Math.ceil(boxWidth / g);\n var fgh = Math.ceil(boxHeight / g);\n boxWidth = fgw * g;\n boxHeight = fgh * g;\n\n // Calculate the proper offsets to make the text centered at\n // the preferred position.\n\n // This is simply half of the width.\n var fillTextOffsetX = - fw / 2;\n // Instead of moving the box to the exact middle of the preferred\n // position, for Y-offset we move 0.4 instead, so Latin alphabets look\n // vertical centered.\n var fillTextOffsetY = - fh * 0.4;\n\n // Calculate the actual dimension of the canvas, considering the rotation.\n var cgh = Math.ceil((boxWidth * Math.abs(Math.sin(rotateDeg)) +\n boxHeight * Math.abs(Math.cos(rotateDeg))) / g);\n var cgw = Math.ceil((boxWidth * Math.abs(Math.cos(rotateDeg)) +\n boxHeight * Math.abs(Math.sin(rotateDeg))) / g);\n var width = cgw * g;\n var height = cgh * g;\n\n fcanvas.setAttribute('width', width);\n fcanvas.setAttribute('height', height);\n\n if (debug) {\n // Attach fcanvas to the DOM\n document.body.appendChild(fcanvas);\n // Save it's state so that we could restore and draw the grid correctly.\n fctx.save();\n }\n\n // Scale the canvas with |mu|.\n fctx.scale(1 / mu, 1 / mu);\n fctx.translate(width * mu / 2, height * mu / 2);\n fctx.rotate(- rotateDeg);\n\n // Once the width/height is set, ctx info will be reset.\n // Set it again here.\n fctx.font = settings.fontWeight + ' ' +\n (fontSize * mu).toString(10) + 'px ' + settings.fontFamily;\n\n // Fill the text into the fcanvas.\n // XXX: We cannot because textBaseline = 'top' here because\n // Firefox and Chrome uses different default line-height for canvas.\n // Please read https://bugzil.la/737852#c6.\n // Here, we use textBaseline = 'middle' and draw the text at exactly\n // 0.5 * fontSize lower.\n fctx.fillStyle = '#000';\n fctx.textBaseline = 'middle';\n fctx.fillText(word, fillTextOffsetX * mu,\n (fillTextOffsetY + fontSize * 0.5) * mu);\n\n // Get the pixels of the text\n var imageData = fctx.getImageData(0, 0, width, height).data;\n\n if (exceedTime()) {\n return false;\n }\n\n if (debug) {\n // Draw the box of the original estimation\n fctx.strokeRect(fillTextOffsetX * mu,\n fillTextOffsetY, fw * mu, fh * mu);\n fctx.restore();\n }\n\n // Read the pixels and save the information to the occupied array\n var occupied = [];\n var gx = cgw, gy, x, y;\n var bounds = [cgh / 2, cgw / 2, cgh / 2, cgw / 2];\n while (gx--) {\n gy = cgh;\n while (gy--) {\n y = g;\n singleGridLoop: {\n while (y--) {\n x = g;\n while (x--) {\n if (imageData[((gy * g + y) * width +\n (gx * g + x)) * 4 + 3]) {\n occupied.push([gx, gy]);\n\n if (gx < bounds[3]) {\n bounds[3] = gx;\n }\n if (gx > bounds[1]) {\n bounds[1] = gx;\n }\n if (gy < bounds[0]) {\n bounds[0] = gy;\n }\n if (gy > bounds[2]) {\n bounds[2] = gy;\n }\n\n if (debug) {\n fctx.fillStyle = 'rgba(255, 0, 0, 0.5)';\n fctx.fillRect(gx * g, gy * g, g - 0.5, g - 0.5);\n }\n break singleGridLoop;\n }\n }\n }\n if (debug) {\n fctx.fillStyle = 'rgba(0, 0, 255, 0.5)';\n fctx.fillRect(gx * g, gy * g, g - 0.5, g - 0.5);\n }\n }\n }\n }\n\n if (debug) {\n fctx.fillStyle = 'rgba(0, 255, 0, 0.5)';\n fctx.fillRect(bounds[3] * g,\n bounds[0] * g,\n (bounds[1] - bounds[3] + 1) * g,\n (bounds[2] - bounds[0] + 1) * g);\n }\n\n // Return information needed to create the text on the real canvas\n return {\n mu: mu,\n occupied: occupied,\n bounds: bounds,\n gw: cgw,\n gh: cgh,\n fillTextOffsetX: fillTextOffsetX,\n fillTextOffsetY: fillTextOffsetY,\n fillTextWidth: fw,\n fillTextHeight: fh,\n fontSize: fontSize\n };\n };\n\n /* Determine if there is room available in the given dimension */\n var canFitText = function canFitText(gx, gy, gw, gh, occupied) {\n // Go through the occupied points,\n // return false if the space is not available.\n var i = occupied.length;\n while (i--) {\n var px = gx + occupied[i][0];\n var py = gy + occupied[i][1];\n\n if (px >= ngx || py >= ngy || px < 0 || py < 0) {\n if (!settings.drawOutOfBound) {\n return false;\n }\n continue;\n }\n\n if (!grid[px][py]) {\n return false;\n }\n }\n return true;\n };\n\n /* Actually draw the text on the grid */\n var drawText = function drawText(gx, gy, info, word, weight,\n distance, theta, rotateDeg, attributes) {\n\n var fontSize = info.fontSize;\n var color;\n if (getTextColor) {\n color = getTextColor(word, weight, fontSize, distance, theta);\n } else {\n color = settings.color;\n }\n\n var classes;\n if (getTextClasses) {\n classes = getTextClasses(word, weight, fontSize, distance, theta);\n } else {\n classes = settings.classes;\n }\n\n var dimension;\n var bounds = info.bounds;\n dimension = {\n x: (gx + bounds[3]) * g,\n y: (gy + bounds[0]) * g,\n w: (bounds[1] - bounds[3] + 1) * g,\n h: (bounds[2] - bounds[0] + 1) * g\n };\n\n elements.forEach(function(el) {\n if (el.getContext) {\n var ctx = el.getContext('2d');\n var mu = info.mu;\n\n // Save the current state before messing it\n ctx.save();\n ctx.scale(1 / mu, 1 / mu);\n\n ctx.font = settings.fontWeight + ' ' +\n (fontSize * mu).toString(10) + 'px ' + settings.fontFamily;\n ctx.fillStyle = color;\n\n // Translate the canvas position to the origin coordinate of where\n // the text should be put.\n ctx.translate((gx + info.gw / 2) * g * mu,\n (gy + info.gh / 2) * g * mu);\n\n if (rotateDeg !== 0) {\n ctx.rotate(- rotateDeg);\n }\n\n // Finally, fill the text.\n\n // XXX: We cannot because textBaseline = 'top' here because\n // Firefox and Chrome uses different default line-height for canvas.\n // Please read https://bugzil.la/737852#c6.\n // Here, we use textBaseline = 'middle' and draw the text at exactly\n // 0.5 * fontSize lower.\n ctx.textBaseline = 'middle';\n ctx.fillText(word, info.fillTextOffsetX * mu,\n (info.fillTextOffsetY + fontSize * 0.5) * mu);\n\n // The below box is always matches how s are positioned\n /* ctx.strokeRect(info.fillTextOffsetX, info.fillTextOffsetY,\n info.fillTextWidth, info.fillTextHeight); */\n\n // Restore the state.\n ctx.restore();\n } else {\n // drawText on DIV element\n var span = document.createElement('span');\n var transformRule = '';\n transformRule = 'rotate(' + (- rotateDeg / Math.PI * 180) + 'deg) ';\n if (info.mu !== 1) {\n transformRule +=\n 'translateX(-' + (info.fillTextWidth / 4) + 'px) ' +\n 'scale(' + (1 / info.mu) + ')';\n }\n var styleRules = {\n 'position': 'absolute',\n 'display': 'block',\n 'font': settings.fontWeight + ' ' +\n (fontSize * info.mu) + 'px ' + settings.fontFamily,\n 'left': ((gx + info.gw / 2) * g + info.fillTextOffsetX) + 'px',\n 'top': ((gy + info.gh / 2) * g + info.fillTextOffsetY) + 'px',\n 'width': info.fillTextWidth + 'px',\n 'height': info.fillTextHeight + 'px',\n 'lineHeight': fontSize + 'px',\n 'whiteSpace': 'nowrap',\n 'transform': transformRule,\n 'webkitTransform': transformRule,\n 'msTransform': transformRule,\n 'transformOrigin': '50% 40%',\n 'webkitTransformOrigin': '50% 40%',\n 'msTransformOrigin': '50% 40%'\n };\n if (color) {\n styleRules.color = color;\n }\n span.textContent = word;\n for (var cssProp in styleRules) {\n span.style[cssProp] = styleRules[cssProp];\n }\n if (attributes) {\n for (var attribute in attributes) {\n span.setAttribute(attribute, attributes[attribute]);\n }\n }\n if (classes) {\n span.className += classes;\n }\n el.appendChild(span);\n }\n });\n };\n\n /* Help function to updateGrid */\n var fillGridAt = function fillGridAt(x, y, drawMask, dimension, item) {\n if (x >= ngx || y >= ngy || x < 0 || y < 0) {\n return;\n }\n\n grid[x][y] = false;\n\n if (drawMask) {\n var ctx = elements[0].getContext('2d');\n ctx.fillRect(x * g, y * g, maskRectWidth, maskRectWidth);\n }\n\n if (interactive) {\n infoGrid[x][y] = { item: item, dimension: dimension };\n }\n };\n\n /* Update the filling information of the given space with occupied points.\n Draw the mask on the canvas if necessary. */\n var updateGrid = function updateGrid(gx, gy, gw, gh, info, item) {\n var occupied = info.occupied;\n var drawMask = settings.drawMask;\n var ctx;\n if (drawMask) {\n ctx = elements[0].getContext('2d');\n ctx.save();\n ctx.fillStyle = settings.maskColor;\n }\n\n var dimension;\n if (interactive) {\n var bounds = info.bounds;\n dimension = {\n x: (gx + bounds[3]) * g,\n y: (gy + bounds[0]) * g,\n w: (bounds[1] - bounds[3] + 1) * g,\n h: (bounds[2] - bounds[0] + 1) * g\n };\n }\n\n var i = occupied.length;\n while (i--) {\n var px = gx + occupied[i][0];\n var py = gy + occupied[i][1];\n\n if (px >= ngx || py >= ngy || px < 0 || py < 0) {\n continue;\n }\n\n fillGridAt(px, py, drawMask, dimension, item);\n }\n\n if (drawMask) {\n ctx.restore();\n }\n };\n\n /* putWord() processes each item on the list,\n calculate it's size and determine it's position, and actually\n put it on the canvas. */\n var putWord = function putWord(item) {\n var word, weight, attributes;\n if (Array.isArray(item)) {\n word = item[0];\n weight = item[1];\n } else {\n word = item.word;\n weight = item.weight;\n attributes = item.attributes;\n }\n var rotateDeg = getRotateDeg();\n\n // get info needed to put the text onto the canvas\n var info = getTextInfo(word, weight, rotateDeg);\n\n // not getting the info means we shouldn't be drawing this one.\n if (!info) {\n return false;\n }\n\n if (exceedTime()) {\n return false;\n }\n\n // If drawOutOfBound is set to false,\n // skip the loop if we have already know the bounding box of\n // word is larger than the canvas.\n if (!settings.drawOutOfBound) {\n var bounds = info.bounds;\n if ((bounds[1] - bounds[3] + 1) > ngx ||\n (bounds[2] - bounds[0] + 1) > ngy) {\n return false;\n }\n }\n\n // Determine the position to put the text by\n // start looking for the nearest points\n var r = maxRadius + 1;\n\n var tryToPutWordAtPoint = function(gxy) {\n var gx = Math.floor(gxy[0] - info.gw / 2);\n var gy = Math.floor(gxy[1] - info.gh / 2);\n var gw = info.gw;\n var gh = info.gh;\n\n // If we cannot fit the text at this position, return false\n // and go to the next position.\n if (!canFitText(gx, gy, gw, gh, info.occupied)) {\n return false;\n }\n\n // Actually put the text on the canvas\n drawText(gx, gy, info, word, weight,\n (maxRadius - r), gxy[2], rotateDeg, attributes);\n\n // Mark the spaces on the grid as filled\n updateGrid(gx, gy, gw, gh, info, item);\n\n return {\n gx: gx,\n gy: gy,\n rot: rotateDeg,\n info: info\n };\n };\n\n while (r--) {\n var points = getPointsAtRadius(maxRadius - r);\n\n if (settings.shuffle) {\n points = [].concat(points);\n shuffleArray(points);\n }\n\n // Try to fit the words by looking at each point.\n // array.some() will stop and return true\n // when putWordAtPoint() returns true.\n for (var i = 0; i < points.length; i++) {\n var res = tryToPutWordAtPoint(points[i]);\n if (res) {\n return res;\n }\n }\n\n // var drawn = points.some(tryToPutWordAtPoint);\n // if (drawn) {\n // // leave putWord() and return true\n // return true;\n // }\n }\n // we tried all distances but text won't fit, return null\n return null;\n };\n\n /* Send DOM event to all elements. Will stop sending event and return\n if the previous one is canceled (for cancelable events). */\n var sendEvent = function sendEvent(type, cancelable, detail) {\n if (cancelable) {\n return !elements.some(function(el) {\n var evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(type, true, cancelable, detail || {});\n return !el.dispatchEvent(evt);\n }, this);\n } else {\n elements.forEach(function(el) {\n var evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(type, true, cancelable, detail || {});\n el.dispatchEvent(evt);\n }, this);\n }\n };\n\n /* Start drawing on a canvas */\n var start = function start() {\n // For dimensions, clearCanvas etc.,\n // we only care about the first element.\n var canvas = elements[0];\n\n if (canvas.getContext) {\n ngx = Math.ceil(canvas.width / g);\n ngy = Math.ceil(canvas.height / g);\n } else {\n var rect = canvas.getBoundingClientRect();\n ngx = Math.ceil(rect.width / g);\n ngy = Math.ceil(rect.height / g);\n }\n\n // Sending a wordcloudstart event which cause the previous loop to stop.\n // Do nothing if the event is canceled.\n if (!sendEvent('wordcloudstart', true)) {\n return;\n }\n\n // Determine the center of the word cloud\n center = (settings.origin) ?\n [settings.origin[0]/g, settings.origin[1]/g] :\n [ngx / 2, ngy / 2];\n\n // Maxium radius to look for space\n maxRadius = Math.floor(Math.sqrt(ngx * ngx + ngy * ngy));\n\n /* Clear the canvas only if the clearCanvas is set,\n if not, update the grid to the current canvas state */\n grid = [];\n\n var gx, gy, i;\n if (!canvas.getContext || settings.clearCanvas) {\n elements.forEach(function(el) {\n if (el.getContext) {\n var ctx = el.getContext('2d');\n ctx.fillStyle = settings.backgroundColor;\n ctx.clearRect(0, 0, ngx * (g + 1), ngy * (g + 1));\n ctx.fillRect(0, 0, ngx * (g + 1), ngy * (g + 1));\n } else {\n el.textContent = '';\n el.style.backgroundColor = settings.backgroundColor;\n el.style.position = 'relative';\n }\n });\n\n /* fill the grid with empty state */\n gx = ngx;\n while (gx--) {\n grid[gx] = [];\n gy = ngy;\n while (gy--) {\n grid[gx][gy] = true;\n }\n }\n } else {\n /* Determine bgPixel by creating\n another canvas and fill the specified background color. */\n var bctx = document.createElement('canvas').getContext('2d');\n\n bctx.fillStyle = settings.backgroundColor;\n bctx.fillRect(0, 0, 1, 1);\n var bgPixel = bctx.getImageData(0, 0, 1, 1).data;\n\n /* Read back the pixels of the canvas we got to tell which part of the\n canvas is empty.\n (no clearCanvas only works with a canvas, not divs) */\n var imageData =\n canvas.getContext('2d').getImageData(0, 0, ngx * g, ngy * g).data;\n\n gx = ngx;\n var x, y;\n while (gx--) {\n grid[gx] = [];\n gy = ngy;\n while (gy--) {\n y = g;\n singleGridLoop: while (y--) {\n x = g;\n while (x--) {\n i = 4;\n while (i--) {\n if (imageData[((gy * g + y) * ngx * g +\n (gx * g + x)) * 4 + i] !== bgPixel[i]) {\n grid[gx][gy] = false;\n break singleGridLoop;\n }\n }\n }\n }\n if (grid[gx][gy] !== false) {\n grid[gx][gy] = true;\n }\n }\n }\n\n imageData = bctx = bgPixel = undefined;\n }\n\n // fill the infoGrid with empty state if we need it\n if (settings.hover || settings.click) {\n\n interactive = true;\n\n /* fill the grid with empty state */\n gx = ngx + 1;\n while (gx--) {\n infoGrid[gx] = [];\n }\n\n if (settings.hover) {\n canvas.addEventListener('mousemove', wordcloudhover);\n }\n\n if (settings.click) {\n canvas.addEventListener('click', wordcloudclick);\n canvas.addEventListener('touchstart', wordcloudclick);\n canvas.addEventListener('touchend', function (e) {\n e.preventDefault();\n });\n canvas.style.webkitTapHighlightColor = 'rgba(0, 0, 0, 0)';\n }\n\n canvas.addEventListener('wordcloudstart', function stopInteraction() {\n canvas.removeEventListener('wordcloudstart', stopInteraction);\n\n canvas.removeEventListener('mousemove', wordcloudhover);\n canvas.removeEventListener('click', wordcloudclick);\n hovered = undefined;\n });\n }\n\n i = 0;\n var loopingFunction, stoppingFunction;\n if (settings.wait !== 0) {\n loopingFunction = window.setTimeout;\n stoppingFunction = window.clearTimeout;\n } else {\n loopingFunction = window.setImmediate;\n stoppingFunction = window.clearImmediate;\n }\n\n var addEventListener = function addEventListener(type, listener) {\n elements.forEach(function(el) {\n el.addEventListener(type, listener);\n }, this);\n };\n\n var removeEventListener = function removeEventListener(type, listener) {\n elements.forEach(function(el) {\n el.removeEventListener(type, listener);\n }, this);\n };\n\n var anotherWordCloudStart = function anotherWordCloudStart() {\n removeEventListener('wordcloudstart', anotherWordCloudStart);\n stoppingFunction(timer);\n };\n\n addEventListener('wordcloudstart', anotherWordCloudStart);\n\n var timer = loopingFunction(function loop() {\n if (i >= settings.list.length) {\n stoppingFunction(timer);\n sendEvent('wordcloudstop', false);\n removeEventListener('wordcloudstart', anotherWordCloudStart);\n\n return;\n }\n escapeTime = (new Date()).getTime();\n var drawn = putWord(settings.list[i]);\n var canceled = !sendEvent('wordclouddrawn', true, {\n item: settings.list[i], drawn: drawn });\n if (exceedTime() || canceled) {\n stoppingFunction(timer);\n settings.abort();\n sendEvent('wordcloudabort', false);\n sendEvent('wordcloudstop', false);\n removeEventListener('wordcloudstart', anotherWordCloudStart);\n return;\n }\n i++;\n timer = loopingFunction(loop, settings.wait);\n }, settings.wait);\n };\n\n // All set, start the drawing\n start();\n };\n\n WordCloud.isSupported = isSupported;\n WordCloud.minFontSize = minFontSize;\n\n // Expose the library as an AMD module\n if (typeof define === 'function' && define.amd) {\n define('wordcloud', [], function() { return WordCloud; });\n } else if (typeof module !== 'undefined' && module.exports) {\n module.exports = WordCloud;\n } else {\n global.WordCloud = WordCloud;\n }\n\n})(this); //jshint ignore:line","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","var pluck = require('./pluck')\r\n\r\nvar max = require('../number/max')\r\n\r\n/**\r\n * 与 zip 相反\r\n *\r\n * @param {Array} arrays 数组集合\r\n */\r\nfunction unzip (arrays) {\r\n var index, maxItem, len\r\n var result = []\r\n if (arrays && arrays.length) {\r\n index = 0\r\n maxItem = max(arrays, function (item) {\r\n return item ? item.length : 0\r\n })\r\n for (len = maxItem ? maxItem.length : 0; index < len; index++) {\r\n result.push(pluck(arrays, index))\r\n }\r\n }\r\n return result\r\n}\r\n\r\nmodule.exports = unzip\r\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.Input = void 0;\n\nvar _input = _interopRequireDefault(require(\"./src/input\"));\n\nvar _textarea = _interopRequireDefault(require(\"./src/textarea\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_input.default.install = function (Vue) {\n Vue.component(_input.default.name, _input.default);\n Vue.component(_textarea.default.name, _textarea.default);\n};\n\nvar Input = _input.default;\nexports.Input = Input;\nvar _default = _input.default;\nexports.default = _default;","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\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*/\n\nvar View = require(\"../../coord/View\");\n\nvar _layout = require(\"../../util/layout\");\n\nvar getLayoutRect = _layout.getLayoutRect;\n\nvar bbox = require(\"zrender/lib/core/bbox\");\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// FIXME Where to create the simple view coordinate system\nfunction getViewRect(seriesModel, api, aspect) {\n var option = seriesModel.getBoxLayoutParams();\n option.aspect = aspect;\n return getLayoutRect(option, {\n width: api.getWidth(),\n height: api.getHeight()\n });\n}\n\nfunction _default(ecModel, api) {\n var viewList = [];\n ecModel.eachSeriesByType('graph', function (seriesModel) {\n var coordSysType = seriesModel.get('coordinateSystem');\n\n if (!coordSysType || coordSysType === 'view') {\n var data = seriesModel.getData();\n var positions = data.mapArray(function (idx) {\n var itemModel = data.getItemModel(idx);\n return [+itemModel.get('x'), +itemModel.get('y')];\n });\n var min = [];\n var max = [];\n bbox.fromPoints(positions, min, max); // If width or height is 0\n\n if (max[0] - min[0] === 0) {\n max[0] += 1;\n min[0] -= 1;\n }\n\n if (max[1] - min[1] === 0) {\n max[1] += 1;\n min[1] -= 1;\n }\n\n var aspect = (max[0] - min[0]) / (max[1] - min[1]); // FIXME If get view rect after data processed?\n\n var viewRect = getViewRect(seriesModel, api, aspect); // Position may be NaN, use view rect instead\n\n if (isNaN(aspect)) {\n min = [viewRect.x, viewRect.y];\n max = [viewRect.x + viewRect.width, viewRect.y + viewRect.height];\n }\n\n var bbWidth = max[0] - min[0];\n var bbHeight = max[1] - min[1];\n var viewWidth = viewRect.width;\n var viewHeight = viewRect.height;\n var viewCoordSys = seriesModel.coordinateSystem = new View();\n viewCoordSys.zoomLimit = seriesModel.get('scaleLimit');\n viewCoordSys.setBoundingRect(min[0], min[1], bbWidth, bbHeight);\n viewCoordSys.setViewRect(viewRect.x, viewRect.y, viewWidth, viewHeight); // Update roam info\n\n viewCoordSys.setCenter(seriesModel.get('center'));\n viewCoordSys.setZoom(seriesModel.get('zoom'));\n viewList.push(viewCoordSys);\n }\n });\n return viewList;\n}\n\nmodule.exports = _default;","/**\n * Copyright 2013-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule isEventSupported\n */\n\n'use strict';\n\nvar ExecutionEnvironment = require('./ExecutionEnvironment');\n\nvar useHasFeature;\nif (ExecutionEnvironment.canUseDOM) {\n useHasFeature =\n document.implementation &&\n document.implementation.hasFeature &&\n // always returns true in newer browsers as per the standard.\n // @see http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature\n document.implementation.hasFeature('', '') !== true;\n}\n\n/**\n * Checks if an event is supported in the current execution environment.\n *\n * NOTE: This will not work correctly for non-generic events such as `change`,\n * `reset`, `load`, `error`, and `select`.\n *\n * Borrows from Modernizr.\n *\n * @param {string} eventNameSuffix Event name, e.g. \"click\".\n * @param {?boolean} capture Check if the capture phase is supported.\n * @return {boolean} True if the event is supported.\n * @internal\n * @license Modernizr 3.0.0pre (Custom Build) | MIT\n */\nfunction isEventSupported(eventNameSuffix, capture) {\n if (!ExecutionEnvironment.canUseDOM ||\n capture && !('addEventListener' in document)) {\n return false;\n }\n\n var eventName = 'on' + eventNameSuffix;\n var isSupported = eventName in document;\n\n if (!isSupported) {\n var element = document.createElement('div');\n element.setAttribute(eventName, 'return;');\n isSupported = typeof element[eventName] === 'function';\n }\n\n if (!isSupported && useHasFeature && eventNameSuffix === 'wheel') {\n // This is the only way to test support for the `wheel` event in IE9+.\n isSupported = document.implementation.hasFeature('Events.wheel', '3.0');\n }\n\n return isSupported;\n}\n\nmodule.exports = isEventSupported;\n","var slice = require('../array/slice')\r\n\r\n/**\r\n * 该方法和 setTimeout 一样的效果,区别就是支持上下文和额外参数\r\n *\r\n * @param {Function} callback 函数\r\n * @param {Number} wait 延迟毫秒\r\n * @param {*} args 额外的参数\r\n * @return {Number}\r\n */\r\nfunction delay (callback, wait) {\r\n var args = slice(arguments, 2)\r\n var context = this\r\n return setTimeout(function () {\r\n callback.apply(context, args)\r\n }, wait)\r\n}\r\n\r\nmodule.exports = delay\r\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","var staticLocation = require('../static/staticLocation')\r\n\r\nvar helperGetLocatOrigin = require('./helperGetLocatOrigin')\r\n\r\nvar lastIndexOf = require('../base/lastIndexOf')\r\n\r\nfunction getBaseURL () {\r\n if (staticLocation) {\r\n var pathname = staticLocation.pathname\r\n var lastIndex = lastIndexOf(pathname, '/') + 1\r\n return helperGetLocatOrigin() + (lastIndex === pathname.length ? pathname : pathname.substring(0, lastIndex))\r\n }\r\n return ''\r\n}\r\n\r\nmodule.exports = getBaseURL\r\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\nvar echarts = require(\"../../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar BrushController = require(\"../../helper/BrushController\");\n\nvar BrushTargetManager = require(\"../../helper/BrushTargetManager\");\n\nvar history = require(\"../../dataZoom/history\");\n\nvar sliderMove = require(\"../../helper/sliderMove\");\n\nvar lang = require(\"../../../lang\");\n\nvar featureManager = require(\"../featureManager\");\n\nrequire(\"../../dataZoomSelect\");\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// Use dataZoomSelect\nvar dataZoomLang = lang.toolbox.dataZoom;\nvar each = zrUtil.each; // Spectial component id start with \\0ec\\0, see echarts/model/Global.js~hasInnerId\n\nvar DATA_ZOOM_ID_BASE = '\\0_ec_\\0toolbox-dataZoom_';\n\nfunction DataZoom(model, ecModel, api) {\n /**\n * @private\n * @type {module:echarts/component/helper/BrushController}\n */\n (this._brushController = new BrushController(api.getZr())).on('brush', zrUtil.bind(this._onBrush, this)).mount();\n /**\n * @private\n * @type {boolean}\n */\n\n this._isZoomActive;\n}\n\nDataZoom.defaultOption = {\n show: true,\n filterMode: 'filter',\n // Icon group\n icon: {\n zoom: 'M0,13.5h26.9 M13.5,26.9V0 M32.1,13.5H58V58H13.5 V32.1',\n back: 'M22,1.4L9.9,13.5l12.3,12.3 M10.3,13.5H54.9v44.6 H10.3v-26'\n },\n // `zoom`, `back`\n title: zrUtil.clone(dataZoomLang.title),\n brushStyle: {\n borderWidth: 0,\n color: 'rgba(0,0,0,0.2)'\n }\n};\nvar proto = DataZoom.prototype;\n\nproto.render = function (featureModel, ecModel, api, payload) {\n this.model = featureModel;\n this.ecModel = ecModel;\n this.api = api;\n updateZoomBtnStatus(featureModel, ecModel, this, payload, api);\n updateBackBtnStatus(featureModel, ecModel);\n};\n\nproto.onclick = function (ecModel, api, type) {\n handlers[type].call(this);\n};\n\nproto.remove = function (ecModel, api) {\n this._brushController.unmount();\n};\n\nproto.dispose = function (ecModel, api) {\n this._brushController.dispose();\n};\n/**\n * @private\n */\n\n\nvar handlers = {\n zoom: function () {\n var nextActive = !this._isZoomActive;\n this.api.dispatchAction({\n type: 'takeGlobalCursor',\n key: 'dataZoomSelect',\n dataZoomSelectActive: nextActive\n });\n },\n back: function () {\n this._dispatchZoomAction(history.pop(this.ecModel));\n }\n};\n/**\n * @private\n */\n\nproto._onBrush = function (areas, opt) {\n if (!opt.isEnd || !areas.length) {\n return;\n }\n\n var snapshot = {};\n var ecModel = this.ecModel;\n\n this._brushController.updateCovers([]); // remove cover\n\n\n var brushTargetManager = new BrushTargetManager(retrieveAxisSetting(this.model.option), ecModel, {\n include: ['grid']\n });\n brushTargetManager.matchOutputRanges(areas, ecModel, function (area, coordRange, coordSys) {\n if (coordSys.type !== 'cartesian2d') {\n return;\n }\n\n var brushType = area.brushType;\n\n if (brushType === 'rect') {\n setBatch('x', coordSys, coordRange[0]);\n setBatch('y', coordSys, coordRange[1]);\n } else {\n setBatch({\n lineX: 'x',\n lineY: 'y'\n }[brushType], coordSys, coordRange);\n }\n });\n history.push(ecModel, snapshot);\n\n this._dispatchZoomAction(snapshot);\n\n function setBatch(dimName, coordSys, minMax) {\n var axis = coordSys.getAxis(dimName);\n var axisModel = axis.model;\n var dataZoomModel = findDataZoom(dimName, axisModel, ecModel); // Restrict range.\n\n var minMaxSpan = dataZoomModel.findRepresentativeAxisProxy(axisModel).getMinMaxSpan();\n\n if (minMaxSpan.minValueSpan != null || minMaxSpan.maxValueSpan != null) {\n minMax = sliderMove(0, minMax.slice(), axis.scale.getExtent(), 0, minMaxSpan.minValueSpan, minMaxSpan.maxValueSpan);\n }\n\n dataZoomModel && (snapshot[dataZoomModel.id] = {\n dataZoomId: dataZoomModel.id,\n startValue: minMax[0],\n endValue: minMax[1]\n });\n }\n\n function findDataZoom(dimName, axisModel, ecModel) {\n var found;\n ecModel.eachComponent({\n mainType: 'dataZoom',\n subType: 'select'\n }, function (dzModel) {\n var has = dzModel.getAxisModel(dimName, axisModel.componentIndex);\n has && (found = dzModel);\n });\n return found;\n }\n};\n/**\n * @private\n */\n\n\nproto._dispatchZoomAction = function (snapshot) {\n var batch = []; // Convert from hash map to array.\n\n each(snapshot, function (batchItem, dataZoomId) {\n batch.push(zrUtil.clone(batchItem));\n });\n batch.length && this.api.dispatchAction({\n type: 'dataZoom',\n from: this.uid,\n batch: batch\n });\n};\n\nfunction retrieveAxisSetting(option) {\n var setting = {}; // Compatible with previous setting: null => all axis, false => no axis.\n\n zrUtil.each(['xAxisIndex', 'yAxisIndex'], function (name) {\n setting[name] = option[name];\n setting[name] == null && (setting[name] = 'all');\n (setting[name] === false || setting[name] === 'none') && (setting[name] = []);\n });\n return setting;\n}\n\nfunction updateBackBtnStatus(featureModel, ecModel) {\n featureModel.setIconStatus('back', history.count(ecModel) > 1 ? 'emphasis' : 'normal');\n}\n\nfunction updateZoomBtnStatus(featureModel, ecModel, view, payload, api) {\n var zoomActive = view._isZoomActive;\n\n if (payload && payload.type === 'takeGlobalCursor') {\n zoomActive = payload.key === 'dataZoomSelect' ? payload.dataZoomSelectActive : false;\n }\n\n view._isZoomActive = zoomActive;\n featureModel.setIconStatus('zoom', zoomActive ? 'emphasis' : 'normal');\n var brushTargetManager = new BrushTargetManager(retrieveAxisSetting(featureModel.option), ecModel, {\n include: ['grid']\n });\n\n view._brushController.setPanels(brushTargetManager.makePanelOpts(api, function (targetInfo) {\n return targetInfo.xAxisDeclared && !targetInfo.yAxisDeclared ? 'lineX' : !targetInfo.xAxisDeclared && targetInfo.yAxisDeclared ? 'lineY' : 'rect';\n })).enableBrush(zoomActive ? {\n brushType: 'auto',\n brushStyle: featureModel.getModel('brushStyle').getItemStyle()\n } : false);\n}\n\nfeatureManager.register('dataZoom', DataZoom); // Create special dataZoom option for select\n// FIXME consider the case of merge option, where axes options are not exists.\n\necharts.registerPreprocessor(function (option) {\n if (!option) {\n return;\n }\n\n var dataZoomOpts = option.dataZoom || (option.dataZoom = []);\n\n if (!zrUtil.isArray(dataZoomOpts)) {\n option.dataZoom = dataZoomOpts = [dataZoomOpts];\n }\n\n var toolboxOpt = option.toolbox;\n\n if (toolboxOpt) {\n // Assume there is only one toolbox\n if (zrUtil.isArray(toolboxOpt)) {\n toolboxOpt = toolboxOpt[0];\n }\n\n if (toolboxOpt && toolboxOpt.feature) {\n var dataZoomOpt = toolboxOpt.feature.dataZoom; // FIXME: If add dataZoom when setOption in merge mode,\n // no axis info to be added. See `test/dataZoom-extreme.html`\n\n addForAxis('xAxis', dataZoomOpt);\n addForAxis('yAxis', dataZoomOpt);\n }\n }\n\n function addForAxis(axisName, dataZoomOpt) {\n if (!dataZoomOpt) {\n return;\n } // Try not to modify model, because it is not merged yet.\n\n\n var axisIndicesName = axisName + 'Index';\n var givenAxisIndices = dataZoomOpt[axisIndicesName];\n\n if (givenAxisIndices != null && givenAxisIndices !== 'all' && !zrUtil.isArray(givenAxisIndices)) {\n givenAxisIndices = givenAxisIndices === false || givenAxisIndices === 'none' ? [] : [givenAxisIndices];\n }\n\n forEachComponent(axisName, function (axisOpt, axisIndex) {\n if (givenAxisIndices != null && givenAxisIndices !== 'all' && zrUtil.indexOf(givenAxisIndices, axisIndex) === -1) {\n return;\n }\n\n var newOpt = {\n type: 'select',\n $fromToolbox: true,\n // Default to be filter\n filterMode: dataZoomOpt.filterMode || 'filter',\n // Id for merge mapping.\n id: DATA_ZOOM_ID_BASE + axisName + axisIndex\n }; // FIXME\n // Only support one axis now.\n\n newOpt[axisIndicesName] = axisIndex;\n dataZoomOpts.push(newOpt);\n });\n }\n\n function forEachComponent(mainType, cb) {\n var opts = option[mainType];\n\n if (!zrUtil.isArray(opts)) {\n opts = opts ? [opts] : [];\n }\n\n each(opts, cb);\n }\n});\nvar _default = DataZoom;\nmodule.exports = _default;","var SHADOW_PROPS = {\n 'shadowBlur': 1,\n 'shadowOffsetX': 1,\n 'shadowOffsetY': 1,\n 'textShadowBlur': 1,\n 'textShadowOffsetX': 1,\n 'textShadowOffsetY': 1,\n 'textBoxShadowBlur': 1,\n 'textBoxShadowOffsetX': 1,\n 'textBoxShadowOffsetY': 1\n};\n\nfunction _default(ctx, propName, value) {\n if (SHADOW_PROPS.hasOwnProperty(propName)) {\n return value *= ctx.dpr;\n }\n\n return value;\n}\n\nmodule.exports = _default;","\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\nvar ComponentView = require(\"../../view/Component\");\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*/\nvar _default = ComponentView.extend({\n type: 'dataZoom',\n render: function (dataZoomModel, ecModel, api, payload) {\n this.dataZoomModel = dataZoomModel;\n this.ecModel = ecModel;\n this.api = api;\n },\n\n /**\n * Find the first target coordinate system.\n *\n * @protected\n * @return {Object} {\n * grid: [\n * {model: coord0, axisModels: [axis1, axis3], coordIndex: 1},\n * {model: coord1, axisModels: [axis0, axis2], coordIndex: 0},\n * ...\n * ], // cartesians must not be null/undefined.\n * polar: [\n * {model: coord0, axisModels: [axis4], coordIndex: 0},\n * ...\n * ], // polars must not be null/undefined.\n * singleAxis: [\n * {model: coord0, axisModels: [], coordIndex: 0}\n * ]\n */\n getTargetCoordInfo: function () {\n var dataZoomModel = this.dataZoomModel;\n var ecModel = this.ecModel;\n var coordSysLists = {};\n dataZoomModel.eachTargetAxis(function (dimNames, axisIndex) {\n var axisModel = ecModel.getComponent(dimNames.axis, axisIndex);\n\n if (axisModel) {\n var coordModel = axisModel.getCoordSysModel();\n coordModel && save(coordModel, axisModel, coordSysLists[coordModel.mainType] || (coordSysLists[coordModel.mainType] = []), coordModel.componentIndex);\n }\n }, this);\n\n function save(coordModel, axisModel, store, coordIndex) {\n var item;\n\n for (var i = 0; i < store.length; i++) {\n if (store[i].model === coordModel) {\n item = store[i];\n break;\n }\n }\n\n if (!item) {\n store.push(item = {\n model: coordModel,\n axisModels: [],\n coordIndex: coordIndex\n });\n }\n\n item.axisModels.push(axisModel);\n }\n\n return coordSysLists;\n }\n});\n\nmodule.exports = _default;","var toNumber = require('./toNumber')\r\nvar toNumberString = require('./toNumberString')\r\n\r\nfunction helperCreateMathNumber(name) {\r\n return function (num, digits) {\r\n var rest = toNumber(num)\r\n if (rest) {\r\n digits = digits >> 0\r\n var numStr = toNumberString(rest)\r\n var nums = numStr.split('.')\r\n var intStr = nums[0]\r\n var floatStr = nums[1] || ''\r\n rest = intStr + '.' + floatStr.substring(0, digits + 1)\r\n if (digits >= floatStr.length) {\r\n return toNumber(rest)\r\n }\r\n if (digits > 0) {\r\n var ratio = Math.pow(10, digits)\r\n return Math[name](rest * ratio) / ratio\r\n }\r\n return Math[name](rest)\r\n }\r\n return rest\r\n }\r\n}\r\n\r\nmodule.exports = helperCreateMathNumber\r\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\nvar echarts = require(\"../echarts\");\n\nrequire(\"./marker/MarkAreaModel\");\n\nrequire(\"./marker/MarkAreaView\");\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*/\necharts.registerPreprocessor(function (opt) {\n // Make sure markArea component is enabled\n opt.markArea = opt.markArea || {};\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\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar vector = require(\"zrender/lib/core/vector\");\n\nvar symbolUtil = require(\"../../util/symbol\");\n\nvar LinePath = require(\"./LinePath\");\n\nvar graphic = require(\"../../util/graphic\");\n\nvar _number = require(\"../../util/number\");\n\nvar round = _number.round;\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 * @module echarts/chart/helper/Line\n */\nvar SYMBOL_CATEGORIES = ['fromSymbol', 'toSymbol'];\n\nfunction makeSymbolTypeKey(symbolCategory) {\n return '_' + symbolCategory + 'Type';\n}\n/**\n * @inner\n */\n\n\nfunction createSymbol(name, lineData, idx) {\n var symbolType = lineData.getItemVisual(idx, name);\n\n if (!symbolType || symbolType === 'none') {\n return;\n }\n\n var color = lineData.getItemVisual(idx, 'color');\n var symbolSize = lineData.getItemVisual(idx, name + 'Size');\n var symbolRotate = lineData.getItemVisual(idx, name + 'Rotate');\n\n if (!zrUtil.isArray(symbolSize)) {\n symbolSize = [symbolSize, symbolSize];\n }\n\n var symbolPath = symbolUtil.createSymbol(symbolType, -symbolSize[0] / 2, -symbolSize[1] / 2, symbolSize[0], symbolSize[1], color); // rotate by default if symbolRotate is not specified or NaN\n\n symbolPath.__specifiedRotation = symbolRotate == null || isNaN(symbolRotate) ? void 0 : +symbolRotate * Math.PI / 180 || 0;\n symbolPath.name = name;\n return symbolPath;\n}\n\nfunction createLine(points) {\n var line = new LinePath({\n name: 'line',\n subPixelOptimize: true\n });\n setLinePoints(line.shape, points);\n return line;\n}\n\nfunction setLinePoints(targetShape, points) {\n targetShape.x1 = points[0][0];\n targetShape.y1 = points[0][1];\n targetShape.x2 = points[1][0];\n targetShape.y2 = points[1][1];\n targetShape.percent = 1;\n var cp1 = points[2];\n\n if (cp1) {\n targetShape.cpx1 = cp1[0];\n targetShape.cpy1 = cp1[1];\n } else {\n targetShape.cpx1 = NaN;\n targetShape.cpy1 = NaN;\n }\n}\n\nfunction updateSymbolAndLabelBeforeLineUpdate() {\n var lineGroup = this;\n var symbolFrom = lineGroup.childOfName('fromSymbol');\n var symbolTo = lineGroup.childOfName('toSymbol');\n var label = lineGroup.childOfName('label'); // Quick reject\n\n if (!symbolFrom && !symbolTo && label.ignore) {\n return;\n }\n\n var invScale = 1;\n var parentNode = this.parent;\n\n while (parentNode) {\n if (parentNode.scale) {\n invScale /= parentNode.scale[0];\n }\n\n parentNode = parentNode.parent;\n }\n\n var line = lineGroup.childOfName('line'); // If line not changed\n // FIXME Parent scale changed\n\n if (!this.__dirty && !line.__dirty) {\n return;\n }\n\n var percent = line.shape.percent;\n var fromPos = line.pointAt(0);\n var toPos = line.pointAt(percent);\n var d = vector.sub([], toPos, fromPos);\n vector.normalize(d, d);\n\n if (symbolFrom) {\n symbolFrom.attr('position', fromPos); // Fix #12388\n // when symbol is set to be 'arrow' in markLine,\n // symbolRotate value will be ignored, and compulsively use tangent angle.\n // rotate by default if symbol rotation is not specified\n\n var specifiedRotation = symbolFrom.__specifiedRotation;\n\n if (specifiedRotation == null) {\n var tangent = line.tangentAt(0);\n symbolFrom.attr('rotation', Math.PI / 2 - Math.atan2(tangent[1], tangent[0]));\n } else {\n symbolFrom.attr('rotation', specifiedRotation);\n }\n\n symbolFrom.attr('scale', [invScale * percent, invScale * percent]);\n }\n\n if (symbolTo) {\n symbolTo.attr('position', toPos); // Fix #12388\n // when symbol is set to be 'arrow' in markLine,\n // symbolRotate value will be ignored, and compulsively use tangent angle.\n // rotate by default if symbol rotation is not specified\n\n var specifiedRotation = symbolTo.__specifiedRotation;\n\n if (specifiedRotation == null) {\n var tangent = line.tangentAt(1);\n symbolTo.attr('rotation', -Math.PI / 2 - Math.atan2(tangent[1], tangent[0]));\n } else {\n symbolTo.attr('rotation', specifiedRotation);\n }\n\n symbolTo.attr('scale', [invScale * percent, invScale * percent]);\n }\n\n if (!label.ignore) {\n label.attr('position', toPos);\n var textPosition;\n var textAlign;\n var textVerticalAlign;\n var textOrigin;\n var distance = label.__labelDistance;\n var distanceX = distance[0] * invScale;\n var distanceY = distance[1] * invScale;\n var halfPercent = percent / 2;\n var tangent = line.tangentAt(halfPercent);\n var n = [tangent[1], -tangent[0]];\n var cp = line.pointAt(halfPercent);\n\n if (n[1] > 0) {\n n[0] = -n[0];\n n[1] = -n[1];\n }\n\n var dir = tangent[0] < 0 ? -1 : 1;\n\n if (label.__position !== 'start' && label.__position !== 'end') {\n var rotation = -Math.atan2(tangent[1], tangent[0]);\n\n if (toPos[0] < fromPos[0]) {\n rotation = Math.PI + rotation;\n }\n\n label.attr('rotation', rotation);\n }\n\n var dy;\n\n switch (label.__position) {\n case 'insideStartTop':\n case 'insideMiddleTop':\n case 'insideEndTop':\n case 'middle':\n dy = -distanceY;\n textVerticalAlign = 'bottom';\n break;\n\n case 'insideStartBottom':\n case 'insideMiddleBottom':\n case 'insideEndBottom':\n dy = distanceY;\n textVerticalAlign = 'top';\n break;\n\n default:\n dy = 0;\n textVerticalAlign = 'middle';\n }\n\n switch (label.__position) {\n case 'end':\n textPosition = [d[0] * distanceX + toPos[0], d[1] * distanceY + toPos[1]];\n textAlign = d[0] > 0.8 ? 'left' : d[0] < -0.8 ? 'right' : 'center';\n textVerticalAlign = d[1] > 0.8 ? 'top' : d[1] < -0.8 ? 'bottom' : 'middle';\n break;\n\n case 'start':\n textPosition = [-d[0] * distanceX + fromPos[0], -d[1] * distanceY + fromPos[1]];\n textAlign = d[0] > 0.8 ? 'right' : d[0] < -0.8 ? 'left' : 'center';\n textVerticalAlign = d[1] > 0.8 ? 'bottom' : d[1] < -0.8 ? 'top' : 'middle';\n break;\n\n case 'insideStartTop':\n case 'insideStart':\n case 'insideStartBottom':\n textPosition = [distanceX * dir + fromPos[0], fromPos[1] + dy];\n textAlign = tangent[0] < 0 ? 'right' : 'left';\n textOrigin = [-distanceX * dir, -dy];\n break;\n\n case 'insideMiddleTop':\n case 'insideMiddle':\n case 'insideMiddleBottom':\n case 'middle':\n textPosition = [cp[0], cp[1] + dy];\n textAlign = 'center';\n textOrigin = [0, -dy];\n break;\n\n case 'insideEndTop':\n case 'insideEnd':\n case 'insideEndBottom':\n textPosition = [-distanceX * dir + toPos[0], toPos[1] + dy];\n textAlign = tangent[0] >= 0 ? 'right' : 'left';\n textOrigin = [distanceX * dir, -dy];\n break;\n }\n\n label.attr({\n style: {\n // Use the user specified text align and baseline first\n textVerticalAlign: label.__verticalAlign || textVerticalAlign,\n textAlign: label.__textAlign || textAlign\n },\n position: textPosition,\n scale: [invScale, invScale],\n origin: textOrigin\n });\n }\n}\n/**\n * @constructor\n * @extends {module:zrender/graphic/Group}\n * @alias {module:echarts/chart/helper/Line}\n */\n\n\nfunction Line(lineData, idx, seriesScope) {\n graphic.Group.call(this);\n\n this._createLine(lineData, idx, seriesScope);\n}\n\nvar lineProto = Line.prototype; // Update symbol position and rotation\n\nlineProto.beforeUpdate = updateSymbolAndLabelBeforeLineUpdate;\n\nlineProto._createLine = function (lineData, idx, seriesScope) {\n var seriesModel = lineData.hostModel;\n var linePoints = lineData.getItemLayout(idx);\n var line = createLine(linePoints);\n line.shape.percent = 0;\n graphic.initProps(line, {\n shape: {\n percent: 1\n }\n }, seriesModel, idx);\n this.add(line);\n var label = new graphic.Text({\n name: 'label',\n // FIXME\n // Temporary solution for `focusNodeAdjacency`.\n // line label do not use the opacity of lineStyle.\n lineLabelOriginalOpacity: 1\n });\n this.add(label);\n zrUtil.each(SYMBOL_CATEGORIES, function (symbolCategory) {\n var symbol = createSymbol(symbolCategory, lineData, idx); // symbols must added after line to make sure\n // it will be updated after line#update.\n // Or symbol position and rotation update in line#beforeUpdate will be one frame slow\n\n this.add(symbol);\n this[makeSymbolTypeKey(symbolCategory)] = lineData.getItemVisual(idx, symbolCategory);\n }, this);\n\n this._updateCommonStl(lineData, idx, seriesScope);\n};\n\nlineProto.updateData = function (lineData, idx, seriesScope) {\n var seriesModel = lineData.hostModel;\n var line = this.childOfName('line');\n var linePoints = lineData.getItemLayout(idx);\n var target = {\n shape: {}\n };\n setLinePoints(target.shape, linePoints);\n graphic.updateProps(line, target, seriesModel, idx);\n zrUtil.each(SYMBOL_CATEGORIES, function (symbolCategory) {\n var symbolType = lineData.getItemVisual(idx, symbolCategory);\n var key = makeSymbolTypeKey(symbolCategory); // Symbol changed\n\n if (this[key] !== symbolType) {\n this.remove(this.childOfName(symbolCategory));\n var symbol = createSymbol(symbolCategory, lineData, idx);\n this.add(symbol);\n }\n\n this[key] = symbolType;\n }, this);\n\n this._updateCommonStl(lineData, idx, seriesScope);\n};\n\nlineProto._updateCommonStl = function (lineData, idx, seriesScope) {\n var seriesModel = lineData.hostModel;\n var line = this.childOfName('line');\n var lineStyle = seriesScope && seriesScope.lineStyle;\n var hoverLineStyle = seriesScope && seriesScope.hoverLineStyle;\n var labelModel = seriesScope && seriesScope.labelModel;\n var hoverLabelModel = seriesScope && seriesScope.hoverLabelModel; // Optimization for large dataset\n\n if (!seriesScope || lineData.hasItemOption) {\n var itemModel = lineData.getItemModel(idx);\n lineStyle = itemModel.getModel('lineStyle').getLineStyle();\n hoverLineStyle = itemModel.getModel('emphasis.lineStyle').getLineStyle();\n labelModel = itemModel.getModel('label');\n hoverLabelModel = itemModel.getModel('emphasis.label');\n }\n\n var visualColor = lineData.getItemVisual(idx, 'color');\n var visualOpacity = zrUtil.retrieve3(lineData.getItemVisual(idx, 'opacity'), lineStyle.opacity, 1);\n line.useStyle(zrUtil.defaults({\n strokeNoScale: true,\n fill: 'none',\n stroke: visualColor,\n opacity: visualOpacity\n }, lineStyle));\n line.hoverStyle = hoverLineStyle; // Update symbol\n\n zrUtil.each(SYMBOL_CATEGORIES, function (symbolCategory) {\n var symbol = this.childOfName(symbolCategory);\n\n if (symbol) {\n symbol.setColor(visualColor);\n symbol.setStyle({\n opacity: visualOpacity\n });\n }\n }, this);\n var showLabel = labelModel.getShallow('show');\n var hoverShowLabel = hoverLabelModel.getShallow('show');\n var label = this.childOfName('label');\n var defaultLabelColor;\n var baseText; // FIXME: the logic below probably should be merged to `graphic.setLabelStyle`.\n\n if (showLabel || hoverShowLabel) {\n defaultLabelColor = visualColor || '#000';\n baseText = seriesModel.getFormattedLabel(idx, 'normal', lineData.dataType);\n\n if (baseText == null) {\n var rawVal = seriesModel.getRawValue(idx);\n baseText = rawVal == null ? lineData.getName(idx) : isFinite(rawVal) ? round(rawVal) : rawVal;\n }\n }\n\n var normalText = showLabel ? baseText : null;\n var emphasisText = hoverShowLabel ? zrUtil.retrieve2(seriesModel.getFormattedLabel(idx, 'emphasis', lineData.dataType), baseText) : null;\n var labelStyle = label.style; // Always set `textStyle` even if `normalStyle.text` is null, because default\n // values have to be set on `normalStyle`.\n\n if (normalText != null || emphasisText != null) {\n graphic.setTextStyle(label.style, labelModel, {\n text: normalText\n }, {\n autoColor: defaultLabelColor\n });\n label.__textAlign = labelStyle.textAlign;\n label.__verticalAlign = labelStyle.textVerticalAlign; // 'start', 'middle', 'end'\n\n label.__position = labelModel.get('position') || 'middle';\n var distance = labelModel.get('distance');\n\n if (!zrUtil.isArray(distance)) {\n distance = [distance, distance];\n }\n\n label.__labelDistance = distance;\n }\n\n if (emphasisText != null) {\n // Only these properties supported in this emphasis style here.\n label.hoverStyle = {\n text: emphasisText,\n textFill: hoverLabelModel.getTextColor(true),\n // For merging hover style to normal style, do not use\n // `hoverLabelModel.getFont()` here.\n fontStyle: hoverLabelModel.getShallow('fontStyle'),\n fontWeight: hoverLabelModel.getShallow('fontWeight'),\n fontSize: hoverLabelModel.getShallow('fontSize'),\n fontFamily: hoverLabelModel.getShallow('fontFamily')\n };\n } else {\n label.hoverStyle = {\n text: null\n };\n }\n\n label.ignore = !showLabel && !hoverShowLabel;\n graphic.setHoverStyle(this);\n};\n\nlineProto.highlight = function () {\n this.trigger('emphasis');\n};\n\nlineProto.downplay = function () {\n this.trigger('normal');\n};\n\nlineProto.updateLayout = function (lineData, idx) {\n this.setLinePoints(lineData.getItemLayout(idx));\n};\n\nlineProto.setLinePoints = function (points) {\n var linePath = this.childOfName('line');\n setLinePoints(linePath.shape, points);\n linePath.dirty();\n};\n\nzrUtil.inherits(Line, graphic.Group);\nvar _default = Line;\nmodule.exports = _default;","\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\nvar _config = require(\"../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar _util = require(\"zrender/lib/core/util\");\n\nvar each = _util.each;\nvar filter = _util.filter;\nvar map = _util.map;\nvar isArray = _util.isArray;\nvar indexOf = _util.indexOf;\nvar isObject = _util.isObject;\nvar isString = _util.isString;\nvar createHashMap = _util.createHashMap;\nvar assert = _util.assert;\nvar clone = _util.clone;\nvar merge = _util.merge;\nvar extend = _util.extend;\nvar mixin = _util.mixin;\n\nvar modelUtil = require(\"../util/model\");\n\nvar Model = require(\"./Model\");\n\nvar ComponentModel = require(\"./Component\");\n\nvar globalDefault = require(\"./globalDefault\");\n\nvar colorPaletteMixin = require(\"./mixin/colorPalette\");\n\nvar _sourceHelper = require(\"../data/helper/sourceHelper\");\n\nvar resetSourceDefaulter = _sourceHelper.resetSourceDefaulter;\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 * ECharts global model\n *\n * @module {echarts/model/Global}\n */\n\n/**\n * Caution: If the mechanism should be changed some day, these cases\n * should be considered:\n *\n * (1) In `merge option` mode, if using the same option to call `setOption`\n * many times, the result should be the same (try our best to ensure that).\n * (2) In `merge option` mode, if a component has no id/name specified, it\n * will be merged by index, and the result sequence of the components is\n * consistent to the original sequence.\n * (3) `reset` feature (in toolbox). Find detailed info in comments about\n * `mergeOption` in module:echarts/model/OptionManager.\n */\nvar OPTION_INNER_KEY = '\\0_ec_inner';\n/**\n * @alias module:echarts/model/Global\n *\n * @param {Object} option\n * @param {module:echarts/model/Model} parentModel\n * @param {Object} theme\n */\n\nvar GlobalModel = Model.extend({\n init: function (option, parentModel, theme, optionManager) {\n theme = theme || {};\n this.option = null; // Mark as not initialized.\n\n /**\n * @type {module:echarts/model/Model}\n * @private\n */\n\n this._theme = new Model(theme);\n /**\n * @type {module:echarts/model/OptionManager}\n */\n\n this._optionManager = optionManager;\n },\n setOption: function (option, optionPreprocessorFuncs) {\n assert(!(OPTION_INNER_KEY in option), 'please use chart.getOption()');\n\n this._optionManager.setOption(option, optionPreprocessorFuncs);\n\n this.resetOption(null);\n },\n\n /**\n * @param {string} type null/undefined: reset all.\n * 'recreate': force recreate all.\n * 'timeline': only reset timeline option\n * 'media': only reset media query option\n * @return {boolean} Whether option changed.\n */\n resetOption: function (type) {\n var optionChanged = false;\n var optionManager = this._optionManager;\n\n if (!type || type === 'recreate') {\n var baseOption = optionManager.mountOption(type === 'recreate');\n\n if (!this.option || type === 'recreate') {\n initBase.call(this, baseOption);\n } else {\n this.restoreData();\n this.mergeOption(baseOption);\n }\n\n optionChanged = true;\n }\n\n if (type === 'timeline' || type === 'media') {\n this.restoreData();\n }\n\n if (!type || type === 'recreate' || type === 'timeline') {\n var timelineOption = optionManager.getTimelineOption(this);\n timelineOption && (this.mergeOption(timelineOption), optionChanged = true);\n }\n\n if (!type || type === 'recreate' || type === 'media') {\n var mediaOptions = optionManager.getMediaOption(this, this._api);\n\n if (mediaOptions.length) {\n each(mediaOptions, function (mediaOption) {\n this.mergeOption(mediaOption, optionChanged = true);\n }, this);\n }\n }\n\n return optionChanged;\n },\n\n /**\n * @protected\n */\n mergeOption: function (newOption) {\n var option = this.option;\n var componentsMap = this._componentsMap;\n var newCptTypes = [];\n resetSourceDefaulter(this); // If no component class, merge directly.\n // For example: color, animaiton options, etc.\n\n each(newOption, function (componentOption, mainType) {\n if (componentOption == null) {\n return;\n }\n\n if (!ComponentModel.hasClass(mainType)) {\n // globalSettingTask.dirty();\n option[mainType] = option[mainType] == null ? clone(componentOption) : merge(option[mainType], componentOption, true);\n } else if (mainType) {\n newCptTypes.push(mainType);\n }\n });\n ComponentModel.topologicalTravel(newCptTypes, ComponentModel.getAllClassMainTypes(), visitComponent, this);\n\n function visitComponent(mainType, dependencies) {\n var newCptOptionList = modelUtil.normalizeToArray(newOption[mainType]);\n var mapResult = modelUtil.mappingToExists(componentsMap.get(mainType), newCptOptionList);\n modelUtil.makeIdAndName(mapResult); // Set mainType and complete subType.\n\n each(mapResult, function (item, index) {\n var opt = item.option;\n\n if (isObject(opt)) {\n item.keyInfo.mainType = mainType;\n item.keyInfo.subType = determineSubType(mainType, opt, item.exist);\n }\n });\n var dependentModels = getComponentsByTypes(componentsMap, dependencies);\n option[mainType] = [];\n componentsMap.set(mainType, []);\n each(mapResult, function (resultItem, index) {\n var componentModel = resultItem.exist;\n var newCptOption = resultItem.option;\n assert(isObject(newCptOption) || componentModel, 'Empty component definition'); // Consider where is no new option and should be merged using {},\n // see removeEdgeAndAdd in topologicalTravel and\n // ComponentModel.getAllClassMainTypes.\n\n if (!newCptOption) {\n componentModel.mergeOption({}, this);\n componentModel.optionUpdated({}, false);\n } else {\n var ComponentModelClass = ComponentModel.getClass(mainType, resultItem.keyInfo.subType, true);\n\n if (componentModel && componentModel.constructor === ComponentModelClass) {\n componentModel.name = resultItem.keyInfo.name; // componentModel.settingTask && componentModel.settingTask.dirty();\n\n componentModel.mergeOption(newCptOption, this);\n componentModel.optionUpdated(newCptOption, false);\n } else {\n // PENDING Global as parent ?\n var extraOpt = extend({\n dependentModels: dependentModels,\n componentIndex: index\n }, resultItem.keyInfo);\n componentModel = new ComponentModelClass(newCptOption, this, this, extraOpt);\n extend(componentModel, extraOpt);\n componentModel.init(newCptOption, this, this, extraOpt); // Call optionUpdated after init.\n // newCptOption has been used as componentModel.option\n // and may be merged with theme and default, so pass null\n // to avoid confusion.\n\n componentModel.optionUpdated(null, true);\n }\n }\n\n componentsMap.get(mainType)[index] = componentModel;\n option[mainType][index] = componentModel.option;\n }, this); // Backup series for filtering.\n\n if (mainType === 'series') {\n createSeriesIndices(this, componentsMap.get('series'));\n }\n }\n\n this._seriesIndicesMap = createHashMap(this._seriesIndices = this._seriesIndices || []);\n },\n\n /**\n * Get option for output (cloned option and inner info removed)\n * @public\n * @return {Object}\n */\n getOption: function () {\n var option = clone(this.option);\n each(option, function (opts, mainType) {\n if (ComponentModel.hasClass(mainType)) {\n var opts = modelUtil.normalizeToArray(opts);\n\n for (var i = opts.length - 1; i >= 0; i--) {\n // Remove options with inner id.\n if (modelUtil.isIdInner(opts[i])) {\n opts.splice(i, 1);\n }\n }\n\n option[mainType] = opts;\n }\n });\n delete option[OPTION_INNER_KEY];\n return option;\n },\n\n /**\n * @return {module:echarts/model/Model}\n */\n getTheme: function () {\n return this._theme;\n },\n\n /**\n * @param {string} mainType\n * @param {number} [idx=0]\n * @return {module:echarts/model/Component}\n */\n getComponent: function (mainType, idx) {\n var list = this._componentsMap.get(mainType);\n\n if (list) {\n return list[idx || 0];\n }\n },\n\n /**\n * If none of index and id and name used, return all components with mainType.\n * @param {Object} condition\n * @param {string} condition.mainType\n * @param {string} [condition.subType] If ignore, only query by mainType\n * @param {number|Array.} [condition.index] Either input index or id or name.\n * @param {string|Array.} [condition.id] Either input index or id or name.\n * @param {string|Array.} [condition.name] Either input index or id or name.\n * @return {Array.}\n */\n queryComponents: function (condition) {\n var mainType = condition.mainType;\n\n if (!mainType) {\n return [];\n }\n\n var index = condition.index;\n var id = condition.id;\n var name = condition.name;\n\n var cpts = this._componentsMap.get(mainType);\n\n if (!cpts || !cpts.length) {\n return [];\n }\n\n var result;\n\n if (index != null) {\n if (!isArray(index)) {\n index = [index];\n }\n\n result = filter(map(index, function (idx) {\n return cpts[idx];\n }), function (val) {\n return !!val;\n });\n } else if (id != null) {\n var isIdArray = isArray(id);\n result = filter(cpts, function (cpt) {\n return isIdArray && indexOf(id, cpt.id) >= 0 || !isIdArray && cpt.id === id;\n });\n } else if (name != null) {\n var isNameArray = isArray(name);\n result = filter(cpts, function (cpt) {\n return isNameArray && indexOf(name, cpt.name) >= 0 || !isNameArray && cpt.name === name;\n });\n } else {\n // Return all components with mainType\n result = cpts.slice();\n }\n\n return filterBySubType(result, condition);\n },\n\n /**\n * The interface is different from queryComponents,\n * which is convenient for inner usage.\n *\n * @usage\n * var result = findComponents(\n * {mainType: 'dataZoom', query: {dataZoomId: 'abc'}}\n * );\n * var result = findComponents(\n * {mainType: 'series', subType: 'pie', query: {seriesName: 'uio'}}\n * );\n * var result = findComponents(\n * {mainType: 'series',\n * filter: function (model, index) {...}}\n * );\n * // result like [component0, componnet1, ...]\n *\n * @param {Object} condition\n * @param {string} condition.mainType Mandatory.\n * @param {string} [condition.subType] Optional.\n * @param {Object} [condition.query] like {xxxIndex, xxxId, xxxName},\n * where xxx is mainType.\n * If query attribute is null/undefined or has no index/id/name,\n * do not filtering by query conditions, which is convenient for\n * no-payload situations or when target of action is global.\n * @param {Function} [condition.filter] parameter: component, return boolean.\n * @return {Array.}\n */\n findComponents: function (condition) {\n var query = condition.query;\n var mainType = condition.mainType;\n var queryCond = getQueryCond(query);\n var result = queryCond ? this.queryComponents(queryCond) : this._componentsMap.get(mainType);\n return doFilter(filterBySubType(result, condition));\n\n function getQueryCond(q) {\n var indexAttr = mainType + 'Index';\n var idAttr = mainType + 'Id';\n var nameAttr = mainType + 'Name';\n return q && (q[indexAttr] != null || q[idAttr] != null || q[nameAttr] != null) ? {\n mainType: mainType,\n // subType will be filtered finally.\n index: q[indexAttr],\n id: q[idAttr],\n name: q[nameAttr]\n } : null;\n }\n\n function doFilter(res) {\n return condition.filter ? filter(res, condition.filter) : res;\n }\n },\n\n /**\n * @usage\n * eachComponent('legend', function (legendModel, index) {\n * ...\n * });\n * eachComponent(function (componentType, model, index) {\n * // componentType does not include subType\n * // (componentType is 'xxx' but not 'xxx.aa')\n * });\n * eachComponent(\n * {mainType: 'dataZoom', query: {dataZoomId: 'abc'}},\n * function (model, index) {...}\n * );\n * eachComponent(\n * {mainType: 'series', subType: 'pie', query: {seriesName: 'uio'}},\n * function (model, index) {...}\n * );\n *\n * @param {string|Object=} mainType When mainType is object, the definition\n * is the same as the method 'findComponents'.\n * @param {Function} cb\n * @param {*} context\n */\n eachComponent: function (mainType, cb, context) {\n var componentsMap = this._componentsMap;\n\n if (typeof mainType === 'function') {\n context = cb;\n cb = mainType;\n componentsMap.each(function (components, componentType) {\n each(components, function (component, index) {\n cb.call(context, componentType, component, index);\n });\n });\n } else if (isString(mainType)) {\n each(componentsMap.get(mainType), cb, context);\n } else if (isObject(mainType)) {\n var queryResult = this.findComponents(mainType);\n each(queryResult, cb, context);\n }\n },\n\n /**\n * @param {string} name\n * @return {Array.}\n */\n getSeriesByName: function (name) {\n var series = this._componentsMap.get('series');\n\n return filter(series, function (oneSeries) {\n return oneSeries.name === name;\n });\n },\n\n /**\n * @param {number} seriesIndex\n * @return {module:echarts/model/Series}\n */\n getSeriesByIndex: function (seriesIndex) {\n return this._componentsMap.get('series')[seriesIndex];\n },\n\n /**\n * Get series list before filtered by type.\n * FIXME: rename to getRawSeriesByType?\n *\n * @param {string} subType\n * @return {Array.}\n */\n getSeriesByType: function (subType) {\n var series = this._componentsMap.get('series');\n\n return filter(series, function (oneSeries) {\n return oneSeries.subType === subType;\n });\n },\n\n /**\n * @return {Array.}\n */\n getSeries: function () {\n return this._componentsMap.get('series').slice();\n },\n\n /**\n * @return {number}\n */\n getSeriesCount: function () {\n return this._componentsMap.get('series').length;\n },\n\n /**\n * After filtering, series may be different\n * frome raw series.\n *\n * @param {Function} cb\n * @param {*} context\n */\n eachSeries: function (cb, context) {\n assertSeriesInitialized(this);\n each(this._seriesIndices, function (rawSeriesIndex) {\n var series = this._componentsMap.get('series')[rawSeriesIndex];\n\n cb.call(context, series, rawSeriesIndex);\n }, this);\n },\n\n /**\n * Iterate raw series before filtered.\n *\n * @param {Function} cb\n * @param {*} context\n */\n eachRawSeries: function (cb, context) {\n each(this._componentsMap.get('series'), cb, context);\n },\n\n /**\n * After filtering, series may be different.\n * frome raw series.\n *\n * @param {string} subType.\n * @param {Function} cb\n * @param {*} context\n */\n eachSeriesByType: function (subType, cb, context) {\n assertSeriesInitialized(this);\n each(this._seriesIndices, function (rawSeriesIndex) {\n var series = this._componentsMap.get('series')[rawSeriesIndex];\n\n if (series.subType === subType) {\n cb.call(context, series, rawSeriesIndex);\n }\n }, this);\n },\n\n /**\n * Iterate raw series before filtered of given type.\n *\n * @parma {string} subType\n * @param {Function} cb\n * @param {*} context\n */\n eachRawSeriesByType: function (subType, cb, context) {\n return each(this.getSeriesByType(subType), cb, context);\n },\n\n /**\n * @param {module:echarts/model/Series} seriesModel\n */\n isSeriesFiltered: function (seriesModel) {\n assertSeriesInitialized(this);\n return this._seriesIndicesMap.get(seriesModel.componentIndex) == null;\n },\n\n /**\n * @return {Array.}\n */\n getCurrentSeriesIndices: function () {\n return (this._seriesIndices || []).slice();\n },\n\n /**\n * @param {Function} cb\n * @param {*} context\n */\n filterSeries: function (cb, context) {\n assertSeriesInitialized(this);\n var filteredSeries = filter(this._componentsMap.get('series'), cb, context);\n createSeriesIndices(this, filteredSeries);\n },\n restoreData: function (payload) {\n var componentsMap = this._componentsMap;\n createSeriesIndices(this, componentsMap.get('series'));\n var componentTypes = [];\n componentsMap.each(function (components, componentType) {\n componentTypes.push(componentType);\n });\n ComponentModel.topologicalTravel(componentTypes, ComponentModel.getAllClassMainTypes(), function (componentType, dependencies) {\n each(componentsMap.get(componentType), function (component) {\n (componentType !== 'series' || !isNotTargetSeries(component, payload)) && component.restoreData();\n });\n });\n }\n});\n\nfunction isNotTargetSeries(seriesModel, payload) {\n if (payload) {\n var index = payload.seiresIndex;\n var id = payload.seriesId;\n var name = payload.seriesName;\n return index != null && seriesModel.componentIndex !== index || id != null && seriesModel.id !== id || name != null && seriesModel.name !== name;\n }\n}\n/**\n * @inner\n */\n\n\nfunction mergeTheme(option, theme) {\n // PENDING\n // NOT use `colorLayer` in theme if option has `color`\n var notMergeColorLayer = option.color && !option.colorLayer;\n each(theme, function (themeItem, name) {\n if (name === 'colorLayer' && notMergeColorLayer) {\n return;\n } // 如果有 component model 则把具体的 merge 逻辑交给该 model 处理\n\n\n if (!ComponentModel.hasClass(name)) {\n if (typeof themeItem === 'object') {\n option[name] = !option[name] ? clone(themeItem) : merge(option[name], themeItem, false);\n } else {\n if (option[name] == null) {\n option[name] = themeItem;\n }\n }\n }\n });\n}\n\nfunction initBase(baseOption) {\n baseOption = baseOption; // Using OPTION_INNER_KEY to mark that this option can not be used outside,\n // i.e. `chart.setOption(chart.getModel().option);` is forbiden.\n\n this.option = {};\n this.option[OPTION_INNER_KEY] = 1;\n /**\n * Init with series: [], in case of calling findSeries method\n * before series initialized.\n * @type {Object.>}\n * @private\n */\n\n this._componentsMap = createHashMap({\n series: []\n });\n /**\n * Mapping between filtered series list and raw series list.\n * key: filtered series indices, value: raw series indices.\n * @type {Array.}\n * @private\n */\n\n this._seriesIndices;\n this._seriesIndicesMap;\n mergeTheme(baseOption, this._theme.option); // TODO Needs clone when merging to the unexisted property\n\n merge(baseOption, globalDefault, false);\n this.mergeOption(baseOption);\n}\n/**\n * @inner\n * @param {Array.|string} types model types\n * @return {Object} key: {string} type, value: {Array.} models\n */\n\n\nfunction getComponentsByTypes(componentsMap, types) {\n if (!isArray(types)) {\n types = types ? [types] : [];\n }\n\n var ret = {};\n each(types, function (type) {\n ret[type] = (componentsMap.get(type) || []).slice();\n });\n return ret;\n}\n/**\n * @inner\n */\n\n\nfunction determineSubType(mainType, newCptOption, existComponent) {\n var subType = newCptOption.type ? newCptOption.type : existComponent ? existComponent.subType // Use determineSubType only when there is no existComponent.\n : ComponentModel.determineSubType(mainType, newCptOption); // tooltip, markline, markpoint may always has no subType\n\n return subType;\n}\n/**\n * @inner\n */\n\n\nfunction createSeriesIndices(ecModel, seriesModels) {\n ecModel._seriesIndicesMap = createHashMap(ecModel._seriesIndices = map(seriesModels, function (series) {\n return series.componentIndex;\n }) || []);\n}\n/**\n * @inner\n */\n\n\nfunction filterBySubType(components, condition) {\n // Using hasOwnProperty for restrict. Consider\n // subType is undefined in user payload.\n return condition.hasOwnProperty('subType') ? filter(components, function (cpt) {\n return cpt.subType === condition.subType;\n }) : components;\n}\n/**\n * @inner\n */\n\n\nfunction assertSeriesInitialized(ecModel) {}\n\nmixin(GlobalModel, colorPaletteMixin);\nvar _default = GlobalModel;\nmodule.exports = _default;","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","module.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"/dist/\",n(n.s=34)}({0:function(e,t){e.exports=require(\"pl-table/lib/utils/util\")},1:function(e,t,n){\"use strict\";n.d(t,\"b\",(function(){return o})),n.d(t,\"i\",(function(){return a})),n.d(t,\"d\",(function(){return s})),n.d(t,\"e\",(function(){return c})),n.d(t,\"c\",(function(){return u})),n.d(t,\"g\",(function(){return d})),n.d(t,\"f\",(function(){return h})),n.d(t,\"h\",(function(){return p})),n.d(t,\"l\",(function(){return m})),n.d(t,\"k\",(function(){return b})),n.d(t,\"j\",(function(){return v})),n.d(t,\"a\",(function(){return g})),n.d(t,\"m\",(function(){return y})),n.d(t,\"n\",(function(){return x}));var r=n(0),i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},o=function(e){for(var t=e.target;t&&\"HTML\"!==t.tagName.toUpperCase();){if(\"TD\"===t.tagName.toUpperCase())return t;t=t.parentNode}return null},l=function(e){return null!==e&&\"object\"===(void 0===e?\"undefined\":i(e))},a=function(e,t,n,i,o){if(!t&&!i&&(!o||Array.isArray(o)&&!o.length))return e;n=\"string\"==typeof n?\"descending\"===n?-1:1:n&&n<0?-1:1;var a=i?null:function(n,i){return o?(Array.isArray(o)||(o=[o]),o.map((function(t){return\"string\"==typeof t?Object(r.getValueByPath)(n,t):t(n,i,e)}))):(\"$key\"!==t&&l(n)&&\"$value\"in n&&(n=n.$value),[l(n)?Object(r.getValueByPath)(n,t):n])};return e.map((function(e,t){return{value:e,index:t,key:a?a(e,t):null}})).sort((function(e,t){var r=function(e,t){if(i)return i(e.value,t.value);for(var n=0,r=e.key.length;nt.key[n])return 1}return 0}(e,t);return r||(r=e.index-t.index),r*n})).map((function(e){return e.value}))},s=function(e,t){var n=null;return e.columns.forEach((function(e){e.id===t&&(n=e)})),n},c=function(e,t){for(var n=null,r=0;r2&&void 0!==arguments[2]?arguments[2]:\"children\",r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"hasChildren\",i=function(e){return!(Array.isArray(e)&&e.length)};function o(e,l,a){t(e,l,a),l.forEach((function(e){if(e[r])t(e,null,a+1);else{var l=e[n];i(l)||o(e,l,a+1)}}))}e.forEach((function(e){if(e[r])t(e,null,0);else{var l=e[n];i(l)||o(e,l,0)}}))}},2:function(e,t,n){\"use strict\";function r(e,t,n,r,i,o,l,a){var s,c=\"function\"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=n,c._compiled=!0),r&&(c.functional=!0),o&&(c._scopeId=\"data-v-\"+o),l?(s=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(l)},c._ssrRegister=s):i&&(s=a?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),s)if(c.functional){c._injectStyles=s;var u=c.render;c.render=function(e,t){return s.call(t),u(e,t)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,s):[s]}return{exports:e,options:c}}n.d(t,\"a\",(function(){return r}))},34:function(e,t,n){\"use strict\";n.r(t);var r=n(0),i={default:{order:\"\"},selection:{width:48,minWidth:48,realWidth:48,order:\"\",className:\"el-table-column--selection\"},expand:{width:48,minWidth:48,realWidth:48,order:\"\"},index:{width:48,minWidth:48,realWidth:48,order:\"\"}},o={selection:{renderHeader:function(e,t){var n=t.store;return e(\"el-checkbox\",{attrs:{disabled:n.states.data&&0===n.states.data.length,indeterminate:n.states.selection.length>0&&!this.isAllSelected,value:this.isAllSelected},nativeOn:{click:this.toggleAllSelection}})},renderCell:function(e,t){var n=t.row,r=t.column,i=t.store,o=t.$index;return e(\"el-checkbox\",{nativeOn:{click:function(e){return e.stopPropagation()}},attrs:{value:i.isSelected(n),disabled:!!r.selectable&&!r.selectable.call(null,n,o)},on:{input:function(){i.commit(\"rowSelectedChanged\",n)}}})},sortable:!1,resizable:!1},index:{renderHeader:function(e,t){return t.column.label||\"#\"},renderCell:function(e,t){var n=t.$index,r=n+1,i=t.column.index;return\"number\"==typeof i?r=n+i:\"function\"==typeof i&&(r=i(n)),e(\"div\",[r])},sortable:!1},expand:{renderHeader:function(e,t){return t.column.label||\"\"},renderCell:function(e,t){var n=t.row,r=t.store,i=[\"el-table__expand-icon\"];r.states.expandRows.indexOf(n)>-1&&i.push(\"el-table__expand-icon--expanded\");return e(\"div\",{class:i,on:{click:function(e){e.stopPropagation(),r.toggleRowExpansion(n)}}},[e(\"i\",{class:\"el-icon el-icon-arrow-right\"})])},sortable:!1,resizable:!1,className:\"el-table__expand-column\"}};function l(e,t){var n=t.row,i=t.column,o=t.$index,l=i.property,a=l&&Object(r.getPropByPath)(n,l).v;return i&&i.formatter?i.formatter(n,i,a,o):a}var a=n(1),s=n(9),c=Object.assign||function(e){for(var t=1;t-1}))}}},data:function(){return{isSubColumn:!1,columns:[]}},computed:{owner:function(){for(var e=this.$parent;e&&!e.tableId;)e=e.$parent;return e},columnOrTableParent:function(){for(var e=this.$parent;e&&!e.tableId&&!e.columnId;)e=e.$parent;return e},realWidth:function(){return Object(a.l)(this.width)},realMinWidth:function(){return Object(a.k)(this.minWidth)},realAlign:function(){return this.align?\"is-\"+this.align:null},realHeaderAlign:function(){return this.headerAlign?\"is-\"+this.headerAlign:this.realAlign}},methods:{getPropsData:function(){for(var e=this,t=arguments.length,n=Array(t),r=0;r0?n(\"div\",{class:[{\"tree--btn-wrapper-show\":t.owner.isTreeExpandByRow(s)},\"tree--btn-wrapper\"],on:{click:function(e){return t.owner.triggerTreeExpandEvent(s,\"default\",e)}}},[n(\"i\",{class:\"el-icon-arrow-right\"})]):\"\",n(\"div\",{class:\"pl-tree-cell\"},[l,o])])]):n(\"div\",a,[l,o])}),e},registerNormalWatchers:function(){var e=this,t={prop:\"property\",realAlign:\"align\",realHeaderAlign:\"headerAlign\",realWidth:\"width\"},n=[\"label\",\"property\",\"filters\",\"filterMultiple\",\"sortable\",\"index\",\"formatter\",\"className\",\"labelClassName\",\"showOverflowTooltip\"].reduce((function(e,t){return e[t]=t,e}),t);Object.keys(n).forEach((function(n){var r=t[n];e.$watch(n,(function(t){e.columnConfig[r]=t}))}))},registerComplexWatchers:function(){var e=this,t={realWidth:\"width\",realMinWidth:\"minWidth\"},n=[\"fixed\"].reduce((function(e,t){return e[t]=t,e}),t);Object.keys(n).forEach((function(n){var r=t[n];e.$watch(n,(function(t){e.columnConfig[r]=t;var n=\"fixed\"===r;e.owner.store.scheduleLayout(n)}))}))}},components:{ElCheckbox:s.a},beforeCreate:function(){this.row={},this.column={},this.$index=0,this.columnId=\"\"},created:function(){var e=this.columnOrTableParent;this.isSubColumn=this.owner!==e,this.columnId=(e.tableId||e.columnId)+\"_column_\"+u++;var t=this.type||\"default\",n=\"\"===this.sortable||this.sortable,r=c({},i[t],{id:this.columnId,type:t,property:this.prop||this.property,align:this.realAlign,headerAlign:this.realHeaderAlign,showOverflowTooltip:this.showOverflowTooltip||this.showTooltipWhenOverflow,filterable:this.filters||this.filterMethod,filteredValue:[],filterPlacement:\"\",isColumnGroup:!1,filterOpened:!1,sortable:n,index:this.index,dropAction:this.dropAction,borderLine:this.borderLine,treeNode:this.treeNode}),o=this.getPropsData([\"columnKey\",\"label\",\"className\",\"labelClassName\",\"type\",\"renderHeader\",\"formatter\",\"fixed\",\"resizable\"],[\"sortMethod\",\"sortBy\",\"sortOrders\"],[\"selectable\",\"reserveSelection\"],[\"filterMethod\",\"filters\",\"filterMultiple\",\"filterOpened\",\"filteredValue\",\"filterPlacement\"]);o=Object(a.h)(r,o),o=Object(a.a)(this.setColumnRenders,this.setColumnWidth,this.setColumnForcedProps)(o),this.columnConfig=o,this.registerNormalWatchers(),this.registerComplexWatchers()},mounted:function(){var e=this.owner,t=this.columnOrTableParent,n=this.isSubColumn?t.$el.children:t.$refs.hiddenColumns.children,r=this.getColumnElIndex(n,this.$el);e.store.commit(\"insertColumn\",this.columnConfig,r,this.isSubColumn?t.columnConfig:null)},destroyed:function(){if(this.$parent){var e=this.$parent;this.owner.store.commit(\"removeColumn\",this.columnConfig,this.isSubColumn?e.columnConfig:null)}},render:function(e){return e(\"div\",this.$slots.default)},install:function(e){e.component(d.name,d)}};t.default=d},5:function(e,t){e.exports=require(\"pl-table/lib/mixins/emitter\")},9:function(e,t,n){\"use strict\";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"label\",{staticClass:\"el-checkbox\",class:[e.border&&e.checkboxSize?\"el-checkbox--\"+e.checkboxSize:\"\",{\"is-disabled\":e.isDisabled},{\"is-bordered\":e.border},{\"is-checked\":e.isChecked}],attrs:{id:e.id}},[n(\"span\",{staticClass:\"el-checkbox__input\",class:{\"is-disabled\":e.isDisabled,\"is-checked\":e.isChecked,\"is-indeterminate\":e.indeterminate,\"is-focus\":e.focus},attrs:{tabindex:!!e.indeterminate&&0,role:!!e.indeterminate&&\"checkbox\",\"aria-checked\":!!e.indeterminate&&\"mixed\"}},[n(\"span\",{staticClass:\"el-checkbox__inner\"}),e.trueLabel||e.falseLabel?n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:e.model,expression:\"model\"}],staticClass:\"el-checkbox__original\",attrs:{type:\"checkbox\",\"aria-hidden\":e.indeterminate?\"true\":\"false\",name:e.name,disabled:e.isDisabled,\"true-value\":e.trueLabel,\"false-value\":e.falseLabel},domProps:{checked:Array.isArray(e.model)?e._i(e.model,null)>-1:e._q(e.model,e.trueLabel)},on:{change:[function(t){var n=e.model,r=t.target,i=r.checked?e.trueLabel:e.falseLabel;if(Array.isArray(n)){var o=e._i(n,null);r.checked?o<0&&(e.model=n.concat([null])):o>-1&&(e.model=n.slice(0,o).concat(n.slice(o+1)))}else e.model=i},e.handleChange],focus:function(t){e.focus=!0},blur:function(t){e.focus=!1}}}):n(\"input\",{directives:[{name:\"model\",rawName:\"v-model\",value:e.model,expression:\"model\"}],staticClass:\"el-checkbox__original\",attrs:{type:\"checkbox\",\"aria-hidden\":e.indeterminate?\"true\":\"false\",disabled:e.isDisabled,name:e.name},domProps:{value:e.label,checked:Array.isArray(e.model)?e._i(e.model,e.label)>-1:e.model},on:{change:[function(t){var n=e.model,r=t.target,i=!!r.checked;if(Array.isArray(n)){var o=e.label,l=e._i(n,o);r.checked?l<0&&(e.model=n.concat([o])):l>-1&&(e.model=n.slice(0,l).concat(n.slice(l+1)))}else e.model=i},e.handleChange],focus:function(t){e.focus=!0},blur:function(t){e.focus=!1}}})]),e.$slots.default||e.label?n(\"span\",{staticClass:\"el-checkbox__label\"},[e._t(\"default\"),e.$slots.default?e._e():[e._v(e._s(e.label))]],2):e._e()])};r._withStripped=!0;var i=n(5),o={name:\"ElCheckbox\",mixins:[n.n(i).a],inject:{elForm:{default:\"\"},elFormItem:{default:\"\"}},componentName:\"ElCheckbox\",data:function(){return{selfModel:!1,focus:!1,isLimitExceeded:!1}},computed:{model:{get:function(){return this.isGroup?this.store:void 0!==this.value?this.value:this.selfModel},set:function(e){this.isGroup?(this.isLimitExceeded=!1,void 0!==this._checkboxGroup.min&&e.lengththis._checkboxGroup.max&&(this.isLimitExceeded=!0),!1===this.isLimitExceeded&&this.dispatch(\"ElCheckboxGroup\",\"input\",[e])):(this.$emit(\"input\",e),this.selfModel=e)}},isChecked:function(){return\"[object Boolean]\"==={}.toString.call(this.model)?this.model:Array.isArray(this.model)?this.model.indexOf(this.label)>-1:null!==this.model&&void 0!==this.model?this.model===this.trueLabel:void 0},isGroup:function(){for(var e=this.$parent;e;){if(\"ElCheckboxGroup\"===e.$options.componentName)return this._checkboxGroup=e,!0;e=e.$parent}return!1},store:function(){return this._checkboxGroup?this._checkboxGroup.value:this.value},isLimitDisabled:function(){var e=this._checkboxGroup,t=e.max,n=e.min;return!(!t&&!n)&&this.model.length>=t&&!this.isChecked||this.model.length<=n&&this.isChecked},isDisabled:function(){return this.isGroup?this._checkboxGroup.disabled||this.disabled||(this.elForm||{}).disabled||this.isLimitDisabled:this.disabled||(this.elForm||{}).disabled},_elFormItemSize:function(){return(this.elFormItem||{}).elFormItemSize},checkboxSize:function(){var e=this.size||this._elFormItemSize||(this.$ELEMENT||{}).size;return this.isGroup&&this._checkboxGroup.checkboxGroupSize||e}},props:{value:{},label:{},indeterminate:Boolean,disabled:Boolean,checked:Boolean,name:String,trueLabel:[String,Number],falseLabel:[String,Number],id:String,controls:String,border:Boolean,size:String},methods:{addToStore:function(){Array.isArray(this.model)&&-1===this.model.indexOf(this.label)?this.model.push(this.label):this.model=this.trueLabel||!0},handleChange:function(e){var t=this;if(!this.isLimitExceeded){var n=void 0;n=e.target.checked?void 0===this.trueLabel||this.trueLabel:void 0!==this.falseLabel&&this.falseLabel,this.$emit(\"change\",n,e),this.$nextTick((function(){t.isGroup&&t.dispatch(\"ElCheckboxGroup\",\"change\",[t._checkboxGroup.value])}))}}},created:function(){this.checked&&this.addToStore()},mounted:function(){this.indeterminate&&this.$el.setAttribute(\"aria-controls\",this.controls)},watch:{value:function(e){this.dispatch(\"ElFormItem\",\"el.form.change\",e)}}},l=n(2),a=Object(l.a)(o,r,[],!1,null,null,null);a.options.__file=\"packages/checkbox/src/checkbox.vue\";var s=a.exports;s.install=function(e){e.component(s.name,s)};t.a=s}});","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\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*/\n\nvar _config = require(\"../config\");\n\nvar __DEV__ = _config.__DEV__;\n\nvar echarts = require(\"../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar modelUtil = require(\"../util/model\");\n\nvar graphicUtil = require(\"../util/graphic\");\n\nvar layoutUtil = require(\"../util/layout\");\n\nvar _number = require(\"../util/number\");\n\nvar parsePercent = _number.parsePercent;\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*/\nvar _nonShapeGraphicElements = {\n // Reserved but not supported in graphic component.\n path: null,\n compoundPath: null,\n // Supported in graphic component.\n group: graphicUtil.Group,\n image: graphicUtil.Image,\n text: graphicUtil.Text\n}; // -------------\n// Preprocessor\n// -------------\n\necharts.registerPreprocessor(function (option) {\n var graphicOption = option.graphic; // Convert\n // {graphic: [{left: 10, type: 'circle'}, ...]}\n // or\n // {graphic: {left: 10, type: 'circle'}}\n // to\n // {graphic: [{elements: [{left: 10, type: 'circle'}, ...]}]}\n\n if (zrUtil.isArray(graphicOption)) {\n if (!graphicOption[0] || !graphicOption[0].elements) {\n option.graphic = [{\n elements: graphicOption\n }];\n } else {\n // Only one graphic instance can be instantiated. (We dont\n // want that too many views are created in echarts._viewMap)\n option.graphic = [option.graphic[0]];\n }\n } else if (graphicOption && !graphicOption.elements) {\n option.graphic = [{\n elements: [graphicOption]\n }];\n }\n}); // ------\n// Model\n// ------\n\nvar GraphicModel = echarts.extendComponentModel({\n type: 'graphic',\n defaultOption: {\n // Extra properties for each elements:\n //\n // left/right/top/bottom: (like 12, '22%', 'center', default undefined)\n // If left/rigth is set, shape.x/shape.cx/position will not be used.\n // If top/bottom is set, shape.y/shape.cy/position will not be used.\n // This mechanism is useful when you want to position a group/element\n // against the right side or the center of this container.\n //\n // width/height: (can only be pixel value, default 0)\n // Only be used to specify contianer(group) size, if needed. And\n // can not be percentage value (like '33%'). See the reason in the\n // layout algorithm below.\n //\n // bounding: (enum: 'all' (default) | 'raw')\n // Specify how to calculate boundingRect when locating.\n // 'all': Get uioned and transformed boundingRect\n // from both itself and its descendants.\n // This mode simplies confining a group of elements in the bounding\n // of their ancester container (e.g., using 'right: 0').\n // 'raw': Only use the boundingRect of itself and before transformed.\n // This mode is similar to css behavior, which is useful when you\n // want an element to be able to overflow its container. (Consider\n // a rotated circle needs to be located in a corner.)\n // info: custom info. enables user to mount some info on elements and use them\n // in event handlers. Update them only when user specified, otherwise, remain.\n // Note: elements is always behind its ancestors in this elements array.\n elements: [],\n parentId: null\n },\n\n /**\n * Save el options for the sake of the performance (only update modified graphics).\n * The order is the same as those in option. (ancesters -> descendants)\n *\n * @private\n * @type {Array.}\n */\n _elOptionsToUpdate: null,\n\n /**\n * @override\n */\n mergeOption: function (option) {\n // Prevent default merge to elements\n var elements = this.option.elements;\n this.option.elements = null;\n GraphicModel.superApply(this, 'mergeOption', arguments);\n this.option.elements = elements;\n },\n\n /**\n * @override\n */\n optionUpdated: function (newOption, isInit) {\n var thisOption = this.option;\n var newList = (isInit ? thisOption : newOption).elements;\n var existList = thisOption.elements = isInit ? [] : thisOption.elements;\n var flattenedList = [];\n\n this._flatten(newList, flattenedList);\n\n var mappingResult = modelUtil.mappingToExists(existList, flattenedList);\n modelUtil.makeIdAndName(mappingResult); // Clear elOptionsToUpdate\n\n var elOptionsToUpdate = this._elOptionsToUpdate = [];\n zrUtil.each(mappingResult, function (resultItem, index) {\n var newElOption = resultItem.option;\n\n if (!newElOption) {\n return;\n }\n\n elOptionsToUpdate.push(newElOption);\n setKeyInfoToNewElOption(resultItem, newElOption);\n mergeNewElOptionToExist(existList, index, newElOption);\n setLayoutInfoToExist(existList[index], newElOption);\n }, this); // Clean\n\n for (var i = existList.length - 1; i >= 0; i--) {\n if (existList[i] == null) {\n existList.splice(i, 1);\n } else {\n // $action should be volatile, otherwise option gotten from\n // `getOption` will contain unexpected $action.\n delete existList[i].$action;\n }\n }\n },\n\n /**\n * Convert\n * [{\n * type: 'group',\n * id: 'xx',\n * children: [{type: 'circle'}, {type: 'polygon'}]\n * }]\n * to\n * [\n * {type: 'group', id: 'xx'},\n * {type: 'circle', parentId: 'xx'},\n * {type: 'polygon', parentId: 'xx'}\n * ]\n *\n * @private\n * @param {Array.} optionList option list\n * @param {Array.} result result of flatten\n * @param {Object} parentOption parent option\n */\n _flatten: function (optionList, result, parentOption) {\n zrUtil.each(optionList, function (option) {\n if (!option) {\n return;\n }\n\n if (parentOption) {\n option.parentOption = parentOption;\n }\n\n result.push(option);\n var children = option.children;\n\n if (option.type === 'group' && children) {\n this._flatten(children, result, option);\n } // Deleting for JSON output, and for not affecting group creation.\n\n\n delete option.children;\n }, this);\n },\n // FIXME\n // Pass to view using payload? setOption has a payload?\n useElOptionsToUpdate: function () {\n var els = this._elOptionsToUpdate; // Clear to avoid render duplicately when zooming.\n\n this._elOptionsToUpdate = null;\n return els;\n }\n}); // -----\n// View\n// -----\n\necharts.extendComponentView({\n type: 'graphic',\n\n /**\n * @override\n */\n init: function (ecModel, api) {\n /**\n * @private\n * @type {module:zrender/core/util.HashMap}\n */\n this._elMap = zrUtil.createHashMap();\n /**\n * @private\n * @type {module:echarts/graphic/GraphicModel}\n */\n\n this._lastGraphicModel;\n },\n\n /**\n * @override\n */\n render: function (graphicModel, ecModel, api) {\n // Having leveraged between use cases and algorithm complexity, a very\n // simple layout mechanism is used:\n // The size(width/height) can be determined by itself or its parent (not\n // implemented yet), but can not by its children. (Top-down travel)\n // The location(x/y) can be determined by the bounding rect of itself\n // (can including its descendants or not) and the size of its parent.\n // (Bottom-up travel)\n // When `chart.clear()` or `chart.setOption({...}, true)` with the same id,\n // view will be reused.\n if (graphicModel !== this._lastGraphicModel) {\n this._clear();\n }\n\n this._lastGraphicModel = graphicModel;\n\n this._updateElements(graphicModel);\n\n this._relocate(graphicModel, api);\n },\n\n /**\n * Update graphic elements.\n *\n * @private\n * @param {Object} graphicModel graphic model\n */\n _updateElements: function (graphicModel) {\n var elOptionsToUpdate = graphicModel.useElOptionsToUpdate();\n\n if (!elOptionsToUpdate) {\n return;\n }\n\n var elMap = this._elMap;\n var rootGroup = this.group; // Top-down tranverse to assign graphic settings to each elements.\n\n zrUtil.each(elOptionsToUpdate, function (elOption) {\n var $action = elOption.$action;\n var id = elOption.id;\n var existEl = elMap.get(id);\n var parentId = elOption.parentId;\n var targetElParent = parentId != null ? elMap.get(parentId) : rootGroup;\n var elOptionStyle = elOption.style;\n\n if (elOption.type === 'text' && elOptionStyle) {\n // In top/bottom mode, textVerticalAlign should not be used, which cause\n // inaccurately locating.\n if (elOption.hv && elOption.hv[1]) {\n elOptionStyle.textVerticalAlign = elOptionStyle.textBaseline = null;\n } // Compatible with previous setting: both support fill and textFill,\n // stroke and textStroke.\n\n\n !elOptionStyle.hasOwnProperty('textFill') && elOptionStyle.fill && (elOptionStyle.textFill = elOptionStyle.fill);\n !elOptionStyle.hasOwnProperty('textStroke') && elOptionStyle.stroke && (elOptionStyle.textStroke = elOptionStyle.stroke);\n } // Remove unnecessary props to avoid potential problems.\n\n\n var elOptionCleaned = getCleanedElOption(elOption); // For simple, do not support parent change, otherwise reorder is needed.\n\n if (!$action || $action === 'merge') {\n existEl ? existEl.attr(elOptionCleaned) : createEl(id, targetElParent, elOptionCleaned, elMap);\n } else if ($action === 'replace') {\n removeEl(existEl, elMap);\n createEl(id, targetElParent, elOptionCleaned, elMap);\n } else if ($action === 'remove') {\n removeEl(existEl, elMap);\n }\n\n var el = elMap.get(id);\n\n if (el) {\n el.__ecGraphicWidthOption = elOption.width;\n el.__ecGraphicHeightOption = elOption.height;\n setEventData(el, graphicModel, elOption);\n }\n });\n },\n\n /**\n * Locate graphic elements.\n *\n * @private\n * @param {Object} graphicModel graphic model\n * @param {module:echarts/ExtensionAPI} api extension API\n */\n _relocate: function (graphicModel, api) {\n var elOptions = graphicModel.option.elements;\n var rootGroup = this.group;\n var elMap = this._elMap;\n var apiWidth = api.getWidth();\n var apiHeight = api.getHeight(); // Top-down to calculate percentage width/height of group\n\n for (var i = 0; i < elOptions.length; i++) {\n var elOption = elOptions[i];\n var el = elMap.get(elOption.id);\n\n if (!el || !el.isGroup) {\n continue;\n }\n\n var parentEl = el.parent;\n var isParentRoot = parentEl === rootGroup; // Like 'position:absolut' in css, default 0.\n\n el.__ecGraphicWidth = parsePercent(el.__ecGraphicWidthOption, isParentRoot ? apiWidth : parentEl.__ecGraphicWidth) || 0;\n el.__ecGraphicHeight = parsePercent(el.__ecGraphicHeightOption, isParentRoot ? apiHeight : parentEl.__ecGraphicHeight) || 0;\n } // Bottom-up tranvese all elements (consider ec resize) to locate elements.\n\n\n for (var i = elOptions.length - 1; i >= 0; i--) {\n var elOption = elOptions[i];\n var el = elMap.get(elOption.id);\n\n if (!el) {\n continue;\n }\n\n var parentEl = el.parent;\n var containerInfo = parentEl === rootGroup ? {\n width: apiWidth,\n height: apiHeight\n } : {\n width: parentEl.__ecGraphicWidth,\n height: parentEl.__ecGraphicHeight\n }; // PENDING\n // Currently, when `bounding: 'all'`, the union bounding rect of the group\n // does not include the rect of [0, 0, group.width, group.height], which\n // is probably weird for users. Should we make a break change for it?\n\n layoutUtil.positionElement(el, elOption, containerInfo, null, {\n hv: elOption.hv,\n boundingMode: elOption.bounding\n });\n }\n },\n\n /**\n * Clear all elements.\n *\n * @private\n */\n _clear: function () {\n var elMap = this._elMap;\n elMap.each(function (el) {\n removeEl(el, elMap);\n });\n this._elMap = zrUtil.createHashMap();\n },\n\n /**\n * @override\n */\n dispose: function () {\n this._clear();\n }\n});\n\nfunction createEl(id, targetElParent, elOption, elMap) {\n var graphicType = elOption.type;\n var Clz = _nonShapeGraphicElements.hasOwnProperty(graphicType) // Those graphic elements are not shapes. They should not be\n // overwritten by users, so do them first.\n ? _nonShapeGraphicElements[graphicType] : graphicUtil.getShapeClass(graphicType);\n var el = new Clz(elOption);\n targetElParent.add(el);\n elMap.set(id, el);\n el.__ecGraphicId = id;\n}\n\nfunction removeEl(existEl, elMap) {\n var existElParent = existEl && existEl.parent;\n\n if (existElParent) {\n existEl.type === 'group' && existEl.traverse(function (el) {\n removeEl(el, elMap);\n });\n elMap.removeKey(existEl.__ecGraphicId);\n existElParent.remove(existEl);\n }\n} // Remove unnecessary props to avoid potential problems.\n\n\nfunction getCleanedElOption(elOption) {\n elOption = zrUtil.extend({}, elOption);\n zrUtil.each(['id', 'parentId', '$action', 'hv', 'bounding'].concat(layoutUtil.LOCATION_PARAMS), function (name) {\n delete elOption[name];\n });\n return elOption;\n}\n\nfunction isSetLoc(obj, props) {\n var isSet;\n zrUtil.each(props, function (prop) {\n obj[prop] != null && obj[prop] !== 'auto' && (isSet = true);\n });\n return isSet;\n}\n\nfunction setKeyInfoToNewElOption(resultItem, newElOption) {\n var existElOption = resultItem.exist; // Set id and type after id assigned.\n\n newElOption.id = resultItem.keyInfo.id;\n !newElOption.type && existElOption && (newElOption.type = existElOption.type); // Set parent id if not specified\n\n if (newElOption.parentId == null) {\n var newElParentOption = newElOption.parentOption;\n\n if (newElParentOption) {\n newElOption.parentId = newElParentOption.id;\n } else if (existElOption) {\n newElOption.parentId = existElOption.parentId;\n }\n } // Clear\n\n\n newElOption.parentOption = null;\n}\n\nfunction mergeNewElOptionToExist(existList, index, newElOption) {\n // Update existing options, for `getOption` feature.\n var newElOptCopy = zrUtil.extend({}, newElOption);\n var existElOption = existList[index];\n var $action = newElOption.$action || 'merge';\n\n if ($action === 'merge') {\n if (existElOption) {\n // We can ensure that newElOptCopy and existElOption are not\n // the same object, so `merge` will not change newElOptCopy.\n zrUtil.merge(existElOption, newElOptCopy, true); // Rigid body, use ignoreSize.\n\n layoutUtil.mergeLayoutParam(existElOption, newElOptCopy, {\n ignoreSize: true\n }); // Will be used in render.\n\n layoutUtil.copyLayoutParams(newElOption, existElOption);\n } else {\n existList[index] = newElOptCopy;\n }\n } else if ($action === 'replace') {\n existList[index] = newElOptCopy;\n } else if ($action === 'remove') {\n // null will be cleaned later.\n existElOption && (existList[index] = null);\n }\n}\n\nfunction setLayoutInfoToExist(existItem, newElOption) {\n if (!existItem) {\n return;\n }\n\n existItem.hv = newElOption.hv = [// Rigid body, dont care `width`.\n isSetLoc(newElOption, ['left', 'right']), // Rigid body, dont care `height`.\n isSetLoc(newElOption, ['top', 'bottom'])]; // Give default group size. Otherwise layout error may occur.\n\n if (existItem.type === 'group') {\n existItem.width == null && (existItem.width = newElOption.width = 0);\n existItem.height == null && (existItem.height = newElOption.height = 0);\n }\n}\n\nfunction setEventData(el, graphicModel, elOption) {\n var eventData = el.eventData; // Simple optimize for large amount of elements that no need event.\n\n if (!el.silent && !el.ignore && !eventData) {\n eventData = el.eventData = {\n componentType: 'graphic',\n componentIndex: graphicModel.componentIndex,\n name: el.name\n };\n } // `elOption.info` enables user to mount some info on\n // elements and use them in event handlers.\n\n\n if (eventData) {\n eventData.info = el.info;\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*/\n\nrequire(\"./dataZoom/typeDefaulter\");\n\nrequire(\"./dataZoom/DataZoomModel\");\n\nrequire(\"./dataZoom/DataZoomView\");\n\nrequire(\"./dataZoom/InsideZoomModel\");\n\nrequire(\"./dataZoom/InsideZoomView\");\n\nrequire(\"./dataZoom/dataZoomProcessor\");\n\nrequire(\"./dataZoom/dataZoomAction\");","var dP = require('./_object-dp').f;\nvar FProto = Function.prototype;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n configurable: true,\n get: function () {\n try {\n return ('' + this).match(nameRE)[1];\n } catch (e) {\n return '';\n }\n }\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*/\n\nvar graphic = require(\"../../util/graphic\");\n\nvar vec2 = require(\"zrender/lib/core/vector\");\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 * Line path for bezier and straight line draw\n */\nvar straightLineProto = graphic.Line.prototype;\nvar bezierCurveProto = graphic.BezierCurve.prototype;\n\nfunction isLine(shape) {\n return isNaN(+shape.cpx1) || isNaN(+shape.cpy1);\n}\n\nvar _default = graphic.extendShape({\n type: 'ec-line',\n style: {\n stroke: '#000',\n fill: null\n },\n shape: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: 0,\n percent: 1,\n cpx1: null,\n cpy1: null\n },\n buildPath: function (ctx, shape) {\n this[isLine(shape) ? '_buildPathLine' : '_buildPathCurve'](ctx, shape);\n },\n _buildPathLine: straightLineProto.buildPath,\n _buildPathCurve: bezierCurveProto.buildPath,\n pointAt: function (t) {\n return this[isLine(this.shape) ? '_pointAtLine' : '_pointAtCurve'](t);\n },\n _pointAtLine: straightLineProto.pointAt,\n _pointAtCurve: bezierCurveProto.pointAt,\n tangentAt: function (t) {\n var shape = this.shape;\n var p = isLine(shape) ? [shape.x2 - shape.x1, shape.y2 - shape.y1] : this._tangentAtCurve(t);\n return vec2.normalize(p, p);\n },\n _tangentAtCurve: bezierCurveProto.tangentAt\n});\n\nmodule.exports = _default;","\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\nvar _util = require(\"zrender/lib/core/util\");\n\nvar isFunction = _util.isFunction;\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*/\nfunction _default(seriesType, defaultSymbolType, legendSymbol) {\n // Encoding visual for all series include which is filtered for legend drawing\n return {\n seriesType: seriesType,\n // For legend.\n performRawSeries: true,\n reset: function (seriesModel, ecModel, api) {\n var data = seriesModel.getData();\n var symbolType = seriesModel.get('symbol');\n var symbolSize = seriesModel.get('symbolSize');\n var keepAspect = seriesModel.get('symbolKeepAspect');\n var symbolRotate = seriesModel.get('symbolRotate');\n var hasSymbolTypeCallback = isFunction(symbolType);\n var hasSymbolSizeCallback = isFunction(symbolSize);\n var hasSymbolRotateCallback = isFunction(symbolRotate);\n var hasCallback = hasSymbolTypeCallback || hasSymbolSizeCallback || hasSymbolRotateCallback;\n var seriesSymbol = !hasSymbolTypeCallback && symbolType ? symbolType : defaultSymbolType;\n var seriesSymbolSize = !hasSymbolSizeCallback ? symbolSize : null;\n var seriesSymbolRotate = !hasSymbolRotateCallback ? seriesSymbolRotate : null;\n data.setVisual({\n legendSymbol: legendSymbol || seriesSymbol,\n // If seting callback functions on `symbol` or `symbolSize`, for simplicity and avoiding\n // to bring trouble, we do not pick a reuslt from one of its calling on data item here,\n // but just use the default value. Callback on `symbol` or `symbolSize` is convenient in\n // some cases but generally it is not recommanded.\n symbol: seriesSymbol,\n symbolSize: seriesSymbolSize,\n symbolKeepAspect: keepAspect,\n symbolRotate: symbolRotate\n }); // Only visible series has each data be visual encoded\n\n if (ecModel.isSeriesFiltered(seriesModel)) {\n return;\n }\n\n function dataEach(data, idx) {\n if (hasCallback) {\n var rawValue = seriesModel.getRawValue(idx);\n var params = seriesModel.getDataParams(idx);\n hasSymbolTypeCallback && data.setItemVisual(idx, 'symbol', symbolType(rawValue, params));\n hasSymbolSizeCallback && data.setItemVisual(idx, 'symbolSize', symbolSize(rawValue, params));\n hasSymbolRotateCallback && data.setItemVisual(idx, 'symbolRotate', symbolRotate(rawValue, params));\n }\n\n if (data.hasItemOption) {\n var itemModel = data.getItemModel(idx);\n var itemSymbolType = itemModel.getShallow('symbol', true);\n var itemSymbolSize = itemModel.getShallow('symbolSize', true);\n var itemSymbolRotate = itemModel.getShallow('symbolRotate', true);\n var itemSymbolKeepAspect = itemModel.getShallow('symbolKeepAspect', true); // If has item symbol\n\n if (itemSymbolType != null) {\n data.setItemVisual(idx, 'symbol', itemSymbolType);\n }\n\n if (itemSymbolSize != null) {\n // PENDING Transform symbolSize ?\n data.setItemVisual(idx, 'symbolSize', itemSymbolSize);\n }\n\n if (itemSymbolRotate != null) {\n data.setItemVisual(idx, 'symbolRotate', itemSymbolRotate);\n }\n\n if (itemSymbolKeepAspect != null) {\n data.setItemVisual(idx, 'symbolKeepAspect', itemSymbolKeepAspect);\n }\n }\n }\n\n return {\n dataEach: data.hasItemOption || hasCallback ? dataEach : null\n };\n }\n };\n}\n\nmodule.exports = _default;","var helperCreateMathNumber = require('./helperCreateMathNumber')\r\n\r\n/**\r\n * 将数值向下舍入\r\n *\r\n * @param {string|number} num 数值\r\n * @param {number} digits 小数保留位数\r\n * @return {number}\r\n */\r\nvar floor = helperCreateMathNumber('floor')\r\n\r\nmodule.exports = floor\r\n","var toValString = require('./toString')\r\n\r\nvar isUndefined = require('../base/isUndefined')\r\n\r\nvar helperStringRepeat = require('./helperStringRepeat')\r\n\r\n/**\r\n * 用指定字符从前面开始补全字符串\r\n *\r\n * @param {String} str 字符串\r\n * @param {Number} targetLength 结果长度\r\n * @param {Number} padString 补全字符\r\n * @return {String}\r\n */\r\nfunction padStart (str, targetLength, padString) {\r\n var rest = toValString(str)\r\n targetLength = targetLength >> 0\r\n padString = isUndefined(padString) ? ' ' : '' + padString\r\n if (rest.padStart) {\r\n return rest.padStart(targetLength, padString)\r\n }\r\n if (targetLength > rest.length) {\r\n targetLength -= rest.length\r\n if (targetLength > padString.length) {\r\n padString += helperStringRepeat(padString, targetLength / padString.length)\r\n }\r\n return padString.slice(0, targetLength) + rest\r\n }\r\n return rest\r\n}\r\n\r\nmodule.exports = padStart\r\n","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\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*/\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*/\nfunction defaultKeyGetter(item) {\n return item;\n}\n/**\n * @param {Array} oldArr\n * @param {Array} newArr\n * @param {Function} oldKeyGetter\n * @param {Function} newKeyGetter\n * @param {Object} [context] Can be visited by this.context in callback.\n */\n\n\nfunction DataDiffer(oldArr, newArr, oldKeyGetter, newKeyGetter, context) {\n this._old = oldArr;\n this._new = newArr;\n this._oldKeyGetter = oldKeyGetter || defaultKeyGetter;\n this._newKeyGetter = newKeyGetter || defaultKeyGetter;\n this.context = context;\n}\n\nDataDiffer.prototype = {\n constructor: DataDiffer,\n\n /**\n * Callback function when add a data\n */\n add: function (func) {\n this._add = func;\n return this;\n },\n\n /**\n * Callback function when update a data\n */\n update: function (func) {\n this._update = func;\n return this;\n },\n\n /**\n * Callback function when remove a data\n */\n remove: function (func) {\n this._remove = func;\n return this;\n },\n execute: function () {\n var oldArr = this._old;\n var newArr = this._new;\n var oldDataIndexMap = {};\n var newDataIndexMap = {};\n var oldDataKeyArr = [];\n var newDataKeyArr = [];\n var i;\n initIndexMap(oldArr, oldDataIndexMap, oldDataKeyArr, '_oldKeyGetter', this);\n initIndexMap(newArr, newDataIndexMap, newDataKeyArr, '_newKeyGetter', this);\n\n for (i = 0; i < oldArr.length; i++) {\n var key = oldDataKeyArr[i];\n var idx = newDataIndexMap[key]; // idx can never be empty array here. see 'set null' logic below.\n\n if (idx != null) {\n // Consider there is duplicate key (for example, use dataItem.name as key).\n // We should make sure every item in newArr and oldArr can be visited.\n var len = idx.length;\n\n if (len) {\n len === 1 && (newDataIndexMap[key] = null);\n idx = idx.shift();\n } else {\n newDataIndexMap[key] = null;\n }\n\n this._update && this._update(idx, i);\n } else {\n this._remove && this._remove(i);\n }\n }\n\n for (var i = 0; i < newDataKeyArr.length; i++) {\n var key = newDataKeyArr[i];\n\n if (newDataIndexMap.hasOwnProperty(key)) {\n var idx = newDataIndexMap[key];\n\n if (idx == null) {\n continue;\n } // idx can never be empty array here. see 'set null' logic above.\n\n\n if (!idx.length) {\n this._add && this._add(idx);\n } else {\n for (var j = 0, len = idx.length; j < len; j++) {\n this._add && this._add(idx[j]);\n }\n }\n }\n }\n }\n};\n\nfunction initIndexMap(arr, map, keyArr, keyGetterName, dataDiffer) {\n for (var i = 0; i < arr.length; i++) {\n // Add prefix to avoid conflict with Object.prototype.\n var key = '_ec_' + dataDiffer[keyGetterName](arr[i], i);\n var existence = map[key];\n\n if (existence == null) {\n keyArr.push(key);\n map[key] = i;\n } else {\n if (!existence.length) {\n map[key] = existence = [existence];\n }\n\n existence.push(i);\n }\n }\n}\n\nvar _default = DataDiffer;\nmodule.exports = _default;","var isArray = require('./isArray')\r\nvar isInteger = require('./isInteger')\r\nvar isNull = require('./isNull')\r\n\r\n/**\r\n * 判断是否小数\r\n *\r\n * @param {Number} obj 数值\r\n * @return {Boolean}\r\n */\r\nfunction isFloat (obj) {\r\n return !isNull(obj) && !isNaN(obj) && !isArray(obj) && !isInteger(obj)\r\n}\r\n\r\nmodule.exports = isFloat\r\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\nvar layout = require(\"../../util/layout\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _model = require(\"../../util/model\");\n\nvar groupData = _model.groupData;\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*/\nfunction _default(ecModel, api, payload) {\n ecModel.eachSeriesByType('sankey', function (seriesModel) {\n var nodeWidth = seriesModel.get('nodeWidth');\n var nodeGap = seriesModel.get('nodeGap');\n var layoutInfo = getViewRect(seriesModel, api);\n seriesModel.layoutInfo = layoutInfo;\n var width = layoutInfo.width;\n var height = layoutInfo.height;\n var graph = seriesModel.getGraph();\n var nodes = graph.nodes;\n var edges = graph.edges;\n computeNodeValues(nodes);\n var filteredNodes = zrUtil.filter(nodes, function (node) {\n return node.getLayout().value === 0;\n });\n var iterations = filteredNodes.length !== 0 ? 0 : seriesModel.get('layoutIterations');\n var orient = seriesModel.get('orient');\n var nodeAlign = seriesModel.get('nodeAlign');\n layoutSankey(nodes, edges, nodeWidth, nodeGap, width, height, iterations, orient, nodeAlign);\n });\n}\n/**\n * Get the layout position of the whole view\n *\n * @param {module:echarts/model/Series} seriesModel the model object of sankey series\n * @param {module:echarts/ExtensionAPI} api provide the API list that the developer can call\n * @return {module:zrender/core/BoundingRect} size of rect to draw the sankey view\n */\n\n\nfunction getViewRect(seriesModel, api) {\n return layout.getLayoutRect(seriesModel.getBoxLayoutParams(), {\n width: api.getWidth(),\n height: api.getHeight()\n });\n}\n\nfunction layoutSankey(nodes, edges, nodeWidth, nodeGap, width, height, iterations, orient, nodeAlign) {\n computeNodeBreadths(nodes, edges, nodeWidth, width, height, orient, nodeAlign);\n computeNodeDepths(nodes, edges, height, width, nodeGap, iterations, orient);\n computeEdgeDepths(nodes, orient);\n}\n/**\n * Compute the value of each node by summing the associated edge's value\n *\n * @param {module:echarts/data/Graph~Node} nodes node of sankey view\n */\n\n\nfunction computeNodeValues(nodes) {\n zrUtil.each(nodes, function (node) {\n var value1 = sum(node.outEdges, getEdgeValue);\n var value2 = sum(node.inEdges, getEdgeValue);\n var nodeRawValue = node.getValue() || 0;\n var value = Math.max(value1, value2, nodeRawValue);\n node.setLayout({\n value: value\n }, true);\n });\n}\n/**\n * Compute the x-position for each node.\n *\n * Here we use Kahn algorithm to detect cycle when we traverse\n * the node to computer the initial x position.\n *\n * @param {module:echarts/data/Graph~Node} nodes node of sankey view\n * @param {number} nodeWidth the dx of the node\n * @param {number} width the whole width of the area to draw the view\n */\n\n\nfunction computeNodeBreadths(nodes, edges, nodeWidth, width, height, orient, nodeAlign) {\n // Used to mark whether the edge is deleted. if it is deleted,\n // the value is 0, otherwise it is 1.\n var remainEdges = []; // Storage each node's indegree.\n\n var indegreeArr = []; //Used to storage the node with indegree is equal to 0.\n\n var zeroIndegrees = [];\n var nextTargetNode = [];\n var x = 0;\n var kx = 0;\n\n for (var i = 0; i < edges.length; i++) {\n remainEdges[i] = 1;\n }\n\n for (i = 0; i < nodes.length; i++) {\n indegreeArr[i] = nodes[i].inEdges.length;\n\n if (indegreeArr[i] === 0) {\n zeroIndegrees.push(nodes[i]);\n }\n }\n\n var maxNodeDepth = -1; // Traversing nodes using topological sorting to calculate the\n // horizontal(if orient === 'horizontal') or vertical(if orient === 'vertical')\n // position of the nodes.\n\n while (zeroIndegrees.length) {\n for (var idx = 0; idx < zeroIndegrees.length; idx++) {\n var node = zeroIndegrees[idx];\n var item = node.hostGraph.data.getRawDataItem(node.dataIndex);\n var isItemDepth = item.depth != null && item.depth >= 0;\n\n if (isItemDepth && item.depth > maxNodeDepth) {\n maxNodeDepth = item.depth;\n }\n\n node.setLayout({\n depth: isItemDepth ? item.depth : x\n }, true);\n orient === 'vertical' ? node.setLayout({\n dy: nodeWidth\n }, true) : node.setLayout({\n dx: nodeWidth\n }, true);\n\n for (var edgeIdx = 0; edgeIdx < node.outEdges.length; edgeIdx++) {\n var edge = node.outEdges[edgeIdx];\n var indexEdge = edges.indexOf(edge);\n remainEdges[indexEdge] = 0;\n var targetNode = edge.node2;\n var nodeIndex = nodes.indexOf(targetNode);\n\n if (--indegreeArr[nodeIndex] === 0 && nextTargetNode.indexOf(targetNode) < 0) {\n nextTargetNode.push(targetNode);\n }\n }\n }\n\n ++x;\n zeroIndegrees = nextTargetNode;\n nextTargetNode = [];\n }\n\n for (i = 0; i < remainEdges.length; i++) {\n if (remainEdges[i] === 1) {\n throw new Error('Sankey is a DAG, the original data has cycle!');\n }\n }\n\n var maxDepth = maxNodeDepth > x - 1 ? maxNodeDepth : x - 1;\n\n if (nodeAlign && nodeAlign !== 'left') {\n adjustNodeWithNodeAlign(nodes, nodeAlign, orient, maxDepth);\n }\n\n var kx = orient === 'vertical' ? (height - nodeWidth) / maxDepth : (width - nodeWidth) / maxDepth;\n scaleNodeBreadths(nodes, kx, orient);\n}\n\nfunction isNodeDepth(node) {\n var item = node.hostGraph.data.getRawDataItem(node.dataIndex);\n return item.depth != null && item.depth >= 0;\n}\n\nfunction adjustNodeWithNodeAlign(nodes, nodeAlign, orient, maxDepth) {\n if (nodeAlign === 'right') {\n var nextSourceNode = [];\n var remainNodes = nodes;\n var nodeHeight = 0;\n\n while (remainNodes.length) {\n for (var i = 0; i < remainNodes.length; i++) {\n var node = remainNodes[i];\n node.setLayout({\n skNodeHeight: nodeHeight\n }, true);\n\n for (var j = 0; j < node.inEdges.length; j++) {\n var edge = node.inEdges[j];\n\n if (nextSourceNode.indexOf(edge.node1) < 0) {\n nextSourceNode.push(edge.node1);\n }\n }\n }\n\n remainNodes = nextSourceNode;\n nextSourceNode = [];\n ++nodeHeight;\n }\n\n zrUtil.each(nodes, function (node) {\n if (!isNodeDepth(node)) {\n node.setLayout({\n depth: Math.max(0, maxDepth - node.getLayout().skNodeHeight)\n }, true);\n }\n });\n } else if (nodeAlign === 'justify') {\n moveSinksRight(nodes, maxDepth);\n }\n}\n/**\n * All the node without outEgdes are assigned maximum x-position and\n * be aligned in the last column.\n *\n * @param {module:echarts/data/Graph~Node} nodes. node of sankey view.\n * @param {number} maxDepth. use to assign to node without outEdges as x-position.\n */\n\n\nfunction moveSinksRight(nodes, maxDepth) {\n zrUtil.each(nodes, function (node) {\n if (!isNodeDepth(node) && !node.outEdges.length) {\n node.setLayout({\n depth: maxDepth\n }, true);\n }\n });\n}\n/**\n * Scale node x-position to the width\n *\n * @param {module:echarts/data/Graph~Node} nodes node of sankey view\n * @param {number} kx multiple used to scale nodes\n */\n\n\nfunction scaleNodeBreadths(nodes, kx, orient) {\n zrUtil.each(nodes, function (node) {\n var nodeDepth = node.getLayout().depth * kx;\n orient === 'vertical' ? node.setLayout({\n y: nodeDepth\n }, true) : node.setLayout({\n x: nodeDepth\n }, true);\n });\n}\n/**\n * Using Gauss-Seidel iterations method to compute the node depth(y-position)\n *\n * @param {module:echarts/data/Graph~Node} nodes node of sankey view\n * @param {module:echarts/data/Graph~Edge} edges edge of sankey view\n * @param {number} height the whole height of the area to draw the view\n * @param {number} nodeGap the vertical distance between two nodes\n * in the same column.\n * @param {number} iterations the number of iterations for the algorithm\n */\n\n\nfunction computeNodeDepths(nodes, edges, height, width, nodeGap, iterations, orient) {\n var nodesByBreadth = prepareNodesByBreadth(nodes, orient);\n initializeNodeDepth(nodesByBreadth, edges, height, width, nodeGap, orient);\n resolveCollisions(nodesByBreadth, nodeGap, height, width, orient);\n\n for (var alpha = 1; iterations > 0; iterations--) {\n // 0.99 is a experience parameter, ensure that each iterations of\n // changes as small as possible.\n alpha *= 0.99;\n relaxRightToLeft(nodesByBreadth, alpha, orient);\n resolveCollisions(nodesByBreadth, nodeGap, height, width, orient);\n relaxLeftToRight(nodesByBreadth, alpha, orient);\n resolveCollisions(nodesByBreadth, nodeGap, height, width, orient);\n }\n}\n\nfunction prepareNodesByBreadth(nodes, orient) {\n var nodesByBreadth = [];\n var keyAttr = orient === 'vertical' ? 'y' : 'x';\n var groupResult = groupData(nodes, function (node) {\n return node.getLayout()[keyAttr];\n });\n groupResult.keys.sort(function (a, b) {\n return a - b;\n });\n zrUtil.each(groupResult.keys, function (key) {\n nodesByBreadth.push(groupResult.buckets.get(key));\n });\n return nodesByBreadth;\n}\n/**\n * Compute the original y-position for each node\n *\n * @param {module:echarts/data/Graph~Node} nodes node of sankey view\n * @param {Array.>} nodesByBreadth\n * group by the array of all sankey nodes based on the nodes x-position.\n * @param {module:echarts/data/Graph~Edge} edges edge of sankey view\n * @param {number} height the whole height of the area to draw the view\n * @param {number} nodeGap the vertical distance between two nodes\n */\n\n\nfunction initializeNodeDepth(nodesByBreadth, edges, height, width, nodeGap, orient) {\n var minKy = Infinity;\n zrUtil.each(nodesByBreadth, function (nodes) {\n var n = nodes.length;\n var sum = 0;\n zrUtil.each(nodes, function (node) {\n sum += node.getLayout().value;\n });\n var ky = orient === 'vertical' ? (width - (n - 1) * nodeGap) / sum : (height - (n - 1) * nodeGap) / sum;\n\n if (ky < minKy) {\n minKy = ky;\n }\n });\n zrUtil.each(nodesByBreadth, function (nodes) {\n zrUtil.each(nodes, function (node, i) {\n var nodeDy = node.getLayout().value * minKy;\n\n if (orient === 'vertical') {\n node.setLayout({\n x: i\n }, true);\n node.setLayout({\n dx: nodeDy\n }, true);\n } else {\n node.setLayout({\n y: i\n }, true);\n node.setLayout({\n dy: nodeDy\n }, true);\n }\n });\n });\n zrUtil.each(edges, function (edge) {\n var edgeDy = +edge.getValue() * minKy;\n edge.setLayout({\n dy: edgeDy\n }, true);\n });\n}\n/**\n * Resolve the collision of initialized depth (y-position)\n *\n * @param {Array.>} nodesByBreadth\n * group by the array of all sankey nodes based on the nodes x-position.\n * @param {number} nodeGap the vertical distance between two nodes\n * @param {number} height the whole height of the area to draw the view\n */\n\n\nfunction resolveCollisions(nodesByBreadth, nodeGap, height, width, orient) {\n var keyAttr = orient === 'vertical' ? 'x' : 'y';\n zrUtil.each(nodesByBreadth, function (nodes) {\n nodes.sort(function (a, b) {\n return a.getLayout()[keyAttr] - b.getLayout()[keyAttr];\n });\n var nodeX;\n var node;\n var dy;\n var y0 = 0;\n var n = nodes.length;\n var nodeDyAttr = orient === 'vertical' ? 'dx' : 'dy';\n\n for (var i = 0; i < n; i++) {\n node = nodes[i];\n dy = y0 - node.getLayout()[keyAttr];\n\n if (dy > 0) {\n nodeX = node.getLayout()[keyAttr] + dy;\n orient === 'vertical' ? node.setLayout({\n x: nodeX\n }, true) : node.setLayout({\n y: nodeX\n }, true);\n }\n\n y0 = node.getLayout()[keyAttr] + node.getLayout()[nodeDyAttr] + nodeGap;\n }\n\n var viewWidth = orient === 'vertical' ? width : height; // If the bottommost node goes outside the bounds, push it back up\n\n dy = y0 - nodeGap - viewWidth;\n\n if (dy > 0) {\n nodeX = node.getLayout()[keyAttr] - dy;\n orient === 'vertical' ? node.setLayout({\n x: nodeX\n }, true) : node.setLayout({\n y: nodeX\n }, true);\n y0 = nodeX;\n\n for (i = n - 2; i >= 0; --i) {\n node = nodes[i];\n dy = node.getLayout()[keyAttr] + node.getLayout()[nodeDyAttr] + nodeGap - y0;\n\n if (dy > 0) {\n nodeX = node.getLayout()[keyAttr] - dy;\n orient === 'vertical' ? node.setLayout({\n x: nodeX\n }, true) : node.setLayout({\n y: nodeX\n }, true);\n }\n\n y0 = node.getLayout()[keyAttr];\n }\n }\n });\n}\n/**\n * Change the y-position of the nodes, except most the right side nodes\n *\n * @param {Array.>} nodesByBreadth\n * group by the array of all sankey nodes based on the node x-position.\n * @param {number} alpha parameter used to adjust the nodes y-position\n */\n\n\nfunction relaxRightToLeft(nodesByBreadth, alpha, orient) {\n zrUtil.each(nodesByBreadth.slice().reverse(), function (nodes) {\n zrUtil.each(nodes, function (node) {\n if (node.outEdges.length) {\n var y = sum(node.outEdges, weightedTarget, orient) / sum(node.outEdges, getEdgeValue, orient);\n\n if (isNaN(y)) {\n var len = node.outEdges.length;\n y = len ? sum(node.outEdges, centerTarget, orient) / len : 0;\n }\n\n if (orient === 'vertical') {\n var nodeX = node.getLayout().x + (y - center(node, orient)) * alpha;\n node.setLayout({\n x: nodeX\n }, true);\n } else {\n var nodeY = node.getLayout().y + (y - center(node, orient)) * alpha;\n node.setLayout({\n y: nodeY\n }, true);\n }\n }\n });\n });\n}\n\nfunction weightedTarget(edge, orient) {\n return center(edge.node2, orient) * edge.getValue();\n}\n\nfunction centerTarget(edge, orient) {\n return center(edge.node2, orient);\n}\n\nfunction weightedSource(edge, orient) {\n return center(edge.node1, orient) * edge.getValue();\n}\n\nfunction centerSource(edge, orient) {\n return center(edge.node1, orient);\n}\n\nfunction center(node, orient) {\n return orient === 'vertical' ? node.getLayout().x + node.getLayout().dx / 2 : node.getLayout().y + node.getLayout().dy / 2;\n}\n\nfunction getEdgeValue(edge) {\n return edge.getValue();\n}\n\nfunction sum(array, cb, orient) {\n var sum = 0;\n var len = array.length;\n var i = -1;\n\n while (++i < len) {\n var value = +cb.call(array, array[i], orient);\n\n if (!isNaN(value)) {\n sum += value;\n }\n }\n\n return sum;\n}\n/**\n * Change the y-position of the nodes, except most the left side nodes\n *\n * @param {Array.>} nodesByBreadth\n * group by the array of all sankey nodes based on the node x-position.\n * @param {number} alpha parameter used to adjust the nodes y-position\n */\n\n\nfunction relaxLeftToRight(nodesByBreadth, alpha, orient) {\n zrUtil.each(nodesByBreadth, function (nodes) {\n zrUtil.each(nodes, function (node) {\n if (node.inEdges.length) {\n var y = sum(node.inEdges, weightedSource, orient) / sum(node.inEdges, getEdgeValue, orient);\n\n if (isNaN(y)) {\n var len = node.inEdges.length;\n y = len ? sum(node.inEdges, centerSource, orient) / len : 0;\n }\n\n if (orient === 'vertical') {\n var nodeX = node.getLayout().x + (y - center(node, orient)) * alpha;\n node.setLayout({\n x: nodeX\n }, true);\n } else {\n var nodeY = node.getLayout().y + (y - center(node, orient)) * alpha;\n node.setLayout({\n y: nodeY\n }, true);\n }\n }\n });\n });\n}\n/**\n * Compute the depth(y-position) of each edge\n *\n * @param {module:echarts/data/Graph~Node} nodes node of sankey view\n */\n\n\nfunction computeEdgeDepths(nodes, orient) {\n var keyAttr = orient === 'vertical' ? 'x' : 'y';\n zrUtil.each(nodes, function (node) {\n node.outEdges.sort(function (a, b) {\n return a.node2.getLayout()[keyAttr] - b.node2.getLayout()[keyAttr];\n });\n node.inEdges.sort(function (a, b) {\n return a.node1.getLayout()[keyAttr] - b.node1.getLayout()[keyAttr];\n });\n });\n zrUtil.each(nodes, function (node) {\n var sy = 0;\n var ty = 0;\n zrUtil.each(node.outEdges, function (edge) {\n edge.setLayout({\n sy: sy\n }, true);\n sy += edge.getLayout().dy;\n });\n zrUtil.each(node.inEdges, function (edge) {\n edge.setLayout({\n ty: ty\n }, true);\n ty += edge.getLayout().dy;\n });\n });\n}\n\nmodule.exports = _default;","/**\n * [js-md5]{@link https://github.com/emn178/js-md5}\n *\n * @namespace md5\n * @version 0.7.3\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\n * @copyright Chen, Yi-Cyuan 2014-2017\n * @license MIT\n */\n(function () {\n 'use strict';\n\n var ERROR = 'input is invalid type';\n var WINDOW = typeof window === 'object';\n var root = WINDOW ? window : {};\n if (root.JS_MD5_NO_WINDOW) {\n WINDOW = false;\n }\n var WEB_WORKER = !WINDOW && typeof self === 'object';\n var NODE_JS = !root.JS_MD5_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node;\n if (NODE_JS) {\n root = global;\n } else if (WEB_WORKER) {\n root = self;\n }\n var COMMON_JS = !root.JS_MD5_NO_COMMON_JS && typeof module === 'object' && module.exports;\n var AMD = typeof define === 'function' && define.amd;\n var ARRAY_BUFFER = !root.JS_MD5_NO_ARRAY_BUFFER && typeof ArrayBuffer !== 'undefined';\n var HEX_CHARS = '0123456789abcdef'.split('');\n var EXTRA = [128, 32768, 8388608, -2147483648];\n var SHIFT = [0, 8, 16, 24];\n var OUTPUT_TYPES = ['hex', 'array', 'digest', 'buffer', 'arrayBuffer', 'base64'];\n var BASE64_ENCODE_CHAR = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');\n\n var blocks = [], buffer8;\n if (ARRAY_BUFFER) {\n var buffer = new ArrayBuffer(68);\n buffer8 = new Uint8Array(buffer);\n blocks = new Uint32Array(buffer);\n }\n\n if (root.JS_MD5_NO_NODE_JS || !Array.isArray) {\n Array.isArray = function (obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n };\n }\n\n if (ARRAY_BUFFER && (root.JS_MD5_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) {\n ArrayBuffer.isView = function (obj) {\n return typeof obj === 'object' && obj.buffer && obj.buffer.constructor === ArrayBuffer;\n };\n }\n\n /**\n * @method hex\n * @memberof md5\n * @description Output hash as hex string\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {String} Hex string\n * @example\n * md5.hex('The quick brown fox jumps over the lazy dog');\n * // equal to\n * md5('The quick brown fox jumps over the lazy dog');\n */\n /**\n * @method digest\n * @memberof md5\n * @description Output hash as bytes array\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {Array} Bytes array\n * @example\n * md5.digest('The quick brown fox jumps over the lazy dog');\n */\n /**\n * @method array\n * @memberof md5\n * @description Output hash as bytes array\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {Array} Bytes array\n * @example\n * md5.array('The quick brown fox jumps over the lazy dog');\n */\n /**\n * @method arrayBuffer\n * @memberof md5\n * @description Output hash as ArrayBuffer\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {ArrayBuffer} ArrayBuffer\n * @example\n * md5.arrayBuffer('The quick brown fox jumps over the lazy dog');\n */\n /**\n * @method buffer\n * @deprecated This maybe confuse with Buffer in node.js. Please use arrayBuffer instead.\n * @memberof md5\n * @description Output hash as ArrayBuffer\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {ArrayBuffer} ArrayBuffer\n * @example\n * md5.buffer('The quick brown fox jumps over the lazy dog');\n */\n /**\n * @method base64\n * @memberof md5\n * @description Output hash as base64 string\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {String} base64 string\n * @example\n * md5.base64('The quick brown fox jumps over the lazy dog');\n */\n var createOutputMethod = function (outputType) {\n return function (message) {\n return new Md5(true).update(message)[outputType]();\n };\n };\n\n /**\n * @method create\n * @memberof md5\n * @description Create Md5 object\n * @returns {Md5} Md5 object.\n * @example\n * var hash = md5.create();\n */\n /**\n * @method update\n * @memberof md5\n * @description Create and update Md5 object\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {Md5} Md5 object.\n * @example\n * var hash = md5.update('The quick brown fox jumps over the lazy dog');\n * // equal to\n * var hash = md5.create();\n * hash.update('The quick brown fox jumps over the lazy dog');\n */\n var createMethod = function () {\n var method = createOutputMethod('hex');\n if (NODE_JS) {\n method = nodeWrap(method);\n }\n method.create = function () {\n return new Md5();\n };\n method.update = function (message) {\n return method.create().update(message);\n };\n for (var i = 0; i < OUTPUT_TYPES.length; ++i) {\n var type = OUTPUT_TYPES[i];\n method[type] = createOutputMethod(type);\n }\n return method;\n };\n\n var nodeWrap = function (method) {\n var crypto = eval(\"require('crypto')\");\n var Buffer = eval(\"require('buffer').Buffer\");\n var nodeMethod = function (message) {\n if (typeof message === 'string') {\n return crypto.createHash('md5').update(message, 'utf8').digest('hex');\n } else {\n if (message === null || message === undefined) {\n throw ERROR;\n } else if (message.constructor === ArrayBuffer) {\n message = new Uint8Array(message);\n }\n }\n if (Array.isArray(message) || ArrayBuffer.isView(message) ||\n message.constructor === Buffer) {\n return crypto.createHash('md5').update(new Buffer(message)).digest('hex');\n } else {\n return method(message);\n }\n };\n return nodeMethod;\n };\n\n /**\n * Md5 class\n * @class Md5\n * @description This is internal class.\n * @see {@link md5.create}\n */\n function Md5(sharedMemory) {\n if (sharedMemory) {\n blocks[0] = blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n this.blocks = blocks;\n this.buffer8 = buffer8;\n } else {\n if (ARRAY_BUFFER) {\n var buffer = new ArrayBuffer(68);\n this.buffer8 = new Uint8Array(buffer);\n this.blocks = new Uint32Array(buffer);\n } else {\n this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n }\n }\n this.h0 = this.h1 = this.h2 = this.h3 = this.start = this.bytes = this.hBytes = 0;\n this.finalized = this.hashed = false;\n this.first = true;\n }\n\n /**\n * @method update\n * @memberof Md5\n * @instance\n * @description Update hash\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {Md5} Md5 object.\n * @see {@link md5.update}\n */\n Md5.prototype.update = function (message) {\n if (this.finalized) {\n return;\n }\n\n var notString, type = typeof message;\n if (type !== 'string') {\n if (type === 'object') {\n if (message === null) {\n throw ERROR;\n } else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) {\n message = new Uint8Array(message);\n } else if (!Array.isArray(message)) {\n if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) {\n throw ERROR;\n }\n }\n } else {\n throw ERROR;\n }\n notString = true;\n }\n var code, index = 0, i, length = message.length, blocks = this.blocks;\n var buffer8 = this.buffer8;\n\n while (index < length) {\n if (this.hashed) {\n this.hashed = false;\n blocks[0] = blocks[16];\n blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n\n if (notString) {\n if (ARRAY_BUFFER) {\n for (i = this.start; index < length && i < 64; ++index) {\n buffer8[i++] = message[index];\n }\n } else {\n for (i = this.start; index < length && i < 64; ++index) {\n blocks[i >> 2] |= message[index] << SHIFT[i++ & 3];\n }\n }\n } else {\n if (ARRAY_BUFFER) {\n for (i = this.start; index < length && i < 64; ++index) {\n code = message.charCodeAt(index);\n if (code < 0x80) {\n buffer8[i++] = code;\n } else if (code < 0x800) {\n buffer8[i++] = 0xc0 | (code >> 6);\n buffer8[i++] = 0x80 | (code & 0x3f);\n } else if (code < 0xd800 || code >= 0xe000) {\n buffer8[i++] = 0xe0 | (code >> 12);\n buffer8[i++] = 0x80 | ((code >> 6) & 0x3f);\n buffer8[i++] = 0x80 | (code & 0x3f);\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));\n buffer8[i++] = 0xf0 | (code >> 18);\n buffer8[i++] = 0x80 | ((code >> 12) & 0x3f);\n buffer8[i++] = 0x80 | ((code >> 6) & 0x3f);\n buffer8[i++] = 0x80 | (code & 0x3f);\n }\n }\n } else {\n for (i = this.start; index < length && i < 64; ++index) {\n code = message.charCodeAt(index);\n if (code < 0x80) {\n blocks[i >> 2] |= code << SHIFT[i++ & 3];\n } else if (code < 0x800) {\n blocks[i >> 2] |= (0xc0 | (code >> 6)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else if (code < 0xd800 || code >= 0xe000) {\n blocks[i >> 2] |= (0xe0 | (code >> 12)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));\n blocks[i >> 2] |= (0xf0 | (code >> 18)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 12) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n }\n }\n }\n }\n this.lastByteIndex = i;\n this.bytes += i - this.start;\n if (i >= 64) {\n this.start = i - 64;\n this.hash();\n this.hashed = true;\n } else {\n this.start = i;\n }\n }\n if (this.bytes > 4294967295) {\n this.hBytes += this.bytes / 4294967296 << 0;\n this.bytes = this.bytes % 4294967296;\n }\n return this;\n };\n\n Md5.prototype.finalize = function () {\n if (this.finalized) {\n return;\n }\n this.finalized = true;\n var blocks = this.blocks, i = this.lastByteIndex;\n blocks[i >> 2] |= EXTRA[i & 3];\n if (i >= 56) {\n if (!this.hashed) {\n this.hash();\n }\n blocks[0] = blocks[16];\n blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n blocks[14] = this.bytes << 3;\n blocks[15] = this.hBytes << 3 | this.bytes >>> 29;\n this.hash();\n };\n\n Md5.prototype.hash = function () {\n var a, b, c, d, bc, da, blocks = this.blocks;\n\n if (this.first) {\n a = blocks[0] - 680876937;\n a = (a << 7 | a >>> 25) - 271733879 << 0;\n d = (-1732584194 ^ a & 2004318071) + blocks[1] - 117830708;\n d = (d << 12 | d >>> 20) + a << 0;\n c = (-271733879 ^ (d & (a ^ -271733879))) + blocks[2] - 1126478375;\n c = (c << 17 | c >>> 15) + d << 0;\n b = (a ^ (c & (d ^ a))) + blocks[3] - 1316259209;\n b = (b << 22 | b >>> 10) + c << 0;\n } else {\n a = this.h0;\n b = this.h1;\n c = this.h2;\n d = this.h3;\n a += (d ^ (b & (c ^ d))) + blocks[0] - 680876936;\n a = (a << 7 | a >>> 25) + b << 0;\n d += (c ^ (a & (b ^ c))) + blocks[1] - 389564586;\n d = (d << 12 | d >>> 20) + a << 0;\n c += (b ^ (d & (a ^ b))) + blocks[2] + 606105819;\n c = (c << 17 | c >>> 15) + d << 0;\n b += (a ^ (c & (d ^ a))) + blocks[3] - 1044525330;\n b = (b << 22 | b >>> 10) + c << 0;\n }\n\n a += (d ^ (b & (c ^ d))) + blocks[4] - 176418897;\n a = (a << 7 | a >>> 25) + b << 0;\n d += (c ^ (a & (b ^ c))) + blocks[5] + 1200080426;\n d = (d << 12 | d >>> 20) + a << 0;\n c += (b ^ (d & (a ^ b))) + blocks[6] - 1473231341;\n c = (c << 17 | c >>> 15) + d << 0;\n b += (a ^ (c & (d ^ a))) + blocks[7] - 45705983;\n b = (b << 22 | b >>> 10) + c << 0;\n a += (d ^ (b & (c ^ d))) + blocks[8] + 1770035416;\n a = (a << 7 | a >>> 25) + b << 0;\n d += (c ^ (a & (b ^ c))) + blocks[9] - 1958414417;\n d = (d << 12 | d >>> 20) + a << 0;\n c += (b ^ (d & (a ^ b))) + blocks[10] - 42063;\n c = (c << 17 | c >>> 15) + d << 0;\n b += (a ^ (c & (d ^ a))) + blocks[11] - 1990404162;\n b = (b << 22 | b >>> 10) + c << 0;\n a += (d ^ (b & (c ^ d))) + blocks[12] + 1804603682;\n a = (a << 7 | a >>> 25) + b << 0;\n d += (c ^ (a & (b ^ c))) + blocks[13] - 40341101;\n d = (d << 12 | d >>> 20) + a << 0;\n c += (b ^ (d & (a ^ b))) + blocks[14] - 1502002290;\n c = (c << 17 | c >>> 15) + d << 0;\n b += (a ^ (c & (d ^ a))) + blocks[15] + 1236535329;\n b = (b << 22 | b >>> 10) + c << 0;\n a += (c ^ (d & (b ^ c))) + blocks[1] - 165796510;\n a = (a << 5 | a >>> 27) + b << 0;\n d += (b ^ (c & (a ^ b))) + blocks[6] - 1069501632;\n d = (d << 9 | d >>> 23) + a << 0;\n c += (a ^ (b & (d ^ a))) + blocks[11] + 643717713;\n c = (c << 14 | c >>> 18) + d << 0;\n b += (d ^ (a & (c ^ d))) + blocks[0] - 373897302;\n b = (b << 20 | b >>> 12) + c << 0;\n a += (c ^ (d & (b ^ c))) + blocks[5] - 701558691;\n a = (a << 5 | a >>> 27) + b << 0;\n d += (b ^ (c & (a ^ b))) + blocks[10] + 38016083;\n d = (d << 9 | d >>> 23) + a << 0;\n c += (a ^ (b & (d ^ a))) + blocks[15] - 660478335;\n c = (c << 14 | c >>> 18) + d << 0;\n b += (d ^ (a & (c ^ d))) + blocks[4] - 405537848;\n b = (b << 20 | b >>> 12) + c << 0;\n a += (c ^ (d & (b ^ c))) + blocks[9] + 568446438;\n a = (a << 5 | a >>> 27) + b << 0;\n d += (b ^ (c & (a ^ b))) + blocks[14] - 1019803690;\n d = (d << 9 | d >>> 23) + a << 0;\n c += (a ^ (b & (d ^ a))) + blocks[3] - 187363961;\n c = (c << 14 | c >>> 18) + d << 0;\n b += (d ^ (a & (c ^ d))) + blocks[8] + 1163531501;\n b = (b << 20 | b >>> 12) + c << 0;\n a += (c ^ (d & (b ^ c))) + blocks[13] - 1444681467;\n a = (a << 5 | a >>> 27) + b << 0;\n d += (b ^ (c & (a ^ b))) + blocks[2] - 51403784;\n d = (d << 9 | d >>> 23) + a << 0;\n c += (a ^ (b & (d ^ a))) + blocks[7] + 1735328473;\n c = (c << 14 | c >>> 18) + d << 0;\n b += (d ^ (a & (c ^ d))) + blocks[12] - 1926607734;\n b = (b << 20 | b >>> 12) + c << 0;\n bc = b ^ c;\n a += (bc ^ d) + blocks[5] - 378558;\n a = (a << 4 | a >>> 28) + b << 0;\n d += (bc ^ a) + blocks[8] - 2022574463;\n d = (d << 11 | d >>> 21) + a << 0;\n da = d ^ a;\n c += (da ^ b) + blocks[11] + 1839030562;\n c = (c << 16 | c >>> 16) + d << 0;\n b += (da ^ c) + blocks[14] - 35309556;\n b = (b << 23 | b >>> 9) + c << 0;\n bc = b ^ c;\n a += (bc ^ d) + blocks[1] - 1530992060;\n a = (a << 4 | a >>> 28) + b << 0;\n d += (bc ^ a) + blocks[4] + 1272893353;\n d = (d << 11 | d >>> 21) + a << 0;\n da = d ^ a;\n c += (da ^ b) + blocks[7] - 155497632;\n c = (c << 16 | c >>> 16) + d << 0;\n b += (da ^ c) + blocks[10] - 1094730640;\n b = (b << 23 | b >>> 9) + c << 0;\n bc = b ^ c;\n a += (bc ^ d) + blocks[13] + 681279174;\n a = (a << 4 | a >>> 28) + b << 0;\n d += (bc ^ a) + blocks[0] - 358537222;\n d = (d << 11 | d >>> 21) + a << 0;\n da = d ^ a;\n c += (da ^ b) + blocks[3] - 722521979;\n c = (c << 16 | c >>> 16) + d << 0;\n b += (da ^ c) + blocks[6] + 76029189;\n b = (b << 23 | b >>> 9) + c << 0;\n bc = b ^ c;\n a += (bc ^ d) + blocks[9] - 640364487;\n a = (a << 4 | a >>> 28) + b << 0;\n d += (bc ^ a) + blocks[12] - 421815835;\n d = (d << 11 | d >>> 21) + a << 0;\n da = d ^ a;\n c += (da ^ b) + blocks[15] + 530742520;\n c = (c << 16 | c >>> 16) + d << 0;\n b += (da ^ c) + blocks[2] - 995338651;\n b = (b << 23 | b >>> 9) + c << 0;\n a += (c ^ (b | ~d)) + blocks[0] - 198630844;\n a = (a << 6 | a >>> 26) + b << 0;\n d += (b ^ (a | ~c)) + blocks[7] + 1126891415;\n d = (d << 10 | d >>> 22) + a << 0;\n c += (a ^ (d | ~b)) + blocks[14] - 1416354905;\n c = (c << 15 | c >>> 17) + d << 0;\n b += (d ^ (c | ~a)) + blocks[5] - 57434055;\n b = (b << 21 | b >>> 11) + c << 0;\n a += (c ^ (b | ~d)) + blocks[12] + 1700485571;\n a = (a << 6 | a >>> 26) + b << 0;\n d += (b ^ (a | ~c)) + blocks[3] - 1894986606;\n d = (d << 10 | d >>> 22) + a << 0;\n c += (a ^ (d | ~b)) + blocks[10] - 1051523;\n c = (c << 15 | c >>> 17) + d << 0;\n b += (d ^ (c | ~a)) + blocks[1] - 2054922799;\n b = (b << 21 | b >>> 11) + c << 0;\n a += (c ^ (b | ~d)) + blocks[8] + 1873313359;\n a = (a << 6 | a >>> 26) + b << 0;\n d += (b ^ (a | ~c)) + blocks[15] - 30611744;\n d = (d << 10 | d >>> 22) + a << 0;\n c += (a ^ (d | ~b)) + blocks[6] - 1560198380;\n c = (c << 15 | c >>> 17) + d << 0;\n b += (d ^ (c | ~a)) + blocks[13] + 1309151649;\n b = (b << 21 | b >>> 11) + c << 0;\n a += (c ^ (b | ~d)) + blocks[4] - 145523070;\n a = (a << 6 | a >>> 26) + b << 0;\n d += (b ^ (a | ~c)) + blocks[11] - 1120210379;\n d = (d << 10 | d >>> 22) + a << 0;\n c += (a ^ (d | ~b)) + blocks[2] + 718787259;\n c = (c << 15 | c >>> 17) + d << 0;\n b += (d ^ (c | ~a)) + blocks[9] - 343485551;\n b = (b << 21 | b >>> 11) + c << 0;\n\n if (this.first) {\n this.h0 = a + 1732584193 << 0;\n this.h1 = b - 271733879 << 0;\n this.h2 = c - 1732584194 << 0;\n this.h3 = d + 271733878 << 0;\n this.first = false;\n } else {\n this.h0 = this.h0 + a << 0;\n this.h1 = this.h1 + b << 0;\n this.h2 = this.h2 + c << 0;\n this.h3 = this.h3 + d << 0;\n }\n };\n\n /**\n * @method hex\n * @memberof Md5\n * @instance\n * @description Output hash as hex string\n * @returns {String} Hex string\n * @see {@link md5.hex}\n * @example\n * hash.hex();\n */\n Md5.prototype.hex = function () {\n this.finalize();\n\n var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3;\n\n return HEX_CHARS[(h0 >> 4) & 0x0F] + HEX_CHARS[h0 & 0x0F] +\n HEX_CHARS[(h0 >> 12) & 0x0F] + HEX_CHARS[(h0 >> 8) & 0x0F] +\n HEX_CHARS[(h0 >> 20) & 0x0F] + HEX_CHARS[(h0 >> 16) & 0x0F] +\n HEX_CHARS[(h0 >> 28) & 0x0F] + HEX_CHARS[(h0 >> 24) & 0x0F] +\n HEX_CHARS[(h1 >> 4) & 0x0F] + HEX_CHARS[h1 & 0x0F] +\n HEX_CHARS[(h1 >> 12) & 0x0F] + HEX_CHARS[(h1 >> 8) & 0x0F] +\n HEX_CHARS[(h1 >> 20) & 0x0F] + HEX_CHARS[(h1 >> 16) & 0x0F] +\n HEX_CHARS[(h1 >> 28) & 0x0F] + HEX_CHARS[(h1 >> 24) & 0x0F] +\n HEX_CHARS[(h2 >> 4) & 0x0F] + HEX_CHARS[h2 & 0x0F] +\n HEX_CHARS[(h2 >> 12) & 0x0F] + HEX_CHARS[(h2 >> 8) & 0x0F] +\n HEX_CHARS[(h2 >> 20) & 0x0F] + HEX_CHARS[(h2 >> 16) & 0x0F] +\n HEX_CHARS[(h2 >> 28) & 0x0F] + HEX_CHARS[(h2 >> 24) & 0x0F] +\n HEX_CHARS[(h3 >> 4) & 0x0F] + HEX_CHARS[h3 & 0x0F] +\n HEX_CHARS[(h3 >> 12) & 0x0F] + HEX_CHARS[(h3 >> 8) & 0x0F] +\n HEX_CHARS[(h3 >> 20) & 0x0F] + HEX_CHARS[(h3 >> 16) & 0x0F] +\n HEX_CHARS[(h3 >> 28) & 0x0F] + HEX_CHARS[(h3 >> 24) & 0x0F];\n };\n\n /**\n * @method toString\n * @memberof Md5\n * @instance\n * @description Output hash as hex string\n * @returns {String} Hex string\n * @see {@link md5.hex}\n * @example\n * hash.toString();\n */\n Md5.prototype.toString = Md5.prototype.hex;\n\n /**\n * @method digest\n * @memberof Md5\n * @instance\n * @description Output hash as bytes array\n * @returns {Array} Bytes array\n * @see {@link md5.digest}\n * @example\n * hash.digest();\n */\n Md5.prototype.digest = function () {\n this.finalize();\n\n var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3;\n return [\n h0 & 0xFF, (h0 >> 8) & 0xFF, (h0 >> 16) & 0xFF, (h0 >> 24) & 0xFF,\n h1 & 0xFF, (h1 >> 8) & 0xFF, (h1 >> 16) & 0xFF, (h1 >> 24) & 0xFF,\n h2 & 0xFF, (h2 >> 8) & 0xFF, (h2 >> 16) & 0xFF, (h2 >> 24) & 0xFF,\n h3 & 0xFF, (h3 >> 8) & 0xFF, (h3 >> 16) & 0xFF, (h3 >> 24) & 0xFF\n ];\n };\n\n /**\n * @method array\n * @memberof Md5\n * @instance\n * @description Output hash as bytes array\n * @returns {Array} Bytes array\n * @see {@link md5.array}\n * @example\n * hash.array();\n */\n Md5.prototype.array = Md5.prototype.digest;\n\n /**\n * @method arrayBuffer\n * @memberof Md5\n * @instance\n * @description Output hash as ArrayBuffer\n * @returns {ArrayBuffer} ArrayBuffer\n * @see {@link md5.arrayBuffer}\n * @example\n * hash.arrayBuffer();\n */\n Md5.prototype.arrayBuffer = function () {\n this.finalize();\n\n var buffer = new ArrayBuffer(16);\n var blocks = new Uint32Array(buffer);\n blocks[0] = this.h0;\n blocks[1] = this.h1;\n blocks[2] = this.h2;\n blocks[3] = this.h3;\n return buffer;\n };\n\n /**\n * @method buffer\n * @deprecated This maybe confuse with Buffer in node.js. Please use arrayBuffer instead.\n * @memberof Md5\n * @instance\n * @description Output hash as ArrayBuffer\n * @returns {ArrayBuffer} ArrayBuffer\n * @see {@link md5.buffer}\n * @example\n * hash.buffer();\n */\n Md5.prototype.buffer = Md5.prototype.arrayBuffer;\n\n /**\n * @method base64\n * @memberof Md5\n * @instance\n * @description Output hash as base64 string\n * @returns {String} base64 string\n * @see {@link md5.base64}\n * @example\n * hash.base64();\n */\n Md5.prototype.base64 = function () {\n var v1, v2, v3, base64Str = '', bytes = this.array();\n for (var i = 0; i < 15;) {\n v1 = bytes[i++];\n v2 = bytes[i++];\n v3 = bytes[i++];\n base64Str += BASE64_ENCODE_CHAR[v1 >>> 2] +\n BASE64_ENCODE_CHAR[(v1 << 4 | v2 >>> 4) & 63] +\n BASE64_ENCODE_CHAR[(v2 << 2 | v3 >>> 6) & 63] +\n BASE64_ENCODE_CHAR[v3 & 63];\n }\n v1 = bytes[i];\n base64Str += BASE64_ENCODE_CHAR[v1 >>> 2] +\n BASE64_ENCODE_CHAR[(v1 << 4) & 63] +\n '==';\n return base64Str;\n };\n\n var exports = createMethod();\n\n if (COMMON_JS) {\n module.exports = exports;\n } else {\n /**\n * @method md5\b\n * @description Md5 hash function, export to global in browsers.\n * @param {String|Array|Uint8Array|ArrayBuffer} message message to hash\n * @returns {String} md5 hashes\n * @example\n * md5(''); // d41d8cd98f00b204e9800998ecf8427e\n * md5('The quick brown fox jumps over the lazy dog'); // 9e107d9d372bb6826bd81d3542a419d6\n * md5('The quick brown fox jumps over the lazy dog.'); // e4d909c290d0fb1ca068ffaddf22cbd0\n *\n * // It also supports UTF-8 encoding\n * md5('中文'); // a7bac2239fcdcb3a067903d8077c4a07\n *\n * // It also supports byte `Array`, `Uint8Array`, `ArrayBuffer`\n * md5([]); // d41d8cd98f00b204e9800998ecf8427e\n * md5(new Uint8Array([])); // d41d8cd98f00b204e9800998ecf8427e\n */\n root.md5 = exports;\n if (AMD) {\n define(function () {\n return exports;\n });\n }\n }\n})();\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = {\n name: 'PlxTableLoading',\n props: {\n visible: Boolean\n },\n render: function render(h) {\n return h('div', {\n class: 'plx-table--loading',\n style: {\n display: this.visible ? 'block' : 'none'\n }\n }, [h('div', {\n class: 'plx-table--spinner'\n })]);\n }\n};\nexports.default = _default;","var ContextCachedBy = {\n NONE: 0,\n STYLE_BIND: 1,\n PLAIN_TEXT: 2\n}; // Avoid confused with 0/false.\n\nvar WILL_BE_RESTORED = 9;\nexports.ContextCachedBy = ContextCachedBy;\nexports.WILL_BE_RESTORED = WILL_BE_RESTORED;","\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\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Text = require(\"zrender/lib/graphic/Text\");\n\nvar graphicUtil = require(\"../../util/graphic\");\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// import Group from 'zrender/src/container/Group';\nfunction makeStyleCoord(out, zr, zrX, zrY) {\n out[0] = zrX;\n out[1] = zrY;\n out[2] = out[0] / zr.getWidth(); // The ratio of left to width\n\n out[3] = out[1] / zr.getHeight(); // The ratio of top to height\n}\n/**\n * @alias module:echarts/component/tooltip/TooltipRichContent\n * @constructor\n */\n\n\nfunction TooltipRichContent(api) {\n var zr = this._zr = api.getZr();\n this._styleCoord = [0, 0, 0, 0]; // [left, top, left/width, top/height]\n\n makeStyleCoord(this._styleCoord, zr, api.getWidth() / 2, api.getHeight() / 2);\n this._show = false;\n /**\n * @private\n */\n\n this._hideTimeout;\n}\n\nTooltipRichContent.prototype = {\n constructor: TooltipRichContent,\n\n /**\n * @private\n * @type {boolean}\n */\n _enterable: true,\n\n /**\n * Update when tooltip is rendered\n */\n update: function (tooltipModel) {\n var alwaysShowContent = tooltipModel.get('alwaysShowContent');\n alwaysShowContent && this._moveTooltipIfResized();\n },\n\n /**\n * when `alwaysShowContent` is true,\n * we should move the tooltip after chart resized\n */\n _moveTooltipIfResized: function () {\n var ratioX = this._styleCoord[2]; // The ratio of left to width\n\n var ratioY = this._styleCoord[3]; // The ratio of top to height\n\n var realX = ratioX * this._zr.getWidth();\n\n var realY = ratioY * this._zr.getHeight();\n\n this.moveTo(realX, realY);\n },\n show: function (tooltipModel) {\n if (this._hideTimeout) {\n clearTimeout(this._hideTimeout);\n }\n\n this.el.attr('show', true);\n this._show = true;\n },\n\n /**\n * Set tooltip content\n *\n * @param {string} content rich text string of content\n * @param {Object} markerRich rich text style\n * @param {Object} tooltipModel tooltip model\n */\n setContent: function (content, markerRich, tooltipModel) {\n if (this.el) {\n this._zr.remove(this.el);\n }\n\n var markers = {};\n var text = content;\n var prefix = '{marker';\n var suffix = '|}';\n var startId = text.indexOf(prefix);\n\n while (startId >= 0) {\n var endId = text.indexOf(suffix);\n var name = text.substr(startId + prefix.length, endId - startId - prefix.length);\n\n if (name.indexOf('sub') > -1) {\n markers['marker' + name] = {\n textWidth: 4,\n textHeight: 4,\n textBorderRadius: 2,\n textBackgroundColor: markerRich[name],\n // TODO: textOffset is not implemented for rich text\n textOffset: [3, 0]\n };\n } else {\n markers['marker' + name] = {\n textWidth: 10,\n textHeight: 10,\n textBorderRadius: 5,\n textBackgroundColor: markerRich[name]\n };\n }\n\n text = text.substr(endId + 1);\n startId = text.indexOf('{marker');\n }\n\n var textStyleModel = tooltipModel.getModel('textStyle');\n var fontSize = textStyleModel.get('fontSize');\n var lineHeight = tooltipModel.get('textLineHeight');\n\n if (lineHeight == null) {\n lineHeight = Math.round(fontSize * 3 / 2);\n }\n\n this.el = new Text({\n style: graphicUtil.setTextStyle({}, textStyleModel, {\n rich: markers,\n text: content,\n textBackgroundColor: tooltipModel.get('backgroundColor'),\n textBorderRadius: tooltipModel.get('borderRadius'),\n textFill: tooltipModel.get('textStyle.color'),\n textPadding: tooltipModel.get('padding'),\n textLineHeight: lineHeight\n }),\n z: tooltipModel.get('z')\n });\n\n this._zr.add(this.el);\n\n var self = this;\n this.el.on('mouseover', function () {\n // clear the timeout in hideLater and keep showing tooltip\n if (self._enterable) {\n clearTimeout(self._hideTimeout);\n self._show = true;\n }\n\n self._inContent = true;\n });\n this.el.on('mouseout', function () {\n if (self._enterable) {\n if (self._show) {\n self.hideLater(self._hideDelay);\n }\n }\n\n self._inContent = false;\n });\n },\n setEnterable: function (enterable) {\n this._enterable = enterable;\n },\n getSize: function () {\n var bounding = this.el.getBoundingRect();\n return [bounding.width, bounding.height];\n },\n moveTo: function (x, y) {\n if (this.el) {\n var styleCoord = this._styleCoord;\n makeStyleCoord(styleCoord, this._zr, x, y);\n this.el.attr('position', [styleCoord[0], styleCoord[1]]);\n }\n },\n hide: function () {\n if (this.el) {\n this.el.hide();\n }\n\n this._show = false;\n },\n hideLater: function (time) {\n if (this._show && !(this._inContent && this._enterable)) {\n if (time) {\n this._hideDelay = time; // Set show false to avoid invoke hideLater multiple times\n\n this._show = false;\n this._hideTimeout = setTimeout(zrUtil.bind(this.hide, this), time);\n } else {\n this.hide();\n }\n }\n },\n isShow: function () {\n return this._show;\n },\n dispose: function () {\n clearTimeout(this._hideTimeout);\n\n if (this.el) {\n this._zr.remove(this.el);\n }\n },\n getOuterSize: function () {\n var size = this.getSize();\n return {\n width: size[0],\n height: size[1]\n };\n }\n};\nvar _default = TooltipRichContent;\nmodule.exports = _default;","\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\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar SymbolDraw = require(\"../../chart/helper/SymbolDraw\");\n\nvar numberUtil = require(\"../../util/number\");\n\nvar List = require(\"../../data/List\");\n\nvar markerHelper = require(\"./markerHelper\");\n\nvar MarkerView = require(\"./MarkerView\");\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*/\nfunction updateMarkerLayout(mpData, seriesModel, api) {\n var coordSys = seriesModel.coordinateSystem;\n mpData.each(function (idx) {\n var itemModel = mpData.getItemModel(idx);\n var point;\n var xPx = numberUtil.parsePercent(itemModel.get('x'), api.getWidth());\n var yPx = numberUtil.parsePercent(itemModel.get('y'), api.getHeight());\n\n if (!isNaN(xPx) && !isNaN(yPx)) {\n point = [xPx, yPx];\n } // Chart like bar may have there own marker positioning logic\n else if (seriesModel.getMarkerPosition) {\n // Use the getMarkerPoisition\n point = seriesModel.getMarkerPosition(mpData.getValues(mpData.dimensions, idx));\n } else if (coordSys) {\n var x = mpData.get(coordSys.dimensions[0], idx);\n var y = mpData.get(coordSys.dimensions[1], idx);\n point = coordSys.dataToPoint([x, y]);\n } // Use x, y if has any\n\n\n if (!isNaN(xPx)) {\n point[0] = xPx;\n }\n\n if (!isNaN(yPx)) {\n point[1] = yPx;\n }\n\n mpData.setItemLayout(idx, point);\n });\n}\n\nvar _default = MarkerView.extend({\n type: 'markPoint',\n // updateLayout: function (markPointModel, ecModel, api) {\n // ecModel.eachSeries(function (seriesModel) {\n // var mpModel = seriesModel.markPointModel;\n // if (mpModel) {\n // updateMarkerLayout(mpModel.getData(), seriesModel, api);\n // this.markerGroupMap.get(seriesModel.id).updateLayout(mpModel);\n // }\n // }, this);\n // },\n updateTransform: function (markPointModel, ecModel, api) {\n ecModel.eachSeries(function (seriesModel) {\n var mpModel = seriesModel.markPointModel;\n\n if (mpModel) {\n updateMarkerLayout(mpModel.getData(), seriesModel, api);\n this.markerGroupMap.get(seriesModel.id).updateLayout(mpModel);\n }\n }, this);\n },\n renderSeries: function (seriesModel, mpModel, ecModel, api) {\n var coordSys = seriesModel.coordinateSystem;\n var seriesId = seriesModel.id;\n var seriesData = seriesModel.getData();\n var symbolDrawMap = this.markerGroupMap;\n var symbolDraw = symbolDrawMap.get(seriesId) || symbolDrawMap.set(seriesId, new SymbolDraw());\n var mpData = createList(coordSys, seriesModel, mpModel); // FIXME\n\n mpModel.setData(mpData);\n updateMarkerLayout(mpModel.getData(), seriesModel, api);\n mpData.each(function (idx) {\n var itemModel = mpData.getItemModel(idx);\n var symbol = itemModel.getShallow('symbol');\n var symbolSize = itemModel.getShallow('symbolSize');\n var symbolRotate = itemModel.getShallow('symbolRotate');\n var isFnSymbol = zrUtil.isFunction(symbol);\n var isFnSymbolSize = zrUtil.isFunction(symbolSize);\n var isFnSymbolRotate = zrUtil.isFunction(symbolRotate);\n\n if (isFnSymbol || isFnSymbolSize || isFnSymbolRotate) {\n var rawIdx = mpModel.getRawValue(idx);\n var dataParams = mpModel.getDataParams(idx);\n\n if (isFnSymbol) {\n symbol = symbol(rawIdx, dataParams);\n }\n\n if (isFnSymbolSize) {\n // FIXME 这里不兼容 ECharts 2.x,2.x 貌似参数是整个数据?\n symbolSize = symbolSize(rawIdx, dataParams);\n }\n\n if (isFnSymbolRotate) {\n symbolRotate = symbolRotate(rawIdx, dataParams);\n }\n }\n\n mpData.setItemVisual(idx, {\n symbol: symbol,\n symbolSize: symbolSize,\n symbolRotate: symbolRotate,\n color: itemModel.get('itemStyle.color') || seriesData.getVisual('color')\n });\n }); // TODO Text are wrong\n\n symbolDraw.updateData(mpData);\n this.group.add(symbolDraw.group); // Set host model for tooltip\n // FIXME\n\n mpData.eachItemGraphicEl(function (el) {\n el.traverse(function (child) {\n child.dataModel = mpModel;\n });\n });\n symbolDraw.__keep = true;\n symbolDraw.group.silent = mpModel.get('silent') || seriesModel.get('silent');\n }\n});\n/**\n * @inner\n * @param {module:echarts/coord/*} [coordSys]\n * @param {module:echarts/model/Series} seriesModel\n * @param {module:echarts/model/Model} mpModel\n */\n\n\nfunction createList(coordSys, seriesModel, mpModel) {\n var coordDimsInfos;\n\n if (coordSys) {\n coordDimsInfos = zrUtil.map(coordSys && coordSys.dimensions, function (coordDim) {\n var info = seriesModel.getData().getDimensionInfo(seriesModel.getData().mapDimension(coordDim)) || {}; // In map series data don't have lng and lat dimension. Fallback to same with coordSys\n\n return zrUtil.defaults({\n name: coordDim\n }, info);\n });\n } else {\n coordDimsInfos = [{\n name: 'value',\n type: 'float'\n }];\n }\n\n var mpData = new List(coordDimsInfos, mpModel);\n var dataOpt = zrUtil.map(mpModel.get('data'), zrUtil.curry(markerHelper.dataTransform, seriesModel));\n\n if (coordSys) {\n dataOpt = zrUtil.filter(dataOpt, zrUtil.curry(markerHelper.dataFilter, coordSys));\n }\n\n mpData.initData(dataOpt, null, coordSys ? markerHelper.dimValueGetter : function (item) {\n return item.value;\n });\n return mpData;\n}\n\nmodule.exports = _default;","var core = module.exports = { version: '2.6.12' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","/* eslint-disable valid-typeof */\r\nvar staticStrUndefined = require('../static/staticStrUndefined')\r\n\r\n/**\r\n * 判断是否WeakSet对象\r\n *\r\n * @param {Object} obj 对象\r\n * @return {Boolean}\r\n */\r\nvar supportWeakSet = typeof WeakSet !== staticStrUndefined\r\nfunction isWeakSet (obj) {\r\n return supportWeakSet && obj instanceof WeakSet\r\n}\r\n\r\nmodule.exports = isWeakSet\r\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\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar ComponentModel = require(\"../../model/Component\");\n\nvar _layout = require(\"../../util/layout\");\n\nvar getLayoutParams = _layout.getLayoutParams;\nvar sizeCalculable = _layout.sizeCalculable;\nvar mergeLayoutParam = _layout.mergeLayoutParam;\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*/\nvar CalendarModel = ComponentModel.extend({\n type: 'calendar',\n\n /**\n * @type {module:echarts/coord/calendar/Calendar}\n */\n coordinateSystem: null,\n defaultOption: {\n zlevel: 0,\n z: 2,\n left: 80,\n top: 60,\n cellSize: 20,\n // horizontal vertical\n orient: 'horizontal',\n // month separate line style\n splitLine: {\n show: true,\n lineStyle: {\n color: '#000',\n width: 1,\n type: 'solid'\n }\n },\n // rect style temporarily unused emphasis\n itemStyle: {\n color: '#fff',\n borderWidth: 1,\n borderColor: '#ccc'\n },\n // week text style\n dayLabel: {\n show: true,\n // a week first day\n firstDay: 0,\n // start end\n position: 'start',\n margin: '50%',\n // 50% of cellSize\n nameMap: 'en',\n color: '#000'\n },\n // month text style\n monthLabel: {\n show: true,\n // start end\n position: 'start',\n margin: 5,\n // center or left\n align: 'center',\n // cn en []\n nameMap: 'en',\n formatter: null,\n color: '#000'\n },\n // year text style\n yearLabel: {\n show: true,\n // top bottom left right\n position: null,\n margin: 30,\n formatter: null,\n color: '#ccc',\n fontFamily: 'sans-serif',\n fontWeight: 'bolder',\n fontSize: 20\n }\n },\n\n /**\n * @override\n */\n init: function (option, parentModel, ecModel, extraOpt) {\n var inputPositionParams = getLayoutParams(option);\n CalendarModel.superApply(this, 'init', arguments);\n mergeAndNormalizeLayoutParams(option, inputPositionParams);\n },\n\n /**\n * @override\n */\n mergeOption: function (option, extraOpt) {\n CalendarModel.superApply(this, 'mergeOption', arguments);\n mergeAndNormalizeLayoutParams(this.option, option);\n }\n});\n\nfunction mergeAndNormalizeLayoutParams(target, raw) {\n // Normalize cellSize\n var cellSize = target.cellSize;\n\n if (!zrUtil.isArray(cellSize)) {\n cellSize = target.cellSize = [cellSize, cellSize];\n } else if (cellSize.length === 1) {\n cellSize[1] = cellSize[0];\n }\n\n var ignoreSize = zrUtil.map([0, 1], function (hvIdx) {\n // If user have set `width` or both `left` and `right`, cellSize\n // will be automatically set to 'auto', otherwise the default\n // setting of cellSize will make `width` setting not work.\n if (sizeCalculable(raw, hvIdx)) {\n cellSize[hvIdx] = 'auto';\n }\n\n return cellSize[hvIdx] != null && cellSize[hvIdx] !== 'auto';\n });\n mergeLayoutParam(target, raw, {\n type: 'box',\n ignoreSize: ignoreSize\n });\n}\n\nvar _default = CalendarModel;\nmodule.exports = _default;","module.exports = function () { /* empty */ };\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\nvar zrUtil = require(\"zrender/lib/core/util\");\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*/\nvar echartsAPIList = ['getDom', 'getZr', 'getWidth', 'getHeight', 'getDevicePixelRatio', 'dispatchAction', 'isDisposed', 'on', 'off', 'getDataURL', 'getConnectedDataURL', 'getModel', 'getOption', 'getViewOfComponentModel', 'getViewOfSeriesModel']; // And `getCoordinateSystems` and `getComponentByElement` will be injected in echarts.js\n\nfunction ExtensionAPI(chartInstance) {\n zrUtil.each(echartsAPIList, function (name) {\n this[name] = zrUtil.bind(chartInstance[name], chartInstance);\n }, this);\n}\n\nvar _default = ExtensionAPI;\nmodule.exports = _default;","\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\nvar echarts = require(\"../../echarts\");\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 * @payload\n * @property {string} parallelAxisId\n * @property {Array.>} intervals\n */\nvar actionInfo = {\n type: 'axisAreaSelect',\n event: 'axisAreaSelected' // update: 'updateVisual'\n\n};\necharts.registerAction(actionInfo, function (payload, ecModel) {\n ecModel.eachComponent({\n mainType: 'parallelAxis',\n query: payload\n }, function (parallelAxisModel) {\n parallelAxisModel.axis.model.setActiveIntervals(payload.intervals);\n });\n});\n/**\n * @payload\n */\n\necharts.registerAction('parallelAxisExpand', function (payload, ecModel) {\n ecModel.eachComponent({\n mainType: 'parallel',\n query: payload\n }, function (parallelModel) {\n parallelModel.setAxisExpand(payload);\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*/\n\nvar Parallel = require(\"./Parallel\");\n\nvar CoordinateSystem = require(\"../../CoordinateSystem\");\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 * Parallel coordinate system creater.\n */\nfunction create(ecModel, api) {\n var coordSysList = [];\n ecModel.eachComponent('parallel', function (parallelModel, idx) {\n var coordSys = new Parallel(parallelModel, ecModel, api);\n coordSys.name = 'parallel_' + idx;\n coordSys.resize(parallelModel, api);\n parallelModel.coordinateSystem = coordSys;\n coordSys.model = parallelModel;\n coordSysList.push(coordSys);\n }); // Inject the coordinateSystems into seriesModel\n\n ecModel.eachSeries(function (seriesModel) {\n if (seriesModel.get('coordinateSystem') === 'parallel') {\n var parallelModel = ecModel.queryComponents({\n mainType: 'parallel',\n index: seriesModel.get('parallelIndex'),\n id: seriesModel.get('parallelId')\n })[0];\n seriesModel.coordinateSystem = parallelModel.coordinateSystem;\n }\n });\n return coordSysList;\n}\n\nCoordinateSystem.register('parallel', {\n create: create\n});","var helperNumberDecimal = require('./helperNumberDecimal')\r\nvar toNumberString = require('./toNumberString')\r\nvar toNumber = require('./toNumber')\r\n\r\n/**\r\n * 乘法运算\r\n *\r\n * @param { Number } num1 数值1\r\n * @param { Number } num2 数值2\r\n * @return {Number}\r\n */\r\nfunction multiply (num1, num2) {\r\n var multiplier = toNumber(num1)\r\n var multiplicand = toNumber(num2)\r\n var str1 = toNumberString(multiplier)\r\n var str2 = toNumberString(multiplicand)\r\n return parseInt(str1.replace('.', '')) * parseInt(str2.replace('.', '')) / Math.pow(10, helperNumberDecimal(str1) + helperNumberDecimal(str2))\r\n}\r\n\r\nmodule.exports = multiply\r\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\nvar _util = require(\"zrender/lib/core/util\");\n\nvar each = _util.each;\nvar map = _util.map;\n\nvar _number = require(\"../util/number\");\n\nvar linearMap = _number.linearMap;\nvar getPixelPrecision = _number.getPixelPrecision;\nvar round = _number.round;\n\nvar _axisTickLabelBuilder = require(\"./axisTickLabelBuilder\");\n\nvar createAxisTicks = _axisTickLabelBuilder.createAxisTicks;\nvar createAxisLabels = _axisTickLabelBuilder.createAxisLabels;\nvar calculateCategoryInterval = _axisTickLabelBuilder.calculateCategoryInterval;\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*/\nvar NORMALIZED_EXTENT = [0, 1];\n/**\n * Base class of Axis.\n * @constructor\n */\n\nvar Axis = function (dim, scale, extent) {\n /**\n * Axis dimension. Such as 'x', 'y', 'z', 'angle', 'radius'.\n * @type {string}\n */\n this.dim = dim;\n /**\n * Axis scale\n * @type {module:echarts/coord/scale/*}\n */\n\n this.scale = scale;\n /**\n * @type {Array.}\n * @private\n */\n\n this._extent = extent || [0, 0];\n /**\n * @type {boolean}\n */\n\n this.inverse = false;\n /**\n * Usually true when axis has a ordinal scale\n * @type {boolean}\n */\n\n this.onBand = false;\n};\n\nAxis.prototype = {\n constructor: Axis,\n\n /**\n * If axis extent contain given coord\n * @param {number} coord\n * @return {boolean}\n */\n contain: function (coord) {\n var extent = this._extent;\n var min = Math.min(extent[0], extent[1]);\n var max = Math.max(extent[0], extent[1]);\n return coord >= min && coord <= max;\n },\n\n /**\n * If axis extent contain given data\n * @param {number} data\n * @return {boolean}\n */\n containData: function (data) {\n return this.scale.contain(data);\n },\n\n /**\n * Get coord extent.\n * @return {Array.}\n */\n getExtent: function () {\n return this._extent.slice();\n },\n\n /**\n * Get precision used for formatting\n * @param {Array.} [dataExtent]\n * @return {number}\n */\n getPixelPrecision: function (dataExtent) {\n return getPixelPrecision(dataExtent || this.scale.getExtent(), this._extent);\n },\n\n /**\n * Set coord extent\n * @param {number} start\n * @param {number} end\n */\n setExtent: function (start, end) {\n var extent = this._extent;\n extent[0] = start;\n extent[1] = end;\n },\n\n /**\n * Convert data to coord. Data is the rank if it has an ordinal scale\n * @param {number} data\n * @param {boolean} clamp\n * @return {number}\n */\n dataToCoord: function (data, clamp) {\n var extent = this._extent;\n var scale = this.scale;\n data = scale.normalize(data);\n\n if (this.onBand && scale.type === 'ordinal') {\n extent = extent.slice();\n fixExtentWithBands(extent, scale.count());\n }\n\n return linearMap(data, NORMALIZED_EXTENT, extent, clamp);\n },\n\n /**\n * Convert coord to data. Data is the rank if it has an ordinal scale\n * @param {number} coord\n * @param {boolean} clamp\n * @return {number}\n */\n coordToData: function (coord, clamp) {\n var extent = this._extent;\n var scale = this.scale;\n\n if (this.onBand && scale.type === 'ordinal') {\n extent = extent.slice();\n fixExtentWithBands(extent, scale.count());\n }\n\n var t = linearMap(coord, extent, NORMALIZED_EXTENT, clamp);\n return this.scale.scale(t);\n },\n\n /**\n * Convert pixel point to data in axis\n * @param {Array.} point\n * @param {boolean} clamp\n * @return {number} data\n */\n pointToData: function (point, clamp) {// Should be implemented in derived class if necessary.\n },\n\n /**\n * Different from `zrUtil.map(axis.getTicks(), axis.dataToCoord, axis)`,\n * `axis.getTicksCoords` considers `onBand`, which is used by\n * `boundaryGap:true` of category axis and splitLine and splitArea.\n * @param {Object} [opt]\n * @param {Model} [opt.tickModel=axis.model.getModel('axisTick')]\n * @param {boolean} [opt.clamp] If `true`, the first and the last\n * tick must be at the axis end points. Otherwise, clip ticks\n * that outside the axis extent.\n * @return {Array.} [{\n * coord: ...,\n * tickValue: ...\n * }, ...]\n */\n getTicksCoords: function (opt) {\n opt = opt || {};\n var tickModel = opt.tickModel || this.getTickModel();\n var result = createAxisTicks(this, tickModel);\n var ticks = result.ticks;\n var ticksCoords = map(ticks, function (tickValue) {\n return {\n coord: this.dataToCoord(tickValue),\n tickValue: tickValue\n };\n }, this);\n var alignWithLabel = tickModel.get('alignWithLabel');\n fixOnBandTicksCoords(this, ticksCoords, alignWithLabel, opt.clamp);\n return ticksCoords;\n },\n\n /**\n * @return {Array.>} [{ coord: ..., tickValue: ...}]\n */\n getMinorTicksCoords: function () {\n if (this.scale.type === 'ordinal') {\n // Category axis doesn't support minor ticks\n return [];\n }\n\n var minorTickModel = this.model.getModel('minorTick');\n var splitNumber = minorTickModel.get('splitNumber'); // Protection.\n\n if (!(splitNumber > 0 && splitNumber < 100)) {\n splitNumber = 5;\n }\n\n var minorTicks = this.scale.getMinorTicks(splitNumber);\n var minorTicksCoords = map(minorTicks, function (minorTicksGroup) {\n return map(minorTicksGroup, function (minorTick) {\n return {\n coord: this.dataToCoord(minorTick),\n tickValue: minorTick\n };\n }, this);\n }, this);\n return minorTicksCoords;\n },\n\n /**\n * @return {Array.} [{\n * formattedLabel: string,\n * rawLabel: axis.scale.getLabel(tickValue)\n * tickValue: number\n * }, ...]\n */\n getViewLabels: function () {\n return createAxisLabels(this).labels;\n },\n\n /**\n * @return {module:echarts/coord/model/Model}\n */\n getLabelModel: function () {\n return this.model.getModel('axisLabel');\n },\n\n /**\n * Notice here we only get the default tick model. For splitLine\n * or splitArea, we should pass the splitLineModel or splitAreaModel\n * manually when calling `getTicksCoords`.\n * In GL, this method may be overrided to:\n * `axisModel.getModel('axisTick', grid3DModel.getModel('axisTick'));`\n * @return {module:echarts/coord/model/Model}\n */\n getTickModel: function () {\n return this.model.getModel('axisTick');\n },\n\n /**\n * Get width of band\n * @return {number}\n */\n getBandWidth: function () {\n var axisExtent = this._extent;\n var dataExtent = this.scale.getExtent();\n var len = dataExtent[1] - dataExtent[0] + (this.onBand ? 1 : 0); // Fix #2728, avoid NaN when only one data.\n\n len === 0 && (len = 1);\n var size = Math.abs(axisExtent[1] - axisExtent[0]);\n return Math.abs(size) / len;\n },\n\n /**\n * @abstract\n * @return {boolean} Is horizontal\n */\n isHorizontal: null,\n\n /**\n * @abstract\n * @return {number} Get axis rotate, by degree.\n */\n getRotate: null,\n\n /**\n * Only be called in category axis.\n * Can be overrided, consider other axes like in 3D.\n * @return {number} Auto interval for cateogry axis tick and label\n */\n calculateCategoryInterval: function () {\n return calculateCategoryInterval(this);\n }\n};\n\nfunction fixExtentWithBands(extent, nTick) {\n var size = extent[1] - extent[0];\n var len = nTick;\n var margin = size / len / 2;\n extent[0] += margin;\n extent[1] -= margin;\n} // If axis has labels [1, 2, 3, 4]. Bands on the axis are\n// |---1---|---2---|---3---|---4---|.\n// So the displayed ticks and splitLine/splitArea should between\n// each data item, otherwise cause misleading (e.g., split tow bars\n// of a single data item when there are two bar series).\n// Also consider if tickCategoryInterval > 0 and onBand, ticks and\n// splitLine/spliteArea should layout appropriately corresponding\n// to displayed labels. (So we should not use `getBandWidth` in this\n// case).\n\n\nfunction fixOnBandTicksCoords(axis, ticksCoords, alignWithLabel, clamp) {\n var ticksLen = ticksCoords.length;\n\n if (!axis.onBand || alignWithLabel || !ticksLen) {\n return;\n }\n\n var axisExtent = axis.getExtent();\n var last;\n var diffSize;\n\n if (ticksLen === 1) {\n ticksCoords[0].coord = axisExtent[0];\n last = ticksCoords[1] = {\n coord: axisExtent[0]\n };\n } else {\n var crossLen = ticksCoords[ticksLen - 1].tickValue - ticksCoords[0].tickValue;\n var shift = (ticksCoords[ticksLen - 1].coord - ticksCoords[0].coord) / crossLen;\n each(ticksCoords, function (ticksItem) {\n ticksItem.coord -= shift / 2;\n });\n var dataExtent = axis.scale.getExtent();\n diffSize = 1 + dataExtent[1] - ticksCoords[ticksLen - 1].tickValue;\n last = {\n coord: ticksCoords[ticksLen - 1].coord + shift * diffSize\n };\n ticksCoords.push(last);\n }\n\n var inverse = axisExtent[0] > axisExtent[1]; // Handling clamp.\n\n if (littleThan(ticksCoords[0].coord, axisExtent[0])) {\n clamp ? ticksCoords[0].coord = axisExtent[0] : ticksCoords.shift();\n }\n\n if (clamp && littleThan(axisExtent[0], ticksCoords[0].coord)) {\n ticksCoords.unshift({\n coord: axisExtent[0]\n });\n }\n\n if (littleThan(axisExtent[1], last.coord)) {\n clamp ? last.coord = axisExtent[1] : ticksCoords.pop();\n }\n\n if (clamp && littleThan(last.coord, axisExtent[1])) {\n ticksCoords.push({\n coord: axisExtent[1]\n });\n }\n\n function littleThan(a, b) {\n // Avoid rounding error cause calculated tick coord different with extent.\n // It may cause an extra unecessary tick added.\n a = round(a);\n b = round(b);\n return inverse ? a > b : a < b;\n }\n}\n\nvar _default = Axis;\nmodule.exports = _default;","\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\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar Model = require(\"../../model/Model\");\n\nvar _model = require(\"../../util/model\");\n\nvar isNameSpecified = _model.isNameSpecified;\n\nvar lang = require(\"../../lang\");\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*/\nvar langSelector = lang.legend.selector;\nvar defaultSelectorOption = {\n all: {\n type: 'all',\n title: zrUtil.clone(langSelector.all)\n },\n inverse: {\n type: 'inverse',\n title: zrUtil.clone(langSelector.inverse)\n }\n};\nvar LegendModel = echarts.extendComponentModel({\n type: 'legend.plain',\n dependencies: ['series'],\n layoutMode: {\n type: 'box',\n // legend.width/height are maxWidth/maxHeight actually,\n // whereas realy width/height is calculated by its content.\n // (Setting {left: 10, right: 10} does not make sense).\n // So consider the case:\n // `setOption({legend: {left: 10});`\n // then `setOption({legend: {right: 10});`\n // The previous `left` should be cleared by setting `ignoreSize`.\n ignoreSize: true\n },\n init: function (option, parentModel, ecModel) {\n this.mergeDefaultAndTheme(option, ecModel);\n option.selected = option.selected || {};\n\n this._updateSelector(option);\n },\n mergeOption: function (option) {\n LegendModel.superCall(this, 'mergeOption', option);\n\n this._updateSelector(option);\n },\n _updateSelector: function (option) {\n var selector = option.selector;\n\n if (selector === true) {\n selector = option.selector = ['all', 'inverse'];\n }\n\n if (zrUtil.isArray(selector)) {\n zrUtil.each(selector, function (item, index) {\n zrUtil.isString(item) && (item = {\n type: item\n });\n selector[index] = zrUtil.merge(item, defaultSelectorOption[item.type]);\n });\n }\n },\n optionUpdated: function () {\n this._updateData(this.ecModel);\n\n var legendData = this._data; // If selectedMode is single, try to select one\n\n if (legendData[0] && this.get('selectedMode') === 'single') {\n var hasSelected = false; // If has any selected in option.selected\n\n for (var i = 0; i < legendData.length; i++) {\n var name = legendData[i].get('name');\n\n if (this.isSelected(name)) {\n // Force to unselect others\n this.select(name);\n hasSelected = true;\n break;\n }\n } // Try select the first if selectedMode is single\n\n\n !hasSelected && this.select(legendData[0].get('name'));\n }\n },\n _updateData: function (ecModel) {\n var potentialData = [];\n var availableNames = [];\n ecModel.eachRawSeries(function (seriesModel) {\n var seriesName = seriesModel.name;\n availableNames.push(seriesName);\n var isPotential;\n\n if (seriesModel.legendVisualProvider) {\n var provider = seriesModel.legendVisualProvider;\n var names = provider.getAllNames();\n\n if (!ecModel.isSeriesFiltered(seriesModel)) {\n availableNames = availableNames.concat(names);\n }\n\n if (names.length) {\n potentialData = potentialData.concat(names);\n } else {\n isPotential = true;\n }\n } else {\n isPotential = true;\n }\n\n if (isPotential && isNameSpecified(seriesModel)) {\n potentialData.push(seriesModel.name);\n }\n });\n /**\n * @type {Array.}\n * @private\n */\n\n this._availableNames = availableNames; // If legend.data not specified in option, use availableNames as data,\n // which is convinient for user preparing option.\n\n var rawData = this.get('data') || potentialData;\n var legendData = zrUtil.map(rawData, function (dataItem) {\n // Can be string or number\n if (typeof dataItem === 'string' || typeof dataItem === 'number') {\n dataItem = {\n name: dataItem\n };\n }\n\n return new Model(dataItem, this, this.ecModel);\n }, this);\n /**\n * @type {Array.}\n * @private\n */\n\n this._data = legendData;\n },\n\n /**\n * @return {Array.}\n */\n getData: function () {\n return this._data;\n },\n\n /**\n * @param {string} name\n */\n select: function (name) {\n var selected = this.option.selected;\n var selectedMode = this.get('selectedMode');\n\n if (selectedMode === 'single') {\n var data = this._data;\n zrUtil.each(data, function (dataItem) {\n selected[dataItem.get('name')] = false;\n });\n }\n\n selected[name] = true;\n },\n\n /**\n * @param {string} name\n */\n unSelect: function (name) {\n if (this.get('selectedMode') !== 'single') {\n this.option.selected[name] = false;\n }\n },\n\n /**\n * @param {string} name\n */\n toggleSelected: function (name) {\n var selected = this.option.selected; // Default is true\n\n if (!selected.hasOwnProperty(name)) {\n selected[name] = true;\n }\n\n this[selected[name] ? 'unSelect' : 'select'](name);\n },\n allSelect: function () {\n var data = this._data;\n var selected = this.option.selected;\n zrUtil.each(data, function (dataItem) {\n selected[dataItem.get('name', true)] = true;\n });\n },\n inverseSelect: function () {\n var data = this._data;\n var selected = this.option.selected;\n zrUtil.each(data, function (dataItem) {\n var name = dataItem.get('name', true); // Initially, default value is true\n\n if (!selected.hasOwnProperty(name)) {\n selected[name] = true;\n }\n\n selected[name] = !selected[name];\n });\n },\n\n /**\n * @param {string} name\n */\n isSelected: function (name) {\n var selected = this.option.selected;\n return !(selected.hasOwnProperty(name) && !selected[name]) && zrUtil.indexOf(this._availableNames, name) >= 0;\n },\n getOrient: function () {\n return this.get('orient') === 'vertical' ? {\n index: 1,\n name: 'vertical'\n } : {\n index: 0,\n name: 'horizontal'\n };\n },\n defaultOption: {\n // 一级层叠\n zlevel: 0,\n // 二级层叠\n z: 4,\n show: true,\n // 布局方式,默认为水平布局,可选为:\n // 'horizontal' | 'vertical'\n orient: 'horizontal',\n left: 'center',\n // right: 'center',\n top: 0,\n // bottom: null,\n // 水平对齐\n // 'auto' | 'left' | 'right'\n // 默认为 'auto', 根据 x 的位置判断是左对齐还是右对齐\n align: 'auto',\n backgroundColor: 'rgba(0,0,0,0)',\n // 图例边框颜色\n borderColor: '#ccc',\n borderRadius: 0,\n // 图例边框线宽,单位px,默认为0(无边框)\n borderWidth: 0,\n // 图例内边距,单位px,默认各方向内边距为5,\n // 接受数组分别设定上右下左边距,同css\n padding: 5,\n // 各个item之间的间隔,单位px,默认为10,\n // 横向布局时为水平间隔,纵向布局时为纵向间隔\n itemGap: 10,\n // the width of legend symbol\n itemWidth: 25,\n // the height of legend symbol\n itemHeight: 14,\n // the color of unselected legend symbol\n inactiveColor: '#ccc',\n // the borderColor of unselected legend symbol\n inactiveBorderColor: '#ccc',\n itemStyle: {\n // the default borderWidth of legend symbol\n borderWidth: 0\n },\n textStyle: {\n // 图例文字颜色\n color: '#333'\n },\n // formatter: '',\n // 选择模式,默认开启图例开关\n selectedMode: true,\n // 配置默认选中状态,可配合LEGEND.SELECTED事件做动态数据载入\n // selected: null,\n // 图例内容(详见legend.data,数组中每一项代表一个item\n // data: [],\n // Usage:\n // selector: [{type: 'all or inverse', title: xxx}]\n // or\n // selector: true\n // or\n // selector: ['all', 'inverse']\n selector: false,\n selectorLabel: {\n show: true,\n borderRadius: 10,\n padding: [3, 5, 3, 5],\n fontSize: 12,\n fontFamily: ' sans-serif',\n color: '#666',\n borderWidth: 1,\n borderColor: '#666'\n },\n emphasis: {\n selectorLabel: {\n show: true,\n color: '#eee',\n backgroundColor: '#666'\n }\n },\n // Value can be 'start' or 'end'\n selectorPosition: 'auto',\n selectorItemGap: 7,\n selectorButtonGap: 10,\n // Tooltip 相关配置\n tooltip: {\n show: false\n }\n }\n});\nvar _default = LegendModel;\nmodule.exports = _default;","/**\n * The algoritm is learnt from\n * https://franklinta.com/2014/09/08/computing-css-matrix3d-transforms/\n * And we made some optimization for matrix inversion.\n * Other similar approaches:\n * \"cv::getPerspectiveTransform\", \"Direct Linear Transformation\".\n */\nvar LN2 = Math.log(2);\n\nfunction determinant(rows, rank, rowStart, rowMask, colMask, detCache) {\n var cacheKey = rowMask + '-' + colMask;\n var fullRank = rows.length;\n\n if (detCache.hasOwnProperty(cacheKey)) {\n return detCache[cacheKey];\n }\n\n if (rank === 1) {\n // In this case the colMask must be like: `11101111`. We can find the place of `0`.\n var colStart = Math.round(Math.log((1 << fullRank) - 1 & ~colMask) / LN2);\n return rows[rowStart][colStart];\n }\n\n var subRowMask = rowMask | 1 << rowStart;\n var subRowStart = rowStart + 1;\n\n while (rowMask & 1 << subRowStart) {\n subRowStart++;\n }\n\n var sum = 0;\n\n for (var j = 0, colLocalIdx = 0; j < fullRank; j++) {\n var colTag = 1 << j;\n\n if (!(colTag & colMask)) {\n sum += (colLocalIdx % 2 ? -1 : 1) * rows[rowStart][j] // det(subMatrix(0, j))\n * determinant(rows, rank - 1, subRowStart, subRowMask, colMask | colTag, detCache);\n colLocalIdx++;\n }\n }\n\n detCache[cacheKey] = sum;\n return sum;\n}\n/**\n * Usage:\n * ```js\n * var transformer = buildTransformer(\n * [10, 44, 100, 44, 100, 300, 10, 300],\n * [50, 54, 130, 14, 140, 330, 14, 220]\n * );\n * var out = [];\n * transformer && transformer([11, 33], out);\n * ```\n *\n * Notice: `buildTransformer` may take more than 10ms in some Android device.\n *\n * @param {Array.} src source four points, [x0, y0, x1, y1, x2, y2, x3, y3]\n * @param {Array.} dest destination four points, [x0, y0, x1, y1, x2, y2, x3, y3]\n * @return {Function} transformer If fail, return null/undefined.\n */\n\n\nfunction buildTransformer(src, dest) {\n var mA = [[src[0], src[1], 1, 0, 0, 0, -dest[0] * src[0], -dest[0] * src[1]], [0, 0, 0, src[0], src[1], 1, -dest[1] * src[0], -dest[1] * src[1]], [src[2], src[3], 1, 0, 0, 0, -dest[2] * src[2], -dest[2] * src[3]], [0, 0, 0, src[2], src[3], 1, -dest[3] * src[2], -dest[3] * src[3]], [src[4], src[5], 1, 0, 0, 0, -dest[4] * src[4], -dest[4] * src[5]], [0, 0, 0, src[4], src[5], 1, -dest[5] * src[4], -dest[5] * src[5]], [src[6], src[7], 1, 0, 0, 0, -dest[6] * src[6], -dest[6] * src[7]], [0, 0, 0, src[6], src[7], 1, -dest[7] * src[6], -dest[7] * src[7]]];\n var detCache = {};\n var det = determinant(mA, 8, 0, 0, 0, detCache);\n\n if (det === 0) {\n // can not make transformer when and only when\n // any three of the markers are collinear.\n return;\n } // `invert(mA) * dest`, that is, `adj(mA) / det * dest`.\n\n\n var vh = [];\n\n for (var i = 0; i < 8; i++) {\n for (var j = 0; j < 8; j++) {\n vh[j] == null && (vh[j] = 0);\n vh[j] += ((i + j) % 2 ? -1 : 1) * // det(subMatrix(i, j))\n determinant(mA, 7, i === 0 ? 1 : 0, 1 << i, 1 << j, detCache) / det * dest[i];\n }\n }\n\n return function (out, srcPointX, srcPointY) {\n var pk = srcPointX * vh[6] + srcPointY * vh[7] + 1;\n out[0] = (srcPointX * vh[0] + srcPointY * vh[1] + vh[2]) / pk;\n out[1] = (srcPointX * vh[3] + srcPointY * vh[4] + vh[5]) / pk;\n };\n}\n\nexports.buildTransformer = buildTransformer;","module.exports = {};\n","var PI2 = Math.PI * 2;\n\nfunction normalizeRadian(angle) {\n angle %= PI2;\n\n if (angle < 0) {\n angle += PI2;\n }\n\n return angle;\n}\n\nexports.normalizeRadian = normalizeRadian;","\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\nvar _util = require(\"zrender/lib/core/util\");\n\nvar createHashMap = _util.createHashMap;\nvar each = _util.each;\nvar isString = _util.isString;\nvar defaults = _util.defaults;\nvar extend = _util.extend;\nvar isObject = _util.isObject;\nvar clone = _util.clone;\n\nvar _model = require(\"../../util/model\");\n\nvar normalizeToArray = _model.normalizeToArray;\n\nvar _sourceHelper = require(\"./sourceHelper\");\n\nvar guessOrdinal = _sourceHelper.guessOrdinal;\nvar BE_ORDINAL = _sourceHelper.BE_ORDINAL;\n\nvar Source = require(\"../Source\");\n\nvar _dimensionHelper = require(\"./dimensionHelper\");\n\nvar OTHER_DIMENSIONS = _dimensionHelper.OTHER_DIMENSIONS;\n\nvar DataDimensionInfo = require(\"../DataDimensionInfo\");\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 * @deprecated\n * Use `echarts/data/helper/createDimensions` instead.\n */\n\n/**\n * @see {module:echarts/test/ut/spec/data/completeDimensions}\n *\n * This method builds the relationship between:\n * + \"what the coord sys or series requires (see `sysDims`)\",\n * + \"what the user defines (in `encode` and `dimensions`, see `opt.dimsDef` and `opt.encodeDef`)\"\n * + \"what the data source provids (see `source`)\".\n *\n * Some guess strategy will be adapted if user does not define something.\n * If no 'value' dimension specified, the first no-named dimension will be\n * named as 'value'.\n *\n * @param {Array.} sysDims Necessary dimensions, like ['x', 'y'], which\n * provides not only dim template, but also default order.\n * properties: 'name', 'type', 'displayName'.\n * `name` of each item provides default coord name.\n * [{dimsDef: [string|Object, ...]}, ...] dimsDef of sysDim item provides default dim name, and\n * provide dims count that the sysDim required.\n * [{ordinalMeta}] can be specified.\n * @param {module:echarts/data/Source|Array|Object} source or data (for compatibal with pervious)\n * @param {Object} [opt]\n * @param {Array.} [opt.dimsDef] option.series.dimensions User defined dimensions\n * For example: ['asdf', {name, type}, ...].\n * @param {Object|HashMap} [opt.encodeDef] option.series.encode {x: 2, y: [3, 1], tooltip: [1, 2], label: 3}\n * @param {Function} [opt.encodeDefaulter] Called if no `opt.encodeDef` exists.\n * If not specified, auto find the next available data dim.\n * param source {module:data/Source}\n * param dimCount {number}\n * return {Object} encode Never be `null/undefined`.\n * @param {string} [opt.generateCoord] Generate coord dim with the given name.\n * If not specified, extra dim names will be:\n * 'value', 'value0', 'value1', ...\n * @param {number} [opt.generateCoordCount] By default, the generated dim name is `generateCoord`.\n * If `generateCoordCount` specified, the generated dim names will be:\n * `generateCoord` + 0, `generateCoord` + 1, ...\n * can be Infinity, indicate that use all of the remain columns.\n * @param {number} [opt.dimCount] If not specified, guess by the first data item.\n * @return {Array.}\n */\nfunction completeDimensions(sysDims, source, opt) {\n if (!Source.isInstance(source)) {\n source = Source.seriesDataToSource(source);\n }\n\n opt = opt || {};\n sysDims = (sysDims || []).slice();\n var dimsDef = (opt.dimsDef || []).slice();\n var dataDimNameMap = createHashMap();\n var coordDimNameMap = createHashMap(); // var valueCandidate;\n\n var result = [];\n var dimCount = getDimCount(source, sysDims, dimsDef, opt.dimCount); // Apply user defined dims (`name` and `type`) and init result.\n\n for (var i = 0; i < dimCount; i++) {\n var dimDefItem = dimsDef[i] = extend({}, isObject(dimsDef[i]) ? dimsDef[i] : {\n name: dimsDef[i]\n });\n var userDimName = dimDefItem.name;\n var resultItem = result[i] = new DataDimensionInfo(); // Name will be applied later for avoiding duplication.\n\n if (userDimName != null && dataDimNameMap.get(userDimName) == null) {\n // Only if `series.dimensions` is defined in option\n // displayName, will be set, and dimension will be diplayed vertically in\n // tooltip by default.\n resultItem.name = resultItem.displayName = userDimName;\n dataDimNameMap.set(userDimName, i);\n }\n\n dimDefItem.type != null && (resultItem.type = dimDefItem.type);\n dimDefItem.displayName != null && (resultItem.displayName = dimDefItem.displayName);\n }\n\n var encodeDef = opt.encodeDef;\n\n if (!encodeDef && opt.encodeDefaulter) {\n encodeDef = opt.encodeDefaulter(source, dimCount);\n }\n\n encodeDef = createHashMap(encodeDef); // Set `coordDim` and `coordDimIndex` by `encodeDef` and normalize `encodeDef`.\n\n encodeDef.each(function (dataDims, coordDim) {\n dataDims = normalizeToArray(dataDims).slice(); // Note: It is allowed that `dataDims.length` is `0`, e.g., options is\n // `{encode: {x: -1, y: 1}}`. Should not filter anything in\n // this case.\n\n if (dataDims.length === 1 && !isString(dataDims[0]) && dataDims[0] < 0) {\n encodeDef.set(coordDim, false);\n return;\n }\n\n var validDataDims = encodeDef.set(coordDim, []);\n each(dataDims, function (resultDimIdx, idx) {\n // The input resultDimIdx can be dim name or index.\n isString(resultDimIdx) && (resultDimIdx = dataDimNameMap.get(resultDimIdx));\n\n if (resultDimIdx != null && resultDimIdx < dimCount) {\n validDataDims[idx] = resultDimIdx;\n applyDim(result[resultDimIdx], coordDim, idx);\n }\n });\n }); // Apply templetes and default order from `sysDims`.\n\n var availDimIdx = 0;\n each(sysDims, function (sysDimItem, sysDimIndex) {\n var coordDim;\n var sysDimItem;\n var sysDimItemDimsDef;\n var sysDimItemOtherDims;\n\n if (isString(sysDimItem)) {\n coordDim = sysDimItem;\n sysDimItem = {};\n } else {\n coordDim = sysDimItem.name;\n var ordinalMeta = sysDimItem.ordinalMeta;\n sysDimItem.ordinalMeta = null;\n sysDimItem = clone(sysDimItem);\n sysDimItem.ordinalMeta = ordinalMeta; // `coordDimIndex` should not be set directly.\n\n sysDimItemDimsDef = sysDimItem.dimsDef;\n sysDimItemOtherDims = sysDimItem.otherDims;\n sysDimItem.name = sysDimItem.coordDim = sysDimItem.coordDimIndex = sysDimItem.dimsDef = sysDimItem.otherDims = null;\n }\n\n var dataDims = encodeDef.get(coordDim); // negative resultDimIdx means no need to mapping.\n\n if (dataDims === false) {\n return;\n }\n\n var dataDims = normalizeToArray(dataDims); // dimensions provides default dim sequences.\n\n if (!dataDims.length) {\n for (var i = 0; i < (sysDimItemDimsDef && sysDimItemDimsDef.length || 1); i++) {\n while (availDimIdx < result.length && result[availDimIdx].coordDim != null) {\n availDimIdx++;\n }\n\n availDimIdx < result.length && dataDims.push(availDimIdx++);\n }\n } // Apply templates.\n\n\n each(dataDims, function (resultDimIdx, coordDimIndex) {\n var resultItem = result[resultDimIdx];\n applyDim(defaults(resultItem, sysDimItem), coordDim, coordDimIndex);\n\n if (resultItem.name == null && sysDimItemDimsDef) {\n var sysDimItemDimsDefItem = sysDimItemDimsDef[coordDimIndex];\n !isObject(sysDimItemDimsDefItem) && (sysDimItemDimsDefItem = {\n name: sysDimItemDimsDefItem\n });\n resultItem.name = resultItem.displayName = sysDimItemDimsDefItem.name;\n resultItem.defaultTooltip = sysDimItemDimsDefItem.defaultTooltip;\n } // FIXME refactor, currently only used in case: {otherDims: {tooltip: false}}\n\n\n sysDimItemOtherDims && defaults(resultItem.otherDims, sysDimItemOtherDims);\n });\n });\n\n function applyDim(resultItem, coordDim, coordDimIndex) {\n if (OTHER_DIMENSIONS.get(coordDim) != null) {\n resultItem.otherDims[coordDim] = coordDimIndex;\n } else {\n resultItem.coordDim = coordDim;\n resultItem.coordDimIndex = coordDimIndex;\n coordDimNameMap.set(coordDim, true);\n }\n } // Make sure the first extra dim is 'value'.\n\n\n var generateCoord = opt.generateCoord;\n var generateCoordCount = opt.generateCoordCount;\n var fromZero = generateCoordCount != null;\n generateCoordCount = generateCoord ? generateCoordCount || 1 : 0;\n var extra = generateCoord || 'value'; // Set dim `name` and other `coordDim` and other props.\n\n for (var resultDimIdx = 0; resultDimIdx < dimCount; resultDimIdx++) {\n var resultItem = result[resultDimIdx] = result[resultDimIdx] || new DataDimensionInfo();\n var coordDim = resultItem.coordDim;\n\n if (coordDim == null) {\n resultItem.coordDim = genName(extra, coordDimNameMap, fromZero);\n resultItem.coordDimIndex = 0;\n\n if (!generateCoord || generateCoordCount <= 0) {\n resultItem.isExtraCoord = true;\n }\n\n generateCoordCount--;\n }\n\n resultItem.name == null && (resultItem.name = genName(resultItem.coordDim, dataDimNameMap));\n\n if (resultItem.type == null && (guessOrdinal(source, resultDimIdx, resultItem.name) === BE_ORDINAL.Must // Consider the case:\n // {\n // dataset: {source: [\n // ['2001', 123],\n // ['2002', 456],\n // ...\n // ['The others', 987],\n // ]},\n // series: {type: 'pie'}\n // }\n // The first colum should better be treated as a \"ordinal\" although it\n // might not able to be detected as an \"ordinal\" by `guessOrdinal`.\n || resultItem.isExtraCoord && (resultItem.otherDims.itemName != null || resultItem.otherDims.seriesName != null))) {\n resultItem.type = 'ordinal';\n }\n }\n\n return result;\n} // ??? TODO\n// Originally detect dimCount by data[0]. Should we\n// optimize it to only by sysDims and dimensions and encode.\n// So only necessary dims will be initialized.\n// But\n// (1) custom series should be considered. where other dims\n// may be visited.\n// (2) sometimes user need to calcualte bubble size or use visualMap\n// on other dimensions besides coordSys needed.\n// So, dims that is not used by system, should be shared in storage?\n\n\nfunction getDimCount(source, sysDims, dimsDef, optDimCount) {\n // Note that the result dimCount should not small than columns count\n // of data, otherwise `dataDimNameMap` checking will be incorrect.\n var dimCount = Math.max(source.dimensionsDetectCount || 1, sysDims.length, dimsDef.length, optDimCount || 0);\n each(sysDims, function (sysDimItem) {\n var sysDimItemDimsDef = sysDimItem.dimsDef;\n sysDimItemDimsDef && (dimCount = Math.max(dimCount, sysDimItemDimsDef.length));\n });\n return dimCount;\n}\n\nfunction genName(name, map, fromZero) {\n if (fromZero || map.get(name) != null) {\n var i = 0;\n\n while (map.get(name + i) != null) {\n i++;\n }\n\n name += i;\n }\n\n map.set(name, true);\n return name;\n}\n\nvar _default = completeDimensions;\nmodule.exports = _default;","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _tools = require(\"../../tools\");\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _default = {\n name: 'PlxTableContextMenu',\n props: {\n ctxMenuStore: Object\n },\n render: function render(h) {\n var $table = this.$parent;\n var _e = this._e,\n ctxMenuStore = this.ctxMenuStore;\n return h('div', {\n class: ['plx-table--ctxmenu-wrapper', _defineProperty({\n 'is--show': ctxMenuStore.visible\n }, \"child-pos--\".concat(ctxMenuStore.childPos), ctxMenuStore.childPos)],\n style: ctxMenuStore.style\n }, ctxMenuStore.list.map(function (options, gIndex) {\n return h('ul', {\n class: 'plx-ctxmenu--option-wrapper',\n key: gIndex\n }, options.map(function (item, index) {\n var hasChildMenus = item.children && item.children.length;\n return item.visible === false ? _e() : h('li', {\n class: {\n 'link--disabled': item.disabled,\n 'link--active': item === ctxMenuStore.selected\n },\n key: \"\".concat(gIndex, \"_\").concat(index)\n }, [h('a', {\n class: 'plx-ctxmenu--link',\n on: {\n click: function click(evnt) {\n $table.ctxMenuLinkEvent(evnt, item);\n },\n mouseover: function mouseover(evnt) {\n $table.ctxMenuMouseoverEvent(evnt, item);\n },\n mouseout: function mouseout(evnt) {\n $table.ctxMenuMouseoutEvent(evnt, item);\n }\n }\n }, [h('i', {\n class: ['plx-ctxmenu--link-prefix', item.prefixIcon]\n }), h('span', {\n class: 'plx-ctxmenu--link-content'\n }, _tools.UtilTools.getFuncText(item.name)), h('i', {\n class: ['plx-ctxmenu--link-suffix', hasChildMenus ? item.suffixIcon || 'suffix--haschild' : item.suffixIcon]\n })]), hasChildMenus ? h('ul', {\n class: ['plx-table--ctxmenu-clild-wrapper', {\n 'is--show': item === ctxMenuStore.selected && ctxMenuStore.showChild\n }]\n }, item.children.map(function (child, cIndex) {\n return child.visible === false ? _e() : h('li', {\n class: {\n 'link--disabled': child.disabled,\n 'link--active': child === ctxMenuStore.selectChild\n },\n key: \"\".concat(gIndex, \"_\").concat(index, \"_\").concat(cIndex)\n }, [h('a', {\n class: 'plx-ctxmenu--link',\n on: {\n click: function click(evnt) {\n $table.ctxMenuLinkEvent(evnt, child);\n },\n mouseover: function mouseover(evnt) {\n $table.ctxMenuMouseoverEvent(evnt, item, child);\n },\n mouseout: function mouseout(evnt) {\n $table.ctxMenuMouseoutEvent(evnt, item, child);\n }\n }\n }, [h('i', {\n class: ['plx-ctxmenu--link-prefix', child.prefixIcon]\n }), h('span', {\n class: 'plx-ctxmenu--link-content'\n }, _tools.UtilTools.getFuncText(child.name))])]);\n })) : _e()]);\n }));\n }));\n }\n};\nexports.default = _default;","\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\nvar zrUtil = require(\"zrender/lib/core/util\");\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*/\nfunction _default(ecModel) {\n ecModel.eachSeriesByType('radar', function (seriesModel) {\n var data = seriesModel.getData();\n var points = [];\n var coordSys = seriesModel.coordinateSystem;\n\n if (!coordSys) {\n return;\n }\n\n var axes = coordSys.getIndicatorAxes();\n zrUtil.each(axes, function (axis, axisIndex) {\n data.each(data.mapDimension(axes[axisIndex].dim), function (val, dataIndex) {\n points[dataIndex] = points[dataIndex] || [];\n var point = coordSys.dataToPoint(val, axisIndex);\n points[dataIndex][axisIndex] = isValidPoint(point) ? point : getValueMissingPoint(coordSys);\n });\n }); // Close polygon\n\n data.each(function (idx) {\n // TODO\n // Is it appropriate to connect to the next data when some data is missing?\n // Or, should trade it like `connectNull` in line chart?\n var firstPoint = zrUtil.find(points[idx], function (point) {\n return isValidPoint(point);\n }) || getValueMissingPoint(coordSys); // Copy the first actual point to the end of the array\n\n points[idx].push(firstPoint.slice());\n data.setItemLayout(idx, points[idx]);\n });\n });\n}\n\nfunction isValidPoint(point) {\n return !isNaN(point[0]) && !isNaN(point[1]);\n}\n\nfunction getValueMissingPoint(coordSys) {\n // It is error-prone to input [NaN, NaN] into polygon, polygon.\n // (probably cause problem when refreshing or animating)\n return [coordSys.cx, coordSys.cy];\n}\n\nmodule.exports = _default;","var svgURI = 'http://www.w3.org/2000/svg';\n\nfunction createElement(name) {\n return document.createElementNS(svgURI, name);\n}\n\nexports.createElement = createElement;","function windingLine(x0, y0, x1, y1, x, y) {\n if (y > y0 && y > y1 || y < y0 && y < y1) {\n return 0;\n } // Ignore horizontal line\n\n\n if (y1 === y0) {\n return 0;\n }\n\n var dir = y1 < y0 ? 1 : -1;\n var t = (y - y0) / (y1 - y0); // Avoid winding error when intersection point is the connect point of two line of polygon\n\n if (t === 1 || t === 0) {\n dir = y1 < y0 ? 0.5 : -0.5;\n }\n\n var x_ = t * (x1 - x0) + x0; // If (x, y) on the line, considered as \"contain\".\n\n return x_ === x ? Infinity : x_ > x ? dir : 0;\n}\n\nmodule.exports = windingLine;","\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\nvar echarts = require(\"../../echarts\");\n\nvar List = require(\"../../data/List\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _model = require(\"../../util/model\");\n\nvar defaultEmphasis = _model.defaultEmphasis;\n\nvar Model = require(\"../../model/Model\");\n\nvar _format = require(\"../../util/format\");\n\nvar encodeHTML = _format.encodeHTML;\n\nvar createGraphFromNodeEdge = require(\"../helper/createGraphFromNodeEdge\");\n\nvar LegendVisualProvider = require(\"../../visual/LegendVisualProvider\");\n\nvar _multipleGraphEdgeHelper = require(\"../helper/multipleGraphEdgeHelper\");\n\nvar initCurvenessList = _multipleGraphEdgeHelper.initCurvenessList;\nvar createEdgeMapForCurveness = _multipleGraphEdgeHelper.createEdgeMapForCurveness;\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*/\nvar GraphSeries = echarts.extendSeriesModel({\n type: 'series.graph',\n init: function (option) {\n GraphSeries.superApply(this, 'init', arguments);\n var self = this;\n\n function getCategoriesData() {\n return self._categoriesData;\n } // Provide data for legend select\n\n\n this.legendVisualProvider = new LegendVisualProvider(getCategoriesData, getCategoriesData);\n this.fillDataTextStyle(option.edges || option.links);\n\n this._updateCategoriesData();\n },\n mergeOption: function (option) {\n GraphSeries.superApply(this, 'mergeOption', arguments);\n this.fillDataTextStyle(option.edges || option.links);\n\n this._updateCategoriesData();\n },\n mergeDefaultAndTheme: function (option) {\n GraphSeries.superApply(this, 'mergeDefaultAndTheme', arguments);\n defaultEmphasis(option, ['edgeLabel'], ['show']);\n },\n getInitialData: function (option, ecModel) {\n var edges = option.edges || option.links || [];\n var nodes = option.data || option.nodes || [];\n var self = this;\n\n if (nodes && edges) {\n // auto curveness\n initCurvenessList(this);\n var graph = createGraphFromNodeEdge(nodes, edges, this, true, beforeLink);\n zrUtil.each(graph.edges, function (edge) {\n createEdgeMapForCurveness(edge.node1, edge.node2, this, edge.dataIndex);\n }, this);\n return graph.data;\n }\n\n function beforeLink(nodeData, edgeData) {\n // Overwrite nodeData.getItemModel to\n nodeData.wrapMethod('getItemModel', function (model) {\n var categoriesModels = self._categoriesModels;\n var categoryIdx = model.getShallow('category');\n var categoryModel = categoriesModels[categoryIdx];\n\n if (categoryModel) {\n categoryModel.parentModel = model.parentModel;\n model.parentModel = categoryModel;\n }\n\n return model;\n });\n var edgeLabelModel = self.getModel('edgeLabel'); // For option `edgeLabel` can be found by label.xxx.xxx on item mode.\n\n var fakeSeriesModel = new Model({\n label: edgeLabelModel.option\n }, edgeLabelModel.parentModel, ecModel);\n var emphasisEdgeLabelModel = self.getModel('emphasis.edgeLabel');\n var emphasisFakeSeriesModel = new Model({\n emphasis: {\n label: emphasisEdgeLabelModel.option\n }\n }, emphasisEdgeLabelModel.parentModel, ecModel);\n edgeData.wrapMethod('getItemModel', function (model) {\n model.customizeGetParent(edgeGetParent);\n return model;\n });\n\n function edgeGetParent(path) {\n path = this.parsePath(path);\n return path && path[0] === 'label' ? fakeSeriesModel : path && path[0] === 'emphasis' && path[1] === 'label' ? emphasisFakeSeriesModel : this.parentModel;\n }\n }\n },\n\n /**\n * @return {module:echarts/data/Graph}\n */\n getGraph: function () {\n return this.getData().graph;\n },\n\n /**\n * @return {module:echarts/data/List}\n */\n getEdgeData: function () {\n return this.getGraph().edgeData;\n },\n\n /**\n * @return {module:echarts/data/List}\n */\n getCategoriesData: function () {\n return this._categoriesData;\n },\n\n /**\n * @override\n */\n formatTooltip: function (dataIndex, multipleSeries, dataType) {\n if (dataType === 'edge') {\n var nodeData = this.getData();\n var params = this.getDataParams(dataIndex, dataType);\n var edge = nodeData.graph.getEdgeByIndex(dataIndex);\n var sourceName = nodeData.getName(edge.node1.dataIndex);\n var targetName = nodeData.getName(edge.node2.dataIndex);\n var html = [];\n sourceName != null && html.push(sourceName);\n targetName != null && html.push(targetName);\n html = encodeHTML(html.join(' > '));\n\n if (params.value) {\n html += ' : ' + encodeHTML(params.value);\n }\n\n return html;\n } else {\n // dataType === 'node' or empty\n return GraphSeries.superApply(this, 'formatTooltip', arguments);\n }\n },\n _updateCategoriesData: function () {\n var categories = zrUtil.map(this.option.categories || [], function (category) {\n // Data must has value\n return category.value != null ? category : zrUtil.extend({\n value: 0\n }, category);\n });\n var categoriesData = new List(['value'], this);\n categoriesData.initData(categories);\n this._categoriesData = categoriesData;\n this._categoriesModels = categoriesData.mapArray(function (idx) {\n return categoriesData.getItemModel(idx, true);\n });\n },\n setZoom: function (zoom) {\n this.option.zoom = zoom;\n },\n setCenter: function (center) {\n this.option.center = center;\n },\n isAnimationEnabled: function () {\n return GraphSeries.superCall(this, 'isAnimationEnabled') // Not enable animation when do force layout\n && !(this.get('layout') === 'force' && this.get('force.layoutAnimation'));\n },\n defaultOption: {\n zlevel: 0,\n z: 2,\n coordinateSystem: 'view',\n // Default option for all coordinate systems\n // xAxisIndex: 0,\n // yAxisIndex: 0,\n // polarIndex: 0,\n // geoIndex: 0,\n legendHoverLink: true,\n hoverAnimation: true,\n layout: null,\n focusNodeAdjacency: false,\n // Configuration of circular layout\n circular: {\n rotateLabel: false\n },\n // Configuration of force directed layout\n force: {\n initLayout: null,\n // Node repulsion. Can be an array to represent range.\n repulsion: [0, 50],\n gravity: 0.1,\n // Initial friction\n friction: 0.6,\n // Edge length. Can be an array to represent range.\n edgeLength: 30,\n layoutAnimation: true\n },\n left: 'center',\n top: 'center',\n // right: null,\n // bottom: null,\n // width: '80%',\n // height: '80%',\n symbol: 'circle',\n symbolSize: 10,\n edgeSymbol: ['none', 'none'],\n edgeSymbolSize: 10,\n edgeLabel: {\n position: 'middle',\n distance: 5\n },\n draggable: false,\n roam: false,\n // Default on center of graph\n center: null,\n zoom: 1,\n // Symbol size scale ratio in roam\n nodeScaleRatio: 0.6,\n // cursor: null,\n // categories: [],\n // data: []\n // Or\n // nodes: []\n //\n // links: []\n // Or\n // edges: []\n label: {\n show: false,\n formatter: '{b}'\n },\n itemStyle: {},\n lineStyle: {\n color: '#aaa',\n width: 1,\n opacity: 0.5\n },\n emphasis: {\n label: {\n show: true\n }\n }\n }\n});\nvar _default = GraphSeries;\nmodule.exports = _default;","module.exports = require('./src/wordCloud');","var Path = require(\"../Path\");\n\nvar polyHelper = require(\"../helper/poly\");\n\n/**\n * 多边形\n * @module zrender/shape/Polygon\n */\nvar _default = Path.extend({\n type: 'polygon',\n shape: {\n points: null,\n smooth: false,\n smoothConstraint: null\n },\n buildPath: function (ctx, shape) {\n polyHelper.buildPath(ctx, shape, true);\n }\n});\n\nmodule.exports = _default;","var hasOwnProp = require('../base/hasOwnProp')\r\n\r\nfunction objectEach (obj, iterate, context) {\r\n if (obj) {\r\n for (var key in obj) {\r\n if (hasOwnProp(obj, key)) {\r\n iterate.call(context, obj[key], key, obj)\r\n }\r\n }\r\n }\r\n}\r\n\r\nmodule.exports = objectEach\r\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\nvar _util = require(\"zrender/lib/core/util\");\n\nvar map = _util.map;\n\nvar createRenderPlanner = require(\"../chart/helper/createRenderPlanner\");\n\nvar _dataStackHelper = require(\"../data/helper/dataStackHelper\");\n\nvar isDimensionStacked = _dataStackHelper.isDimensionStacked;\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/* global Float32Array */\nfunction _default(seriesType) {\n return {\n seriesType: seriesType,\n plan: createRenderPlanner(),\n reset: function (seriesModel) {\n var data = seriesModel.getData();\n var coordSys = seriesModel.coordinateSystem;\n var pipelineContext = seriesModel.pipelineContext;\n var isLargeRender = pipelineContext.large;\n\n if (!coordSys) {\n return;\n }\n\n var dims = map(coordSys.dimensions, function (dim) {\n return data.mapDimension(dim);\n }).slice(0, 2);\n var dimLen = dims.length;\n var stackResultDim = data.getCalculationInfo('stackResultDimension');\n\n if (isDimensionStacked(data, dims[0]\n /*, dims[1]*/\n )) {\n dims[0] = stackResultDim;\n }\n\n if (isDimensionStacked(data, dims[1]\n /*, dims[0]*/\n )) {\n dims[1] = stackResultDim;\n }\n\n function progress(params, data) {\n var segCount = params.end - params.start;\n var points = isLargeRender && new Float32Array(segCount * dimLen);\n\n for (var i = params.start, offset = 0, tmpIn = [], tmpOut = []; i < params.end; i++) {\n var point;\n\n if (dimLen === 1) {\n var x = data.get(dims[0], i);\n point = !isNaN(x) && coordSys.dataToPoint(x, null, tmpOut);\n } else {\n var x = tmpIn[0] = data.get(dims[0], i);\n var y = tmpIn[1] = data.get(dims[1], i); // Also {Array.}, not undefined to avoid if...else... statement\n\n point = !isNaN(x) && !isNaN(y) && coordSys.dataToPoint(tmpIn, null, tmpOut);\n }\n\n if (isLargeRender) {\n points[offset++] = point ? point[0] : NaN;\n points[offset++] = point ? point[1] : NaN;\n } else {\n data.setItemLayout(i, point && point.slice() || [NaN, NaN]);\n }\n }\n\n isLargeRender && data.setLayout('symbolPoints', points);\n }\n\n return dimLen && {\n progress: progress\n };\n }\n };\n}\n\nmodule.exports = _default;","\"use strict\";\n\nexports.__esModule = true;\nfunction _broadcast(componentName, eventName, params) {\n this.$children.forEach(function (child) {\n var name = child.$options.componentName;\n\n if (name === componentName) {\n child.$emit.apply(child, [eventName].concat(params));\n } else {\n _broadcast.apply(child, [componentName, eventName].concat([params]));\n }\n });\n}\nexports.default = {\n methods: {\n dispatch: function dispatch(componentName, eventName, params) {\n var parent = this.$parent || this.$root;\n var name = parent.$options.componentName;\n\n while (parent && (!name || name !== componentName)) {\n parent = parent.$parent;\n\n if (parent) {\n name = parent.$options.componentName;\n }\n }\n if (parent) {\n parent.$emit.apply(parent, [eventName].concat(params));\n }\n },\n broadcast: function broadcast(componentName, eventName, params) {\n _broadcast.call(this, componentName, eventName, params);\n }\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*/\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*/\nvar ORIGIN_METHOD = '\\0__throttleOriginMethod';\nvar RATE = '\\0__throttleRate';\nvar THROTTLE_TYPE = '\\0__throttleType';\n/**\n * @public\n * @param {(Function)} fn\n * @param {number} [delay=0] Unit: ms.\n * @param {boolean} [debounce=false]\n * true: If call interval less than `delay`, only the last call works.\n * false: If call interval less than `delay, call works on fixed rate.\n * @return {(Function)} throttled fn.\n */\n\nfunction throttle(fn, delay, debounce) {\n var currCall;\n var lastCall = 0;\n var lastExec = 0;\n var timer = null;\n var diff;\n var scope;\n var args;\n var debounceNextCall;\n delay = delay || 0;\n\n function exec() {\n lastExec = new Date().getTime();\n timer = null;\n fn.apply(scope, args || []);\n }\n\n var cb = function () {\n currCall = new Date().getTime();\n scope = this;\n args = arguments;\n var thisDelay = debounceNextCall || delay;\n var thisDebounce = debounceNextCall || debounce;\n debounceNextCall = null;\n diff = currCall - (thisDebounce ? lastCall : lastExec) - thisDelay;\n clearTimeout(timer); // Here we should make sure that: the `exec` SHOULD NOT be called later\n // than a new call of `cb`, that is, preserving the command order. Consider\n // calculating \"scale rate\" when roaming as an example. When a call of `cb`\n // happens, either the `exec` is called dierectly, or the call is delayed.\n // But the delayed call should never be later than next call of `cb`. Under\n // this assurance, we can simply update view state each time `dispatchAction`\n // triggered by user roaming, but not need to add extra code to avoid the\n // state being \"rolled-back\".\n\n if (thisDebounce) {\n timer = setTimeout(exec, thisDelay);\n } else {\n if (diff >= 0) {\n exec();\n } else {\n timer = setTimeout(exec, -diff);\n }\n }\n\n lastCall = currCall;\n };\n /**\n * Clear throttle.\n * @public\n */\n\n\n cb.clear = function () {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n };\n /**\n * Enable debounce once.\n */\n\n\n cb.debounceNextCall = function (debounceDelay) {\n debounceNextCall = debounceDelay;\n };\n\n return cb;\n}\n/**\n * Create throttle method or update throttle rate.\n *\n * @example\n * ComponentView.prototype.render = function () {\n * ...\n * throttle.createOrUpdate(\n * this,\n * '_dispatchAction',\n * this.model.get('throttle'),\n * 'fixRate'\n * );\n * };\n * ComponentView.prototype.remove = function () {\n * throttle.clear(this, '_dispatchAction');\n * };\n * ComponentView.prototype.dispose = function () {\n * throttle.clear(this, '_dispatchAction');\n * };\n *\n * @public\n * @param {Object} obj\n * @param {string} fnAttr\n * @param {number} [rate]\n * @param {string} [throttleType='fixRate'] 'fixRate' or 'debounce'\n * @return {Function} throttled function.\n */\n\n\nfunction createOrUpdate(obj, fnAttr, rate, throttleType) {\n var fn = obj[fnAttr];\n\n if (!fn) {\n return;\n }\n\n var originFn = fn[ORIGIN_METHOD] || fn;\n var lastThrottleType = fn[THROTTLE_TYPE];\n var lastRate = fn[RATE];\n\n if (lastRate !== rate || lastThrottleType !== throttleType) {\n if (rate == null || !throttleType) {\n return obj[fnAttr] = originFn;\n }\n\n fn = obj[fnAttr] = throttle(originFn, rate, throttleType === 'debounce');\n fn[ORIGIN_METHOD] = originFn;\n fn[THROTTLE_TYPE] = throttleType;\n fn[RATE] = rate;\n }\n\n return fn;\n}\n/**\n * Clear throttle. Example see throttle.createOrUpdate.\n *\n * @public\n * @param {Object} obj\n * @param {string} fnAttr\n */\n\n\nfunction clear(obj, fnAttr) {\n var fn = obj[fnAttr];\n\n if (fn && fn[ORIGIN_METHOD]) {\n obj[fnAttr] = fn[ORIGIN_METHOD];\n }\n}\n\nexports.throttle = throttle;\nexports.createOrUpdate = createOrUpdate;\nexports.clear = clear;","\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\nvar echarts = require(\"../../echarts\");\n\nvar zrUtil = require(\"zrender/lib/core/util\");\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*/\nvar _default = echarts.extendComponentView({\n type: 'marker',\n init: function () {\n /**\n * Markline grouped by series\n * @private\n * @type {module:zrender/core/util.HashMap}\n */\n this.markerGroupMap = zrUtil.createHashMap();\n },\n render: function (markerModel, ecModel, api) {\n var markerGroupMap = this.markerGroupMap;\n markerGroupMap.each(function (item) {\n item.__keep = false;\n });\n var markerModelKey = this.type + 'Model';\n ecModel.eachSeries(function (seriesModel) {\n var markerModel = seriesModel[markerModelKey];\n markerModel && this.renderSeries(seriesModel, markerModel, ecModel, api);\n }, this);\n markerGroupMap.each(function (item) {\n !item.__keep && this.group.remove(item.group);\n }, this);\n },\n renderSeries: function () {}\n});\n\nmodule.exports = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _cell = _interopRequireDefault(require(\"../../cell\"));\n\nvar _tools = require(\"../../tools\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar props = {\n // 渲染类型 index,radio,checkbox,expand\n type: String,\n // 在 v3.0 中废弃 prop\n prop: String,\n // 在 v3.0 中废弃 label\n label: String,\n // 列属性\n field: String,\n // 列标题\n title: String,\n // 列宽度\n width: [Number, String],\n // 列最小宽度,把剩余宽度按比例分配\n minWidth: [Number, String],\n // 是否允许拖动列宽调整大小\n resizable: {\n type: Boolean,\n default: null\n },\n // 将列固定在左侧或者右侧\n fixed: String,\n // 列对其方式\n align: String,\n // 表头对齐方式\n headerAlign: String,\n // 表尾列的对齐方式\n footerAlign: String,\n // 当内容过长时显示为省略号\n showOverflow: {\n type: [Boolean, String],\n default: null\n },\n // 当表头内容过长时显示为省略号\n showHeaderOverflow: {\n type: [Boolean, String],\n default: null\n },\n // 给单元格附加 className\n className: [String, Function],\n // 给表头单元格附加 className\n headerClassName: [String, Function],\n // 给表尾单元格附加 className\n footerClassName: [String, Function],\n // 格式化显示内容\n formatter: [Function, Array, String],\n // 自定义索引方法\n indexMethod: Function,\n // 是否允许排序\n sortable: Boolean,\n // 是否服务端排序\n remoteSort: {\n type: Boolean,\n default: null\n },\n // 自定义排序的属性\n sortBy: [String, Array],\n // 自定义排序方法\n sortMethod: Function,\n // 配置筛选条件数组\n filters: {\n type: Array,\n default: null\n },\n // 筛选是否允许多选\n filterMultiple: {\n type: Boolean,\n default: true\n },\n // 自定义筛选方法\n filterMethod: Function,\n // 筛选模板配置项\n filterRender: Object,\n // 指定为树节点\n treeNode: Boolean,\n // 是否可视\n visible: {\n type: Boolean,\n default: null\n },\n // 单元格渲染配置项\n cellRender: Object,\n // 单元格编辑渲染配置项\n editRender: Object,\n // 额外的参数\n params: Object\n};\nvar watch = {};\nObject.keys(props).forEach(function (name) {\n watch[name] = function (value) {\n this.columnConfig.update(name, value);\n };\n});\nvar _default = {\n name: 'PlxTableColumn',\n props: props,\n provide: function provide() {\n return {\n $column: this\n };\n },\n inject: {\n $table: {\n default: null\n },\n $column: {\n default: null\n }\n },\n watch: watch,\n created: function created() {\n this.columnConfig = this.createColumn(this.$table, this);\n },\n mounted: function mounted() {\n _tools.UtilTools.assemColumn(this);\n\n if (this.type === 'expand' && !this.$scopedSlots.content && this.$scopedSlots.default) {\n _tools.UtilTools.warn('plx.error.expandContent');\n }\n },\n destroyed: function destroyed() {\n _tools.UtilTools.destroyColumn(this);\n },\n render: function render(h) {\n return h('div', this.$slots.default);\n },\n methods: _cell.default\n};\nexports.default = _default;","\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\nvar zrUtil = require(\"zrender/lib/core/util\");\n\nvar _clazz = require(\"./clazz\");\n\nvar parseClassType = _clazz.parseClassType;\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*/\nvar base = 0;\n/**\n * @public\n * @param {string} type\n * @return {string}\n */\n\nfunction getUID(type) {\n // Considering the case of crossing js context,\n // use Math.random to make id as unique as possible.\n return [type || '', base++, Math.random().toFixed(5)].join('_');\n}\n/**\n * @inner\n */\n\n\nfunction enableSubTypeDefaulter(entity) {\n var subTypeDefaulters = {};\n\n entity.registerSubTypeDefaulter = function (componentType, defaulter) {\n componentType = parseClassType(componentType);\n subTypeDefaulters[componentType.main] = defaulter;\n };\n\n entity.determineSubType = function (componentType, option) {\n var type = option.type;\n\n if (!type) {\n var componentTypeMain = parseClassType(componentType).main;\n\n if (entity.hasSubTypes(componentType) && subTypeDefaulters[componentTypeMain]) {\n type = subTypeDefaulters[componentTypeMain](option);\n }\n }\n\n return type;\n };\n\n return entity;\n}\n/**\n * Topological travel on Activity Network (Activity On Vertices).\n * Dependencies is defined in Model.prototype.dependencies, like ['xAxis', 'yAxis'].\n *\n * If 'xAxis' or 'yAxis' is absent in componentTypeList, just ignore it in topology.\n *\n * If there is circle dependencey, Error will be thrown.\n *\n */\n\n\nfunction enableTopologicalTravel(entity, dependencyGetter) {\n /**\n * @public\n * @param {Array.} targetNameList Target Component type list.\n * Can be ['aa', 'bb', 'aa.xx']\n * @param {Array.} fullNameList By which we can build dependency graph.\n * @param {Function} callback Params: componentType, dependencies.\n * @param {Object} context Scope of callback.\n */\n entity.topologicalTravel = function (targetNameList, fullNameList, callback, context) {\n if (!targetNameList.length) {\n return;\n }\n\n var result = makeDepndencyGraph(fullNameList);\n var graph = result.graph;\n var stack = result.noEntryList;\n var targetNameSet = {};\n zrUtil.each(targetNameList, function (name) {\n targetNameSet[name] = true;\n });\n\n while (stack.length) {\n var currComponentType = stack.pop();\n var currVertex = graph[currComponentType];\n var isInTargetNameSet = !!targetNameSet[currComponentType];\n\n if (isInTargetNameSet) {\n callback.call(context, currComponentType, currVertex.originalDeps.slice());\n delete targetNameSet[currComponentType];\n }\n\n zrUtil.each(currVertex.successor, isInTargetNameSet ? removeEdgeAndAdd : removeEdge);\n }\n\n zrUtil.each(targetNameSet, function () {\n throw new Error('Circle dependency may exists');\n });\n\n function removeEdge(succComponentType) {\n graph[succComponentType].entryCount--;\n\n if (graph[succComponentType].entryCount === 0) {\n stack.push(succComponentType);\n }\n } // Consider this case: legend depends on series, and we call\n // chart.setOption({series: [...]}), where only series is in option.\n // If we do not have 'removeEdgeAndAdd', legendModel.mergeOption will\n // not be called, but only sereis.mergeOption is called. Thus legend\n // have no chance to update its local record about series (like which\n // name of series is available in legend).\n\n\n function removeEdgeAndAdd(succComponentType) {\n targetNameSet[succComponentType] = true;\n removeEdge(succComponentType);\n }\n };\n /**\n * DepndencyGraph: {Object}\n * key: conponentType,\n * value: {\n * successor: [conponentTypes...],\n * originalDeps: [conponentTypes...],\n * entryCount: {number}\n * }\n */\n\n\n function makeDepndencyGraph(fullNameList) {\n var graph = {};\n var noEntryList = [];\n zrUtil.each(fullNameList, function (name) {\n var thisItem = createDependencyGraphItem(graph, name);\n var originalDeps = thisItem.originalDeps = dependencyGetter(name);\n var availableDeps = getAvailableDependencies(originalDeps, fullNameList);\n thisItem.entryCount = availableDeps.length;\n\n if (thisItem.entryCount === 0) {\n noEntryList.push(name);\n }\n\n zrUtil.each(availableDeps, function (dependentName) {\n if (zrUtil.indexOf(thisItem.predecessor, dependentName) < 0) {\n thisItem.predecessor.push(dependentName);\n }\n\n var thatItem = createDependencyGraphItem(graph, dependentName);\n\n if (zrUtil.indexOf(thatItem.successor, dependentName) < 0) {\n thatItem.successor.push(name);\n }\n });\n });\n return {\n graph: graph,\n noEntryList: noEntryList\n };\n }\n\n function createDependencyGraphItem(graph, name) {\n if (!graph[name]) {\n graph[name] = {\n predecessor: [],\n successor: []\n };\n }\n\n return graph[name];\n }\n\n function getAvailableDependencies(originalDeps, fullNameList) {\n var availableDeps = [];\n zrUtil.each(originalDeps, function (dep) {\n zrUtil.indexOf(fullNameList, dep) >= 0 && availableDeps.push(dep);\n });\n return availableDeps;\n }\n}\n\nexports.getUID = getUID;\nexports.enableSubTypeDefaulter = enableSubTypeDefaulter;\nexports.enableTopologicalTravel = enableTopologicalTravel;","var staticParseInt = parseInt\r\n\r\nmodule.exports = staticParseInt\r\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* 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*/\nvar platform = ''; // Navigator not exists in node\n\nif (typeof navigator !== 'undefined') {\n platform = navigator.platform || '';\n}\n\nvar _default = {\n // backgroundColor: 'rgba(0,0,0,0)',\n // https://dribbble.com/shots/1065960-Infographic-Pie-chart-visualization\n // color: ['#5793f3', '#d14a61', '#fd9c35', '#675bba', '#fec42c', '#dd4444', '#d4df5a', '#cd4870'],\n // Light colors:\n // color: ['#bcd3bb', '#e88f70', '#edc1a5', '#9dc5c8', '#e1e8c8', '#7b7c68', '#e5b5b5', '#f0b489', '#928ea8', '#bda29a'],\n // color: ['#cc5664', '#9bd6ec', '#ea946e', '#8acaaa', '#f1ec64', '#ee8686', '#a48dc1', '#5da6bc', '#b9dcae'],\n // Dark colors:\n color: ['#c23531', '#2f4554', '#61a0a8', '#d48265', '#91c7ae', '#749f83', '#ca8622', '#bda29a', '#6e7074', '#546570', '#c4ccd3'],\n gradientColor: ['#f6efa6', '#d88273', '#bf444c'],\n // If xAxis and yAxis declared, grid is created by default.\n // grid: {},\n textStyle: {\n // color: '#000',\n // decoration: 'none',\n // PENDING\n fontFamily: platform.match(/^Win/) ? 'Microsoft YaHei' : 'sans-serif',\n // fontFamily: 'Arial, Verdana, sans-serif',\n fontSize: 12,\n fontStyle: 'normal',\n fontWeight: 'normal'\n },\n // http://blogs.adobe.com/webplatform/2014/02/24/using-blend-modes-in-html-canvas/\n // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation\n // Default is source-over\n blendMode: null,\n animation: 'auto',\n animationDuration: 1000,\n animationDurationUpdate: 300,\n animationEasing: 'exponentialOut',\n animationEasingUpdate: 'cubicOut',\n animationThreshold: 2000,\n // Configuration for progressive/incremental rendering\n progressiveThreshold: 3000,\n progressive: 400,\n // Threshold of if use single hover layer to optimize.\n // It is recommended that `hoverLayerThreshold` is equivalent to or less than\n // `progressiveThreshold`, otherwise hover will cause restart of progressive,\n // which is unexpected.\n // see example .\n hoverLayerThreshold: 3000,\n // See: module:echarts/scale/Time\n useUTC: false\n};\nmodule.exports = _default;","var env = require(\"../../core/env\");\n\n// Fix weird bug in some version of IE11 (like 11.0.9600.178**),\n// where exception \"unexpected call to method or property access\"\n// might be thrown when calling ctx.fill or ctx.stroke after a path\n// whose area size is zero is drawn and ctx.clip() is called and\n// shadowBlur is set. See #4572, #3112, #5777.\n// (e.g.,\n// ctx.moveTo(10, 10);\n// ctx.lineTo(20, 10);\n// ctx.closePath();\n// ctx.clip();\n// ctx.shadowBlur = 10;\n// ...\n// ctx.fill();\n// )\nvar shadowTemp = [['shadowBlur', 0], ['shadowColor', '#000'], ['shadowOffsetX', 0], ['shadowOffsetY', 0]];\n\nfunction _default(orignalBrush) {\n // version string can be: '11.0'\n return env.browser.ie && env.browser.version >= 11 ? function () {\n var clipPaths = this.__clipPaths;\n var style = this.style;\n var modified;\n\n if (clipPaths) {\n for (var i = 0; i < clipPaths.length; i++) {\n var clipPath = clipPaths[i];\n var shape = clipPath && clipPath.shape;\n var type = clipPath && clipPath.type;\n\n if (shape && (type === 'sector' && shape.startAngle === shape.endAngle || type === 'rect' && (!shape.width || !shape.height))) {\n for (var j = 0; j < shadowTemp.length; j++) {\n // It is save to put shadowTemp static, because shadowTemp\n // will be all modified each item brush called.\n shadowTemp[j][2] = style[shadowTemp[j][0]];\n style[shadowTemp[j][0]] = shadowTemp[j][1];\n }\n\n modified = true;\n break;\n }\n }\n }\n\n orignalBrush.apply(this, arguments);\n\n if (modified) {\n for (var j = 0; j < shadowTemp.length; j++) {\n style[shadowTemp[j][0]] = shadowTemp[j][2];\n }\n }\n } : orignalBrush;\n}\n\nmodule.exports = _default;","\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\nvar numberUtil = require(\"../util/number\");\n\nvar formatUtil = require(\"../util/format\");\n\nvar Scale = require(\"./Scale\");\n\nvar helper = require(\"./helper\");\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 * Interval scale\n * @module echarts/scale/Interval\n */\nvar roundNumber = numberUtil.round;\n/**\n * @alias module:echarts/coord/scale/Interval\n * @constructor\n */\n\nvar IntervalScale = Scale.extend({\n type: 'interval',\n _interval: 0,\n _intervalPrecision: 2,\n setExtent: function (start, end) {\n var thisExtent = this._extent; //start,end may be a Number like '25',so...\n\n if (!isNaN(start)) {\n thisExtent[0] = parseFloat(start);\n }\n\n if (!isNaN(end)) {\n thisExtent[1] = parseFloat(end);\n }\n },\n unionExtent: function (other) {\n var extent = this._extent;\n other[0] < extent[0] && (extent[0] = other[0]);\n other[1] > extent[1] && (extent[1] = other[1]); // unionExtent may called by it's sub classes\n\n IntervalScale.prototype.setExtent.call(this, extent[0], extent[1]);\n },\n\n /**\n * Get interval\n */\n getInterval: function () {\n return this._interval;\n },\n\n /**\n * Set interval\n */\n setInterval: function (interval) {\n this._interval = interval; // Dropped auto calculated niceExtent and use user setted extent\n // We assume user wan't to set both interval, min, max to get a better result\n\n this._niceExtent = this._extent.slice();\n this._intervalPrecision = helper.getIntervalPrecision(interval);\n },\n\n /**\n * @param {boolean} [expandToNicedExtent=false] If expand the ticks to niced extent.\n * @return {Array.}\n */\n getTicks: function (expandToNicedExtent) {\n var interval = this._interval;\n var extent = this._extent;\n var niceTickExtent = this._niceExtent;\n var intervalPrecision = this._intervalPrecision;\n var ticks = []; // If interval is 0, return [];\n\n if (!interval) {\n return ticks;\n } // Consider this case: using dataZoom toolbox, zoom and zoom.\n\n\n var safeLimit = 10000;\n\n if (extent[0] < niceTickExtent[0]) {\n if (expandToNicedExtent) {\n ticks.push(roundNumber(niceTickExtent[0] - interval, intervalPrecision));\n } else {\n ticks.push(extent[0]);\n }\n }\n\n var tick = niceTickExtent[0];\n\n while (tick <= niceTickExtent[1]) {\n ticks.push(tick); // Avoid rounding error\n\n tick = roundNumber(tick + interval, intervalPrecision);\n\n if (tick === ticks[ticks.length - 1]) {\n // Consider out of safe float point, e.g.,\n // -3711126.9907707 + 2e-10 === -3711126.9907707\n break;\n }\n\n if (ticks.length > safeLimit) {\n return [];\n }\n } // Consider this case: the last item of ticks is smaller\n // than niceTickExtent[1] and niceTickExtent[1] === extent[1].\n\n\n var lastNiceTick = ticks.length ? ticks[ticks.length - 1] : niceTickExtent[1];\n\n if (extent[1] > lastNiceTick) {\n if (expandToNicedExtent) {\n ticks.push(roundNumber(lastNiceTick + interval, intervalPrecision));\n } else {\n ticks.push(extent[1]);\n }\n }\n\n return ticks;\n },\n\n /**\n * @param {number} [splitNumber=5]\n * @return {Array.>}\n */\n getMinorTicks: function (splitNumber) {\n var ticks = this.getTicks(true);\n var minorTicks = [];\n var extent = this.getExtent();\n\n for (var i = 1; i < ticks.length; i++) {\n var nextTick = ticks[i];\n var prevTick = ticks[i - 1];\n var count = 0;\n var minorTicksGroup = [];\n var interval = nextTick - prevTick;\n var minorInterval = interval / splitNumber;\n\n while (count < splitNumber - 1) {\n var minorTick = numberUtil.round(prevTick + (count + 1) * minorInterval); // For the first and last interval. The count may be less than splitNumber.\n\n if (minorTick > extent[0] && minorTick < extent[1]) {\n minorTicksGroup.push(minorTick);\n }\n\n count++;\n }\n\n minorTicks.push(minorTicksGroup);\n }\n\n return minorTicks;\n },\n\n /**\n * @param {number} data\n * @param {Object} [opt]\n * @param {number|string} [opt.precision] If 'auto', use nice presision.\n * @param {boolean} [opt.pad] returns 1.50 but not 1.5 if precision is 2.\n * @return {string}\n */\n getLabel: function (data, opt) {\n if (data == null) {\n return '';\n }\n\n var precision = opt && opt.precision;\n\n if (precision == null) {\n precision = numberUtil.getPrecisionSafe(data) || 0;\n } else if (precision === 'auto') {\n // Should be more precise then tick.\n precision = this._intervalPrecision;\n } // (1) If `precision` is set, 12.005 should be display as '12.00500'.\n // (2) Use roundNumber (toFixed) to avoid scientific notation like '3.5e-7'.\n\n\n data = roundNumber(data, precision, true);\n return formatUtil.addCommas(data);\n },\n\n /**\n * Update interval and extent of intervals for nice ticks\n *\n * @param {number} [splitNumber = 5] Desired number of ticks\n * @param {number} [minInterval]\n * @param {number} [maxInterval]\n */\n niceTicks: function (splitNumber, minInterval, maxInterval) {\n splitNumber = splitNumber || 5;\n var extent = this._extent;\n var span = extent[1] - extent[0];\n\n if (!isFinite(span)) {\n return;\n } // User may set axis min 0 and data are all negative\n // FIXME If it needs to reverse ?\n\n\n if (span < 0) {\n span = -span;\n extent.reverse();\n }\n\n var result = helper.intervalScaleNiceTicks(extent, splitNumber, minInterval, maxInterval);\n this._intervalPrecision = result.intervalPrecision;\n this._interval = result.interval;\n this._niceExtent = result.niceTickExtent;\n },\n\n /**\n * Nice extent.\n * @param {Object} opt\n * @param {number} [opt.splitNumber = 5] Given approx tick number\n * @param {boolean} [opt.fixMin=false]\n * @param {boolean} [opt.fixMax=false]\n * @param {boolean} [opt.minInterval]\n * @param {boolean} [opt.maxInterval]\n */\n niceExtent: function (opt) {\n var extent = this._extent; // If extent start and end are same, expand them\n\n if (extent[0] === extent[1]) {\n if (extent[0] !== 0) {\n // Expand extent\n var expandSize = extent[0]; // In the fowllowing case\n // Axis has been fixed max 100\n // Plus data are all 100 and axis extent are [100, 100].\n // Extend to the both side will cause expanded max is larger than fixed max.\n // So only expand to the smaller side.\n\n if (!opt.fixMax) {\n extent[1] += expandSize / 2;\n extent[0] -= expandSize / 2;\n } else {\n extent[0] -= expandSize / 2;\n }\n } else {\n extent[1] = 1;\n }\n }\n\n var span = extent[1] - extent[0]; // If there are no data and extent are [Infinity, -Infinity]\n\n if (!isFinite(span)) {\n extent[0] = 0;\n extent[1] = 1;\n }\n\n this.niceTicks(opt.splitNumber, opt.minInterval, opt.maxInterval); // var extent = this._extent;\n\n var interval = this._interval;\n\n if (!opt.fixMin) {\n extent[0] = roundNumber(Math.floor(extent[0] / interval) * interval);\n }\n\n if (!opt.fixMax) {\n extent[1] = roundNumber(Math.ceil(extent[1] / interval) * interval);\n }\n }\n});\n/**\n * @return {module:echarts/scale/Time}\n */\n\nIntervalScale.create = function () {\n return new IntervalScale();\n};\n\nvar _default = IntervalScale;\nmodule.exports = _default;","!function(t,e){if(\"object\"==typeof exports&&\"object\"==typeof module)module.exports=e();else if(\"function\"==typeof define&&define.amd)define([],e);else{var n=e();for(var r in n)(\"object\"==typeof exports?exports:t)[r]=n[r]}}(window,function(){return function(n){var r={};function o(t){if(r[t])return r[t].exports;var e=r[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,o),e.l=!0,e.exports}return o.m=n,o.c=r,o.d=function(t,e,n){o.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},o.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var r in e)o.d(n,r,function(t){return e[t]}.bind(null,r));return n},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,\"a\",e),e},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o.p=\"/\",o(o.s=0)}({0:function(t,e,n){t.exports=n(\"tjUo\")},\"41pa\":function(t,e,n){\"use strict\";var r=n(\"lTJf\");n.n(r).a},\"9tPo\":function(t,e){t.exports=function(t){var e=\"undefined\"!=typeof window&&window.location;if(!e)throw new Error(\"fixUrls requires window.location\");if(!t||\"string\"!=typeof t)return t;var o=e.protocol+\"//\"+e.host,i=o+e.pathname.replace(/\\/[^\\/]*$/,\"/\");return t.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi,function(t,e){var n,r=e.trim().replace(/^\"(.*)\"$/,function(t,e){return e}).replace(/^'(.*)'$/,function(t,e){return e});return/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/|\\s*$)/i.test(r)?t:(n=0===r.indexOf(\"//\")?r:0===r.indexOf(\"/\")?o+r:i+r.replace(/^\\.\\//,\"\"),\"url(\"+JSON.stringify(n)+\")\")})}},DNSQ:function(t,e,n){\"use strict\";var r=n(\"XaJ2\");n.n(r).a},E2jh:function(t,e,n){\"use strict\";var r=n(\"cWAC\");n.n(r).a},EToE:function(t,e,n){\"use strict\";var r=n(\"x2y0\");n.n(r).a},JPst:function(t,e,n){\"use strict\";t.exports=function(n){var s=[];return s.toString=function(){return this.map(function(t){var e=function(t,e){var n=t[1]||\"\",r=t[3];if(!r)return n;if(e&&\"function\"==typeof btoa){var o=(s=r,\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(s))))+\" */\"),i=r.sources.map(function(t){return\"/*# sourceURL=\"+r.sourceRoot+t+\" */\"});return[n].concat(i).concat([o]).join(\"\\n\")}var s;return[n].join(\"\\n\")}(t,n);return t[2]?\"@media \"+t[2]+\"{\"+e+\"}\":e}).join(\"\")},s.i=function(t,e){\"string\"==typeof t&&(t=[[null,t,\"\"]]);for(var n={},r=0;r