isEmpty #

Arguments
el Node Element Dom

Returns: Boolean

Check if the node or element has empty content.

var is = this.utils.isEmpty(el);

isEmptyHtml #

Arguments
html String

Returns: Boolean

Check as follows: if HTML contains nothing but spaces, empty tags and br tags, then the HTML string is empty.

var is = this.utils.isEmptyHtml(html);

getChildNodes #

Arguments
el Node Element Dom

Returns: Array

Return all child nodes (with text nodes) from the element recursively.

var nodes = this.utils.getChildNodes(el);

getChildElements #

Arguments
el Node Element Dom

Returns: Array

Return all child nodes (without text nodes) from the element recursively.

var elements = this.utils.getChildElements(el);

getFirstNode #

Arguments
el Node Element Dom

Returns: Node

Return the first node (maybe a text node) from the element.

var node = this.utils.getFirstNode(el);

getLastNode #

Arguments
el Node Element Dom

Returns: Node

Return the last node (maybe a text node) from the element.

var node = this.utils.getLastNode(el);

getFirstElement #

Arguments
el Node Element Dom

Returns: Element

Return the first element (not a text node) from the element.

var element = this.utils.getFirstElement(el);

getLastElement #

Arguments
el Node Element Dom

Returns: Element

Return the last element (not a text node) from the element.

var element = this.utils.getLastElement(el);

createTmpContainer #

Arguments
html String Nodelist Node Element Dom

Returns: Element

Create a temporary div container that will contain the specified html. It can get both a string and DOM elements. Returns the created Dom element.

var container = this.utils.createTmpContainer(html);

createFragment #

Arguments
html String Nodelist Node Element Dom

Returns: Object

Create the object from HTML or nodelist/node/element with following data:

  • frag - documentFragment;
  • nodes - the array of nodes in the fragment;
  • first - the first node in the fragment;
  • last - the last node in the fragment.
var frag = this.utils.createFragment(html);
console.log(frag.nodes);

isFragment #

Arguments
frag Object

Returns: Boolean

Check if the passed object is the fragment which created with utils. createFragment method.

var isFragment = this.utils.isFragment(frag);

parseHtml #

Arguments
html String Nodelist Node Element Dom

Returns: Object

Create the object from HTML or nodelist/node/element with following data:

  • html - HTML string
  • nodes - Dom nodes from the passed argument.
var data = this.utils.parseHtml('<p>my html</p>');
var data = this.utils.parseHtml(node);
console.log(data.html, data.nodes);

ucfirst #

Arguments
str String

Returns: String

Make the first letter of the string is upper case.

var str = this.utils.ucfirst('mystring'); // return 'Mystring'

removeFromArrayByValue #

Arguments
arr Array
value Mixed

Returns: Array

Remove item from the specified array by value.

' var arr = this.utils.removeFromArrayByValue([2, 3, 1], 1);
// returns [2, 3];

removeEmptyAttr #

Arguments
el Node Element Dom
name String

Returns: Boolean

Remove an attribute from the specified element if it has an empty value.

Return true if the value was empty and the attribute is removed, or if the element does not have such one.

Return false if the value was not empty and the attribute was not removed.

var isRemoved = this.utils.removeEmptyAttr(el, 'style');

cloneAttributes #

Arguments
elFrom Node Element Dom
elTo Node Element Dom

Returns: Node

Clone the attributes of one element to another. Return the element to which the attributes were cloned.

var elTo = this.utils.cloneAttributes(elFrom, elTo);

normalizeTextNodes #

Arguments
el Node Element Dom

Glue text nodes into one in the element.

this.utils.normalizeTextNodes(el);

isRgb #

Arguments
str String

Returns: Boolean

Check if the string is the RGB color string.

var isRgb = this.utils.isRgb('rgb(0, 0, 0);'); // true
var isRgb = this.utils.isRgb('rgba(255, 255, 255, .5);'); // true

rgb2hex #

Arguments
str String

Returns: String

Return the RGB color string to the HEX one.

var hex = this.utils.rgb2hex('rgb(0, 0, 0);'); // #000000
var hex = this.utils.rgb2hex('rgba(255, 255, 255, .5);'); // #ffffff

replaceToTag #

Arguments
el Node Element Dom
tag String

Returns: Object

Replace the tag of passed element to the specified one with cloning all attributes. Returns the wrapped Dom object.

var $span = this.utils.replaceToTag(el, 'span');

toParams #

Arguments
obj Object

Returns: String

Return the sring like 'key1: value1; key2: value2;' from params object.

var obj = { color: 'red', 'font-weight': 'bold' };
var str = this.utils.toParams(obj);
// returns 'color:red;font-weight:bold;'

styleToObj #

Arguments
str String

Returns: Object

Return the object with params from the CSS style string.

var el = document.getElementById('my-element');
var obj = this.utils.styleToObj(el.getAttribute('style'));

checkProperty #

Arguments
obj Object
level1 ... levelN String Array

Returns: Boolean

Check for the existence of keys in the most deeply nested objects.

var is = this.utils.checkProperty(obj, 'level1', 'level2', 'propertyname');
var is = this.utils.checkProperty(obj, ['level1', 'level2', 'propertyname']);

escapeRegExp #

Arguments
str String

Returns: String

Return the escaped regular expression string.

var escapedRegExpString= this.utils.escapeRegExp(str);

extendData #

Arguments
data Object
extraData Object

Extend an object with values, including values in the input and form fields if the additional object has key elements with field and form selectors.

The values of the input and form fields are appended as values: field-name: value.

var data = {
    name: 'my-name'
};

var extraData = {
        id: 10,
        elements: '#my-input-1, #my-input-2, #my-form'
};

data = this.utils.extendData(data, extraData);