@zodiac-ui/editor
Version:
A rich text editor for Angular based on `@atlaskit/editor-core`.
54 lines • 6.57 kB
JavaScript
import { ChangeDetectionStrategy, Component } from "@angular/core";
import { setBlockType } from "../../plugins/block-type/block-type.command";
import { pluginKey } from "../../plugins/block-type/block-type.plugin";
const headingLevels = [1, 2, 3, 4, 5, 6];
const blockTypesEnabled = (state) => {
const pluginState = pluginKey.getState(state);
return pluginState.blockTypesEnabled;
};
const ɵ0 = blockTypesEnabled;
const currentBlockSelected = (name) => (state) => {
const pluginState = pluginKey.getState(state);
return pluginState.currentBlockType.name === name;
};
const ɵ1 = currentBlockSelected;
const ɵ2 = level => ({
label: `Heading ${level}`,
run: setBlockType(`heading${level}`),
enable: blockTypesEnabled,
select(state) {
const pluginState = pluginKey.getState(state);
return level === pluginState.currentBlockType.level;
},
});
const headingTools = headingLevels.map(ɵ2);
export class HeadingToolComponent {
constructor() {
this.group = {
label: "Style",
tools: [
{
label: "Normal Text",
run: setBlockType("normal"),
enable: blockTypesEnabled,
select: currentBlockSelected("normal")
},
...headingTools,
],
};
}
}
HeadingToolComponent.decorators = [
{ type: Component, args: [{
selector: "z-heading-tool",
template: `
<z-editor-toolbar-select [group]="group"></z-editor-toolbar-select>
`,
changeDetection: ChangeDetectionStrategy.OnPush,
styles: [""]
}] }
];
/** @nocollapse */
HeadingToolComponent.ctorParameters = () => [];
export { ɵ0, ɵ1, ɵ2 };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGluZy10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B6b2RpYWMtdWkvZWRpdG9yLyIsInNvdXJjZXMiOlsidG9vbHMvaGVhZGluZy10b29sL2hlYWRpbmctdG9vbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUVsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkNBQTZDLENBQUE7QUFDMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRDQUE0QyxDQUFBO0FBS3RFLE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUV4QyxNQUFNLGlCQUFpQixHQUFHLENBQUMsS0FBa0IsRUFBRSxFQUFFO0lBQzdDLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDN0MsT0FBTyxXQUFXLENBQUMsaUJBQWlCLENBQUE7QUFDeEMsQ0FBQyxDQUFBOztBQUVELE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBa0IsRUFBRSxFQUFFO0lBQ2xFLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDN0MsT0FBTyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQTtBQUNyRCxDQUFDLENBQUE7O1dBRXNDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM3QyxLQUFLLEVBQUUsV0FBVyxLQUFLLEVBQUU7SUFDekIsR0FBRyxFQUFFLFlBQVksQ0FBQyxVQUFVLEtBQUssRUFBRSxDQUFDO0lBQ3BDLE1BQU0sRUFBRSxpQkFBaUI7SUFDekIsTUFBTSxDQUFDLEtBQUs7UUFDUixNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQzdDLE9BQU8sS0FBSyxLQUFLLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUE7SUFDdkQsQ0FBQztDQUNKLENBQUM7QUFSRixNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsR0FBRyxJQVFuQyxDQUFBO0FBVUgsTUFBTSxPQUFPLG9CQUFvQjtJQUc3QjtRQUNJLElBQUksQ0FBQyxLQUFLLEdBQUc7WUFDVCxLQUFLLEVBQUUsT0FBTztZQUNkLEtBQUssRUFBRTtnQkFDSDtvQkFDSSxLQUFLLEVBQUUsYUFBYTtvQkFDcEIsR0FBRyxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUM7b0JBQzNCLE1BQU0sRUFBRSxpQkFBaUI7b0JBQ3pCLE1BQU0sRUFBRSxvQkFBb0IsQ0FBQyxRQUFRLENBQUM7aUJBQ3pDO2dCQUNELEdBQUcsWUFBWTthQUNsQjtTQUNKLENBQUE7SUFDTCxDQUFDOzs7WUF4QkosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLFFBQVEsRUFBRTs7S0FFVDtnQkFFRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDbEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIlxyXG5pbXBvcnQgeyBFZGl0b3JUb29sR3JvdXAgfSBmcm9tIFwiLi4vLi4vbGliL2VkaXRvci10b29sYmFyL2ludGVyZmFjZXNcIlxyXG5pbXBvcnQgeyBzZXRCbG9ja1R5cGUgfSBmcm9tIFwiLi4vLi4vcGx1Z2lucy9ibG9jay10eXBlL2Jsb2NrLXR5cGUuY29tbWFuZFwiXHJcbmltcG9ydCB7IHBsdWdpbktleSB9IGZyb20gXCIuLi8uLi9wbHVnaW5zL2Jsb2NrLXR5cGUvYmxvY2stdHlwZS5wbHVnaW5cIlxyXG5pbXBvcnQgeyBFZGl0b3JTdGF0ZSB9IGZyb20gXCJwcm9zZW1pcnJvci1zdGF0ZVwiXHJcbmltcG9ydCB7IHRvZ2dsZUJsb2NrUXVvdGUgfSBmcm9tIFwiLi4vLi4vbGliL2tleW1hcHMva2V5bWFwXCJcclxuaW1wb3J0IHsgaW5zZXJ0QmxvY2tUeXBlIH0gZnJvbSBcIi4uLy4uL3BsdWdpbnMvYmxvY2stdHlwZS9rZXltYXBcIlxyXG5cclxuY29uc3QgaGVhZGluZ0xldmVscyA9IFsxLCAyLCAzLCA0LCA1LCA2XVxyXG5cclxuY29uc3QgYmxvY2tUeXBlc0VuYWJsZWQgPSAoc3RhdGU6IEVkaXRvclN0YXRlKSA9PiB7XHJcbiAgICBjb25zdCBwbHVnaW5TdGF0ZSA9IHBsdWdpbktleS5nZXRTdGF0ZShzdGF0ZSlcclxuICAgIHJldHVybiBwbHVnaW5TdGF0ZS5ibG9ja1R5cGVzRW5hYmxlZFxyXG59XHJcblxyXG5jb25zdCBjdXJyZW50QmxvY2tTZWxlY3RlZCA9IChuYW1lOiBzdHJpbmcpID0+IChzdGF0ZTogRWRpdG9yU3RhdGUpID0+IHtcclxuICAgIGNvbnN0IHBsdWdpblN0YXRlID0gcGx1Z2luS2V5LmdldFN0YXRlKHN0YXRlKVxyXG4gICAgcmV0dXJuIHBsdWdpblN0YXRlLmN1cnJlbnRCbG9ja1R5cGUubmFtZSA9PT0gbmFtZVxyXG59XHJcblxyXG5jb25zdCBoZWFkaW5nVG9vbHMgPSBoZWFkaW5nTGV2ZWxzLm1hcChsZXZlbCA9PiAoe1xyXG4gICAgbGFiZWw6IGBIZWFkaW5nICR7bGV2ZWx9YCxcclxuICAgIHJ1bjogc2V0QmxvY2tUeXBlKGBoZWFkaW5nJHtsZXZlbH1gKSxcclxuICAgIGVuYWJsZTogYmxvY2tUeXBlc0VuYWJsZWQsXHJcbiAgICBzZWxlY3Qoc3RhdGUpIHtcclxuICAgICAgICBjb25zdCBwbHVnaW5TdGF0ZSA9IHBsdWdpbktleS5nZXRTdGF0ZShzdGF0ZSlcclxuICAgICAgICByZXR1cm4gbGV2ZWwgPT09IHBsdWdpblN0YXRlLmN1cnJlbnRCbG9ja1R5cGUubGV2ZWxcclxuICAgIH0sXHJcbn0pKVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJ6LWhlYWRpbmctdG9vbFwiLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8ei1lZGl0b3ItdG9vbGJhci1zZWxlY3QgW2dyb3VwXT1cImdyb3VwXCI+PC96LWVkaXRvci10b29sYmFyLXNlbGVjdD5cclxuICAgIGAsXHJcbiAgICBzdHlsZVVybHM6IFtcIi4vaGVhZGluZy10b29sLmNvbXBvbmVudC5zY3NzXCJdLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIZWFkaW5nVG9vbENvbXBvbmVudCB7XHJcbiAgICBwdWJsaWMgZ3JvdXA6IEVkaXRvclRvb2xHcm91cFxyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHRoaXMuZ3JvdXAgPSB7XHJcbiAgICAgICAgICAgIGxhYmVsOiBcIlN0eWxlXCIsXHJcbiAgICAgICAgICAgIHRvb2xzOiBbXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwiTm9ybWFsIFRleHRcIixcclxuICAgICAgICAgICAgICAgICAgICBydW46IHNldEJsb2NrVHlwZShcIm5vcm1hbFwiKSxcclxuICAgICAgICAgICAgICAgICAgICBlbmFibGU6IGJsb2NrVHlwZXNFbmFibGVkLFxyXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdDogY3VycmVudEJsb2NrU2VsZWN0ZWQoXCJub3JtYWxcIilcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAuLi5oZWFkaW5nVG9vbHMsXHJcbiAgICAgICAgICAgIF0sXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==