/* * 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. */ // These APIs are for more advanced usages // For example extend charts and components, creating graphic elements, formatting. import ComponentModel, { ComponentModelConstructor } from '../model/Component'; import ComponentView, { ComponentViewConstructor } from '../view/Component'; import SeriesModel, { SeriesModelConstructor } from '../model/Series'; import ChartView, { ChartViewConstructor } from '../view/Chart'; import SeriesData from '../data/SeriesData'; // Provide utilities API in echarts. It will be in echarts namespace. // Like echarts.util, echarts.graphic export * as zrender from 'zrender/src/zrender'; export * as matrix from 'zrender/src/core/matrix'; export * as vector from 'zrender/src/core/vector'; export * as zrUtil from 'zrender/src/core/util'; export * as color from 'zrender/src/tool/color'; export {throttle} from '../util/throttle'; export * as helper from './api/helper'; export {use} from '../extension'; export {setPlatformAPI} from 'zrender/src/core/platform'; // --------------------- Helper Methods --------------------- export {default as parseGeoJSON} from '../coord/geo/parseGeoJson'; export {default as parseGeoJson} from '../coord/geo/parseGeoJson'; export * as number from './api/number'; export * as time from './api/time'; export * as graphic from './api/graphic'; export * as format from './api/format'; export * as util from './api/util'; export {default as env} from 'zrender/src/core/env'; // --------------------- Export for Extension Usage --------------------- // export {SeriesData}; export {SeriesData as List}; // TODO: Compatitable with exists echarts-gl code export {default as Model} from '../model/Model'; export {default as Axis} from '../coord/Axis'; export { ComponentModel, ComponentView, SeriesModel, ChartView }; // Only for GL export {brushSingle as innerDrawElementOnCanvas} from 'zrender/src/canvas/graphic'; // --------------------- Deprecated Extension Methods --------------------- // Should use `ComponentModel.extend` or `class XXXX extend ComponentModel` to create class. // Then use `registerComponentModel` in `install` parameter when `use` this extension. For example: // class Bar3DModel extends ComponentModel {} // export function install(registers) { registers.registerComponentModel(Bar3DModel); } // echarts.use(install); export function extendComponentModel(proto: object): ComponentModel { const Model = (ComponentModel as ComponentModelConstructor).extend(proto) as any; ComponentModel.registerClass(Model); return Model; } export function extendComponentView(proto: object): ChartView { const View = (ComponentView as ComponentViewConstructor).extend(proto) as any; ComponentView.registerClass(View); return View; } export function extendSeriesModel(proto: object): SeriesModel { const Model = (SeriesModel as SeriesModelConstructor).extend(proto) as any; SeriesModel.registerClass(Model); return Model; } export function extendChartView(proto: object): ChartView { const View = (ChartView as ChartViewConstructor).extend(proto) as any; ChartView.registerClass(View); return View; }