summaryrefslogtreecommitdiff
path: root/html/assets/js/utils/dom.js
diff options
context:
space:
mode:
authorGeorge Halkiadakis <gchalkiadakis@sklavenitis.co.gr>2023-04-17 12:12:22 +0300
committerGeorge Halkiadakis <gchalkiadakis@sklavenitis.co.gr>2023-04-17 12:12:22 +0300
commit68fc9e55e538e03f94509731ab41a0c8cf96710f (patch)
tree3edb1e81864ac3eb35ba0fe8087ed24da1b812bf /html/assets/js/utils/dom.js
parent84b2da85a1b452922dadb6a609533b9945afe51d (diff)
downloadclassroom-68fc9e55e538e03f94509731ab41a0c8cf96710f.tar.gz
classroom-68fc9e55e538e03f94509731ab41a0c8cf96710f.tar.bz2
classroom-68fc9e55e538e03f94509731ab41a0c8cf96710f.zip
setup a real server environment (apache DocumentRoot=/var/www/public)
Diffstat (limited to 'html/assets/js/utils/dom.js')
-rw-r--r--html/assets/js/utils/dom.js68
1 files changed, 0 insertions, 68 deletions
diff --git a/html/assets/js/utils/dom.js b/html/assets/js/utils/dom.js
deleted file mode 100644
index 78f3562..0000000
--- a/html/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