@zodiac-ui/editor
Version:
A rich text editor for Angular based on `@atlaskit/editor-core`.
40 lines • 4.89 kB
JavaScript
import { ChangeDetectionStrategy, Component } from "@angular/core";
import { toggleSubscript } from "../../plugins/text-formatting/subsup/subsup.command";
import { isMarkActive } from "../../plugins/text-formatting/utils";
import { toggleMark } from "prosemirror-commands";
export class SubscriptToolComponent {
constructor() {
this.tool = {
tooltip: "Toggle Subscript",
icon: "fa-subscript",
run: toggleSubscript(),
active(state) {
const { subsup } = state.schema.marks;
if (subsup) {
return isMarkActive(state, subsup.create({ type: 'sub' }));
}
return false;
},
enable(state) {
const { subsup } = state.schema.marks;
if (subsup) {
return toggleMark(subsup, { type: 'sub' })(state);
}
return false;
}
};
}
}
SubscriptToolComponent.decorators = [
{ type: Component, args: [{
selector: "z-subscript-tool",
template: `
<z-editor-toolbar-button [tool]="tool"></z-editor-toolbar-button>
`,
changeDetection: ChangeDetectionStrategy.OnPush,
styles: [""]
}] }
];
/** @nocollapse */
SubscriptToolComponent.ctorParameters = () => [];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0LXRvb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHpvZGlhYy11aS9lZGl0b3IvIiwic291cmNlcyI6WyJ0b29scy9zdWJzY3JpcHQtdG9vbC9zdWJzY3JpcHQtdG9vbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBUyxNQUFNLGVBQWUsQ0FBQTtBQUV6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scURBQXFELENBQUE7QUFDckYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQ2xFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQVVqRCxNQUFNLE9BQU8sc0JBQXNCO0lBSS9CO1FBQ0ksSUFBSSxDQUFDLElBQUksR0FBRztZQUNSLE9BQU8sRUFBRSxrQkFBa0I7WUFDM0IsSUFBSSxFQUFFLGNBQWM7WUFDcEIsR0FBRyxFQUFFLGVBQWUsRUFBRTtZQUN0QixNQUFNLENBQUMsS0FBSztnQkFDUixNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7Z0JBQ3RDLElBQUksTUFBTSxFQUFFO29CQUNSLE9BQU8sWUFBWSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQTtpQkFDN0Q7Z0JBQ0QsT0FBTyxLQUFLLENBQUE7WUFDaEIsQ0FBQztZQUNELE1BQU0sQ0FBQyxLQUFLO2dCQUNSLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztnQkFDdEMsSUFBSSxNQUFNLEVBQUU7b0JBQ1IsT0FBTyxVQUFVLENBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUE7aUJBQ3BEO2dCQUNELE9BQU8sS0FBSyxDQUFBO1lBQ2hCLENBQUM7U0FDSixDQUFBO0lBQ0wsQ0FBQzs7O1lBaENKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsa0JBQWtCO2dCQUM1QixRQUFRLEVBQUU7O0tBRVQ7Z0JBRUQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiXHJcbmltcG9ydCB7IEVkaXRvclRvb2wgfSBmcm9tIFwiLi4vLi4vbGliL2VkaXRvci10b29sYmFyL2ludGVyZmFjZXNcIlxyXG5pbXBvcnQgeyB0b2dnbGVTdWJzY3JpcHQgfSBmcm9tIFwiLi4vLi4vcGx1Z2lucy90ZXh0LWZvcm1hdHRpbmcvc3Vic3VwL3N1YnN1cC5jb21tYW5kXCJcclxuaW1wb3J0IHsgaXNNYXJrQWN0aXZlIH0gZnJvbSBcIi4uLy4uL3BsdWdpbnMvdGV4dC1mb3JtYXR0aW5nL3V0aWxzXCJcclxuaW1wb3J0IHsgdG9nZ2xlTWFyayB9IGZyb20gXCJwcm9zZW1pcnJvci1jb21tYW5kc1wiXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcInotc3Vic2NyaXB0LXRvb2xcIixcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPHotZWRpdG9yLXRvb2xiYXItYnV0dG9uIFt0b29sXT1cInRvb2xcIj48L3otZWRpdG9yLXRvb2xiYXItYnV0dG9uPlxyXG4gICAgYCxcclxuICAgIHN0eWxlVXJsczogW1wiLi9zdWJzY3JpcHQtdG9vbC5jb21wb25lbnQuc2Nzc1wiXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3Vic2NyaXB0VG9vbENvbXBvbmVudCB7XHJcblxyXG4gICAgcHVibGljIHRvb2w6IEVkaXRvclRvb2xcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICB0aGlzLnRvb2wgPSB7XHJcbiAgICAgICAgICAgIHRvb2x0aXA6IFwiVG9nZ2xlIFN1YnNjcmlwdFwiLFxyXG4gICAgICAgICAgICBpY29uOiBcImZhLXN1YnNjcmlwdFwiLFxyXG4gICAgICAgICAgICBydW46IHRvZ2dsZVN1YnNjcmlwdCgpLFxyXG4gICAgICAgICAgICBhY3RpdmUoc3RhdGUpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHsgc3Vic3VwIH0gPSBzdGF0ZS5zY2hlbWEubWFya3M7XHJcbiAgICAgICAgICAgICAgICBpZiAoc3Vic3VwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGlzTWFya0FjdGl2ZShzdGF0ZSwgc3Vic3VwLmNyZWF0ZSh7IHR5cGU6ICdzdWInIH0pKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGVuYWJsZShzdGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgeyBzdWJzdXAgfSA9IHN0YXRlLnNjaGVtYS5tYXJrcztcclxuICAgICAgICAgICAgICAgIGlmIChzdWJzdXApIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdG9nZ2xlTWFyayhzdWJzdXAsIHsgdHlwZTogJ3N1YicgfSkoc3RhdGUpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2VcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=