/
githubmirror
/
echarts
Обзор
Документация
Войти
/
githubmirror
/
echarts
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/ut/core/utHelper.ts
156 строк
4 KB
pissang
test: add missing component ut. fix some warnings
31 мар 2021, 10:41
31 мар 2021, 10:41
b8c6add
Код
Авторство
О чём код?
/* * 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 { init, EChartsType } from '../../../src/echarts.all'; import { curry as zrUtilCurry, bind as zrUtilBind, extend as zrUtilExtend } from 'zrender/src/core/util'; import { ComponentMainType } from '../../../src/util/types'; import Group from 'zrender/src/graphic/Group'; import Element from 'zrender/src/Element'; import GlobalModel from '../../../src/model/Global'; export function createChart(params?: { width?: number, height?: number, theme?: Parameters<typeof init>[1], opts?: Parameters<typeof init>[2] }): EChartsType { params = params || {}; const el = document.createElement('div'); el.style.cssText = [ 'visibility:hidden', 'width:' + (params.width || '500') + 'px', 'height:' + (params.height || '400') + 'px', 'position:absolute', 'bottom:0', 'right:0' ].join(';'); Object.defineProperty(el, 'clientWidth', { get() { return params.width || 500; } }); Object.defineProperty(el, 'clientHeight', { get() { return params.height || 400; } }); const chart = init(el, params.theme, params.opts); return chart; }; export function removeChart(chart: EChartsType): void { chart.dispose(); }; export const extend = zrUtilExtend; export function g(id: string): HTMLElement { return document.getElementById(id); } export function removeEl(el: HTMLElement): void { const parent = parentEl(el); parent && parent.removeChild(el); } export function parentEl(el: HTMLElement): HTMLElement { //parentElement for ie. return el.parentElement || el.parentNode as HTMLElement; } export function getHeadEl(): HTMLElement { return document.head || document.getElementsByTagName('head')[0] || document.documentElement; } export const curry = zrUtilCurry; export const bind = zrUtilBind; // /** // * @public // * @param {Array.<string>} deps // * @param {Array.<Function>} testFnList // * @param {Function} done All done callback. // */ // export function resetAMDLoaderEachTest(deps, testFnList, done) { // const i = -1; // next(); // function next() { // i++; // if (testFnList.length <= i) { // done(); // return; // } // utHelper.resetAMDLoader(function () { // global.require(deps, function () { // testFnList[i].apply(null, arguments); // next(); // }); // }); // } // }; export function getGraphicElements( chartOrGroup: EChartsType | Group, mainType: ComponentMainType, index?: number ): Element[] { if ((chartOrGroup as Group).type === 'group') { return (chartOrGroup as Group).children(); } else { const viewGroup = getViewGroup(chartOrGroup as EChartsType, mainType, index); if (viewGroup) { const list: Element[] = [viewGroup]; viewGroup.traverse(function (el: Element) { list.push(el); }); return list; } else { return []; } } } export function getViewGroup( chart: EChartsType, mainType: ComponentMainType, index?: number ): Group { const component = getECModel(chart).getComponent(mainType, index); return component ? chart[ mainType === 'series' ? '_chartsMap' : '_componentsMap' ][component.__viewId].group : null; } export function getECModel(chart: EChartsType): GlobalModel { // @ts-ignore return chart.getModel(); }