1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

update sync display

This commit is contained in:
Luke Pulverenti 2016-08-16 14:54:08 -04:00
parent 0d51412424
commit a52b5e24d0
20 changed files with 181 additions and 147 deletions

View file

@ -16,12 +16,12 @@
},
"devDependencies": {},
"ignore": [],
"version": "1.1.75",
"_release": "1.1.75",
"version": "1.1.76",
"_release": "1.1.76",
"_resolution": {
"type": "version",
"tag": "1.1.75",
"commit": "5518536e19fe1efdb8cb149833320017c051e751"
"tag": "1.1.76",
"commit": "1096ffc66e3df8d63e305889dd7fb5b769095082"
},
"_source": "https://github.com/MediaBrowser/Emby.ApiClient.Javascript.git",
"_target": "^1.1.51",

View file

@ -0,0 +1,47 @@
define([], function () {
var myStore = {};
var cache;
var localData;
function updateCache() {
cache.put('data', new Response(JSON.stringify(localData)));
}
myStore.setItem = function (name, value) {
if (localData) {
var changed = localData[name] != value;
if (changed) {
localData[name] = value;
updateCache();
}
}
};
myStore.getItem = function (name) {
if (localData) {
return localData[name];
}
};
myStore.removeItem = function (name) {
if (localData) {
localData[name] = null;
delete localData[name];
updateCache();
}
};
myStore.init = function () {
return caches.open('embydata').then(function (result) {
cache = result;
localData = {};
});
};
return myStore;
});

View file

@ -14,12 +14,12 @@
},
"devDependencies": {},
"ignore": [],
"version": "1.4.171",
"_release": "1.4.171",
"version": "1.4.172",
"_release": "1.4.172",
"_resolution": {
"type": "version",
"tag": "1.4.171",
"commit": "388435c54b3b15c417b8d76701cf09b42b968a08"
"tag": "1.4.172",
"commit": "044948fa660671caa6d1ce4951ccf0d4c6e211e2"
},
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
"_target": "^1.2.1",

View file

