mirror of
https://github.com/jellyfin/jellyfin-web.git
synced 2024-11-17 19:08:18 -07:00
update listviews
This commit is contained in:
parent
d9c694f564
commit
f3cde16786
@ -15,12 +15,12 @@
|
||||
},
|
||||
"devDependencies": {},
|
||||
"ignore": [],
|
||||
"version": "1.4.91",
|
||||
"_release": "1.4.91",
|
||||
"version": "1.4.93",
|
||||
"_release": "1.4.93",
|
||||
"_resolution": {
|
||||
"type": "version",
|
||||
"tag": "1.4.91",
|
||||
"commit": "a4c5466d5a59e57b157aa941fcadb1e0df602f75"
|
||||
"tag": "1.4.93",
|
||||
"commit": "8b6b445547b02a088fbafed08120ed87c4004df5"
|
||||
},
|
||||
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
|
||||
"_target": "^1.2.0",
|
||||
|
@ -1,4 +1,4 @@
|
||||
define(['itemShortcuts', 'connectionManager', 'registerElement'], function (itemShortcuts, connectionManager) {
|
||||
define(['itemShortcuts', 'connectionManager', 'layoutManager', 'browser', 'registerElement'], function (itemShortcuts, connectionManager, layoutManager, browser) {
|
||||
|
||||
var ItemsContainerProtoType = Object.create(HTMLDivElement.prototype);
|
||||
|
||||
@ -85,23 +85,99 @@
|
||||
function onClick(e) {
|
||||
|
||||
var itemsContainer = this;
|
||||
var target = e.target;
|
||||
|
||||
var menuButton = parentWithClass(e.target, 'menuButton');
|
||||
var menuButton = parentWithClass(target, 'menuButton');
|
||||
if (menuButton) {
|
||||
showContextMenu(menuButton, itemsContainer);
|
||||
e.stopPropagation();
|
||||
return false;
|
||||
var card = parentWithAttribute(target, 'data-id');
|
||||
if (card) {
|
||||
showContextMenu(card, target);
|
||||
e.stopPropagation();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
itemShortcuts.onClick.call(this, e);
|
||||
}
|
||||
|
||||
function disableEvent(e) {
|
||||
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
return false;
|
||||
}
|
||||
|
||||
function showContextMenu(card, target, options) {
|
||||
|
||||
var itemId = card.getAttribute('data-id');
|
||||
var serverId = card.getAttribute('data-serverid');
|
||||
var type = card.getAttribute('data-type');
|
||||
|
||||
var apiClient = connectionManager.getApiClient(serverId);
|
||||
|
||||
var promise = type == 'Timer' ? apiClient.getLiveTvTimer(itemId) : apiClient.getItem(apiClient.getCurrentUserId(), itemId);
|
||||
|
||||
promise.then(function (item) {
|
||||
|
||||
require(['itemContextMenu'], function (itemContextMenu) {
|
||||
|
||||
itemContextMenu.show(Object.assign(options || {}, {
|
||||
item: item,
|
||||
positionTo: target
|
||||
}));
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function onContextMenu(e) {
|
||||
|
||||
var itemsContainer = this;
|
||||
|
||||
var target = e.target;
|
||||
var card = parentWithAttribute(target, 'data-id');
|
||||
if (card) {
|
||||
|
||||
//var itemSelectionPanel = card.querySelector('.itemSelectionPanel');
|
||||
|
||||
//if (!itemSelectionPanel) {
|
||||
// showContextMenu(card, {});
|
||||
//}
|
||||
|
||||
showContextMenu(card, target, {
|
||||
identify: false
|
||||
});
|
||||
}
|
||||
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
return false;
|
||||
}
|
||||
|
||||
function getShortcutOptions() {
|
||||
return {
|
||||
click: false
|
||||
};
|
||||
}
|
||||
|
||||
ItemsContainerProtoType.attachedCallback = function () {
|
||||
this.addEventListener('click', onClick);
|
||||
itemShortcuts.on(this);
|
||||
|
||||
// mobile safari doesn't allow contextmenu override
|
||||
if (browser.safari && browser.mobile) {
|
||||
this.addEventListener('contextmenu', disableEvent);
|
||||
// todo: use tap hold
|
||||
} else {
|
||||
this.addEventListener('contextmenu', onContextMenu);
|
||||
}
|
||||
|
||||
itemShortcuts.on(this, getShortcutOptions());
|
||||
};
|
||||
|
||||
ItemsContainerProtoType.detachedCallback = function () {
|
||||
this.removeEventListener('click', onClick);
|
||||
itemShortcuts.off(this);
|
||||
this.removeEventListener('contextmenu', onContextMenu);
|
||||
this.removeEventListener('contextmenu', disableEvent);
|
||||
itemShortcuts.off(this, getShortcutOptions());
|
||||
};
|
||||
|
||||
document.registerElement('emby-itemscontainer', {
|
||||
|
@ -39,20 +39,24 @@ define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'embyRouter',
|
||||
});
|
||||
}
|
||||
|
||||
if (options.edit !== false) {
|
||||
if (itemHelper.canEdit(user, item.Type)) {
|
||||
if (itemHelper.canEdit(user, item.Type)) {
|
||||
|
||||
if (!isTheater) {
|
||||
if (!isTheater) {
|
||||
if (options.edit !== false) {
|
||||
commands.push({
|
||||
name: globalize.translate('sharedcomponents#EditInfo'),
|
||||
id: 'edit'
|
||||
});
|
||||
}
|
||||
if (options.editImages !== false) {
|
||||
commands.push({
|
||||
name: globalize.translate('sharedcomponents#EditImages'),
|
||||
id: 'editimages'
|
||||
});
|
||||
}
|
||||
if (item.MediaType == 'Video' && item.Type != 'TvChannel' && item.Type != 'Program' && item.LocationType != 'Virtual') {
|
||||
}
|
||||
if (item.MediaType == 'Video' && item.Type != 'TvChannel' && item.Type != 'Program' && item.LocationType != 'Virtual') {
|
||||
if (options.editSubtitles !== false) {
|
||||
commands.push({
|
||||
name: globalize.translate('sharedcomponents#EditSubtitles'),
|
||||
id: 'editsubtitles'
|
||||
|
@ -282,7 +282,12 @@ define(['itemHelper', 'mediaInfo', 'indicators', 'connectionManager', 'layoutMan
|
||||
html += '</div>';
|
||||
|
||||
if (enableSideMediaInfo) {
|
||||
html += '<div class="secondary listItemMediaInfo">' + mediaInfo.getPrimaryMediaInfoHtml(item) + '</div>';
|
||||
html += '<div class="secondary listItemMediaInfo">' + mediaInfo.getPrimaryMediaInfoHtml(item, {
|
||||
|
||||
year: false,
|
||||
container: false
|
||||
|
||||
}) + '</div>';
|
||||
}
|
||||
|
||||
if (!clickEntireItem) {
|
||||
|
@ -125,7 +125,7 @@ define(['datetime', 'globalize', 'embyRouter', 'material-icons', 'css!./mediainf
|
||||
}
|
||||
}
|
||||
|
||||
if (item.ProductionYear && item.Type == "Series") {
|
||||
if (options.year !== false && item.ProductionYear && item.Type == "Series") {
|
||||
|
||||
if (item.Status == "Continuing") {
|
||||
miscInfo.push(globalize.translate('sharedcomponents#ValueSeriesYearToPresent', item.ProductionYear));
|
||||
@ -237,7 +237,7 @@ define(['datetime', 'globalize', 'embyRouter', 'material-icons', 'css!./mediainf
|
||||
miscInfo.push(item.Width + "x" + item.Height);
|
||||
}
|
||||
|
||||
if (item.Type == 'Audio' && item.Container) {
|
||||
if (options.container !== false && item.Type == 'Audio' && item.Container) {
|
||||
miscInfo.push(item.Container);
|
||||
}
|
||||
|
||||
|
@ -235,6 +235,10 @@ define(['playbackManager', 'inputManager', 'connectionManager', 'embyRouter', 'g
|
||||
|
||||
if (action) {
|
||||
executeAction(card, action);
|
||||
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -277,20 +281,34 @@ define(['playbackManager', 'inputManager', 'connectionManager', 'embyRouter', 'g
|
||||
}
|
||||
}
|
||||
|
||||
function on(context) {
|
||||
context.addEventListener('click', onClick);
|
||||
inputManager.on(context, onCommand);
|
||||
function on(context, options) {
|
||||
|
||||
options = options || {};
|
||||
|
||||
if (options.click !== false) {
|
||||
context.addEventListener('click', onClick);
|
||||
}
|
||||
|
||||
if (options.command !== false) {
|
||||
inputManager.on(context, onCommand);
|
||||
}
|
||||
}
|
||||
|
||||
function off(context) {
|
||||
function off(context, options) {
|
||||
options = options || {};
|
||||
|
||||
context.removeEventListener('click', onClick);
|
||||
inputManager.off(context, onCommand);
|
||||
|
||||
if (options.command !== false) {
|
||||
inputManager.off(context, onCommand);
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
on: on,
|
||||
off: off,
|
||||
execute: executeAction
|
||||
execute: executeAction,
|
||||
onClick: onClick
|
||||
};
|
||||
|
||||
});
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"EditInfo": "Edit Info",
|
||||
"RemoveFromPlaylist": "Remove from Playlist",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Del",
|
||||
"ServerUpdateNeeded": "Denne Emby server b\u00f8r opdateres. For at downloade den nyeste version bes\u00f8g venligst {0}",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"EditInfo": "Edit Info",
|
||||
"RemoveFromPlaylist": "Remove from Playlist",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "Teilen",
|
||||
"ServerUpdateNeeded": "Dieser Emby Server sollte aktualisiert werden. Um die neueste Version zu laden, besuche bitte {0}",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"EditInfo": "Edit Info",
|
||||
"RemoveFromPlaylist": "Remove from Playlist",
|
||||
"ValueSpecialEpisodeName": "Especial - {0}",
|
||||
"Share": "Compartir",
|
||||
"ServerUpdateNeeded": "Este Servidor Emby necesita ser actualizado. Para descargar la ultima versi\u00f3n, por favor visite {0}",
|
||||
|
116
dashboard-ui/bower_components/emby-webcomponents/strings/fr.json
vendored
Normal file
116
dashboard-ui/bower_components/emby-webcomponents/strings/fr.json
vendored
Normal file
@ -0,0 +1,116 @@
|
||||
{
|
||||
"EditInfo": "Modifier les informations",
|
||||
"RemoveFromPlaylist": "Supprimer de la liste de lecture",
|
||||
"ValueSpecialEpisodeName": "Sp\u00e9cial - {0}",
|
||||
"Share": "Partager",
|
||||
"ServerUpdateNeeded": "Le serveur Emby doit \u00eatre mis \u00e0 jour. Pour t\u00e9l\u00e9charger la derni\u00e8re version, veuillez visiter {0}",
|
||||
"LiveTvGuideRequiresUnlock": "Le Guide TV en direct est actuellement limit\u00e9 \u00e0 {0} cha\u00eenes. Cliquez sur le bouton d\u00e9verrouiller pour d\u00e9couvrir comment profiter de l'ensemble.",
|
||||
"AttributeNew": "Nouveau",
|
||||
"AttributePremiere": "Premiere",
|
||||
"AttributeLive": "Direct",
|
||||
"TrackCount": "{0} pistes",
|
||||
"ItemCount": "{0} \u00e9l\u00e9ments",
|
||||
"ValueSeriesYearToPresent": "{0}-Pr\u00e9sent",
|
||||
"ReleaseYearValue": "Ann\u00e9e de sortie: {0}",
|
||||
"OriginalAirDateValue": "Date de diffusion originale: {0}",
|
||||
"EndsAtValue": "Se termine \u00e0 {0}",
|
||||
"OptionSundayShort": "Dim",
|
||||
"OptionMondayShort": "Lun",
|
||||
"OptionTuesdayShort": "Mar",
|
||||
"OptionWednesdayShort": "Mer",
|
||||
"OptionThursdayShort": "Jeu",
|
||||
"OptionFridayShort": "Ven",
|
||||
"OptionSaturdayShort": "Sam",
|
||||
"HeaderSelectDate": "S\u00e9lectionnez la date",
|
||||
"ButtonOk": "Ok",
|
||||
"ButtonCancel": "Annuler",
|
||||
"ButtonGotIt": "Compris",
|
||||
"RecordingCancelled": "Enregistrement annul\u00e9.",
|
||||
"RecordingScheduled": "Enregistrement planifi\u00e9.",
|
||||
"SeriesRecordingScheduled": "Enregistrement de la s\u00e9rie pr\u00e9vue.",
|
||||
"HeaderNewRecording": "Nouvel enregistrement",
|
||||
"Sunday": "Dimanche",
|
||||
"Monday": "Lundi",
|
||||
"Tuesday": "Mardi",
|
||||
"Wednesday": "Mercredi",
|
||||
"Thursday": "Jeudi",
|
||||
"Friday": "Vendredi",
|
||||
"Saturday": "Samedi",
|
||||
"Days": "Jours",
|
||||
"RecordSeries": "Enregistrer s\u00e9ries",
|
||||
"LabelPrePaddingMinutes": "D\u00e9lai avant l'enregistrement en minutes:",
|
||||
"LabelPostPaddingMinutes": "D\u00e9lai apr\u00e8s l'enregistrement en minutes:",
|
||||
"RecordOnAllChannels": "Enregistrer sur toutes les cha\u00eenes",
|
||||
"RecordAnytime": "Enregistrer \u00e0 n'importe quelle heure\/journ\u00e9e",
|
||||
"RecordOnlyNewEpisodes": "Enregistrer seulement les nouveaux \u00e9pisodes",
|
||||
"HeaderBecomeProjectSupporter": "Obtenez Emby Premiere",
|
||||
"HeaderEnjoyDayTrial": "Profitez d'une p\u00e9riode d'essai de 14 jours",
|
||||
"MessageActiveSubscriptionRequiredSeriesRecordings": "Une souscription Emby Premiere active est n\u00e9cessaire pour cr\u00e9er des enregistrements automatiques de s\u00e9ries.",
|
||||
"OptionConvertRecordingsToStreamingFormat": "Convertir automatiquement les enregistrements a un format facilement diffusable.",
|
||||
"OptionConvertRecordingsToStreamingFormatHelp": "Les enregistrements seront convertis \u00e0 la vol\u00e9e en MP4 afin faciliter la lecture sur tous vos appareils.",
|
||||
"FeatureRequiresEmbyPremiere": "Cette fonctionnalit\u00e9 requiert un compte Emby Premiere.",
|
||||
"Record": "Enregistrer",
|
||||
"Save": "Sauvegarder",
|
||||
"Edit": "Modifier",
|
||||
"Download": "T\u00e9l\u00e9chargement",
|
||||
"Advanced": "Avanc\u00e9",
|
||||
"Delete": "Supprimer",
|
||||
"HeaderDeleteItem": "Supprimer l'\u00e9l\u00e9ment",
|
||||
"ConfirmDeleteItem": "Supprimer cet \u00e9l\u00e9ment l'effacera \u00e0 la fois du syst\u00e8me de fichiers et de votre biblioth\u00e8que de medias. Etes-vous s\u00fbr de vouloir continuer ?",
|
||||
"Refresh": "Actualiser",
|
||||
"RefreshQueued": "Demande d'actualisation en file d'attente.",
|
||||
"AddToCollection": "Ajouter \u00e0 la collection",
|
||||
"NewCollection": "Nouvelle collection",
|
||||
"LabelCollection": "Collection:",
|
||||
"Help": "Aide",
|
||||
"NewCollectionHelp": "Les Collections vous permettent de cr\u00e9er des groupes personnalis\u00e9s de films et autres contenus.",
|
||||
"SearchForCollectionInternetMetadata": "Rechercher sur Internet les images et m\u00e9tadonn\u00e9es",
|
||||
"LabelName": "Nom:",
|
||||
"NewCollectionNameExample": "Exemple: Collection Star Wars",
|
||||
"MessageItemsAdded": " \u00c9l\u00e9ments ajout\u00e9s.",
|
||||
"OptionNew": "Nouveau...",
|
||||
"LabelPlaylist": "Liste de lecture:",
|
||||
"AddToPlaylist": "Ajouter \u00e0 la liste de lecture",
|
||||
"Subtitles": "Sous-titres",
|
||||
"SearchForSubtitles": "Rechercher des sous-titres",
|
||||
"LabelLanguage": "Langue:",
|
||||
"Search": "Recherche",
|
||||
"NoSubtitleSearchResultsFound": "Aucun appareil trouv\u00e9",
|
||||
"File": "Fichier",
|
||||
"MessageAreYouSureDeleteSubtitles": "\u00cates-vous s\u00fbr de vouloir supprimer ce fichier sous-titres ?",
|
||||
"ConfirmDeletion": "Confirmer la suppression",
|
||||
"MySubtitles": "Mes Sous-titres",
|
||||
"MessageDownloadQueued": "T\u00e9l\u00e9charger en file d'attente.",
|
||||
"EditSubtitles": "Modifier les sous-titres",
|
||||
"UnlockGuide": "D\u00e9verrouiller le Guide",
|
||||
"RefreshMetadata": "Actualiser les m\u00e9tadonn\u00e9es",
|
||||
"ReplaceExistingImages": "Remplacer les images existantes",
|
||||
"ReplaceAllMetadata": "Remplacer toutes les m\u00e9tadonn\u00e9es",
|
||||
"SearchForMissingMetadata": "Rechercher les m\u00e9tadonn\u00e9es manquantes",
|
||||
"LabelRefreshMode": "Mode de rafra\u00eechissement:",
|
||||
"NoItemsFound": "Aucun \u00e9l\u00e9ment trouv\u00e9.",
|
||||
"HeaderSaySomethingLike": "Dites quelque chose...",
|
||||
"ButtonTryAgain": "Veuillez r\u00e9essayer",
|
||||
"HeaderYouSaid": "Vous avez dit...",
|
||||
"MessageWeDidntRecognizeCommand": "D\u00e9sol\u00e9, cette commande n'a pas \u00e9t\u00e9 reconnue.",
|
||||
"MessageIfYouBlockedVoice": "Si vous avez supprim\u00e9 l'acc\u00e8s par commande vocale \u00e0 l'application, vous devrez reconfigurer avant de r\u00e9essayer.",
|
||||
"ValueDiscNumber": "Disque {0}",
|
||||
"Unrated": "Non not\u00e9",
|
||||
"Favorite": "Favoris",
|
||||
"Like": "J'aime",
|
||||
"Dislike": "Je n'aime pas",
|
||||
"Played": "Lu",
|
||||
"RefreshDialogHelp": "Les m\u00e9tadonn\u00e9es sont actualis\u00e9es en fonction des param\u00e8tres et des services internet qui sont activ\u00e9s dans le tableau de bord Emby Server.",
|
||||
"Open": "Ouvrir",
|
||||
"Play": "Lire",
|
||||
"Queue": "File d'attente",
|
||||
"Shuffle": "Lecture al\u00e9atoire",
|
||||
"Identify": "Identifier",
|
||||
"EditImages": "Modifier les images",
|
||||
"Sync": "Sync",
|
||||
"InstantMix": "Mix instantan\u00e9",
|
||||
"ViewAlbum": "Voir l'album",
|
||||
"ViewArtist": "Voir l'artiste",
|
||||
"QueueAllFromHere": "Tout mette en file d'attente \u00e0 partir d'ici",
|
||||
"PlayAllFromHere": "Tout lire \u00e0 partir d'ici"
|
||||
}
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"EditInfo": "Edit Info",
|
||||
"RemoveFromPlaylist": "Remove from Playlist",
|
||||
"ValueSpecialEpisodeName": "\u0410\u0440\u043d\u0430\u0439\u044b - {0}",
|
||||
"Share": "\u041e\u0440\u0442\u0430\u049b\u0442\u0430\u0441\u0443",
|
||||
"ServerUpdateNeeded": "\u041e\u0441\u044b Emby Server \u0436\u0430\u04a3\u0430\u0440\u0442\u044b\u043b\u0443\u044b \u049b\u0430\u0436\u0435\u0442. \u0421\u043e\u04a3\u0493\u044b \u043d\u04b1\u0441\u049b\u0430\u0441\u044b\u043d \u0436\u04af\u043a\u0442\u0435\u043f \u0430\u043b\u0443 \u04af\u0448\u0456\u043d, {0} \u043a\u0456\u0440\u0456\u04a3\u0456\u0437",
|
||||
@ -92,23 +94,23 @@
|
||||
"HeaderYouSaid": "\u0421\u0456\u0437 \u0430\u0439\u0442\u049b\u0430\u043d\u044b\u04a3\u044b\u0437...",
|
||||
"MessageWeDidntRecognizeCommand": "\u041e\u0441\u044b\u043d\u0434\u0430\u0439 \u043f\u04d9\u0440\u043c\u0435\u043d\u0434\u0456 \u0442\u0430\u043d\u044b\u043f \u0430\u0439\u044b\u0440\u043c\u0430\u0434\u044b\u049b.",
|
||||
"MessageIfYouBlockedVoice": "\u0415\u0433\u0435\u0440 \u049b\u043e\u043b\u0434\u0430\u043d\u0431\u0430\u0493\u0430 \u0434\u0430\u0443\u044b\u0441\u0442\u044b\u049b \u049b\u0430\u0442\u044b\u043d\u0430\u0443\u044b\u04a3\u044b\u0437 \u0431\u0430\u0441 \u0442\u0430\u0440\u0442\u044b\u043b\u0441\u0430, \u049b\u0430\u0439\u0442\u0430 \u04d9\u0440\u0435\u043a\u0435\u0442\u0442\u0435\u043d\u0443\u0456\u04a3\u0456\u0437\u0434\u0435\u043d \u0430\u043b\u0434\u044b\u043d\u0430\u043d \u049b\u0430\u0439\u0442\u0430 \u0442\u0435\u04a3\u0448\u0435\u0443\u0456\u04a3\u0456\u0437 \u049b\u0430\u0436\u0435\u0442 \u0431\u043e\u043b\u0430\u0434\u044b.",
|
||||
"ValueDiscNumber": "Disc {0}",
|
||||
"Unrated": "Unrated",
|
||||
"Favorite": "Favorite",
|
||||
"Like": "Like",
|
||||
"Dislike": "Dislike",
|
||||
"Played": "Played",
|
||||
"ValueDiscNumber": "{0}-\u0434\u0438\u0441\u043a\u0456",
|
||||
"Unrated": "\u0411\u0430\u0493\u0430\u043b\u0430\u043d\u0431\u0430\u0493\u0430\u043d",
|
||||
"Favorite": "\u0422\u0430\u04a3\u0434\u0430\u0443\u043b\u044b",
|
||||
"Like": "\u04b0\u043d\u0430\u0439\u0434\u044b",
|
||||
"Dislike": "\u04b0\u043d\u0430\u043c\u0430\u0439\u0434\u044b",
|
||||
"Played": "\u041e\u0439\u043d\u0430\u0442\u044b\u043b\u0493\u0430\u043d",
|
||||
"RefreshDialogHelp": "\u041c\u0435\u0442\u0430\u0434\u0435\u0440\u0435\u043a\u0442\u0435\u0440 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043b\u0435\u0440 \u043c\u0435\u043d Emby Server \u0431\u0430\u049b\u044b\u043b\u0430\u0443 \u0442\u0430\u049b\u0442\u0430\u0441\u044b\u043d\u0434\u0430 \u049b\u043e\u0441\u044b\u043b\u0493\u0430\u043d \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u049b\u044b\u0437\u043c\u0435\u0442\u0442\u0435\u0440\u0456 \u043d\u0435\u0433\u0456\u0437\u0456\u043d\u0434\u0435 \u0436\u0430\u04a3\u0493\u044b\u0440\u0442\u044b\u043b\u0430\u0434\u044b.",
|
||||
"Open": "Open",
|
||||
"Play": "Play",
|
||||
"Queue": "Queue",
|
||||
"Shuffle": "Shuffle",
|
||||
"Identify": "Identify",
|
||||
"EditImages": "Edit Images",
|
||||
"Sync": "Sync",
|
||||
"InstantMix": "Instant Mix",
|
||||
"ViewAlbum": "View Album",
|
||||
"ViewArtist": "View Artist",
|
||||
"QueueAllFromHere": "Queue All from Here",
|
||||
"PlayAllFromHere": "Play All from Here"
|
||||
"Open": "\u0410\u0448\u0443",
|
||||
"Play": "\u041e\u0439\u043d\u0430\u0442\u0443",
|
||||
"Queue": "\u041a\u0435\u0437\u0435\u043a",
|
||||
"Shuffle": "\u0410\u0440\u0430\u043b\u0430\u0441\u0442\u044b\u0440\u0443",
|
||||
"Identify": "\u0410\u043d\u044b\u049b\u0442\u0430\u0443",
|
||||
"EditImages": "\u0421\u0443\u0440\u0435\u0442\u0442\u0435\u0440\u0434\u0456 \u04e9\u04a3\u0434\u0435\u0443",
|
||||
"Sync": "\u04ae\u043d\u0434\u0435\u0441\u0442\u0456\u0440\u0443",
|
||||
"InstantMix": "\u041b\u0435\u0437\u0434\u0456\u043a \u049b\u043e\u0441\u043f\u0430",
|
||||
"ViewAlbum": "\u0410\u043b\u044c\u0431\u043e\u043c\u0434\u044b \u049b\u0430\u0440\u0430\u0443",
|
||||
"ViewArtist": "\u041e\u0440\u044b\u043d\u0434\u0430\u0443\u0448\u044b\u043d\u044b \u049b\u0430\u0440\u0430\u0443",
|
||||
"QueueAllFromHere": "\u0411\u04b1\u043b \u0430\u0440\u0430\u0434\u0430\u043d \u0431\u04d9\u0440\u0456\u043d \u043a\u0435\u0437\u0435\u043a\u043a\u0435",
|
||||
"PlayAllFromHere": "\u0411\u04b1\u043b \u0430\u0440\u0430\u0434\u0430\u043d \u0431\u04d9\u0440\u0456\u043d \u043e\u0439\u043d\u0430\u0442\u0443"
|
||||
}
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"EditInfo": "Edit Info",
|
||||
"RemoveFromPlaylist": "Remove from Playlist",
|
||||
"ValueSpecialEpisodeName": "Spesial - {0}",
|
||||
"Share": "Del",
|
||||
"ServerUpdateNeeded": "Denne Emby serveren trenger en oppdatering. For \u00e5 laste ned nyeste versjon, vennligst bes\u00f8k: {0}",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"EditInfo": "Edit Info",
|
||||
"RemoveFromPlaylist": "Remove from Playlist",
|
||||
"ValueSpecialEpisodeName": "Speciaal - {0}",
|
||||
"Share": "Delen",
|
||||
"ServerUpdateNeeded": "Deze Emby Server moet worden bijgewerkt. Om de laatste versie te downloaden, gaat u naar {0}",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"EditInfo": "Edit Info",
|
||||
"RemoveFromPlaylist": "Remove from Playlist",
|
||||
"ValueSpecialEpisodeName": "Especial - {0}",
|
||||
"Share": "Compartilhar",
|
||||
"ServerUpdateNeeded": "Este servidor Emby precisa ser atualizado. Para baixar a \u00faltima vers\u00e3o, por favor visite {0}",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"EditInfo": "Edit Info",
|
||||
"RemoveFromPlaylist": "Remove from Playlist",
|
||||
"ValueSpecialEpisodeName": "Especial - {0}",
|
||||
"Share": "Partilhar",
|
||||
"ServerUpdateNeeded": "Este Servidor Emby precisa ser atualizado. Para fazer download da vers\u00e3o mais recente, por favor visite {0}",
|
||||
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"EditInfo": "Edit Info",
|
||||
"RemoveFromPlaylist": "Remove from Playlist",
|
||||
"ValueSpecialEpisodeName": "\u0421\u043f\u0435\u0446\u044d\u043f\u0438\u0437\u043e\u0434 - {0}",
|
||||
"Share": "\u041f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f",
|
||||
"ServerUpdateNeeded": "\u0414\u0430\u043d\u043d\u044b\u0439 Emby Server \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c. \u0427\u0442\u043e\u0431\u044b \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u0432\u0435\u0440\u0441\u0438\u044e, \u043f\u043e\u0441\u0435\u0442\u0438\u0442\u0435 {0}",
|
||||
@ -92,23 +94,23 @@
|
||||
"HeaderYouSaid": "\u0412\u044b \u0441\u043a\u0430\u0437\u0430\u043b\u0438...",
|
||||
"MessageWeDidntRecognizeCommand": "\u0414\u0430\u043d\u043d\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u043d\u0435 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u043d\u0430.",
|
||||
"MessageIfYouBlockedVoice": "\u0415\u0441\u043b\u0438 \u043e\u0442\u043a\u0430\u0437\u0430\u043d\u043e \u0432 \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u043e\u043c \u0434\u043e\u0441\u0442\u0443\u043f\u0435 \u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044e, \u043f\u0435\u0440\u0435\u0434 \u043d\u043e\u0432\u043e\u0439 \u043f\u043e\u043f\u044b\u0442\u043a\u043e\u0439 \u0432\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430 \u043f\u0435\u0440\u0435\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430.",
|
||||
"ValueDiscNumber": "Disc {0}",
|
||||
"Unrated": "Unrated",
|
||||
"Favorite": "Favorite",
|
||||
"Like": "Like",
|
||||
"Dislike": "Dislike",
|
||||
"Played": "Played",
|
||||
"ValueDiscNumber": "\u0414\u0438\u0441\u043a {0}",
|
||||
"Unrated": "\u0411\u0435\u0437 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438",
|
||||
"Favorite": "\u0418\u0437\u0431\u0440\u0430\u043d\u043d\u043e\u0435",
|
||||
"Like": "\u041d\u0440\u0430\u0432\u0438\u0442\u0441\u044f",
|
||||
"Dislike": "\u041d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f",
|
||||
"Played": "\u0412\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0451\u043d\u043d\u043e\u0435",
|
||||
"RefreshDialogHelp": "\u041f\u043e\u0434\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0442\u0441\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 \u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u043c\u0438 \u0432 \u0438\u043d\u0444\u043e\u043f\u0430\u043d\u0435\u043b\u0438 Emby Server \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u0443\u0441\u043b\u0443\u0433\u0430\u043c\u0438.",
|
||||
"Open": "Open",
|
||||
"Play": "Play",
|
||||
"Queue": "Queue",
|
||||
"Shuffle": "Shuffle",
|
||||
"Identify": "Identify",
|
||||
"EditImages": "Edit Images",
|
||||
"Sync": "Sync",
|
||||
"InstantMix": "Instant Mix",
|
||||
"ViewAlbum": "View Album",
|
||||
"ViewArtist": "View Artist",
|
||||
"QueueAllFromHere": "Queue All from Here",
|
||||
"PlayAllFromHere": "Play All from Here"
|
||||
"Open": "\u041e\u0442\u043a\u0440\u044b\u0442\u044c",
|
||||
"Play": "\u0412\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438",
|
||||
"Queue": "\u041e\u0447\u0435\u0440\u0435\u0434\u044c",
|
||||
"Shuffle": "\u041f\u0435\u0440\u0435\u043c\u0435\u0448\u0430\u0442\u044c",
|
||||
"Identify": "\u0420\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0442\u044c",
|
||||
"EditImages": "\u041f\u0440\u0430\u0432\u0438\u0442\u044c \u0440\u0438\u0441\u0443\u043d\u043a\u0438",
|
||||
"Sync": "\u0421\u0438\u043d\u0445\u0440\u043e",
|
||||
"InstantMix": "\u0410\u0432\u0442\u043e\u043c\u0438\u043a\u0441",
|
||||
"ViewAlbum": "\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0430\u043b\u044c\u0431\u043e\u043c",
|
||||
"ViewArtist": "\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044f",
|
||||
"QueueAllFromHere": "\u0412 \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0432\u0441\u0435 \u043e\u0442\u0441\u044e\u0434\u0430",
|
||||
"PlayAllFromHere": "\u0412\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u0432\u0441\u0435 \u043e\u0442\u0441\u044e\u0434\u0430"
|
||||
}
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"EditInfo": "Edit Info",
|
||||
"RemoveFromPlaylist": "Remove from Playlist",
|
||||
"ValueSpecialEpisodeName": "Specialavsnitt - {0}",
|
||||
"Share": "Dela",
|
||||
"ServerUpdateNeeded": "Den h\u00e4r Emby servern beh\u00f6ver uppdateras. F\u00f6r att ladda ner senaste versionen, g\u00e5 till {0}",
|
||||
@ -92,23 +94,23 @@
|
||||
"HeaderYouSaid": "Du sa...",
|
||||
"MessageWeDidntRecognizeCommand": "Ledsen, men vi k\u00e4nner inte igen det kommandot.",
|
||||
"MessageIfYouBlockedVoice": "Om du nekade tillg\u00e5ng f\u00f6r r\u00f6st\u00e5tkomst till appen s\u00e5 beh\u00f6ver du konfigurera om innan du f\u00f6rs\u00f6ker igen.",
|
||||
"ValueDiscNumber": "Disc {0}",
|
||||
"Unrated": "Unrated",
|
||||
"Favorite": "Favorite",
|
||||
"Like": "Like",
|
||||
"Dislike": "Dislike",
|
||||
"Played": "Played",
|
||||
"ValueDiscNumber": "Skiva {0}",
|
||||
"Unrated": "Ej klassad",
|
||||
"Favorite": "Favorit",
|
||||
"Like": "Gilla",
|
||||
"Dislike": "Ogilla",
|
||||
"Played": "Visad",
|
||||
"RefreshDialogHelp": "Metadata uppdateras baserat p\u00e5 inst\u00e4llningar och internettj\u00e4nster som har aktiverats under Emby servers kontrollpanel.",
|
||||
"Open": "Open",
|
||||
"Play": "Play",
|
||||
"Queue": "Queue",
|
||||
"Shuffle": "Shuffle",
|
||||
"Identify": "Identify",
|
||||
"EditImages": "Edit Images",
|
||||
"Sync": "Sync",
|
||||
"InstantMix": "Instant Mix",
|
||||
"ViewAlbum": "View Album",
|
||||
"ViewArtist": "View Artist",
|
||||
"QueueAllFromHere": "Queue All from Here",
|
||||
"PlayAllFromHere": "Play All from Here"
|
||||
"Open": "\u00d6ppna",
|
||||
"Play": "Spela",
|
||||
"Queue": "K\u00f6a",
|
||||
"Shuffle": "Blanda",
|
||||
"Identify": "Identifiera",
|
||||
"EditImages": "\u00c4ndra bilder",
|
||||
"Sync": "Synk",
|
||||
"InstantMix": "Instant mix",
|
||||
"ViewAlbum": "Bl\u00e4ddra album",
|
||||
"ViewArtist": "Bl\u00e4ddra artist",
|
||||
"QueueAllFromHere": "K\u00f6a alla h\u00e4rifr\u00e5n",
|
||||
"PlayAllFromHere": "Spela upp alla h\u00e4rifr\u00e5n"
|
||||
}
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"EditInfo": "Edit Info",
|
||||
"RemoveFromPlaylist": "Remove from Playlist",
|
||||
"ValueSpecialEpisodeName": "Special - {0}",
|
||||
"Share": "\u5206\u4eab",
|
||||
"ServerUpdateNeeded": "\u6b64Emby\u4f3a\u670d\u5668\u9700\u8981\u66f4\u65b0\uff0c\u8acb\u81f3{0}\u53d6\u5f97\u6700\u65b0\u7248\u672c",
|
||||
|
@ -6,6 +6,6 @@
|
||||
<div class="listTopPaging">
|
||||
</div>
|
||||
</div>
|
||||
<div id="items" class="itemsContainer paddedItemsContainer" style="text-align:center;"></div>
|
||||
<div is="emby-itemscontainer" id="items" class="itemsContainer paddedItemsContainer" style="text-align:center;"></div>
|
||||
</div>
|
||||
</div>
|
@ -10,7 +10,7 @@
|
||||
<div class="pageTabContent ehsContent" id="channelsTab" data-index="1">
|
||||
<div class="viewSettings">
|
||||
</div>
|
||||
<div id="items" class="itemsContainer paddedItemsContainer" style="text-align:center;"></div>
|
||||
<div is="emby-itemscontainer" id="items" class="itemsContainer paddedItemsContainer" style="text-align:center;"></div>
|
||||
</div>
|
||||
|
||||
<div data-role="content">
|
||||
|
@ -1,4 +1,4 @@
|
||||
define(['libraryBrowser', 'scrollStyles'], function (libraryBrowser) {
|
||||
define(['libraryBrowser', 'scrollStyles', 'emby-itemscontainer'], function (libraryBrowser) {
|
||||
|
||||
function enableScrollX() {
|
||||
return browserInfo.mobile && AppInfo.enableAppLayouts;
|
||||
@ -83,9 +83,9 @@
|
||||
html += '</div>';
|
||||
|
||||
if (enableScrollX()) {
|
||||
html += '<div class="itemsContainer hiddenScrollX">';
|
||||
html += '<div is="emby-itemscontainer" class="itemsContainer hiddenScrollX">';
|
||||
} else {
|
||||
html += '<div class="itemsContainer">';
|
||||
html += '<div is="emby-itemscontainer" class="itemsContainer">';
|
||||
}
|
||||
|
||||
html += libraryBrowser.getPosterViewHtml({
|
||||
@ -109,7 +109,6 @@
|
||||
|
||||
elem.innerHTML = html;
|
||||
ImageLoader.lazyChildren(elem);
|
||||
libraryBrowser.createCardMenus(elem);
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -285,6 +285,8 @@
|
||||
item: currentItem,
|
||||
positionTo: button,
|
||||
edit: false,
|
||||
editImages: true,
|
||||
editSubtitles: true,
|
||||
sync: false,
|
||||
share: false
|
||||
|
||||
|
@ -769,9 +769,6 @@
|
||||
});
|
||||
|
||||
Events.on(MediaController, 'playerchange', onPlayerChange);
|
||||
|
||||
libraryBrowser.createCardMenus(context.querySelector('.itemsContainer'));
|
||||
|
||||
}
|
||||
|
||||
function onDialogClosed(e) {
|
||||
|
@ -25,7 +25,7 @@
|
||||
<span>${ButtonSync}</span>
|
||||
</button>
|
||||
</div>
|
||||
<div id="nextUpItems" class="itemsContainer">
|
||||
<div is="emby-itemscontainer" id="nextUpItems" class="itemsContainer">
|
||||
</div>
|
||||
</div>
|
||||
<p class="noNextUpItems hide">${NoNextUpItemsMessage}</p>
|
||||
|
@ -74,14 +74,14 @@
|
||||
<h1>
|
||||
${HeaderNextUp}
|
||||
</h1>
|
||||
<div class="smallItemsContainer nextUpItems"></div>
|
||||
<div is="emby-itemscontainer" class="smallItemsContainer nextUpItems"></div>
|
||||
</div>
|
||||
<div id="childrenCollapsible" class="hide detailSection">
|
||||
<h1 class="childrenSectionHeader">
|
||||
<span id="childrenTitle"></span>
|
||||
</h1>
|
||||
<div id="childrenContent">
|
||||
<div is="emby-itemscontainer" class="childrenItemsContainer itemsContainer noautoinit" style="text-align:left;"></div>
|
||||
<div is="emby-itemscontainer" class="childrenItemsContainer itemsContainer" style="text-align:left;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="additionalPartsCollapsible" class="detailSection hide">
|
||||
|
@ -12,12 +12,12 @@
|
||||
<div class="is-active pageTabContent ehsContent" id="suggestionsTab" data-index="0">
|
||||
<div id="activePrograms" class="homePageSection">
|
||||
<h1 class="listHeader">${HeaderWhatsOnTV}</h1>
|
||||
<div class="activeProgramItems itemsContainer noautoinit"></div>
|
||||
<div is="emby-itemscontainer" class="activeProgramItems itemsContainer"></div>
|
||||
<br />
|
||||
</div>
|
||||
<div id="upcomingPrograms" class="homePageSection" style="margin-top: 1em;">
|
||||
<h1 class="listHeader">${HeaderUpcomingPrograms}</h1>
|
||||
<div class="upcomingProgramItems itemsContainer noautoinit"></div>
|
||||
<div is="emby-itemscontainer" class="upcomingProgramItems itemsContainer"></div>
|
||||
<br />
|
||||
</div>
|
||||
<div id="upcomingTvMovies" class="homePageSection" style="margin-top: 1em;">
|
||||
@ -25,7 +25,7 @@
|
||||
<h1 class="listHeader" style="display: inline-block; vertical-align: middle;">${HeaderUpcomingMovies}</h1>
|
||||
<a href="livetvitems.html?type=movies" class="clearLink" style="margin-left: 1em; vertical-align: middle;"><button is="emby-button" type="button" class="raised more mini noIcon">${ButtonMoreItems}</button></a>
|
||||
</div>
|
||||
<div class="upcomingTvMovieItems itemsContainer noautoinit"></div>
|
||||
<div is="emby-itemscontainer" class="upcomingTvMovieItems itemsContainer"></div>
|
||||
<br />
|
||||
</div>
|
||||
<div id="upcomingSports" class="homePageSection" style="margin-top: 1em;">
|
||||
@ -33,7 +33,7 @@
|
||||
<h1 class="listHeader" style="display: inline-block; vertical-align: middle;">${HeaderUpcomingSports}</h1>
|
||||
<a href="livetvitems.html?type=sports" class="clearLink" style="margin-left: 1em; vertical-align: middle;"><button is="emby-button" type="button" class="raised more mini noIcon">${ButtonMoreItems}</button></a>
|
||||
</div>
|
||||
<div class="upcomingSportsItems itemsContainer noautoinit"></div>
|
||||
<div is="emby-itemscontainer" class="upcomingSportsItems itemsContainer"></div>
|
||||
<br />
|
||||
</div>
|
||||
<div id="upcomingKids" class="homePageSection" style="margin-top: 1em;">
|
||||
@ -41,7 +41,7 @@
|
||||
<h1 class="listHeader" style="display: inline-block; vertical-align: middle;">${HeaderUpcomingForKids}</h1>
|
||||
<a href="livetvitems.html?type=kids" class="clearLink" style="margin-left: 1em; vertical-align: middle;"><button is="emby-button" type="button" class="raised more mini noIcon">${ButtonMoreItems}</button></a>
|
||||
</div>
|
||||
<div class="upcomingKidsItems itemsContainer noautoinit"></div>
|
||||
<div is="emby-itemscontainer" class="upcomingKidsItems itemsContainer"></div>
|
||||
<br />
|
||||
</div>
|
||||
</div>
|
||||
@ -52,12 +52,12 @@
|
||||
<div class="paging"></div>
|
||||
<button is="paper-icon-button-light" class="btnFilter autoSize" title="${ButtonFilter}"><i class="md-icon">filter_list</i></button>
|
||||
</div>
|
||||
<div id="items" class="itemsContainer"></div>
|
||||
<div is="emby-itemscontainer" id="items" class="itemsContainer"></div>
|
||||
</div>
|
||||
<div class="pageTabContent ehsContent" id="recordingsTab" data-index="3">
|
||||
<div id="activeRecordings" class="homePageSection hide">
|
||||
<h1 class="listHeader">${HeaderActiveRecordings}</h1>
|
||||
<div class="recordingItems itemsContainer"></div>
|
||||
<div is="emby-itemscontainer" class="recordingItems itemsContainer"></div>
|
||||
<br />
|
||||
</div>
|
||||
<div id="latestRecordings" class="homePageSection hide">
|
||||
@ -68,7 +68,7 @@
|
||||
<span>${ButtonSync}</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="recordingItems itemsContainer"></div>
|
||||
<div is="emby-itemscontainer" class="recordingItems itemsContainer"></div>
|
||||
<br />
|
||||
</div>
|
||||
<div id="upcomingRecordings" class="homePageSection hide">
|
||||
|
@ -4,7 +4,7 @@
|
||||
<div class="viewSettings">
|
||||
<div class="listTopPaging"></div>
|
||||
</div>
|
||||
<div id="items" class="itemsContainer paddedItemsContainer"></div>
|
||||
<div is="emby-itemscontainer" id="items" class="itemsContainer paddedItemsContainer"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
@ -20,7 +20,7 @@
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div id="resumableItems" class="itemsContainer noautoinit">
|
||||
<div is="emby-itemscontainer" id="resumableItems" class="itemsContainer">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -33,7 +33,7 @@
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div id="recentlyAddedItems" class="itemsContainer noautoinit">
|
||||
<div is="emby-itemscontainer" id="recentlyAddedItems" class="itemsContainer">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -98,14 +98,14 @@
|
||||
<div style="text-align: center; display: flex; align-items: center; justify-content: center;">
|
||||
<button is="paper-icon-button-light" class="btnSelectView autoSize" title="${ButtonSelectView}"><i class="md-icon">view_comfy</i></button>
|
||||
</div>
|
||||
<div id="items" class="itemsContainer paddedItemsContainer"></div>
|
||||
<div is="emby-itemscontainer" id="items" class="itemsContainer paddedItemsContainer"></div>
|
||||
</div>
|
||||
<div class="pageTabContent ehsContent" id="studiosTab" data-index="5">
|
||||
<div class="viewSettings">
|
||||
<div class="listTopPaging">
|
||||
</div>
|
||||
</div>
|
||||
<div id="items" class="itemsContainer paddedItemsContainer" style="text-align: center;"></div>
|
||||
<div is="emby-itemscontainer" id="items" class="itemsContainer paddedItemsContainer" style="text-align: center;"></div>
|
||||
</div>
|
||||
|
||||
<div data-role="content">
|
||||
|
@ -15,28 +15,28 @@
|
||||
<div class="homePageSection">
|
||||
<h1 class="listHeader">${HeaderLatestMusic}</h1>
|
||||
|
||||
<div id="recentlyAddedSongs" class="itemsContainer noautoinit" style="text-align:left;">
|
||||
<div is="emby-itemscontainer" id="recentlyAddedSongs" class="itemsContainer" style="text-align:left;">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="playlists" class="homePageSection hide">
|
||||
<h1 class="listHeader">${HeaderPlaylists}</h1>
|
||||
|
||||
<div class="itemsContainer noautoinit" style="text-align:left;">
|
||||
<div is="emby-itemscontainer" class="itemsContainer" style="text-align:left;">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="recentlyPlayed" class="homePageSection hide">
|
||||
<h1 class="listHeader">${HeaderRecentlyPlayed}</h1>
|
||||
|
||||
<div id="recentlyPlayedSongs" class="itemsContainer noautoinit" style="text-align:left;">
|
||||
<div is="emby-itemscontainer" id="recentlyPlayedSongs" class="itemsContainer" style="text-align:left;">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="topPlayed" class="homePageSection hide">
|
||||
<h1 class="listHeader">${HeaderFrequentlyPlayed}</h1>
|
||||
|
||||
<div id="topPlayedSongs" class="itemsContainer noautoinit" style="text-align: left;">
|
||||
<div is="emby-itemscontainer" id="topPlayedSongs" class="itemsContainer" style="text-align: left;">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -108,14 +108,14 @@
|
||||
<div style="text-align: center; display: flex; align-items: center; justify-content: center;">
|
||||
<button is="paper-icon-button-light" class="btnSelectView autoSize" title="${ButtonSelectView}"><i class="md-icon">view_comfy</i></button>
|
||||
</div>
|
||||
<div id="items" class="itemsContainer paddedItemsContainer"></div>
|
||||
<div is="emby-itemscontainer" id="items" class="itemsContainer paddedItemsContainer"></div>
|
||||
</div>
|
||||
<div class="pageTabContent pageTabContent ehsContent" id="foldersTab" data-index="6">
|
||||
<div style="text-align: center; display: flex; flex-wrap: wrap; align-items: center; justify-content: center;padding:.7em .5em;">
|
||||
<div class="paging"></div>
|
||||
</div>
|
||||
|
||||
<div class="itemsContainer itemsContainerWithAlphaPicker">
|
||||
<div is="emby-itemscontainer" class="itemsContainer itemsContainerWithAlphaPicker">
|
||||
</div>
|
||||
<div style="text-align: center; display: flex; flex-wrap: wrap; align-items: center; justify-content: center;padding:.7em .5em;">
|
||||
<div class="paging"></div>
|
||||
|
@ -1,4 +1,4 @@
|
||||
define(['jQuery'], function ($) {
|
||||
define(['jQuery', 'emby-itemscontainer'], function ($) {
|
||||
|
||||
var data = {};
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
define(['libraryBrowser'], function (libraryBrowser) {
|
||||
define(['libraryBrowser', 'emby-itemscontainer'], function (libraryBrowser) {
|
||||
|
||||
// The base query options
|
||||
var query = {
|
||||
|
@ -1,4 +1,4 @@
|
||||
define([], function () {
|
||||
define(['emby-itemscontainer'], function () {
|
||||
|
||||
function getNextUpPromise() {
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
define(['datetime', 'scrollStyles'], function (datetime) {
|
||||
define(['datetime', 'emby-itemscontainer', 'scrollStyles'], function (datetime) {
|
||||
|
||||
function getUpcomingPromise() {
|
||||
|
||||
@ -100,9 +100,9 @@
|
||||
html += '<h1 class="listHeader">' + group.name + '</h1>';
|
||||
|
||||
if (enableScrollX()) {
|
||||
html += '<div class="itemsContainer hiddenScrollX">';
|
||||
html += '<div is="emby-itemscontainer" class="itemsContainer hiddenScrollX">';
|
||||
} else {
|
||||
html += '<div class="itemsContainer">';
|
||||
html += '<div is="emby-itemscontainer" class="itemsContainer">';
|
||||
}
|
||||
|
||||
html += LibraryBrowser.getPosterViewHtml({
|
||||
@ -124,7 +124,6 @@
|
||||
}
|
||||
|
||||
elem.innerHTML = html;
|
||||
LibraryBrowser.createCardMenus(elem);
|
||||
ImageLoader.lazyChildren(elem);
|
||||
}
|
||||
return function (view, params, tabContent) {
|
||||
|
@ -256,7 +256,6 @@
|
||||
var itemsContainer = element.querySelector('.itemsContainer');
|
||||
itemsContainer.innerHTML = html;
|
||||
|
||||
LibraryBrowser.createCardMenus(itemsContainer);
|
||||
ImageLoader.lazyChildren(itemsContainer);
|
||||
});
|
||||
}
|
||||
|
@ -345,7 +345,6 @@
|
||||
|
||||
itemsContainer.innerHTML = html;
|
||||
ImageLoader.lazyChildren(itemsContainer);
|
||||
LibraryBrowser.createCardMenus(itemsContainer);
|
||||
});
|
||||
}
|
||||
|
||||
@ -765,9 +764,9 @@
|
||||
var html = '';
|
||||
|
||||
if (enableScrollX()) {
|
||||
html += '<div class="hiddenScrollX itemsContainer">';
|
||||
html += '<div is="emby-itemscontainer" class="hiddenScrollX itemsContainer">';
|
||||
} else {
|
||||
html += '<div class="itemsContainer">';
|
||||
html += '<div is="emby-itemscontainer" class="itemsContainer">';
|
||||
}
|
||||
html += LibraryBrowser.getPosterViewHtml({
|
||||
items: result.Items,
|
||||
@ -787,7 +786,6 @@
|
||||
var similarContent = page.querySelector('#similarContent');
|
||||
similarContent.innerHTML = html;
|
||||
ImageLoader.lazyChildren(similarContent);
|
||||
LibraryBrowser.createCardMenus(similarContent);
|
||||
});
|
||||
}
|
||||
|
||||
@ -1006,8 +1004,6 @@
|
||||
elem.classList.remove('hiddenScrollX');
|
||||
}
|
||||
|
||||
LibraryBrowser.createCardMenus(elem);
|
||||
|
||||
if (item.Type == "BoxSet") {
|
||||
|
||||
var collectionItemTypes = [
|
||||
@ -1112,11 +1108,6 @@
|
||||
if (!items.length) {
|
||||
renderCollectionItemType(page, parentItem, { name: Globalize.translate('HeaderItems') }, items);
|
||||
}
|
||||
|
||||
var containers = page.querySelectorAll('.collectionItems .itemsContainer');
|
||||
for (i = 0, length = containers.length; i < length; i++) {
|
||||
LibraryBrowser.createCardMenus(containers[i]);
|
||||
}
|
||||
}
|
||||
|
||||
function renderCollectionItemType(page, parentItem, type, items) {
|
||||
|
@ -903,7 +903,7 @@
|
||||
|
||||
atts.push({
|
||||
name: 'serverid',
|
||||
value: item.ServerId
|
||||
value: item.ServerId || options.serverId
|
||||
});
|
||||
|
||||
atts.push({
|
||||
@ -1546,7 +1546,7 @@
|
||||
anchorCssClass += ' mediaItem';
|
||||
|
||||
if (options.defaultAction) {
|
||||
anchorCssClass += ' itemWithAction';
|
||||
anchorCssClass += ' itemAction';
|
||||
}
|
||||
|
||||
var transition = options.transition === false || !AppInfo.enableSectionTransitions ? '' : ' data-transition="slide"';
|
||||
|
@ -216,45 +216,6 @@
|
||||
return false;
|
||||
}
|
||||
|
||||
function onContextMenu(e) {
|
||||
|
||||
var card = parentWithClass(e.target, 'card');
|
||||
|
||||
if (card) {
|
||||
var itemSelectionPanel = card.querySelector('.itemSelectionPanel');
|
||||
|
||||
if (!itemSelectionPanel) {
|
||||
showContextMenu(card, {});
|
||||
}
|
||||
|
||||
e.preventDefault();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function deleteTimer(id, itemsContainer) {
|
||||
|
||||
require(['confirm'], function (confirm) {
|
||||
|
||||
confirm(Globalize.translate('MessageConfirmRecordingCancellation'), Globalize.translate('HeaderConfirmRecordingCancellation')).then(function () {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
ApiClient.cancelLiveTvTimer(id).then(function () {
|
||||
|
||||
require(['toast'], function (toast) {
|
||||
toast(Globalize.translate('MessageRecordingCancelled'));
|
||||
});
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
itemsContainer.dispatchEvent(new CustomEvent('timercancelled', {
|
||||
bubbles: true
|
||||
}));
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function showContextMenu(card, options) {
|
||||
|
||||
var displayContextItem = card;
|
||||
@ -525,14 +486,7 @@
|
||||
curr.removeEventListener('click', onCardClick);
|
||||
curr.addEventListener('click', onCardClick);
|
||||
|
||||
if (AppInfo.isTouchPreferred) {
|
||||
|
||||
curr.removeEventListener('contextmenu', disableEvent);
|
||||
curr.addEventListener('contextmenu', disableEvent);
|
||||
}
|
||||
else {
|
||||
curr.removeEventListener('contextmenu', onContextMenu);
|
||||
curr.addEventListener('contextmenu', onContextMenu);
|
||||
if (!AppInfo.isTouchPreferred) {
|
||||
|
||||
curr.removeEventListener('mouseenter', onHoverIn);
|
||||
curr.addEventListener('mouseenter', onHoverIn, true);
|
||||
@ -544,7 +498,7 @@
|
||||
curr.addEventListener("touchstart", preventTouchHover);
|
||||
}
|
||||
|
||||
initTapHoldMenus(curr);
|
||||
//initTapHoldMenus(curr);
|
||||
};
|
||||
|
||||
function initTapHoldMenus(elem) {
|
||||
@ -616,12 +570,6 @@
|
||||
});
|
||||
}
|
||||
|
||||
function disableEvent(e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
return false;
|
||||
}
|
||||
|
||||
function onTapHold(e) {
|
||||
|
||||
var card = parentWithClass(e.target, 'card');
|
||||
@ -989,80 +937,6 @@
|
||||
});
|
||||
}
|
||||
|
||||
function onItemWithActionClick(e) {
|
||||
|
||||
var elem = parentWithClass(e.target, 'itemWithAction');
|
||||
|
||||
if (!elem) {
|
||||
return;
|
||||
}
|
||||
|
||||
var action = elem.getAttribute('data-action');
|
||||
var elemWithAttributes = elem;
|
||||
|
||||
if (action) {
|
||||
while (!elemWithAttributes.getAttribute('data-itemid')) {
|
||||
elemWithAttributes = elemWithAttributes.parentNode;
|
||||
}
|
||||
}
|
||||
|
||||
var index;
|
||||
var itemsContainer;
|
||||
|
||||
var itemId = elemWithAttributes.getAttribute('data-itemid');
|
||||
|
||||
if (action == 'play') {
|
||||
MediaController.play(itemId);
|
||||
}
|
||||
else if (action == 'playallfromhere') {
|
||||
|
||||
index = elemWithAttributes.getAttribute('data-index');
|
||||
|
||||
itemsContainer = parentWithClass(elem, 'itemsContainer');
|
||||
|
||||
playAllFromHere(index, itemsContainer, 'play');
|
||||
}
|
||||
else if (action == 'instantmix') {
|
||||
|
||||
MediaController.instantMix(itemId);
|
||||
}
|
||||
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
return false;
|
||||
}
|
||||
|
||||
function playAllFromHere(index, itemsContainer, method) {
|
||||
|
||||
var ids = [];
|
||||
|
||||
var mediaItems = itemsContainer.querySelectorAll('.mediaItem');
|
||||
for (var i = 0, length = mediaItems.length; i < length; i++) {
|
||||
var node = mediaItems[i];
|
||||
var id = node.getAttribute('data-itemid');
|
||||
while (!id) {
|
||||
node = node.parentNode;
|
||||
id = node.getAttribute('data-itemid');
|
||||
}
|
||||
ids.push(id);
|
||||
}
|
||||
|
||||
ids = ids.slice(index);
|
||||
|
||||
ApiClient.getItems(Dashboard.getCurrentUserId(), {
|
||||
|
||||
Ids: ids.join(','),
|
||||
Fields: 'MediaSources,Chapters',
|
||||
Limit: 100
|
||||
|
||||
}).then(function (result) {
|
||||
|
||||
MediaController[method]({
|
||||
items: result.Items
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function showSyncButtonsPerUser(page) {
|
||||
|
||||
var apiClient = window.ApiClient;
|
||||
@ -1106,16 +980,8 @@
|
||||
|
||||
var page = this;
|
||||
|
||||
page.addEventListener('click', onItemWithActionClick);
|
||||
|
||||
var itemsContainers = page.querySelectorAll('.itemsContainer:not(.noautoinit)');
|
||||
var i, length;
|
||||
for (i = 0, length = itemsContainers.length; i < length; i++) {
|
||||
LibraryBrowser.createCardMenus(itemsContainers[i]);
|
||||
}
|
||||
|
||||
var categorySyncButtons = page.querySelectorAll('.categorySyncButton');
|
||||
for (i = 0, length = categorySyncButtons.length; i < length; i++) {
|
||||
for (var i = 0, length = categorySyncButtons.length; i < length; i++) {
|
||||
categorySyncButtons[i].addEventListener('click', onCategorySyncButtonClick);
|
||||
}
|
||||
});
|
||||
|
@ -1,4 +1,4 @@
|
||||
define([], function () {
|
||||
define(['emby-itemscontainer'], function () {
|
||||
|
||||
return function (view, params, tabContent) {
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
define([], function () {
|
||||
define(['emby-itemscontainer'], function () {
|
||||
|
||||
var view = LibraryBrowser.getDefaultItemsView('Poster', 'Poster');
|
||||
|
||||
|
@ -149,7 +149,6 @@
|
||||
elem.querySelector('.recordingItems').innerHTML = html;
|
||||
|
||||
ImageLoader.lazyChildren(elem);
|
||||
LibraryBrowser.createCardMenus(elem);
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
define(['libraryBrowser', 'scrollStyles'], function (libraryBrowser) {
|
||||
define(['libraryBrowser', 'scrollStyles', 'emby-itemscontainer'], function (libraryBrowser) {
|
||||
|
||||
function enableScrollX() {
|
||||
return browserInfo.mobile && AppInfo.enableAppLayouts;
|
||||
@ -133,7 +133,6 @@
|
||||
} else {
|
||||
containers[i].classList.remove('hiddenScrollX');
|
||||
}
|
||||
LibraryBrowser.createCardMenus(containers[i]);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
define(['libraryBrowser', 'scrollStyles'], function (libraryBrowser) {
|
||||
define(['libraryBrowser', 'scrollStyles', 'emby-itemscontainer'], function (libraryBrowser) {
|
||||
|
||||
function getView() {
|
||||
|
||||
@ -167,9 +167,9 @@
|
||||
html += '<h1 class="listHeader">' + title + '</h1>';
|
||||
|
||||
if (enableScrollX()) {
|
||||
html += '<div class="hiddenScrollX">';
|
||||
html += '<div is="emby-itemscontainer" class="hiddenScrollX">';
|
||||
} else {
|
||||
html += '<div>';
|
||||
html += '<div is="emby-itemscontainer">';
|
||||
}
|
||||
|
||||
var view = getView();
|
||||
@ -247,8 +247,6 @@
|
||||
} else {
|
||||
containers[i].classList.remove('hiddenScrollX');
|
||||
}
|
||||
|
||||
libraryBrowser.createCardMenus(containers[i]);
|
||||
}
|
||||
}
|
||||
|
||||
@ -281,8 +279,6 @@
|
||||
loadSuggestionsTab(view, params, tabContent);
|
||||
};
|
||||
|
||||
libraryBrowser.createCardMenus(view.querySelector('.recommendations'));
|
||||
|
||||
var mdlTabs = view.querySelector('.libraryViewNav');
|
||||
|
||||
var baseUrl = 'movies.html';
|
||||
|
@ -1,4 +1,4 @@
|
||||
define(['libraryBrowser', 'scrollStyles'], function (libraryBrowser) {
|
||||
define(['libraryBrowser', 'scrollStyles', 'emby-itemscontainer'], function (libraryBrowser) {
|
||||
|
||||
function itemsPerRow() {
|
||||
|
||||
@ -258,8 +258,6 @@
|
||||
} else {
|
||||
containers[i].classList.remove('hiddenScrollX');
|
||||
}
|
||||
|
||||
LibraryBrowser.createCardMenus(containers[i]);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -93,7 +93,6 @@
|
||||
});
|
||||
});
|
||||
ImageLoader.lazyChildren(elem);
|
||||
LibraryBrowser.createCardMenus(elem);
|
||||
|
||||
$('.btnNextPage', elem).on('click', function () {
|
||||
query.StartIndex += query.Limit;
|
||||
|
@ -1,4 +1,4 @@
|
||||
define(['libraryBrowser', 'focusManager', 'embyRouter', 'emby-input', 'paper-icon-button-light', 'material-icons'], function (libraryBrowser, focusManager, embyRouter) {
|
||||
define(['libraryBrowser', 'focusManager', 'embyRouter', 'emby-input', 'paper-icon-button-light', 'material-icons', 'emby-itemscontainer'], function (libraryBrowser, focusManager, embyRouter) {
|
||||
|
||||
function loadSuggestions(page) {
|
||||
|
||||
@ -121,7 +121,8 @@
|
||||
centerImage: true,
|
||||
centerText: true,
|
||||
textLines: getAdditionalTextLines,
|
||||
overlayPlayButton: true
|
||||
overlayPlayButton: true,
|
||||
serverId: ApiClient.serverInfo().Id
|
||||
});
|
||||
|
||||
var itemsContainer = searchResults;
|
||||
@ -176,8 +177,6 @@
|
||||
loadSuggestions(view);
|
||||
}
|
||||
|
||||
libraryBrowser.createCardMenus(searchResults);
|
||||
|
||||
view.querySelector('.txtSearch').addEventListener('input', function () {
|
||||
onSearchChange(this.value);
|
||||
});
|
||||
|
@ -1,4 +1,4 @@
|
||||
define(['libraryBrowser', 'appSettings', 'scrollStyles', 'emby-button', 'paper-icon-button-light'], function (LibraryBrowser, appSettings) {
|
||||
define(['libraryBrowser', 'appSettings', 'scrollStyles', 'emby-button', 'paper-icon-button-light', 'emby-itemscontainer'], function (LibraryBrowser, appSettings) {
|
||||
|
||||
function getUserViews(userId) {
|
||||
|
||||
@ -302,7 +302,7 @@
|
||||
|
||||
html += '</div>';
|
||||
|
||||
html += '<div class="itemsContainer">';
|
||||
html += '<div is="emby-itemscontainer" class="itemsContainer">';
|
||||
|
||||
html += LibraryBrowser.getPosterViewHtml({
|
||||
items: items,
|
||||
@ -322,8 +322,6 @@
|
||||
|
||||
elem.innerHTML = html;
|
||||
ImageLoader.lazyChildren(elem);
|
||||
|
||||
LibraryBrowser.createCardMenus(elem);
|
||||
});
|
||||
}
|
||||
|
||||
@ -347,9 +345,9 @@
|
||||
if (items.length) {
|
||||
html += '<h1 class="listHeader">' + Globalize.translate('HeaderLatestMovies') + '</h1>';
|
||||
if (scrollX) {
|
||||
html += '<div class="hiddenScrollX itemsContainer">';
|
||||
html += '<div is="emby-itemscontainer" class="hiddenScrollX itemsContainer">';
|
||||
} else {
|
||||
html += '<div class="itemsContainer">';
|
||||
html += '<div is="emby-itemscontainer" class="itemsContainer">';
|
||||
}
|
||||
html += LibraryBrowser.getPosterViewHtml({
|
||||
items: items,
|
||||
@ -366,8 +364,6 @@
|
||||
|
||||
elem.innerHTML = html;
|
||||
ImageLoader.lazyChildren(elem);
|
||||
|
||||
LibraryBrowser.createCardMenus(elem);
|
||||
});
|
||||
}
|
||||
|
||||
@ -391,9 +387,9 @@
|
||||
if (items.length) {
|
||||
html += '<h1 class="listHeader">' + Globalize.translate('HeaderLatestEpisodes') + '</h1>';
|
||||
if (scrollX) {
|
||||
html += '<div class="hiddenScrollX itemsContainer">';
|
||||
html += '<div is="emby-itemscontainer" class="hiddenScrollX itemsContainer">';
|
||||
} else {
|
||||
html += '<div class="itemsContainer">';
|
||||
html += '<div is="emby-itemscontainer" class="itemsContainer">';
|
||||
}
|
||||
|
||||
html += LibraryBrowser.getPosterViewHtml({
|
||||
@ -411,8 +407,6 @@
|
||||
|
||||
elem.innerHTML = html;
|
||||
ImageLoader.lazyChildren(elem);
|
||||
|
||||
LibraryBrowser.createCardMenus(elem);
|
||||
});
|
||||
}
|
||||
|
||||
@ -434,7 +428,7 @@
|
||||
|
||||
if (result.Items.length) {
|
||||
html += '<h1 class="listHeader">' + Globalize.translate('HeaderLatestChannelMedia') + '</h1>';
|
||||
html += '<div class="itemsContainer">';
|
||||
html += '<div is="emby-itemscontainer" class="itemsContainer">';
|
||||
html += LibraryBrowser.getPosterViewHtml({
|
||||
items: result.Items,
|
||||
shape: 'auto',
|
||||
@ -449,8 +443,6 @@
|
||||
|
||||
elem.innerHTML = html;
|
||||
ImageLoader.lazyChildren(elem);
|
||||
|
||||
LibraryBrowser.createCardMenus(elem);
|
||||
});
|
||||
}
|
||||
|
||||
@ -478,9 +470,9 @@
|
||||
var scrollX = enableScrollX() && browserInfo.safari && screenWidth > 800;
|
||||
|
||||
if (scrollX) {
|
||||
html += '<div class="hiddenScrollX itemsContainer homeTopViews">';
|
||||
html += '<div is="emby-itemscontainer" class="hiddenScrollX itemsContainer homeTopViews">';
|
||||
} else {
|
||||
html += '<div class="itemsContainer homeTopViews">';
|
||||
html += '<div is="emby-itemscontainer" class="itemsContainer homeTopViews">';
|
||||
}
|
||||
html += LibraryBrowser.getPosterViewHtml({
|
||||
items: items,
|
||||
@ -506,8 +498,6 @@
|
||||
|
||||
elem.innerHTML = html + infoHtml;
|
||||
ImageLoader.lazyChildren(elem);
|
||||
|
||||
LibraryBrowser.createCardMenus(elem, { showDetailsMenu: false });
|
||||
});
|
||||
});
|
||||
}
|
||||
@ -539,9 +529,9 @@
|
||||
if (result.Items.length) {
|
||||
html += '<h1 class="listHeader">' + Globalize.translate('HeaderResume') + '</h1>';
|
||||
if (enableScrollX()) {
|
||||
html += '<div class="hiddenScrollX itemsContainer">';
|
||||
html += '<div is="emby-itemscontainer" class="hiddenScrollX itemsContainer">';
|
||||
} else {
|
||||
html += '<div class="itemsContainer">';
|
||||
html += '<div is="emby-itemscontainer" class="itemsContainer">';
|
||||
}
|
||||
html += LibraryBrowser.getPosterViewHtml({
|
||||
items: result.Items,
|
||||
@ -562,7 +552,6 @@
|
||||
elem.innerHTML = html;
|
||||
|
||||
ImageLoader.lazyChildren(elem);
|
||||
LibraryBrowser.createCardMenus(elem);
|
||||
});
|
||||
}
|
||||
|
||||
@ -584,9 +573,9 @@
|
||||
if (result.Items.length) {
|
||||
html += '<h1 class="listHeader">' + Globalize.translate('HeaderNextUp') + '</h1>';
|
||||
if (enableScrollX()) {
|
||||
html += '<div class="hiddenScrollX itemsContainer">';
|
||||
html += '<div is="emby-itemscontainer" class="hiddenScrollX itemsContainer">';
|
||||
} else {
|
||||
html += '<div class="itemsContainer">';
|
||||
html += '<div is="emby-itemscontainer" class="itemsContainer">';
|
||||
}
|
||||
html += LibraryBrowser.getPosterViewHtml({
|
||||
items: result.Items,
|
||||
@ -606,7 +595,6 @@
|
||||
elem.innerHTML = html;
|
||||
|
||||
ImageLoader.lazyChildren(elem);
|
||||
LibraryBrowser.createCardMenus(elem);
|
||||
});
|
||||
}
|
||||
|
||||
@ -667,7 +655,7 @@
|
||||
html += '<a href="channelitems.html?id=' + channel.Id + '" class="clearLink" style="margin-left:2em;"><button is="emby-button" type="button" class="raised more mini"><span>' + Globalize.translate('ButtonMore') + '</span></button></a>';
|
||||
html += '</div>';
|
||||
|
||||
html += '<div class="itemsContainer">';
|
||||
html += '<div is="emby-itemscontainer" is="emby-itemscontainer" class="itemsContainer">';
|
||||
html += LibraryBrowser.getPosterViewHtml({
|
||||
items: result.Items,
|
||||
shape: 'autohome',
|
||||
@ -685,8 +673,6 @@
|
||||
var elem = page.querySelector('#channel' + channel.Id + '');
|
||||
elem.innerHTML = html;
|
||||
ImageLoader.lazyChildren(elem);
|
||||
|
||||
LibraryBrowser.createCardMenus(elem);
|
||||
});
|
||||
}
|
||||
|
||||
@ -715,9 +701,9 @@
|
||||
}
|
||||
|
||||
if (enableScrollX()) {
|
||||
html += '<div class="hiddenScrollX itemsContainer">';
|
||||
html += '<div is="emby-itemscontainer" class="hiddenScrollX itemsContainer">';
|
||||
} else {
|
||||
html += '<div class="itemsContainer">';
|
||||
html += '<div is="emby-itemscontainer" class="itemsContainer">';
|
||||
}
|
||||
html += LibraryBrowser.getPosterViewHtml({
|
||||
items: result.Items,
|
||||
@ -734,7 +720,6 @@
|
||||
|
||||
elem.innerHTML = html;
|
||||
ImageLoader.lazyChildren(elem);
|
||||
LibraryBrowser.createCardMenus(elem);
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -2035,6 +2035,9 @@ var AppInfo = {};
|
||||
},
|
||||
canPlay: function (item) {
|
||||
return MediaController.canPlay(item);
|
||||
},
|
||||
instantMix: function (item) {
|
||||
return MediaController.instantMix(item);
|
||||
}
|
||||
};
|
||||
});
|
||||
@ -2287,7 +2290,7 @@ var AppInfo = {};
|
||||
|
||||
var baseUrl = 'bower_components/emby-webcomponents/strings/';
|
||||
|
||||
var languages = ['da', 'de', 'en-US', 'es-MX', 'kk', 'nb', 'nl', 'pt-BR', 'pt-PT', 'ru', 'sv', 'zh-TW'];
|
||||
var languages = ['da', 'de', 'en-US', 'es-MX', 'fr', 'kk', 'nb', 'nl', 'pt-BR', 'pt-PT', 'ru', 'sv', 'zh-TW'];
|
||||
|
||||
var translations = languages.map(function (i) {
|
||||
return {
|
||||
@ -3248,7 +3251,7 @@ var AppInfo = {};
|
||||
}
|
||||
|
||||
function upgradeLayouts() {
|
||||
if (!AppInfo.enableAppLayouts && browserInfo.mobile) {
|
||||
if (!AppInfo.enableAppLayouts) {
|
||||
Dashboard.getPluginSecurityInfo().then(function (info) {
|
||||
if (info.IsMBSupporter) {
|
||||
AppInfo.enableAppLayouts = true;
|
||||
|
@ -1,4 +1,4 @@
|
||||
define(['libraryBrowser', 'scrollStyles'], function (libraryBrowser) {
|
||||
define(['libraryBrowser', 'scrollStyles', 'emby-itemscontainer'], function (libraryBrowser) {
|
||||
|
||||
return function (view, params) {
|
||||
|
||||
@ -165,7 +165,6 @@
|
||||
} else {
|
||||
tabContent.querySelector('#resumableItems').classList.remove('hiddenScrollX');
|
||||
}
|
||||
libraryBrowser.createCardMenus(tabContent.querySelector('#resumableItems'));
|
||||
};
|
||||
|
||||
self.renderTab = function () {
|
||||
@ -273,7 +272,6 @@
|
||||
} else {
|
||||
view.querySelector('#resumableItems').classList.remove('hiddenScrollX');
|
||||
}
|
||||
libraryBrowser.createCardMenus(view.querySelector('#resumableItems'));
|
||||
libraryBrowser.configurePaperLibraryTabs(view, mdlTabs, view.querySelectorAll('.pageTabContent'), [0, 1, 2, 4, 5, 6]);
|
||||
|
||||
mdlTabs.addEventListener('beforetabchange', function (e) {
|
||||
|
@ -1,4 +1,4 @@
|
||||
define(['datetime', 'scrollStyles'], function (datetime) {
|
||||
define(['datetime', 'scrollStyles', 'emby-itemscontainer'], function (datetime) {
|
||||
|
||||
function getUpcomingPromise(context, params) {
|
||||
|
||||
@ -102,9 +102,9 @@
|
||||
html += '<h1 class="listHeader">' + group.name + '</h1>';
|
||||
|
||||
if (enableScrollX()) {
|
||||
html += '<div class="itemsContainer hiddenScrollX">';
|
||||
html += '<div is="emby-itemscontainer" class="itemsContainer hiddenScrollX">';
|
||||
} else {
|
||||
html += '<div class="itemsContainer">';
|
||||
html += '<div is="emby-itemscontainer" class="itemsContainer">';
|
||||
}
|
||||
|
||||
html += LibraryBrowser.getPosterViewHtml({
|
||||
@ -125,7 +125,6 @@
|
||||
}
|
||||
|
||||
elem.innerHTML = html;
|
||||
LibraryBrowser.createCardMenus(elem);
|
||||
ImageLoader.lazyChildren(elem);
|
||||
}
|
||||
return function (view, params, tabContent) {
|
||||
|
@ -43,6 +43,6 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="searchResults hide itemsContainer"></div>
|
||||
<div is="emby-itemscontainer" class="searchResults hide itemsContainer"></div>
|
||||
</div>
|
||||
</div>
|
@ -22,7 +22,7 @@
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div id="resumableItems" class="itemsContainer noautoinit">
|
||||
<div is="emby-itemscontainer" id="resumableItems" class="itemsContainer">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -34,7 +34,7 @@
|
||||
<span>${ButtonSync}</span>
|
||||
</button>
|
||||
</div>
|
||||
<div id="nextUpItems" class="itemsContainer">
|
||||
<div is="emby-itemscontainer" id="nextUpItems" class="itemsContainer">
|
||||
</div>
|
||||
</div>
|
||||
<p class="noNextUpItems" style="display: none;">${NoNextUpItemsMessage}</p>
|
||||
@ -48,7 +48,7 @@
|
||||
<span>${ButtonSync}</span>
|
||||
</button>
|
||||
</div>
|
||||
<div id="latestEpisodes" class="itemsContainer">
|
||||
<div is="emby-itemscontainer" id="latestEpisodes" class="itemsContainer">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -96,14 +96,14 @@
|
||||
<div style="text-align: center; display: flex; align-items: center; justify-content: center;">
|
||||
<button is="paper-icon-button-light" class="btnSelectView autoSize" title="${ButtonSelectView}"><i class="md-icon">view_comfy</i></button>
|
||||
</div>
|
||||
<div id="items" class="itemsContainer paddedItemsContainer"></div>
|
||||
<div is="emby-itemscontainer" id="items" class="itemsContainer paddedItemsContainer"></div>
|
||||
</div>
|
||||
<div class="pageTabContent ehsContent" id="studiosTab" data-index="6">
|
||||
<div class="viewSettings">
|
||||
<div class="listTopPaging">
|
||||
</div>
|
||||
</div>
|
||||
<div id="items" class="itemsContainer paddedItemsContainer" style="text-align: center;"></div>
|
||||
<div is="emby-itemscontainer" id="items" class="itemsContainer paddedItemsContainer" style="text-align: center;"></div>
|
||||
</div>
|
||||
|
||||
<div data-role="content">
|
||||
|
Loading…
Reference in New Issue
Block a user