29 lines
679 B
TypeScript
29 lines
679 B
TypeScript
import { Input, OnDestroy, Directive } from '@angular/core';
|
|
import Source from 'ol/source/Source';
|
|
|
|
import { LayerComponent } from '../layers/layer.component';
|
|
|
|
@Directive()
|
|
// eslint-disable-next-line @angular-eslint/directive-class-suffix
|
|
export abstract class SourceComponent implements OnDestroy {
|
|
@Input()
|
|
attributions: any;
|
|
|
|
public instance: Source;
|
|
public componentType = 'source';
|
|
|
|
protected constructor(protected host: LayerComponent) {}
|
|
|
|
ngOnDestroy() {
|
|
if (this.host && this.host.instance) {
|
|
this.host.instance.setSource(null);
|
|
}
|
|
}
|
|
|
|
protected register(s: Source) {
|
|
if (this.host) {
|
|
this.host.instance.setSource(s);
|
|
}
|
|
}
|
|
}
|