@ -2,8 +2,8 @@
"ValueSpecialEpisodeName": "Special - {0}",
"Share": "Teilen",
"Add": "Hinzuf\u00fcgen",
"ServerUpdateNeeded": "Dieser Emby Server muss aktualisiert werden. Um die neueste Version herunterzuladen, besuchen sie bitte {0}",
"LiveTvGuideRequiresUnlock": "Ihr TV-Guide ist begrenzt auf {0} Kan\u00e4le. Klicken Sie auf die Freischalten Schaltfl\u00e4che um weitere Informationen zu erhalten.",
"ServerUpdateNeeded": "Dieser Emby Server muss aktualisiert werden. Um die neueste Version herunterzuladen, besuche bitte {0}",
"LiveTvGuideRequiresUnlock": "Dein TV-Guide ist derzeit begrenzt auf {0} Kan\u00e4le. Klicke auf die \"Freischalten\" Schaltfl\u00e4che um weitere Informationen zu erhalten.",
"AttributeNew": "Neu",
"AttributePremiere": "Premiere",
"AttributeLive": "Live",
@ -24,7 +24,7 @@
"ButtonOk": "Ok",
"ButtonCancel": "Abbrechen",
"ButtonGotIt": "Verstanden",
"ButtonRestart": "Restart",
"ButtonRestart": "Neustart",
"RecordingCancelled": "Aufzeichnung abgebrochen.",
"RecordingScheduled": "Aufnahme geplant.",
"SeriesRecordingScheduled": "Serien-Aufnahme geplant.",
@ -43,8 +43,8 @@
"RecordOnAllChannels": "Auf allen Kan\u00e4len aufzeichnen",
"RecordAnytime": "Zu jeder Zeit aufzeichnen",
"RecordOnlyNewEpisodes": "Nehme nur neue Episoden auf",
"HeaderBecomeProjectSupporter": "Holen Sie Emby Premium",
"HeaderEnjoyDayTrial": "Genie\u00dfen Sie eine 14 Tage Testversion",
"HeaderBecomeProjectSupporter": "Hol dir Emby Premiere",
"HeaderEnjoyDayTrial": "Genie\u00dfe eine 14-t\u00e4gige Testversion",
"MessageActiveSubscriptionRequiredSeriesRecordings": "Ein aktives Emby Premium Abo wird benn\u00f6tigt um automatische Serienaufnahmen zu erstellen.",
"OptionConvertRecordingsToStreamingFormat": "Konvertiere Aufnahmen automatisch in ein streaming freundliches Format.",
"OptionConvertRecordingsToStreamingFormatHelp": "Aufnahmen werden als MP4 konvertiert um eine bessere Wiedergabe auf Ihren Ger\u00e4ten zu gew\u00e4hrleisten.",
@ -56,7 +56,7 @@
"Advanced": "Erweitert",
"Delete": "L\u00f6schen",
"HeaderDeleteItem": "L\u00f6sche Element",
"ConfirmDeleteItem": "L\u00f6schen dieses Eintrages bedeutet das L\u00f6schen der Datei und das Entfernen aus der Medien-Bibliothek. M\u00f6chten Sie wirklich fortfahren?",
"ConfirmDeleteItem": "L\u00f6schen dieses Eintrages bedeutet das L\u00f6schen der Datei und das Entfernen aus der Medien-Bibliothek. M\u00f6chtest du wirklich fortfahren?",
"Refresh": "Aktualisieren",
"RefreshQueued": "Warteschlange aktualisieren.",
"AddToCollection": "Zur Sammlung hinzuf\u00fcgen",
@ -64,7 +64,7 @@
"NewCollection": "Neue Collection",
"LabelCollection": "Sammlung:",
"Help": "Hilfe",
"NewCollectionHelp": "Sammlungen erm\u00f6glichen personallisierte Gruppen von Filmen oder anderen Medien.",
"NewCollectionHelp": "Sammlungen erm\u00f6glichen personalisierte Gruppen von Filmen oder anderen Medien.",
"SearchForCollectionInternetMetadata": "Suche im Internet nach Bildmaterial und Metadaten",
"LabelName": "Name:",
"NewCollectionNameExample": "Beispiel: Star Wars Collection",
@ -91,11 +91,11 @@
"SearchForMissingMetadata": "Suche nach fehlenden Metadaten",
"LabelRefreshMode": "Aktualisierungsmodus:",
"NoItemsFound": "Keine Eintr\u00e4ge gefunden.",
"HeaderSaySomethingLike": "Sagen Sie etwas wie...",
"HeaderSaySomethingLike": "Sage etwas wie...",
"ButtonTryAgain": "Erneut versuchen",
"HeaderYouSaid": "Sie sagten....",
"HeaderYouSaid": "Du sagtest....",
"MessageWeDidntRecognizeCommand": "Entschuldigung, dieses Kommando konnten wir nicht erkennen.",
"MessageIfYouBlockedVoice": "Wenn Sie die Sprachsteuerung f\u00fcr die App nicht erlaubt haben so m\u00fcssen Sie dies zuvor \u00e4ndern bevor Sie es erneut probieren.",
"MessageIfYouBlockedVoice": "Wenn du die Sprachsteuerung f\u00fcr die App nicht erlaubt hast, musst du dies vor einem erneuten Versuch \u00e4ndern.",
"ValueDiscNumber": "Disc {0}",
"Unrated": "Nicht bewertet",
"Favorite": "Favorit",
@ -124,9 +124,9 @@
"MarkUnplayed": "Markiere \"als ungesehen\"",
"GroupVersions": "Gruppiere Versionen",
"PleaseSelectTwoItems": "Bitte w\u00e4hle mindestens zwei Optionen aus.",
"TheSelectedItemsWillBeGrouped": "Die ausgew\u00e4hlten Videos werden in einem virtuellen Element gruppiert. Emby Anwendungen w\u00e4hlen automatisch die beste Version anhand des Ger\u00e4tes und der Netzwerkgeschwindigkeit. Sind Sie sich sicher, dass Sie fortfahren m\u00f6chten?",
"TheSelectedItemsWillBeGrouped": "Die ausgew\u00e4hlten Videos werden in einem virtuellen Element gruppiert. Emby Anwendungen w\u00e4hlen automatisch die beste Version anhand des Ger\u00e4tes und der Netzwerkgeschwindigkeit. Bist du sicher, dass du fortfahren m\u00f6chtest?",
"TryMultiSelect": "Versuche Mehrfachauswahl",
"TryMultiSelectMessage": "F\u00fcr eine Mehrfachauswahl klicken und halten Sie ein Poster. W\u00e4hlen Sie die Eintr\u00e4ge die Sie bearbeiten m\u00f6chten. Versuchen SIe es!",
"TryMultiSelectMessage": "F\u00fcr eine Mehrfachauswahl klicke und halte ein Poster. W\u00e4hle die Eintr\u00e4ge die du bearbeiten m\u00f6chten. Versuch es!",
"HeaderConfirmRecordingCancellation": "Best\u00e4tige Aufzeichnungsabbruch",
"MessageConfirmRecordingCancellation": "Bis du dir sicher, diese Aufzeichnung abzubrechen?",
"Error": "Fehler",
@ -137,7 +137,7 @@
"LabelOriginalTitle": "Original Titel:",
"LabelSortTitle": "Sortierungs Titel:",
"LabelDateAdded": "Hinzugef\u00fcgt am:",
"ConfigureDateAdded": "Bestimmen Sie in den Bibliotheks-Einstellungen des Emby Server Dashboards, wie das Feld \"Hinzugef\u00fcgt am\" interpretiert werden soll.",
"ConfigureDateAdded": "Bestimme in den Bibliotheks-Einstellungen des Emby Server Dashboards, wie das Feld \"Hinzugef\u00fcgt am\" interpretiert werden soll.",
"LabelStatus": "Status:",
"LabelArtists": "Interpreten:",
"LabelArtistsHelp": "Trenne mehrere Eintr\u00e4ge durch ;",
@ -205,7 +205,7 @@
"Continuing": "Fortdauernd",
"Ended": "Beendent",
"HeaderEnabledFields": "Aktiviere Felder",
"HeaderEnabledFieldsHelp": "W\u00e4hlen Sie Felder ab um das \u00c4ndern von Daten zu verhindern.",
"HeaderEnabledFieldsHelp": "W\u00e4hle Felder ab um das \u00c4ndern von Daten zu verhindern.",
"Backdrops": "Hintergr\u00fcnde",
"Images": "Bilder",
"Keywords": "Stichworte",
@ -250,7 +250,7 @@
"SearchResults": "Suchergebnisse",
"SyncToOtherDevice": "Mit einem anderen Ger\u00e4t synchronisieren",
"MakeAvailableOffline": "Offline verf\u00fcgbar machen",
"ServerNameIsRestarting": "Emby Server - {0} is restarting.",
"ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.",
"PleaseRestartServerName": "Please restart Emby Server - {0}."
"ServerNameIsRestarting": "Emby Server - {0} startet neu.",
"ServerNameIsShuttingDown": "Emby Server - {0} f\u00e4hrt herunter.",
"PleaseRestartServerName": "Bitte starte Emby Server - {0} neu."
}

