diff --git a/dashboard-ui/bower_components/emby-apiclient/.bower.json b/dashboard-ui/bower_components/emby-apiclient/.bower.json index faead7072e..8641f7e643 100644 --- a/dashboard-ui/bower_components/emby-apiclient/.bower.json +++ b/dashboard-ui/bower_components/emby-apiclient/.bower.json @@ -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", diff --git a/dashboard-ui/bower_components/emby-apiclient/appstorage-cache.js b/dashboard-ui/bower_components/emby-apiclient/appstorage-cache.js new file mode 100644 index 0000000000..bc39d2914d --- /dev/null +++ b/dashboard-ui/bower_components/emby-apiclient/appstorage-cache.js @@ -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; +}); \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/.bower.json b/dashboard-ui/bower_components/emby-webcomponents/.bower.json index 2d823638ed..e471a8f712 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/.bower.json +++ b/dashboard-ui/bower_components/emby-webcomponents/.bower.json @@ -14,12 +14,12 @@ }, "devDependencies": {}, "ignore": [], - "version": "1.4.171", - "_release": "1.4.171", + "version": "1.4.173", + "_release": "1.4.173", "_resolution": { "type": "version", - "tag": "1.4.171", - "commit": "388435c54b3b15c417b8d76701cf09b42b968a08" + "tag": "1.4.173", + "commit": "8766e295ec13de73c5ef5a61c7357fc30d8c9fa1" }, "_source": "https://github.com/MediaBrowser/emby-webcomponents.git", "_target": "^1.2.1", diff --git a/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/cardbuilder.js b/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/cardbuilder.js index 39e66cfd4b..c9dc6d196e 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/cardbuilder.js +++ b/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/cardbuilder.js @@ -702,7 +702,7 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo return html; } - function getCardFooterText(item, options, showTitle, imgUrl, footerClass, progressHtml, isOuterFooter) { + function getCardFooterText(item, options, showTitle, forceName, imgUrl, footerClass, progressHtml, isOuterFooter) { var html = ''; @@ -869,6 +869,10 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo } } + if (showTitle && forceName && lines.length == 1) { + lines = []; + } + html += getCardTextLines(lines, cssClass, !options.overlayText, isOuterFooter); if (progressHtml) { @@ -1012,7 +1016,7 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo var imgInfo = getCardImageUrl(item, apiClient, options); var imgUrl = imgInfo.imgUrl; - var forceName = imgInfo.forceName; + var forceName = imgInfo.forceName || !imgUrl; var showTitle = options.showTitle == 'auto' ? true : (options.showTitle || item.Type == 'PhotoAlbum' || item.Type == 'Folder'); var overlayText = options.overlayText; @@ -1057,7 +1061,7 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo if (overlayText) { footerCssClass = progressHtml ? 'innerCardFooter fullInnerCardFooter' : 'innerCardFooter'; - innerCardFooter += getCardFooterText(item, options, showTitle, imgUrl, footerCssClass, progressHtml, false); + innerCardFooter += getCardFooterText(item, options, showTitle, forceName, imgUrl, footerCssClass, progressHtml, false); footerOverlayed = true; } else if (progressHtml) { @@ -1076,7 +1080,7 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo var outerCardFooter = ''; if (!overlayText && !footerOverlayed) { footerCssClass = options.cardLayout ? 'cardFooter' : 'cardFooter transparent'; - outerCardFooter = getCardFooterText(item, options, showTitle, imgUrl, footerCssClass, progressHtml, true); + outerCardFooter = getCardFooterText(item, options, showTitle, forceName, imgUrl, footerCssClass, progressHtml, true); } if (outerCardFooter && !options.cardLayout && options.allowBottomPadding !== false) { diff --git a/dashboard-ui/bower_components/emby-webcomponents/indicators/indicators.css b/dashboard-ui/bower_components/emby-webcomponents/indicators/indicators.css index 7bdfd68d45..51f6aceff8 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/indicators/indicators.css +++ b/dashboard-ui/bower_components/emby-webcomponents/indicators/indicators.css @@ -72,14 +72,5 @@ } .fullSyncIndicator { - color: #673AB7; - padding: 0; - border: 4px solid #673AB7; - background: #fff; - width: auto; - height: auto; -} - -.fullSyncIndicatorIcon { - margin: -3px; -} + background: rgba(82,181,75,1); +} \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/indicators/indicators.js b/dashboard-ui/bower_components/emby-webcomponents/indicators/indicators.js index d5556bdbf0..5f64c1790f 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/indicators/indicators.js +++ b/dashboard-ui/bower_components/emby-webcomponents/indicators/indicators.js @@ -111,7 +111,7 @@ define(['css!./indicators.css', 'material-icons'], function () { function getSyncIndicator(item) { if (item.SyncPercent == 100) { - return '
offline_pin
'; + return '
file_download
'; } else if (item.SyncPercent != null) { return '
file_download
'; } diff --git a/dashboard-ui/bower_components/emby-webcomponents/multiselect/multiselect.js b/dashboard-ui/bower_components/emby-webcomponents/multiselect/multiselect.js index 437cdbdd75..f25f46a3e4 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/multiselect/multiselect.js +++ b/dashboard-ui/bower_components/emby-webcomponents/multiselect/multiselect.js @@ -176,23 +176,22 @@ return new Promise(function (resolve, reject) { - var msg = globalize.translate('ConfirmDeleteItem'); - var title = globalize.translate('HeaderDeleteItem'); + var msg = globalize.translate('sharedcomponents#ConfirmDeleteItem'); + var title = globalize.translate('sharedcomponents#HeaderDeleteItem'); if (itemIds.length > 1) { - msg = globalize.translate('ConfirmDeleteItems'); - title = globalize.translate('HeaderDeleteItems'); + msg = globalize.translate('sharedcomponents#ConfirmDeleteItems'); + title = globalize.translate('sharedcomponents#HeaderDeleteItems'); } require(['confirm'], function (confirm) { confirm(msg, title).then(function () { - var promises = itemIds.map(function (itemId) { apiClient.deleteItem(itemId); }); - resolve(); + Promise.all(promises).then(resolve); }, reject); }); @@ -306,7 +305,7 @@ dispatchNeedsRefresh(); break; case 'delete': - deleteItems(items).then(function () { + deleteItems(apiClient, items).then(function () { embyRouter.goHome(); }); hideSelections(); diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/ar.json b/dashboard-ui/bower_components/emby-webcomponents/strings/ar.json index 55e3ba9b76..4982b64d81 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/ar.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/ar.json @@ -252,5 +252,7 @@ "MakeAvailableOffline": "Make available offline", "ServerNameIsRestarting": "Emby Server - {0} is restarting.", "ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", "PleaseRestartServerName": "Please restart Emby Server - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/bg-BG.json b/dashboard-ui/bower_components/emby-webcomponents/strings/bg-BG.json index dd6257a51d..bd971ace2c 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/bg-BG.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/bg-BG.json @@ -252,5 +252,7 @@ "MakeAvailableOffline": "Make available offline", "ServerNameIsRestarting": "Emby Server - {0} is restarting.", "ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", "PleaseRestartServerName": "Please restart Emby Server - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/ca.json b/dashboard-ui/bower_components/emby-webcomponents/strings/ca.json index e684634a0a..0d4807ad54 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/ca.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/ca.json @@ -252,5 +252,7 @@ "MakeAvailableOffline": "Make available offline", "ServerNameIsRestarting": "Emby Server - {0} is restarting.", "ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", "PleaseRestartServerName": "Please restart Emby Server - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/cs.json b/dashboard-ui/bower_components/emby-webcomponents/strings/cs.json index 10ddbdc195..e3732a85ca 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/cs.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/cs.json @@ -252,5 +252,7 @@ "MakeAvailableOffline": "Make available offline", "ServerNameIsRestarting": "Emby Server - {0} is restarting.", "ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", "PleaseRestartServerName": "Please restart Emby Server - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/da.json b/dashboard-ui/bower_components/emby-webcomponents/strings/da.json index e26ea71c61..66ec2e1bdd 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/da.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/da.json @@ -252,5 +252,7 @@ "MakeAvailableOffline": "Make available offline", "ServerNameIsRestarting": "Emby Server - {0} is restarting.", "ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", "PleaseRestartServerName": "Please restart Emby Server - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/de.json b/dashboard-ui/bower_components/emby-webcomponents/strings/de.json index e13cda8198..a88fb83506 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/de.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/de.json @@ -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,9 @@ "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.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", + "PleaseRestartServerName": "Bitte starte Emby Server - {0} neu." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/el.json b/dashboard-ui/bower_components/emby-webcomponents/strings/el.json index 27bb6eb6c5..21d7ce6806 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/el.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/el.json @@ -252,5 +252,7 @@ "MakeAvailableOffline": "Make available offline", "ServerNameIsRestarting": "Emby Server - {0} is restarting.", "ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", "PleaseRestartServerName": "Please restart Emby Server - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/en-GB.json b/dashboard-ui/bower_components/emby-webcomponents/strings/en-GB.json index d08b344320..779f2dae29 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/en-GB.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/en-GB.json @@ -252,5 +252,7 @@ "MakeAvailableOffline": "Make available offline", "ServerNameIsRestarting": "Emby Server - {0} is restarting.", "ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", "PleaseRestartServerName": "Please restart Emby Server - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/en-US.json b/dashboard-ui/bower_components/emby-webcomponents/strings/en-US.json index 9f8b3a795a..6b249205f5 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/en-US.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/en-US.json @@ -252,5 +252,7 @@ "MakeAvailableOffline": "Make available offline", "ServerNameIsRestarting": "Emby Server - {0} is restarting.", "ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", "PleaseRestartServerName": "Please restart Emby Server - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/es-AR.json b/dashboard-ui/bower_components/emby-webcomponents/strings/es-AR.json index d306708ec4..c3b5c2ca52 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/es-AR.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/es-AR.json @@ -252,5 +252,7 @@ "MakeAvailableOffline": "Make available offline", "ServerNameIsRestarting": "Emby Server - {0} is restarting.", "ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", "PleaseRestartServerName": "Please restart Emby Server - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/es-MX.json b/dashboard-ui/bower_components/emby-webcomponents/strings/es-MX.json index 82dd5549df..ed96888622 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/es-MX.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/es-MX.json @@ -252,5 +252,7 @@ "MakeAvailableOffline": "Make available offline", "ServerNameIsRestarting": "Emby Server - {0} is restarting.", "ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", "PleaseRestartServerName": "Please restart Emby Server - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/es.json b/dashboard-ui/bower_components/emby-webcomponents/strings/es.json index d3bf0301a1..18d66fad0f 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/es.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/es.json @@ -252,5 +252,7 @@ "MakeAvailableOffline": "Make available offline", "ServerNameIsRestarting": "Emby Server - {0} is restarting.", "ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", "PleaseRestartServerName": "Please restart Emby Server - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/fi.json b/dashboard-ui/bower_components/emby-webcomponents/strings/fi.json index 88e6536ea0..4c676fda91 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/fi.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/fi.json @@ -252,5 +252,7 @@ "MakeAvailableOffline": "Make available offline", "ServerNameIsRestarting": "Emby Server - {0} is restarting.", "ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", "PleaseRestartServerName": "Please restart Emby Server - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/fr-CA.json b/dashboard-ui/bower_components/emby-webcomponents/strings/fr-CA.json index 69065614df..552f540717 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/fr-CA.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/fr-CA.json @@ -252,5 +252,7 @@ "MakeAvailableOffline": "Make available offline", "ServerNameIsRestarting": "Emby Server - {0} is restarting.", "ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", "PleaseRestartServerName": "Please restart Emby Server - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/fr.json b/dashboard-ui/bower_components/emby-webcomponents/strings/fr.json index 0d1c782c9f..0a61d404c5 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/fr.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/fr.json @@ -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,11 @@ "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.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", + "PleaseRestartServerName": "S'il vous pla\u00eet red\u00e9marrer Emby server - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/gsw.json b/dashboard-ui/bower_components/emby-webcomponents/strings/gsw.json index f4f204680a..e873bc0bad 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/gsw.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/gsw.json @@ -252,5 +252,7 @@ "MakeAvailableOffline": "Make available offline", "ServerNameIsRestarting": "Emby Server - {0} is restarting.", "ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", "PleaseRestartServerName": "Please restart Emby Server - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/he.json b/dashboard-ui/bower_components/emby-webcomponents/strings/he.json index de9023c714..a5484acdeb 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/he.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/he.json @@ -252,5 +252,7 @@ "MakeAvailableOffline": "Make available offline", "ServerNameIsRestarting": "Emby Server - {0} is restarting.", "ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", "PleaseRestartServerName": "Please restart Emby Server - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/hr.json b/dashboard-ui/bower_components/emby-webcomponents/strings/hr.json index f6f5861f79..ac6eaf1d83 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/hr.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/hr.json @@ -252,5 +252,7 @@ "MakeAvailableOffline": "Make available offline", "ServerNameIsRestarting": "Emby Server - {0} is restarting.", "ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", "PleaseRestartServerName": "Please restart Emby Server - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/hu.json b/dashboard-ui/bower_components/emby-webcomponents/strings/hu.json index ae1513e098..8c07f95850 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/hu.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/hu.json @@ -252,5 +252,7 @@ "MakeAvailableOffline": "Make available offline", "ServerNameIsRestarting": "Emby Server - {0} is restarting.", "ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", "PleaseRestartServerName": "Please restart Emby Server - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/id.json b/dashboard-ui/bower_components/emby-webcomponents/strings/id.json index c9f7526614..e808a1c630 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/id.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/id.json @@ -252,5 +252,7 @@ "MakeAvailableOffline": "Make available offline", "ServerNameIsRestarting": "Emby Server - {0} is restarting.", "ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", "PleaseRestartServerName": "Please restart Emby Server - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/it.json b/dashboard-ui/bower_components/emby-webcomponents/strings/it.json index b3569abcd0..d4d6ecbb72 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/it.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/it.json @@ -252,5 +252,7 @@ "MakeAvailableOffline": "Make available offline", "ServerNameIsRestarting": "Emby Server - {0} is restarting.", "ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", "PleaseRestartServerName": "Please restart Emby Server - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/kk.json b/dashboard-ui/bower_components/emby-webcomponents/strings/kk.json index a20fd85ec4..6c3f272930 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/kk.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/kk.json @@ -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,9 @@ "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.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", + "PleaseRestartServerName": "Emby Server \u04af\u0448\u0456\u043d \u049b\u0430\u0439\u0442\u0430 \u0456\u0441\u043a\u0435 \u049b\u043e\u0441\u044b\u04a3\u044b\u0437 - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/ko.json b/dashboard-ui/bower_components/emby-webcomponents/strings/ko.json index 5b1b515c8b..f19c9d2f05 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/ko.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/ko.json @@ -252,5 +252,7 @@ "MakeAvailableOffline": "Make available offline", "ServerNameIsRestarting": "Emby Server - {0} is restarting.", "ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", "PleaseRestartServerName": "Please restart Emby Server - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/ms.json b/dashboard-ui/bower_components/emby-webcomponents/strings/ms.json index 69065614df..552f540717 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/ms.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/ms.json @@ -252,5 +252,7 @@ "MakeAvailableOffline": "Make available offline", "ServerNameIsRestarting": "Emby Server - {0} is restarting.", "ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", "PleaseRestartServerName": "Please restart Emby Server - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/nb.json b/dashboard-ui/bower_components/emby-webcomponents/strings/nb.json index 91fc28003f..ff95104968 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/nb.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/nb.json @@ -252,5 +252,7 @@ "MakeAvailableOffline": "Make available offline", "ServerNameIsRestarting": "Emby Server - {0} is restarting.", "ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", "PleaseRestartServerName": "Please restart Emby Server - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/nl.json b/dashboard-ui/bower_components/emby-webcomponents/strings/nl.json index d373355ad2..3eb3d4bb86 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/nl.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/nl.json @@ -252,5 +252,7 @@ "MakeAvailableOffline": "Make available offline", "ServerNameIsRestarting": "Emby Server - {0} is restarting.", "ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", "PleaseRestartServerName": "Please restart Emby Server - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/pl.json b/dashboard-ui/bower_components/emby-webcomponents/strings/pl.json index f3b894a423..fc3b4f69b7 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/pl.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/pl.json @@ -252,5 +252,7 @@ "MakeAvailableOffline": "Make available offline", "ServerNameIsRestarting": "Emby Server - {0} is restarting.", "ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", "PleaseRestartServerName": "Please restart Emby Server - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/pt-BR.json b/dashboard-ui/bower_components/emby-webcomponents/strings/pt-BR.json index 9f80fb945a..05f81dc56e 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/pt-BR.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/pt-BR.json @@ -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,11 @@ "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.", + "HeaderDeleteItems": "Apagar Itens", + "ConfirmDeleteItems": "Apagar estes itens ir\u00e1 remov\u00ea-los do sistema de arquivos e da biblioteca de m\u00eddia. Tem certeza que deseja continuar?", + "PleaseRestartServerName": "Por favor reinicie o Servidor Emby - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/pt-PT.json b/dashboard-ui/bower_components/emby-webcomponents/strings/pt-PT.json index 3c2c7ecfd4..4ffe9fe89b 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/pt-PT.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/pt-PT.json @@ -252,5 +252,7 @@ "MakeAvailableOffline": "Make available offline", "ServerNameIsRestarting": "Emby Server - {0} is restarting.", "ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", "PleaseRestartServerName": "Please restart Emby Server - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/ro.json b/dashboard-ui/bower_components/emby-webcomponents/strings/ro.json index 7bb318240f..a802907826 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/ro.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/ro.json @@ -252,5 +252,7 @@ "MakeAvailableOffline": "Make available offline", "ServerNameIsRestarting": "Emby Server - {0} is restarting.", "ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", "PleaseRestartServerName": "Please restart Emby Server - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/ru.json b/dashboard-ui/bower_components/emby-webcomponents/strings/ru.json index 4ebf7c3f47..493cba9f38 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/ru.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/ru.json @@ -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,9 @@ "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.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", + "PleaseRestartServerName": "\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 Emby Server - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/sk.json b/dashboard-ui/bower_components/emby-webcomponents/strings/sk.json index 69065614df..552f540717 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/sk.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/sk.json @@ -252,5 +252,7 @@ "MakeAvailableOffline": "Make available offline", "ServerNameIsRestarting": "Emby Server - {0} is restarting.", "ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", "PleaseRestartServerName": "Please restart Emby Server - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/sl-SI.json b/dashboard-ui/bower_components/emby-webcomponents/strings/sl-SI.json index 51047c140b..ec4cb25764 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/sl-SI.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/sl-SI.json @@ -252,5 +252,7 @@ "MakeAvailableOffline": "Make available offline", "ServerNameIsRestarting": "Emby Server - {0} is restarting.", "ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", "PleaseRestartServerName": "Please restart Emby Server - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/sv.json b/dashboard-ui/bower_components/emby-webcomponents/strings/sv.json index 02904431d1..387064bd8e 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/sv.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/sv.json @@ -252,5 +252,7 @@ "MakeAvailableOffline": "Make available offline", "ServerNameIsRestarting": "Emby Server - {0} is restarting.", "ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", "PleaseRestartServerName": "Please restart Emby Server - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/tr.json b/dashboard-ui/bower_components/emby-webcomponents/strings/tr.json index 70f99061b3..fc614cb8c2 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/tr.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/tr.json @@ -252,5 +252,7 @@ "MakeAvailableOffline": "Make available offline", "ServerNameIsRestarting": "Emby Server - {0} is restarting.", "ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", "PleaseRestartServerName": "Please restart Emby Server - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/uk.json b/dashboard-ui/bower_components/emby-webcomponents/strings/uk.json index 04c60a4d15..15ff01f2dd 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/uk.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/uk.json @@ -252,5 +252,7 @@ "MakeAvailableOffline": "Make available offline", "ServerNameIsRestarting": "Emby Server - {0} is restarting.", "ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", "PleaseRestartServerName": "Please restart Emby Server - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/vi.json b/dashboard-ui/bower_components/emby-webcomponents/strings/vi.json index fa221e593f..d5428b4e97 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/vi.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/vi.json @@ -252,5 +252,7 @@ "MakeAvailableOffline": "Make available offline", "ServerNameIsRestarting": "Emby Server - {0} is restarting.", "ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", "PleaseRestartServerName": "Please restart Emby Server - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/zh-CN.json b/dashboard-ui/bower_components/emby-webcomponents/strings/zh-CN.json index 7af47e4433..1b9897833b 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/zh-CN.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/zh-CN.json @@ -252,5 +252,7 @@ "MakeAvailableOffline": "Make available offline", "ServerNameIsRestarting": "Emby Server - {0} is restarting.", "ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", "PleaseRestartServerName": "Please restart Emby Server - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/zh-HK.json b/dashboard-ui/bower_components/emby-webcomponents/strings/zh-HK.json index 3ed8836499..1a296176a2 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/zh-HK.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/zh-HK.json @@ -252,5 +252,7 @@ "MakeAvailableOffline": "Make available offline", "ServerNameIsRestarting": "Emby Server - {0} is restarting.", "ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", "PleaseRestartServerName": "Please restart Emby Server - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/zh-TW.json b/dashboard-ui/bower_components/emby-webcomponents/strings/zh-TW.json index 37d13a1c13..4687a2d7b8 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/zh-TW.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/zh-TW.json @@ -252,5 +252,7 @@ "MakeAvailableOffline": "Make available offline", "ServerNameIsRestarting": "Emby Server - {0} is restarting.", "ServerNameIsShuttingDown": "Emby Server - {0} is shutting down.", + "HeaderDeleteItems": "Delete Items", + "ConfirmDeleteItems": "Deleting these items will delete them from both the file system and your media library. Are you sure you wish to continue?", "PleaseRestartServerName": "Please restart Emby Server - {0}." } \ No newline at end of file diff --git a/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.js b/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.js index 82a6703e9b..899981232e 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.js +++ b/dashboard-ui/bower_components/emby-webcomponents/subtitleeditor/subtitleeditor.js @@ -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 + '">'; diff --git a/dashboard-ui/bower_components/polymer/.bower.json b/dashboard-ui/bower_components/polymer/.bower.json index a96f0f050e..25eb84c037 100644 --- a/dashboard-ui/bower_components/polymer/.bower.json +++ b/dashboard-ui/bower_components/polymer/.bower.json @@ -32,14 +32,14 @@ "iron-component-page": "polymerElements/iron-component-page#^1.1.6" }, "private": true, - "homepage": "https://github.com/Polymer/polymer", + "homepage": "https://github.com/polymer/polymer", "_release": "1.6.1", "_resolution": { "type": "version", "tag": "v1.6.1", "commit": "1f197d9d7874b1e5808b2a5c26f34446a7d912fc" }, - "_source": "git://github.com/Polymer/polymer.git", + "_source": "git://github.com/polymer/polymer.git", "_target": "^1.1.0", - "_originalSource": "Polymer/polymer" + "_originalSource": "polymer/polymer" } \ No newline at end of file diff --git a/dashboard-ui/components/dockedtabs/dockedtabs.js b/dashboard-ui/components/dockedtabs/dockedtabs.js index 7c5074b891..001ae3ff86 100644 --- a/dashboard-ui/components/dockedtabs/dockedtabs.js +++ b/dashboard-ui/components/dockedtabs/dockedtabs.js @@ -20,13 +20,13 @@
home
Home
\ \ \ \ \ '; + + html += ''; + + return html; + } + + function renderList(listInstance, jobs) { + + if ((new Date().getTime() - listInstance.lastDataLoad) < 60000) { + refreshList(listInstance, jobs); + return; + } + + listInstance.lastDataLoad = new Date().getTime(); + + var html = ''; + var lastTargetName = ''; + + var showTargetName = !listInstance.options.isLocalSync; + + var hasOpenSection = false; + + for (var i = 0, length = jobs.length; i < length; i++) { + + var job = jobs[i]; + if (showTargetName) { + var targetName = job.TargetName || 'Unknown'; + + if (targetName != lastTargetName) { + + if (lastTargetName) { + html += ''; + html += '
'; + html += '
'; + html += '
'; + hasOpenSection = false; + } + + lastTargetName = targetName; + + html += '
'; + + html += '
' + targetName + '
'; + + html += '
'; + html += '
'; + hasOpenSection = true; + } + } + + html += getSyncJobHtml(listInstance, job); + } + + if (hasOpenSection) { + html += '
'; + } + + var elem = listInstance.options.element; + elem.innerHTML = html; + + imageLoader.lazyChildren(elem); + } + + function fetchData(listInstance) { + + listInstance.lastDataLoad = 0; + loading.show(); + + var options = {}; + var apiClient = getApiClient(listInstance); + + if (listInstance.options.userId) { + options.UserId = listInstance.options.userId; + } + + if (listInstance.options.isLocalSync) { + options.TargetId = apiClient.deviceId(); + } + + return apiClient.getJSON(ApiClient.getUrl('Sync/Jobs', options)).then(function (response) { + + renderList(listInstance, response.Items); + loading.hide(); + }); + } + + function startListening(listInstance) { + + var startParams = "0,1500"; + + var apiClient = getApiClient(listInstance); + + if (listInstance.options.userId) { + startParams += "," + listInstance.options.userId; + } + if (listInstance.options.isLocalSync) { + startParams += "," + apiClient.deviceId(); + } + + if (apiClient.isWebSocketOpen()) { + apiClient.sendWebSocketMessage("SyncJobsStart", startParams); + } + } + + function stopListening(listInstance) { + + var apiClient = getApiClient(listInstance); + if (apiClient.isWebSocketOpen()) { + apiClient.sendWebSocketMessage("SyncJobsStop", ""); + } + } + + function getApiClient(listInstance) { + return connectionManager.getApiClient(listInstance.options.serverId); + } + + function showJobMenu(listInstance, elem) { + + var item = dom.parentWithClass(elem, 'listItem'); + var jobId = item.getAttribute('data-id'); + var status = item.getAttribute('data-status'); + + var menuItems = []; + + if (status == 'Cancelled') { + menuItems.push({ + name: globalize.translate('ButtonDelete'), + id: 'delete' + }); + } else { + menuItems.push({ + name: globalize.translate('ButtonCancelSyncJob'), + id: 'cancel' + }); + } + + require(['actionsheet'], function (actionsheet) { + + actionsheet.show({ + items: menuItems, + positionTo: elem, + callback: function (id) { + + switch (id) { + + case 'delete': + cancelJob(listInstance, jobId); + break; + case 'cancel': + cancelJob(listInstance, jobId); + break; + default: + break; + } + } + }); + + }); + } + + function onElementClick(e) { + + var listInstance = this; + + var btnJobMenu = dom.parentWithClass(e.target, 'btnJobMenu'); + if (btnJobMenu) { + showJobMenu(this, btnJobMenu); + return; + } + + var listItem = dom.parentWithClass(e.target, 'listItem'); + if (listItem) { + var jobId = listItem.getAttribute('data-id'); + // edit job + events.trigger(listInstance, 'jobedit', [jobId, listInstance.options.serverId]); + } + } + + function syncJobList(options) { + this.options = options; + + var onSyncJobsUpdatedHandler = onSyncJobsUpdated.bind(this); + this.onSyncJobsUpdatedHandler = null; + events.on(serverNotifications, 'SyncJobs', onSyncJobsUpdatedHandler); + + var onClickHandler = onElementClick.bind(this); + options.element.addEventListener('click', onClickHandler); + this.onClickHandler = onClickHandler; + + fetchData(this); + startListening(this); + } + + syncJobList.prototype.destroy = function () { + + stopListening(this); + + this.options = null; + + var onSyncJobsUpdatedHandler = this.onSyncJobsUpdatedHandler; + this.onSyncJobsUpdatedHandler = null; + events.off(serverNotifications, 'SyncJobs', onSyncJobsUpdatedHandler); + + var onClickHandler = this.onClickHandler; + this.onClickHandler = null; + options.element.removeEventListener('click', onClickHandler); + }; + + return syncJobList; +}); \ No newline at end of file diff --git a/dashboard-ui/css/librarymenu.css b/dashboard-ui/css/librarymenu.css index 86240a33b2..c6af9a4996 100644 --- a/dashboard-ui/css/librarymenu.css +++ b/dashboard-ui/css/librarymenu.css @@ -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 { diff --git a/dashboard-ui/edititemmetadata.html b/dashboard-ui/edititemmetadata.html index ab30e97ff2..f3905adfa0 100644 --- a/dashboard-ui/edititemmetadata.html +++ b/dashboard-ui/edititemmetadata.html @@ -1,4 +1,4 @@ -
+
- '; - $(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) }); diff --git a/dashboard-ui/scripts/syncactivity.js b/dashboard-ui/scripts/syncactivity.js index 8d1ea3e983..d0f88a1fef 100644 --- a/dashboard-ui/scripts/syncactivity.js +++ b/dashboard-ui/scripts/syncactivity.js @@ -1,394 +1,4 @@ -define(['jQuery', 'paper-icon-button-light', 'cardStyle'], function ($) { - - function cancelJob(page, id) { - - var msg = Globalize.translate('CancelSyncJobConfirmation'); - - require(['confirm'], function (confirm) { - - confirm(msg, Globalize.translate('HeaderCancelSyncJob')).then(function () { - - Dashboard.showLoadingMsg(); - - ApiClient.ajax({ - - url: ApiClient.getUrl('Sync/Jobs/' + id), - type: 'DELETE' - - }).then(function () { - - reloadData(page); - }); - }); - }); - } - - function getSyncStatusBanner(job) { - - var opacity = '.85'; - var background = 'rgba(204,51,51,' + opacity + ')'; - var text = Globalize.translate('SyncJobStatus' + job.Status); - - if (job.Status == 'Completed') { - background = 'rgba(82, 181, 75, ' + opacity + ')'; - } - else if (job.Status == 'CompletedWithError') { - - } - else if (job.Status == 'Queued') { - background = 'rgba(51, 136, 204, ' + opacity + ')'; - } - else if (job.Status == 'ReadyToTransfer') { - background = 'rgba(51, 136, 204, ' + opacity + ')'; - } - else if (job.Status == 'Transferring') { - background = 'rgba(72, 0, 255, ' + opacity + ')'; - } - else if (job.Status == 'Converting') { - background = 'rgba(255, 106, 0, ' + opacity + ')'; - } - - var html = ''; - html += '
'; - html += text; - html += '
'; - - return html; - } - - function getSyncJobHtml(page, job, cardBoxCssClass, syncJobPage) { - - var html = ''; - - html += "
"; - - html += '
'; - html += '"; - - html += '
'; - - var textLines = []; - - if (job.ParentName) { - textLines.push(job.ParentName); - } - - textLines.push(job.Name); - - if (job.ItemCount == 1) { - textLines.push(Globalize.translate('ValueItemCount', job.ItemCount)); - } else { - textLines.push(Globalize.translate('ValueItemCountPlural', job.ItemCount)); - } - - if (!job.ParentName) { - textLines.push(' '); - } - - html += '
'; - html += ''; - html += "
"; - - for (var i = 0, length = textLines.length; i < length; i++) { - html += "
"; - html += textLines[i]; - html += "
"; - } - - // cardFooter - html += "
"; - - // cardBox - html += "
"; - - // card - html += "
"; - - return html; - } - - var lastDataLoad = 0; - - function loadData(page, jobs) { - - if ((new Date().getTime() - lastDataLoad) < 60000) { - refreshData(page, jobs); - return; - } - - lastDataLoad = new Date().getTime(); - - var html = ''; - var lastTargetName = ''; - - var cardBoxCssClass = 'cardBox visualCardBox'; - - var syncJobPage = 'syncjob.html'; - var showTargetName = true; - - if ($(page).hasClass('mySyncPage')) { - syncJobPage = 'mysyncjob.html'; - - showTargetName = !hasLocalSync(); - } - - var hasOpenSection = false; - - for (var i = 0, length = jobs.length; i < length; i++) { - - var job = jobs[i]; - if (showTargetName) { - var targetName = job.TargetName || 'Unknown'; - - if (targetName != lastTargetName) { - - if (lastTargetName) { - html += '
'; - html += '
'; - html += '
'; - html += '
'; - hasOpenSection = false; - } - - lastTargetName = targetName; - - html += '
'; - - html += '
' + targetName + '
'; - - html += '
'; - html += '
'; - hasOpenSection = true; - } - } - - html += getSyncJobHtml(page, job, cardBoxCssClass, syncJobPage); - } - - if (hasOpenSection) { - html += '
'; - } - - var elem = $('.syncActivity', page).html(html).lazyChildren(); - - $('.btnJobMenu', elem).on('click', function () { - showJobMenu(page, this); - }); - - if (!jobs.length) { - - elem.html('
' + Globalize.translate('MessageNoSyncJobsFound') + '
'); - } - } - - $.fn.lazyChildren = function () { - - for (var i = 0, length = this.length; i < length; i++) { - ImageLoader.lazyChildren(this[i]); - } - return this; - }; - - function refreshData(page, jobs) { - - for (var i = 0, length = jobs.length; i < length; i++) { - - var job = jobs[i]; - refreshJob(page, job); - } - } - - function refreshJob(page, job) { - - var card = page.querySelector('.card[data-id=\'' + job.Id + '\']'); - - if (!card) { - return; - } - - var banner = card.querySelector('.syncStatusBanner'); - - if (banner.getAttribute('data-status') == job.Status) { - var elem = document.createElement('div'); - elem.innerHTML = getSyncStatusBanner(job); - elem = elem.querySelector('.syncStatusBanner'); - elem.parentNode.removeChild(elem); - - banner.parentNode.replaceChild(elem, banner); - } - - var progress = job.Progress || 0; - var cardFooter = card.querySelector('.cardFooter'); - - if (progress == 0 || progress >= 100) { - cardFooter.classList.add('hide'); - } - else { - cardFooter.classList.remove('hide'); - cardFooter.querySelector('.itemProgressBar').value = progress; - } - } - - function showJobMenu(page, elem) { - - var card = $(elem).parents('.card'); - var jobId = card.attr('data-id'); - var status = card.attr('data-status'); - - var menuItems = []; - - if (status == 'Cancelled') { - menuItems.push({ - name: Globalize.translate('ButtonDelete'), - id: 'delete' - }); - } else { - menuItems.push({ - name: Globalize.translate('ButtonCancelSyncJob'), - id: 'cancel' - }); - } - - require(['actionsheet'], function (actionsheet) { - - actionsheet.show({ - items: menuItems, - positionTo: elem, - callback: function (id) { - - switch (id) { - - case 'delete': - cancelJob(page, jobId); - break; - case 'cancel': - cancelJob(page, jobId); - break; - default: - break; - } - } - }); - - }); - } - - function hasLocalSync() { - return Dashboard.capabilities().SupportsSync; - } - - function reloadData(page) { - - lastDataLoad = 0; - Dashboard.showLoadingMsg(); - - var options = {}; - - Dashboard.getCurrentUser().then(function (user) { - - if ($(page).hasClass('mySyncPage')) { - options.UserId = Dashboard.getCurrentUserId(); - - if (hasLocalSync()) { - options.TargetId = ApiClient.deviceId(); - } - } - - ApiClient.getJSON(ApiClient.getUrl('Sync/Jobs', options)).then(function (response) { - - loadData(page, response.Items); - Dashboard.hideLoadingMsg(); - - }); - }); - } - - function onWebSocketMessage(e, msg) { - - var page = $($.mobile.activePage)[0]; - - if (msg.MessageType == "SyncJobs") { - - var data = msg.Data; - - if (hasLocalSync()) { - var targetId = ApiClient.deviceId(); - data = data.filter(function (j) { - return j.TargetId == targetId; - }); - } - loadData(page, data); - } - } - - function startListening(page) { - - var startParams = "0,1500"; - - if ($(page).hasClass('mySyncPage')) { - startParams += "," + Dashboard.getCurrentUserId(); - } - - if (ApiClient.isWebSocketOpen()) { - ApiClient.sendWebSocketMessage("SyncJobsStart", startParams); - } - - } - - function stopListening() { - - if (ApiClient.isWebSocketOpen()) { - ApiClient.sendWebSocketMessage("SyncJobsStop", ""); - } - - } +define(['loading', 'apphost', 'globalize', 'syncJobList', 'events', 'localsync', 'emby-button', 'paper-icon-button-light'], function (loading, appHost, globalize, syncJobList, events) { function getTabs() { return [ @@ -410,57 +20,49 @@ }]; } - $(document).on('pageinit', ".syncActivityPage", function () { + function initSupporterInfo(view, params) { - var page = this; + view.querySelector('.supporterPromotion .mainText').innerHTML = globalize.translate('HeaderSyncRequiresSupporterMembership'); - $('.btnSyncSupporter', page).on('click', function () { + var apiClient = ApiClient; + apiClient.getPluginSecurityInfo().then(function (regInfo) { - requirejs(["registrationservices"], function () { - RegistrationServices.validateFeature('sync'); - }); - }); - $('.supporterPromotion .mainText', page).html(Globalize.translate('HeaderSyncRequiresSupporterMembership')); - - }).on('pageshow', ".syncActivityPage", function () { - - if (this.id == 'syncActivityPage') { - LibraryMenu.setTabs('syncadmin', 0, getTabs); - } - var page = this; - - Dashboard.getPluginSecurityInfo().then(function (pluginSecurityInfo) { - - if (pluginSecurityInfo.IsMBSupporter) { - $('.supporterPromotionContainer', page).hide(); + if (regInfo.IsMBSupporter) { + view.querySelector('.supporterPromotionContainer').classList.add('hide'); } else { - $('.supporterPromotionContainer', page).show(); + view.querySelector('.supporterPromotionContainer').classList.remove('hide'); } + + }, function () { + + view.querySelector('.supporterPromotionContainer').classList.remove('hide'); + }); + } + + return function (view, params) { + + initSupporterInfo(view, params); + var mySyncJobList = new syncJobList({ + isLocalSync: params.mode === 'offline', + serverId: ApiClient.serverId(), + userId: params.mode === 'offline' ? null : ApiClient.getCurrentUserId(), + element: view.querySelector('.syncActivity') }); - reloadData(page); + events.on(mySyncJobList, 'jobedit', function (e, jobId, serverId) { - // on here - $('.btnSync', page).taskButton({ - mode: 'on', - progressElem: page.querySelector('.syncProgress'), - taskKey: 'SyncPrepare' + Dashboard.navigate('syncjob.html?id=' + jobId); }); - startListening(page); - Events.on(ApiClient, "websocketmessage", onWebSocketMessage); + view.addEventListener('viewshow', function () { - }).on('pagebeforehide', ".syncActivityPage", function () { - - var page = this; - - // off here - $('.btnSync', page).taskButton({ - mode: 'off' + LibraryMenu.setTabs('syncadmin', 0, getTabs); }); - stopListening(); - Events.off(ApiClient, "websocketmessage", onWebSocketMessage); - }); + view.addEventListener('viewdestroy', function () { + + mySyncJobList.destroy(); + }); + }; }); \ No newline at end of file diff --git a/dashboard-ui/scripts/syncjob.js b/dashboard-ui/scripts/syncjob.js index 8a714501f3..20d444e4e8 100644 --- a/dashboard-ui/scripts/syncjob.js +++ b/dashboard-ui/scripts/syncjob.js @@ -18,7 +18,7 @@ require(['syncDialog'], function (syncDialog) { syncDialog.renderForm({ - elem: $('.formFields', page), + elem: page.querySelector('.formFields'), dialogOptions: dialogOptions, dialogOptionsFn: getTargetDialogOptionsFn(dialogOptions), showName: true, diff --git a/dashboard-ui/strings/en-US.json b/dashboard-ui/strings/en-US.json index 36715f32da..95902d3d85 100644 --- a/dashboard-ui/strings/en-US.json +++ b/dashboard-ui/strings/en-US.json @@ -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", @@ -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" } diff --git a/dashboard-ui/syncactivity.html b/dashboard-ui/syncactivity.html index 5624f02c1b..aadb63fd2e 100644 --- a/dashboard-ui/syncactivity.html +++ b/dashboard-ui/syncactivity.html @@ -1,4 +1,4 @@ -
+