diff options
author | Frederic Guillot <fred@kanboard.net> | 2016-11-27 15:44:45 -0500 |
---|---|---|
committer | Frederic Guillot <fred@kanboard.net> | 2016-11-27 15:44:45 -0500 |
commit | d8b0423d152ca27682b001f2c4d386d9c5dd361e (patch) | |
tree | 8b4919d5296b857bcf74e81c8cc06729ddfce5e5 /assets/js/core | |
parent | 04ff67e26b880dde8bfb6462f312cf434457cd46 (diff) |
Add suggest menu for user mentions in text editor
Diffstat (limited to 'assets/js/core')
-rw-r--r-- | assets/js/core/base.js | 8 | ||||
-rw-r--r-- | assets/js/core/dom.js | 22 |
2 files changed, 29 insertions, 1 deletions
diff --git a/assets/js/core/base.js b/assets/js/core/base.js index 7346575c..4ea3ffc2 100644 --- a/assets/js/core/base.js +++ b/assets/js/core/base.js @@ -61,7 +61,13 @@ KB.render = function () { for (var i = 0; i < elementList.length; i++) { if (this.components.hasOwnProperty(name)) { - var component = KB.getComponent(name, elementList[i], JSON.parse(elementList[i].dataset.params)); + var options; + + if (elementList[i].dataset.params) { + options = JSON.parse(elementList[i].dataset.params); + } + + var component = KB.getComponent(name, elementList[i], options); component.render(); elementList[i].className = elementList[i].className + '-rendered'; } diff --git a/assets/js/core/dom.js b/assets/js/core/dom.js index 33039285..20510d44 100644 --- a/assets/js/core/dom.js +++ b/assets/js/core/dom.js @@ -10,6 +10,14 @@ KB.dom = function (tag) { return this; }; + this.data = function (attribute, value) { + if (arguments.length === 1) { + return element.dataset[attribute]; + } + element.dataset[attribute] = value; + return this; + }; + this.hide = function () { element.style.display = 'none'; return this; @@ -30,6 +38,11 @@ KB.dom = function (tag) { return this; }; + this.style = function(attribute, value) { + element.style[attribute] = value; + return this; + }; + this.on = function (eventName, callback) { element.addEventListener(eventName, function (e) { e.preventDefault(); @@ -43,6 +56,10 @@ KB.dom = function (tag) { return this.on('click', callback); }; + this.mouseover = function (callback) { + return this.on('mouseover', callback); + }; + this.change = function (callback) { return this.on('change', callback); }; @@ -96,6 +113,11 @@ KB.dom = function (tag) { return this; }; + this.remove = function () { + element.parentNode.removeChild(element); + return this; + }; + this.parent = function (selector) { for (; element && element !== document; element = element.parentNode) { if (element.matches(selector)) { |