View file

@ -24,7 +24,7 @@
"ButtonOk": "OK",
"ButtonCancel": "Annuler",
"ButtonGotIt": "Vu",
"ButtonRestart": "Restart",
"ButtonRestart": "Red\u00e9marrer",
"RecordingCancelled": "Enregistrement annul\u00e9.",
"RecordingScheduled": "Enregistrement planifi\u00e9.",
"SeriesRecordingScheduled": "Enregistrement de la s\u00e9rie pr\u00e9vue.",
@ -108,7 +108,7 @@
"Shuffle": "M\u00e9langer",
"Identify": "Identifier",
"EditImages": "Modifier les images",
"EditInfo": "Modifier les informations",
"EditInfo": "Modifier infos",
"Sync": "Sync",
"InstantMix": "Instantan\u00e9",
"ViewAlbum": "Voir l'album",
@ -122,7 +122,7 @@
"Trailer": "Bande-annonce",
"MarkPlayed": "Marquer comme lu",
"MarkUnplayed": "Marquer comme non lu",
"GroupVersions": "Versions des groupes",
"GroupVersions": "Versions de groupe",
"PleaseSelectTwoItems": "Veuillez s\u00e9lectionner au moins deux items.",
"TheSelectedItemsWillBeGrouped": "Les vid\u00e9os s\u00e9lectionn\u00e9es seront regroup\u00e9es dans un objet virtuel. L'application Emby choisira automatiquement quelle version jouer d'apr\u00e8s le p\u00e9riph\u00e9rique et la performance du r\u00e9seau. \u00cates-vous s\u00fbre de vouloir continuer ?",
"TryMultiSelect": "Essayer la s\u00e9lection multiple",
@ -248,9 +248,9 @@
"PleaseEnterNameOrId": "Veuillez saisir un nom ou un identifiant externe.",
"MessageItemSaved": "Item sauvegard\u00e9.",
"SearchResults": "R\u00e9sultats de la recherche",
"SyncToOtherDevice": "Sync to other device",
"MakeAvailableOffline": "Make available offline",
"ServerNameIsRestarting": "Emby Server - {0} is restarting.",
"ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.",
"PleaseRestartServerName": "Please restart Emby Server - {0}."
"SyncToOtherDevice": "Sync vers un autre appareil",
"MakeAvailableOffline": "Rendre disponible hors connexion",
"ServerNameIsRestarting": "Emby Server - {0} est red\u00e9marr\u00e9.",
"ServerNameIsShuttingDown": "Emby Server - {0} est arr\u00eater.",
"PleaseRestartServerName": "S'il vous pla\u00eet red\u00e9marrer Emby server - {0}."
}

