2429 lines
68 KiB
TypeScript
Executable File
2429 lines
68 KiB
TypeScript
Executable File
declare module "froala-editor" {
|
|
export default class FroalaEditor {
|
|
constructor(element: any, options: Partial<FroalaOptions>, fun?: (this: FroalaEditor) => any);
|
|
$oel: any;
|
|
$el: any;
|
|
$tb: any;
|
|
$box: any;
|
|
$wp: any;
|
|
$doc: any;
|
|
$sc: any;
|
|
$second_tb: any;
|
|
$tooltip: any;
|
|
el: any;
|
|
static ID: number;
|
|
static XS: number;
|
|
static SM: number;
|
|
static MD: number;
|
|
static LG: number;
|
|
static MARKERS: string;
|
|
static ENTER_BR: ENTER_BR;
|
|
static ENTER_P: ENTER_P;
|
|
static ENTER_DIV: ENTER_DIV;
|
|
static KEYCODE: keycodeParameters;
|
|
static COMMANDS: Partial<commandsInterface>;
|
|
destroy(): object;
|
|
opts: FroalaOptions;
|
|
align: Align;
|
|
button: Button;
|
|
charCounter: CharCounter;
|
|
wordCounter: WordCounter;
|
|
clean: Clean;
|
|
codeView: CodeView;
|
|
colors: Colors;
|
|
commands: Commands;
|
|
core: Core;
|
|
cursor: Cursor;
|
|
edit: Edit;
|
|
editInPopup: EditInPopup;
|
|
embedly: Embedly;
|
|
emoticons: Emoticons;
|
|
events: Events;
|
|
file: File;
|
|
fontFamily: FontFamily;
|
|
fontSize: FontSize;
|
|
format: Format;
|
|
forms: Forms;
|
|
fullscreen: Fullscreen;
|
|
helpers: Helpers;
|
|
html: HTML;
|
|
image: Image;
|
|
inlineClass: InlineClass;
|
|
inlineStyle: InlineStyle;
|
|
keys: Keys;
|
|
language: Language;
|
|
lineHeight: LineHeight;
|
|
link: Link;
|
|
lists: Lists;
|
|
markers: Markers;
|
|
markdown: Markdown;
|
|
modals: Modals;
|
|
node: Node;
|
|
paragraphFormat: ParagraphFormat;
|
|
paragraphStyle: ParagraphStyle;
|
|
placeholder: Placeholder;
|
|
popups: Popups;
|
|
position: Position;
|
|
quote: Apply<string>;
|
|
save: Save;
|
|
selection: FroalaSelection;
|
|
size: Size;
|
|
snapshot: Snapshot;
|
|
spellChecker: SpellChecker;
|
|
table: Table;
|
|
toolbar: Toolbar;
|
|
tooltip: Tooltip;
|
|
undo: Undo;
|
|
video: Video;
|
|
filesManager: FilesManager;
|
|
imageManager: ImageManager;
|
|
trim_video: Trim_video;
|
|
track_changes: Track_Changes;
|
|
special_characters: Special_characters;
|
|
word_paste: Word_paste;
|
|
refresh: Refresh;
|
|
shortcuts: Shortcuts;
|
|
static DefineIcon: (name: string, parameters: Partial<DefineIconParameters>) => object;
|
|
static RegisterCommand: (name: string, parameters: Partial<RegisterCommandParameters>) => void;
|
|
static RegisterShortcut: (keyCode: number,
|
|
command: string,
|
|
commandValue: any,
|
|
shortcutLetter?: string,
|
|
shiftKeyRequired?: boolean,
|
|
optionKeyRequired?: boolean
|
|
) => void;
|
|
static RegisterTemplate: (name: string, template: string) => void;
|
|
static RegisterQuickInsertButton: (name: string, parameters: object) => void;
|
|
static DefineIconTemplate: (name: string, template: string) => void;
|
|
static ICON_DEFAULT_TEMPLATE: string;
|
|
static ICON_TEMPLATES: Partial<iconTemplates>;
|
|
static DEFAULTS: Partial<FroalaOptions> | { [key: string]: any };
|
|
static PLUGINS: (GenericObject<(editor: FroalaEditor) => CustomPlugin>) | any;
|
|
static MODULES: any | { [key: string]: any | { [key: string]: any } };
|
|
static BLOCK_TAGS: string[];
|
|
static END_MARKER: string;
|
|
static FILEICONS: Partial<fileIcons>;
|
|
static HAIR_SPACE: string;
|
|
static HTML5Map: {B: string, I: string, STRIKE: string};
|
|
static ICONS: Partial<icons>;
|
|
static INSTANCES: FroalaEditor[];
|
|
static INVISIBLE_SPACE: string;
|
|
static LANGUAGE: Languages;
|
|
static EXTERNAL_COMMANDS: any;
|
|
static MAIL_REGEX: RegExp;
|
|
static NO_DELETE_TAGS: string[];
|
|
static OPTS_MAPPING: object;
|
|
static POPUP_TEMPLATES: { [key: string]: any};
|
|
static POWERED_BY: string;
|
|
static SHARED: object;
|
|
static SHORTCUTS_MAP: object;
|
|
static SIMPLE_ENTER_TAGS: string[];
|
|
static START_MARKER: string;
|
|
static SVG: Partial<svg>;
|
|
static UNICODE_NBSP: string;
|
|
static VOID_ELEMENTS: string[];
|
|
static TOOLBAR_BUTTONS: Partial<ToolbarButtons>;
|
|
static TOOLBAR_BUTTONS_MD: any;
|
|
static TOOLBAR_BUTTONS_SM: Partial<ToolbarButtons>;
|
|
static TOOLBAR_BUTTONS_XS: Partial<ToolbarButtons>;
|
|
static TOOLBAR_VISIBLE_BUTTONS: number;
|
|
static VERSION: string;
|
|
static IMAGE_ALLOW_REGEX: RegExp;
|
|
static VIDEO_EMBED_REGEX: RegExp;
|
|
static IMAGE_EMBED_REGEX: RegExp;
|
|
static IMAGE_TYPE: string;
|
|
static VIDEO_PROVIDERS: object[];
|
|
static URLRegEx: string;
|
|
static LinkRegEx: string;
|
|
static QUICK_INSERT_BUTTONS: object;
|
|
LinkProtocols: string[];
|
|
LinkRegEx: string;
|
|
LinkRegExAuth: string;
|
|
LinkRegExCommon: string;
|
|
LinkRegExEnd: string;
|
|
LinkRegExHTTP: string;
|
|
LinkRegExTLD: string;
|
|
LinkRegExWWW: string;
|
|
icon: Icon;
|
|
accessibility: Accessibility;
|
|
[key: string]: any;
|
|
static [key: string]: any;
|
|
}
|
|
|
|
export type GenericObject<T = any> = { [key: string]: T };
|
|
|
|
export interface DefineIconParameters {
|
|
/**
|
|
* Template to be used to resolve the icon. Default is font_awesome.
|
|
* The values passed from DefineIconParameters will be injected into this templates html via parameter expansion.
|
|
*/
|
|
template: string;
|
|
|
|
/**
|
|
* Default parameters available. Refer to ICON_TEMPLATES for more info.
|
|
*/
|
|
NAME: string;
|
|
SRC: string;
|
|
ALT: string;
|
|
FA5NAME: string;
|
|
SVG_KEY: string;
|
|
[key: string]: any;
|
|
}
|
|
|
|
export interface RegisterCommandParameters {
|
|
type: string;
|
|
// Button title.
|
|
title: string;
|
|
|
|
// Specify the icon for the button.
|
|
// If this option is not specified, the button name will be used.
|
|
icon: string;
|
|
|
|
// Save the button action into undo stack.
|
|
undo: boolean;
|
|
|
|
// Focus inside the editor before the callback.
|
|
focus: boolean;
|
|
|
|
// Show the button on mobile or not.
|
|
showOnMobile: boolean;
|
|
|
|
// Refresh the buttons state after the callback.
|
|
refreshAfterCallback: boolean;
|
|
|
|
// Called when the button is hit.
|
|
// The current context is the editor instance.
|
|
callback: (this: FroalaEditor, buttonName: string, val?: any, params?: any) => void;
|
|
|
|
// Called when the button state might have changed.
|
|
refresh: (this: FroalaEditor, button: any) => void;
|
|
refreshOnShow: (this: FroalaEditor, $btn: any, $dropdown: any) => void;
|
|
plugin: string;
|
|
popup: boolean;
|
|
popups: any;
|
|
customPlugin: any;
|
|
toggle: boolean;
|
|
[key: string]: any;
|
|
}
|
|
|
|
export interface iconTemplates {
|
|
font_awesome: string,
|
|
font_awesome_5: string,
|
|
font_awesome_5r: string,
|
|
font_awesome_5l: string,
|
|
font_awesome_5b: string,
|
|
text: string,
|
|
image: string,
|
|
svg: string,
|
|
empty: string,
|
|
[key: string]: string
|
|
}
|
|
|
|
export interface fileIcons{
|
|
docIcon: {
|
|
extension: string,
|
|
path: string
|
|
},
|
|
gifIcon: {
|
|
extension: string,
|
|
path: string
|
|
},
|
|
jpegIcon: {
|
|
extension: string,
|
|
path: string
|
|
},
|
|
logIcon: {
|
|
extension: string,
|
|
path: string
|
|
},
|
|
movIcon: {
|
|
extension: string,
|
|
path: string
|
|
},
|
|
ogvIcon: {
|
|
extension: string,
|
|
path: string
|
|
},
|
|
pngIcon: {
|
|
extension: string,
|
|
path: string
|
|
},
|
|
txtIcon: {
|
|
extension: string,
|
|
path: string
|
|
},
|
|
webmIcon: {
|
|
extension: string,
|
|
path: string
|
|
},
|
|
webpIcon: {
|
|
extension: string,
|
|
path: string
|
|
},
|
|
wmvIcon: {
|
|
extension: string,
|
|
path: string
|
|
},
|
|
xlsIcon: {
|
|
extension: string,
|
|
path: string
|
|
},
|
|
|
|
xlsxIcon: {
|
|
extension: string,
|
|
path: string
|
|
},
|
|
zipIcon: {
|
|
extension: string,
|
|
path: string
|
|
},
|
|
docxIcon: {
|
|
extension: string,
|
|
path: string
|
|
},
|
|
jpgIcon: {
|
|
extension: string,
|
|
path: string
|
|
},
|
|
mp3Icon: {
|
|
extension: string,
|
|
path: string
|
|
},
|
|
mp4Icon: {
|
|
extension: string,
|
|
path: string
|
|
},
|
|
oggIcon: {
|
|
extension: string,
|
|
path: string
|
|
},
|
|
pdfIcon: {
|
|
extension: string,
|
|
path: string
|
|
},
|
|
defaultIcon: {
|
|
extension: string,
|
|
path: string
|
|
},
|
|
[key: string]: { extension?: string, path?: string | RegExp }
|
|
}
|
|
|
|
export interface icons{
|
|
bold: {
|
|
NAME: string,
|
|
SVG_KEY: string
|
|
},
|
|
italic: {
|
|
NAME: string,
|
|
SVG_KEY: string
|
|
},
|
|
underline: {
|
|
NAME: string,
|
|
SVG_KEY: string
|
|
},
|
|
strikeThrough: {
|
|
NAME: string,
|
|
SVG_KEY: string
|
|
},
|
|
subscript: {
|
|
NAME: string,
|
|
SVG_KEY: string
|
|
},
|
|
superscript: {
|
|
NAME: string,
|
|
SVG_KEY: string
|
|
},
|
|
cancel: {
|
|
NAME: string,
|
|
SVG_KEY: string
|
|
},
|
|
color: {
|
|
NAME: string,
|
|
SVG_KEY: string
|
|
},
|
|
outdent: {
|
|
NAME: string,
|
|
SVG_KEY: string
|
|
},
|
|
indent: {
|
|
NAME: string,
|
|
SVG_KEY: string
|
|
},
|
|
undo: {
|
|
NAME: string,
|
|
FA5NAME: string,
|
|
SVG_KEY: string
|
|
},
|
|
redo: {
|
|
NAME: string,
|
|
FA5NAME: string,
|
|
SVG_KEY: string
|
|
},
|
|
|
|
insert: {
|
|
NAME: string,
|
|
SVG_KEY: string
|
|
},
|
|
insertAll: {
|
|
NAME: string,
|
|
SVG_KEY: string
|
|
},
|
|
insertHR: {
|
|
NAME: string,
|
|
SVG_KEY: string
|
|
},
|
|
clearFormatting: {
|
|
NAME: string,
|
|
SVG_KEY: string
|
|
},
|
|
selectAll: {
|
|
NAME: string,
|
|
SVG_KEY: string
|
|
},
|
|
minimize: {
|
|
NAME: string,
|
|
SVG_KEY: string
|
|
},
|
|
moreText: {
|
|
NAME: string,
|
|
SVG_KEY: string
|
|
},
|
|
moreParagraph: {
|
|
NAME: string,
|
|
SVG_KEY: string
|
|
},
|
|
moreRich: {
|
|
NAME: string,
|
|
SVG_KEY: string
|
|
},
|
|
moreMisc: {
|
|
NAME: string,
|
|
SVG_KEY: string
|
|
},
|
|
[key: string]: {
|
|
NAME: string,
|
|
SVG_KEY: string,
|
|
FA5NAME?: string
|
|
}
|
|
}
|
|
|
|
export interface Languages {
|
|
ar: languageParameters;
|
|
bs: languageParameters;
|
|
cs: languageParameters;
|
|
da: languageParameters;
|
|
de: languageParameters;
|
|
el: languageParameters;
|
|
en_ca: languageParameters;
|
|
en_gb: languageParameters;
|
|
es: languageParameters;
|
|
et: languageParameters;
|
|
fa: languageParameters;
|
|
fi: languageParameters;
|
|
fr: languageParameters;
|
|
he: languageParameters;
|
|
hr: languageParameters;
|
|
hu: languageParameters;
|
|
id: languageParameters;
|
|
it: languageParameters;
|
|
ja: languageParameters;
|
|
ko: languageParameters;
|
|
ku: languageParameters;
|
|
me: languageParameters;
|
|
nb: languageParameters;
|
|
nl: languageParameters;
|
|
pl: languageParameters;
|
|
pt_br: languageParameters;
|
|
pt_pt: languageParameters;
|
|
ro: languageParameters;
|
|
ru: languageParameters;
|
|
sk: languageParameters;
|
|
sl: languageParameters;
|
|
sr: languageParameters;
|
|
sv: languageParameters;
|
|
th: languageParameters;
|
|
tr: languageParameters;
|
|
uk: languageParameters;
|
|
vi: languageParameters;
|
|
zh_cn: languageParameters;
|
|
zh_tw: languageParameters;
|
|
[key: string]: any;
|
|
}
|
|
|
|
export interface languageParameters {
|
|
translation: {
|
|
'Type something': string,
|
|
|
|
// Basic formatting
|
|
'Bold': string,
|
|
'Italic': string,
|
|
'Underline': string,
|
|
'Strikethrough': string,
|
|
|
|
// Main buttons
|
|
'Insert': string,
|
|
'Delete': string,
|
|
'Cancel': string,
|
|
'OK': string,
|
|
'Back': string,
|
|
'Remove': string,
|
|
'More': string,
|
|
'Update': string,
|
|
'Style': string,
|
|
|
|
// Font
|
|
'Font Family': string,
|
|
'Font Size': string,
|
|
|
|
// Colors
|
|
'Colors': string,
|
|
'Background': string,
|
|
'Text': string,
|
|
'HEX Color': string,
|
|
|
|
// Paragraphs
|
|
'Paragraph Format': string,
|
|
'Normal': string,
|
|
'Code': string,
|
|
'Heading 1': string,
|
|
'Heading 2': string,
|
|
'Heading 3': string,
|
|
'Heading 4': string,
|
|
|
|
// Style
|
|
'Paragraph Style': string,
|
|
'Inline Style': string,
|
|
|
|
// Alignment
|
|
'Align': string,
|
|
'Align Left': string,
|
|
'Align Center': string,
|
|
'Align Right': string,
|
|
'Align Justify': string,
|
|
'None': string,
|
|
|
|
// Lists
|
|
'Ordered List': string,
|
|
'Unordered List': string,
|
|
|
|
// Indent
|
|
'Decrease Indent': string,
|
|
'Increase Indent': string,
|
|
|
|
// Links
|
|
'Insert Link': string,
|
|
'Open in new tab': string,
|
|
'Open Link': string,
|
|
'Edit Link': string,
|
|
'Unlink': string,
|
|
'Choose Link': string,
|
|
|
|
// Images
|
|
'Insert Image': string,
|
|
'Upload Image': string,
|
|
'By URL': string,
|
|
'Browse': string,
|
|
'Drop image': string,
|
|
'or click': string,
|
|
'Manage Images': string,
|
|
'Loading': string,
|
|
'Deleting': string,
|
|
'Tags': string,
|
|
'Are you sure? Image will be deleted.': string,
|
|
'Replace': string,
|
|
'Uploading': string,
|
|
'Loading image': string,
|
|
'Display': string,
|
|
'Inline': string,
|
|
'Break Text': string,
|
|
'Alternative Text': string,
|
|
'Change Size': string,
|
|
'Width': string,
|
|
'Height': string,
|
|
'Something went wrong. Please try again.': string,
|
|
'Image Caption': string,
|
|
'Advanced Edit': string,
|
|
|
|
// Video
|
|
'Insert Video': string,
|
|
'Embedded Code': string,
|
|
'Paste in a video URL': string,
|
|
'Drop video': string,
|
|
'Your browser does not support HTML5 video.': string,
|
|
'Upload Video': string,
|
|
|
|
// Tables
|
|
'Insert Table': string,
|
|
'Table Header': string,
|
|
'Remove Table': string,
|
|
'Table Style': string,
|
|
'Horizontal Align': string,
|
|
'Row': string,
|
|
'Insert row above': string,
|
|
'Insert row below': string,
|
|
'Delete row': string,
|
|
'Column': string,
|
|
'Insert column before': string,
|
|
'Insert column after': string,
|
|
'Delete column': string,
|
|
'Cell': string,
|
|
'Merge cells': string,
|
|
'Horizontal split': string,
|
|
'Vertical split': string,
|
|
'Cell Background': string,
|
|
'Vertical Align': string,
|
|
'Top': string,
|
|
'Middle': string,
|
|
'Bottom': string,
|
|
'Align Top': string,
|
|
'Align Middle': string,
|
|
'Align Bottom': string,
|
|
'Cell Style': string,
|
|
|
|
// Files
|
|
'Upload File': string,
|
|
'Drop file': string,
|
|
|
|
// Emoticons
|
|
'Emoticons': string,
|
|
'Grinning face': string,
|
|
'Grinning face with smiling eyes': string,
|
|
'Face with tears of joy': string,
|
|
'Smiling face with open mouth': string,
|
|
'Smiling face with open mouth and smiling eyes': string,
|
|
'Smiling face with open mouth and cold sweat': string,
|
|
'Smiling face with open mouth and tightly-closed eyes': string,
|
|
'Smiling face with halo': string,
|
|
'Smiling face with horns': string,
|
|
'Winking face': string,
|
|
'Smiling face with smiling eyes': string,
|
|
'Face savoring delicious food': string,
|
|
'Relieved face': string,
|
|
'Smiling face with heart-shaped eyes': string,
|
|
'Smiling face with sunglasses': string,
|
|
'Smirking face': string,
|
|
'Neutral face': string,
|
|
'Expressionless face': string,
|
|
'Unamused face': string,
|
|
'Face with cold sweat': string,
|
|
'Pensive face': string,
|
|
'Confused face': string,
|
|
'Confounded face': string,
|
|
'Kissing face': string,
|
|
'Face throwing a kiss': string,
|
|
'Kissing face with smiling eyes': string,
|
|
'Kissing face with closed eyes': string,
|
|
'Face with stuck out tongue': string,
|
|
'Face with stuck out tongue and winking eye': string,
|
|
'Face with stuck out tongue and tightly-closed eyes': string,
|
|
'Disappointed face': string,
|
|
'Worried face': string,
|
|
'Angry face': string,
|
|
'Pouting face': string,
|
|
'Crying face': string,
|
|
'Persevering face': string,
|
|
'Face with look of triumph': string,
|
|
'Disappointed but relieved face': string,
|
|
'Frowning face with open mouth': string,
|
|
'Anguished face': string,
|
|
'Fearful face': string,
|
|
'Weary face': string,
|
|
'Sleepy face': string,
|
|
'Tired face': string,
|
|
'Grimacing face': string,
|
|
'Loudly crying face': string,
|
|
'Face with open mouth': string,
|
|
'Hushed face': string,
|
|
'Face with open mouth and cold sweat': string,
|
|
'Face screaming in fear': string,
|
|
'Astonished face': string,
|
|
'Flushed face': string,
|
|
'Sleeping face': string,
|
|
'Dizzy face': string,
|
|
'Face without mouth': string,
|
|
'Face with medical mask': string,
|
|
|
|
// Line breaker
|
|
'Break': string,
|
|
|
|
// Math
|
|
'Subscript': string,
|
|
'Superscript': string,
|
|
|
|
// Full screen
|
|
'Fullscreen': string,
|
|
|
|
// Horizontal line
|
|
'Insert Horizontal Line': string,
|
|
|
|
// Clear formatting
|
|
'Clear Formatting': string,
|
|
|
|
// Save
|
|
'Save': string,
|
|
|
|
// Undo, redo
|
|
'Undo': string,
|
|
'Redo': string,
|
|
|
|
// Select all
|
|
'Select All': string,
|
|
|
|
// Code view
|
|
'Code View': string,
|
|
|
|
// Quote
|
|
'Quote': string,
|
|
'Increase': string,
|
|
'Decrease': string,
|
|
|
|
// Quick Insert
|
|
'Quick Insert': string,
|
|
|
|
// Spcial Characters
|
|
'Special Characters': string,
|
|
'Latin': string,
|
|
'Greek': string,
|
|
'Cyrillic': string,
|
|
'Punctuation': string,
|
|
'Currency': string,
|
|
'Arrows': string,
|
|
'Math': string,
|
|
'Misc': string,
|
|
|
|
// Print.
|
|
'Print': string,
|
|
|
|
// Spell Checker.
|
|
'Spell Checker': string,
|
|
|
|
// Help
|
|
'Help': string,
|
|
'Shortcuts': string,
|
|
'Inline Editor': string,
|
|
'Show the editor': string,
|
|
'Common actions': string,
|
|
'Copy': string,
|
|
'Cut': string,
|
|
'Paste': string,
|
|
'Basic Formatting': string,
|
|
'Increase quote level': string,
|
|
'Decrease quote level': string,
|
|
'Image / Video': string,
|
|
'Resize larger': string,
|
|
'Resize smaller': string,
|
|
'Table': string,
|
|
'Select table cell': string,
|
|
'Extend selection one cell': string,
|
|
'Extend selection one row': string,
|
|
'Navigation': string,
|
|
'Focus popup / toolbar': string,
|
|
'Return focus to previous position': string,
|
|
|
|
// Embed.ly
|
|
'Embed URL': string,
|
|
'Paste in a URL to embed': string,
|
|
|
|
// Word Paste.
|
|
'The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?': string,
|
|
'Keep': string,
|
|
'Clean': string,
|
|
'Word Paste Detected': string,
|
|
|
|
// Character Counter
|
|
'Characters': string,
|
|
|
|
// More Buttons
|
|
'More Text': string,
|
|
'More Paragraph': string,
|
|
'More Rich': string,
|
|
'More Misc': string,
|
|
|
|
'Rounded': string,
|
|
'Bordered': string,
|
|
'Shadow': string,
|
|
'Download PDF': string,
|
|
'Text Color': string,
|
|
'Background Color': string,
|
|
'Inline Class': string,
|
|
'Highlighted': string,
|
|
'Transparent': string,
|
|
'Big Red': string,
|
|
'Small Blue': string,
|
|
'Default': string,
|
|
'Lower Alpha': string,
|
|
'Lower Greek': string,
|
|
'Lower Roman': string,
|
|
'Upper Alpha': string,
|
|
'Upper Roman': string,
|
|
'Circle': string,
|
|
'Disc': string,
|
|
'Square': string,
|
|
'Gray': string,
|
|
'Spaced': string,
|
|
'Uppercase': string,
|
|
'Line Height': string,
|
|
'Single': string,
|
|
'Double': string,
|
|
[key: string]: string,
|
|
},
|
|
direction: string;
|
|
[key: string]: any
|
|
}
|
|
|
|
export interface keycodeParameters {
|
|
BACKSPACE: number,
|
|
TAB: number,
|
|
ENTER: number,
|
|
SHIFT: number,
|
|
CTRL: number,
|
|
ALT: number,
|
|
ESC: number,
|
|
SPACE: number,
|
|
ARROW_LEFT: number,
|
|
ARROW_UP: number,
|
|
ARROW_RIGHT: number,
|
|
ARROW_DOWN: number,
|
|
DELETE: number,
|
|
ZERO: number,
|
|
ONE: number,
|
|
TWO: number,
|
|
THREE: number,
|
|
FOUR: number,
|
|
FIVE: number,
|
|
SIX: number,
|
|
SEVEN: number,
|
|
EIGHT: number,
|
|
NINE: number,
|
|
FF_SEMICOLON: number,
|
|
FF_EQUALS: number,
|
|
QUESTION_MARK: number,
|
|
A: number,
|
|
B: number,
|
|
C: number,
|
|
D: number,
|
|
E: number,
|
|
F: number,
|
|
G: number,
|
|
H: number,
|
|
I: number,
|
|
J: number,
|
|
K: number,
|
|
L: number,
|
|
M: number,
|
|
N: number,
|
|
O: number,
|
|
P: number,
|
|
Q: number,
|
|
R: number,
|
|
S: number,
|
|
T: number,
|
|
U: number,
|
|
V: number,
|
|
W: number,
|
|
X: number,
|
|
Y: number,
|
|
Z: number,
|
|
META: number,
|
|
NUM_ZERO: number,
|
|
NUM_ONE: number,
|
|
NUM_TWO: number,
|
|
NUM_THREE: number,
|
|
NUM_FOUR: number,
|
|
NUM_FIVE: number,
|
|
NUM_SIX: number,
|
|
NUM_SEVEN: number,
|
|
NUM_EIGHT: number,
|
|
NUM_NINE: number,
|
|
NUM_MULTIPLY: number,
|
|
NUM_PLUS: number,
|
|
NUM_MINUS: number,
|
|
NUM_PERIOD: number,
|
|
NUM_DIVISION: number,
|
|
F1: number,
|
|
F2: number,
|
|
F3: number,
|
|
F4: number,
|
|
F5: number,
|
|
F6: number,
|
|
F7: number,
|
|
F8: number,
|
|
F9: number,
|
|
F10: number,
|
|
F11: number,
|
|
F12: number,
|
|
FF_HYPHEN: number,
|
|
SEMICOLON: number,
|
|
DASH: number,
|
|
EQUALS: number,
|
|
COMMA: number,
|
|
HYPHEN: number,
|
|
PERIOD: number,
|
|
SLASH: number,
|
|
APOSTROPHE: number,
|
|
TILDE: number,
|
|
SINGLE_QUOTE: number,
|
|
OPEN_SQUARE_BRACKET: number,
|
|
BACKSLASH: number,
|
|
CLOSE_SQUARE_BRACKET: number,
|
|
IME: number
|
|
}
|
|
|
|
export interface svg {
|
|
add: string,
|
|
advancedImageEditor: string,
|
|
alignCenter: string,
|
|
alignJustify: string,
|
|
alignLeft: string,
|
|
alignRight: string,
|
|
anchors: string,
|
|
autoplay: string,
|
|
back: string,
|
|
backgroundColor: string,
|
|
blockquote: string,
|
|
bold: string,
|
|
cancel: string,
|
|
cellBackground: string,
|
|
cellBorderColor: string,
|
|
cellOptions: string,
|
|
cellStyle: string,
|
|
clearFormatting: string,
|
|
close: string,
|
|
codeView: string,
|
|
cogs: string,
|
|
columns: string,
|
|
edit: string,
|
|
exitFullscreen: string,
|
|
fileInsert: string,
|
|
fileManager: string,
|
|
markdown: string,
|
|
fontAwesome: string,
|
|
fontFamily: string,
|
|
fontSize: string,
|
|
fullscreen: string,
|
|
help: string,
|
|
horizontalLine: string,
|
|
imageAltText: string,
|
|
imageCaption: string,
|
|
imageClass: string,
|
|
imageDisplay: string,
|
|
imageManager: string,
|
|
imageSize: string,
|
|
indent: string,
|
|
inlineClass: string,
|
|
inlineStyle: string,
|
|
insert: string,
|
|
insertEmbed: string,
|
|
insertFile: string,
|
|
insertImage: string
|
|
insertLink: string,
|
|
insertMore: string,
|
|
insertTable: string,
|
|
insertVideo: string,
|
|
upload: string,
|
|
uploadFiles: string,
|
|
italic: string,
|
|
search: string,
|
|
lineHeight: string,
|
|
linkStyles: string,
|
|
mention: string,
|
|
minimize: string,
|
|
more: string,
|
|
openLink: string,
|
|
orderedList: string,
|
|
outdent: string,
|
|
pageBreaker: string,
|
|
paragraphFormat: string,
|
|
paragraphMore: string,
|
|
paragraphStyle: string,
|
|
pdfExport: string,
|
|
print: string,
|
|
redo: string,
|
|
removeTable: string,
|
|
insertAll: string,
|
|
remove: string,
|
|
replaceImage: string,
|
|
row: string,
|
|
selectAll: string,
|
|
smile: string,
|
|
spellcheck: string,
|
|
star: string,
|
|
strikeThrough: string,
|
|
subscript: string,
|
|
superscript: string,
|
|
symbols: string,
|
|
tags: string,
|
|
tableHeader: string,
|
|
tableFooter: string,
|
|
tableStyle: string,
|
|
textColor: string,
|
|
textMore: string,
|
|
underline: string,
|
|
undo: string,
|
|
unlink: string,
|
|
unorderedList: string,
|
|
verticalAlignBottom: string,
|
|
verticalAlignMiddle: string,
|
|
verticalAlignTop: string,
|
|
trackChanges: string,
|
|
showTrackChanges: string,
|
|
acceptAllChanges: string,
|
|
rejectAllChanges: string,
|
|
acceptSingleChange: string,
|
|
rejectSingleChange: string,
|
|
[key: string]: string
|
|
}
|
|
|
|
|
|
export interface commandsInterface
|
|
{
|
|
align:Align;
|
|
bold: {
|
|
title: string,
|
|
toggle: boolean,
|
|
refresh($btn: any): void
|
|
},
|
|
italic: {
|
|
title: string,
|
|
toggle: boolean,
|
|
refresh($btn: any): void
|
|
},
|
|
underline: {
|
|
title: string,
|
|
toggle: boolean,
|
|
refresh($btn: any): void
|
|
},
|
|
strikeThrough: {
|
|
title: string,
|
|
toggle: boolean,
|
|
refresh($btn: any): void
|
|
},
|
|
subscript: {
|
|
title: string,
|
|
toggle: boolean,
|
|
refresh($btn: any): void
|
|
},
|
|
superscript: {
|
|
title: string,
|
|
toggle: boolean,
|
|
refresh($btn: any): void
|
|
},
|
|
outdent: {
|
|
title: string
|
|
},
|
|
indent: {
|
|
title: string
|
|
},
|
|
undo: {
|
|
title: string,
|
|
undo: boolean,
|
|
forcedRefresh: boolean,
|
|
disabled: boolean
|
|
},
|
|
redo: {
|
|
title: string,
|
|
undo: boolean,
|
|
forcedRefresh: boolean,
|
|
disabled: boolean
|
|
},
|
|
insertHR: {
|
|
title: string
|
|
},
|
|
clearFormatting: {
|
|
title: string
|
|
},
|
|
selectAll: {
|
|
title: string,
|
|
undo: boolean
|
|
},
|
|
moreText: {
|
|
title: string,
|
|
undo: boolean
|
|
},
|
|
moreParagraph: {
|
|
title: string,
|
|
undo: boolean
|
|
},
|
|
moreRich: {
|
|
title: string,
|
|
undo: boolean
|
|
},
|
|
moreMisc: {
|
|
title: string,
|
|
undo: boolean
|
|
}
|
|
}
|
|
|
|
|
|
export interface ToolbarButtons {
|
|
'moreText': {
|
|
'buttons': string[],
|
|
[key: string]: any
|
|
},
|
|
'moreParagraph': {
|
|
'buttons': string[],
|
|
[key: string]: any
|
|
},
|
|
'moreRich': {
|
|
'buttons': string[],
|
|
'buttonsVisible': number,
|
|
[key: string]: any
|
|
},
|
|
'moreMisc': {
|
|
'buttons': string[],
|
|
'align': string,
|
|
'buttonsVisible': number,
|
|
[key: string]: any
|
|
},
|
|
'trackChanges': {
|
|
'buttons': string[],
|
|
'buttonsVisible': number,
|
|
[key: string]: any
|
|
},
|
|
[key: string]: {
|
|
buttons: string[];
|
|
align?: string;
|
|
buttonsVisible?: number;
|
|
[key: string]: any
|
|
};
|
|
}
|
|
|
|
export interface CustomPlugin {
|
|
[key: string]: any | { [key: string]: any; };
|
|
|
|
}
|
|
|
|
export interface EmoticonSet {
|
|
id: string;
|
|
code: string;
|
|
name: string;
|
|
emoticons:{
|
|
code: string;
|
|
desc: string;
|
|
}[];
|
|
}
|
|
|
|
export type DeleteMethod = 'POST' | 'DELETE';
|
|
export type GetMethod = 'POST' | 'GET';
|
|
|
|
export type ENTER_BR = number;
|
|
export type ENTER_P = number;
|
|
export type ENTER_DIV = number;
|
|
|
|
export interface SpecialCharacterSet {
|
|
title: string;
|
|
char?: string;
|
|
list: {
|
|
char: string;
|
|
desc: string;
|
|
}[];
|
|
}
|
|
|
|
export interface FroalaOptions {
|
|
// apiKey
|
|
apiKey: string;
|
|
|
|
// app
|
|
app: string;
|
|
|
|
//codoxOptions
|
|
codoxOptions: object;
|
|
|
|
//docId
|
|
docId: string;
|
|
|
|
//filesManagerAllowedTypes
|
|
filesManagerAllowedTypes: string[];
|
|
|
|
//filesManagerMaxSize
|
|
filesManagerMaxSize: number;
|
|
|
|
//filesManagerUploadParams
|
|
filesManagerUploadParams: GenericObject;
|
|
|
|
//filesManagerUploadToS3
|
|
filesManagerUploadToS3: object;
|
|
|
|
//filesManagerUploadURL
|
|
filesManagerUploadURL: string;
|
|
|
|
//editor
|
|
editor: FroalaEditor;
|
|
|
|
//username
|
|
username: string;
|
|
|
|
// Aviary Editor
|
|
aviaryKey: boolean;
|
|
aviaryOptions: { [key: string]: any };
|
|
|
|
// Char Counter
|
|
charCounterCount: boolean;
|
|
charCounterMax: number;
|
|
|
|
// Word Counter
|
|
wordCounterCount: boolean;
|
|
wordCounterMax: number;
|
|
|
|
// Code Beautifier
|
|
codeBeautifierOptions: Object;
|
|
|
|
// Code View
|
|
codeMirror: any;
|
|
codeMirrorOptions: object;
|
|
codeViewKeepActiveButtons: string[];
|
|
|
|
// Colors
|
|
colorsBackground: string[];
|
|
colorsButtons: string[];
|
|
colorsHEXInput: boolean;
|
|
colorsStep: number;
|
|
colorsText: string[];
|
|
|
|
// Draggable
|
|
dragInline: boolean;
|
|
|
|
// Events
|
|
events: Partial<FroalaEvents>;
|
|
|
|
// Embedly
|
|
embedlyEditButtons: string[];
|
|
embedlyInsertButtons: string[];
|
|
embedlyKey: string;
|
|
embedlyScriptPath: string;
|
|
|
|
// Emoticons
|
|
emoticonsButtons: string[];
|
|
emoticonsSet: EmoticonSet[];
|
|
emoticonsStep: number;
|
|
emoticonsUseImage: boolean;
|
|
|
|
// Entities
|
|
entities: string;
|
|
|
|
// File
|
|
fileAllowedTypes: string[];
|
|
fileInsertButtons: string[];
|
|
fileMaxSize: number;
|
|
fileUpload: boolean;
|
|
fileUploadMethod: string;
|
|
fileUploadParam: string;
|
|
fileUploadParams: object;
|
|
fileUploadToS3: object;
|
|
fileUploadURL: string;
|
|
fileUseSelectedText: boolean;
|
|
|
|
// Font Family
|
|
fontFamily: GenericObject;
|
|
fontFamilyDefaultSelection: string;
|
|
fontFamilySelection: boolean;
|
|
|
|
// Font Size
|
|
fontSize: string[];
|
|
fontSizeDefaultSelection: string;
|
|
fontSizeSelection: boolean;
|
|
fontSizeUnit: string;
|
|
|
|
// Form
|
|
formEditButtons: string[];
|
|
formMultipleStyles: boolean;
|
|
formStyles: GenericObject;
|
|
formUpdateButtons: string[];
|
|
|
|
// Licensing
|
|
key: string;
|
|
|
|
// General
|
|
attribution: boolean;
|
|
autoStart: boolean;
|
|
autofocus: boolean;
|
|
direction: string;
|
|
disableRightClick: boolean;
|
|
documentReady: boolean;
|
|
editInPopup: boolean;
|
|
update: void;
|
|
editorClass: string;
|
|
enter: ENTER_BR | ENTER_P | ENTER_DIV;
|
|
fullPage: boolean;
|
|
height: number | string;
|
|
heightMax: number | string;
|
|
heightMin: number | string;
|
|
htmlAllowComments: boolean;
|
|
htmlAllowedAttrs: string[];
|
|
htmlAllowedEmptyTags: string[];
|
|
htmlAllowedStyleProps: string[];
|
|
htmlAllowedTags: string[];
|
|
htmlDoNotWrapTags: string[];
|
|
htmlExecuteScripts: boolean;
|
|
htmlIgnoreCSSProperties: string[];
|
|
htmlRemoveTags: string[];
|
|
htmlSimpleAmpersand: boolean;
|
|
htmlUntouched: boolean;
|
|
iconsTemplate: string;
|
|
iframe: boolean;
|
|
iframeDefaultStyle: string;
|
|
iframeStyle: string;
|
|
iframeStyleFiles: string[];
|
|
indentMargin: number;
|
|
initOnClick: boolean;
|
|
keepFormatOnDelete: boolean;
|
|
multiLine: boolean;
|
|
preserveTabSpaces: boolean;
|
|
pasteAllowLocalImages: boolean;
|
|
pasteAllowedStyleProps: string[];
|
|
pasteDeniedAttrs: string[];
|
|
pasteDeniedTags: string[];
|
|
pastePlain: boolean;
|
|
placeholderText: string;
|
|
pluginsEnabled: string[];
|
|
popupButtons: string[];
|
|
requestHeaders: GenericObject<string>;
|
|
requestWithCORS: boolean;
|
|
requestWithCredentials: boolean;
|
|
scrollableContainer: string;
|
|
shortcutsEnabled: string[];
|
|
shortcutsHint: boolean;
|
|
spellcheck: boolean;
|
|
tabIndex: number;
|
|
tabSpaces: number;
|
|
theme: string;
|
|
toolbarBottom: boolean;
|
|
toolbarButtons: object;
|
|
toolbarButtonsMD: Partial<ToolbarButtons>;
|
|
toolbarButtonsSM: Partial<ToolbarButtons>;
|
|
toolbarButtonsXS: Partial<ToolbarButtons>;
|
|
toolbarContainer: string;
|
|
toolbarInline: boolean;
|
|
toolbarSticky: boolean;
|
|
toolbarStickyOffset: number;
|
|
toolbarVisibleWithoutSelection: boolean;
|
|
tooltips: boolean;
|
|
typingTimer: number;
|
|
useClasses: boolean;
|
|
width: string;
|
|
zIndex: number;
|
|
|
|
// Help
|
|
helpSets: object[];
|
|
|
|
// Image
|
|
imageAddNewLine: boolean;
|
|
imageAllowedTypes: string[];
|
|
imageAltButtons: string[];
|
|
imageCORSProxy: string;
|
|
imageDefaultAlign: MediaAlign;
|
|
imageDefaultDisplay: DisplayType;
|
|
imageDefaultMargin: number;
|
|
imageDefaultWidth: number;
|
|
imageEditButtons: string[];
|
|
imageInsertButtons: string[];
|
|
imageMaxSize: number;
|
|
imageMinWidth: number;
|
|
imageMove: boolean;
|
|
imageMultipleStyles: boolean;
|
|
imageOutputSize: boolean;
|
|
imagePaste: boolean;
|
|
imagePasteProcess: boolean;
|
|
imageResize: boolean;
|
|
imageResizeWithPercent: boolean;
|
|
imageRoundPercent: boolean;
|
|
imageSizeButtons: string[];
|
|
imageSplitHTML: boolean;
|
|
imageStyles: GenericObject<string>;
|
|
imageTUIOptions: object;
|
|
imageTextNear: boolean;
|
|
imageUpload: boolean;
|
|
imageUploadMethod: string;
|
|
imageUploadParam: string;
|
|
imageUploadParams: object;
|
|
imageUploadRemoteUrls: boolean;
|
|
imageUploadToS3: object;
|
|
imageUploadURL: string;
|
|
|
|
// Image Manager
|
|
imageManagerDeleteMethod: DeleteMethod;
|
|
imageManagerDeleteParams: object;
|
|
imageManagerDeleteURL: string;
|
|
imageManagerLoadMethod: GetMethod;
|
|
imageManagerLoadParams: object;
|
|
imageManagerLoadURL: string;
|
|
imageManagerPageSize: number;
|
|
imageManagerPreloader: string;
|
|
imageManagerScrollOffset: number;
|
|
imageManagerToggleTags: boolean;
|
|
|
|
// Inline Style
|
|
inlineStyles: GenericObject<string>;
|
|
|
|
// Inline Class
|
|
inlineClasses: GenericObject<string>;
|
|
|
|
// Language
|
|
language: string;
|
|
|
|
// Line Breaker
|
|
lineBreakerHorizontalOffset: number;
|
|
lineBreakerOffset: number;
|
|
lineBreakerTags: string[];
|
|
|
|
// Link
|
|
linkAlwaysBlank: boolean;
|
|
linkAlwaysNoFollow: boolean;
|
|
linkAttributes: GenericObject;
|
|
linkAutoPrefix: string;
|
|
linkConvertEmailAddress: boolean;
|
|
linkEditButtons: string[];
|
|
linkInsertButtons: string[];
|
|
linkList: GenericObject<string>[];
|
|
linkMultipleStyles: boolean;
|
|
linkNoOpener: boolean;
|
|
linkNoReferrer: boolean;
|
|
linkStyles: GenericObject<string>;
|
|
linkText: boolean;
|
|
|
|
// Paragraph Format
|
|
lineHeights: GenericObject<string>;
|
|
paragraphDefaultSelection: string;
|
|
paragraphFormat: GenericObject<string>;
|
|
paragraphFormatSelection: boolean;
|
|
paragraphMultipleStyles: boolean;
|
|
paragraphStyles: GenericObject<string>;
|
|
|
|
// Lists
|
|
listAdvancedTypes: boolean;
|
|
|
|
// Quick Insert
|
|
quickInsertButtons: string[];
|
|
quickInsertEnabled: boolean;
|
|
quickInsertTags: string[];
|
|
|
|
// Font Awesome
|
|
faButtons: string[];
|
|
fontAwesomeSets: object;
|
|
fontAwesomeTemplate: string;
|
|
|
|
// Special Characters
|
|
specialCharButtons: string[];
|
|
specialCharactersSets: SpecialCharacterSet[];
|
|
|
|
// SCAYT Spell Checker
|
|
scaytAutoload: boolean;
|
|
scaytCustomerId: string;
|
|
scaytOptions: object;
|
|
|
|
// Save
|
|
saveInterval: number;
|
|
saveMethod: string;
|
|
saveParam: string;
|
|
saveParams: object;
|
|
saveURL: string;
|
|
|
|
// Table
|
|
tableCellMultipleStyles: boolean;
|
|
tableCellStyles: GenericObject<string>;
|
|
tableColors: string[];
|
|
tableColorsButtons: string[];
|
|
tableColorsStep: number;
|
|
tableDefaultWidth: string;
|
|
tableEditButtons: string[];
|
|
tableInsertButtons: string[];
|
|
tableInsertHelper: boolean;
|
|
tableInsertHelperOffset: number;
|
|
tableInsertMaxSize: number;
|
|
tableMultipleStyles: boolean;
|
|
tableResizer: boolean;
|
|
tableResizerOffset: number;
|
|
tableResizingLimit: number;
|
|
tableStyles: GenericObject<string>;
|
|
|
|
// Video
|
|
videoAllowedProviders: string[];
|
|
videoAllowedTypes: string[];
|
|
videoDefaultAlign: string;
|
|
videoDefaultDisplay: string;
|
|
videoDefaultWidth: number;
|
|
videoEditButtons: string[];
|
|
videoInsertButtons: string[];
|
|
videoMaxSize: number;
|
|
videoMove: boolean;
|
|
videoResize: boolean;
|
|
videoResponsive: boolean;
|
|
videoSizeButtons: string[];
|
|
videoSplitHTML: boolean;
|
|
videoTextNear: boolean;
|
|
videoUpload: boolean;
|
|
videoUploadMethod: string;
|
|
videoUploadParam: string;
|
|
videoUploadParams: object;
|
|
videoUploadToS3: object;
|
|
videoUploadURL: string;
|
|
|
|
// Word
|
|
wordAllowedStyleProps: string[];
|
|
wordDeniedAttrs: string[];
|
|
wordDeniedTags: string[];
|
|
wordPasteKeepFormatting: boolean;
|
|
wordPasteModal: boolean;
|
|
|
|
showChangesEnabled: boolean;
|
|
trackChangesEnabled: boolean;
|
|
[key: string]: any;
|
|
|
|
// Filestack
|
|
filestackOptions: object;
|
|
}
|
|
|
|
export interface FroalaEvents {
|
|
blur: (this: FroalaEditor) => void;
|
|
click: (this: FroalaEditor, clickEvent: any) => void;
|
|
contentChanged: (this: FroalaEditor) => void;
|
|
destroy: (this: FroalaEditor) => void;
|
|
drop: (this: FroalaEditor, dropEvent: any) => void;
|
|
focus: (this: FroalaEditor) => void;
|
|
initialized: (this: FroalaEditor) => void;
|
|
initializationDelayed: (this: FroalaEditor) => void;
|
|
input: (this: FroalaEditor, inputEvent: any) => void;
|
|
keydown: (this: FroalaEditor, keydownEvent: any) => void;
|
|
keypress: (this: FroalaEditor, keypressEvent: any) => void;
|
|
keyup: (this: FroalaEditor, keyupEvent: any) => void;
|
|
mousedown: (this: FroalaEditor, mousedownEvent: any) => void;
|
|
mouseup: (this: FroalaEditor, mouseupEvent: any) => void;
|
|
shortcut: (this: FroalaEditor, event: Event, commandName: string, shortcutValue: any) => void;
|
|
touchstart: (this: FroalaEditor, touchstartEvent: any) => void;
|
|
touchend: (this: FroalaEditor, touchendEvent: any) => void;
|
|
'buttons.refresh': (this: FroalaEditor) => boolean;
|
|
//character count event
|
|
'charCounter.exceeded': (this: FroalaEditor) => void;
|
|
'charCounter.update': (this: FroalaEditor) => void;
|
|
//word count event
|
|
'wordCounter.exceeded': (this: FroalaEditor) => void;
|
|
'wordCounter.update': (this: FroalaEditor) => void;
|
|
//code view event
|
|
'codeView.update': (this: FroalaEditor) => void;
|
|
//commands event
|
|
'commands.after': (this: FroalaEditor, cmd: any, param1?: any, param2?: any) => void;
|
|
'commands.before': (this: FroalaEditor, cmd: any, param1?: any, param2?: any) => void;
|
|
'commands.mousedown': (this: FroalaEditor, button: any) => void;
|
|
'commands.redo': (this: FroalaEditor) => void;
|
|
'commands.undo': (this: FroalaEditor) => void;
|
|
//html event
|
|
'html.afterGet': (this: FroalaEditor) => void;
|
|
'html.beforeGet': (this: FroalaEditor) => void;
|
|
'html.processGet': (this: FroalaEditor, el: Element) => void;
|
|
'html.get': (this: FroalaEditor, html: HTMLElement) => void;
|
|
'html.set': (this: FroalaEditor) => void;
|
|
//image events
|
|
'image.beforePasteUpload': (this: FroalaEditor, img: Image) => boolean;
|
|
'image.beforeRemove': (this: FroalaEditor, img: any) => boolean;
|
|
'image.beforeUpload': (this: FroalaEditor, files: any) => boolean;
|
|
'image.hideResizer': (this: FroalaEditor, images: any) => boolean;
|
|
'image.error': (this: FroalaEditor, error: object, response: any) => void;
|
|
'image.inserted': (this: FroalaEditor, img: object, response: any) => void;
|
|
'image.loaded': (this: FroalaEditor, img: object) => void;
|
|
'image.removed': (this: FroalaEditor, img: object) => void;
|
|
'image.replaced': (this: FroalaEditor, img: object, response: any) => void;
|
|
'image.resize': (this: FroalaEditor, img: object) => void;
|
|
'image.resizeEnd': (this: FroalaEditor, img: object) => void;
|
|
'image.uploaded': (this: FroalaEditor, response: any) => boolean;
|
|
'image.uploadedToS3': (this: FroalaEditor, link: URL, key: string, response: any) => void;
|
|
'filestack.uploadedToFilestack': (this: FroalaEditor, response: any) => boolean;
|
|
'filestack.uploadFailedToFilestack': (this: FroalaEditor, response: any) => boolean;
|
|
'filestack.filestackPickerClosed': (this: FroalaEditor, response: any) => boolean;
|
|
'filestack.filestackPickerOpened': (this: FroalaEditor, response: any) => boolean;
|
|
//imagemanager event
|
|
'imageManager.beforeDeleteImage': (this: FroalaEditor, img: object) => void;
|
|
'imageManager.error': (this: FroalaEditor, error: object, response: any) => void;
|
|
'imageManager.imageDeleted': (this: FroalaEditor, data: object) => void;
|
|
'imageManager.imageLoaded': (this: FroalaEditor, img: object) => void;
|
|
'imageManager.imagesLoaded': (this: FroalaEditor, data: any) => void;
|
|
//link event
|
|
'link.bad': (this: FroalaEditor, original_href: string) => void;
|
|
'link.beforeInsert': (this: FroalaEditor, link: string, text: string, attrs: object) => boolean;
|
|
'link.beforeRemove': (this: FroalaEditor, link: string, text: string, attrs: object) => boolean;
|
|
//paste event
|
|
'paste.after': (this: FroalaEditor) => void;
|
|
'paste.afterCleanup': (this: FroalaEditor, clipboard_html: string) => void;
|
|
'paste.before': (this: FroalaEditor, original_event: any, clipboard_data?: any) => boolean;
|
|
'paste.beforeCleanup': (this: FroalaEditor, clipboard_html: string) => void;
|
|
'paste.wordPaste': (this: FroalaEditor, clipboard_html: string) => void;
|
|
// popups events
|
|
[hidepopup: `popups.hide${string}`]: (this: FroalaEditor) => void;
|
|
[showpopup: `popups.show${string}`]: (this: FroalaEditor) => void;
|
|
//position event
|
|
'position.refresh': (this: FroalaEditor) => void;
|
|
//save event
|
|
'save.after': (this: FroalaEditor, data: any) => void;
|
|
'save.before': (this: FroalaEditor, html: string) => boolean;
|
|
'save.error': (this: FroalaEditor, error: string, response: object) => void;
|
|
//snapshot event
|
|
'snapshot.after': (this: FroalaEditor) => void;
|
|
'snapshot.before': (this: FroalaEditor) => void;
|
|
//table event
|
|
'table.inserted': (this: FroalaEditor, table: Element) => void;
|
|
'table.resized': (this: FroalaEditor, table: Element) => void;
|
|
//toolbar event
|
|
'toolbar.esc': (this: FroalaEditor) => boolean;
|
|
'toolbar.focusEditor': (this: FroalaEditor) => boolean;
|
|
'toolbar.hide': (this: FroalaEditor) => boolean;
|
|
'toolbar.show': (this: FroalaEditor) => boolean;
|
|
//video event
|
|
'video.codeError': (this: FroalaEditor, code: string) => void;
|
|
'video.inserted': (this: FroalaEditor, $video: any) => void;
|
|
'video.replaced': (this: FroalaEditor, $video: any) => void;
|
|
'video.linkError': (this: FroalaEditor, link: string) => void;
|
|
'video.removed': (this: FroalaEditor, $video: any) => void;
|
|
'video.loaded': (this: FroalaEditor, $video: any) => void;
|
|
'video.uploaded': (this: FroalaEditor, response: object) => void;
|
|
'video.uploadedToS3': (this: FroalaEditor, link: string, key: string, response: object) => void;
|
|
'video.beforeUpload': (this: FroalaEditor, $video: any) => boolean;
|
|
'video.beforeRemove': (this: FroalaEditor, $video: any) => boolean;
|
|
'video.hideResizer': (this: FroalaEditor) => boolean;
|
|
//quick insert event
|
|
'quickInsert.commands.after': (this: FroalaEditor, cmd: any) => void;
|
|
'quickInsert.commands.before': (this: FroalaEditor, cmd: any) => boolean;
|
|
//url event
|
|
'url.linked': (this: FroalaEditor, link: string) => void;
|
|
//window event
|
|
'window.copy': (this: FroalaEditor) => void;
|
|
'window.cut': (this: FroalaEditor) => void;
|
|
//filemanager event
|
|
'filesManager.beforeUpload': (this: FroalaEditor, files: any[]) => boolean;
|
|
'filesManager.error': (this: FroalaEditor, error: object, response: object) => boolean;
|
|
'filesManager.uploaded': (this: FroalaEditor, response: any) => boolean;
|
|
'filesManager.uploadedToS3': (this: FroalaEditor, link: string, key: string, response: object) => boolean;
|
|
//embedly event
|
|
'embedly.beforeRemove': (this: FroalaEditor, embeded: object) => void;
|
|
//file event
|
|
'file.beforeUpload': (this: FroalaEditor, files: string) => boolean;
|
|
'file.error': (this: FroalaEditor, error: object, response: any) => boolean;
|
|
'file.inserted': (this: FroalaEditor, file: object, response: any) => void;
|
|
'file.unlink': (this: FroalaEditor, link: Object) => boolean;
|
|
'file.uploaded': (this: FroalaEditor, response: any) => boolean;
|
|
'file.uploadedToS3': (this: FroalaEditor, link: any, key: any, response: any) => void;
|
|
//edit event
|
|
'edit.on': (this: FroalaEditor) => void;
|
|
'edit.off': (this: FroalaEditor) => void;
|
|
//element event
|
|
'element.dropped': (this: FroalaEditor, element: object) => void;
|
|
[key: string]: (this:FroalaEditor, ...args: any[]) => any;
|
|
}
|
|
|
|
export interface FilesManager {
|
|
_init(): void;
|
|
showInsertPopup(rerender: any): void;
|
|
showLayer(name: any): void;
|
|
refreshUploadButton(button: any): void;
|
|
refreshByURLButton(button: any): void;
|
|
upload(file: any, files: any, image_placeholder: any, index: any): boolean;
|
|
insertByURL(): void;
|
|
insertAllFiles(): void;
|
|
deleteAllFiles(): void;
|
|
get(): any;
|
|
getEl(): any;
|
|
insert(index: any, fileKeys: any): void;
|
|
showProgressBar(no_message: any): void;
|
|
remove(image: any): void;
|
|
hideProgressBar(dismiss: any): void;
|
|
applyStyle(val: any, imageStyles: any, multipleStyles: any): boolean;
|
|
showAltPopup(): void;
|
|
showSizePopup(): void;
|
|
setAlt(alt: any): void;
|
|
setSize(width: any, height: any): void;
|
|
toggleCaption(): void;
|
|
refreshEmbedButton($btn: any): void;
|
|
insertEmbed(code: any): void;
|
|
hasCaption(): boolean;
|
|
exitEdit(force_exit: any): void;
|
|
edit($img: any): void;
|
|
cancelFileInsert(): void;
|
|
minimizePopup(current_index: any): void;
|
|
editImage(index: any): void;
|
|
saveImage($img: any): void;
|
|
_showErrorMessage(message: any): void;
|
|
_showFileErrorMessage(message: any, index: any): void;
|
|
getFileThumbnail(index: any, file: any, update: any): void;
|
|
deleteFile(index: any): void;
|
|
checkAutoplay(index: any): void;
|
|
checkInsertAllState(): void;
|
|
_disableInsertCheckbox(): void;
|
|
_getFileType(file: any): any;
|
|
isChildWindowOpen(): boolean;
|
|
setChildWindowState(childWindowState: any): void;
|
|
resetAllFilesCheckbox(): void;
|
|
[key: string]: (...args: any[]) => any;
|
|
}
|
|
|
|
export interface Image {
|
|
_init(): void;
|
|
showInsertPopup(): void;
|
|
showLayer(name: any): void;
|
|
refreshUploadButton($btn: any): void;
|
|
refreshByURLButton($btn: any): void;
|
|
align(alignType: AlignType): object;
|
|
applyStyle(className: string): object;
|
|
display(displayType: DisplayType): any;
|
|
get(): object;
|
|
insert(link: string, sanitize: boolean, data: { [key: string]: any }, existingImage: any, response?: object): object;
|
|
remove(image: any): object;
|
|
setAlt(alternateText: string): object;
|
|
setSize(width: string, height: string): object;
|
|
upload(images: any[]): object;
|
|
insertByURL(): void;
|
|
refreshAlign($btn: any): void;
|
|
refreshAlignOnShow($btn: any): void;
|
|
refreshDisplayOnShow($btn: any): void;
|
|
replace(): void;
|
|
back(): void;
|
|
getEl(): object;
|
|
showProgressBar(no_message: any): void;
|
|
hideProgressBar(dismiss: any): void;
|
|
applyStyle(val: any, imageStyles: any, multipleStyles: any): object;
|
|
showAltPopup(): void;
|
|
showSizePopup(): void;
|
|
toggleCaption(): void;
|
|
hasCaption(): void;
|
|
exitEdit(force_exit: boolean): boolean;
|
|
edit($img: any): void;
|
|
[key: string]: (...args: any[]) => any;
|
|
}
|
|
|
|
export interface CharCounter {
|
|
_init(): boolean;
|
|
// Returns the number of characters in the editor.
|
|
count(): number;
|
|
}
|
|
|
|
export interface WordCounter {
|
|
_init(): boolean;
|
|
// Returns the number of words in the editor.
|
|
wordCount(): number;
|
|
[key: string]: (...args: any[]) => any;
|
|
}
|
|
|
|
interface Apply<T> {
|
|
apply(value: string): object | void;
|
|
}
|
|
|
|
export type MediaAlign = 'left' | 'right' | 'center';
|
|
export type AlignType = 'left' | 'right' | 'center' | 'justify';
|
|
|
|
export interface Align {
|
|
// Set the alignment of the selected paragraphs.
|
|
apply(alignType: AlignType): object;
|
|
// Refresh the alignment of the selected paragraphs.
|
|
refresh(button: Element): object;
|
|
refreshOnShow(button: any, dropdown: any): void;
|
|
refreshForToolbar(button: any): void;
|
|
options: {
|
|
center: string,
|
|
justify: string,
|
|
left: string,
|
|
right: string
|
|
}
|
|
}
|
|
|
|
export interface Button {
|
|
_init(): void;
|
|
// Adds buttons into existing toolbar.
|
|
addButtons(buttons: any): object;
|
|
// Refreshes the state of the buttons in the toolbar.
|
|
bulkRefresh(): void;
|
|
// Builds a list of commands to a button list represented as a HTML string.
|
|
buildList(buttons: string[]): string;
|
|
// Builds a list of commands to a button list represented as a HTML string.
|
|
buildGroup(): void;
|
|
// Attaches the event callbacks.
|
|
bindCommands(element: Element): void;
|
|
// Refreshes the state of active command/button.
|
|
refresh(button: Element): void;
|
|
// Hides all the active dropdowns.
|
|
hideActiveDropdowns(element: Element): void;
|
|
build: (command: any, info: any, visible: any) => string;
|
|
exec: ($btn: any) => void;
|
|
click: ($btn: any) => void;
|
|
getButtons: (selector: any, search_dropdowns: any) => any;
|
|
getPosition: ($elm: any) => { left: any; top: any };
|
|
}
|
|
|
|
export interface Clean {
|
|
_init(): void;
|
|
// Cleans dirty HTML to clean HTML ready to be inserted into the editor.
|
|
html(dirtyHtml: string): string;
|
|
// Cleans the tables.
|
|
tables(): void;
|
|
// Cleans the lists.
|
|
lists(): void;
|
|
// Cleans the invisible spaces.
|
|
invisibleSpaces(dirtyHtml: string): void;
|
|
toHTML5(): void;
|
|
exec(html: string, func: any, parse_head: any): any;
|
|
}
|
|
|
|
export interface CodeView {
|
|
_init(): boolean;
|
|
// Find if code view mode is active.
|
|
isActive(): boolean;
|
|
// Get the HTML edited inside the code view mode.
|
|
get(): string;
|
|
// Toggle between the code and text view.
|
|
toggle(): object;
|
|
[key: string]: (...args: any[]) => any;
|
|
}
|
|
|
|
export interface Colors {
|
|
// Set the background color of the selected text.
|
|
background(color: string): object;
|
|
// Set the text color of the selected text.
|
|
text(value: string): object;
|
|
// Hides the color picker popup.
|
|
back(): void;
|
|
showColorsPopup(cmd_type: any): void;
|
|
customColor(tab: any): void;
|
|
[key: string]: (...args: any[]) => any;
|
|
}
|
|
|
|
export interface Commands {
|
|
exec(cmd: any, params?: any): any;
|
|
// Format the selected text as bold.
|
|
bold(): object;
|
|
// Clean any formatting on the selected text.
|
|
clearFormatting(): object;
|
|
// Indent more the selected paragraphs.
|
|
indent(): object;
|
|
// Insert a horizontal line at the cursor position.
|
|
insertHR(): object;
|
|
// Format the selected text as italic.
|
|
italic(): object;
|
|
// Indent less the selected paragraphs.
|
|
outdent(): object;
|
|
// Executes the redo action.
|
|
redo(): object;
|
|
// Show the inline toolbar at the cursor position.
|
|
show(): object;
|
|
// Format the selected text as strike through.
|
|
strikeThrough(): object;
|
|
// Format the selected text as subscript.
|
|
subscript(): object;
|
|
// Format the selected text as superscript.
|
|
superscript(): object;
|
|
// Format the selected text as underline.
|
|
underline(): object;
|
|
// Executes the undo action.
|
|
undo(): object;
|
|
// Executes the selectAll action.
|
|
selectAll(): object;
|
|
// Show more text actions toolbar.
|
|
moreText(): object;
|
|
// Show more paragraph actions toolbar.
|
|
moreParagraph(): object;
|
|
// Show more rich text actions toolbar.
|
|
moreRich(): object;
|
|
// Show more miscellaneous actions toolbar.
|
|
moreMisc(): object;
|
|
//Show more track changes actions toolbar.
|
|
moreTrackChanges(): object;
|
|
[key: string]: (...args: any[]) => any;
|
|
}
|
|
|
|
export interface Core {
|
|
_init(): void;
|
|
// Creates a XHR object with the specified parameters.
|
|
getXHR(url: string, method: string): XMLHttpRequest;
|
|
// CSS style to be injected inside the iframe of the editor when the iframe option is used.
|
|
injectStyle(style: string): object;
|
|
// Check if the editor is empty.
|
|
isEmpty(): boolean;
|
|
// Check if the both editor instances are same.
|
|
sameInstance(object: Element): boolean;
|
|
hasFocus(): boolean;
|
|
}
|
|
|
|
export interface Cursor {
|
|
// Trigger backspace action at the cursor position.
|
|
backspace(): object;
|
|
// Trigger enter action at the cursor position.
|
|
enter(shiftPressed: boolean): object;
|
|
// Trigger delete action at the cursor position.
|
|
del(): object;
|
|
// Find if the cursor is at the end.
|
|
isAtEnd(): boolean;
|
|
// Find if the cursor is at the start.
|
|
isAtStart(): boolean;
|
|
}
|
|
|
|
export interface Edit {
|
|
_init(): void;
|
|
// Disable editor by removing the contenteditable attribute.
|
|
off(): object;
|
|
// Enable editor by adding the contenteditable attribute.
|
|
on(): object;
|
|
// Find if the edit is disabled.
|
|
isDisabled(): boolean;
|
|
// Disables the edit functionality.
|
|
disableDesign(): void;
|
|
}
|
|
|
|
export interface EditInPopup {
|
|
_init(): void;
|
|
// Update the texts in popup.
|
|
update(): void;
|
|
[key: string]: (...args: any[]) => any;
|
|
}
|
|
|
|
export interface Embedly {
|
|
_init(): boolean;
|
|
// Add the embedly to editor.
|
|
add(url: string): void;
|
|
// Hides the insert popup and shows inline menu for currently selected embedly.
|
|
back(): void;
|
|
// Gets the currently embedly instance.
|
|
get(): void;
|
|
// Inserts the embedly into editor from popup.
|
|
insert(): void;
|
|
// Removes the currently selected embedly instance.
|
|
remove(): void;
|
|
// Shows insert popup.
|
|
showInsertPopup(): void;
|
|
[key: string]: (...args: any[]) => any;
|
|
}
|
|
|
|
export interface Emoticons {
|
|
_init(): void;
|
|
// Insert an emoticon at the cursor position.
|
|
insert(emoticon: string, image?: string): object;
|
|
// Insert an emoticon at the cursor position.
|
|
setEmoticonCategory(categoryId: string): void;
|
|
showEmoticonsPopup(): void;
|
|
back(): void;
|
|
[key: string]: (...args: any[]) => any;
|
|
}
|
|
|
|
export interface Events {
|
|
_init(): void;
|
|
// Check if blur events are active.
|
|
blurActive(): boolean;
|
|
// Binds the click event for given element.
|
|
bindClick(element: Element, selector: string, handler: () => void): void;
|
|
// Trigger events and chain the pass the returned value between the assigned events.
|
|
chainTrigger(name: string, eventParams: object, force: boolean): object;
|
|
// Disables the blur and focus events.
|
|
disableBlur(): object;
|
|
// Enables the blur and focus events.
|
|
enableBlur(): object;
|
|
// Focus into the editor.
|
|
focus(): object;
|
|
// Register an event.
|
|
on(name: string, callback: (event: any, param1?: any, param2?: any) => void | boolean, first?: boolean): object;
|
|
// Triggers an event.
|
|
trigger(name: string, args: any[], force?: boolean): object;
|
|
$on($el: any, evs: string, selector: any, callback: any, shared: any): void;
|
|
$off(): void;
|
|
}
|
|
|
|
export interface File {
|
|
_init(): void;
|
|
// Insert the link to a file at the cursor position.
|
|
insert(link: string, text: string, response: object): object;
|
|
// Upload the passed file to the server.
|
|
upload(files: any[]): object;
|
|
showInsertPopup(): void;
|
|
back(): void;
|
|
hideProgressBar(dismiss: any): void;
|
|
[key: string]: (...args: any[]) => any;
|
|
}
|
|
|
|
export interface FontFamily {
|
|
apply(value: string): object | void;
|
|
refreshOnShow($btn: any, $dropdown: any): void;
|
|
refresh($btn: any): void;
|
|
[key: string]: (...args: any[]) => any;
|
|
}
|
|
|
|
export interface FontSize {
|
|
apply(value: string): object | void;
|
|
refreshOnShow($btn: any, $dropdown: any): void;
|
|
refresh($btn: any): void;
|
|
[key: string]: (...args: any[]) => any;
|
|
}
|
|
|
|
export type FormatAttributes = { [key: string]: any };
|
|
|
|
export type DisplayType = 'block' | 'inline';
|
|
|
|
export interface Format {
|
|
// Apply format for the selection or at the insertion point.
|
|
apply(tagName: string, attributes?: FormatAttributes): object;
|
|
// Apply style for the selection or at the insertion point.
|
|
applyStyle(cssProperty: string, cssAttributes?: string | FormatAttributes): object;
|
|
// Check format for the selection or at the insertion point.
|
|
is(tagName: string, attributes?: FormatAttributes): boolean;
|
|
// Remove format for the selection or at the insertion point.
|
|
remove(tagName: string, attributes?: FormatAttributes): object;
|
|
// Remove style for the selection or at the insertion point.
|
|
removeStyle(cssPropertyName: string): object;
|
|
// Toggle format for the selection or at the insertion point.
|
|
toggle(tagName: string, attributes?: FormatAttributes): object;
|
|
}
|
|
|
|
export interface Fullscreen {
|
|
_init(): boolean;
|
|
// Check the fullscreen state.
|
|
isActive(): boolean;
|
|
// Toggle fullscreen mode.
|
|
toggle(): object;
|
|
// Refresh
|
|
refresh($btn: any): void;
|
|
[key: string]: (...args: any[]) => any;
|
|
}
|
|
|
|
export interface Forms {
|
|
_init(): void;
|
|
applyStyle(className: string, formStyles: object, formMultipleStyles: boolean): void;
|
|
updateInput(): void;
|
|
getInput(): any;
|
|
showUpdatePopup(): void;
|
|
showEditPopup(input: any): void;
|
|
back(): void;
|
|
[key: string]: (...args: any[]) => any;
|
|
}
|
|
|
|
export interface Helpers {
|
|
_init(): void;
|
|
isMobile(): boolean;
|
|
isAndroid(): boolean;
|
|
isBlackberry(): boolean;
|
|
isIOS(): boolean;
|
|
isMac(): boolean;
|
|
isTouch(): boolean;
|
|
isWindowsPhone(): boolean;
|
|
scrollLeft(): number;
|
|
scrollTop(): number;
|
|
sanitizeURL(url: string): string;
|
|
isEmail(url: any): any;
|
|
requestAnimationFrame(): any;
|
|
getPX(val: any): number;
|
|
screenSize(isBox: any): any;
|
|
isArray(obj: any): boolean;
|
|
RGBToHex(rgb: any): any;
|
|
HEXtoRGB(hex: any): string;
|
|
isURL(url: string): boolean;
|
|
getAlignment($block: any): any;
|
|
isInViewPort(el: any): boolean;
|
|
}
|
|
|
|
export interface HTML {
|
|
cleanEmptyTags(): object;
|
|
get(keepMarkers?: boolean, keepClasses?: boolean): string;
|
|
getSelected(): string;
|
|
unwrap(): void;
|
|
wrap(temp: boolean, tables: boolean, blockquote: boolean): void;
|
|
insert(html: string, clean?: boolean, doSplit?: boolean): object;
|
|
set(html: string): object;
|
|
defaultTag(): 'div' | 'p';
|
|
isPreformatted(node: any, look_up: any): any;
|
|
emptyBlocks(around_markers: any): any[];
|
|
emptyBlockTagsQuery(): string;
|
|
blockTagsQuery(): any;
|
|
fillEmptyBlocks(around_markers: any): void;
|
|
cleanWhiteTags(ignore_selection: any): boolean;
|
|
cleanBlankSpaces(el: any): boolean;
|
|
blocks(): any;
|
|
getDoctype(doc: any): string;
|
|
syncInputs(): void;
|
|
escapeEntities(str: any): any;
|
|
checkIfEmpty(): void;
|
|
extractNode(html: string, tag: any): string;
|
|
extractNodeAttrs(html: string, tag: any): any;
|
|
extractDoctype(html: string): string;
|
|
cleanBRs(): void;
|
|
_init(): void;
|
|
_setHtml($node: any, html: string): void;
|
|
}
|
|
|
|
export interface ImageManager {
|
|
_init(): boolean;
|
|
hide(): object;
|
|
show(): object;
|
|
[key: string]: (...args: any[]) => any;
|
|
}
|
|
|
|
export interface InlineClass {
|
|
apply(value: string): void;
|
|
refreshOnShow($btn: any, $dropdown: any): void;
|
|
[key: string]: (...args: any[]) => any;
|
|
}
|
|
|
|
export interface InlineStyle extends Apply<string> {}
|
|
|
|
export interface Keys {
|
|
ctrlKey(event: Event): boolean;
|
|
isArrow(keyCode: number): boolean;
|
|
isCharacter(keyCode: number): boolean;
|
|
_init(): void;
|
|
forceUndo(): void;
|
|
isIME(): boolean;
|
|
isBrowserAction(e: any): boolean;
|
|
positionCaret(): boolean;
|
|
}
|
|
|
|
export interface Language {
|
|
_init(): void;
|
|
translate(str: string): string;
|
|
}
|
|
|
|
export interface LineHeight extends Apply<number> {
|
|
_init(): void;
|
|
refreshOnShow(): void;
|
|
}
|
|
|
|
export interface Link {
|
|
_init(): void;
|
|
allSelected(): Element[];
|
|
applyStyle(className: string): object;
|
|
get(): Element;
|
|
insert(href: string, text: string, attributes?: { [key: string]: any }): object;
|
|
remove(): object;
|
|
showInsertPopup(): void;
|
|
usePredefined(val: any): void;
|
|
insertCallback(): void;
|
|
update(): void;
|
|
back(): void;
|
|
imageLink(): void;
|
|
[key: string]: (...args: any[]) => any;
|
|
}
|
|
|
|
export type ListType = 'OL' | 'UL';
|
|
|
|
export interface Lists {
|
|
_init(): void;
|
|
format(listType: ListType): object;
|
|
refresh($btn: any, tag_name: any): void;
|
|
[key: string]: (...args: any[]) => any;
|
|
}
|
|
|
|
export interface Markdown {
|
|
_init(): void;
|
|
isEnabled(): boolean;
|
|
refresh(button: Element): void;
|
|
toggle(): void;
|
|
[key: string]: (...args: any[]) => any;
|
|
}
|
|
|
|
export interface Markers {
|
|
insert(): object;
|
|
insertAtPoint(event: any): void;
|
|
place(range: object, marker: boolean, id: string): object;
|
|
remove(): object;
|
|
split(): object;
|
|
}
|
|
|
|
export interface Modals {
|
|
_init(): void;
|
|
areVisible(modalInstance: Element): boolean;
|
|
create(id: string, headTemplate: string, bodyTemplate: string): Element;
|
|
get(id: string): Element;
|
|
isVisible(id: string): boolean;
|
|
show(id: string): void;
|
|
hide(id: string, restoreSelection: boolean): void;
|
|
resize(id: string): void;
|
|
}
|
|
|
|
export interface Node {
|
|
blockParent(node: Element): Element;
|
|
clearAttributes(node: Element): Element;
|
|
contents(node: Element): any[];
|
|
deepestParent(node: Element, until?: Element, simpleEnter?: boolean): Element;
|
|
hasClass(element: Element, className: string): boolean;
|
|
hasFocus(node: Element): boolean;
|
|
isBlock(node: Element): boolean;
|
|
isElement(node: Element): boolean;
|
|
isDeletable(node: Element): boolean;
|
|
isEditable(node: Element): boolean;
|
|
isEmpty(node: Element, ignoreMarkers?: boolean): boolean;
|
|
isFirstSibling(node: Element, ignoreMarkers?: boolean): boolean;
|
|
isLastSibling(node: Element, ignoreMarkers?: boolean): boolean;
|
|
isList(node: Element, ignoreMarkers?: boolean): boolean;
|
|
isLink: (node: Element) => boolean;
|
|
isVoid(node: Element): boolean;
|
|
rawAttributes(node: Element): object;
|
|
attributes(node: Element): string;
|
|
clearAttributes(node: Element): void;
|
|
openTagString(node: Element): string;
|
|
closeTagString(node: Element): string;
|
|
filter(callback: any): object | any;
|
|
[key: string]: (...args: any[]) => any;
|
|
}
|
|
|
|
export interface ParagraphFormat {
|
|
apply(value: string): void;
|
|
refreshOnShow($btn: any, $dropdown: any): void;
|
|
refresh($btn: any): void;
|
|
[key: string]: (...args: any[]) => any;
|
|
}
|
|
|
|
export interface ParagraphStyle {
|
|
_init: () => void;
|
|
apply(val: string, paragraphStyles: any, paragraphMultipleStyles: any): void;
|
|
refreshOnShow($btn: any, $dropdown: any): void;
|
|
[key: string]: (...args: any[]) => any;
|
|
}
|
|
|
|
export interface Placeholder {
|
|
_init(): boolean;
|
|
hide(): void;
|
|
isVisible(): void;
|
|
refresh(): object;
|
|
show(): void;
|
|
}
|
|
|
|
export interface Popups {
|
|
_init(): void;
|
|
create(id: string, templateProperties: { [key: string]: any }): any;
|
|
get(id: string): any;
|
|
hide(id: string): boolean;
|
|
hideAll(except?: string[]): object;
|
|
isVisible(id: string): boolean;
|
|
onHide(id: string, callback: () => void): object;
|
|
onRefresh(id: string, callback: () => void): object;
|
|
refresh(id: string): object;
|
|
setContainer(id: string, $container: any): void;
|
|
show(id: string, leftOffset?: number, topOffset?: number, height?: number, applyLeftOffset?: boolean): boolean;
|
|
onShow(id: string, callback: () => void): void;
|
|
areVisible(new_instance?: any): any;
|
|
setFileListHeight($popup: any): any;
|
|
setPopupDimensions($popup: any, isDelete: any): void;
|
|
[key: string]: (...args: any[]) => any;
|
|
}
|
|
|
|
export interface Position {
|
|
_init(): void;
|
|
getBoundingRect(): Element;
|
|
refresh(): object;
|
|
forSelection($el: any): void;
|
|
addSticky($el: any): void;
|
|
at(left: any, top: any, $el: any, obj_height: any): void;
|
|
}
|
|
|
|
export interface Refresh {
|
|
undo: ($btn: any) => void;
|
|
redo: ($btn: any) => void;
|
|
outdent: ($btn: any) => boolean;
|
|
indent: ($btn: any) => boolean;
|
|
moreText: ($moreButton: any) => void;
|
|
moreParagraph: ($moreButton: any) => void;
|
|
moreMisc: ($moreButton: any) => void;
|
|
moreRich: ($moreButton: any) => void;
|
|
}
|
|
|
|
export interface Shortcuts {
|
|
_init(): void;
|
|
get(cmd: any): string;
|
|
}
|
|
|
|
export interface Quote extends Apply<string> {}
|
|
|
|
export interface Save {
|
|
_init(): void;
|
|
force(): void;
|
|
save(html?: HTML): object;
|
|
reset(): void;
|
|
[key: string]: (...args: any[]) => any;
|
|
}
|
|
|
|
export interface FroalaSelection {
|
|
blocks(toggleList?: any, keepLi?: any): any[];
|
|
clear(): void;
|
|
element(): HTMLElement;
|
|
endElement(): Element;
|
|
get(): string | object;
|
|
inEditor(): boolean;
|
|
info(element: Element): object;
|
|
isCollapsed(): boolean;
|
|
isFull(): boolean;
|
|
ranges(index: number): Range | Range[];
|
|
restore(): boolean;
|
|
save(): void;
|
|
setAfter(node: Element, use_current_node?: any): boolean;
|
|
setAtEnd(node: Element, deep?: any): boolean;
|
|
setAtStart(node: Element, deep?: any): boolean;
|
|
setBefore(node: Element, use_current_node?: any): boolean;
|
|
text(): string;
|
|
remove(): boolean;
|
|
rangeElement(rangeContainer: any, offset: any) : any;
|
|
[key: string]: (...args: any[]) => any;
|
|
}
|
|
|
|
export interface Size {
|
|
_init(): boolean;
|
|
refresh(): void;
|
|
syncIframe(): void;
|
|
}
|
|
|
|
export interface Snapshot {
|
|
equal(snapshot1: any, snapshot2: any): boolean;
|
|
get(): any;
|
|
restore(snapshot: any): object;
|
|
}
|
|
|
|
export interface SpellChecker {
|
|
_init(): boolean;
|
|
refresh($btn: Element): void;
|
|
toggle(): void;
|
|
[key: string]: (...args: any[]) => any;
|
|
}
|
|
|
|
export interface Table {
|
|
_init(): boolean;
|
|
insert(rows: number, columns: number): object;
|
|
remove(): void;
|
|
insertRow(position: number): void;
|
|
deleteRow(): void;
|
|
insertColumn(position: number): void;
|
|
deleteColumn(): void;
|
|
mergeCells(): void;
|
|
splitCellVertically(): void;
|
|
splitCellHorizontally(): void;
|
|
addHeader(): void;
|
|
addFooter(): void;
|
|
removeHeader(): void;
|
|
removeFooter(): void;
|
|
setBackground(color: any): void;
|
|
showInsertPopup(): void;
|
|
showEditPopup(): void;
|
|
showColorsPopup(): void;
|
|
back(): void;
|
|
verticalAlign(val: any): void;
|
|
horizontalAlign(val: any): void;
|
|
applyStyle(val: any, obj: any, multiple_styles: any, styles: any): void;
|
|
selectedTable(): void;
|
|
selectedCells(): void;
|
|
customColor(): void;
|
|
selectCells(firstCell: any, lastCell: any): void;
|
|
[key: string]: (...args: any[]) => any;
|
|
}
|
|
|
|
export interface Toolbar {
|
|
_init(): boolean;
|
|
enable(): void;
|
|
disable(): void;
|
|
hide(): boolean;
|
|
show(): boolean;
|
|
showInline(element: Element, force: boolean): void;
|
|
setMoreToolbarsHeight(): void;
|
|
[key: string]: (...args: any[]) => any;
|
|
}
|
|
|
|
export interface Tooltip {
|
|
bind(element: Element, selector: string, displayAbove?: boolean): object;
|
|
hide(): object;
|
|
to(element: Element, displayAbove: boolean): object;
|
|
}
|
|
|
|
export interface Undo {
|
|
canDo(): boolean;
|
|
canRedo(): boolean;
|
|
reset(): object;
|
|
saveStep(snapshot?: any): void;
|
|
_init(): void;
|
|
run(): void;
|
|
redo(): void;
|
|
dropRedo(): void;
|
|
}
|
|
|
|
export interface Track_Changes {
|
|
toggleTracking(): void;
|
|
getPendingChanges(): object[];
|
|
showChanges(): void;
|
|
acceptAllChanges(): void;
|
|
rejectAllChanges(): void;
|
|
acceptSingleChange(): void;
|
|
rejectSingleChange(): void;
|
|
pushChange(changeId: any): void;
|
|
insertChangeAt(index: number, changeId: number): void;
|
|
popChange(): any;
|
|
refresh($btn: any): void;
|
|
replaceSpecialItem($item: any): void;
|
|
removeSpecialItem($item: any): void;
|
|
removedTable($table: any): void;
|
|
addQuote($quote: any): void;
|
|
removeQuote($quote: any, index: number): void;
|
|
wrapInTracking(item: any): void;
|
|
wrapInDelete(item: any): void;
|
|
wrapLinkInTracking(item: any, changeIndex: any): void;
|
|
pasteInEmptyEdior(clean_html: string): void;
|
|
pasteInEdior(clean_html: string): void;
|
|
[key: string]: (...args: any[]) => any;
|
|
}
|
|
|
|
export interface Video {
|
|
_init(): void;
|
|
align(alignType: AlignType): object;
|
|
display(displayType: DisplayType): object;
|
|
get(): any;
|
|
insert(embeddedCode: string): object;
|
|
remove(): object;
|
|
setSize(width: string, height: string): object;
|
|
showInsertPopup(): void;
|
|
showLayer(name: any): void;
|
|
refreshByURLButton($btn: any): void;
|
|
refreshEmbedButton($btn: any): void;
|
|
refreshUploadButton($btn: any): void;
|
|
upload(videos: any): void;
|
|
insertByURL(url: string): void;
|
|
insertEmbed(html: string): void;
|
|
refreshAlign($btn: any): boolean;
|
|
refreshAlignOnShow($btn: any, $dropdown: any): void;
|
|
refreshDisplayOnShow($btn: any, $dropdown: any): void;
|
|
hideProgressBar(dismiss: any): void;
|
|
showSizePopup(): void;
|
|
replace(): void;
|
|
back(): void;
|
|
showProgressBar(no_message: any): void;
|
|
_editVideo($video: any): void;
|
|
setAutoplay(): void;
|
|
[key: string]: (...args: any[]) => any;
|
|
}
|
|
|
|
export interface Word_paste {
|
|
_init(): void;
|
|
clean(keep_formatting: any): void;
|
|
_wordClean(html: string, rtf: any): string;
|
|
}
|
|
|
|
export interface Trim_video {
|
|
_init(): void;
|
|
trimVideo(file: any, index: any, file_list: any[]): void;
|
|
}
|
|
|
|
export interface Special_characters {
|
|
setSpecialCharacterCategory(categoryId: any): void;
|
|
showSpecialCharsPopup(): void;
|
|
back(): void;
|
|
[key: string]: (...args: any[]) => any;
|
|
}
|
|
|
|
export interface Icon {
|
|
create(command: any): any;
|
|
getTemplate(command: any): any;
|
|
getFileIcon(command: any): any;
|
|
}
|
|
|
|
export interface Accessibility {
|
|
_init(): void;
|
|
registerPopup: (id: any) => void;
|
|
registerToolbar: (table: any) => void;
|
|
focusToolbarElement: (element: any) => void;
|
|
focusToolbar: (table: any, last: any) => boolean;
|
|
focusContent: (content: any, backward: any) => boolean;
|
|
focusPopup: (popup: any) => void;
|
|
focusModal: ($modal: any) => void;
|
|
focusEditor: () => void;
|
|
focusPopupButton: ($popup: any) => void;
|
|
focusModalButton: ($modal: any) => void;
|
|
hasFocus: () => boolean;
|
|
exec: (e: any, $tb: any) => boolean;
|
|
saveSelection: () => void;
|
|
restoreSelection: () => void;
|
|
}
|
|
}
|