UNPKG

@nativescript-community/svelte-native-nativescript-ui

Version:
74 lines (71 loc) 3.9 kB
import { registerElement, NativeElementNode, NativeElementPropType, registerNativeConfigElement, NativeViewElementNode } from 'svelte-native/dom'; import { RadPieChart, RadCartesianChart, Palette, PieSeries, DonutSeries, LineSeries, SplineSeries, SplineAreaSeries, AreaSeries, BarSeries, RangeBarSeries, BubbleSeries, ScatterBubbleSeries, ScatterSeries, CandlestickSeries, OhlcSeries, CategoricalAxis, DateTimeCategoricalAxis, DateTimeContinuousAxis, LinearAxis, LogarithmicAxis, RadCartesianChartGrid, RadLegendView, PaletteEntry, Trackball, ChartGridLineAnnotation, ChartPlotBandAnnotation } from 'nativescript-ui-chart'; class BaseChartElement extends NativeViewElementNode { constructor(tagName, viewClass) { super(tagName, viewClass, null, { "series": NativeElementPropType.ObservableArray, "annotations": NativeElementPropType.ObservableArray, "palettes": NativeElementPropType.ObservableArray }); } } class PieChartElement extends BaseChartElement { constructor() { super('radPieChart', RadPieChart); } } class CartesianChartElement extends BaseChartElement { constructor() { super('radCartesianChart', RadCartesianChart); } } class PaletteElement extends NativeElementNode { constructor() { super('pallete', Palette, "palettes", { "entries": NativeElementPropType.ObservableArray }); } } class ChartSeriesElement extends NativeElementNode { constructor(tagName, elClass) { super(tagName, elClass, "series", { "seriesName": NativeElementPropType.Value }); } } class Charts { static register() { const registerConfigElement = (tag, native, parentProp = null) => registerNativeConfigElement(tag, () => native, parentProp); const registerSeries = (tag, native) => registerElement(tag, () => new ChartSeriesElement(tag, native)); //chart types registerElement('radPieChart', () => new PieChartElement()); registerElement('radCartesianChart', () => new CartesianChartElement()); //series types registerSeries('pieSeries', PieSeries); registerSeries('donutSeries', DonutSeries); registerSeries('lineSeries', LineSeries); registerSeries('splineSeries', SplineSeries); registerSeries('splineAreaSeries', SplineAreaSeries); registerSeries('areaSeries', AreaSeries); registerSeries('barSeries', BarSeries); registerSeries('rangeBarSeries', RangeBarSeries); registerSeries('bubbleSeries', BubbleSeries); registerSeries('scatterBubbleSeries', ScatterBubbleSeries); registerSeries('scatterSeries', ScatterSeries); registerSeries('candlestickSeries', CandlestickSeries); registerSeries('OhlcSeries', OhlcSeries); //axes types registerConfigElement('categoricalAxis', CategoricalAxis); registerConfigElement('dateTimeCategoricalAxis', DateTimeCategoricalAxis); registerConfigElement('dateTimeContinuousAxis', DateTimeContinuousAxis); registerConfigElement('linearAxis', LinearAxis); registerConfigElement('logarithmicAxis', LogarithmicAxis); //grid registerConfigElement('radCartesianChartGrid', RadCartesianChartGrid, "grid"); //legend registerConfigElement('radLegendView', RadLegendView, "legend"); //palette registerConfigElement('paletteEntry', PaletteEntry, "entries"); registerElement('palette', () => new PaletteElement()); //Trackball registerConfigElement('trackball', Trackball, "trackball"); //Annotations registerConfigElement('chartGridLineAnnotation', ChartGridLineAnnotation, "annotations"); registerConfigElement('chartPlotBandAnnotation', ChartPlotBandAnnotation, "annotations"); } } export { Charts as default };