View file

@ -24,7 +24,7 @@
"ButtonOk": "\u0416\u0430\u0440\u0430\u0439\u0434\u044b",
"ButtonCancel": "\u0411\u043e\u043b\u0434\u044b\u0440\u043c\u0430\u0443",
"ButtonGotIt": "\u0422\u04af\u0441\u0456\u043d\u0456\u043a\u0442\u0456",
"ButtonRestart": "Restart",
"ButtonRestart": "\u049a\u0430\u0439\u0442\u0430 \u0456\u0441\u043a\u0435 \u049b\u043e\u0441\u0443",
"RecordingCancelled": "\u0416\u0430\u0437\u0431\u0430 \u0431\u043e\u043b\u0434\u044b\u0440\u044b\u043b\u043c\u0430\u0434\u044b.",
"RecordingScheduled": "\u0416\u0430\u0437\u0443 \u0436\u043e\u0441\u043f\u0430\u0440\u043b\u0430\u0493\u0430\u043d.",
"SeriesRecordingScheduled": "\u0422\u0435\u043b\u0435\u0445\u0438\u043a\u0430\u044f \u0436\u0430\u0437\u0443\u044b \u0436\u043e\u0441\u043f\u0430\u0440\u043b\u0430\u0493\u0430\u043d.",
@ -250,7 +250,7 @@
"SearchResults": "\u0406\u0437\u0434\u0435\u0443 \u043d\u04d9\u0442\u0438\u0436\u0435\u043b\u0435\u0440\u0456",
"SyncToOtherDevice": "\u0411\u0430\u0441\u049b\u0430 \u049b\u04b1\u0440\u044b\u043b\u0493\u044b\u043c\u0435\u043d \u04af\u043d\u0434\u0435\u0441\u0442\u0456\u0440\u0443",
"MakeAvailableOffline": "\u0414\u0435\u0440\u0431\u0435\u0441 \u049b\u043e\u043b\u0436\u0435\u0442\u0456\u043c\u0434\u0456 \u0435\u0442\u0443",
"ServerNameIsRestarting": "Emby Server - {0} is restarting.",
"ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.",
"PleaseRestartServerName": "Please restart Emby Server - {0}."
"ServerNameIsRestarting": "Emby Server - {0} \u049b\u0430\u0439\u0442\u0430 \u0456\u0441\u043a\u0435 \u049b\u043e\u0441\u044b\u043b\u0443\u0434\u0430.",
"ServerNameIsShuttingDown": "Emby Server - {0} \u0436\u04b1\u043c\u044b\u0441\u0442\u044b \u0430\u044f\u049b\u0442\u0430\u0443\u0434\u0430.",
"PleaseRestartServerName": "Emby Server \u04af\u0448\u0456\u043d \u049b\u0430\u0439\u0442\u0430 \u0456\u0441\u043a\u0435 \u049b\u043e\u0441\u044b\u04a3\u044b\u0437 - {0}."
}

View file

