angular-cesium-ivy
Version:
Angular library for working with Angular-Cesium.
96 lines (93 loc) • 9.73 kB
JavaScript
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { CoordinateConverter } from '../../services/coordinate-converter/coordinate-converter.service';
import * as i0 from "@angular/core";
import * as i1 from "../../services/plonter/plonter.service";
import * as i2 from "../../services/coordinate-converter/coordinate-converter.service";
import * as i3 from "@angular/common";
import * as i4 from "../ac-html/ac-html.component";
function AcDefaultPlonterComponent_ac_html_0_div_2_Template(rf, ctx) { if (rf & 1) {
const _r4 = i0.ɵɵgetCurrentView();
i0.ɵɵelementStart(0, "div");
i0.ɵɵelementStart(1, "div", 4);
i0.ɵɵlistener("click", function AcDefaultPlonterComponent_ac_html_0_div_2_Template_div_click_1_listener() { const restoredCtx = i0.ɵɵrestoreView(_r4); const entity_r2 = restoredCtx.$implicit; const ctx_r3 = i0.ɵɵnextContext(2); return ctx_r3.chooseEntity(entity_r2); });
i0.ɵɵtext(2);
i0.ɵɵelementEnd();
i0.ɵɵelementEnd();
} if (rf & 2) {
const entity_r2 = ctx.$implicit;
i0.ɵɵadvance(2);
i0.ɵɵtextInterpolate1("", (entity_r2 == null ? null : entity_r2.name) || (entity_r2 == null ? null : entity_r2.id), " ");
} }
const _c0 = function (a0) { return { position: a0 }; };
function AcDefaultPlonterComponent_ac_html_0_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementStart(0, "ac-html", 1);
i0.ɵɵelementStart(1, "div", 2);
i0.ɵɵtemplate(2, AcDefaultPlonterComponent_ac_html_0_div_2_Template, 3, 1, "div", 3);
i0.ɵɵelementEnd();
i0.ɵɵelementEnd();
} if (rf & 2) {
const ctx_r0 = i0.ɵɵnextContext();
i0.ɵɵproperty("props", i0.ɵɵpureFunction1(2, _c0, ctx_r0.plonterPosition));
i0.ɵɵadvance(2);
i0.ɵɵproperty("ngForOf", ctx_r0.plonterService.entitesToPlonter);
} }
export class AcDefaultPlonterComponent {
constructor(plonterService, cd, geoConverter) {
this.plonterService = plonterService;
this.cd = cd;
this.geoConverter = geoConverter;
}
ngOnInit() {
this.plonterService.plonterChangeNotifier.subscribe(() => this.cd.detectChanges());
}
get plonterPosition() {
if (this.plonterService.plonterShown) {
const screenPos = this.plonterService.plonterClickPosition.endPosition;
return this.geoConverter.screenToCartesian3(screenPos);
}
}
chooseEntity(entity) {
this.plonterService.resolvePlonter(entity);
}
}
AcDefaultPlonterComponent.ɵfac = function AcDefaultPlonterComponent_Factory(t) { return new (t || AcDefaultPlonterComponent)(i0.ɵɵdirectiveInject(i1.PlonterService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i2.CoordinateConverter)); };
AcDefaultPlonterComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AcDefaultPlonterComponent, selectors: [["ac-default-plonter"]], features: [i0.ɵɵProvidersFeature([CoordinateConverter])], decls: 1, vars: 1, consts: [[3, "props", 4, "ngIf"], [3, "props"], [1, "plonter-context-menu"], [4, "ngFor", "ngForOf"], [1, "plonter-item", 3, "click"]], template: function AcDefaultPlonterComponent_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵtemplate(0, AcDefaultPlonterComponent_ac_html_0_Template, 3, 4, "ac-html", 0);
} if (rf & 2) {
i0.ɵɵproperty("ngIf", ctx.plonterService.plonterShown);
} }, directives: [i3.NgIf, i4.AcHtmlComponent, i3.NgForOf], styles: [".plonter-context-menu[_ngcontent-%COMP%] {\n background-color: rgba(250, 250, 250, 0.8);\n box-shadow: 1px 1px 5px 0px rgba(0, 0, 0, 0.15);\n }\n\n .plonter-item[_ngcontent-%COMP%] {\n cursor: pointer;\n padding: 2px 15px;\n text-align: start;\n }\n\n .plonter-item[_ngcontent-%COMP%]:hover {\n background-color: rgba(0, 0, 0, 0.15);\n }"], changeDetection: 0 });
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AcDefaultPlonterComponent, [{
type: Component,
args: [{
selector: 'ac-default-plonter',
template: `
<ac-html *ngIf="plonterService.plonterShown" [props]="{
position: plonterPosition
}">
<div class="plonter-context-menu">
<div *ngFor="let entity of plonterService.entitesToPlonter">
<div class="plonter-item" (click)="chooseEntity(entity)">{{ entity?.name || entity?.id }}
</div>
</div>
</div>
</ac-html>
`,
styles: [`
.plonter-context-menu {
background-color: rgba(250, 250, 250, 0.8);
box-shadow: 1px 1px 5px 0px rgba(0, 0, 0, 0.15);
}
.plonter-item {
cursor: pointer;
padding: 2px 15px;
text-align: start;
}
.plonter-item:hover {
background-color: rgba(0, 0, 0, 0.15);
}
`],
changeDetection: ChangeDetectionStrategy.OnPush,
providers: [CoordinateConverter],
}]
}], function () { return [{ type: i1.PlonterService }, { type: i0.ChangeDetectorRef }, { type: i2.CoordinateConverter }]; }, null); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWMtZGVmYXVsdC1wbG9udGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY2VzaXVtL3NyYy9saWIvYW5ndWxhci1jZXNpdW0vY29tcG9uZW50cy9hYy1kZWZhdWx0LXBsb250ZXIvYWMtZGVmYXVsdC1wbG9udGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUU5RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQzs7Ozs7Ozs7SUFVN0YsMkJBQTREO0lBQzFELDhCQUF5RDtJQUEvQiw2UUFBOEI7SUFBQyxZQUN6RDtJQUFBLGlCQUFNO0lBQ1IsaUJBQU07OztJQUZxRCxlQUN6RDtJQUR5RCx3SEFDekQ7Ozs7SUFOTixrQ0FFRztJQUNELDhCQUFrQztJQUNoQyxvRkFHTTtJQUNSLGlCQUFNO0lBQ1IsaUJBQVU7OztJQVRtQywwRUFFM0M7SUFFMEIsZUFBa0M7SUFBbEMsZ0VBQWtDOztBQTRCcEUsTUFBTSxPQUFPLHlCQUF5QjtJQUVwQyxZQUFtQixjQUE4QixFQUM3QixFQUFxQixFQUNyQixZQUFpQztRQUZsQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDN0IsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDckIsaUJBQVksR0FBWixZQUFZLENBQXFCO0lBQ3JELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRTtZQUNwQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQztZQUN2RSxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDeEQ7SUFDSCxDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQVc7UUFDdEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0MsQ0FBQzs7a0dBcEJVLHlCQUF5Qjs0RUFBekIseUJBQXlCLHdFQUh2QixDQUFDLG1CQUFtQixDQUFDO1FBN0I5QixrRkFTVTs7UUFUQSxzREFBaUM7O3VGQWdDcEMseUJBQXlCO2NBcENyQyxTQUFTO2VBQ1I7Z0JBQ0UsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsUUFBUSxFQUFFOzs7Ozs7Ozs7OztLQVdUO2dCQUNELE1BQU0sRUFBRSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0tBZ0JSLENBQUM7Z0JBQ0YsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07Z0JBQy9DLFNBQVMsRUFBRSxDQUFDLG1CQUFtQixDQUFDO2FBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGxvbnRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wbG9udGVyL3Bsb250ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBDb29yZGluYXRlQ29udmVydGVyIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29vcmRpbmF0ZS1jb252ZXJ0ZXIvY29vcmRpbmF0ZS1jb252ZXJ0ZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoXG4gIHtcbiAgICBzZWxlY3RvcjogJ2FjLWRlZmF1bHQtcGxvbnRlcicsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgIDxhYy1odG1sICpuZ0lmPVwicGxvbnRlclNlcnZpY2UucGxvbnRlclNob3duXCIgW3Byb3BzXT1cIntcbiAgICAgICAgcG9zaXRpb246IHBsb250ZXJQb3NpdGlvblxuICAgICAgfVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicGxvbnRlci1jb250ZXh0LW1lbnVcIj5cbiAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBlbnRpdHkgb2YgcGxvbnRlclNlcnZpY2UuZW50aXRlc1RvUGxvbnRlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsb250ZXItaXRlbVwiIChjbGljayk9XCJjaG9vc2VFbnRpdHkoZW50aXR5KVwiPnt7IGVudGl0eT8ubmFtZSB8fCBlbnRpdHk/LmlkIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2FjLWh0bWw+XG4gICAgYCxcbiAgICBzdHlsZXM6IFtgXG4gICAgICAgIC5wbG9udGVyLWNvbnRleHQtbWVudSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1MCwgMjUwLCAyNTAsIDAuOCk7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAxcHggMXB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wbG9udGVyLWl0ZW0ge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgcGFkZGluZzogMnB4IDE1cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wbG9udGVyLWl0ZW06aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICAgICAgfVxuXG4gICAgYF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbQ29vcmRpbmF0ZUNvbnZlcnRlcl0sXG4gIH1cbilcbmV4cG9ydCBjbGFzcyBBY0RlZmF1bHRQbG9udGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGxvbnRlclNlcnZpY2U6IFBsb250ZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBnZW9Db252ZXJ0ZXI6IENvb3JkaW5hdGVDb252ZXJ0ZXIpIHtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucGxvbnRlclNlcnZpY2UucGxvbnRlckNoYW5nZU5vdGlmaWVyLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNkLmRldGVjdENoYW5nZXMoKSk7XG4gIH1cblxuICBnZXQgcGxvbnRlclBvc2l0aW9uKCkge1xuICAgIGlmICh0aGlzLnBsb250ZXJTZXJ2aWNlLnBsb250ZXJTaG93bikge1xuICAgICAgY29uc3Qgc2NyZWVuUG9zID0gdGhpcy5wbG9udGVyU2VydmljZS5wbG9udGVyQ2xpY2tQb3NpdGlvbi5lbmRQb3NpdGlvbjtcbiAgICAgIHJldHVybiB0aGlzLmdlb0NvbnZlcnRlci5zY3JlZW5Ub0NhcnRlc2lhbjMoc2NyZWVuUG9zKTtcbiAgICB9XG4gIH1cblxuICBjaG9vc2VFbnRpdHkoZW50aXR5OiBhbnkpIHtcbiAgICB0aGlzLnBsb250ZXJTZXJ2aWNlLnJlc29sdmVQbG9udGVyKGVudGl0eSk7XG4gIH1cbn1cbiJdfQ==