JSFiddle - React, Tailwind, and code Playground
by cmruser
JavaScript
(function() {
(function(root, factory) {
// environment detection here
return root.isvisible = factory();
})
(this, function() {
// module definition here
var initialized = false,
status = "active",
idleTime = 60000,
idleStart = false,
hidden = false,
listeners = {},
cgid = "customGUIDEvent",
visibilitychange = void 0;
if (typeof document.hidden !== "undefined") {
hidden = "hidden";
visibilitychange = "visibilitychange";
}
var helper = {
guid: function() {
var s4 = function() {
return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
};
return s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4();
},
track: function() {
helper.wakeup();
return isvisible.wakeup(helper.wakeup());
},
wakeup: function() {
var timer = [];
timer.map(clearTimeout);
if(status !== "active")
isvisible.wakeup();
idleStart = +(new Date());
return timer.push(setTimeout(function() {
if (status === "active")
return isvisible.idle();
}, idleTime));
}
};
var event = {
add: function(obj, event, callback) {
},
remove: function(obj, event, callback) {
},
trigger: function(obj, event, memo) {
if(obj[cgid] && listeners[obj[cgid]] && listeners[obj[cgid]][event]) {
var ref = listeners[obj[cgid]][event];
var results = [];
for(var i = 0, i < ref.length; i++) {
var ev = ref[i];
results.push(ev(memo || {}));
}
return results;
}
},
attach: function() {
var listener = false;
return function(el, ev, fn) {
//if(!listener)
return listener(el, ev,...