2018-10-23 01:05:09 +03:00
|
|
|
define(["tabbedView", "globalize", "require", "emby-tabs", "emby-button", "emby-scroller"], function(TabbedView, globalize, require) {
|
|
|
|
"use strict";
|
|
|
|
|
|
|
|
function getTabs() {
|
|
|
|
return [{
|
2019-02-03 02:41:16 +09:00
|
|
|
name: globalize.translate("Home")
|
2018-10-23 01:05:09 +03:00
|
|
|
}, {
|
2019-02-03 02:41:16 +09:00
|
|
|
name: globalize.translate("Favorites")
|
2018-10-23 01:05:09 +03:00
|
|
|
}]
|
|
|
|
}
|
|
|
|
|
|
|
|
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:
|
2019-02-24 20:07:41 +00:00
|
|
|
depends.push("controllers/hometab");
|
2018-10-23 01:05:09 +03:00
|
|
|
break;
|
|
|
|
case 1:
|
2019-02-24 20:07:41 +00:00
|
|
|
depends.push("controllers/favorites")
|
2018-10-23 01:05:09 +03:00
|
|
|
}
|
|
|
|
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
|
|
|
|
});
|