diff --git a/plugins/quiqqer/quiqqerBricks/plugin.js b/plugins/quiqqer/quiqqerBricks/plugin.js index 7255e236e0166156be32be5079e1241f76dfc979..be1ada1c53f04e3557d85265842d1dd1c4183b57 100644 --- a/plugins/quiqqer/quiqqerBricks/plugin.js +++ b/plugins/quiqqer/quiqqerBricks/plugin.js @@ -2,10 +2,10 @@ "use strict"; console.log('init quiqqer bricks'); // finds out which project are active - var getProjectData = function (Node, editor) { - var Panel, Site; - var project = ''; - var lang = ''; + const getProjectData = function (Node, editor) { + let Panel, Site; + let project = ''; + let lang = ''; if (Node.closest('.qui-panel')) { Panel = window.QUI.Controls.getById( @@ -41,13 +41,13 @@ }; }; - var editNode = function (Node, editor) { + const editNode = function (Node, editor) { if (!Node.classList.contains('quiqqer_bricks_placeholder')) { return; } - var brickId = Node.getAttribute('data-brickid'); - var projectData = getProjectData(Node, editor); + const brickId = Node.getAttribute('data-brickid'); + const projectData = getProjectData(Node, editor); require([ 'Locale', @@ -132,7 +132,7 @@ }, onSubmit: function (Win) { - var brickId = Win.getContent().getElement('input').value; + const brickId = Win.getContent().getElement('input').value; if (brickId !== '') { Node.setAttribute('data-brickid', brickId); @@ -145,15 +145,15 @@ }; // set custom div events - var setPlaceHolderEvents = function (element, editor) { + const setPlaceHolderEvents = function (element, editor) { if (element.getAttribute('data-placeholder-event')) { return; } // edit element.addEventListener('click', function (e) { - var Target = e.target; - var Brick = Target; + const Target = e.target; + let Brick = Target; if (!Brick.classList.contains('quiqqer_bricks_placeholder')) { Brick = Target.closest('.quiqqer_bricks_placeholder'); @@ -177,10 +177,10 @@ }; // refresh placeholder display data - var refreshPlaceholderDisplay = function (element, editor) { - var doc = editor.document.$; - var Info = element.querySelector('.quiqqer_bricks_placeholder_info'); - var Settings = element.querySelector('.quiqqer_bricks_placeholder_settings'); + const refreshPlaceholderDisplay = function (element, editor) { + const doc = editor.document.$; + let Info = element.querySelector('.quiqqer_bricks_placeholder_info'); + let Settings = element.querySelector('.quiqqer_bricks_placeholder_settings'); if (!Info) { Info = doc.createElement('div'); @@ -209,12 +209,12 @@ }); }; - var setCustomEvents = function (evt) { - var editor = evt.editor; - var doc = editor.document.$; - var elements = doc.querySelectorAll('.quiqqer_bricks_placeholder'); + const setCustomEvents = function (evt) { + const editor = evt.editor; + const doc = editor.document.$; + const elements = doc.querySelectorAll('.quiqqer_bricks_placeholder'); - for (var i = 0, len = elements.length; i < len; i++) { + for (let i = 0, len = elements.length; i < len; i++) { setPlaceHolderEvents(elements[i], editor); } }; @@ -270,7 +270,7 @@ init: function (editor) { console.log('on init quiqqer bricks'); - var self = this; + const self = this; this.$Editor = editor; @@ -283,18 +283,18 @@ // save editor.on('getData', function (evt) { - var Ghost = new Element('div', { + const Ghost = new Element('div', { html: evt.data.dataValue }); - var placeholders = Ghost.getElements('.quiqqer_bricks_placeholder'); - var brickId, textNode, PH; - + const placeholders = Ghost.getElements('.quiqqer_bricks_placeholder'); + let brickId, textNode, PH; + if (!placeholders.length) { return; } - for (var i = 0, len = placeholders.length; i < len; i++) { + for (let i = 0, len = placeholders.length; i < len; i++) { PH = placeholders[i]; brickId = PH.get('data-brickid'); @@ -313,8 +313,12 @@ // load editor.on('setData', function (evt) { - var result; - var data = evt.data.dataValue; + let result; + const data = evt.data.dataValue; + + if (!data) { + return; + } if (data.indexOf('{{brick ') === -1) { return; @@ -328,10 +332,10 @@ match = match.trim(); match = match.split(' '); - var parts; - var attributes = []; + let parts; + const attributes = []; - for (var m = 0, len = match.length; m < len; m++) { + for (const m = 0, len = match.length; m < len; m++) { parts = match[m].trim().split('='); attributes[parts[0]] = parts[1]; @@ -367,8 +371,8 @@ 'package/quiqqer/bricks/bin/Controls/backend/BrickSelectWindow' ], function (BrickSelectWindow) { // get project, if editor is in panel - var Node = editor.ui.contentsElement.$; - var projectData = getProjectData(Node, editor); + const Node = editor.ui.contentsElement.$; + const projectData = getProjectData(Node, editor); new BrickSelectWindow({ project : projectData.project, @@ -399,9 +403,9 @@ '<p> </p>' ); - var i, len, o; - var doc = editor.document.$; - var nodes = doc.body.querySelectorAll('div.quiqqer_bricks_placeholder'); + let i, len, o; + const doc = editor.document.$; + const nodes = doc.body.querySelectorAll('div.quiqqer_bricks_placeholder'); for (i = 0, len = nodes.length; i < len; i++) { o = doc.createElement('cke:object');