@nativescript-community/svelte-native-nativescript-ui
Version:
Svelte Native support for Nativescript UI
34 lines (31 loc) • 1.99 kB
JavaScript
import { registerElement, NativeViewElementNode, NativeElementPropType, NativeElementNode, registerNativeConfigElement } from 'svelte-native/dom';
import { RadRadialGauge, RadialScale, RadialNeedle, RadialBarIndicator, ScaleStyle, BarIndicatorStyle } from 'nativescript-ui-gauge';
class RadialScaleElement extends NativeElementNode {
onInsertedChild(childNode, index) {
super.onInsertedChild(childNode, index);
let gauge = this.parentNode;
if (gauge && gauge.nativeElement && gauge.nativeElement.nativeObject && gauge.nativeElement.reloadScales) {
gauge.nativeElement.reloadScales();
}
}
onRemovedChild(childNode) {
super.onRemovedChild(childNode);
let gauge = this.parentNode;
if (gauge && gauge.nativeElement && gauge.nativeElement.nativeObject && gauge.nativeElement.reloadScales) {
gauge.nativeElement.reloadScales();
}
}
}
class Gauges {
static register() {
const registerConfigElement = (tag, native, setsParentProp = null, propconfig = {}) => registerNativeConfigElement(tag, () => native, setsParentProp, propconfig);
registerElement('radRadialGauge', () => new NativeViewElementNode('radRadialGauge', RadRadialGauge, null, { "scales": NativeElementPropType.ObservableArray }));
registerElement('radialScale', () => new RadialScaleElement("radialScale", RadialScale, "scales", { "indicators": NativeElementPropType.ObservableArray }));
//registerConfigElement('radialScale', RadialScale, "scales", { "indicators": NativeElementPropType.ObservableArray })
registerConfigElement('radialNeedle', RadialNeedle, "indicators");
registerConfigElement('radialBarIndicator', RadialBarIndicator, "indicators");
registerConfigElement('scaleStyle', ScaleStyle, "scaleStyle");
registerConfigElement('barIndicatorStyle', BarIndicatorStyle, "indicatorStyle");
}
}
export { Gauges as default };