| /* |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| */ |
| |
| |
| import SeriesDimensionDefine from '@/src/data/SeriesDimensionDefine'; |
| import createDimensions from '@/src/data/helper/createDimensions'; |
| import { createSource } from '@/src/data/Source'; |
| import { SOURCE_FORMAT_ARRAY_ROWS, SOURCE_LAYOUT_BY_COLUMN } from '@/src/util/types'; |
| |
| type ParametersOfCreateDimensions = Parameters<typeof createDimensions>; |
| |
| describe('createDimensions', function () { |
| |
| function doCreateDimensions( |
| source: ParametersOfCreateDimensions[0], |
| opt: ParametersOfCreateDimensions[1] |
| ): SeriesDimensionDefine[] { |
| const result = createDimensions(source, opt); |
| for (let i = 0; i < result.dimensions.length; i++) { |
| const item = result.dimensions[i]; |
| if (item && item.hasOwnProperty('dimsDef') && (item as any).dimsDef == null) { |
| delete (item as any).dimsDef; |
| } |
| } |
| return result.dimensions; |
| } |
| |
| it('namesMoreThanDimCount', function () { |
| const sysDims = [ |
| { |
| 'name': 'x', |
| 'type': 'ordinal' as const, |
| 'otherDims': { |
| 'tooltip': false as const, |
| 'itemName': 0 |
| }, |
| 'dimsDef': [ |
| 'base' |
| ] |
| }, |
| { |
| 'name': 'y', |
| 'type': 'float' as const, |
| 'dimsDef': [ |
| 'open', |
| 'close', |
| 'lowest', |
| 'highest' |
| ] |
| } |
| ]; |
| |
| const source = createSource( |
| [ |
| [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] |
| ], |
| { |
| sourceLayout: SOURCE_LAYOUT_BY_COLUMN, |
| sourceHeader: 0, |
| dimensions: void 0 |
| }, |
| SOURCE_FORMAT_ARRAY_ROWS |
| ); |
| |
| const opt = { |
| 'coordDimensions': sysDims, |
| 'dimensionsDefine': [ |
| { |
| 'name': 'date', |
| 'displayName': 'date' |
| }, |
| { |
| 'name': 'open', |
| 'displayName': 'open' |
| }, |
| { |
| 'name': 'high', |
| 'displayName': 'high' |
| }, |
| { |
| 'name': 'low', |
| 'displayName': 'low' |
| }, |
| { |
| 'name': 'close', |
| 'displayName': 'close' |
| }, |
| { |
| 'name': 'volume', |
| 'displayName': 'volume' |
| }, |
| { |
| 'name': 'haOpen', |
| 'displayName': 'haOpen' |
| }, |
| { |
| 'name': 'haHigh', |
| 'displayName': 'haHigh' |
| }, |
| { |
| 'name': 'haLow', |
| 'displayName': 'haLow' |
| }, |
| { |
| 'name': 'haClose', |
| 'displayName': 'haClose' |
| }, |
| { |
| 'name': 'sma9', |
| 'displayName': 'sma9' |
| } |
| ], |
| 'encodeDefine': { |
| 'x': 'date', |
| 'y': [ |
| 'haOpen', |
| 'haClose', |
| 'haLow', |
| 'haHigh' |
| ], |
| 'tooltip': [ |
| 'open', |
| 'high', |
| 'low', |
| 'close' |
| ] |
| }, |
| 'dimensionsCount': 5 |
| }; |
| |
| const result: SeriesDimensionDefine[] = [ |
| { |
| 'otherDims': { |
| 'tooltip': false, |
| 'itemName': 0 |
| }, |
| 'displayName': 'date', |
| 'name': 'date', |
| 'coordDim': 'x', |
| 'coordDimIndex': 0, |
| 'type': 'ordinal', |
| 'storeDimIndex': 0 |
| }, |
| { |
| 'otherDims': { |
| 'tooltip': 0 |
| }, |
| 'displayName': 'open', |
| 'name': 'open', |
| 'coordDim': 'value', |
| 'coordDimIndex': 0, |
| 'isExtraCoord': true, |
| 'storeDimIndex': 1 |
| }, |
| { |
| 'otherDims': { |
| 'tooltip': 1 |
| }, |
| 'displayName': 'high', |
| 'name': 'high', |
| 'coordDim': 'value0', |
| 'coordDimIndex': 0, |
| 'isExtraCoord': true, |
| 'storeDimIndex': 2 |
| }, |
| { |
| 'otherDims': { |
| 'tooltip': 2 |
| }, |
| 'displayName': 'low', |
| 'name': 'low', |
| 'coordDim': 'value1', |
| 'coordDimIndex': 0, |
| 'isExtraCoord': true, |
| 'storeDimIndex': 3 |
| }, |
| { |
| 'otherDims': { |
| 'tooltip': 3 |
| }, |
| 'displayName': 'close', |
| 'name': 'close', |
| 'coordDim': 'value2', |
| 'coordDimIndex': 0, |
| 'isExtraCoord': true, |
| 'storeDimIndex': 4 |
| }, |
| { |
| 'otherDims': {}, |
| 'displayName': 'volume', |
| 'name': 'volume', |
| 'coordDim': 'value3', |
| 'coordDimIndex': 0, |
| 'isExtraCoord': true, |
| 'storeDimIndex': 5 |
| }, |
| { |
| 'otherDims': {}, |
| 'displayName': 'haOpen', |
| 'name': 'haOpen', |
| 'coordDim': 'y', |
| 'coordDimIndex': 0, |
| 'type': 'float', |
| 'storeDimIndex': 6 |
| }, |
| { |
| 'otherDims': {}, |
| 'displayName': 'haHigh', |
| 'name': 'haHigh', |
| 'coordDim': 'y', |
| 'coordDimIndex': 3, |
| 'type': 'float', |
| 'storeDimIndex': 7 |
| }, |
| { |
| 'otherDims': {}, |
| 'displayName': 'haLow', |
| 'name': 'haLow', |
| 'coordDim': 'y', |
| 'coordDimIndex': 2, |
| 'type': 'float', |
| 'storeDimIndex': 8 |
| }, |
| { |
| 'otherDims': {}, |
| 'displayName': 'haClose', |
| 'name': 'haClose', |
| 'coordDim': 'y', |
| 'coordDimIndex': 1, |
| 'type': 'float', |
| 'storeDimIndex': 9 |
| }, |
| { |
| 'otherDims': {}, |
| 'displayName': 'sma9', |
| 'name': 'sma9', |
| 'coordDim': 'value4', |
| 'coordDimIndex': 0, |
| 'isExtraCoord': true, |
| 'storeDimIndex': 10 |
| } |
| ]; |
| |
| expect(doCreateDimensions(source, opt)).toEqual(result.map(a => new SeriesDimensionDefine(a))); |
| }); |
| |
| |
| it('differentData', function () { |
| function doTest( |
| source: ParametersOfCreateDimensions[0], |
| opt: ParametersOfCreateDimensions[1], |
| result: SeriesDimensionDefine[] |
| ) { |
| expect(doCreateDimensions(source, opt)).toEqual(result.map(a => new SeriesDimensionDefine(a))); |
| } |
| |
| // test dimcount |
| doTest([], { coordDimensions: ['x', 'y']}, [ |
| { |
| 'otherDims': {}, |
| 'coordDim': 'x', |
| 'coordDimIndex': 0, |
| 'name': 'x', |
| 'storeDimIndex': 0 |
| }, |
| { |
| 'otherDims': {}, |
| 'coordDim': 'y', |
| 'coordDimIndex': 0, |
| 'name': 'y', |
| 'storeDimIndex': 1 |
| } |
| ]); |
| |
| doTest([12], { coordDimensions: ['x', 'y']}, [ |
| { |
| 'otherDims': {}, |
| 'coordDim': 'x', |
| 'coordDimIndex': 0, |
| 'name': 'x', |
| 'storeDimIndex': 0 |
| }, |
| { |
| 'otherDims': {}, |
| 'coordDim': 'y', |
| 'coordDimIndex': 0, |
| 'name': 'y', |
| 'storeDimIndex': 1 |
| } |
| ]); |
| |
| doTest([12, 4], { coordDimensions: ['x', 'y']}, [ |
| { |
| 'otherDims': {}, |
| 'coordDim': 'x', |
| 'coordDimIndex': 0, |
| 'name': 'x', |
| 'storeDimIndex': 0 |
| }, |
| { |
| 'otherDims': {}, |
| 'coordDim': 'y', |
| 'coordDimIndex': 0, |
| 'name': 'y', |
| 'storeDimIndex': 1 |
| } |
| ]); |
| |
| doTest([[32, 55]], { coordDimensions: ['x']}, [ |
| { |
| 'otherDims': {}, |
| 'coordDim': 'x', |
| 'coordDimIndex': 0, |
| 'name': 'x', |
| 'storeDimIndex': 0 |
| } |
| ]); |
| |
| doTest([[32, 55]], { coordDimensions: ['x', 'y', 'z']}, [ |
| { |
| 'otherDims': {}, |
| 'coordDim': 'x', |
| 'coordDimIndex': 0, |
| 'name': 'x', |
| 'storeDimIndex': 0 |
| }, |
| { |
| 'otherDims': {}, |
| 'coordDim': 'y', |
| 'coordDimIndex': 0, |
| 'name': 'y', |
| 'storeDimIndex': 1 |
| }, |
| { |
| 'otherDims': {}, |
| 'coordDim': 'z', |
| 'coordDimIndex': 0, |
| 'name': 'z', |
| 'storeDimIndex': 2 |
| } |
| ]); |
| |
| doTest([[32, 55], [99, 11]], { coordDimensions: ['x']}, [ |
| { |
| 'otherDims': {}, |
| 'coordDim': 'x', |
| 'coordDimIndex': 0, |
| 'name': 'x', |
| 'storeDimIndex': 0 |
| } |
| ]); |
| |
| doTest([[32, 55], [99, 11]], { |
| dimensionsCount: 4, |
| coordDimensions: ['x', 'y'] |
| }, [ |
| { |
| 'otherDims': {}, |
| 'coordDim': 'x', |
| 'coordDimIndex': 0, |
| 'name': 'x', |
| 'storeDimIndex': 0 |
| }, |
| { |
| 'otherDims': {}, |
| 'coordDim': 'y', |
| 'coordDimIndex': 0, |
| 'name': 'y', |
| 'storeDimIndex': 1 |
| }, |
| { |
| 'otherDims': {}, |
| 'coordDim': 'value', |
| 'coordDimIndex': 0, |
| 'isExtraCoord': true, |
| 'name': 'value', |
| 'storeDimIndex': 2 |
| }, |
| { |
| 'otherDims': {}, |
| 'coordDim': 'value0', |
| 'coordDimIndex': 0, |
| 'isExtraCoord': true, |
| 'name': 'value0', |
| 'storeDimIndex': 3 |
| } |
| ]); |
| }); |
| |
| |
| |
| |
| |
| |
| |
| |
| it('differentSysDims', function () { |
| function doTest( |
| source: ParametersOfCreateDimensions[0], |
| opt: ParametersOfCreateDimensions[1], |
| result: SeriesDimensionDefine[] |
| ) { |
| expect(doCreateDimensions(source, opt)).toEqual(result.map(a => new SeriesDimensionDefine(a))); |
| } |
| |
| const data = [ |
| ['iw', 332, 4434, 323, 59], |
| ['vrr', 44, 11, 144, 55] |
| ]; |
| |
| doTest( |
| data, { coordDimensions: ['x', 'y'] }, |
| [ |
| { |
| 'otherDims': {}, |
| 'coordDim': 'x', |
| 'coordDimIndex': 0, |
| 'name': 'x', |
| 'type': 'ordinal', |
| 'storeDimIndex': 0 |
| }, |
| { |
| 'otherDims': {}, |
| 'coordDim': 'y', |
| 'coordDimIndex': 0, |
| 'name': 'y', |
| 'storeDimIndex': 1 |
| } |
| ] |
| ); |
| |
| doTest( |
| data, { coordDimensions: ['value'] }, |
| [ |
| { |
| 'otherDims': {}, |
| 'coordDim': 'value', |
| 'coordDimIndex': 0, |
| 'name': 'value', |
| 'type': 'ordinal', |
| 'storeDimIndex': 0 |
| } |
| ] |
| ); |
| |
| doTest( |
| data, |
| { coordDimensions: [{name: 'time', type: 'time' as const}, 'value'] }, |
| [ |
| { |
| 'otherDims': {}, |
| 'name': 'time', |
| 'type': 'time', |
| 'coordDimIndex': 0, |
| 'ordinalMeta': undefined, |
| 'coordDim': 'time', |
| 'storeDimIndex': 0 |
| }, |
| { |
| 'otherDims': {}, |
| 'coordDim': 'value', |
| 'coordDimIndex': 0, |
| 'name': 'value', |
| 'storeDimIndex': 1 |
| } |
| ] |
| ); |
| |
| doTest( |
| data, { |
| coordDimensions: [{ |
| name: 'y', |
| otherDims: { |
| tooltip: false |
| }, |
| dimsDef: ['base'] |
| }, { |
| name: 'x', |
| dimsDef: ['open', 'close'] |
| }] |
| }, |
| [ |
| { |
| 'otherDims': { |
| 'tooltip': false |
| }, |
| 'name': 'base', |
| 'defaultTooltip': undefined, |
| 'coordDimIndex': 0, |
| 'coordDim': 'y', |
| 'type': 'ordinal', |
| 'displayName': 'base', |
| 'ordinalMeta': undefined, |
| 'storeDimIndex': 0 |
| }, |
| { |
| 'otherDims': {}, |
| 'name': 'open', |
| 'ordinalMeta': undefined, |
| 'defaultTooltip': undefined, |
| 'coordDimIndex': 0, |
| 'coordDim': 'x', |
| 'displayName': 'open', |
| 'storeDimIndex': 1 |
| } |
| ] |
| ); |
| |
| doTest( |
| data, { |
| dimensionsDefine: ['基础', '打开', '关闭'], |
| coordDimensions: [{ |
| name: 'y', |
| otherDims: { |
| tooltip: false |
| }, |
| dimsDef: ['base'] |
| }, { |
| name: 'x', |
| dimsDef: ['open', 'close'] |
| }], |
| encodeDefine: { |
| tooltip: [1, 2, 0] |
| } |
| }, |
| [ |
| { |
| 'otherDims': { |
| 'tooltip': 2 |
| }, |
| 'name': '基础', |
| 'displayName': '基础', |
| 'ordinalMeta': undefined, |
| 'coordDimIndex': 0, |
| 'coordDim': 'y', |
| 'type': 'ordinal', |
| 'storeDimIndex': 0 |
| }, |
| { |
| 'otherDims': { |
| 'tooltip': 0 |
| }, |
| 'name': '打开', |
| 'displayName': '打开', |
| 'coordDimIndex': 0, |
| 'ordinalMeta': undefined, |
| 'coordDim': 'x', |
| 'storeDimIndex': 1 |
| }, |
| { |
| 'otherDims': { |
| 'tooltip': 1 |
| }, |
| 'name': '关闭', |
| 'displayName': '关闭', |
| 'ordinalMeta': undefined, |
| 'coordDimIndex': 1, |
| 'coordDim': 'x', |
| 'storeDimIndex': 2 |
| } |
| ] |
| ); |
| |
| doTest( |
| data, { |
| coordDimensions: [{ |
| name: 'y', |
| otherDims: { |
| tooltip: false |
| }, |
| dimsDef: ['base'] |
| }, { |
| name: 'x', |
| dimsDef: ['open', 'close'] |
| }], |
| dimensionsDefine: ['基础', null, '关闭'], |
| encodeDefine: { |
| x: [0, 4] |
| } |
| }, |
| [ |
| { |
| 'otherDims': {}, |
| 'displayName': '基础', |
| 'name': '基础', |
| 'coordDimIndex': 0, |
| 'coordDim': 'x', |
| 'ordinalMeta': undefined, |
| 'type': 'ordinal', |
| 'storeDimIndex': 0 |
| }, |
| { |
| 'otherDims': { |
| 'tooltip': false |
| }, |
| 'name': 'base', |
| 'displayName': 'base', |
| 'ordinalMeta': undefined, |
| 'defaultTooltip': undefined, |
| 'coordDimIndex': 0, |
| 'coordDim': 'y', |
| 'storeDimIndex': 1 |
| }, |
| { |
| 'otherDims': {}, |
| 'name': '关闭', |
| 'displayName': '关闭', |
| 'coordDimIndex': 0, |
| 'isExtraCoord': true, |
| 'coordDim': 'value', |
| 'storeDimIndex': 2 |
| } |
| ] |
| ); |
| |
| }); |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| it('dimsDef', function () { |
| function doTest( |
| source: ParametersOfCreateDimensions[0], |
| opt: ParametersOfCreateDimensions[1], |
| result: SeriesDimensionDefine[] |
| ) { |
| expect(doCreateDimensions(source, opt)).toEqual(result.map(a => new SeriesDimensionDefine(a))); |
| } |
| |
| const data = [['iw', 332, 4434, 323, 59], ['vrr', 44, 11, 144, 55]]; |
| doTest( |
| data, |
| { |
| dimensionsDefine: ['挨克思', null, '歪溜'], |
| coordDimensions: ['x', 'y', 'value'] |
| }, |
| [ |
| { |
| 'otherDims': {}, |
| 'displayName': '挨克思', |
| 'name': '挨克思', |
| 'type': 'ordinal', |
| 'coordDim': 'x', |
| 'coordDimIndex': 0, |
| 'storeDimIndex': 0 |
| }, |
| { |
| 'otherDims': {}, |
| 'coordDim': 'y', |
| 'coordDimIndex': 0, |
| 'name': 'y', |
| 'storeDimIndex': 1 |
| }, |
| { |
| 'otherDims': {}, |
| 'displayName': '歪溜', |
| 'name': '歪溜', |
| 'coordDim': 'value', |
| 'coordDimIndex': 0, |
| 'storeDimIndex': 2 |
| } |
| ] |
| ); |
| |
| doTest( |
| data, |
| { |
| dimensionsDefine: ['挨克思', null, {type: 'ordinal' as const}], |
| coordDimensions: ['x', 'y', 'value'] |
| }, // no name but only type |
| [ |
| { |
| 'otherDims': {}, |
| 'displayName': '挨克思', |
| 'name': '挨克思', |
| 'type': 'ordinal', |
| 'coordDim': 'x', |
| 'coordDimIndex': 0, |
| 'storeDimIndex': 0 |
| }, |
| { |
| 'otherDims': {}, |
| 'coordDim': 'y', |
| 'coordDimIndex': 0, |
| 'name': 'y', |
| 'storeDimIndex': 1 |
| }, |
| { |
| 'otherDims': {}, |
| 'name': 'value', |
| 'coordDim': 'value', |
| 'type': 'ordinal', |
| 'coordDimIndex': 0, |
| 'storeDimIndex': 2 |
| } |
| ] |
| ); |
| |
| doTest( |
| data, |
| { |
| dimensionsDefine: [{name: '泰亩', type: 'ordinal'}, {name: '歪溜', type: 'float'}], |
| coordDimensions: [{name: 'time', type: 'time' as const}, 'value'] |
| }, |
| [ |
| { |
| 'otherDims': {}, |
| 'displayName': '泰亩', |
| 'name': '泰亩', |
| 'type': 'ordinal', |
| 'ordinalMeta': undefined, |
| 'coordDimIndex': 0, |
| 'coordDim': 'time', |
| 'storeDimIndex': 0 |
| }, |
| { |
| 'otherDims': {}, |
| 'displayName': '歪溜', |
| 'name': '歪溜', |
| 'type': 'float', |
| 'coordDim': 'value', |
| 'coordDimIndex': 0, |
| 'storeDimIndex': 1 |
| } |
| ] |
| ); |
| |
| // Duplicate name |
| doTest( |
| data, |
| { |
| dimensionsDefine: [{name: '泰亩', type: 'ordinal'}, {name: '泰亩', type: 'float'}], |
| coordDimensions: [{name: 'time', type: 'time' as const}, 'value'] |
| }, |
| [ |
| { |
| 'otherDims': {}, |
| 'displayName': '泰亩', |
| 'name': '泰亩', |
| 'type': 'ordinal', |
| 'ordinalMeta': undefined, |
| 'coordDimIndex': 0, |
| 'coordDim': 'time', |
| 'storeDimIndex': 0 |
| }, |
| { |
| 'otherDims': {}, |
| 'displayName': '泰亩', |
| 'name': '泰亩0', |
| 'type': 'float', |
| 'coordDim': 'value', |
| 'coordDimIndex': 0, |
| 'storeDimIndex': 1 |
| } |
| ] |
| ); |
| }); |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| it('encodeDef', function () { |
| function doTest( |
| source: ParametersOfCreateDimensions[0], |
| opt: ParametersOfCreateDimensions[1], |
| result: SeriesDimensionDefine[] |
| ) { |
| expect(doCreateDimensions(source, opt)).toEqual(result.map(a => new SeriesDimensionDefine(a))); |
| } |
| |
| const data = [['iw', 332, 4434, 323, 'd8', 59], ['vrr', 44, 11, 144, '-', 55]]; |
| |
| doTest( |
| data, |
| { |
| encodeDefine: { |
| x: 2, |
| y: [1, 4], |
| tooltip: 2, |
| label: [3, 5] |
| } |
| }, |
| [ |
| { |
| 'otherDims': {}, |
| 'coordDim': 'value', |
| 'coordDimIndex': 0, |
| 'name': 'value', |
| 'isExtraCoord': true, |
| 'type': 'ordinal', |
| 'storeDimIndex': 0 |
| } |
| ] |
| ); |
| |
| doTest( |
| data, |
| { |
| dimensionsDefine: ['挨克思', null, '歪溜'], |
| encodeDefine: { |
| x: 2, |
| y: [1, 4], |
| tooltip: 2, |
| label: [3, 5] |
| } |
| }, |
| [ |
| { |
| 'otherDims': {}, |
| 'displayName': '挨克思', |
| 'name': '挨克思', |
| 'type': 'ordinal', |
| 'coordDim': 'value', |
| 'coordDimIndex': 0, |
| 'isExtraCoord': true, |
| 'storeDimIndex': 0 |
| }, |
| { |
| 'otherDims': {}, |
| 'coordDim': 'y', |
| 'coordDimIndex': 0, |
| 'name': 'y', |
| 'storeDimIndex': 1 |
| }, |
| { |
| 'otherDims': { |
| 'tooltip': 0 |
| }, |
| 'displayName': '歪溜', |
| 'name': '歪溜', |
| 'coordDim': 'x', |
| 'coordDimIndex': 0, |
| 'storeDimIndex': 2 |
| } |
| ] |
| ); |
| |
| doTest( |
| data, |
| { |
| dimensionsDefine: ['挨克思', null, '歪溜'], |
| coordDimensions: ['x', {name: 'y', type: 'time' as const}, 'z'], |
| encodeDefine: { |
| x: 2, |
| y: [1, 4], |
| tooltip: 2, |
| label: [3, 5] |
| } |
| }, |
| [ |
| { |
| 'otherDims': {}, |
| 'displayName': '挨克思', |
| 'name': '挨克思', |
| 'type': 'ordinal', |
| 'coordDim': 'z', |
| 'coordDimIndex': 0, |
| 'storeDimIndex': 0 |
| }, |
| { |
| 'otherDims': {}, |
| 'coordDim': 'y', |
| 'coordDimIndex': 0, |
| 'name': 'y', |
| 'type': 'time', |
| 'ordinalMeta': undefined, |
| 'storeDimIndex': 1 |
| }, |
| { |
| 'otherDims': { |
| 'tooltip': 0 |
| }, |
| 'displayName': '歪溜', |
| 'name': '歪溜', |
| 'coordDim': 'x', |
| 'coordDimIndex': 0, |
| 'storeDimIndex': 2 |
| } |
| ] |
| ); |
| |
| doTest( |
| data, |
| { |
| // dimsDef type 'ordinal' has higher priority then sysDims type 'time'. |
| dimensionsDefine: [{name: '泰亩', type: 'ordinal'}, {name: '歪溜', type: 'float'}], |
| coordDimensions: [{name: 'time', type: 'time' as const}, 'value'], |
| encodeDefine: { |
| tooltip: 2 |
| } |
| }, |
| [ |
| { |
| 'otherDims': {}, |
| 'displayName': '泰亩', |
| 'name': '泰亩', |
| 'type': 'ordinal', |
| 'ordinalMeta': undefined, |
| 'coordDimIndex': 0, |
| 'coordDim': 'time', |
| 'storeDimIndex': 0 |
| }, |
| { |
| 'otherDims': {}, |
| 'displayName': '歪溜', |
| 'name': '歪溜', |
| 'type': 'float', |
| 'coordDim': 'value', |
| 'coordDimIndex': 0, |
| 'storeDimIndex': 1 |
| } |
| ] |
| ); |
| |
| doTest( |
| data, |
| { |
| // dimsDef type 'ordinal' has higher priority then sysDims type 'time'. |
| dimensionsDefine: [{name: '泰亩', type: 'ordinal'}, {name: '歪溜', type: 'float'}], |
| coordDimensions: [{name: 'time', type: 'time' as const}, 'value'], |
| encodeDefine: { |
| tooltip: 2 |
| } |
| }, |
| [ |
| { |
| 'otherDims': {}, |
| 'displayName': '泰亩', |
| 'name': '泰亩', |
| 'type': 'ordinal', |
| 'ordinalMeta': undefined, |
| 'coordDimIndex': 0, |
| 'coordDim': 'time', |
| 'storeDimIndex': 0 |
| }, |
| { |
| 'otherDims': {}, |
| 'displayName': '歪溜', |
| 'name': '歪溜', |
| 'type': 'float', |
| 'coordDim': 'value', |
| 'coordDimIndex': 0, |
| 'storeDimIndex': 1 |
| } |
| ] |
| ); |
| |
| }); |
| |
| }); |