2019-11-06 13:43:39 +03:00
|
|
|
define(["loading", "libraryBrowser", "cardBuilder", "apphost"], function (loading, libraryBrowser, cardBuilder, appHost) {
|
2018-10-23 01:05:09 +03:00
|
|
|
"use strict";
|
|
|
|
|
|
|
|
function getQuery(params) {
|
2019-11-06 13:43:39 +03:00
|
|
|
var key = getSavedQueryKey();
|
|
|
|
var pageData = data[key];
|
|
|
|
|
|
|
|
if (!pageData) {
|
|
|
|
pageData = data[key] = {
|
|
|
|
query: {
|
|
|
|
SortBy: "SortName",
|
|
|
|
SortOrder: "Ascending",
|
|
|
|
IncludeItemTypes: "Series",
|
|
|
|
Recursive: true,
|
|
|
|
Fields: "DateCreated,PrimaryImageAspectRatio",
|
|
|
|
StartIndex: 0
|
|
|
|
}
|
|
|
|
};
|
|
|
|
pageData.query.ParentId = params.topParentId;
|
|
|
|
}
|
|
|
|
|
|
|
|
return pageData.query;
|
2018-10-23 01:05:09 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
function getSavedQueryKey() {
|
2019-11-06 13:43:39 +03:00
|
|
|
return libraryBrowser.getSavedQueryKey("studios");
|
2018-10-23 01:05:09 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
function getPromise(context, params) {
|
|
|
|
var query = getQuery(params);
|
2019-11-06 13:43:39 +03:00
|
|
|
loading.show();
|
|
|
|
return ApiClient.getStudios(ApiClient.getCurrentUserId(), query);
|
2018-10-23 01:05:09 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
function reloadItems(context, params, promise) {
|
2019-11-06 13:43:39 +03:00
|
|
|
promise.then(function (result) {
|
2018-10-23 01:05:09 +03:00
|
|
|
var elem = context.querySelector("#items");
|
|
|
|
cardBuilder.buildCards(result.Items, {
|
|
|
|
itemsContainer: elem,
|
|
|
|
shape: "backdrop",
|
2019-11-06 13:43:39 +03:00
|
|
|
preferThumb: true,
|
|
|
|
showTitle: true,
|
|
|
|
scalable: true,
|
|
|
|
centerText: true,
|
|
|
|
overlayMoreButton: true,
|
2018-10-23 01:05:09 +03:00
|
|
|
context: "tvshows"
|
2019-11-06 13:43:39 +03:00
|
|
|
});
|
|
|
|
loading.hide();
|
|
|
|
});
|
2018-10-23 01:05:09 +03:00
|
|
|
}
|
2019-11-06 13:43:39 +03:00
|
|
|
|
2018-10-23 01:05:09 +03:00
|
|
|
var data = {};
|
2019-11-06 13:43:39 +03:00
|
|
|
return function (view, params, tabContent) {
|
|
|
|
var promise;
|
|
|
|
var self = this;
|
|
|
|
|
|
|
|
self.preRender = function () {
|
|
|
|
promise = getPromise(view, params);
|
|
|
|
};
|
|
|
|
|
|
|
|
self.renderTab = function () {
|
|
|
|
reloadItems(tabContent, params, promise);
|
|
|
|
};
|
|
|
|
};
|
|
|
|
});
|