@paperbits/core
Version:
Paperbits core components.
36 lines (28 loc) • 1.41 kB
text/typescript
import { IWidgetHandler, WidgetContext } from "@paperbits/common/editing";
import { IContextCommandSet } from "@paperbits/common/ui";
import { deleteWidgetCommand, openWidgetEditorCommand, splitter, switchToParentCommand } from "@paperbits/common/ui/commands";
import { ButtonModel } from "./buttonModel";
import { IVisibilityContextCommandProvider } from "../security/visibilityContextCommandProvider";
export class ButtonHandlers implements IWidgetHandler<ButtonModel> {
constructor(private readonly visibilityCommandProvider: IVisibilityContextCommandProvider) { }
public async getWidgetModel(): Promise<ButtonModel> {
return new ButtonModel();
}
public getContextCommands(context: WidgetContext): IContextCommandSet {
const visibilityCommand = this.visibilityCommandProvider.create(context);
const selectCommands = [
openWidgetEditorCommand(context, "Edit button"),
splitter(),
switchToParentCommand(context),
// openHelpArticleCommand(context, "/widgets/button")
];
if (visibilityCommand) {
selectCommands.push(visibilityCommand);
}
const contextualEditor: IContextCommandSet = {
selectCommands: selectCommands,
deleteCommand: deleteWidgetCommand(context)
};
return contextualEditor;
}
}