UNPKG

editorjs-table-readonly

Version:

Table for Editor.js with configurable rows and columns and readonly mode

43 lines (40 loc) 1.27 kB
/** * Checks the item is not missed or messed * @param {object|string[]|Element[]|HTMLElement|string} elem - element * @returns {boolean} true if element is correct * @private */ function _isNotMissed(elem) { return (!(elem === undefined || elem === null)); } /** * Create DOM element with set parameters * @param {string} tagName - Html tag of the element to be created * @param {string[]} cssClasses - Css classes that must be applied to an element * @param {object} attrs - Attributes that must be applied to the element * @param {Element[]} children - child elements of creating element * @returns {HTMLElement} the new element */ export function create(tagName, cssClasses = null, attrs = null, children = null) { const elem = document.createElement(tagName); if (_isNotMissed(cssClasses)) { for (let i = 0; i < cssClasses.length; i++) { if (_isNotMissed(cssClasses[i])) { elem.classList.add(cssClasses[i]); } } } if (_isNotMissed(attrs)) { for (let key in attrs) { elem.setAttribute(key, attrs[key]); } } if (_isNotMissed(children)) { for (let i = 0; i < children.length; i++) { if (_isNotMissed(children[i])) { elem.appendChild(children[i]); } } } return elem; }