- // ==UserScript==
- // @name Force Full Editor
- // @description Forces WYSIWYG editors to always use the full editor if possible
- // @author qsniyg
- // @version 0.2
- // @namespace Violentmonkey Scripts
- // @include *
- // @grant none
- // @run-at document-start
- // ==/UserScript==
-
- (function() {
- var ck;
- Object.defineProperty(window, "CKEDITOR", {
- get: function() {
- if (ck && ck.replace && !ck.replace.injected) {
- var oldreplace = ck.replace;
- oldreplace.injected = true;
- ck.replace = function() {
- if (arguments.length >= 2) {
- if (typeof arguments[1] === "object") {
- delete arguments[1]["toolbarGroups"];
- delete arguments[1]["toolbar"];
- delete arguments[1]["removeButtons"];
- }
- }
- return oldreplace.apply(this, arguments);
- };
- }
- return ck;
- },
- set: function(x) {
- ck = x;
- }
- });
- var jq = null;
- Object.defineProperty(window, "jQuery", {
- get: function() {
- return jq;
- },
- set: function(x) {
- jq = x;
- if (jq && jq.fn) {
- var kendo;
- Object.defineProperty(jq.fn, "kendoEditor", {
- get: function() {
- if (kendo) {
- var oldkendo = kendo;
- kendo = function() {
- if (arguments.length >= 1 && typeof arguments[0] === "object") {
- if (!arguments[0].tools) {
- arguments[0].tools = [];
- }
-
- var tools = [
- "bold", "italic", "underline", "strikethrough", "subscript", "superscript",
- "fontName", "fontSize", "foreColor", "backColor",
- "justifyLeft", "justifyCenter", "justifyRight", "justifyFull",
- "insertUnorderedList", "insertOrderedList", "indent", "outdent",
- "createLink", "unlink", "insertImage", "insertFile",
- "tableWizard", "createTable", "addColumnLeft", "addColumnRight", "addRowAbove", "addRowBelow", "deleteRow", "deleteColumn",
- "formatting", "cleanFormatting",
- "insertHtml", "viewHtml",
- "print", "pdf"
- ];
-
- for (var i = 0; i < tools.length; i++) {
- var tool = tools[i];
-
- var in_array = false;
- for (var j = 0; j < arguments[0].tools.length; j++) {
- var atool = arguments[0].tools[j];
- if (typeof atool === "string") {
- if (atool === tool) {
- in_array = true;
- break;
- }
- } else {
- if (atool.name === tool) {
- in_array = true;
- break;
- }
- }
- }
-
- if (in_array)
- continue;
-
- arguments[0].tools.push(tool);
- }
- }
- return oldkendo.apply(this, arguments);
- }
- }
- return kendo;
- },
- set: function(x) {
- kendo = x;
- }
- })
- }
- }
- });
- })();