@ -24,7 +24,7 @@
"ButtonOk": "Ok",
"ButtonCancel": "Cancelar",
"ButtonGotIt": "Feito",
"ButtonRestart": "Restart",
"ButtonRestart": "Reiniciar",
"RecordingCancelled": "Grava\u00e7\u00e3o cancelada.",
"RecordingScheduled": "Grava\u00e7\u00e3o agendada.",
"SeriesRecordingScheduled": "Grava\u00e7\u00e3o de s\u00e9rie agendada.",
@ -248,9 +248,9 @@
"PleaseEnterNameOrId": "Por favor, digite um nome ou um id externo.",
"MessageItemSaved": "Item salvo.",
"SearchResults": "Resultados da Busca",
"SyncToOtherDevice": "Sync to other device",
"MakeAvailableOffline": "Make available offline",
"ServerNameIsRestarting": "Emby Server - {0} is restarting.",
"ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.",
"PleaseRestartServerName": "Please restart Emby Server - {0}."
"SyncToOtherDevice": "Sincronizar para outro dispositivo",
"MakeAvailableOffline": "Disponibilizar offline",
"ServerNameIsRestarting": "Servidor Emby - {0} est\u00e1 reiniciando.",
"ServerNameIsShuttingDown": "Servidor Emby - {0} est\u00e1 desligando.",
"PleaseRestartServerName": "Por favor reinicie o Servidor Emby - {0}."
}

View file

@ -24,7 +24,7 @@
"ButtonOk": "\u041e\u041a",
"ButtonCancel": "\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c",
"ButtonGotIt": "\u041f\u043e\u043d\u044f\u0442\u043d\u043e",
"ButtonRestart": "Restart",
"ButtonRestart": "\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c",
"RecordingCancelled": "\u0417\u0430\u043f\u0438\u0441\u044c \u043e\u0442\u043c\u0435\u043d\u0435\u043d\u0430.",
"RecordingScheduled": "\u0437\u0430\u043f\u0438\u0441\u044c \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0430.",
"SeriesRecordingScheduled": "\u0417\u0430\u043f\u0438\u0441\u044c \u0441\u0435\u0440\u0438\u0430\u043b\u0430 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0430.",
@ -250,7 +250,7 @@
"SearchResults": "\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043f\u043e\u0438\u0441\u043a\u0430",
"SyncToOtherDevice": "\u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u0441 \u0434\u0440\u0443\u0433\u0438\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c",
"MakeAvailableOffline": "\u0421\u0434\u0435\u043b\u0430\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u043c \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u043e",
"ServerNameIsRestarting": "Emby Server - {0} is restarting.",
"ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.",
"PleaseRestartServerName": "Please restart Emby Server - {0}."
"ServerNameIsRestarting": "Emby Server - {0} \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f.",
"ServerNameIsShuttingDown": "Emby Server - {0} \u0432\u044b\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f.",
"PleaseRestartServerName": "\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 Emby Server - {0}."
}

View file

@ -117,7 +117,11 @@
var itemHtml = '';
var tagName = layoutManager.tv ? 'button' : 'div';
var className = layoutManager.tv && s.Path ? 'listItem listItem-focusscale btnDelete' : 'listItem';
var className = layoutManager.tv && s.Path ? 'listItem btnDelete' : 'listItem';
if (layoutManager.tv) {
className += ' listItem-focusscale listItem-button';
}
className += ' listItem-noborder';
@ -236,6 +240,9 @@
var tagName = layoutManager.tv ? 'button' : 'div';
var className = layoutManager.tv ? 'listItem btnOptions' : 'listItem';
if (layoutManager.tv) {
className += ' listItem-focusscale listItem-button';
}
html += '<' + tagName + ' class="' + className + '" data-subid="' + result.Id + '">';

View file

@ -32,14 +32,14 @@
"web-component-tester": "^4.0.0",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
"homepage": "https://github.com/PolymerElements/iron-icon",
"homepage": "https://github.com/polymerelements/iron-icon",
"_release": "1.0.10",
"_resolution": {
"type": "version",
"tag": "v1.0.10",
"commit": "f4e146da4982ff96bb25db85290c09e8de4ec734"
},
"_source": "git://github.com/PolymerElements/iron-icon.git",
"_source": "git://github.com/polymerelements/iron-icon.git",
"_target": "^1.0.0",
"_originalSource": "PolymerElements/iron-icon"
"_originalSource": "polymerelements/iron-icon"
}

