UNPKG

@nativescript-community/ui-carto

Version:

NativeScript plugin for CARTO Mobile SDK

136 lines 5.04 kB
import { nativeCartoImageProperty, nativeColorProperty, nativeProperty } from '..'; import { BasePointVectorElement, BillboardStyleBuilder } from './index.ios'; export class BalloonPopupStyleBuilder extends BillboardStyleBuilder { createNative(options) { return NTBalloonPopupStyleBuilder.alloc().init(); } buildStyle() { if (!this.mBuildStyle) { this.mBuildStyle = this.getNative().buildStyle(); } return this.mBuildStyle; } } __decorate([ nativeColorProperty ], BalloonPopupStyleBuilder.prototype, "color", void 0); __decorate([ nativeProperty ], BalloonPopupStyleBuilder.prototype, "cornerRadius", void 0); __decorate([ nativeColorProperty ], BalloonPopupStyleBuilder.prototype, "descriptionColor", void 0); __decorate([ nativeProperty ], BalloonPopupStyleBuilder.prototype, "descriptionFontName", void 0); __decorate([ nativeProperty ], BalloonPopupStyleBuilder.prototype, "descriptionFontSize", void 0); __decorate([ nativeProperty ], BalloonPopupStyleBuilder.prototype, "descriptionWrap", void 0); __decorate([ nativeColorProperty ], BalloonPopupStyleBuilder.prototype, "leftColor", void 0); __decorate([ nativeCartoImageProperty ], BalloonPopupStyleBuilder.prototype, "leftImage", void 0); __decorate([ nativeColorProperty ], BalloonPopupStyleBuilder.prototype, "rightColor", void 0); __decorate([ nativeCartoImageProperty ], BalloonPopupStyleBuilder.prototype, "rightImage", void 0); __decorate([ nativeColorProperty ], BalloonPopupStyleBuilder.prototype, "strokeColor", void 0); __decorate([ nativeProperty ], BalloonPopupStyleBuilder.prototype, "strokeWidth", void 0); __decorate([ nativeColorProperty ], BalloonPopupStyleBuilder.prototype, "titleColor", void 0); __decorate([ nativeProperty ], BalloonPopupStyleBuilder.prototype, "titleFontName", void 0); __decorate([ nativeProperty ], BalloonPopupStyleBuilder.prototype, "titleFontSize", void 0); __decorate([ nativeProperty ], BalloonPopupStyleBuilder.prototype, "titleWrap", void 0); __decorate([ nativeProperty ], BalloonPopupStyleBuilder.prototype, "triangleHeight", void 0); __decorate([ nativeProperty ], BalloonPopupStyleBuilder.prototype, "triangleWidth", void 0); export class BalloonPopup extends BasePointVectorElement { createNative(options) { const style = this.buildStyle(); let result; if (options.marker) { result = NTBalloonPopup.alloc().initWithBaseBillboardStyleTitleDesc(options.marker.getNative(), style, options.title, options.description); } else { const nativePos = this.getNativePos(options.position, options.projection); result = NTBalloonPopup.alloc().initWithPosStyleTitleDesc(nativePos, style, options.title, options.description); } // result['owner'] = new WeakRef(this); return result; } buildStyle() { let style; const styleBuilder = this.options.styleBuilder; if (styleBuilder instanceof NTBalloonPopupStyle) { style = styleBuilder; } else if (styleBuilder instanceof BalloonPopupStyleBuilder) { style = styleBuilder.buildStyle(); } else if (styleBuilder.hasOwnProperty) { style = new BalloonPopupStyleBuilder(styleBuilder).buildStyle(); } return style; } get styleBuilder() { return this.native ? this.native.getStyle() : this.options.styleBuilder; } set styleBuilder(value) { if (this.native && !this.duringInit) { this.options.styleBuilder = value; this.native.setStyle(this.buildStyle()); } } } // class BuildingStyleObject<BO extends VectorElementStyleBuilderOptions, OptionsType extends VectorElementOptions, N, SN, E extends BaseVectorElement<N, OptionsType>, B extends BaseVectorElementStyleBuilder<SN, BO>> { // _styleBuilder: B; // _builtStyle: SN; // buildStyle() { // let style: NTBalloonPopupStyle; // const styleBuilder = this._styleBuilder; // if (styleBuilder instanceof NTBalloonPopupStyle) { // style = styleBuilder; // } else if (styleBuilder instanceof BalloonPopupStyleBuilder) { // style = styleBuilder.buildStyle(); // } else if (styleBuilder.hasOwnProperty) { // style = new BalloonPopupStyleBuilder(styleBuilder).buildStyle(); // } // return styleBuilder.buildStyle(); // } // get styleBuilder() { // return this._styleBuilder; // } // set styleBuilder(value: OptionsType | B) { // if ((value as any).getNative) { // this._styleBuilder = value as B; // } else { // this._styleBuilder = new OptionsType(value); // } // this.options.styleBuilder = value as any; // if (this.native) { // this.native.setStyle(this.buildStyle()); // } // } // } //# sourceMappingURL=balloonpopup.ios.js.map