@zodiac-ui/editor
Version:
A rich text editor for Angular based on `@atlaskit/editor-core`.
46 lines • 5.46 kB
JavaScript
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==