File
Implements
Metadata
changeDetection |
ChangeDetectionStrategy.OnPush |
providers |
CoordinateConverter
|
selector |
ac-default-plonter |
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);
}
|
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>
|
Index
Properties
|
|
Methods
|
|
Accessors
|
|
Methods
chooseEntity
|
chooseEntity(entity: any)
|
|
Parameters :
Name |
Type |
Optional |
entity |
any
|
No
|
|
Accessors
plonterPosition
|
getplonterPosition()
|
|
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';
import { PlonterService } from '../../services/plonter/plonter.service';
import { CoordinateConverter } from '../../services/coordinate-converter/coordinate-converter.service';
@Component(
{
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],
}
)
export class AcDefaultPlonterComponent implements OnInit {
constructor(public plonterService: PlonterService,
private cd: ChangeDetectorRef,
private geoConverter: CoordinateConverter) {
}
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: any) {
this.plonterService.resolvePlonter(entity);
}
}
.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);
}
Legend
Html element with directive