1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

update components

This commit is contained in:
Luke Pulverenti 2015-12-16 16:27:19 -05:00
parent d3a9a9b49e
commit bcfbb01b4b
45 changed files with 405 additions and 390 deletions

View file

@ -1,20 +1,61 @@
(function (globalScope) {
define([], function () {
globalScope.Events = {
function getCallbacks(obj, name) {
on: function (obj, eventName, selector, fn) {
ensureCallbacks(obj, name);
jQuery(obj).on(eventName, selector, fn);
return obj._callbacks[name];
}
function ensureCallbacks(obj, name) {
if (!obj) {
throw new Error("obj cannot be null!");
}
obj._callbacks = obj._callbacks || {};
if (!obj._callbacks[name]) {
obj._callbacks[name] = [];
}
}
return {
on: function (obj, eventName, fn) {
var list = getCallbacks(obj, eventName);
if (list.indexOf(fn) == -1) {
list.push(fn);
}
},
off: function (obj, eventName, selector, fn) {
off: function (obj, eventName, fn) {
jQuery(obj).off(eventName, selector, fn);
var list = getCallbacks(obj, eventName);
obj._callbacks[name] = list.filter(function (i) {
return i != fn;
});
},
trigger: function (obj, eventName, params) {
jQuery(obj).trigger(eventName, params);
trigger: function (obj, eventName) {
var eventObject = {
type: eventName
};
var eventArgs = [];
eventArgs.push(eventObject);
var additionalArgs = arguments[2] || [];
for (var i = 0, length = additionalArgs.length; i < length; i++) {
eventArgs.push(additionalArgs[i]);
}
getCallbacks(obj, eventName).forEach(function (c) {
c.apply(obj, eventArgs);
});
}
};
})(window);
});