View file

@ -40,6 +40,6 @@
"commit": "1f197d9d7874b1e5808b2a5c26f34446a7d912fc"
},
"_source": "git://github.com/Polymer/polymer.git",
"_target": "^1.1.0",
"_target": "^1.0.0",
"_originalSource": "Polymer/polymer"
}

View file

@ -56,10 +56,6 @@
vertical-align: middle;
}
.drawerContent {
padding-bottom: 100px;
}
.headerButton {
margin: 0 5px;
background-color: transparent;
@ -299,6 +295,10 @@ body:not(.dashboardDocument) .headerAppsButton {
display: none;
}
.mainDrawer-scrollContainer {
padding-bottom: 10vh;
}
@media all and (min-width: 640px) {
.mainDrawerPanel .viewMenuBarTabs {

View file

@ -1,4 +1,4 @@
<div id="editItemMetadataPage" data-role="page" class="page libraryPage metadataEditorPage noSecondaryNavPage" data-contextname="${HeaderMetadataManager}" data-require="scripts/editorsidebar,scripts/edititemmetadata">
<div id="editItemMetadataPage" data-role="page" class="page libraryPage metadataEditorPage noSecondaryNavPage" data-contextname="${MetadataManager}" data-require="scripts/editorsidebar,scripts/edititemmetadata">
<style>
#editItemMetadataPage .editMetadataForm {

View file

@ -7,7 +7,7 @@
<div class="backdropContainer"></div>
<div class="backgroundContainer"></div>
<div class="mainDrawerPanel">
<div class="mainDrawer hide"><div class="scrollContainer"></div></div>
<div class="mainDrawer hide"><div class="mainDrawer-scrollContainer scrollContainer"></div></div>
<div class="mainDrawerPanelContent">
<div class="skinHeader"></div>
<div class="mainAnimatedPages skinBody"></div>

View file

@ -1,4 +1,4 @@
define(['imageLoader', 'layoutManager', 'viewManager', 'navdrawer', 'libraryBrowser', 'paper-icon-button-light', 'material-icons'], function (imageLoader, layoutManager, viewManager, navdrawer, libraryBrowser) {
define(['imageLoader', 'layoutManager', 'viewManager', 'navdrawer', 'libraryBrowser', 'apphost', 'paper-icon-button-light', 'material-icons'], function (imageLoader, layoutManager, viewManager, navdrawer, libraryBrowser, appHost) {
var navDrawerElement = document.querySelector('.mainDrawer');
var navDrawerScrollContainer = navDrawerElement.querySelector('.scrollContainer');
@ -296,7 +296,7 @@
html += '</div>';
html += '<a class="sidebarLink lnkMediaFolder lnkManageServer" data-itemid="dashboard" href="#"><i class="md-icon sidebarLinkIcon">dashboard</i><span class="sidebarLinkText">' + Globalize.translate('ButtonManageServer') + '</span></a>';
html += '<a class="sidebarLink lnkMediaFolder editorViewMenu" data-itemid="editor" onclick="return LibraryMenu.onLinkClicked(event, this);" href="edititemmetadata.html"><i class="md-icon sidebarLinkIcon">mode_edit</i><span class="sidebarLinkText">' + Globalize.translate('ButtonMetadataManager') + '</span></a>';
html += '<a class="sidebarLink lnkMediaFolder editorViewMenu" data-itemid="editor" onclick="return LibraryMenu.onLinkClicked(event, this);" href="edititemmetadata.html"><i class="md-icon sidebarLinkIcon">mode_edit</i><span class="sidebarLinkText">' + Globalize.translate('MetadataManager') + '</span></a>';
if (!browserInfo.mobile) {
html += '<a class="sidebarLink lnkMediaFolder" data-itemid="reports" onclick="return LibraryMenu.onLinkClicked(event, this);" href="reports.html"><i class="md-icon sidebarLinkIcon">insert_chart</i><span class="sidebarLinkText">' + Globalize.translate('ButtonReports') + '</span></a>';
@ -312,7 +312,9 @@
html += '<a class="sidebarLink lnkMediaFolder lnkMySettings" onclick="return LibraryMenu.onLinkClicked(event, this);" href="mypreferencesmenu.html?userId=' + user.localUser.Id + '"><i class="md-icon sidebarLinkIcon">settings</i><span class="sidebarLinkText">' + Globalize.translate('ButtonSettings') + '</span></a>';
}
html += '<a class="sidebarLink lnkMediaFolder lnkMySync" data-itemid="mysync" onclick="return LibraryMenu.onLinkClicked(event, this);" href="mysync.html"><i class="md-icon sidebarLinkIcon">sync</i><span class="sidebarLinkText">' + Globalize.translate('ButtonSync') + '</span></a>';
html += '<a class="sidebarLink lnkMediaFolder lnkManageOffline" data-itemid="manageoffline" onclick="return LibraryMenu.onLinkClicked(event, this);" href="mysync.html?mode=offline"><i class="md-icon sidebarLinkIcon">sync</i><span class="sidebarLinkText">' + Globalize.translate('ManageOfflineDownloads') + '</span></a>';
html += '<a class="sidebarLink lnkMediaFolder lnkSyncToOtherDevices" data-itemid="syncotherdevices" onclick="return LibraryMenu.onLinkClicked(event, this);" href="mysync.html"><i class="md-icon sidebarLinkIcon">sync</i><span class="sidebarLinkText">' + Globalize.translate('SyncToOtherDevices') + '</span></a>';
if (Dashboard.isConnectMode()) {
html += '<a class="sidebarLink lnkMediaFolder" data-itemid="selectserver" onclick="return LibraryMenu.onLinkClicked(event, this);" href="selectserver.html?showuser=1"><i class="md-icon sidebarLinkIcon">wifi</i><span class="sidebarLinkText">' + Globalize.translate('ButtonSelectServer') + '</span></a>';
@ -447,15 +449,22 @@
if (!user) {
showBySelector('.lnkMySync', false);
showBySelector('.lnkManageOffline', false);
showBySelector('.lnkSyncToOtherDevices', false);
showBySelector('.userMenuOptions', false);
return;
}
if (user.Policy.EnableSync) {
showBySelector('.lnkMySync', true);
showBySelector('.lnkSyncToOtherDevices', true);
} else {
showBySelector('.lnkMySync', false);
showBySelector('.lnkSyncToOtherDevices', false);
}
if (user.Policy.EnableSync && appHost.supports('sync')) {
showBySelector('.lnkManageOffline', true);
} else {
showBySelector('.lnkManageOffline', false);
}
var userId = Dashboard.getCurrentUserId();
@ -788,7 +797,12 @@
else if (isReportsPage && itemId == 'reports') {
lnkMediaFolder.classList.add('selectedMediaFolder');
}
else if (isMySyncPage && itemId == 'mysync') {
else if (isMySyncPage && itemId == 'manageoffline') {
lnkMediaFolder.classList.add('selectedMediaFolder');
}
else if (isMySyncPage && itemId == 'syncotherdevices') {
lnkMediaFolder.classList.add('selectedMediaFolder');
}
else if (id && itemId == id) {
@ -816,33 +830,6 @@
return url;
}
function updateTabLinks(page) {
var elems = page.querySelectorAll('.scopedLibraryViewNav a');
var id = page.classList.contains('liveTvPage') || page.classList.contains('channelsPage') || page.classList.contains('metadataEditorPage') || page.classList.contains('reportsPage') || page.classList.contains('mySyncPage') || page.classList.contains('allLibraryPage') ?
'' :
getTopParentId() || '';
if (!id) {
return;
}
for (i = 0, length = elems.length; i < length; i++) {
var lnk = elems[i];
var src = lnk.href;
if (src.indexOf('#') != -1) {
continue;
}
src = replaceQueryString(src, 'topParentId', id);
lnk.href = src;
}
}
function onWebSocketMessage(e, data) {
var msg = data;
@ -909,7 +896,6 @@
setDrawerClass(page);
updateViewMenuBar(page);
updateTabLinks(page);
if (!e.detail.isRestored) {
// Scroll back up so in case vertical scroll was messed with

View file

@ -1,13 +1,9 @@
define(['appSettings'], function (appSettings) {
define(['appSettings', 'connectionManager'], function (appSettings, connectionManager) {
var syncPromise;
window.LocalSync = {
isSupported: function () {
return AppInfo.isNativeApp && Dashboard.capabilities().SupportsSync;
},
sync: function (options) {
if (syncPromise) {
@ -16,15 +12,13 @@
return new Promise(function (resolve, reject) {
require(['multiserversync'], function () {
require(['multiserversync'], function (MultiServerSync) {
options = options || {};
LocalSync.normalizeSyncOptions(options);
options.cameraUploadServers = appSettings.cameraUploadServers();
syncPromise = new MediaBrowser.MultiServerSync(ConnectionManager).sync(options).then(function () {
syncPromise = new MultiServerSync(connectionManager).sync(options).then(function () {
syncPromise = null;
resolve();
@ -38,10 +32,6 @@
});
},
normalizeSyncOptions: function (options) {
},
getSyncStatus: function () {
if (syncPromise != null) {

View file

@ -1,8 +1,16 @@
define(['loading', 'localsync'], function (loading) {
define(['loading', 'apphost', 'localsync'], function (loading, appHost) {
return function (view, params) {
var interval;
function isLocalSyncManagement() {
return appHost.supports('sync') && params.mode == 'offline';
}
function refreshSyncStatus(page) {
if (LocalSync.isSupported()) {
if (isLocalSyncManagement()) {
var status = LocalSync.getSyncStatus();
@ -19,7 +27,6 @@
else {
page.querySelector('.btnSyncNow').classList.remove('hide');
}
}
}
@ -32,15 +39,11 @@
refreshSyncStatus(page);
}
return function (view, params) {
var interval;
view.querySelector('.btnSyncNow').addEventListener('click', function () {
syncNow(view);
});
if (LocalSync.isSupported()) {
if (isLocalSyncManagement()) {
view.querySelector('.localSyncStatus').classList.remove('hide');

View file

@ -195,7 +195,7 @@
//html += '</div>';
//html += '</div>';
$(elem).html(html);
elem.innerHTML = html;
$('#selectSyncTarget', elem).on('change', function () {
@ -303,7 +303,7 @@
var promise = dialogHelper.open(dlg);
renderForm({
elem: $('.formFields', dlg),
elem: dlg.querySelector('.formFields'),
dialogOptions: dialogOptions,
dialogOptionsFn: getTargetDialogOptionsFn(dialogOptionsQuery)
});

View file

@ -18,7 +18,7 @@
require(['syncDialog'], function (syncDialog) {
syncDialog.renderForm({
elem: $('.formFields', page),
elem: page.querySelector('.formFields'),
dialogOptions: dialogOptions,
dialogOptionsFn: getTargetDialogOptionsFn(dialogOptions),
showName: true,

View file

@ -880,7 +880,6 @@
"OptionNone": "None",
"HeaderLiveTv": "Live TV",
"HeaderReports": "Reports",
"HeaderMetadataManager": "Metadata Manager",
"HeaderSettings": "Settings",
"OptionDefaultSort": "Default",
"OptionCommunityMostWatchedSort": "Most Watched",
@ -1739,7 +1738,7 @@
"MessageEnsureOpenTuner": "Please ensure there is an open tuner availalble.",
"ButtonDashboard": "Dashboard",
"ButtonReports": "Reports",
"ButtonMetadataManager": "Metadata Manager",
"MetadataManager": "Metadata manager",
"HeaderTime": "Time",
"LabelAddedOnDate": "Added {0}",
"ButtonStart": "Start",
@ -2149,7 +2148,7 @@
"HeaderGroupVersions": "Group Versions",
"HeaderSaySomethingLike": "Say Something Like...",
"NoResultsFound": "No results found.",
"ButtonManageServer": "Manage Server",
"ButtonManageServer": "Manage server",
"ButtonEditSubtitles": "Edit subtitles",
"ButtonPreferences": "Preferences",
"ButtonViewArtist": "View artist",
@ -2314,5 +2313,7 @@
"EnablePhotos": "Enable photos",
"EnablePhotosHelp": "Photos will be detected and displayed alongside other media files.",
"MakeAvailableOffline": "Make available offline",
"ConfirmRemoveDownload": "Remove download?"
"ConfirmRemoveDownload": "Remove download?",
"SyncToOtherDevices": "Sync to other devices",
"ManageOfflineDownloads": "Manage offline downloads"
}