diff --git a/js/2.0.0/buildForm.js b/js/2.0.0/buildForm.js index b590c21..22c46d6 100644 --- a/js/2.0.0/buildForm.js +++ b/js/2.0.0/buildForm.js @@ -419,6 +419,8 @@ function buildLongTextInput(source, textarea, label) { "bold", "italic", "underline", + "strikethrough", + "paragraph", "heading1", "heading2", { @@ -434,8 +436,6 @@ function buildLongTextInput(source, textarea, label) { }, }); - activeState.editor = editor; - let actionBar = editor.getElementsByClassName("pell-actionbar")[0]; let content = editor.getElementsByClassName("pell-content")[0]; diff --git a/js/2.0.0/evts.js b/js/2.0.0/evts.js index 34eb068..db0a952 100644 --- a/js/2.0.0/evts.js +++ b/js/2.0.0/evts.js @@ -59,13 +59,13 @@ function insertTextBlocks(t) { if (element === null) { return; } - element.value += insert; + element.value += " "+insert; let tB = document.getElementById("navTb"); tB.className.replace(" w3-show", ""); if (element.parentElement != undefined) { if (element.parentElement.getElementsByClassName("pell-content")[0] != undefined) { - activeState.editor.content.innerHTML = element.value; + element.parentElement.getElementsByClassName("pell-content")[0].innerHTML = element.value; element = element.parentElement.getElementsByClassName("pell-content")[0]; } } diff --git a/js/2.0.0/init.js b/js/2.0.0/init.js index 89c23e5..148579d 100644 --- a/js/2.0.0/init.js +++ b/js/2.0.0/init.js @@ -46,8 +46,7 @@ window.activeState = { "markup", ], markups: ["title", "link", "italic", "green_highlighted", "highlighted"], - storage: [], - editor: null + storage: [] }; function init() { diff --git a/js/2.0.0/pell.js b/js/2.0.0/pell.js index 014e01a..e8522f1 100644 --- a/js/2.0.0/pell.js +++ b/js/2.0.0/pell.js @@ -1,226 +1,254 @@ (function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : - typeof define === 'function' && define.amd ? define(['exports'], factory) : - (factory((globalThis.pell = {}))); -}(this, (function (exports) { 'use strict'; + typeof exports === "object" && typeof module !== "undefined" + ? factory(exports) + : typeof define === "function" && define.amd + ? define(["exports"], factory) + : factory((globalThis.pell = {})); +})(this, function (exports) { + "use strict"; -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var defaultParagraphSeparatorString = 'defaultParagraphSeparator'; -var formatBlock = 'formatBlock'; -var addEventListener = function addEventListener(parent, type, listener) { - return parent.addEventListener(type, listener); -}; -var appendChild = function appendChild(parent, child) { - return parent.appendChild(child); -}; -var createElement = function createElement(tag) { - return document.createElement(tag); -}; -var queryCommandState = function queryCommandState(command) { - return document.queryCommandState(command); -}; -var queryCommandValue = function queryCommandValue(command) { - return document.queryCommandValue(command); -}; - -var exec = function exec(command) { - var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; - return document.execCommand(command, false, value); -}; - -var defaultActions = { - bold: { - icon: 'B', - title: 'Bold', - state: function state() { - return queryCommandState('bold'); - }, - result: function result() { - return exec('bold'); - } - }, - italic: { - icon: 'I', - title: 'Italic', - state: function state() { - return queryCommandState('italic'); - }, - result: function result() { - return exec('italic'); - } - }, - underline: { - icon: 'U', - title: 'Underline', - state: function state() { - return queryCommandState('underline'); - }, - result: function result() { - return exec('underline'); - } - }, - strikethrough: { - icon: 'S', - title: 'Strike-through', - state: function state() { - return queryCommandState('strikeThrough'); - }, - result: function result() { - return exec('strikeThrough'); - } - }, - heading1: { - icon: 'H1', - title: 'Heading 1', - result: function result() { - return exec(formatBlock, '

'); - } - }, - heading2: { - icon: 'H2', - title: 'Heading 2', - result: function result() { - return exec(formatBlock, '

'); - } - }, - paragraph: { - icon: '¶', - title: 'Paragraph', - result: function result() { - return exec(formatBlock, '

'); - } - }, - quote: { - icon: '“ ”', - title: 'Quote', - result: function result() { - return exec(formatBlock, '

'); - } - }, - olist: { - icon: '#', - title: 'Ordered List', - result: function result() { - return exec('insertOrderedList'); - } - }, - ulist: { - icon: '•', - title: 'Unordered List', - result: function result() { - return exec('insertUnorderedList'); - } - }, - code: { - icon: '</>', - title: 'Code', - result: function result() { - return exec(formatBlock, '
');
-    }
-  },
-  line: {
-    icon: '―',
-    title: 'Horizontal Line',
-    result: function result() {
-      return exec('insertHorizontalRule');
-    }
-  },
-  link: {
-    icon: '🔗',
-    title: 'Link',
-    result: function result() {
-      var url = window.prompt('Enter the link URL');
-      if (url) exec('createLink', url);
-    }
-  },
-  image: {
-    icon: '📷',
-    title: 'Image',
-    result: function result() {
-      var url = window.prompt('Enter the image URL');
-      if (url) exec('insertImage', url);
-    }
-  }
-};
-
-var defaultClasses = {
-  actionbar: 'pell-actionbar',
-  button: 'pell-button',
-  content: 'pell-content',
-  selected: 'pell-button-selected'
-};
-
-var init = function init(settings) {
-  var actions = settings.actions ? settings.actions.map(function (action) {
-    if (typeof action === 'string') return defaultActions[action];else if (defaultActions[action.name]) return _extends({}, defaultActions[action.name], action);
-    return action;
-  }) : Object.keys(defaultActions).map(function (action) {
-    return defaultActions[action];
-  });
-
-  var classes = _extends({}, defaultClasses, settings.classes);
-
-  var defaultParagraphSeparator = settings[defaultParagraphSeparatorString] || 'div';
-
-  var actionbar = createElement('div');
-  actionbar.className = classes.actionbar;
-  appendChild(settings.element, actionbar);
-
-  var content = settings.element.content = createElement('div');
-  content.contentEditable = true;
-  content.className = classes.content;
-  content.oninput = function (_ref) {
-    var firstChild = _ref.target.firstChild;
-
-    if (firstChild && firstChild.nodeType === 3) exec(formatBlock, '<' + defaultParagraphSeparator + '>');else if (content.innerHTML === '
') content.innerHTML = ''; - settings.onChange(content.innerHTML); - }; - content.onkeydown = function (event) { - if (event.key === 'Enter' && queryCommandValue(formatBlock) === 'blockquote') { - setTimeout(function () { - return exec(formatBlock, '<' + defaultParagraphSeparator + '>'); - }, 0); - } - }; - appendChild(settings.element, content); - - actions.forEach(function (action) { - var button = createElement('button'); - button.className = classes.button; - button.innerHTML = action.icon; - button.title = action.title; - button.setAttribute('type', 'button'); - button.onclick = function () { - return action.result() && content.focus(); + var _extends = + Object.assign || + function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + return target; }; - if (action.state) { - var handler = function handler() { - return button.classList[action.state() ? 'add' : 'remove'](classes.selected); + var defaultParagraphSeparatorString = "defaultParagraphSeparator"; + var formatBlock = "formatBlock"; + var addEventListener = function addEventListener(parent, type, listener) { + return parent.addEventListener(type, listener); + }; + var appendChild = function appendChild(parent, child) { + return parent.appendChild(child); + }; + var createElement = function createElement(tag) { + return document.createElement(tag); + }; + var queryCommandState = function queryCommandState(command) { + return document.queryCommandState(command); + }; + var queryCommandValue = function queryCommandValue(command) { + return document.queryCommandValue(command); + }; + + + var exec = function exec(command) { + var value = + arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + return document.execCommand(command, false, value); + }; + + var defaultActions = { + bold: { + icon: "B", + title: "Bold", + state: function state() { + return queryCommandState("bold"); + }, + result: function result() { + return exec("bold"); + }, + }, + italic: { + icon: "I", + title: "Italic", + state: function state() { + return queryCommandState("italic"); + }, + result: function result() { + return exec("italic"); + }, + }, + underline: { + icon: "U", + title: "Underline", + state: function state() { + return queryCommandState("underline"); + }, + result: function result() { + return exec("underline"); + }, + }, + strikethrough: { + icon: "S", + title: "Strike-through", + state: function state() { + return queryCommandState("strikeThrough"); + }, + result: function result() { + return exec("strikeThrough"); + }, + }, + heading1: { + icon: "H1", + title: "Heading 1", + result: function result() { + return exec(formatBlock, "

"); + }, + }, + heading2: { + icon: "H2", + title: "Heading 2", + result: function result() { + return exec(formatBlock, "

"); + }, + }, + paragraph: { + icon: "¶", + title: "Paragraph", + result: function result() { + return exec(formatBlock, "

"); + }, + }, + quote: { + icon: "“ ”", + title: "Quote", + result: function result() { + return exec(formatBlock, "

"); + }, + }, + olist: { + icon: "#", + title: "Ordered List", + result: function result() { + return exec("insertOrderedList"); + }, + }, + ulist: { + icon: "•", + title: "Unordered List", + result: function result() { + return exec("insertUnorderedList"); + }, + }, + code: { + icon: "</>", + title: "Code", + result: function result() { + return exec(formatBlock, "
");
+      },
+    },
+    line: {
+      icon: "―",
+      title: "Horizontal Line",
+      result: function result() {
+        return exec("insertHorizontalRule");
+      },
+    },
+    link: {
+      icon: "🔗",
+      title: "Link",
+      result: function result() {
+        var url = window.prompt("Enter the link URL");
+        if (url) exec("createLink", url);
+      },
+    },
+    image: {
+      icon: "📷",
+      title: "Image",
+      result: function result() {
+        var url = window.prompt("Enter the image URL");
+        if (url) exec("insertImage", url);
+      },
+    },
+  };
+
+  var defaultClasses = {
+    actionbar: "pell-actionbar",
+    button: "pell-button",
+    content: "pell-content",
+    selected: "pell-button-selected",
+  };
+
+  var init = function init(settings) {
+    var actions = settings.actions
+      ? settings.actions.map(function (action) {
+          if (typeof action === "string") return defaultActions[action];
+          else if (defaultActions[action.name])
+            return _extends({}, defaultActions[action.name], action);
+          return action;
+        })
+      : Object.keys(defaultActions).map(function (action) {
+          return defaultActions[action];
+        });
+
+    var classes = _extends({}, defaultClasses, settings.classes);
+
+    var defaultParagraphSeparator =
+      settings[defaultParagraphSeparatorString] || "div";
+
+    var actionbar = createElement("div");
+    actionbar.className = classes.actionbar;
+    appendChild(settings.element, actionbar);
+
+    var content = (settings.element.content = createElement("div"));
+    content.contentEditable = true;
+    content.className = classes.content;
+    content.oninput = function (_ref) {
+      var firstChild = _ref.target.firstChild;
+
+      if (firstChild && firstChild.nodeType === 3)
+        exec(formatBlock, "<" + defaultParagraphSeparator + ">");
+      else if (content.innerHTML === "
") content.innerHTML = ""; + settings.onChange(content.innerHTML); + }; + content.onkeydown = function (event) { + if ( + event.key === "Enter" && + queryCommandValue(formatBlock) === "blockquote" + ) { + setTimeout(function () { + return exec(formatBlock, "<" + defaultParagraphSeparator + ">"); + }, 0); + } + }; + appendChild(settings.element, content); + + actions.forEach(function (action) { + var button = createElement("button"); + button.className = classes.button; + button.innerHTML = action.icon; + button.title = action.title; + button.setAttribute("type", "button"); + button.onclick = function () { + return action.result() && content.focus(); }; - addEventListener(content, 'keyup', handler); - addEventListener(content, 'mouseup', handler); - addEventListener(button, 'click', handler); - } - appendChild(actionbar, button); - }); + if (action.state) { + var handler = function handler() { + return button.classList[action.state() ? "add" : "remove"]( + classes.selected + ); + }; + addEventListener(content, "keyup", handler); + addEventListener(content, "mouseup", handler); + addEventListener(button, "click", handler); + } - if (settings.styleWithCSS) exec('styleWithCSS'); - exec(defaultParagraphSeparatorString, defaultParagraphSeparator); + appendChild(actionbar, button); + }); - return settings.element; -}; + if (settings.styleWithCSS) exec("styleWithCSS"); + exec(defaultParagraphSeparatorString, defaultParagraphSeparator); -var pell = { exec: exec, init: init }; + return settings.element; + }; -exports.exec = exec; -exports.init = init; -exports['default'] = pell; + var pell = { exec: exec, init: init }; -Object.defineProperty(exports, '__esModule', { value: true }); + exports.exec = exec; + exports.init = init; + exports["default"] = pell; -}))); + Object.defineProperty(exports, "__esModule", { value: true }); +}); -export default pell; \ No newline at end of file +export default pell;