UNPKG

@zodiac-ui/editor

Version:

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

46 lines 5.46 kB
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from "@angular/core"; import { EditorToolbar } from "../interfaces"; export class EditorToolbarSelectComponent { constructor(toolbar, cdr) { this.toolbar = toolbar; this.cdr = cdr; } ngOnInit() { this.selected = this.group; this.toolbar.stateChange.subscribe((editor) => { this.selected = this.group.tools.find(option => option.select(editor.state)) || this.group; this.cdr.detectChanges(); }); } runTool(tool) { this.toolbar.runTool(tool); } } EditorToolbarSelectComponent.decorators = [ { type: Component, args: [{ selector: "z-editor-toolbar-select", template: ` <mat-form-field> <mat-select [value]="selected" [placeholder]="group.label" (selectionChange)="runTool($event.value)"> <mat-select-trigger> <span [textContent]="selected.label"></span> </mat-select-trigger> <mat-option *ngFor="let tool of group.tools" [value]="tool"> <span [textContent]="tool.label"></span> </mat-option> </mat-select> </mat-form-field> `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [""] }] } ]; /** @nocollapse */ EditorToolbarSelectComponent.ctorParameters = () => [ { type: EditorToolbar }, { type: ChangeDetectorRef } ]; EditorToolbarSelectComponent.propDecorators = { group: [{ type: Input }] }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLXRvb2xiYXItc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B6b2RpYWMtdWkvZWRpdG9yLyIsInNvdXJjZXMiOlsibGliL2VkaXRvci10b29sYmFyL2VkaXRvci10b29sYmFyLXNlbGVjdC9lZGl0b3ItdG9vbGJhci1zZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFBO0FBQ3BHLE9BQU8sRUFBYyxhQUFhLEVBQW1CLE1BQU0sZUFBZSxDQUFBO0FBbUIxRSxNQUFNLE9BQU8sNEJBQTRCO0lBVXJDLFlBQVksT0FBc0IsRUFBRSxHQUFzQjtRQUN0RCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQTtRQUN0QixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQTtJQUNsQixDQUFDO0lBRU0sUUFBUTtRQUNYLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUMxQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQztZQUMzRixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFBO1FBQzVCLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUVNLE9BQU8sQ0FBQyxJQUFnQjtRQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUM5QixDQUFDOzs7WUExQ0osU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSx5QkFBeUI7Z0JBQ25DLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7S0FXVDtnQkFFRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDbEQ7Ozs7WUFsQm9CLGFBQWE7WUFEQSxpQkFBaUI7OztvQkFzQjlDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCJcclxuaW1wb3J0IHsgRWRpdG9yVG9vbCwgRWRpdG9yVG9vbGJhciwgRWRpdG9yVG9vbEdyb3VwIH0gZnJvbSBcIi4uL2ludGVyZmFjZXNcIlxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJ6LWVkaXRvci10b29sYmFyLXNlbGVjdFwiLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgIDxtYXQtc2VsZWN0IFt2YWx1ZV09XCJzZWxlY3RlZFwiIFtwbGFjZWhvbGRlcl09XCJncm91cC5sYWJlbFwiIChzZWxlY3Rpb25DaGFuZ2UpPVwicnVuVG9vbCgkZXZlbnQudmFsdWUpXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdC10cmlnZ2VyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJzZWxlY3RlZC5sYWJlbFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHRvb2wgb2YgZ3JvdXAudG9vbHNcIiBbdmFsdWVdPVwidG9vbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJ0b29sLmxhYmVsXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIGAsXHJcbiAgICBzdHlsZVVybHM6IFtcIi4vZWRpdG9yLXRvb2xiYXItc2VsZWN0LmNvbXBvbmVudC5zY3NzXCJdLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFZGl0b3JUb29sYmFyU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGdyb3VwOiBFZGl0b3JUb29sR3JvdXBcclxuXHJcbiAgICBwdWJsaWMgc2VsZWN0ZWQ6IEVkaXRvclRvb2wgfCBFZGl0b3JUb29sR3JvdXBcclxuXHJcbiAgICBwcml2YXRlIHRvb2xiYXI6IEVkaXRvclRvb2xiYXJcclxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG5cclxuICAgIGNvbnN0cnVjdG9yKHRvb2xiYXI6IEVkaXRvclRvb2xiYXIsIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgICAgICB0aGlzLnRvb2xiYXIgPSB0b29sYmFyXHJcbiAgICAgICAgdGhpcy5jZHIgPSBjZHJcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHRoaXMuZ3JvdXBcclxuICAgICAgICB0aGlzLnRvb2xiYXIuc3RhdGVDaGFuZ2Uuc3Vic2NyaWJlKChlZGl0b3IpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHRoaXMuZ3JvdXAudG9vbHMuZmluZChvcHRpb24gPT4gb3B0aW9uLnNlbGVjdChlZGl0b3Iuc3RhdGUpKSB8fCB0aGlzLmdyb3VwO1xyXG4gICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBydW5Ub29sKHRvb2w6IEVkaXRvclRvb2wpIHtcclxuICAgICAgICB0aGlzLnRvb2xiYXIucnVuVG9vbCh0b29sKVxyXG4gICAgfVxyXG59XHJcbiJdfQ==