(function () { var help = (function () { 'use strict'; var global = tinymce.util.Tools.resolve('tinymce.PluginManager'); var noop = function () { }; var constant = function (value) { return function () { return value; }; }; function curry(fn) { var initialArgs = []; for (var _i = 1; _i < arguments.length; _i++) { initialArgs[_i - 1] = arguments[_i]; } return function () { var restArgs = []; for (var _i = 0; _i < arguments.length; _i++) { restArgs[_i] = arguments[_i]; } var all = initialArgs.concat(restArgs); return fn.apply(null, all); }; } var not = function (f) { return function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } return !f.apply(null, args); }; }; var never = constant(false); var always = constant(true); var none = function () { return NONE; }; var NONE = function () { var eq = function (o) { return o.isNone(); }; var call = function (thunk) { return thunk(); }; var id = function (n) { return n; }; var me = { fold: function (n, s) { return n(); }, is: never, isSome: never, isNone: always, getOr: id, getOrThunk: call, getOrDie: function (msg) { throw new Error(msg || 'error: getOrDie called on none.'); }, getOrNull: constant(null), getOrUndefined: constant(undefined), or: id, orThunk: call, map: none, each: noop, bind: none, exists: never, forall: always, filter: none, equals: eq, equals_: eq, toArray: function () { return []; }, toString: constant('none()') }; if (Object.freeze) { Object.freeze(me); } return me; }(); var some = function (a) { var constant_a = constant(a); var self = function () { return me; }; var bind = function (f) { return f(a); }; var me = { fold: function (n, s) { return s(a); }, is: function (v) { return a === v; }, isSome: always, isNone: never, getOr: constant_a, getOrThunk: constant_a, getOrDie: constant_a, getOrNull: constant_a, getOrUndefined: constant_a, or: self, orThunk: self, map: function (f) { return some(f(a)); }, each: function (f) { f(a); }, bind: bind, exists: bind, forall: bind, filter: function (f) { return f(a) ? me : NONE; }, toArray: function () { return [a]; }, toString: function () { return 'some(' + a + ')'; }, equals: function (o) { return o.is(a); }, equals_: function (o, elementEq) { return o.fold(never, function (b) { return elementEq(a, b); }); } }; return me; }; var from = function (value) { return value === null || value === undefined ? NONE : some(value); }; var Option = { some: some, none: none, from: from }; var typeOf = function (x) { if (x === null) { return 'null'; } var t = typeof x; if (t === 'object' && (Array.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'Array')) { return 'array'; } if (t === 'object' && (String.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'String')) { return 'string'; } return t; }; var isType = function (type) { return function (value) { return typeOf(value) === type; }; }; var isFunction = isType('function'); var nativeSlice = Array.prototype.slice; var nativeIndexOf = Array.prototype.indexOf; var rawIndexOf = function (ts, t) { return nativeIndexOf.call(ts, t); }; var contains = function (xs, x) { return rawIndexOf(xs, x) > -1; }; var map = function (xs, f) { var len = xs.length; var r = new Array(len); for (var i = 0; i < len; i++) { var x = xs[i]; r[i] = f(x, i); } return r; }; var filter = function (xs, pred) { var r = []; for (var i = 0, len = xs.length; i < len; i++) { var x = xs[i]; if (pred(x, i)) { r.push(x); } } return r; }; var find = function (xs, pred) { for (var i = 0, len = xs.length; i < len; i++) { var x = xs[i]; if (pred(x, i)) { return Option.some(x); } } return Option.none(); }; var from$1 = isFunction(Array.from) ? Array.from : function (x) { return nativeSlice.call(x); }; var global$1 = tinymce.util.Tools.resolve('tinymce.util.I18n'); var global$2 = tinymce.util.Tools.resolve('tinymce.Env'); var meta = global$2.mac ? '\u2318' : 'Ctrl'; var access = global$2.mac ? 'Ctrl + Alt' : 'Shift + Alt'; var shortcuts = [ { shortcut: meta + ' + B', action: 'Bold' }, { shortcut: meta + ' + I', action: 'Italic' }, { shortcut: meta + ' + U', action: 'Underline' }, { shortcut: meta + ' + A', action: 'Select all' }, { shortcut: meta + ' + Y or ' + meta + ' + Shift + Z', action: 'Redo' }, { shortcut: meta + ' + Z', action: 'Undo' }, { shortcut: access + ' + 1', action: 'Header 1' }, { shortcut: access + ' + 2', action: 'Header 2' }, { shortcut: access + ' + 3', action: 'Header 3' }, { shortcut: access + ' + 4', action: 'Header 4' }, { shortcut: access + ' + 5', action: 'Header 5' }, { shortcut: access + ' + 6', action: 'Header 6' }, { shortcut: access + ' + 7', action: 'Paragraph' }, { shortcut: access + ' + 8', action: 'Div' }, { shortcut: access + ' + 9', action: 'Address' }, { shortcut: 'Alt + F9', action: 'Focus to menubar' }, { shortcut: 'Alt + F10', action: 'Focus to toolbar' }, { shortcut: 'Alt + F11', action: 'Focus to element path' }, { shortcut: 'Ctrl + F9', action: 'Focus to contextual toolbar' }, { shortcut: meta + ' + K', action: 'Insert link (if link plugin activated)' }, { shortcut: meta + ' + S', action: 'Save (if save plugin activated)' }, { shortcut: meta + ' + F', action: 'Find (if searchreplace plugin activated)' } ]; var KeyboardShortcuts = { shortcuts: shortcuts }; var makeTab = function () { var makeAriaLabel = function (shortcut) { return 'aria-label="Action: ' + shortcut.action + ', Shortcut: ' + shortcut.shortcut.replace(/Ctrl/g, 'Control') + '"'; }; var shortcutLisString = map(KeyboardShortcuts.shortcuts, function (shortcut) { return '
| ' + global$1.translate('Action') + ' | ' + '' + global$1.translate('Shortcut') + ' | ' + '' + shortcutLisString + '
|---|
' + global$1.translate([ 'Plugins installed ({0}):', count ]) + '
' + '' + global$1.translate('Premium plugins:') + '
' + '
';
}
});
};
};
var Dialog = { open: open };
var register = function (editor, pluginUrl) {
editor.addCommand('mceHelp', Dialog.open(editor, pluginUrl));
};
var Commands = { register: register };
var register$1 = function (editor, pluginUrl) {
editor.addButton('help', {
icon: 'help',
onclick: Dialog.open(editor, pluginUrl)
});
editor.addMenuItem('help', {
text: 'Help',
icon: 'help',
context: 'help',
onclick: Dialog.open(editor, pluginUrl)
});
};
var Buttons = { register: register$1 };
global.add('help', function (editor, pluginUrl) {
Buttons.register(editor, pluginUrl);
Commands.register(editor, pluginUrl);
editor.shortcuts.add('Alt+0', 'Open help dialog', 'mceHelp');
});
function Plugin () {
}
return Plugin;
}());
})();