(data: SeriesData, innerDataIndices: number[])
| 683 | } |
| 684 | |
| 685 | private _innerSelect(data: SeriesData, innerDataIndices: number[]) { |
| 686 | const option = this.option; |
| 687 | const selectedMode = option.selectedMode; |
| 688 | const len = innerDataIndices.length; |
| 689 | if (!selectedMode || !len) { |
| 690 | return; |
| 691 | } |
| 692 | |
| 693 | if (selectedMode === 'series') { |
| 694 | option.selectedMap = 'all'; |
| 695 | } |
| 696 | else if (selectedMode === 'multiple') { |
| 697 | if (!zrUtil.isObject(option.selectedMap)) { |
| 698 | option.selectedMap = {}; |
| 699 | } |
| 700 | const selectedMap = option.selectedMap; |
| 701 | for (let i = 0; i < len; i++) { |
| 702 | const dataIndex = innerDataIndices[i]; |
| 703 | // TODO different types of data share same object. |
| 704 | const nameOrId = getSelectionKey(data, dataIndex); |
| 705 | selectedMap[nameOrId] = true; |
| 706 | this._selectedDataIndicesMap[nameOrId] = data.getRawIndex(dataIndex); |
| 707 | } |
| 708 | } |
| 709 | else if (selectedMode === 'single' || selectedMode === true) { |
| 710 | const lastDataIndex = innerDataIndices[len - 1]; |
| 711 | const nameOrId = getSelectionKey(data, lastDataIndex); |
| 712 | option.selectedMap = { |
| 713 | [nameOrId]: true |
| 714 | }; |
| 715 | this._selectedDataIndicesMap = { |
| 716 | [nameOrId]: data.getRawIndex(lastDataIndex) |
| 717 | }; |
| 718 | } |
| 719 | } |
| 720 | |
| 721 | private _initSelectedMapFromData(data: SeriesData) { |
| 722 | // Ignore select info in data if selectedMap exists. |
no test coverage detected