ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
60 lines • 6.49 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';
export class NzGraphMinimapComponent {
constructor(elementRef) {
this.elementRef = elementRef;
}
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, 150, 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGgtbWluaW1hcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9jb21wb25lbnRzL2dyYXBoL2dyYXBoLW1pbmltYXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTS9FLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQStCekMsTUFBTSxPQUFPLHVCQUF1QjtJQUVsQyxZQUFvQixVQUFtQztRQUFuQyxlQUFVLEdBQVYsVUFBVSxDQUF5QjtJQUFHLENBQUM7SUFFM0QsSUFBSSxDQUFDLFlBQXdCLEVBQUUsWUFBZ0Q7UUFDN0UsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0QsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbkcsQ0FBQztJQUVELElBQUksQ0FBQyxTQUEwQjtRQUM3QixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ3ZCO0lBQ0gsQ0FBQzs7O1lBaERGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsa0JBQWtCO2dCQUM1QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JUO2dCQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2dCQUMvQyxJQUFJLEVBQUU7b0JBQ0osMEJBQTBCLEVBQUUsTUFBTTtpQkFDbkM7YUFDRjs7O1lBcEM0QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vTkctWk9SUk8vbmctem9ycm8tYW50ZC9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cblxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBab29tQmVoYXZpb3IgfSBmcm9tICdkMy16b29tJztcblxuaW1wb3J0IHsgTnpTYWZlQW55IH0gZnJvbSAnbmctem9ycm8tYW50ZC9jb3JlL3R5cGVzJztcblxuaW1wb3J0IHsgTWluaW1hcCB9IGZyb20gJy4vY29yZS9taW5pbWFwJztcbmltcG9ydCB7IE56Wm9vbVRyYW5zZm9ybSB9IGZyb20gJy4vaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnotZ3JhcGgtbWluaW1hcCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPHN2Zz5cbiAgICAgIDxkZWZzPlxuICAgICAgICA8ZmlsdGVyIGlkPVwibWluaW1hcERyb3BTaGFkb3dcIiB4PVwiLTIwJVwiIHk9XCItMjAlXCIgd2lkdGg9XCIxNTAlXCIgaGVpZ2h0PVwiMTUwJVwiPlxuICAgICAgICAgIDxmZU9mZnNldCByZXN1bHQ9XCJvZmZPdXRcIiBpbj1cIlNvdXJjZUdyYXBoaWNcIiBkeD1cIjFcIiBkeT1cIjFcIj48L2ZlT2Zmc2V0PlxuICAgICAgICAgIDxmZUNvbG9yTWF0cml4XG4gICAgICAgICAgICByZXN1bHQ9XCJtYXRyaXhPdXRcIlxuICAgICAgICAgICAgaW49XCJvZmZPdXRcIlxuICAgICAgICAgICAgdHlwZT1cIm1hdHJpeFwiXG4gICAgICAgICAgICB2YWx1ZXM9XCIwLjEgMCAwIDAgMCAwIDAuMSAwIDAgMCAwIDAgMC4xIDAgMCAwIDAgMCAwLjUgMFwiXG4gICAgICAgICAgPjwvZmVDb2xvck1hdHJpeD5cbiAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgcmVzdWx0PVwiYmx1ck91dFwiIGluPVwibWF0cml4T3V0XCIgc3RkRGV2aWF0aW9uPVwiMlwiPjwvZmVHYXVzc2lhbkJsdXI+XG4gICAgICAgICAgPGZlQmxlbmQgaW49XCJTb3VyY2VHcmFwaGljXCIgaW4yPVwiYmx1ck91dFwiIG1vZGU9XCJub3JtYWxcIj48L2ZlQmxlbmQ+XG4gICAgICAgIDwvZmlsdGVyPlxuICAgICAgPC9kZWZzPlxuICAgICAgPHJlY3Q+PC9yZWN0PlxuICAgIDwvc3ZnPlxuICAgIDxjYW52YXMgY2xhc3M9XCJ2aWV3cG9ydFwiPjwvY2FudmFzPlxuICAgIDwhLS0gQWRkaXRpb25hbCBjYW52YXMgdG8gdXNlIGFzIGJ1ZmZlciB0byBhdm9pZCBmbGlja2VyaW5nIGJldHdlZW4gdXBkYXRlcyAtLT5cbiAgICA8Y2FudmFzIGNsYXNzPVwiYnVmZmVyXCI+PC9jYW52YXM+XG4gIGAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5uei1ncmFwaC1taW5pbWFwXSc6ICd0cnVlJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIE56R3JhcGhNaW5pbWFwQ29tcG9uZW50IHtcbiAgbWluaW1hcD86IE1pbmltYXA7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHt9XG5cbiAgaW5pdChjb250YWluZXJFbGU6IEVsZW1lbnRSZWYsIHpvb21CZWhhdmlvcjogWm9vbUJlaGF2aW9yPE56U2FmZUFueSwgTnpTYWZlQW55Pik6IHZvaWQge1xuICAgIGNvbnN0IHN2Z0VsZSA9IGNvbnRhaW5lckVsZS5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3N2ZycpO1xuICAgIGNvbnN0IHpvb21FbGUgPSBjb250YWluZXJFbGUubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdzdmcgPiBnJyk7XG4gICAgdGhpcy5taW5pbWFwID0gbmV3IE1pbmltYXAoc3ZnRWxlLCB6b29tRWxlLCB6b29tQmVoYXZpb3IsIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAxNTAsIDApO1xuICB9XG5cbiAgem9vbSh0cmFuc2Zvcm06IE56Wm9vbVRyYW5zZm9ybSk6IHZvaWQge1xuICAgIGlmICh0aGlzLm1pbmltYXApIHtcbiAgICAgIHRoaXMubWluaW1hcC56b29tKHRyYW5zZm9ybSk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm1pbmltYXApIHtcbiAgICAgIHRoaXMubWluaW1hcC51cGRhdGUoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==