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

1 line
26 KiB
JSON

{"ast":null,"code":"import \"core-js/modules/es.array.slice.js\";\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { subPixelOptimize } from '../../util/graphic.js';\nimport createRenderPlanner from '../helper/createRenderPlanner.js';\nimport { parsePercent } from '../../util/number.js';\nimport { map, retrieve2 } from 'zrender/lib/core/util.js';\nimport { createFloat32Array } from '../../util/vendor.js';\nvar candlestickLayout = {\n seriesType: 'candlestick',\n plan: createRenderPlanner(),\n reset: function reset(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 cDimI = data.getDimensionIndex(data.mapDimension(coordDims[cDimIdx]));\n var vDimsI = map(data.mapDimensionsAll(coordDims[vDimIdx]), data.getDimensionIndex, data);\n var openDimI = vDimsI[0];\n var closeDimI = vDimsI[1];\n var lowestDimI = vDimsI[2];\n var highestDimI = vDimsI[3];\n data.setLayout({\n candleWidth: candleWidth,\n // The value is experimented visually.\n isSimpleBox: candleWidth <= 1.3\n });\n\n if (cDimI < 0 || vDimsI.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 var store = data.getStore();\n\n while ((dataIndex = params.next()) != null) {\n var axisDimVal = store.get(cDimI, dataIndex);\n var openVal = store.get(openDimI, dataIndex);\n var closeVal = store.get(closeDimI, dataIndex);\n var lowestVal = store.get(lowestDimI, dataIndex);\n var highestVal = store.get(highestDimI, 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 var itemModel = data.getItemModel(dataIndex);\n var hasDojiColor = !!itemModel.get(['itemStyle', 'borderColorDoji']);\n data.setItemLayout(dataIndex, {\n sign: getSign(store, dataIndex, openVal, closeVal, closeDimI, hasDojiColor),\n initBaseline: openVal > closeVal ? ocHighPoint[vDimIdx] : ocLowPoint[vDimIdx],\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 = createFloat32Array(params.count * 4);\n var offset = 0;\n var point;\n var tmpIn = [];\n var tmpOut = [];\n var dataIndex;\n var store = data.getStore();\n var hasDojiColor = !!seriesModel.get(['itemStyle', 'borderColorDoji']);\n\n while ((dataIndex = params.next()) != null) {\n var axisDimVal = store.get(cDimI, dataIndex);\n var openVal = store.get(openDimI, dataIndex);\n var closeVal = store.get(closeDimI, dataIndex);\n var lowestVal = store.get(lowestDimI, dataIndex);\n var highestVal = store.get(highestDimI, 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(store, dataIndex, openVal, closeVal, closeDimI, hasDojiColor);\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/**\n * Get the sign of a single data.\n *\n * @returns 0 for doji with hasDojiColor: true,\n * 1 for positive,\n * -1 for negative.\n */\n\nfunction getSign(store, dataIndex, openVal, closeVal, closeDimI, hasDojiColor) {\n var sign;\n\n if (openVal > closeVal) {\n sign = -1;\n } else if (openVal < closeVal) {\n sign = 1;\n } else {\n sign = hasDojiColor // When doji color is set, use it instead of color/color0.\n ? 0 : dataIndex > 0 // If close === open, compare with close of last record\n ? store.get(closeDimI, 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\nexport default candlestickLayout;","map":{"version":3,"sources":["D:/Work/WorkSpace/GitWorkSpace/TenShop/resource/ElectronicMall/src啊/ElectronicMallVue/node_modules/echarts/lib/chart/candlestick/candlestickLayout.js"],"names":["subPixelOptimize","createRenderPlanner","parsePercent","map","retrieve2","createFloat32Array","candlestickLayout","seriesType","plan","reset","seriesModel","coordSys","coordinateSystem","data","getData","candleWidth","calculateCandleWidth","cDimIdx","vDimIdx","coordDims","cDimI","getDimensionIndex","mapDimension","vDimsI","mapDimensionsAll","openDimI","closeDimI","lowestDimI","highestDimI","setLayout","isSimpleBox","length","progress","pipelineContext","large","largeProgress","normalProgress","params","dataIndex","store","getStore","next","axisDimVal","get","openVal","closeVal","lowestVal","highestVal","ocLow","Math","min","ocHigh","max","ocLowPoint","getPoint","ocHighPoint","lowestPoint","highestPoint","ends","addBodyEnd","push","subPixelOptimizePoint","itemModel","getItemModel","hasDojiColor","setItemLayout","sign","getSign","initBaseline","brushRect","makeBrushRect","val","p","isNaN","NaN","dataToPoint","point","start","point1","slice","point2","pmin","pmax","x","y","width","height","points","count","offset","tmpIn","tmpOut","baseAxis","getBaseAxis","extent","bandWidth","type","getBandWidth","getExtent","abs","barMaxWidth","barMinWidth","barWidth"],"mappings":"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","sourcesContent":["\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\nimport { subPixelOptimize } from '../../util/graphic.js';\nimport createRenderPlanner from '../helper/createRenderPlanner.js';\nimport { parsePercent } from '../../util/number.js';\nimport { map, retrieve2 } from 'zrender/lib/core/util.js';\nimport { createFloat32Array } from '../../util/vendor.js';\nvar candlestickLayout = {\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 cDimI = data.getDimensionIndex(data.mapDimension(coordDims[cDimIdx]));\n var vDimsI = map(data.mapDimensionsAll(coordDims[vDimIdx]), data.getDimensionIndex, data);\n var openDimI = vDimsI[0];\n var closeDimI = vDimsI[1];\n var lowestDimI = vDimsI[2];\n var highestDimI = vDimsI[3];\n data.setLayout({\n candleWidth: candleWidth,\n // The value is experimented visually.\n isSimpleBox: candleWidth <= 1.3\n });\n\n if (cDimI < 0 || vDimsI.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 var store = data.getStore();\n\n while ((dataIndex = params.next()) != null) {\n var axisDimVal = store.get(cDimI, dataIndex);\n var openVal = store.get(openDimI, dataIndex);\n var closeVal = store.get(closeDimI, dataIndex);\n var lowestVal = store.get(lowestDimI, dataIndex);\n var highestVal = store.get(highestDimI, 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 var itemModel = data.getItemModel(dataIndex);\n var hasDojiColor = !!itemModel.get(['itemStyle', 'borderColorDoji']);\n data.setItemLayout(dataIndex, {\n sign: getSign(store, dataIndex, openVal, closeVal, closeDimI, hasDojiColor),\n initBaseline: openVal > closeVal ? ocHighPoint[vDimIdx] : ocLowPoint[vDimIdx],\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 = createFloat32Array(params.count * 4);\n var offset = 0;\n var point;\n var tmpIn = [];\n var tmpOut = [];\n var dataIndex;\n var store = data.getStore();\n var hasDojiColor = !!seriesModel.get(['itemStyle', 'borderColorDoji']);\n\n while ((dataIndex = params.next()) != null) {\n var axisDimVal = store.get(cDimI, dataIndex);\n var openVal = store.get(openDimI, dataIndex);\n var closeVal = store.get(closeDimI, dataIndex);\n var lowestVal = store.get(lowestDimI, dataIndex);\n var highestVal = store.get(highestDimI, 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(store, dataIndex, openVal, closeVal, closeDimI, hasDojiColor);\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/**\n * Get the sign of a single data.\n *\n * @returns 0 for doji with hasDojiColor: true,\n * 1 for positive,\n * -1 for negative.\n */\n\nfunction getSign(store, dataIndex, openVal, closeVal, closeDimI, hasDojiColor) {\n var sign;\n\n if (openVal > closeVal) {\n sign = -1;\n } else if (openVal < closeVal) {\n sign = 1;\n } else {\n sign = hasDojiColor // When doji color is set, use it instead of color/color0.\n ? 0 : dataIndex > 0 // If close === open, compare with close of last record\n ? store.get(closeDimI, 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\nexport default candlestickLayout;"]},"metadata":{},"sourceType":"module"}