@zodiac-ui/editor
Version:
A rich text editor for Angular based on `@atlaskit/editor-core`.
35 lines • 4 kB
JavaScript
import { ChangeDetectionStrategy, Component, Input } from "@angular/core";
import { toggleUnderline } from "../../plugins/text-formatting/underline/underline.command";
import { isMarkTypeActive } from "../../plugins/text-formatting/utils";
export class UnderlineToolComponent {
constructor() {
this.tool = {
tooltip: 'Underline Text',
icon: 'fa-underline',
run: toggleUnderline(),
enable(state) {
return toggleUnderline()(state);
},
active(state) {
const { underline } = state.schema.marks;
return isMarkTypeActive(state, underline);
}
};
}
}
UnderlineToolComponent.decorators = [
{ type: Component, args: [{
selector: "z-underline-tool",
template: `
<z-editor-toolbar-button [tool]="tool"></z-editor-toolbar-button>
`,
changeDetection: ChangeDetectionStrategy.OnPush,
styles: [""]
}] }
];
/** @nocollapse */
UnderlineToolComponent.ctorParameters = () => [];
UnderlineToolComponent.propDecorators = {
tool: [{ type: Input }]
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5kZXJsaW5lLXRvb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHpvZGlhYy11aS9lZGl0b3IvIiwic291cmNlcyI6WyJ0b29scy91bmRlcmxpbmUtdG9vbC91bmRlcmxpbmUtdG9vbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJEQUEyRCxDQUFBO0FBRTNGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBVXRFLE1BQU0sT0FBTyxzQkFBc0I7SUFJL0I7UUFDSSxJQUFJLENBQUMsSUFBSSxHQUFHO1lBQ1IsT0FBTyxFQUFFLGdCQUFnQjtZQUN6QixJQUFJLEVBQUUsY0FBYztZQUNwQixHQUFHLEVBQUUsZUFBZSxFQUFFO1lBQ3RCLE1BQU0sQ0FBQyxLQUFLO2dCQUNSLE9BQU8sZUFBZSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDbkMsQ0FBQztZQUNELE1BQU0sQ0FBQyxLQUFrQjtnQkFDckIsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFBO2dCQUN4QyxPQUFPLGdCQUFnQixDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQTtZQUM3QyxDQUFDO1NBQ0osQ0FBQTtJQUNMLENBQUM7OztZQXpCSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsUUFBUSxFQUFFOztLQUVUO2dCQUVELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNsRDs7Ozs7bUJBRUksS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIlxyXG5pbXBvcnQgeyBFZGl0b3JUb29sIH0gZnJvbSBcIi4uLy4uL2xpYi9lZGl0b3ItdG9vbGJhci9pbnRlcmZhY2VzXCJcclxuaW1wb3J0IHsgdG9nZ2xlVW5kZXJsaW5lIH0gZnJvbSBcIi4uLy4uL3BsdWdpbnMvdGV4dC1mb3JtYXR0aW5nL3VuZGVybGluZS91bmRlcmxpbmUuY29tbWFuZFwiXHJcbmltcG9ydCB7IEVkaXRvclN0YXRlIH0gZnJvbSBcInByb3NlbWlycm9yLXN0YXRlXCJcclxuaW1wb3J0IHsgaXNNYXJrVHlwZUFjdGl2ZSB9IGZyb20gXCIuLi8uLi9wbHVnaW5zL3RleHQtZm9ybWF0dGluZy91dGlsc1wiXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcInotdW5kZXJsaW5lLXRvb2xcIixcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPHotZWRpdG9yLXRvb2xiYXItYnV0dG9uIFt0b29sXT1cInRvb2xcIj48L3otZWRpdG9yLXRvb2xiYXItYnV0dG9uPlxyXG4gICAgYCxcclxuICAgIHN0eWxlVXJsczogW1wiLi91bmRlcmxpbmUtdG9vbC5jb21wb25lbnQuc2Nzc1wiXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVW5kZXJsaW5lVG9vbENvbXBvbmVudCB7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHRvb2w6IEVkaXRvclRvb2xcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICB0aGlzLnRvb2wgPSB7XHJcbiAgICAgICAgICAgIHRvb2x0aXA6ICdVbmRlcmxpbmUgVGV4dCcsXHJcbiAgICAgICAgICAgIGljb246ICdmYS11bmRlcmxpbmUnLFxyXG4gICAgICAgICAgICBydW46IHRvZ2dsZVVuZGVybGluZSgpLFxyXG4gICAgICAgICAgICBlbmFibGUoc3RhdGUpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0b2dnbGVVbmRlcmxpbmUoKShzdGF0ZSlcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgYWN0aXZlKHN0YXRlOiBFZGl0b3JTdGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgeyB1bmRlcmxpbmUgfSA9IHN0YXRlLnNjaGVtYS5tYXJrc1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGlzTWFya1R5cGVBY3RpdmUoc3RhdGUsIHVuZGVybGluZSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=