mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
module resolution for appRouter and moved controllers to dir
This commit is contained in:
parent
d49fee2a29
commit
9c758a8d85
49 changed files with 464 additions and 530 deletions
52
src/controllers/home.js
Normal file
52
src/controllers/home.js
Normal file
|
@ -0,0 +1,52 @@
|
|||
define(["tabbedView", "globalize", "require", "emby-tabs", "emby-button", "emby-scroller"], function(TabbedView, globalize, require) {
|
||||
"use strict";
|
||||
|
||||
function getTabs() {
|
||||
return [{
|
||||
name: globalize.translate("Home")
|
||||
}, {
|
||||
name: globalize.translate("Favorites")
|
||||
}]
|
||||
}
|
||||
|
||||
function getDefaultTabIndex() {
|
||||
return 0
|
||||
}
|
||||
|
||||
function getRequirePromise(deps) {
|
||||
return new Promise(function(resolve, reject) {
|
||||
require(deps, resolve)
|
||||
})
|
||||
}
|
||||
|
||||
function getTabController(index) {
|
||||
if (null == index) throw new Error("index cannot be null");
|
||||
var depends = [];
|
||||
switch (index) {
|
||||
case 0:
|
||||
depends.push("controllers/hometab");
|
||||
break;
|
||||
case 1:
|
||||
depends.push("controllers/favorites")
|
||||
}
|
||||
var instance = this;
|
||||
return getRequirePromise(depends).then(function(controllerFactory) {
|
||||
var controller = instance.tabControllers[index];
|
||||
if (!controller) {
|
||||
controller = new controllerFactory(instance.view.querySelector(".tabContent[data-index='" + index + "']"), instance.params), instance.tabControllers[index] = controller
|
||||
}
|
||||
return controller
|
||||
})
|
||||
}
|
||||
|
||||
function HomeView(view, params) {
|
||||
TabbedView.call(this, view, params)
|
||||
}
|
||||
return Object.assign(HomeView.prototype, TabbedView.prototype), HomeView.prototype.getTabs = getTabs, HomeView.prototype.getDefaultTabIndex = getDefaultTabIndex, HomeView.prototype.getTabController = getTabController, HomeView.prototype.setTitle = function() {
|
||||
Emby.Page.setTitle(null)
|
||||
}, HomeView.prototype.onPause = function() {
|
||||
TabbedView.prototype.onPause.call(this), document.querySelector(".skinHeader").classList.remove("noHomeButtonHeader")
|
||||
}, HomeView.prototype.onResume = function(options) {
|
||||
TabbedView.prototype.onResume.call(this, options), document.querySelector(".skinHeader").classList.add("noHomeButtonHeader")
|
||||
}, HomeView
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue