added delete helper

This commit is contained in:
Luke Pulverenti 2016-12-08 10:40:20 -05:00
parent b12487668b
commit ef8dbee498
18 changed files with 132 additions and 210 deletions

View File

@ -16,12 +16,12 @@
}, },
"devDependencies": {}, "devDependencies": {},
"ignore": [], "ignore": [],
"version": "1.1.96", "version": "1.1.97",
"_release": "1.1.96", "_release": "1.1.97",
"_resolution": { "_resolution": {
"type": "version", "type": "version",
"tag": "1.1.96", "tag": "1.1.97",
"commit": "d510fead0ace4166990b22f3f6c9fa0deb537bed" "commit": "7ad11d6e25959e56bd99c60890f9fdfeb9080444"
}, },
"_source": "https://github.com/MediaBrowser/Emby.ApiClient.Javascript.git", "_source": "https://github.com/MediaBrowser/Emby.ApiClient.Javascript.git",
"_target": "^1.1.51", "_target": "^1.1.51",

View File

@ -14,12 +14,12 @@
}, },
"devDependencies": {}, "devDependencies": {},
"ignore": [], "ignore": [],
"version": "1.4.370", "version": "1.4.372",
"_release": "1.4.370", "_release": "1.4.372",
"_resolution": { "_resolution": {
"type": "version", "type": "version",
"tag": "1.4.370", "tag": "1.4.372",
"commit": "13cf9a90d0c2a763e6d453e004f528136456062f" "commit": "503d8cb37d08e6ab6981f254aa04371641c84f32"
}, },
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git", "_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
"_target": "^1.2.1", "_target": "^1.2.1",

View File

@ -0,0 +1,40 @@
define(['connectionManager', 'confirm', 'embyRouter', 'globalize'], function (connectionManager, confirm, embyRouter, globalize) {
'use strict';
function deleteItem(options) {
var item = options.item;
var itemId = item.Id;
var parentId = item.SeasonId || item.SeriesId || item.ParentId;
var serverId = item.ServerId;
var msg = globalize.translate('sharedcomponents#ConfirmDeleteItem');
var title = globalize.translate('sharedcomponents#HeaderDeleteItem');
var apiClient = connectionManager.getApiClient(item.ServerId);
return confirm({
title: title,
text: msg,
confirmText: globalize.translate('sharedcomponents#Delete'),
primary: 'cancel'
}).then(function () {
return apiClient.deleteItem(itemId).then(function () {
if (options.navigate) {
if (parentId) {
embyRouter.showItem(parentId, serverId);
} else {
embyRouter.goHome();
}
}
});
});
}
return {
deleteItem: deleteItem
};
});

View File

@ -577,25 +577,16 @@ define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'embyRouter',
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
var itemId = item.Id; require(['deleteHelper'], function (deleteHelper) {
var msg = globalize.translate('sharedcomponents#ConfirmDeleteItem'); deleteHelper.deleteItem({
var title = globalize.translate('sharedcomponents#HeaderDeleteItem');
item: item,
require(['confirm'], function (confirm) { navigate: false
confirm({
title: title,
text: msg,
confirmText: globalize.translate('sharedcomponents#Delete'),
primary: 'cancel'
}).then(function () { }).then(function () {
apiClient.deleteItem(itemId).then(function () { resolve(true);
resolve(true);
});
}, reject); }, reject);

View File

@ -1,6 +1,6 @@
{ {
"EmbyPremiereMonthlyWithPrice": "Emby Premiere Monthly {0}", "EmbyPremiereMonthlyWithPrice": "Emby Premier Mensual {0}",
"HeaderAlreadyPaid": "Already Paid?", "HeaderAlreadyPaid": "\u00bfYa ha pagado?",
"MessageUnlockAppWithPurchaseOrSupporter": "Desbloquee esta caracter\u00edstica con una peque\u00f1a compra \u00fanica, o con una suscripci\u00f3n activa de Emby Premier.", "MessageUnlockAppWithPurchaseOrSupporter": "Desbloquee esta caracter\u00edstica con una peque\u00f1a compra \u00fanica, o con una suscripci\u00f3n activa de Emby Premier.",
"MessageUnlockAppWithSupporter": "Desbloquee esta caracter\u00edstica con una suscripci\u00f3n activa de Emby Premier.", "MessageUnlockAppWithSupporter": "Desbloquee esta caracter\u00edstica con una suscripci\u00f3n activa de Emby Premier.",
"MessageToValidateSupporter": "Si tiene una subscripci\u00f3n de Emby Premiere activa, aseg\u00farese de que ha configurado Emby Premiere en el Panel de Control del Servidor Emby, al cual puede acceder dando click en Emby Premiere dentro del men\u00fa principal.", "MessageToValidateSupporter": "Si tiene una subscripci\u00f3n de Emby Premiere activa, aseg\u00farese de que ha configurado Emby Premiere en el Panel de Control del Servidor Emby, al cual puede acceder dando click en Emby Premiere dentro del men\u00fa principal.",

View File

@ -31,7 +31,7 @@
"ButtonGotIt": "Lo tengo", "ButtonGotIt": "Lo tengo",
"ButtonRestart": "Reiniciar", "ButtonRestart": "Reiniciar",
"RecordingCancelled": "Grabaci\u00f3n cancelada.", "RecordingCancelled": "Grabaci\u00f3n cancelada.",
"SeriesCancelled": "Series cancelled.", "SeriesCancelled": "Series cancelada.",
"RecordingScheduled": "Grabaci\u00f3n programada.", "RecordingScheduled": "Grabaci\u00f3n programada.",
"SeriesRecordingScheduled": "Series recording scheduled.", "SeriesRecordingScheduled": "Series recording scheduled.",
"HeaderNewRecording": "Nueva grabaci\u00f3n", "HeaderNewRecording": "Nueva grabaci\u00f3n",
@ -119,8 +119,8 @@
"Shuffle": "Mezclar", "Shuffle": "Mezclar",
"Identify": "Identificar", "Identify": "Identificar",
"EditImages": "Editar im\u00e1genes", "EditImages": "Editar im\u00e1genes",
"EditInfo": "Edit info", "EditInfo": "Editar info",
"Sync": "Sync", "Sync": "Sincronizar",
"InstantMix": "Mix instant\u00e1neo", "InstantMix": "Mix instant\u00e1neo",
"ViewAlbum": "Ver album", "ViewAlbum": "Ver album",
"ViewArtist": "Ver artista", "ViewArtist": "Ver artista",
@ -143,8 +143,8 @@
"VoiceInput": "Voice Input", "VoiceInput": "Voice Input",
"LabelContentType": "Tipo de contenido:", "LabelContentType": "Tipo de contenido:",
"LabelPath": "Ruta:", "LabelPath": "Ruta:",
"LabelTitle": "Title:", "LabelTitle": "T\u00edtulo",
"LabelOriginalTitle": "Original title:", "LabelOriginalTitle": "T\u00edtulo original",
"LabelSortTitle": "Sort title:", "LabelSortTitle": "Sort title:",
"LabelDateAdded": "Fecha a\u00f1adido:", "LabelDateAdded": "Fecha a\u00f1adido:",
"ConfigureDateAdded": "Configura como la fecha a\u00f1adida se determina en el Panel de Control del servidor Emby en los ajustes de la biblioteca.", "ConfigureDateAdded": "Configura como la fecha a\u00f1adida se determina en el Panel de Control del servidor Emby en los ajustes de la biblioteca.",
@ -188,13 +188,13 @@
"HeaderDisplaySettings": "Display Settings", "HeaderDisplaySettings": "Display Settings",
"LabelTreatImageAs": "Tratar imagen como:", "LabelTreatImageAs": "Tratar imagen como:",
"LabelDisplayOrder": "Mostrar orden:", "LabelDisplayOrder": "Mostrar orden:",
"Countries": "Countries", "Countries": "Pa\u00edses",
"Genres": "Genres", "Genres": "G\u00e9neros",
"HeaderPlotKeywords": "Palabras clave del reparto", "HeaderPlotKeywords": "Palabras clave del reparto",
"Studios": "Studios", "Studios": "Estudios",
"Tags": "Etiquetas", "Tags": "Etiquetas",
"HeaderMetadataSettings": "Ajustes de metadatos", "HeaderMetadataSettings": "Ajustes de metadatos",
"People": "People", "People": "Gente",
"LabelMetadataDownloadLanguage": "Idioma preferido visualizado", "LabelMetadataDownloadLanguage": "Idioma preferido visualizado",
"LabelLockItemToPreventChanges": "Bloquear este \u00edtem para evitar futuros cambios", "LabelLockItemToPreventChanges": "Bloquear este \u00edtem para evitar futuros cambios",
"MessageLeaveEmptyToInherit": "Dejar en blanco para heredar la configuraci\u00f3n de un elemento principal, o el valor predeterminado global.", "MessageLeaveEmptyToInherit": "Dejar en blanco para heredar la configuraci\u00f3n de un elemento principal, o el valor predeterminado global.",
@ -211,7 +211,7 @@
"LabelDiscNumber": "N\u00famero de disco", "LabelDiscNumber": "N\u00famero de disco",
"LabelParentNumber": "N\u00famero de los padres", "LabelParentNumber": "N\u00famero de los padres",
"SortName": "Ordenar por nombre", "SortName": "Ordenar por nombre",
"ReleaseDate": "Release date", "ReleaseDate": "Fecha de lanzamiento",
"Continuing": "Continuando", "Continuing": "Continuando",
"Ended": "Finalizado", "Ended": "Finalizado",
"HeaderEnabledFields": "Campos activados", "HeaderEnabledFields": "Campos activados",
@ -223,7 +223,7 @@
"ProductionLocations": "Production locations", "ProductionLocations": "Production locations",
"BirthLocation": "Birth location", "BirthLocation": "Birth location",
"ParentalRating": "Parental Rating", "ParentalRating": "Parental Rating",
"Name": "Name", "Name": "Nombre",
"Overview": "Overview", "Overview": "Overview",
"LabelType": "Tipo:", "LabelType": "Tipo:",
"LabelPersonRole": "Rol:", "LabelPersonRole": "Rol:",
@ -231,7 +231,7 @@
"Actor": "Actor", "Actor": "Actor",
"Composer": "Compositor", "Composer": "Compositor",
"Director": "Director", "Director": "Director",
"GuestStar": "Guest star", "GuestStar": "Estrella invitada",
"Producer": "Productor", "Producer": "Productor",
"Writer": "Escritor", "Writer": "Escritor",
"InstallingPackage": "Instalando {0}", "InstallingPackage": "Instalando {0}",
@ -281,11 +281,11 @@
"LabelItemLimit": "L\u00edmite de \u00edtems:", "LabelItemLimit": "L\u00edmite de \u00edtems:",
"LabelItemLimitHelp": "Opcional. Pon un l\u00edmite de cantidad de \u00edtems que se sincronizar\u00e1n.", "LabelItemLimitHelp": "Opcional. Pon un l\u00edmite de cantidad de \u00edtems que se sincronizar\u00e1n.",
"PleaseSelectDeviceToSyncTo": "Por favor selecciona el dispositivo donde quieres sincronizar.", "PleaseSelectDeviceToSyncTo": "Por favor selecciona el dispositivo donde quieres sincronizar.",
"Screenshots": "Screenshots", "Screenshots": "Capturas de pantalla",
"MoveRight": "Move right", "MoveRight": "Mover derecha",
"MoveLeft": "Move left", "MoveLeft": "Mover izquierda",
"ConfirmDeleteImage": "Delete image?", "ConfirmDeleteImage": "Borrar imagen",
"HeaderEditImages": "Edit Images", "HeaderEditImages": "Editar Im\u00e1genes",
"Settings": "Ajustes", "Settings": "Ajustes",
"ShowIndicatorsFor": "Show indicators for:", "ShowIndicatorsFor": "Show indicators for:",
"NewEpisodes": "New episodes", "NewEpisodes": "New episodes",
@ -297,7 +297,7 @@
"HeaderCancelRecording": "Cancel Recording", "HeaderCancelRecording": "Cancel Recording",
"CancelRecording": "Cancel recording", "CancelRecording": "Cancel recording",
"HeaderKeepRecording": "Keep Recording", "HeaderKeepRecording": "Keep Recording",
"HeaderCancelSeries": "Cancel Series", "HeaderCancelSeries": "Cancelar Series",
"HeaderKeepSeries": "Keep Series", "HeaderKeepSeries": "Keep Series",
"HeaderLearnMore": "Learn More", "HeaderLearnMore": "Learn More",
"DeleteMedia": "Delete media", "DeleteMedia": "Delete media",
@ -346,7 +346,7 @@
"ButtonUnlockWithPurchase": "Unlock with Purchase", "ButtonUnlockWithPurchase": "Unlock with Purchase",
"ButtonUnlockPrice": "Unlock {0}", "ButtonUnlockPrice": "Unlock {0}",
"ButtonAlreadyPaid": "Already Paid?", "ButtonAlreadyPaid": "Already Paid?",
"ButtonPlayOneMinute": "Play One Minute", "ButtonPlayOneMinute": "Reproducir un minuto",
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning", "PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning",
"HeaderUnlockFeature": "Unlock Feature", "HeaderUnlockFeature": "Unlock Feature",
"MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", "MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?",

View File

@ -1,9 +1,9 @@
{ {
"EmbyPremiereMonthlyWithPrice": "Emby Premiere Monthly {0}", "EmbyPremiereMonthlyWithPrice": "Emby Premiere Mensile {0}",
"HeaderAlreadyPaid": "Already Paid?", "HeaderAlreadyPaid": "Hai gi\u00e0 pagato?",
"MessageUnlockAppWithPurchaseOrSupporter": "Sblocca questa funzionalit\u00e0 con un piccolo acquisto singolo, o con un abbonamento Emby Premiere.", "MessageUnlockAppWithPurchaseOrSupporter": "Sblocca questa funzionalit\u00e0 con un piccolo acquisto singolo, o con un abbonamento Emby Premiere.",
"MessageUnlockAppWithSupporter": "Sblocca questa funzionalit\u00e0 con un abbonamento Emby Premiere", "MessageUnlockAppWithSupporter": "Sblocca questa funzionalit\u00e0 con un abbonamento Emby Premiere",
"MessageToValidateSupporter": "If you have an active Emby Premiere subscription, ensure you've setup Emby Premiere in your Emby Server Dashboard, which you can access by clicking Emby Premiere within the main menu.", "MessageToValidateSupporter": "Se hai un abbonamento Emby Premiere, assicurati di averlo configurato nel Pannello di Controllo del Server, a cui puoi accedere cliccando su Emby Premiere dal menu principale.",
"ValueSpecialEpisodeName": "Speciale - {0}", "ValueSpecialEpisodeName": "Speciale - {0}",
"Share": "Condividi", "Share": "Condividi",
"Add": "Aggiungi", "Add": "Aggiungi",
@ -31,7 +31,7 @@
"ButtonGotIt": "Ho capito", "ButtonGotIt": "Ho capito",
"ButtonRestart": "Riavvia", "ButtonRestart": "Riavvia",
"RecordingCancelled": "Registrazione eliminata.", "RecordingCancelled": "Registrazione eliminata.",
"SeriesCancelled": "Series cancelled.", "SeriesCancelled": "Serie TV annullate.",
"RecordingScheduled": "Registrazione pianificata.", "RecordingScheduled": "Registrazione pianificata.",
"SeriesRecordingScheduled": "Registrazione serie TV pianificata.", "SeriesRecordingScheduled": "Registrazione serie TV pianificata.",
"HeaderNewRecording": "Nuova Registrazione", "HeaderNewRecording": "Nuova Registrazione",
@ -48,16 +48,16 @@
"HeaderCloudSync": "Sinc. nel Cloud", "HeaderCloudSync": "Sinc. nel Cloud",
"HeaderOfflineDownloads": "Media Offline", "HeaderOfflineDownloads": "Media Offline",
"HeaderOfflineDownloadsDescription": "Scarica facilmente i media sui tuoi dispositivi per l'uso offline.", "HeaderOfflineDownloadsDescription": "Scarica facilmente i media sui tuoi dispositivi per l'uso offline.",
"CloudSyncFeatureDescription": "Sync your media to the cloud for easy backup, archiving, and converting.", "CloudSyncFeatureDescription": "Sincronizza i tuoi media nel cloud per un facile backup, archiviazione e conversione.",
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.", "CoverArtFeatureDescription": "Copertine crea delle copertine divertenti ed altri effetti per aiutarti a personalizzare le immagini dei tuoi media.",
"CoverArt": "Copertine", "CoverArt": "Copertine",
"CinemaModeFeatureDescription": "Modalit\u00e0 Cinema ti d\u00e0 la vera esperienza del cinema con trailer ed intro personalizzate prima del contenuto principale.", "CinemaModeFeatureDescription": "Modalit\u00e0 Cinema ti d\u00e0 la vera esperienza del cinema con trailer ed intro personalizzate prima del contenuto principale.",
"HeaderFreeApps": "Free Emby Apps", "HeaderFreeApps": "App Gratuite Emby",
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.", "FreeAppsFeatureDescription": "Godi dell'accesso gratuito alle App Emby dai tuoi dispositivi.",
"HeaderBecomeProjectSupporter": "Ottieni Emby Premiere", "HeaderBecomeProjectSupporter": "Ottieni Emby Premiere",
"MessageActiveSubscriptionRequiredSeriesRecordings": "Un abbonamento a Emby Premiere \u00e8 necessario per creare registrazioni personalizzate delle serie tv", "MessageActiveSubscriptionRequiredSeriesRecordings": "Un abbonamento a Emby Premiere \u00e8 necessario per creare registrazioni personalizzate delle serie tv",
"LabelEmailAddress": "Indirizzo e-mail:", "LabelEmailAddress": "Indirizzo e-mail:",
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.", "PromoConvertRecordingsToStreamingFormat": "Converti automaticamente le registrazioni in un formato adatto allo streaming con Emby Premiere. Le registrazioni saranno convertite in tempo reale ad MP4 o MKV, in base alle impostazioni del server.",
"FeatureRequiresEmbyPremiere": "Questa funzionalit\u00e0 richiede un abbonamento ad Emby Premiere.", "FeatureRequiresEmbyPremiere": "Questa funzionalit\u00e0 richiede un abbonamento ad Emby Premiere.",
"HeaderConvertYourRecordings": "Converti le tue Registrazioni", "HeaderConvertYourRecordings": "Converti le tue Registrazioni",
"Record": "Registra", "Record": "Registra",
@ -112,7 +112,7 @@
"Favorite": "Preferito", "Favorite": "Preferito",
"Like": "Mi piace", "Like": "Mi piace",
"Dislike": "Non mi piace", "Dislike": "Non mi piace",
"RefreshDialogHelp": "Metadata is refreshed based on settings and internet services that are enabled in the Emby Server dashboard.", "RefreshDialogHelp": "I Metadati sono aggiornati in base alle impostazioni ed ai servizi Internet abilitati nel Pannello di Controllo del Server Emby.",
"Open": "Apri", "Open": "Apri",
"Play": "Riproduci", "Play": "Riproduci",
"Queue": "In coda", "Queue": "In coda",
@ -147,7 +147,7 @@
"LabelOriginalTitle": "Titolo originale:", "LabelOriginalTitle": "Titolo originale:",
"LabelSortTitle": "Titolo per ordinamento:", "LabelSortTitle": "Titolo per ordinamento:",
"LabelDateAdded": "Aggiunto il:", "LabelDateAdded": "Aggiunto il:",
"ConfigureDateAdded": "Configure how date added is determined in the Emby Server dashboard under Library settings", "ConfigureDateAdded": "Scegli come determinare la data di aggiunta dal Pannello di Controllo del Server Emby, nelle impostazioni della Libreria.",
"LabelStatus": "Stato:", "LabelStatus": "Stato:",
"LabelArtists": "Artisti:", "LabelArtists": "Artisti:",
"LabelArtistsHelp": "Separa valori multipli usando ;", "LabelArtistsHelp": "Separa valori multipli usando ;",
@ -290,37 +290,37 @@
"ShowIndicatorsFor": "Mostra indicatori per:", "ShowIndicatorsFor": "Mostra indicatori per:",
"NewEpisodes": "Nuovi episodi", "NewEpisodes": "Nuovi episodi",
"HDPrograms": "Programmi HD", "HDPrograms": "Programmi HD",
"LiveBroadcasts": "Live broadcasts", "LiveBroadcasts": "Tramissioni in diretta",
"Premieres": "Prime Visioni", "Premieres": "Prime Visioni",
"RepeatEpisodes": "Ripeti episodi", "RepeatEpisodes": "Ripeti episodi",
"DvrSubscriptionRequired": "Emby DVR richiede un abbonamento ad Emby Premiere.", "DvrSubscriptionRequired": "Emby DVR richiede un abbonamento ad Emby Premiere.",
"HeaderCancelRecording": "Annulla la Registrazione", "HeaderCancelRecording": "Annulla la Registrazione",
"CancelRecording": "Annulla la registrazione", "CancelRecording": "Annulla la registrazione",
"HeaderKeepRecording": "Keep Recording", "HeaderKeepRecording": "Tieni Registrazione",
"HeaderCancelSeries": "Cancel Series", "HeaderCancelSeries": "Annulla Serie TV",
"HeaderKeepSeries": "Keep Series", "HeaderKeepSeries": "Mantieni Serie TV",
"HeaderLearnMore": "Saperne di pi\u00f9", "HeaderLearnMore": "Saperne di pi\u00f9",
"DeleteMedia": "Elimina media", "DeleteMedia": "Elimina media",
"SeriesSettings": "Impostazioni Serie TV", "SeriesSettings": "Impostazioni Serie TV",
"HeaderRecordingOptions": "Opzioni di Registrazione", "HeaderRecordingOptions": "Opzioni di Registrazione",
"CancelSeries": "Cancel series", "CancelSeries": "Annulla Serie TV",
"DoNotRecord": "Non registrare", "DoNotRecord": "Non registrare",
"HeaderSeriesOptions": "Impostazioni Serie TV", "HeaderSeriesOptions": "Impostazioni Serie TV",
"LabelChannels": "Canali:", "LabelChannels": "Canali:",
"ChannelNameOnly": "Channel {0} only", "ChannelNameOnly": "Solo il canale {0}",
"Anytime": "Anytime", "Anytime": "In qualsiasi momento",
"AroundTime": "Around {0}", "AroundTime": "Circa {0}",
"LabelAirtime": "Messa in onda:", "LabelAirtime": "Messa in onda:",
"AllChannels": "Tutti i canali", "AllChannels": "Tutti i canali",
"LabelRecord": "Registra:", "LabelRecord": "Registra:",
"NewEpisodesOnly": "Solo i nuovi episodi", "NewEpisodesOnly": "Solo i nuovi episodi",
"AllEpisodes": "Tutti gli episodi", "AllEpisodes": "Tutti gli episodi",
"LabelStartWhenPossible": "Start when possible:", "LabelStartWhenPossible": "Avvia appena possibile:",
"LabelStopWhenPossible": "Stop when possible:", "LabelStopWhenPossible": "Ferma appena possibile:",
"MinutesBefore": "minuti prima", "MinutesBefore": "minuti prima",
"MinutesAfter": "minuti dopo", "MinutesAfter": "minuti dopo",
"SkipEpisodesAlreadyInMyLibrary": "Salta gli espisodi che sono gi\u00e0 nella libreria", "SkipEpisodesAlreadyInMyLibrary": "Salta gli espisodi che sono gi\u00e0 nella libreria",
"SkipEpisodesAlreadyInMyLibraryHelp": "Episodes will be compared using season and episode numbers, when available.", "SkipEpisodesAlreadyInMyLibraryHelp": "Gli episodi verranno confrontati usando la stagione ed il numero dell'episodio, quando disponibili.",
"LabelKeepUpTo": "Conservane fino a:", "LabelKeepUpTo": "Conservane fino a:",
"AsManyAsPossible": "Tutto il possibile", "AsManyAsPossible": "Tutto il possibile",
"DefaultErrorMessage": "Si \u00e8 verificato un errore durante l'elaborazione della richiesta. Si prega di riprovare pi\u00f9 tardi.", "DefaultErrorMessage": "Si \u00e8 verificato un errore durante l'elaborazione della richiesta. Si prega di riprovare pi\u00f9 tardi.",
@ -332,25 +332,25 @@
"News": "Notizie", "News": "Notizie",
"Movies": "Film", "Movies": "Film",
"Kids": "Bambini", "Kids": "Bambini",
"EnableColorCodedBackgrounds": "Enable color coded backgrounds", "EnableColorCodedBackgrounds": "Abilita sfondi a colori",
"SortChannelsBy": "Ordina canali per:", "SortChannelsBy": "Ordina canali per:",
"RecentlyWatched": "Visti di recente", "RecentlyWatched": "Visti di recente",
"ChannelNumber": "Numero canale", "ChannelNumber": "Numero canale",
"HeaderBenefitsEmbyPremiere": "Benefici di Emby Premiere", "HeaderBenefitsEmbyPremiere": "Benefici di Emby Premiere",
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.", "ThankYouForTryingEnjoyOneMinute": "Siamo lieti di offrirti un minuto di riproduzione. Grazie per aver provato Emby.",
"HeaderTryPlayback": "Try Playback", "HeaderTryPlayback": "Prova la riproduzione",
"HowDidYouPay": "How did you pay?", "HowDidYouPay": "Come hai pagato?",
"IHaveEmbyPremiere": "Sono abbonato a Emby Premiere", "IHaveEmbyPremiere": "Sono abbonato a Emby Premiere",
"IPurchasedThisApp": "Ho acquistato questa app", "IPurchasedThisApp": "Ho acquistato questa app",
"ButtonRestorePreviousPurchase": "Ripristina Acquisto", "ButtonRestorePreviousPurchase": "Ripristina Acquisto",
"ButtonUnlockWithPurchase": "Sblocca con l'Acquisto", "ButtonUnlockWithPurchase": "Sblocca con l'Acquisto",
"ButtonUnlockPrice": "Sblocca {0}", "ButtonUnlockPrice": "Sblocca {0}",
"ButtonAlreadyPaid": "Already Paid?", "ButtonAlreadyPaid": "Hai gi\u00e0 pagato?",
"ButtonPlayOneMinute": "Riproduci un minuto", "ButtonPlayOneMinute": "Riproduci un minuto",
"PlaceFavoriteChannelsAtBeginning": "Mostra prima i canali preferiti", "PlaceFavoriteChannelsAtBeginning": "Mostra prima i canali preferiti",
"HeaderUnlockFeature": "Sblocca Funzionalit\u00e0", "HeaderUnlockFeature": "Sblocca Funzionalit\u00e0",
"MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?", "MessageDidYouKnowCinemaMode": "Sapevi che con Emby Premiere puoi migliorare la tua esperienza d'uso con funzionalit\u00e0 come la Modalit\u00e0 Cinema?",
"MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.", "MessageDidYouKnowCinemaMode2": "Modalit\u00e0 Cinema ti d\u00e0 la vera esperienza del cinema con trailer ed intro personalizzate prima del contenuto principale.",
"HeaderPlayMyMedia": "Riproduci i miei Media", "HeaderPlayMyMedia": "Riproduci i miei Media",
"HeaderDiscoverEmbyPremiere": "Scopri Emby Premiere", "HeaderDiscoverEmbyPremiere": "Scopri Emby Premiere",
"OneChannel": "Un canale" "OneChannel": "Un canale"

View File

@ -1,6 +1,6 @@
{ {
"EmbyPremiereMonthlyWithPrice": "Emby Premiere Monthly {0}", "EmbyPremiereMonthlyWithPrice": "Emby Premiere \u0430\u0439 \u0431\u043e\u0439\u044b\u043d\u0448\u0430 {0}",
"HeaderAlreadyPaid": "Already Paid?", "HeaderAlreadyPaid": "\u04d8\u043b\u0434\u0435\u049b\u0430\u0448\u0430\u043d \u0442\u04e9\u043b\u0435\u043d\u0434\u0456 \u043c\u0435?",
"MessageUnlockAppWithPurchaseOrSupporter": "\u041e\u0441\u044b \u049b\u04b1\u0440\u0430\u043c\u0434\u0430\u0441\u0442\u044b \u0431\u0456\u0440 \u0436\u043e\u043b\u0493\u044b \u0441\u0430\u0442\u044b\u043f \u0430\u043b\u0443, \u043d\u0435\u043c\u0435\u0441\u0435 \u0431\u0435\u043b\u0441\u0435\u043d\u0434\u0456 Emby Premiere \u0436\u0430\u0437\u044b\u043b\u044b\u043c\u044b \u0430\u0440\u049b\u044b\u043b\u044b \u049b\u04b1\u0440\u0441\u0430\u0443\u0434\u0430\u043d \u0431\u043e\u0441\u0430\u0442\u0443.", "MessageUnlockAppWithPurchaseOrSupporter": "\u041e\u0441\u044b \u049b\u04b1\u0440\u0430\u043c\u0434\u0430\u0441\u0442\u044b \u0431\u0456\u0440 \u0436\u043e\u043b\u0493\u044b \u0441\u0430\u0442\u044b\u043f \u0430\u043b\u0443, \u043d\u0435\u043c\u0435\u0441\u0435 \u0431\u0435\u043b\u0441\u0435\u043d\u0434\u0456 Emby Premiere \u0436\u0430\u0437\u044b\u043b\u044b\u043c\u044b \u0430\u0440\u049b\u044b\u043b\u044b \u049b\u04b1\u0440\u0441\u0430\u0443\u0434\u0430\u043d \u0431\u043e\u0441\u0430\u0442\u0443.",
"MessageUnlockAppWithSupporter": "\u041e\u0441\u044b \u049b\u04b1\u0440\u0430\u043c\u0434\u0430\u0441\u0442\u044b \u0431\u0435\u043b\u0441\u0435\u043d\u0434\u0456 Emby Premiere \u0436\u0430\u0437\u044b\u043b\u044b\u043c\u044b \u0430\u0440\u049b\u044b\u043b\u044b \u049b\u04b1\u0440\u0441\u0430\u0443\u0434\u0430\u043d \u0431\u043e\u0441\u0430\u0442\u0443.", "MessageUnlockAppWithSupporter": "\u041e\u0441\u044b \u049b\u04b1\u0440\u0430\u043c\u0434\u0430\u0441\u0442\u044b \u0431\u0435\u043b\u0441\u0435\u043d\u0434\u0456 Emby Premiere \u0436\u0430\u0437\u044b\u043b\u044b\u043c\u044b \u0430\u0440\u049b\u044b\u043b\u044b \u049b\u04b1\u0440\u0441\u0430\u0443\u0434\u0430\u043d \u0431\u043e\u0441\u0430\u0442\u0443.",
"MessageToValidateSupporter": "\u0415\u0433\u0435\u0440 \u0441\u0456\u0437\u0434\u0435 \u0431\u0435\u043b\u0441\u0435\u043d\u0434\u0456 Emby Premiere \u0436\u0430\u0437\u044b\u043b\u044b\u043c\u044b \u0431\u043e\u043b\u0441\u0430, Emby Server \u0442\u0430\u049b\u0442\u0430\u0441\u044b\u043d\u0434\u0430\u0493\u044b Emby Premiere \u043e\u0440\u043d\u0430\u0442\u044b\u043b\u044b\u043f \u0442\u0435\u04a3\u0448\u0435\u043b\u0433\u0435\u043d\u0456\u043d\u0435 \u043a\u04e9\u0437 \u0436\u0435\u0442\u043a\u0456\u0437\u0456\u04a3\u0456\u0437. \u0411\u04b1\u043b \u0431\u0430\u0441\u0442\u044b \u043c\u04d9\u0437\u0456\u0440\u0434\u0435 Emby Premiere \u0434\u0435\u0433\u0435\u043d\u0434\u0456 \u043d\u04b1\u049b\u044b\u043f \u049b\u0430\u0442\u044b\u043d\u0430\u0443\u043b\u044b.", "MessageToValidateSupporter": "\u0415\u0433\u0435\u0440 \u0441\u0456\u0437\u0434\u0435 \u0431\u0435\u043b\u0441\u0435\u043d\u0434\u0456 Emby Premiere \u0436\u0430\u0437\u044b\u043b\u044b\u043c\u044b \u0431\u043e\u043b\u0441\u0430, Emby Server \u0442\u0430\u049b\u0442\u0430\u0441\u044b\u043d\u0434\u0430\u0493\u044b Emby Premiere \u043e\u0440\u043d\u0430\u0442\u044b\u043b\u044b\u043f \u0442\u0435\u04a3\u0448\u0435\u043b\u0433\u0435\u043d\u0456\u043d\u0435 \u043a\u04e9\u0437 \u0436\u0435\u0442\u043a\u0456\u0437\u0456\u04a3\u0456\u0437. \u0411\u04b1\u043b \u0431\u0430\u0441\u0442\u044b \u043c\u04d9\u0437\u0456\u0440\u0434\u0435 Emby Premiere \u0434\u0435\u0433\u0435\u043d\u0434\u0456 \u043d\u04b1\u049b\u044b\u043f \u049b\u0430\u0442\u044b\u043d\u0430\u0443\u043b\u044b.",

View File

@ -1,6 +1,6 @@
{ {
"EmbyPremiereMonthlyWithPrice": "Emby Premiere Monthly {0}", "EmbyPremiereMonthlyWithPrice": "Mensalidade Emby Premiere {0}",
"HeaderAlreadyPaid": "Already Paid?", "HeaderAlreadyPaid": "J\u00e1 Pagou?",
"MessageUnlockAppWithPurchaseOrSupporter": "Desbloqueie esta funcionalidade com uma pequena compra \u00fanica, ou com uma assinatura ativa do Emby Premiere.", "MessageUnlockAppWithPurchaseOrSupporter": "Desbloqueie esta funcionalidade com uma pequena compra \u00fanica, ou com uma assinatura ativa do Emby Premiere.",
"MessageUnlockAppWithSupporter": "Desbloqueie esta funcionalidade com uma assinatura ativa do Emby Premiere.", "MessageUnlockAppWithSupporter": "Desbloqueie esta funcionalidade com uma assinatura ativa do Emby Premiere.",
"MessageToValidateSupporter": "Se tiver uma assinatura ativa do Emby Premiere, assegure-se que configurou o Emby Premiere no Painel do Servidor Emby, que pode ser acessado clicando Emby Premiere no menu principal.", "MessageToValidateSupporter": "Se tiver uma assinatura ativa do Emby Premiere, assegure-se que configurou o Emby Premiere no Painel do Servidor Emby, que pode ser acessado clicando Emby Premiere no menu principal.",

View File

@ -1,6 +1,6 @@
{ {
"EmbyPremiereMonthlyWithPrice": "Emby Premiere Monthly {0}", "EmbyPremiereMonthlyWithPrice": "Emby Premiere \u043d\u0430 \u043c\u0435\u0441\u044f\u0446 {0}",
"HeaderAlreadyPaid": "Already Paid?", "HeaderAlreadyPaid": "\u0423\u0436\u0435 \u043e\u043f\u043b\u0430\u0442\u0438\u043b\u0438?",
"MessageUnlockAppWithPurchaseOrSupporter": "\u0420\u0430\u0437\u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0439\u0442\u0435 \u0434\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043e\u0434\u043d\u043e\u043a\u0440\u0430\u0442\u043d\u043e\u0439 \u043e\u043f\u043b\u0430\u0442\u044b, \u0438\u043b\u0438 \u0441 \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u043e\u0439 Emby Premiere .", "MessageUnlockAppWithPurchaseOrSupporter": "\u0420\u0430\u0437\u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0439\u0442\u0435 \u0434\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043e\u0434\u043d\u043e\u043a\u0440\u0430\u0442\u043d\u043e\u0439 \u043e\u043f\u043b\u0430\u0442\u044b, \u0438\u043b\u0438 \u0441 \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u043e\u0439 Emby Premiere .",
"MessageUnlockAppWithSupporter": "\u0420\u0430\u0437\u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0439\u0442\u0435 \u0434\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0441 \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u043e\u0439 Emby Premiere.", "MessageUnlockAppWithSupporter": "\u0420\u0430\u0437\u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0439\u0442\u0435 \u0434\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0441 \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u043e\u0439 Emby Premiere.",
"MessageToValidateSupporter": "\u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0449\u0430\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0430 Emby Premiere, \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e Emby Premiere \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u0432 \u0432\u0430\u0448\u0435\u0439 \u041f\u0430\u043d\u0435\u043b\u0438 Emby Server, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u043f\u043e \u0449\u0435\u043b\u0447\u043a\u0443 \u043f\u043e Emby Premiere \u0432 \u0433\u043b\u0430\u0432\u043d\u043e\u043c \u043c\u0435\u043d\u044e.", "MessageToValidateSupporter": "\u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0449\u0430\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0430 Emby Premiere, \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e Emby Premiere \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u0432 \u0432\u0430\u0448\u0435\u0439 \u041f\u0430\u043d\u0435\u043b\u0438 Emby Server, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u043f\u043e \u0449\u0435\u043b\u0447\u043a\u0443 \u043f\u043e Emby Premiere \u0432 \u0433\u043b\u0430\u0432\u043d\u043e\u043c \u043c\u0435\u043d\u044e.",
@ -80,7 +80,7 @@
"LabelName": "\u0418\u043c\u044f:", "LabelName": "\u0418\u043c\u044f:",
"NewCollectionNameExample": "\u041f\u0440\u0438\u043c\u0435\u0440: \u0417\u0432\u0451\u0437\u0434\u043d\u044b\u0435 \u0432\u043e\u0439\u043d\u044b (\u041a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f)", "NewCollectionNameExample": "\u041f\u0440\u0438\u043c\u0435\u0440: \u0417\u0432\u0451\u0437\u0434\u043d\u044b\u0435 \u0432\u043e\u0439\u043d\u044b (\u041a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f)",
"MessageItemsAdded": "\u042d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b.", "MessageItemsAdded": "\u042d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b.",
"OptionNew": "\u041d\u043e\u0432\u0430\u044f...", "OptionNew": "\u041d\u043e\u0432\u043e\u0435...",
"LabelPlaylist": "\u041f\u043b\u0435\u0439-\u043b\u0438\u0441\u0442:", "LabelPlaylist": "\u041f\u043b\u0435\u0439-\u043b\u0438\u0441\u0442:",
"AddToPlaylist": "\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u043f\u043b\u0435\u0439-\u043b\u0438\u0441\u0442", "AddToPlaylist": "\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u043f\u043b\u0435\u0439-\u043b\u0438\u0441\u0442",
"HeaderAddToPlaylist": "\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0432 \u043f\u043b\u0435\u0439-\u043b\u0438\u0441\u0442", "HeaderAddToPlaylist": "\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0432 \u043f\u043b\u0435\u0439-\u043b\u0438\u0441\u0442",

View File

@ -1,6 +1,6 @@
{ {
"name": "hls.js", "name": "hls.js",
"version": "0.6.12", "version": "0.6.13",
"license": "Apache-2.0", "license": "Apache-2.0",
"description": "Media Source Extension - HLS library, by/for Dailymotion", "description": "Media Source Extension - HLS library, by/for Dailymotion",
"homepage": "https://github.com/dailymotion/hls.js", "homepage": "https://github.com/dailymotion/hls.js",
@ -16,11 +16,11 @@
"test", "test",
"tests" "tests"
], ],
"_release": "0.6.12", "_release": "0.6.13",
"_resolution": { "_resolution": {
"type": "version", "type": "version",
"tag": "v0.6.12", "tag": "v0.6.13",
"commit": "bb378720e8bdfc6d734a60347bbf2e54ea2a3ba2" "commit": "ac72ae33a7c260ebafd44ebc1046206e37d1cfdd"
}, },
"_source": "https://github.com/dailymotion/hls.js.git", "_source": "https://github.com/dailymotion/hls.js.git",
"_target": "^0.6.11", "_target": "^0.6.11",

View File

@ -1,6 +1,6 @@
{ {
"name": "hls.js", "name": "hls.js",
"version": "0.6.12", "version": "0.6.13",
"license": "Apache-2.0", "license": "Apache-2.0",
"description": "Media Source Extension - HLS library, by/for Dailymotion", "description": "Media Source Extension - HLS library, by/for Dailymotion",
"homepage": "https://github.com/dailymotion/hls.js", "homepage": "https://github.com/dailymotion/hls.js",

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
{ {
"name": "hls.js", "name": "hls.js",
"version": "0.6.12", "version": "0.6.13",
"license": "Apache-2.0", "license": "Apache-2.0",
"description": "Media Source Extension - HLS library, by/for Dailymotion", "description": "Media Source Extension - HLS library, by/for Dailymotion",
"homepage": "https://github.com/dailymotion/hls.js", "homepage": "https://github.com/dailymotion/hls.js",
@ -56,9 +56,9 @@
"opener": "^1.4.0", "opener": "^1.4.0",
"parallelshell": "^2.0.0", "parallelshell": "^2.0.0",
"rimraf": "^2.5.1", "rimraf": "^2.5.1",
"uglify-js": "^2.7.4", "uglify-js": "^2.7.5",
"url-toolkit": "^1.0.4", "url-toolkit": "^1.0.4",
"selenium-webdriver": "^2.52.0", "selenium-webdriver": "^3.0.0",
"watchify": "^3.7.0", "watchify": "^3.7.0",
"webworkify": "^1.4.0" "webworkify": "^1.4.0"
} }

View File

@ -52,7 +52,7 @@
   
</button> </button>
<div class="detailUserDataIcons userDataIcons"></div> <div class="detailUserDataIcons userDataIcons"></div>
<button is="emby-button" type="button" class="btnDeleteItem fab mini hide" title="${DeleteMedia}"><i class="md-icon">delete</i></button> <button is="emby-button" type="button" class="btnDeleteItem fab mini hide" title="${DeleteMedia}"><i class="md-icon">&#xE872;</i></button>
</div> </div>
<div class="recordingFields hide" style="margin: .5em 0 1.5em;"> <div class="recordingFields hide" style="margin: .5em 0 1.5em;">

View File

@ -561,12 +561,6 @@
function enableNativeTrackSupport(track) { function enableNativeTrackSupport(track) {
if (browser.firefox) {
if ((currentSrc || '').toLowerCase().indexOf('.m3u8') != -1) {
return false;
}
}
if (track) { if (track) {
var format = (track.format || '').toLowerCase(); var format = (track.format || '').toLowerCase();
if (format == 'ssa' || format == 'ass') { if (format == 'ssa' || format == 'ass') {
@ -602,8 +596,6 @@
} }
customTrackIndex = -1; customTrackIndex = -1;
currentSubtitlesElement = null;
currentTrackEvents = null;
currentClock = null; currentClock = null;
var renderer = currentAssRenderer; var renderer = currentAssRenderer;
@ -637,7 +629,6 @@
destroyCustomTrack(videoElement, true); destroyCustomTrack(videoElement, true);
customTrackIndex = track.index; customTrackIndex = track.index;
renderTracksEvents(videoElement, track); renderTracksEvents(videoElement, track);
lastCustomTrackMs = 0;
} }
function renderWithLibjass(videoElement, track) { function renderWithLibjass(videoElement, track) {
@ -690,48 +681,9 @@
renderWithLibjass(videoElement, track); renderWithLibjass(videoElement, track);
return; return;
} }
var trackElement = null;
var expectedId = 'manualTrack' + track.index;
var allTracks = videoElement.textTracks; // get list of tracks
for (var i = 0; i < allTracks.length; i++) {
var currentTrack = allTracks[i];
if (currentTrack.label == expectedId) {
trackElement = currentTrack;
break;
} else {
currentTrack.mode = 'disabled';
}
}
if (!trackElement) {
trackElement = videoElement.addTextTrack('subtitles', 'manualTrack' + track.index, track.language || 'und');
trackElement.label = 'manualTrack' + track.index;
// download the track json
fetchSubtitles(track).then(function (data) {
// show in ui
console.log('downloaded ' + data.TrackEvents.length + ' track events');
// add some cues to show the text
// in safari, the cues need to be added before setting the track mode to showing
data.TrackEvents.forEach(function (trackEvent) {
trackElement.addCue(new (window.VTTCue || window.TextTrackCue)(trackEvent.StartPositionTicks / 10000000, trackEvent.EndPositionTicks / 10000000, trackEvent.Text.replace(/\\N/gi, '\n')));
});
trackElement.mode = 'showing';
});
} else {
trackElement.mode = 'showing';
}
} }
var currentSubtitlesElement;
var currentTrackEvents;
var customTrackIndex = -1; var customTrackIndex = -1;
var lastCustomTrackMs = 0;
var currentClock; var currentClock;
var currentAssRenderer; var currentAssRenderer;
function updateSubtitleText(timeMs) { function updateSubtitleText(timeMs) {
@ -740,44 +692,6 @@
if (clock) { if (clock) {
clock.seek(timeMs / 1000); clock.seek(timeMs / 1000);
} }
var trackEvents = currentTrackEvents;
if (!trackEvents) {
return;
}
if (!currentSubtitlesElement) {
var videoSubtitlesElem = document.querySelector('.videoSubtitles');
if (!videoSubtitlesElem) {
videoSubtitlesElem = document.createElement('div');
videoSubtitlesElem.classList.add('videoSubtitles');
videoSubtitlesElem.innerHTML = '<div class="videoSubtitlesInner"></div>';
document.body.appendChild(videoSubtitlesElem);
}
currentSubtitlesElement = videoSubtitlesElem.querySelector('.videoSubtitlesInner');
}
if (lastCustomTrackMs > 0) {
if (Math.abs(lastCustomTrackMs - timeMs) < 500) {
return;
}
}
lastCustomTrackMs = new Date().getTime();
var positionTicks = timeMs * 10000;
for (var i = 0, length = trackEvents.length; i < length; i++) {
var caption = trackEvents[i];
if (positionTicks >= caption.StartPositionTicks && positionTicks <= caption.EndPositionTicks) {
currentSubtitlesElement.innerHTML = caption.Text;
currentSubtitlesElement.classList.remove('hide');
return;
}
}
currentSubtitlesElement.innerHTML = '';
currentSubtitlesElement.classList.add('hide');
} }
self.setCurrentTrackElement = function (streamIndex) { self.setCurrentTrackElement = function (streamIndex) {
@ -809,6 +723,7 @@
var currentTrack = allTracks[i]; var currentTrack = allTracks[i];
console.log('currentTrack id: ' + currentTrack.id); console.log('currentTrack id: ' + currentTrack.id);
console.log('currentTrack label: ' + currentTrack.label);
var mode; var mode;

View File

@ -2148,37 +2148,12 @@
function onDeleteClick() { function onDeleteClick() {
var item = currentItem; require(['deleteHelper'], function (deleteHelper) {
var itemId = item.Id;
var parentId = item.ParentId;
var serverId = item.ServerId;
var msg = globalize.translate('sharedcomponents#ConfirmDeleteItem');
var title = globalize.translate('sharedcomponents#HeaderDeleteItem');
var apiClient = ApiClient;
require(['confirm'], function (confirm) {
confirm({
title: title,
text: msg,
confirmText: globalize.translate('sharedcomponents#Delete'),
primary: 'cancel'
}).then(function () {
apiClient.deleteItem(itemId).then(function () {
if (parentId) {
Emby.Page.showItem(parentId, serverId);
} else {
Emby.Page.goHome();
}
});
deleteHelper.deleteItem({
item: currentItem,
navigate: true
}); });
}); });
} }

View File

@ -1278,6 +1278,7 @@ var AppInfo = {};
define("peoplecardbuilder", [embyWebComponentsBowerPath + "/cardbuilder/peoplecardbuilder"], returnFirstDependency); define("peoplecardbuilder", [embyWebComponentsBowerPath + "/cardbuilder/peoplecardbuilder"], returnFirstDependency);
define("chaptercardbuilder", [embyWebComponentsBowerPath + "/cardbuilder/chaptercardbuilder"], returnFirstDependency); define("chaptercardbuilder", [embyWebComponentsBowerPath + "/cardbuilder/chaptercardbuilder"], returnFirstDependency);
define("deleteHelper", [embyWebComponentsBowerPath + "/deletehelper"], returnFirstDependency);
define("tvguide", [embyWebComponentsBowerPath + "/guide/guide"], returnFirstDependency); define("tvguide", [embyWebComponentsBowerPath + "/guide/guide"], returnFirstDependency);
define("programStyles", ['css!' + embyWebComponentsBowerPath + "/guide/programs"], returnFirstDependency); define("programStyles", ['css!' + embyWebComponentsBowerPath + "/guide/programs"], returnFirstDependency);
define("guide-settings-dialog", [embyWebComponentsBowerPath + "/guide/guide-settings"], returnFirstDependency); define("guide-settings-dialog", [embyWebComponentsBowerPath + "/guide/guide-settings"], returnFirstDependency);