forked from verdnatura/hedera-web
113 lines
2.1 KiB
JavaScript
113 lines
2.1 KiB
JavaScript
|
|
module.exports =
|
|
{
|
|
/**
|
|
* Removes all node childs.
|
|
*
|
|
* @param {Node} node The HTML Node
|
|
*/
|
|
removeChilds: function (node)
|
|
{
|
|
var childs = node.childNodes;
|
|
|
|
if (childs)
|
|
while (childs.length > 0)
|
|
node.removeChild (childs[0]);
|
|
}
|
|
|
|
/**
|
|
* Removes a node from the document.
|
|
*
|
|
* @param {Node} node The HTML Node
|
|
*/
|
|
,remove: function (node)
|
|
{
|
|
if (node.parentNode)
|
|
node.parentNode.removeChild (node);
|
|
}
|
|
|
|
/**
|
|
* Replaces the node child/s with another one.
|
|
*
|
|
* @param {Node} node The HTML Node
|
|
* @param {Node} child The new child or %null to set an empty node
|
|
*/
|
|
,setChild: function (node, child)
|
|
{
|
|
this.removeChilds (node);
|
|
|
|
if (child)
|
|
node.appendChild (child);
|
|
}
|
|
|
|
/**
|
|
* Replaces the node text/childs with text.
|
|
*
|
|
* @param {Node} node The HTML Node
|
|
* @param {Node} child The new node text or %null for no text
|
|
*/
|
|
,setText: function (node, text)
|
|
{
|
|
Vn.Node.removeChilds (node);
|
|
|
|
if (text)
|
|
node.appendChild (
|
|
node.ownerDocument.createTextNode (text));
|
|
}
|
|
|
|
/**
|
|
* Adds a class to the node CSS classes. Note that this
|
|
* function doesn't check if the node already has the class.
|
|
*
|
|
* @param {Node} node The HTML Node
|
|
* @param {String} className The CSS class name
|
|
*/
|
|
,addClass: function (node, className)
|
|
{
|
|
node.className = className +' '+ node.className;
|
|
}
|
|
|
|
/**
|
|
* Removes a class from the node CSS classes. This functions
|
|
* removes all ocurrences of the class from the node.
|
|
*
|
|
* @param {Node} node The HTML Node
|
|
* @param {String} className The CSS class name
|
|
*/
|
|
,removeClass: function (node, className)
|
|
{
|
|
var index = 0;
|
|
var found = false;
|
|
var classes = node.className.split (' ');
|
|
|
|
while ((index = classes.indexOf (className, index)) != -1)
|
|
{
|
|
classes.splice (index, 1);
|
|
found = true;
|
|
}
|
|
|
|
if (found)
|
|
node.className = classes.join (' ');
|
|
}
|
|
|
|
/**
|
|
* Hides the node from the document.
|
|
*
|
|
* @param {Node} node The HTML Node
|
|
*/
|
|
,hide: function (node)
|
|
{
|
|
node.style.display = 'none';
|
|
}
|
|
|
|
/**
|
|
* Shows a hidden node.
|
|
*
|
|
* @param {Node} node The hidden HTML Node
|
|
*/
|
|
,show: function (node)
|
|
{
|
|
node.style.display = 'block';
|
|
}
|
|
};
|