import type AtomHtmlEditor from "../AtomHtmlEditor";
function query(name: keyof typeof HtmlCommands): IHtmlCommand {
return {
canExecute(e: AtomHtmlEditor): boolean {
return e.queryCommandState(name);
},
execute(e: AtomHtmlEditor, showUI?: boolean, value?: string): boolean {
return e.executeCommand(name, showUI, value);
}
};
}
export interface IHtmlCommand {
canExecute(e: AtomHtmlEditor): boolean;
execute(e: AtomHtmlEditor, showUI?: boolean, value?: string): boolean;
}
export default class HtmlCommands {
public static backColor = query("backColor");
public static bold = query("bold");
public static contentReadOnly = query("contentReadOnly");
public static copy = query("copy");
public static createLink = query("createLink");
public static cut = query("cut");
public static decreaseFontSize = query("decreaseFontSize");
public static defaultParagraphSeparator = query("defaultParagraphSeparator");
public static enableAbsolutePositionEditor = query("enableAbsolutePositionEditor");
public static enableInlineTableEditing = query("enableInlineTableEditing");
public static enableObjectResizing = query("enableObjectResizing");
public static fontName = query("fontName");
public static fontSize = query("fontSize");
public static foreColor = query("foreColor");
public static formatBlock = query("formatBlock");
public static forwardDelete = query("forwardDelete");
public static heading = query("heading");
public static hiliteColor = query("hiliteColor");
public static increaseFontSize = query("increaseFontSize");
public static indent = query("indent");
public static insertBrOnReturn = query("insertBrOnReturn");
public static insertHorizontalRule = query("insertHorizontalRule");
public static insertHTML = query("insertHTML");
public static insertImage = query("insertImage");
public static insertOrderedList = query("insertOrderedList");
public static insertUnorderedList = query("insertUnorderedList");
public static insertParagraph = query("insertParagraph");
public static insertText = query("insertText");
public static italic = query("italic");
public static justifyCenter = query("justifyCenter");
public static justifyFull = query("justifyFull");
public static justifyLeft = query("justifyLeft");
public static justifyRight = query("justifyRight");
public static outdent = query("outdent");
public static paste = query("paste");
public static redo = query("redo");
public static removeFormat = query("removeFormat");
public static selectAll = query("selectAll");
public static strikeThrough = query("strikeThrough");
public static subscript = query("subscript");
public static superscript = query("superscript");
public static underline = query("underline");
public static undo = query("undo");
public static unlink = query("unlink");
public static useCSS = query("useCSS");
public static styleWithCSS = query("styleWithCSS");
public static AutoUrlDetect = query("AutoUrlDetect");
public static enabled = {
canExecute(e) {
return true;
},
execute() {
throw new Error("not supported");
}
};
}