summaryrefslogtreecommitdiff
path: root/public/assets/js/utils/dom.js
diff options
context:
space:
mode:
authorGeorge Halkiadakis <gchalkiadakis@sklavenitis.co.gr>2023-04-18 01:11:37 +0300
committerGeorge Halkiadakis <gchalkiadakis@sklavenitis.co.gr>2023-04-18 01:11:37 +0300
commit2b6970d33afd75be5bfef951dc3691d492004d43 (patch)
tree39eba4206ca0c4cd3fecd5ead95580a74e50f3f9 /public/assets/js/utils/dom.js
parent68fc9e55e538e03f94509731ab41a0c8cf96710f (diff)
downloadclassroom-2b6970d33afd75be5bfef951dc3691d492004d43.tar.gz
classroom-2b6970d33afd75be5bfef951dc3691d492004d43.tar.bz2
classroom-2b6970d33afd75be5bfef951dc3691d492004d43.zip
admin back-office environment (skeleton); admin categories
Diffstat (limited to 'public/assets/js/utils/dom.js')
-rw-r--r--public/assets/js/utils/dom.js68
1 files changed, 0 insertions, 68 deletions
diff --git a/public/assets/js/utils/dom.js b/public/assets/js/utils/dom.js
deleted file mode 100644
index 78f3562..0000000
--- a/public/assets/js/utils/dom.js
+++ /dev/null
@@ -1,68 +0,0 @@
-define(function () {
- const reduce = (elements, fn, initialValue) => {
- return Array.prototype.reduce.call(elements, fn, initialValue);
- }
-
- const forEach = (elements, fn) => {
- Array.prototype.forEach.call(elements, fn);
- }
- const map = (elements, fn) => {
- return Array.prototype.map.call(elements, fn);
- }
-
- const replace = (toReplace, replacement) => {
- var parentElement = toReplace.parentElement
- if (parentElement) {
- parentElement.replaceChild(replacement, toReplace);
- }
- }
-
- const matches = (element, selector) => {
- var m = element.matches
- || Element.prototype.matchesSelector
- || Element.prototype.mozMatchesSelector
- || Element.prototype.msMatchesSelector
- || Element.prototype.oMatchesSelector
- || Element.prototype.webkitMatchesSelector;
- return m.call(element, selector);
- }
-
- const closest = (element, selector) => {
- while (element) {
- if (matches(element, selector)) {
- return element;
- } else {
- element = element.parentElement;
- }
- }
- return null;
- }
- const isFunction = (input) => (typeof input === "function");
- const dispatchEvent = (eventName, data) => {
- let event;
- if (window.CustomEvent && isFunction(window.CustomEvent)) {
- event = new CustomEvent(eventName, { detail: data, cancelable: true, bubbles: false });
- } else {
- event = document.createEvent('CustomEvent');
- event.initCustomEvent(eventName, false, true, data);
- }
- return window.document.dispatchEvent(event);
- }
-
- const parseHtml = (htmlString) => {
- const c = document.createElement('div');
- c.innerHTML = htmlString.trim();
- return c.firstChild;
- }
-
- return {
- dispatchEvent,
- closest,
- matches,
- reduce,
- map,
- forEach,
- replace,
- parseHtml
- };
-}); \ No newline at end of file