diff --git a/client/dom/dom-tree.js b/client/dom/dom-tree.mjs similarity index 63% rename from client/dom/dom-tree.js rename to client/dom/dom-tree.mjs index 5159cf8b..fad5ad40 100644 --- a/client/dom/dom-tree.js +++ b/client/dom/dom-tree.mjs @@ -1,8 +1,15 @@ -'use strict'; +import currify from 'currify'; -const currify = require('currify'); - -const DOM = module.exports; +const DOM = { + show, + hide, + getByClass, + getByClassAll, + getByDataName, + getById, + getByTag, + isContainClass, +}; /** * check class of element @@ -10,7 +17,7 @@ const DOM = module.exports; * @param element * @param className */ -const isContainClass = (element, className) => { +export function isContainClass(element, className) { if (!element) throw Error('element could not be empty!'); @@ -26,58 +33,60 @@ const isContainClass = (element, className) => { const {classList} = element; return classList.contains(className); -}; +} -module.exports.isContainClass = isContainClass; /** * Function search element by tag * @param tag - className * @param element - element */ -module.exports.getByTag = (tag, element = document) => { +export function getByTag(tag, element = document) { return element.getElementsByTagName(tag); -}; +} /** * Function search element by id - * @param Id - id + * @param id + * @param element */ -module.exports.getById = (id, element = document) => { +export function getById(id, element = document) { return element.querySelector(`#${id}`); -}; +} /** * Function search first element by class name * @param className - className * @param element - element */ -module.exports.getByClass = (className, element = document) => DOM.getByClassAll(className, element)[0]; +export function getByClass(className, element = document) { + return DOM.getByClassAll(className, element)[0]; +} -module.exports.getByDataName = (attribute, element = document) => { +export function getByDataName(attribute, element = document) { const selector = '[' + 'data-name="' + attribute + '"]'; return element.querySelector(selector); -}; +} /** * Function search element by class name - * @param pClass - className - * @param element - element + * @param className + * @param element */ -module.exports.getByClassAll = (className, element) => { +export function getByClassAll(className, element) { return (element || document).getElementsByClassName(className); -}; +} /** * add class=hidden to element * * @param element */ -module.exports.hide = (element) => { +export function hide(element) { element.classList.add('hidden'); return DOM; -}; +} -module.exports.show = (element) => { +export function show(element) { element.classList.remove('hidden'); return DOM; -}; +} diff --git a/client/dom/dom-tree.spec.js b/client/dom/dom-tree.spec.mjs similarity index 84% rename from client/dom/dom-tree.spec.js rename to client/dom/dom-tree.spec.mjs index 606df179..a711dcb6 100644 --- a/client/dom/dom-tree.spec.js +++ b/client/dom/dom-tree.spec.mjs @@ -1,10 +1,7 @@ -'use strict'; - -const test = require('supertape'); -const {create} = require('auto-globals'); -const {tryCatch} = require('try-catch'); - -const {isContainClass} = require('./dom-tree'); +import test from 'supertape'; +import {create} from 'auto-globals'; +import {tryCatch} from 'try-catch'; +import {isContainClass} from './dom-tree.mjs'; test('dom: isContainClass: no element', (t) => { const [e] = tryCatch(isContainClass); diff --git a/client/dom/index.js b/client/dom/index.js index 7020c75c..2b489986 100644 --- a/client/dom/index.js +++ b/client/dom/index.js @@ -9,7 +9,7 @@ const Storage = require('./storage'); const renameCurrent = require('./operations/rename-current'); const CurrentFile = require('./current-file.mjs'); -const DOMTree = require('./dom-tree'); +const DOMTree = require('./dom-tree.mjs'); const Cmd = module.exports; const DOM = {