ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
62 lines • 6.86 kB
JavaScript
/**
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE
*/
import { ChangeDetectionStrategy, Component, ElementRef } from '@angular/core';
import { Minimap } from './core/minimap';
import { NZ_GRAPH_LAYOUT_SETTING } from './interface';
export class NzGraphMinimapComponent {
constructor(elementRef) {
this.elementRef = elementRef;
}
ngOnInit() { }
init(containerEle, zoomBehavior) {
const svgEle = containerEle.nativeElement.querySelector('svg');
const zoomEle = containerEle.nativeElement.querySelector('svg > g');
this.minimap = new Minimap(svgEle, zoomEle, zoomBehavior, this.elementRef.nativeElement, NZ_GRAPH_LAYOUT_SETTING.minimap.size, 0);
}
zoom(transform) {
if (this.minimap) {
this.minimap.zoom(transform);
}
}
update() {
if (this.minimap) {
this.minimap.update();
}
}
}
NzGraphMinimapComponent.decorators = [
{ type: Component, args: [{
selector: 'nz-graph-minimap',
template: `
<svg>
<defs>
<filter id="minimapDropShadow" x="-20%" y="-20%" width="150%" height="150%">
<feOffset result="offOut" in="SourceGraphic" dx="1" dy="1"></feOffset>
<feColorMatrix
result="matrixOut"
in="offOut"
type="matrix"
values="0.1 0 0 0 0 0 0.1 0 0 0 0 0 0.1 0 0 0 0 0 0.5 0"
></feColorMatrix>
<feGaussianBlur result="blurOut" in="matrixOut" stdDeviation="2"></feGaussianBlur>
<feBlend in="SourceGraphic" in2="blurOut" mode="normal"></feBlend>
</filter>
</defs>
<rect></rect>
</svg>
<canvas class="viewport"></canvas>
<!-- Additional canvas to use as buffer to avoid flickering between updates -->
<canvas class="buffer"></canvas>
`,
changeDetection: ChangeDetectionStrategy.OnPush,
host: {
'[class.nz-graph-minimap]': 'true'
}
},] }
];
NzGraphMinimapComponent.ctorParameters = () => [
{ type: ElementRef }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGgtbWluaW1hcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvdnN0cy93b3JrLzEvcy9jb21wb25lbnRzL2dyYXBoLyIsInNvdXJjZXMiOlsiZ3JhcGgtbWluaW1hcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBRUgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFHdkYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBbUIsdUJBQXVCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUE4QnZFLE1BQU0sT0FBTyx1QkFBdUI7SUFFbEMsWUFBb0IsVUFBbUM7UUFBbkMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7SUFBRyxDQUFDO0lBRTNELFFBQVEsS0FBVSxDQUFDO0lBRW5CLElBQUksQ0FBQyxZQUF3QixFQUFFLFlBQWdEO1FBQzdFLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9ELE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsdUJBQXVCLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNwSSxDQUFDO0lBRUQsSUFBSSxDQUFDLFNBQTBCO1FBQzdCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDdkI7SUFDSCxDQUFDOzs7WUFsREYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQlQ7Z0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07Z0JBQy9DLElBQUksRUFBRTtvQkFDSiwwQkFBMEIsRUFBRSxNQUFNO2lCQUNuQzthQUNGOzs7WUFqQzRDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9ORy1aT1JSTy9uZy16b3Jyby1hbnRkL2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiAqL1xuXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFpvb21CZWhhdmlvciB9IGZyb20gJ2QzLXpvb20nO1xuaW1wb3J0IHsgTnpTYWZlQW55IH0gZnJvbSAnbmctem9ycm8tYW50ZC9jb3JlL3R5cGVzJztcbmltcG9ydCB7IE1pbmltYXAgfSBmcm9tICcuL2NvcmUvbWluaW1hcCc7XG5pbXBvcnQgeyBOelpvb21UcmFuc2Zvcm0sIE5aX0dSQVBIX0xBWU9VVF9TRVRUSU5HIH0gZnJvbSAnLi9pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduei1ncmFwaC1taW5pbWFwJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8c3ZnPlxuICAgICAgPGRlZnM+XG4gICAgICAgIDxmaWx0ZXIgaWQ9XCJtaW5pbWFwRHJvcFNoYWRvd1wiIHg9XCItMjAlXCIgeT1cIi0yMCVcIiB3aWR0aD1cIjE1MCVcIiBoZWlnaHQ9XCIxNTAlXCI+XG4gICAgICAgICAgPGZlT2Zmc2V0IHJlc3VsdD1cIm9mZk91dFwiIGluPVwiU291cmNlR3JhcGhpY1wiIGR4PVwiMVwiIGR5PVwiMVwiPjwvZmVPZmZzZXQ+XG4gICAgICAgICAgPGZlQ29sb3JNYXRyaXhcbiAgICAgICAgICAgIHJlc3VsdD1cIm1hdHJpeE91dFwiXG4gICAgICAgICAgICBpbj1cIm9mZk91dFwiXG4gICAgICAgICAgICB0eXBlPVwibWF0cml4XCJcbiAgICAgICAgICAgIHZhbHVlcz1cIjAuMSAwIDAgMCAwIDAgMC4xIDAgMCAwIDAgMCAwLjEgMCAwIDAgMCAwIDAuNSAwXCJcbiAgICAgICAgICA+PC9mZUNvbG9yTWF0cml4PlxuICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciByZXN1bHQ9XCJibHVyT3V0XCIgaW49XCJtYXRyaXhPdXRcIiBzdGREZXZpYXRpb249XCIyXCI+PC9mZUdhdXNzaWFuQmx1cj5cbiAgICAgICAgICA8ZmVCbGVuZCBpbj1cIlNvdXJjZUdyYXBoaWNcIiBpbjI9XCJibHVyT3V0XCIgbW9kZT1cIm5vcm1hbFwiPjwvZmVCbGVuZD5cbiAgICAgICAgPC9maWx0ZXI+XG4gICAgICA8L2RlZnM+XG4gICAgICA8cmVjdD48L3JlY3Q+XG4gICAgPC9zdmc+XG4gICAgPGNhbnZhcyBjbGFzcz1cInZpZXdwb3J0XCI+PC9jYW52YXM+XG4gICAgPCEtLSBBZGRpdGlvbmFsIGNhbnZhcyB0byB1c2UgYXMgYnVmZmVyIHRvIGF2b2lkIGZsaWNrZXJpbmcgYmV0d2VlbiB1cGRhdGVzIC0tPlxuICAgIDxjYW52YXMgY2xhc3M9XCJidWZmZXJcIj48L2NhbnZhcz5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLm56LWdyYXBoLW1pbmltYXBdJzogJ3RydWUnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgTnpHcmFwaE1pbmltYXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBtaW5pbWFwPzogTWluaW1hcDtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgaW5pdChjb250YWluZXJFbGU6IEVsZW1lbnRSZWYsIHpvb21CZWhhdmlvcjogWm9vbUJlaGF2aW9yPE56U2FmZUFueSwgTnpTYWZlQW55Pik6IHZvaWQge1xuICAgIGNvbnN0IHN2Z0VsZSA9IGNvbnRhaW5lckVsZS5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3N2ZycpO1xuICAgIGNvbnN0IHpvb21FbGUgPSBjb250YWluZXJFbGUubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdzdmcgPiBnJyk7XG4gICAgdGhpcy5taW5pbWFwID0gbmV3IE1pbmltYXAoc3ZnRWxlLCB6b29tRWxlLCB6b29tQmVoYXZpb3IsIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBOWl9HUkFQSF9MQVlPVVRfU0VUVElORy5taW5pbWFwLnNpemUsIDApO1xuICB9XG5cbiAgem9vbSh0cmFuc2Zvcm06IE56Wm9vbVRyYW5zZm9ybSk6IHZvaWQge1xuICAgIGlmICh0aGlzLm1pbmltYXApIHtcbiAgICAgIHRoaXMubWluaW1hcC56b29tKHRyYW5zZm9ybSk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm1pbmltYXApIHtcbiAgICAgIHRoaXMubWluaW1hcC51cGRhdGUoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==