1 line
22 KiB
JSON
1 line
22 KiB
JSON
{"ast":null,"code":"/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 { __extends } from \"tslib\";\n/**\n * Linear continuous scale\n * http://en.wikipedia.org/wiki/Level_of_measurement\n */\n// FIXME only one data\n\nimport Scale from './Scale.js';\nimport OrdinalMeta from '../data/OrdinalMeta.js';\nimport * as scaleHelper from './helper.js';\nimport { isArray, map, isObject, isString } from 'zrender/lib/core/util.js';\n\nvar OrdinalScale =\n/** @class */\nfunction (_super) {\n __extends(OrdinalScale, _super);\n\n function OrdinalScale(setting) {\n var _this = _super.call(this, setting) || this;\n\n _this.type = 'ordinal';\n\n var ordinalMeta = _this.getSetting('ordinalMeta'); // Caution: Should not use instanceof, consider ec-extensions using\n // import approach to get OrdinalMeta class.\n\n\n if (!ordinalMeta) {\n ordinalMeta = new OrdinalMeta({});\n }\n\n if (isArray(ordinalMeta)) {\n ordinalMeta = new OrdinalMeta({\n categories: map(ordinalMeta, function (item) {\n return isObject(item) ? item.value : item;\n })\n });\n }\n\n _this._ordinalMeta = ordinalMeta;\n _this._extent = _this.getSetting('extent') || [0, ordinalMeta.categories.length - 1];\n return _this;\n }\n\n OrdinalScale.prototype.parse = function (val) {\n // Caution: Math.round(null) will return `0` rather than `NaN`\n if (val == null) {\n return NaN;\n }\n\n return isString(val) ? this._ordinalMeta.getOrdinal(val) // val might be float.\n : Math.round(val);\n };\n\n OrdinalScale.prototype.contain = function (rank) {\n rank = this.parse(rank);\n return scaleHelper.contain(rank, this._extent) && this._ordinalMeta.categories[rank] != null;\n };\n /**\n * Normalize given rank or name to linear [0, 1]\n * @param val raw ordinal number.\n * @return normalized value in [0, 1].\n */\n\n\n OrdinalScale.prototype.normalize = function (val) {\n val = this._getTickNumber(this.parse(val));\n return scaleHelper.normalize(val, this._extent);\n };\n /**\n * @param val normalized value in [0, 1].\n * @return raw ordinal number.\n */\n\n\n OrdinalScale.prototype.scale = function (val) {\n val = Math.round(scaleHelper.scale(val, this._extent));\n return this.getRawOrdinalNumber(val);\n };\n\n OrdinalScale.prototype.getTicks = function () {\n var ticks = [];\n var extent = this._extent;\n var rank = extent[0];\n\n while (rank <= extent[1]) {\n ticks.push({\n value: rank\n });\n rank++;\n }\n\n return ticks;\n };\n\n OrdinalScale.prototype.getMinorTicks = function (splitNumber) {\n // Not support.\n return;\n };\n /**\n * @see `Ordinal['_ordinalNumbersByTick']`\n */\n\n\n OrdinalScale.prototype.setSortInfo = function (info) {\n if (info == null) {\n this._ordinalNumbersByTick = this._ticksByOrdinalNumber = null;\n return;\n }\n\n var infoOrdinalNumbers = info.ordinalNumbers;\n var ordinalsByTick = this._ordinalNumbersByTick = [];\n var ticksByOrdinal = this._ticksByOrdinalNumber = []; // Unnecessary support negative tick in `realtimeSort`.\n\n var tickNum = 0;\n var allCategoryLen = this._ordinalMeta.categories.length;\n\n for (var len = Math.min(allCategoryLen, infoOrdinalNumbers.length); tickNum < len; ++tickNum) {\n var ordinalNumber = infoOrdinalNumbers[tickNum];\n ordinalsByTick[tickNum] = ordinalNumber;\n ticksByOrdinal[ordinalNumber] = tickNum;\n } // Handle that `series.data` only covers part of the `axis.category.data`.\n\n\n var unusedOrdinal = 0;\n\n for (; tickNum < allCategoryLen; ++tickNum) {\n while (ticksByOrdinal[unusedOrdinal] != null) {\n unusedOrdinal++;\n }\n\n ;\n ordinalsByTick.push(unusedOrdinal);\n ticksByOrdinal[unusedOrdinal] = tickNum;\n }\n };\n\n OrdinalScale.prototype._getTickNumber = function (ordinal) {\n var ticksByOrdinalNumber = this._ticksByOrdinalNumber; // also support ordinal out of range of `ordinalMeta.categories.length`,\n // where ordinal numbers are used as tick value directly.\n\n return ticksByOrdinalNumber && ordinal >= 0 && ordinal < ticksByOrdinalNumber.length ? ticksByOrdinalNumber[ordinal] : ordinal;\n };\n /**\n * @usage\n * ```js\n * const ordinalNumber = ordinalScale.getRawOrdinalNumber(tickVal);\n *\n * // case0\n * const rawOrdinalValue = axisModel.getCategories()[ordinalNumber];\n * // case1\n * const rawOrdinalValue = this._ordinalMeta.categories[ordinalNumber];\n * // case2\n * const coord = axis.dataToCoord(ordinalNumber);\n * ```\n *\n * @param {OrdinalNumber} tickNumber index of display\n */\n\n\n OrdinalScale.prototype.getRawOrdinalNumber = function (tickNumber) {\n var ordinalNumbersByTick = this._ordinalNumbersByTick; // tickNumber may be out of range, e.g., when axis max is larger than `ordinalMeta.categories.length`.,\n // where ordinal numbers are used as tick value directly.\n\n return ordinalNumbersByTick && tickNumber >= 0 && tickNumber < ordinalNumbersByTick.length ? ordinalNumbersByTick[tickNumber] : tickNumber;\n };\n /**\n * Get item on tick\n */\n\n\n OrdinalScale.prototype.getLabel = function (tick) {\n if (!this.isBlank()) {\n var ordinalNumber = this.getRawOrdinalNumber(tick.value);\n var cateogry = this._ordinalMeta.categories[ordinalNumber]; // Note that if no data, ordinalMeta.categories is an empty array.\n // Return empty if it's not exist.\n\n return cateogry == null ? '' : cateogry + '';\n }\n };\n\n OrdinalScale.prototype.count = function () {\n return this._extent[1] - this._extent[0] + 1;\n };\n\n OrdinalScale.prototype.unionExtentFromData = function (data, dim) {\n this.unionExtent(data.getApproximateExtent(dim));\n };\n /**\n * @override\n * If value is in extent range\n */\n\n\n OrdinalScale.prototype.isInExtentRange = function (value) {\n value = this._getTickNumber(value);\n return this._extent[0] <= value && this._extent[1] >= value;\n };\n\n OrdinalScale.prototype.getOrdinalMeta = function () {\n return this._ordinalMeta;\n };\n\n OrdinalScale.prototype.calcNiceTicks = function () {};\n\n OrdinalScale.prototype.calcNiceExtent = function () {};\n\n OrdinalScale.type = 'ordinal';\n return OrdinalScale;\n}(Scale);\n\nScale.registerClass(OrdinalScale);\nexport default OrdinalScale;","map":{"version":3,"sources":["D:/Work/WorkSpace/GitWorkSpace/TenShop/resource/ElectronicMall/src啊/ElectronicMallVue/node_modules/echarts/lib/scale/Ordinal.js"],"names":["__extends","Scale","OrdinalMeta","scaleHelper","isArray","map","isObject","isString","OrdinalScale","_super","setting","_this","call","type","ordinalMeta","getSetting","categories","item","value","_ordinalMeta","_extent","length","prototype","parse","val","NaN","getOrdinal","Math","round","contain","rank","normalize","_getTickNumber","scale","getRawOrdinalNumber","getTicks","ticks","extent","push","getMinorTicks","splitNumber","setSortInfo","info","_ordinalNumbersByTick","_ticksByOrdinalNumber","infoOrdinalNumbers","ordinalNumbers","ordinalsByTick","ticksByOrdinal","tickNum","allCategoryLen","len","min","ordinalNumber","unusedOrdinal","ordinal","ticksByOrdinalNumber","tickNumber","ordinalNumbersByTick","getLabel","tick","isBlank","cateogry","count","unionExtentFromData","data","dim","unionExtent","getApproximateExtent","isInExtentRange","getOrdinalMeta","calcNiceTicks","calcNiceExtent","registerClass"],"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 { __extends } from \"tslib\";\n/**\n * Linear continuous scale\n * http://en.wikipedia.org/wiki/Level_of_measurement\n */\n// FIXME only one data\n\nimport Scale from './Scale.js';\nimport OrdinalMeta from '../data/OrdinalMeta.js';\nimport * as scaleHelper from './helper.js';\nimport { isArray, map, isObject, isString } from 'zrender/lib/core/util.js';\n\nvar OrdinalScale =\n/** @class */\nfunction (_super) {\n __extends(OrdinalScale, _super);\n\n function OrdinalScale(setting) {\n var _this = _super.call(this, setting) || this;\n\n _this.type = 'ordinal';\n\n var ordinalMeta = _this.getSetting('ordinalMeta'); // Caution: Should not use instanceof, consider ec-extensions using\n // import approach to get OrdinalMeta class.\n\n\n if (!ordinalMeta) {\n ordinalMeta = new OrdinalMeta({});\n }\n\n if (isArray(ordinalMeta)) {\n ordinalMeta = new OrdinalMeta({\n categories: map(ordinalMeta, function (item) {\n return isObject(item) ? item.value : item;\n })\n });\n }\n\n _this._ordinalMeta = ordinalMeta;\n _this._extent = _this.getSetting('extent') || [0, ordinalMeta.categories.length - 1];\n return _this;\n }\n\n OrdinalScale.prototype.parse = function (val) {\n // Caution: Math.round(null) will return `0` rather than `NaN`\n if (val == null) {\n return NaN;\n }\n\n return isString(val) ? this._ordinalMeta.getOrdinal(val) // val might be float.\n : Math.round(val);\n };\n\n OrdinalScale.prototype.contain = function (rank) {\n rank = this.parse(rank);\n return scaleHelper.contain(rank, this._extent) && this._ordinalMeta.categories[rank] != null;\n };\n /**\n * Normalize given rank or name to linear [0, 1]\n * @param val raw ordinal number.\n * @return normalized value in [0, 1].\n */\n\n\n OrdinalScale.prototype.normalize = function (val) {\n val = this._getTickNumber(this.parse(val));\n return scaleHelper.normalize(val, this._extent);\n };\n /**\n * @param val normalized value in [0, 1].\n * @return raw ordinal number.\n */\n\n\n OrdinalScale.prototype.scale = function (val) {\n val = Math.round(scaleHelper.scale(val, this._extent));\n return this.getRawOrdinalNumber(val);\n };\n\n OrdinalScale.prototype.getTicks = function () {\n var ticks = [];\n var extent = this._extent;\n var rank = extent[0];\n\n while (rank <= extent[1]) {\n ticks.push({\n value: rank\n });\n rank++;\n }\n\n return ticks;\n };\n\n OrdinalScale.prototype.getMinorTicks = function (splitNumber) {\n // Not support.\n return;\n };\n /**\n * @see `Ordinal['_ordinalNumbersByTick']`\n */\n\n\n OrdinalScale.prototype.setSortInfo = function (info) {\n if (info == null) {\n this._ordinalNumbersByTick = this._ticksByOrdinalNumber = null;\n return;\n }\n\n var infoOrdinalNumbers = info.ordinalNumbers;\n var ordinalsByTick = this._ordinalNumbersByTick = [];\n var ticksByOrdinal = this._ticksByOrdinalNumber = []; // Unnecessary support negative tick in `realtimeSort`.\n\n var tickNum = 0;\n var allCategoryLen = this._ordinalMeta.categories.length;\n\n for (var len = Math.min(allCategoryLen, infoOrdinalNumbers.length); tickNum < len; ++tickNum) {\n var ordinalNumber = infoOrdinalNumbers[tickNum];\n ordinalsByTick[tickNum] = ordinalNumber;\n ticksByOrdinal[ordinalNumber] = tickNum;\n } // Handle that `series.data` only covers part of the `axis.category.data`.\n\n\n var unusedOrdinal = 0;\n\n for (; tickNum < allCategoryLen; ++tickNum) {\n while (ticksByOrdinal[unusedOrdinal] != null) {\n unusedOrdinal++;\n }\n\n ;\n ordinalsByTick.push(unusedOrdinal);\n ticksByOrdinal[unusedOrdinal] = tickNum;\n }\n };\n\n OrdinalScale.prototype._getTickNumber = function (ordinal) {\n var ticksByOrdinalNumber = this._ticksByOrdinalNumber; // also support ordinal out of range of `ordinalMeta.categories.length`,\n // where ordinal numbers are used as tick value directly.\n\n return ticksByOrdinalNumber && ordinal >= 0 && ordinal < ticksByOrdinalNumber.length ? ticksByOrdinalNumber[ordinal] : ordinal;\n };\n /**\n * @usage\n * ```js\n * const ordinalNumber = ordinalScale.getRawOrdinalNumber(tickVal);\n *\n * // case0\n * const rawOrdinalValue = axisModel.getCategories()[ordinalNumber];\n * // case1\n * const rawOrdinalValue = this._ordinalMeta.categories[ordinalNumber];\n * // case2\n * const coord = axis.dataToCoord(ordinalNumber);\n * ```\n *\n * @param {OrdinalNumber} tickNumber index of display\n */\n\n\n OrdinalScale.prototype.getRawOrdinalNumber = function (tickNumber) {\n var ordinalNumbersByTick = this._ordinalNumbersByTick; // tickNumber may be out of range, e.g., when axis max is larger than `ordinalMeta.categories.length`.,\n // where ordinal numbers are used as tick value directly.\n\n return ordinalNumbersByTick && tickNumber >= 0 && tickNumber < ordinalNumbersByTick.length ? ordinalNumbersByTick[tickNumber] : tickNumber;\n };\n /**\n * Get item on tick\n */\n\n\n OrdinalScale.prototype.getLabel = function (tick) {\n if (!this.isBlank()) {\n var ordinalNumber = this.getRawOrdinalNumber(tick.value);\n var cateogry = this._ordinalMeta.categories[ordinalNumber]; // Note that if no data, ordinalMeta.categories is an empty array.\n // Return empty if it's not exist.\n\n return cateogry == null ? '' : cateogry + '';\n }\n };\n\n OrdinalScale.prototype.count = function () {\n return this._extent[1] - this._extent[0] + 1;\n };\n\n OrdinalScale.prototype.unionExtentFromData = function (data, dim) {\n this.unionExtent(data.getApproximateExtent(dim));\n };\n /**\n * @override\n * If value is in extent range\n */\n\n\n OrdinalScale.prototype.isInExtentRange = function (value) {\n value = this._getTickNumber(value);\n return this._extent[0] <= value && this._extent[1] >= value;\n };\n\n OrdinalScale.prototype.getOrdinalMeta = function () {\n return this._ordinalMeta;\n };\n\n OrdinalScale.prototype.calcNiceTicks = function () {};\n\n OrdinalScale.prototype.calcNiceExtent = function () {};\n\n OrdinalScale.type = 'ordinal';\n return OrdinalScale;\n}(Scale);\n\nScale.registerClass(OrdinalScale);\nexport default OrdinalScale;"]},"metadata":{},"sourceType":"module"} |