mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update multiselect
This commit is contained in:
parent
3460f6708d
commit
cc2cd5731d
28 changed files with 175 additions and 141 deletions
|
@ -15,12 +15,12 @@
|
||||||
},
|
},
|
||||||
"devDependencies": {},
|
"devDependencies": {},
|
||||||
"ignore": [],
|
"ignore": [],
|
||||||
"version": "1.4.98",
|
"version": "1.4.101",
|
||||||
"_release": "1.4.98",
|
"_release": "1.4.101",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "1.4.98",
|
"tag": "1.4.101",
|
||||||
"commit": "6e0ce46f8c48908f94a7f32e95fee78b994c16f5"
|
"commit": "c6aa6b09f9c705ca83e31728ebbf0c4a2cda2454"
|
||||||
},
|
},
|
||||||
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
|
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
|
||||||
"_target": "^1.2.0",
|
"_target": "^1.2.0",
|
||||||
|
|
|
@ -7,7 +7,15 @@
|
||||||
var itemsContainer = this;
|
var itemsContainer = this;
|
||||||
var target = e.target;
|
var target = e.target;
|
||||||
|
|
||||||
itemShortcuts.onClick.call(this, e);
|
var multiSelect = itemsContainer.multiSelect;
|
||||||
|
|
||||||
|
if (multiSelect) {
|
||||||
|
if (multiSelect.onContainerClick.call(itemsContainer, e) === false) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
itemShortcuts.onClick.call(itemsContainer, e);
|
||||||
}
|
}
|
||||||
|
|
||||||
function disableEvent(e) {
|
function disableEvent(e) {
|
||||||
|
@ -86,7 +94,10 @@
|
||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
require(['multiSelect'], function (MultiSelect) {
|
require(['multiSelect'], function (MultiSelect) {
|
||||||
self.multiSelect = new MultiSelect(self);
|
self.multiSelect = new MultiSelect({
|
||||||
|
container: self,
|
||||||
|
bindOnClick: false
|
||||||
|
});
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -458,13 +458,20 @@ define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'embyRouter',
|
||||||
|
|
||||||
var method = queue ? 'queue' : 'play';
|
var method = queue ? 'queue' : 'play';
|
||||||
|
|
||||||
|
var startPosition = 0;
|
||||||
|
if (resume && item.UserData && item.UserData.PlaybackPositionTicks) {
|
||||||
|
startPosition = item.UserData.PlaybackPositionTicks;
|
||||||
|
}
|
||||||
|
|
||||||
if (item.Type == 'Program') {
|
if (item.Type == 'Program') {
|
||||||
playbackManager[method]({
|
playbackManager[method]({
|
||||||
ids: [item.ChannelId]
|
ids: [item.ChannelId],
|
||||||
|
startPositionTicks: startPosition
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
playbackManager[method]({
|
playbackManager[method]({
|
||||||
items: [item]
|
items: [item],
|
||||||
|
startPositionTicks: startPosition
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -169,7 +169,9 @@ define(['itemHelper', 'mediaInfo', 'indicators', 'connectionManager', 'layoutMan
|
||||||
|
|
||||||
var playlistItemId = item.PlaylistItemId ? (' data-playlistitemid="' + item.PlaylistItemId + '"') : '';
|
var playlistItemId = item.PlaylistItemId ? (' data-playlistitemid="' + item.PlaylistItemId + '"') : '';
|
||||||
|
|
||||||
html += '<' + outerTagName + ' class="' + cssClass + '" data-index="' + index + '"' + playlistItemId + ' data-action="' + action + '" data-isfolder="' + item.IsFolder + '" data-id="' + item.Id + '" data-serverid="' + item.ServerId + '" data-type="' + item.Type + '">';
|
var positionTicksData = item.UserData && item.UserData.PlaybackPositionTicks ? (' data-positionticks="' + item.UserData.PlaybackPositionTicks + '"') : '';
|
||||||
|
|
||||||
|
html += '<' + outerTagName + ' class="' + cssClass + '" data-index="' + index + '"' + playlistItemId + ' data-action="' + action + '" data-isfolder="' + item.IsFolder + '" data-id="' + item.Id + '" data-serverid="' + item.ServerId + '" data-mediatype="' + item.MediaType + '" data-type="' + item.Type + '"' + positionTicksData + '>';
|
||||||
|
|
||||||
if (!clickEntireItem && options.dragHandle) {
|
if (!clickEntireItem && options.dragHandle) {
|
||||||
html += '<button is="paper-icon-button-light" class="listViewDragHandle autoSize"><i class="md-icon"></i></button>';
|
html += '<button is="paper-icon-button-light" class="listViewDragHandle autoSize"><i class="md-icon"></i></button>';
|
||||||
|
|
|
@ -456,10 +456,12 @@
|
||||||
|
|
||||||
document.addEventListener('viewbeforehide', hideSelections);
|
document.addEventListener('viewbeforehide', hideSelections);
|
||||||
|
|
||||||
return function (container) {
|
return function (options) {
|
||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
|
var container = options.container;
|
||||||
|
|
||||||
function onTapHold(e) {
|
function onTapHold(e) {
|
||||||
|
|
||||||
var card = dom.parentWithClass(e.target, 'card');
|
var card = dom.parentWithClass(e.target, 'card');
|
||||||
|
@ -505,7 +507,11 @@
|
||||||
|
|
||||||
initTapHold(container);
|
initTapHold(container);
|
||||||
|
|
||||||
container.addEventListener('click', onContainerClick);
|
if (options.bindOnClick !== false) {
|
||||||
|
container.addEventListener('click', onContainerClick);
|
||||||
|
}
|
||||||
|
|
||||||
|
self.onContainerClick = onContainerClick;
|
||||||
|
|
||||||
self.destroy = function () {
|
self.destroy = function () {
|
||||||
|
|
||||||
|
|
|
@ -153,15 +153,23 @@ define(['playbackManager', 'inputManager', 'connectionManager', 'embyRouter', 'g
|
||||||
|
|
||||||
function showPlayMenu(card, target) {
|
function showPlayMenu(card, target) {
|
||||||
|
|
||||||
getItem(card).then(function (item) {
|
var item = {
|
||||||
|
Type: card.getAttribute('data-type'),
|
||||||
|
Id: card.getAttribute('data-id'),
|
||||||
|
ServerId: card.getAttribute('data-serverid'),
|
||||||
|
MediaType: card.getAttribute('data-mediatype'),
|
||||||
|
IsFolder: card.getAttribute('data-isfolder') == 'true',
|
||||||
|
UserData: {
|
||||||
|
PlaybackPositionTicks: parseInt(card.getAttribute('data-positionticks') || '0')
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
require(['playMenu'], function (playMenu) {
|
require(['playMenu'], function (playMenu) {
|
||||||
|
|
||||||
playMenu.show({
|
playMenu.show({
|
||||||
|
|
||||||
item: item,
|
item: item,
|
||||||
positionTo: target
|
positionTo: target
|
||||||
});
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -196,7 +204,7 @@ define(['playbackManager', 'inputManager', 'connectionManager', 'embyRouter', 'g
|
||||||
|
|
||||||
else if (action == 'play') {
|
else if (action == 'play') {
|
||||||
|
|
||||||
var startPositionTicks = parseInt(card.getAttribute('data-startpositionticks') || '0');
|
var startPositionTicks = parseInt(card.getAttribute('data-positionticks') || '0');
|
||||||
|
|
||||||
playbackManager.play({
|
playbackManager.play({
|
||||||
ids: [id],
|
ids: [id],
|
||||||
|
|
|
@ -120,5 +120,7 @@
|
||||||
"GroupVersions": "Group Versions",
|
"GroupVersions": "Group Versions",
|
||||||
"PleaseSelectTwoItems": "Please select at least two items.",
|
"PleaseSelectTwoItems": "Please select at least two items.",
|
||||||
"TheSelectedItemsWillBeGrouped": "The selected videos will be grouped into one virtual item. Emby apps will automatically choose which version to play based on device and network performance. Are you sure you wish to continue?",
|
"TheSelectedItemsWillBeGrouped": "The selected videos will be grouped into one virtual item. Emby apps will automatically choose which version to play based on device and network performance. Are you sure you wish to continue?",
|
||||||
|
"TryMultiSelect": "Try Multi-Select",
|
||||||
|
"TryMultiSelectMessage": "To edit multiple media items, just click and hold any poster and select the items you want to manage. Try it!",
|
||||||
"Error": "Error"
|
"Error": "Error"
|
||||||
}
|
}
|
|
@ -46,7 +46,7 @@ define(['connectionManager', 'globalize', 'paper-icon-button-light', 'material-i
|
||||||
}
|
}
|
||||||
|
|
||||||
if (includePlayed !== false) {
|
if (includePlayed !== false) {
|
||||||
var tooltipPlayed = globalize.translate('sharedcomponents#Played');
|
var tooltipPlayed = globalize.translate('sharedcomponents#MarkPlayed');
|
||||||
|
|
||||||
if (item.MediaType == 'Video' || item.Type == 'Series' || item.Type == 'Season' || item.Type == 'BoxSet' || item.Type == 'Playlist') {
|
if (item.MediaType == 'Video' || item.Type == 'Series' || item.Type == 'Season' || item.Type == 'BoxSet' || item.Type == 'Playlist') {
|
||||||
if (item.Type != 'TvChannel') {
|
if (item.Type != 'TvChannel') {
|
||||||
|
|
48
dashboard-ui/components/categorysyncbuttons.js
Normal file
48
dashboard-ui/components/categorysyncbuttons.js
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
define(['itemHelper'], function (itemHelper) {
|
||||||
|
|
||||||
|
function initSyncButtons(view) {
|
||||||
|
|
||||||
|
var apiClient = window.ApiClient;
|
||||||
|
|
||||||
|
if (!apiClient || !apiClient.getCurrentUserId()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
apiClient.getCurrentUser().then(function (user) {
|
||||||
|
|
||||||
|
var item = {
|
||||||
|
SupportsSync: true
|
||||||
|
};
|
||||||
|
|
||||||
|
var categorySyncButtons = view.querySelectorAll('.categorySyncButton');
|
||||||
|
for (var i = 0, length = categorySyncButtons.length; i < length; i++) {
|
||||||
|
categorySyncButtons[i].addEventListener('click', onCategorySyncButtonClick);
|
||||||
|
if (itemHelper.canSync(user, item)) {
|
||||||
|
categorySyncButtons[i].classList.remove('hide');
|
||||||
|
} else {
|
||||||
|
categorySyncButtons[i].classList.add('hide');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function onCategorySyncButtonClick(e) {
|
||||||
|
|
||||||
|
var button = this;
|
||||||
|
var category = button.getAttribute('data-category');
|
||||||
|
var parentId = LibraryMenu.getTopParentId();
|
||||||
|
|
||||||
|
require(['syncDialog'], function (syncDialog) {
|
||||||
|
syncDialog.showMenu({
|
||||||
|
ParentId: parentId,
|
||||||
|
Category: category
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
init: function (view) {
|
||||||
|
initSyncButtons(view);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
});
|
|
@ -1,4 +1,4 @@
|
||||||
define(['emby-itemscontainer'], function () {
|
define(['components/categorysyncbuttons', 'emby-itemscontainer'], function (categorysyncbuttons) {
|
||||||
|
|
||||||
function getNextUpPromise() {
|
function getNextUpPromise() {
|
||||||
|
|
||||||
|
@ -50,6 +50,8 @@
|
||||||
var self = this;
|
var self = this;
|
||||||
var nextUpPromise;
|
var nextUpPromise;
|
||||||
|
|
||||||
|
categorysyncbuttons.init(view);
|
||||||
|
|
||||||
self.preRender = function () {
|
self.preRender = function () {
|
||||||
nextUpPromise = getNextUpPromise();
|
nextUpPromise = getNextUpPromise();
|
||||||
};
|
};
|
||||||
|
|
|
@ -2155,7 +2155,7 @@
|
||||||
});
|
});
|
||||||
|
|
||||||
view.querySelector('.detailImageContainer').addEventListener('click', function (e) {
|
view.querySelector('.detailImageContainer').addEventListener('click', function (e) {
|
||||||
var itemDetailGalleryLink = parentWithClass(e.target, 'itemDetailGalleryLink');
|
var itemDetailGalleryLink = dom.parentWithClass(e.target, 'itemDetailGalleryLink');
|
||||||
if (itemDetailGalleryLink) {
|
if (itemDetailGalleryLink) {
|
||||||
LibraryBrowser.editImages(currentItem.Id).then(function () {
|
LibraryBrowser.editImages(currentItem.Id).then(function () {
|
||||||
reload(view, params);
|
reload(view, params);
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define(['libraryBrowser', 'itemHelper'], function (libraryBrowser, itemHelper) {
|
define(['libraryBrowser'], function (libraryBrowser) {
|
||||||
|
|
||||||
function isClickable(target) {
|
function isClickable(target) {
|
||||||
|
|
||||||
|
@ -56,62 +56,4 @@
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
function showSyncButtonsPerUser(page) {
|
|
||||||
|
|
||||||
var apiClient = window.ApiClient;
|
|
||||||
|
|
||||||
if (!apiClient || !apiClient.getCurrentUserId()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
Dashboard.getCurrentUser().then(function (user) {
|
|
||||||
|
|
||||||
var item = {
|
|
||||||
SupportsSync: true
|
|
||||||
};
|
|
||||||
|
|
||||||
var categorySyncButtons = page.querySelectorAll('.categorySyncButton');
|
|
||||||
for (var i = 0, length = categorySyncButtons.length; i < length; i++) {
|
|
||||||
if (itemHelper.canSync(user, item)) {
|
|
||||||
categorySyncButtons[i].classList.remove('hide');
|
|
||||||
} else {
|
|
||||||
categorySyncButtons[i].classList.add('hide');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function onCategorySyncButtonClick(e) {
|
|
||||||
|
|
||||||
var button = this;
|
|
||||||
var category = button.getAttribute('data-category');
|
|
||||||
var parentId = LibraryMenu.getTopParentId();
|
|
||||||
|
|
||||||
require(['syncDialog'], function (syncDialog) {
|
|
||||||
syncDialog.showMenu({
|
|
||||||
ParentId: parentId,
|
|
||||||
Category: category
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
pageClassOn('pageinit', "libraryPage", function () {
|
|
||||||
|
|
||||||
var page = this;
|
|
||||||
|
|
||||||
var categorySyncButtons = page.querySelectorAll('.categorySyncButton');
|
|
||||||
for (var i = 0, length = categorySyncButtons.length; i < length; i++) {
|
|
||||||
categorySyncButtons[i].addEventListener('click', onCategorySyncButtonClick);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
pageClassOn('pageshow', "libraryPage", function () {
|
|
||||||
|
|
||||||
var page = this;
|
|
||||||
|
|
||||||
if (!Dashboard.isServerlessPage()) {
|
|
||||||
showSyncButtonsPerUser(page);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
});
|
|
@ -1,4 +1,4 @@
|
||||||
define(['imageLoader', 'layoutManager', 'viewManager', 'navdrawer', 'paper-icon-button-light', 'material-icons'], function (imageLoader, layoutManager, viewManager, navdrawer) {
|
define(['imageLoader', 'layoutManager', 'viewManager', 'navdrawer', 'libraryBrowser', 'paper-icon-button-light', 'material-icons'], function (imageLoader, layoutManager, viewManager, navdrawer, libraryBrowser) {
|
||||||
|
|
||||||
var navDrawerElement = document.querySelector('.mainDrawer');
|
var navDrawerElement = document.querySelector('.mainDrawer');
|
||||||
var navDrawerScrollContainer = navDrawerElement.querySelector('.scrollContainer');
|
var navDrawerScrollContainer = navDrawerElement.querySelector('.scrollContainer');
|
||||||
|
@ -275,7 +275,7 @@
|
||||||
|
|
||||||
function getItemHref(item, context) {
|
function getItemHref(item, context) {
|
||||||
|
|
||||||
return LibraryBrowser.getHref(item, context);
|
return libraryBrowser.getHref(item, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
var requiresUserRefresh = true;
|
var requiresUserRefresh = true;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define(['scripts/livetvcomponents', 'emby-button', 'listViewStyle', 'emby-itemscontainer'], function () {
|
define(['components/categorysyncbuttons', 'scripts/livetvcomponents', 'emby-button', 'listViewStyle', 'emby-itemscontainer'], function (categorysyncbuttons) {
|
||||||
|
|
||||||
function getRecordingGroupHtml(group) {
|
function getRecordingGroupHtml(group) {
|
||||||
|
|
||||||
|
@ -183,6 +183,8 @@
|
||||||
return function (view, params, tabContent) {
|
return function (view, params, tabContent) {
|
||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
|
categorysyncbuttons.init(tabContent);
|
||||||
tabContent.querySelector('#activeRecordings .recordingItems').addEventListener('timercancelled', function () {
|
tabContent.querySelector('#activeRecordings .recordingItems').addEventListener('timercancelled', function () {
|
||||||
reload(tabContent);
|
reload(tabContent);
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define([], function () {
|
define(['libraryBrowser'], function (libraryBrowser) {
|
||||||
|
|
||||||
function getApiClient() {
|
function getApiClient() {
|
||||||
|
|
||||||
|
@ -125,7 +125,7 @@
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
||||||
var background = LibraryBrowser.getMetroColor(user.Id);
|
var background = libraryBrowser.getMetroColor(user.Id);
|
||||||
|
|
||||||
imgUrl = 'css/images/logindefault.png';
|
imgUrl = 'css/images/logindefault.png';
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define([], function () {
|
define(['libraryBrowser'], function (libraryBrowser) {
|
||||||
|
|
||||||
return function (view, params, tabContent) {
|
return function (view, params, tabContent) {
|
||||||
|
|
||||||
|
@ -19,11 +19,11 @@
|
||||||
Fields: "DateCreated,SyncInfo,ItemCounts",
|
Fields: "DateCreated,SyncInfo,ItemCounts",
|
||||||
StartIndex: 0
|
StartIndex: 0
|
||||||
},
|
},
|
||||||
view: LibraryBrowser.getSavedView(key) || LibraryBrowser.getDefaultItemsView('Thumb', 'Thumb')
|
view: libraryBrowser.getSavedView(key) || libraryBrowser.getDefaultItemsView('Thumb', 'Thumb')
|
||||||
};
|
};
|
||||||
|
|
||||||
pageData.query.ParentId = params.topParentId;
|
pageData.query.ParentId = params.topParentId;
|
||||||
LibraryBrowser.loadSavedQueryValues(key, pageData.query);
|
libraryBrowser.loadSavedQueryValues(key, pageData.query);
|
||||||
}
|
}
|
||||||
return pageData;
|
return pageData;
|
||||||
}
|
}
|
||||||
|
@ -35,7 +35,7 @@
|
||||||
|
|
||||||
function getSavedQueryKey() {
|
function getSavedQueryKey() {
|
||||||
|
|
||||||
return LibraryBrowser.getSavedQueryKey('genres');
|
return libraryBrowser.getSavedQueryKey('genres');
|
||||||
}
|
}
|
||||||
|
|
||||||
function getPromise() {
|
function getPromise() {
|
||||||
|
@ -57,7 +57,7 @@
|
||||||
var viewStyle = self.getCurrentViewStyle();
|
var viewStyle = self.getCurrentViewStyle();
|
||||||
|
|
||||||
if (viewStyle == "Thumb") {
|
if (viewStyle == "Thumb") {
|
||||||
html = LibraryBrowser.getPosterViewHtml({
|
html = libraryBrowser.getPosterViewHtml({
|
||||||
items: result.Items,
|
items: result.Items,
|
||||||
shape: "backdrop",
|
shape: "backdrop",
|
||||||
preferThumb: true,
|
preferThumb: true,
|
||||||
|
@ -70,7 +70,7 @@
|
||||||
}
|
}
|
||||||
else if (viewStyle == "ThumbCard") {
|
else if (viewStyle == "ThumbCard") {
|
||||||
|
|
||||||
html = LibraryBrowser.getPosterViewHtml({
|
html = libraryBrowser.getPosterViewHtml({
|
||||||
items: result.Items,
|
items: result.Items,
|
||||||
shape: "backdrop",
|
shape: "backdrop",
|
||||||
preferThumb: true,
|
preferThumb: true,
|
||||||
|
@ -82,7 +82,7 @@
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else if (viewStyle == "PosterCard") {
|
else if (viewStyle == "PosterCard") {
|
||||||
html = LibraryBrowser.getPosterViewHtml({
|
html = libraryBrowser.getPosterViewHtml({
|
||||||
items: result.Items,
|
items: result.Items,
|
||||||
shape: "portrait",
|
shape: "portrait",
|
||||||
context: 'movies',
|
context: 'movies',
|
||||||
|
@ -93,7 +93,7 @@
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else if (viewStyle == "Poster") {
|
else if (viewStyle == "Poster") {
|
||||||
html = LibraryBrowser.getPosterViewHtml({
|
html = libraryBrowser.getPosterViewHtml({
|
||||||
items: result.Items,
|
items: result.Items,
|
||||||
shape: "portrait",
|
shape: "portrait",
|
||||||
context: 'movies',
|
context: 'movies',
|
||||||
|
@ -108,7 +108,7 @@
|
||||||
elem.innerHTML = html;
|
elem.innerHTML = html;
|
||||||
ImageLoader.lazyChildren(elem);
|
ImageLoader.lazyChildren(elem);
|
||||||
|
|
||||||
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
|
libraryBrowser.saveQueryValues(getSavedQueryKey(), query);
|
||||||
|
|
||||||
Dashboard.hideLoadingMsg();
|
Dashboard.hideLoadingMsg();
|
||||||
});
|
});
|
||||||
|
@ -123,7 +123,7 @@
|
||||||
|
|
||||||
self.setCurrentViewStyle = function (viewStyle) {
|
self.setCurrentViewStyle = function (viewStyle) {
|
||||||
getPageData(tabContent).view = viewStyle;
|
getPageData(tabContent).view = viewStyle;
|
||||||
LibraryBrowser.saveViewSetting(getSavedQueryKey(tabContent), viewStyle);
|
libraryBrowser.saveViewSetting(getSavedQueryKey(tabContent), viewStyle);
|
||||||
fullyReload();
|
fullyReload();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -147,7 +147,7 @@
|
||||||
var btnSelectView = tabContent.querySelector('.btnSelectView');
|
var btnSelectView = tabContent.querySelector('.btnSelectView');
|
||||||
btnSelectView.addEventListener('click', function (e) {
|
btnSelectView.addEventListener('click', function (e) {
|
||||||
|
|
||||||
LibraryBrowser.showLayoutMenu(e.target, self.getCurrentViewStyle(), self.getViewStyles());
|
libraryBrowser.showLayoutMenu(e.target, self.getCurrentViewStyle(), self.getViewStyles());
|
||||||
});
|
});
|
||||||
|
|
||||||
btnSelectView.addEventListener('layoutchange', function (e) {
|
btnSelectView.addEventListener('layoutchange', function (e) {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define(['libraryBrowser', 'scrollStyles', 'emby-itemscontainer'], function (libraryBrowser) {
|
define(['libraryBrowser', 'components/categorysyncbuttons', 'scrollStyles', 'emby-itemscontainer'], function (libraryBrowser, categorysyncbuttons) {
|
||||||
|
|
||||||
function getView() {
|
function getView() {
|
||||||
|
|
||||||
|
@ -270,7 +270,9 @@
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
self.initTab = function () {
|
self.initTab = function () {
|
||||||
|
|
||||||
var tabContent = view.querySelector('.pageTabContent[data-index=\'' + 0 + '\']');
|
var tabContent = view.querySelector('.pageTabContent[data-index=\'' + 0 + '\']');
|
||||||
|
categorysyncbuttons.init(tabContent);
|
||||||
initSuggestedTab(view, tabContent);
|
initSuggestedTab(view, tabContent);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define([], function () {
|
define(['libraryBrowser'], function (libraryBrowser) {
|
||||||
|
|
||||||
// The base query options
|
// The base query options
|
||||||
var data = {};
|
var data = {};
|
||||||
|
@ -27,7 +27,7 @@
|
||||||
|
|
||||||
function getSavedQueryKey() {
|
function getSavedQueryKey() {
|
||||||
|
|
||||||
return LibraryBrowser.getSavedQueryKey('studios');
|
return libraryBrowser.getSavedQueryKey('studios');
|
||||||
}
|
}
|
||||||
|
|
||||||
function getPromise(context, params) {
|
function getPromise(context, params) {
|
||||||
|
@ -44,7 +44,7 @@
|
||||||
|
|
||||||
var html = '';
|
var html = '';
|
||||||
|
|
||||||
html += LibraryBrowser.getPosterViewHtml({
|
html += libraryBrowser.getPosterViewHtml({
|
||||||
items: result.Items,
|
items: result.Items,
|
||||||
shape: "backdrop",
|
shape: "backdrop",
|
||||||
showTitle: false,
|
showTitle: false,
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define([], function () {
|
define(['libraryBrowser'], function (libraryBrowser) {
|
||||||
|
|
||||||
return function (view, params, tabContent) {
|
return function (view, params, tabContent) {
|
||||||
|
|
||||||
|
@ -19,11 +19,11 @@
|
||||||
Fields: "DateCreated,SyncInfo,ItemCounts",
|
Fields: "DateCreated,SyncInfo,ItemCounts",
|
||||||
StartIndex: 0
|
StartIndex: 0
|
||||||
},
|
},
|
||||||
view: LibraryBrowser.getSavedView(key) || LibraryBrowser.getDefaultItemsView('Thumb', 'Thumb')
|
view: libraryBrowser.getSavedView(key) || libraryBrowser.getDefaultItemsView('Thumb', 'Thumb')
|
||||||
};
|
};
|
||||||
|
|
||||||
pageData.query.ParentId = params.topParentId;
|
pageData.query.ParentId = params.topParentId;
|
||||||
LibraryBrowser.loadSavedQueryValues(key, pageData.query);
|
libraryBrowser.loadSavedQueryValues(key, pageData.query);
|
||||||
}
|
}
|
||||||
return pageData;
|
return pageData;
|
||||||
}
|
}
|
||||||
|
@ -35,7 +35,7 @@
|
||||||
|
|
||||||
function getSavedQueryKey() {
|
function getSavedQueryKey() {
|
||||||
|
|
||||||
return LibraryBrowser.getSavedQueryKey('genres');
|
return libraryBrowser.getSavedQueryKey('genres');
|
||||||
}
|
}
|
||||||
|
|
||||||
function getPromise() {
|
function getPromise() {
|
||||||
|
@ -57,7 +57,7 @@
|
||||||
var viewStyle = self.getCurrentViewStyle();
|
var viewStyle = self.getCurrentViewStyle();
|
||||||
|
|
||||||
if (viewStyle == "Thumb") {
|
if (viewStyle == "Thumb") {
|
||||||
html = LibraryBrowser.getPosterViewHtml({
|
html = libraryBrowser.getPosterViewHtml({
|
||||||
items: result.Items,
|
items: result.Items,
|
||||||
shape: "backdrop",
|
shape: "backdrop",
|
||||||
preferThumb: true,
|
preferThumb: true,
|
||||||
|
@ -70,7 +70,7 @@
|
||||||
}
|
}
|
||||||
else if (viewStyle == "ThumbCard") {
|
else if (viewStyle == "ThumbCard") {
|
||||||
|
|
||||||
html = LibraryBrowser.getPosterViewHtml({
|
html = libraryBrowser.getPosterViewHtml({
|
||||||
items: result.Items,
|
items: result.Items,
|
||||||
shape: "backdrop",
|
shape: "backdrop",
|
||||||
preferThumb: true,
|
preferThumb: true,
|
||||||
|
@ -82,7 +82,7 @@
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else if (viewStyle == "PosterCard") {
|
else if (viewStyle == "PosterCard") {
|
||||||
html = LibraryBrowser.getPosterViewHtml({
|
html = libraryBrowser.getPosterViewHtml({
|
||||||
items: result.Items,
|
items: result.Items,
|
||||||
shape: "portrait",
|
shape: "portrait",
|
||||||
context: 'music',
|
context: 'music',
|
||||||
|
@ -93,7 +93,7 @@
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else if (viewStyle == "Poster") {
|
else if (viewStyle == "Poster") {
|
||||||
html = LibraryBrowser.getPosterViewHtml({
|
html = libraryBrowser.getPosterViewHtml({
|
||||||
items: result.Items,
|
items: result.Items,
|
||||||
shape: "portrait",
|
shape: "portrait",
|
||||||
context: 'music',
|
context: 'music',
|
||||||
|
@ -108,7 +108,7 @@
|
||||||
elem.innerHTML = html;
|
elem.innerHTML = html;
|
||||||
ImageLoader.lazyChildren(elem);
|
ImageLoader.lazyChildren(elem);
|
||||||
|
|
||||||
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
|
libraryBrowser.saveQueryValues(getSavedQueryKey(), query);
|
||||||
|
|
||||||
Dashboard.hideLoadingMsg();
|
Dashboard.hideLoadingMsg();
|
||||||
});
|
});
|
||||||
|
@ -123,7 +123,7 @@
|
||||||
|
|
||||||
self.setCurrentViewStyle = function (viewStyle) {
|
self.setCurrentViewStyle = function (viewStyle) {
|
||||||
getPageData(tabContent).view = viewStyle;
|
getPageData(tabContent).view = viewStyle;
|
||||||
LibraryBrowser.saveViewSetting(getSavedQueryKey(tabContent), viewStyle);
|
libraryBrowser.saveViewSetting(getSavedQueryKey(tabContent), viewStyle);
|
||||||
fullyReload();
|
fullyReload();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -147,7 +147,7 @@
|
||||||
var btnSelectView = tabContent.querySelector('.btnSelectView');
|
var btnSelectView = tabContent.querySelector('.btnSelectView');
|
||||||
btnSelectView.addEventListener('click', function (e) {
|
btnSelectView.addEventListener('click', function (e) {
|
||||||
|
|
||||||
LibraryBrowser.showLayoutMenu(e.target, self.getCurrentViewStyle(), self.getViewStyles());
|
libraryBrowser.showLayoutMenu(e.target, self.getCurrentViewStyle(), self.getViewStyles());
|
||||||
});
|
});
|
||||||
|
|
||||||
btnSelectView.addEventListener('layoutchange', function (e) {
|
btnSelectView.addEventListener('layoutchange', function (e) {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define([], function () {
|
define(['libraryBrowser'], function (libraryBrowser) {
|
||||||
|
|
||||||
function notifications() {
|
function notifications() {
|
||||||
|
|
||||||
|
@ -106,7 +106,7 @@
|
||||||
|
|
||||||
var query = { StartIndex: startIndex, Limit: limit };
|
var query = { StartIndex: startIndex, Limit: limit };
|
||||||
|
|
||||||
html += LibraryBrowser.getQueryPagingHtml({
|
html += libraryBrowser.getQueryPagingHtml({
|
||||||
startIndex: query.StartIndex,
|
startIndex: query.StartIndex,
|
||||||
limit: query.Limit,
|
limit: query.Limit,
|
||||||
totalRecordCount: totalRecordCount,
|
totalRecordCount: totalRecordCount,
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define(['jQuery'], function ($) {
|
define(['jQuery', 'libraryBrowser'], function ($, libraryBrowser) {
|
||||||
|
|
||||||
var defaultSortBy = "SortName";
|
var defaultSortBy = "SortName";
|
||||||
var topItems = 5;
|
var topItems = 5;
|
||||||
|
@ -311,7 +311,7 @@
|
||||||
$('#tabFilter', page).hide();
|
$('#tabFilter', page).hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
var pagingHtml = LibraryBrowser.getQueryPagingHtml({
|
var pagingHtml = libraryBrowser.getQueryPagingHtml({
|
||||||
startIndex: query.StartIndex,
|
startIndex: query.StartIndex,
|
||||||
limit: query.Limit,
|
limit: query.Limit,
|
||||||
totalRecordCount: result.TotalRecordCount,
|
totalRecordCount: result.TotalRecordCount,
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define(['jQuery'], function ($) {
|
define(['jQuery', 'libraryBrowser'], function ($, libraryBrowser) {
|
||||||
|
|
||||||
var currentItem;
|
var currentItem;
|
||||||
|
|
||||||
|
@ -18,9 +18,9 @@
|
||||||
|
|
||||||
currentItem = item;
|
currentItem = item;
|
||||||
|
|
||||||
LibraryBrowser.renderName(item, $('.itemName', page)[0], false);
|
libraryBrowser.renderName(item, $('.itemName', page)[0], false);
|
||||||
LibraryBrowser.renderParentName(item, $('.parentName', page)[0]);
|
libraryBrowser.renderParentName(item, $('.parentName', page)[0]);
|
||||||
LibraryBrowser.renderDetailPageBackdrop(page, item);
|
libraryBrowser.renderDetailPageBackdrop(page, item);
|
||||||
|
|
||||||
renderImage(page, item);
|
renderImage(page, item);
|
||||||
|
|
||||||
|
@ -58,7 +58,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function renderImage(page, item) {
|
function renderImage(page, item) {
|
||||||
LibraryBrowser.renderDetailImage(page.querySelector('.detailImageContainer'), item, false);
|
libraryBrowser.renderDetailImage(page.querySelector('.detailImageContainer'), item, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
$(document).on('pageinit', "#publicSharedItemPage", function () {
|
$(document).on('pageinit', "#publicSharedItemPage", function () {
|
||||||
|
|
|
@ -3177,7 +3177,6 @@ var AppInfo = {};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
deps.push('scripts/librarylist');
|
|
||||||
deps.push('scripts/librarymenu');
|
deps.push('scripts/librarymenu');
|
||||||
|
|
||||||
deps.push('css!css/card.css');
|
deps.push('css!css/card.css');
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define([], function () {
|
define(['libraryBrowser'], function (libraryBrowser) {
|
||||||
|
|
||||||
return function (view, params, tabContent) {
|
return function (view, params, tabContent) {
|
||||||
|
|
||||||
|
@ -19,11 +19,11 @@
|
||||||
Fields: "DateCreated,SyncInfo,ItemCounts",
|
Fields: "DateCreated,SyncInfo,ItemCounts",
|
||||||
StartIndex: 0
|
StartIndex: 0
|
||||||
},
|
},
|
||||||
view: LibraryBrowser.getSavedView(key) || LibraryBrowser.getDefaultItemsView('Thumb', 'Thumb')
|
view: libraryBrowser.getSavedView(key) || libraryBrowser.getDefaultItemsView('Thumb', 'Thumb')
|
||||||
};
|
};
|
||||||
|
|
||||||
pageData.query.ParentId = params.topParentId;
|
pageData.query.ParentId = params.topParentId;
|
||||||
LibraryBrowser.loadSavedQueryValues(key, pageData.query);
|
libraryBrowser.loadSavedQueryValues(key, pageData.query);
|
||||||
}
|
}
|
||||||
return pageData;
|
return pageData;
|
||||||
}
|
}
|
||||||
|
@ -35,7 +35,7 @@
|
||||||
|
|
||||||
function getSavedQueryKey() {
|
function getSavedQueryKey() {
|
||||||
|
|
||||||
return LibraryBrowser.getSavedQueryKey('genres');
|
return libraryBrowser.getSavedQueryKey('genres');
|
||||||
}
|
}
|
||||||
|
|
||||||
function getPromise() {
|
function getPromise() {
|
||||||
|
@ -57,7 +57,7 @@
|
||||||
var viewStyle = self.getCurrentViewStyle();
|
var viewStyle = self.getCurrentViewStyle();
|
||||||
|
|
||||||
if (viewStyle == "Thumb") {
|
if (viewStyle == "Thumb") {
|
||||||
html = LibraryBrowser.getPosterViewHtml({
|
html = libraryBrowser.getPosterViewHtml({
|
||||||
items: result.Items,
|
items: result.Items,
|
||||||
shape: "backdrop",
|
shape: "backdrop",
|
||||||
preferThumb: true,
|
preferThumb: true,
|
||||||
|
@ -70,7 +70,7 @@
|
||||||
}
|
}
|
||||||
else if (viewStyle == "ThumbCard") {
|
else if (viewStyle == "ThumbCard") {
|
||||||
|
|
||||||
html = LibraryBrowser.getPosterViewHtml({
|
html = libraryBrowser.getPosterViewHtml({
|
||||||
items: result.Items,
|
items: result.Items,
|
||||||
shape: "backdrop",
|
shape: "backdrop",
|
||||||
preferThumb: true,
|
preferThumb: true,
|
||||||
|
@ -82,7 +82,7 @@
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else if (viewStyle == "PosterCard") {
|
else if (viewStyle == "PosterCard") {
|
||||||
html = LibraryBrowser.getPosterViewHtml({
|
html = libraryBrowser.getPosterViewHtml({
|
||||||
items: result.Items,
|
items: result.Items,
|
||||||
shape: "portrait",
|
shape: "portrait",
|
||||||
context: 'tv',
|
context: 'tv',
|
||||||
|
@ -93,7 +93,7 @@
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else if (viewStyle == "Poster") {
|
else if (viewStyle == "Poster") {
|
||||||
html = LibraryBrowser.getPosterViewHtml({
|
html = libraryBrowser.getPosterViewHtml({
|
||||||
items: result.Items,
|
items: result.Items,
|
||||||
shape: "portrait",
|
shape: "portrait",
|
||||||
context: 'tv',
|
context: 'tv',
|
||||||
|
@ -108,7 +108,7 @@
|
||||||
elem.innerHTML = html;
|
elem.innerHTML = html;
|
||||||
ImageLoader.lazyChildren(elem);
|
ImageLoader.lazyChildren(elem);
|
||||||
|
|
||||||
LibraryBrowser.saveQueryValues(getSavedQueryKey(), query);
|
libraryBrowser.saveQueryValues(getSavedQueryKey(), query);
|
||||||
|
|
||||||
Dashboard.hideLoadingMsg();
|
Dashboard.hideLoadingMsg();
|
||||||
});
|
});
|
||||||
|
@ -123,7 +123,7 @@
|
||||||
|
|
||||||
self.setCurrentViewStyle = function(viewStyle) {
|
self.setCurrentViewStyle = function(viewStyle) {
|
||||||
getPageData(tabContent).view = viewStyle;
|
getPageData(tabContent).view = viewStyle;
|
||||||
LibraryBrowser.saveViewSetting(getSavedQueryKey(tabContent), viewStyle);
|
libraryBrowser.saveViewSetting(getSavedQueryKey(tabContent), viewStyle);
|
||||||
fullyReload();
|
fullyReload();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -147,7 +147,7 @@
|
||||||
var btnSelectView = tabContent.querySelector('.btnSelectView');
|
var btnSelectView = tabContent.querySelector('.btnSelectView');
|
||||||
btnSelectView.addEventListener('click', function (e) {
|
btnSelectView.addEventListener('click', function (e) {
|
||||||
|
|
||||||
LibraryBrowser.showLayoutMenu(e.target, self.getCurrentViewStyle(), self.getViewStyles());
|
libraryBrowser.showLayoutMenu(e.target, self.getCurrentViewStyle(), self.getViewStyles());
|
||||||
});
|
});
|
||||||
|
|
||||||
btnSelectView.addEventListener('layoutchange', function (e) {
|
btnSelectView.addEventListener('layoutchange', function (e) {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define([], function () {
|
define(['components/categorysyncbuttons'], function (categorysyncbuttons) {
|
||||||
|
|
||||||
function getView() {
|
function getView() {
|
||||||
|
|
||||||
|
@ -77,7 +77,8 @@
|
||||||
return function (view, params, tabContent) {
|
return function (view, params, tabContent) {
|
||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
var latestPromise;
|
|
||||||
|
categorysyncbuttons.init(tabContent);
var latestPromise;
|
||||||
|
|
||||||
self.preRender = function () {
|
self.preRender = function () {
|
||||||
latestPromise = getLatestPromise(view, params);
|
latestPromise = getLatestPromise(view, params);
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define(['libraryBrowser', 'scrollStyles', 'emby-itemscontainer'], function (libraryBrowser) {
|
define(['libraryBrowser', 'components/categorysyncbuttons', 'scrollStyles', 'emby-itemscontainer'], function (libraryBrowser, categorysyncbuttons) {
|
||||||
|
|
||||||
return function (view, params) {
|
return function (view, params) {
|
||||||
|
|
||||||
|
@ -165,6 +165,8 @@
|
||||||
} else {
|
} else {
|
||||||
tabContent.querySelector('#resumableItems').classList.remove('hiddenScrollX');
|
tabContent.querySelector('#resumableItems').classList.remove('hiddenScrollX');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
categorysyncbuttons.init(tabContent);
|
||||||
};
|
};
|
||||||
|
|
||||||
self.renderTab = function () {
|
self.renderTab = function () {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define([], function () {
|
define(['libraryBrowser'], function (libraryBrowser) {
|
||||||
|
|
||||||
// The base query options
|
// The base query options
|
||||||
var data = {};
|
var data = {};
|
||||||
|
@ -27,7 +27,7 @@
|
||||||
|
|
||||||
function getSavedQueryKey() {
|
function getSavedQueryKey() {
|
||||||
|
|
||||||
return LibraryBrowser.getSavedQueryKey('studios');
|
return libraryBrowser.getSavedQueryKey('studios');
|
||||||
}
|
}
|
||||||
|
|
||||||
function getPromise(context, params) {
|
function getPromise(context, params) {
|
||||||
|
@ -44,7 +44,7 @@
|
||||||
|
|
||||||
var html = '';
|
var html = '';
|
||||||
|
|
||||||
html += LibraryBrowser.getPosterViewHtml({
|
html += libraryBrowser.getPosterViewHtml({
|
||||||
items: result.Items,
|
items: result.Items,
|
||||||
shape: "backdrop",
|
shape: "backdrop",
|
||||||
showTitle: false,
|
showTitle: false,
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define(['datetime', 'scrollStyles', 'emby-itemscontainer'], function (datetime) {
|
define(['datetime', 'libraryBrowser', 'scrollStyles', 'emby-itemscontainer'], function (datetime, libraryBrowser) {
|
||||||
|
|
||||||
function getUpcomingPromise(context, params) {
|
function getUpcomingPromise(context, params) {
|
||||||
|
|
||||||
|
@ -69,7 +69,7 @@
|
||||||
if (premiereDate.getDate() == new Date().getDate() - 1) {
|
if (premiereDate.getDate() == new Date().getDate() - 1) {
|
||||||
dateText = Globalize.translate('Yesterday');
|
dateText = Globalize.translate('Yesterday');
|
||||||
} else {
|
} else {
|
||||||
dateText = LibraryBrowser.getFutureDateText(premiereDate, true);
|
dateText = libraryBrowser.getFutureDateText(premiereDate, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
@ -107,7 +107,7 @@
|
||||||
html += '<div is="emby-itemscontainer" class="itemsContainer">';
|
html += '<div is="emby-itemscontainer" class="itemsContainer">';
|
||||||
}
|
}
|
||||||
|
|
||||||
html += LibraryBrowser.getPosterViewHtml({
|
html += libraryBrowser.getPosterViewHtml({
|
||||||
items: group.items,
|
items: group.items,
|
||||||
showLocationTypeIndicator: false,
|
showLocationTypeIndicator: false,
|
||||||
shape: getThumbShape(),
|
shape: getThumbShape(),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue