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 2016-03-15 14:03:25 -04:00
parent cbe07eb3f5
commit 53371d27ab
11 changed files with 1061 additions and 1938 deletions

View file

@ -1,6 +1,7 @@
define(['viewcontainer', 'focusManager', 'queryString', 'connectionManager', 'events'], function (viewcontainer, focusManager, queryString, connectionManager, events) {
var currentView;
var dispatchPageEvents;
viewcontainer.setOnBeforeChange(function (newView, isRestored, options) {
@ -18,7 +19,8 @@ define(['viewcontainer', 'focusManager', 'queryString', 'connectionManager', 'ev
// Use controller method
var controller = new options.controllerFactory(newView, eventDetail.detail.params);
} else if (dispatchPageEvents) {
dispatchViewEvent(newView, 'viewinit');
}
}
@ -45,7 +47,11 @@ define(['viewcontainer', 'focusManager', 'queryString', 'connectionManager', 'ev
view.activeElement.focus();
}
view.dispatchEvent(new CustomEvent("viewshow", eventDetail));
view.dispatchEvent(new CustomEvent('viewshow', eventDetail));
if (dispatchPageEvents) {
view.dispatchEvent(new CustomEvent('pageshow', eventDetail));
}
}
function dispatchViewEvent(view, eventName, isRestored) {
@ -58,6 +64,17 @@ define(['viewcontainer', 'focusManager', 'queryString', 'connectionManager', 'ev
bubbles: true,
cancelable: false
}));
if (dispatchPageEvents) {
view.dispatchEvent(new CustomEvent(eventName.replace('view', 'page'), {
detail: {
type: view.getAttribute('data-type'),
isRestored: isRestored
},
bubbles: true,
cancelable: false
}));
}
}
function getViewEventDetail(view, options, isRestore) {
@ -144,6 +161,10 @@ define(['viewcontainer', 'focusManager', 'queryString', 'connectionManager', 'ev
tryRestoreInternal(viewcontainer, options, resolve, reject);
});
};
self.dispatchPageEvents = function (value) {
dispatchPageEvents = value;
};
}
return new ViewManager();