UNPKG

@zodiac-ui/editor

Version:

A rich text editor for Angular based on `@atlaskit/editor-core`.

41 lines 4.64 kB
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, Input } from "@angular/core"; import { EditorToolbar } from "../interfaces"; export class EditorToolbarButtonComponent { constructor(toolbar, cdr) { this.toolbar = toolbar; this.cdr = cdr; } ngOnInit() { this.toolbar.stateChange.subscribe(editor => { if (this.tool.active) { this.active = this.tool.active(editor.state); } this.cdr.markForCheck(); }); } runTool(tool) { this.toolbar.runTool(tool); } } EditorToolbarButtonComponent.decorators = [ { type: Component, args: [{ selector: "z-editor-toolbar-button", template: ` <button mat-icon-button [matTooltip]="tool.tooltip" (click)="runTool(tool)"> <mat-icon fontSet="fa" [fontIcon]="tool.icon"></mat-icon> </button> `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{overflow:hidden;opacity:.5}:host.active{opacity:1}"] }] } ]; /** @nocollapse */ EditorToolbarButtonComponent.ctorParameters = () => [ { type: EditorToolbar }, { type: ChangeDetectorRef } ]; EditorToolbarButtonComponent.propDecorators = { tool: [{ type: Input }], active: [{ type: HostBinding, args: ['class.active',] }] }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLXRvb2xiYXItYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B6b2RpYWMtdWkvZWRpdG9yLyIsInNvdXJjZXMiOlsibGliL2VkaXRvci10b29sYmFyL2VkaXRvci10b29sYmFyLWJ1dHRvbi9lZGl0b3ItdG9vbGJhci1idXR0b24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQTtBQUNqSCxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBWXpELE1BQU0sT0FBTyw0QkFBNEI7SUFVckMsWUFBWSxPQUFzQixFQUFFLEdBQXNCO1FBQ3RELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBO1FBQ3RCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFBO0lBQ2xCLENBQUM7SUFFTSxRQUFRO1FBQ1gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3hDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO2FBQy9DO1lBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQTtRQUMzQixDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFFTSxPQUFPLENBQUMsSUFBZ0I7UUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDOUIsQ0FBQzs7O1lBcENKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUseUJBQXlCO2dCQUNuQyxRQUFRLEVBQUU7Ozs7S0FJVDtnQkFFRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDbEQ7Ozs7WUFYb0IsYUFBYTtZQURBLGlCQUFpQjs7O21CQWM5QyxLQUFLO3FCQUdMLFdBQVcsU0FBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIlxyXG5pbXBvcnQgeyBFZGl0b3JUb29sLCBFZGl0b3JUb29sYmFyIH0gZnJvbSBcIi4uL2ludGVyZmFjZXNcIlxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJ6LWVkaXRvci10b29sYmFyLWJ1dHRvblwiLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbbWF0VG9vbHRpcF09XCJ0b29sLnRvb2x0aXBcIiAoY2xpY2spPVwicnVuVG9vbCh0b29sKVwiPlxyXG4gICAgICAgICAgICA8bWF0LWljb24gZm9udFNldD1cImZhXCIgW2ZvbnRJY29uXT1cInRvb2wuaWNvblwiPjwvbWF0LWljb24+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICBgLFxyXG4gICAgc3R5bGVVcmxzOiBbXCIuL2VkaXRvci10b29sYmFyLWJ1dHRvbi5jb21wb25lbnQuc2Nzc1wiXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRWRpdG9yVG9vbGJhckJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHRvb2w6IEVkaXRvclRvb2xcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFjdGl2ZScpXHJcbiAgICBwdWJsaWMgYWN0aXZlOiBib29sZWFuXHJcblxyXG4gICAgcHJpdmF0ZSB0b29sYmFyOiBFZGl0b3JUb29sYmFyXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcih0b29sYmFyOiBFZGl0b3JUb29sYmFyLCBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICAgICAgdGhpcy50b29sYmFyID0gdG9vbGJhclxyXG4gICAgICAgIHRoaXMuY2RyID0gY2RyXHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMudG9vbGJhci5zdGF0ZUNoYW5nZS5zdWJzY3JpYmUoZWRpdG9yID0+IHtcclxuICAgICAgICAgICAgaWYgKHRoaXMudG9vbC5hY3RpdmUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlID0gdGhpcy50b29sLmFjdGl2ZShlZGl0b3Iuc3RhdGUpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKClcclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBydW5Ub29sKHRvb2w6IEVkaXRvclRvb2wpIHtcclxuICAgICAgICB0aGlzLnRvb2xiYXIucnVuVG9vbCh0b29sKVxyXG4gICAgfVxyXG59XHJcbiJdfQ==