UNPKG

ng-zorro-antd

Version:

An enterprise-class UI components based on Ant Design and Angular

62 lines 6.86 kB
/** * 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==