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": {},
"ignore": [],
"version": "1.1.96",
"_release": "1.1.96",
"version": "1.1.97",
"_release": "1.1.97",
"_resolution": {
"type": "version",
"tag": "1.1.96",
"commit": "d510fead0ace4166990b22f3f6c9fa0deb537bed"
"tag": "1.1.97",
"commit": "7ad11d6e25959e56bd99c60890f9fdfeb9080444"
},
"_source": "https://github.com/MediaBrowser/Emby.ApiClient.Javascript.git",
"_target": "^1.1.51",

View File

@ -14,12 +14,12 @@
},
"devDependencies": {},
"ignore": [],
"version": "1.4.370",
"_release": "1.4.370",
"version": "1.4.372",
"_release": "1.4.372",
"_resolution": {
"type": "version",
"tag": "1.4.370",
"commit": "13cf9a90d0c2a763e6d453e004f528136456062f"
"tag": "1.4.372",
"commit": "503d8cb37d08e6ab6981f254aa04371641c84f32"
},
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
"_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) {
var itemId = item.Id;
require(['deleteHelper'], function (deleteHelper) {
var msg = globalize.translate('sharedcomponents#ConfirmDeleteItem');
var title = globalize.translate('sharedcomponents#HeaderDeleteItem');
require(['confirm'], function (confirm) {
confirm({
title: title,
text: msg,
confirmText: globalize.translate('sharedcomponents#Delete'),
primary: 'cancel'
deleteHelper.deleteItem({
item: item,
navigate: false
}).then(function () {
apiClient.deleteItem(itemId).then(function () {
resolve(true);
});
resolve(true);
}, reject);

View File

@ -1,6 +1,6 @@
{
"EmbyPremiereMonthlyWithPrice": "Emby Premiere Monthly {0}",
"HeaderAlreadyPaid": "Already Paid?",
"EmbyPremiereMonthlyWithPrice": "Emby Premier Mensual {0}",
"HeaderAlreadyPaid": "\u00bfYa ha pagado?",
"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.",
"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",
"ButtonRestart": "Reiniciar",
"RecordingCancelled": "Grabaci\u00f3n cancelada.",
"SeriesCancelled": "Series cancelled.",
"SeriesCancelled": "Series cancelada.",
"RecordingScheduled": "Grabaci\u00f3n programada.",
"SeriesRecordingScheduled": "Series recording scheduled.",
"HeaderNewRecording": "Nueva grabaci\u00f3n",
@ -119,8 +119,8 @@
"Shuffle": "Mezclar",
"Identify": "Identificar",
"EditImages": "Editar im\u00e1genes",
"EditInfo": "Edit info",
"Sync": "Sync",
"EditInfo": "Editar info",
"Sync": "Sincronizar",
"InstantMix": "Mix instant\u00e1neo",
"ViewAlbum": "Ver album",
"ViewArtist": "Ver artista",
@ -143,8 +143,8 @@
"VoiceInput": "Voice Input",
"LabelContentType": "Tipo de contenido:",
"LabelPath": "Ruta:",
"LabelTitle": "Title:",
"LabelOriginalTitle": "Original title:",
"LabelTitle": "T\u00edtulo",
"LabelOriginalTitle": "T\u00edtulo original",
"LabelSortTitle": "Sort title:",
"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.",
@ -188,13 +188,13 @@
"HeaderDisplaySettings": "Display Settings",
"LabelTreatImageAs": "Tratar imagen como:",
"LabelDisplayOrder": "Mostrar orden:",
"Countries": "Countries",
"Genres": "Genres",
"Countries": "Pa\u00edses",
"Genres": "G\u00e9neros",
"HeaderPlotKeywords": "Palabras clave del reparto",
"Studios": "Studios",
"Studios": "Estudios",
"Tags": "Etiquetas",
"HeaderMetadataSettings": "Ajustes de metadatos",
"People": "People",
"People": "Gente",
"LabelMetadataDownloadLanguage": "Idioma preferido visualizado",
"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.",
@ -211,7 +211,7 @@
"LabelDiscNumber": "N\u00famero de disco",
"LabelParentNumber": "N\u00famero de los padres",
"SortName": "Ordenar por nombre",
"ReleaseDate": "Release date",
"ReleaseDate": "Fecha de lanzamiento",
"Continuing": "Continuando",
"Ended": "Finalizado",
"HeaderEnabledFields": "Campos activados",
@ -223,7 +223,7 @@
"ProductionLocations": "Production locations",
"BirthLocation": "Birth location",
"ParentalRating": "Parental Rating",
"Name": "Name",
"Name": "Nombre",
"Overview": "Overview",
"LabelType": "Tipo:",
"LabelPersonRole": "Rol:",
@ -231,7 +231,7 @@
"Actor": "Actor",
"Composer": "Compositor",
"Director": "Director",
"GuestStar": "Guest star",
"GuestStar": "Estrella invitada",
"Producer": "Productor",
"Writer": "Escritor",
"InstallingPackage": "Instalando {0}",
@ -281,11 +281,11 @@
"LabelItemLimit": "L\u00edmite de \u00edtems:",
"LabelItemLimitHelp": "Opcional. Pon un l\u00edmite de cantidad de \u00edtems que se sincronizar\u00e1n.",
"PleaseSelectDeviceToSyncTo": "Por favor selecciona el dispositivo donde quieres sincronizar.",
"Screenshots": "Screenshots",
"MoveRight": "Move right",
"MoveLeft": "Move left",
"ConfirmDeleteImage": "Delete image?",
"HeaderEditImages": "Edit Images",
"Screenshots": "Capturas de pantalla",
"MoveRight": "Mover derecha",
"MoveLeft": "Mover izquierda",
"ConfirmDeleteImage": "Borrar imagen",
"HeaderEditImages": "Editar Im\u00e1genes",
"Settings": "Ajustes",
"ShowIndicatorsFor": "Show indicators for:",
"NewEpisodes": "New episodes",
@ -297,7 +297,7 @@
"HeaderCancelRecording": "Cancel Recording",
"CancelRecording": "Cancel recording",
"HeaderKeepRecording": "Keep Recording",
"HeaderCancelSeries": "Cancel Series",
"HeaderCancelSeries": "Cancelar Series",
"HeaderKeepSeries": "Keep Series",
"HeaderLearnMore": "Learn More",
"DeleteMedia": "Delete media",
@ -346,7 +346,7 @@
"ButtonUnlockWithPurchase": "Unlock with Purchase",
"ButtonUnlockPrice": "Unlock {0}",
"ButtonAlreadyPaid": "Already Paid?",
"ButtonPlayOneMinute": "Play One Minute",
"ButtonPlayOneMinute": "Reproducir un minuto",
"PlaceFavoriteChannelsAtBeginning": "Place favorite channels at the beginning",
"HeaderUnlockFeature": "Unlock Feature",
"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}",
"HeaderAlreadyPaid": "Already Paid?",
"EmbyPremiereMonthlyWithPrice": "Emby Premiere Mensile {0}",
"HeaderAlreadyPaid": "Hai gi\u00e0 pagato?",
"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",
"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}",
"Share": "Condividi",
"Add": "Aggiungi",
@ -31,7 +31,7 @@
"ButtonGotIt": "Ho capito",
"ButtonRestart": "Riavvia",
"RecordingCancelled": "Registrazione eliminata.",
"SeriesCancelled": "Series cancelled.",
"SeriesCancelled": "Serie TV annullate.",
"RecordingScheduled": "Registrazione pianificata.",
"SeriesRecordingScheduled": "Registrazione serie TV pianificata.",
"HeaderNewRecording": "Nuova Registrazione",
@ -48,16 +48,16 @@
"HeaderCloudSync": "Sinc. nel Cloud",
"HeaderOfflineDownloads": "Media 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.",
"CoverArtFeatureDescription": "Cover Art creates fun covers and other treatments to help you personalize your media images.",
"CloudSyncFeatureDescription": "Sincronizza i tuoi media nel cloud per un facile backup, archiviazione e conversione.",
"CoverArtFeatureDescription": "Copertine crea delle copertine divertenti ed altri effetti per aiutarti a personalizzare le immagini dei tuoi media.",
"CoverArt": "Copertine",
"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",
"FreeAppsFeatureDescription": "Enjoy free access to Emby apps for your devices.",
"HeaderFreeApps": "App Gratuite Emby",
"FreeAppsFeatureDescription": "Godi dell'accesso gratuito alle App Emby dai tuoi dispositivi.",
"HeaderBecomeProjectSupporter": "Ottieni Emby Premiere",
"MessageActiveSubscriptionRequiredSeriesRecordings": "Un abbonamento a Emby Premiere \u00e8 necessario per creare registrazioni personalizzate delle serie tv",
"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.",
"HeaderConvertYourRecordings": "Converti le tue Registrazioni",
"Record": "Registra",
@ -112,7 +112,7 @@
"Favorite": "Preferito",
"Like": "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",
"Play": "Riproduci",
"Queue": "In coda",
@ -147,7 +147,7 @@
"LabelOriginalTitle": "Titolo originale:",
"LabelSortTitle": "Titolo per ordinamento:",
"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:",
"LabelArtists": "Artisti:",
"LabelArtistsHelp": "Separa valori multipli usando ;",
@ -290,37 +290,37 @@
"ShowIndicatorsFor": "Mostra indicatori per:",
"NewEpisodes": "Nuovi episodi",
"HDPrograms": "Programmi HD",
"LiveBroadcasts": "Live broadcasts",
"LiveBroadcasts": "Tramissioni in diretta",
"Premieres": "Prime Visioni",
"RepeatEpisodes": "Ripeti episodi",
"DvrSubscriptionRequired": "Emby DVR richiede un abbonamento ad Emby Premiere.",
"HeaderCancelRecording": "Annulla la Registrazione",
"CancelRecording": "Annulla la registrazione",
"HeaderKeepRecording": "Keep Recording",
"HeaderCancelSeries": "Cancel Series",
"HeaderKeepSeries": "Keep Series",
"HeaderKeepRecording": "Tieni Registrazione",
"HeaderCancelSeries": "Annulla Serie TV",
"HeaderKeepSeries": "Mantieni Serie TV",
"HeaderLearnMore": "Saperne di pi\u00f9",
"DeleteMedia": "Elimina media",
"SeriesSettings": "Impostazioni Serie TV",
"HeaderRecordingOptions": "Opzioni di Registrazione",
"CancelSeries": "Cancel series",
"CancelSeries": "Annulla Serie TV",
"DoNotRecord": "Non registrare",
"HeaderSeriesOptions": "Impostazioni Serie TV",
"LabelChannels": "Canali:",
"ChannelNameOnly": "Channel {0} only",
"Anytime": "Anytime",
"AroundTime": "Around {0}",
"ChannelNameOnly": "Solo il canale {0}",
"Anytime": "In qualsiasi momento",
"AroundTime": "Circa {0}",
"LabelAirtime": "Messa in onda:",
"AllChannels": "Tutti i canali",
"LabelRecord": "Registra:",
"NewEpisodesOnly": "Solo i nuovi episodi",
"AllEpisodes": "Tutti gli episodi",
"LabelStartWhenPossible": "Start when possible:",
"LabelStopWhenPossible": "Stop when possible:",
"LabelStartWhenPossible": "Avvia appena possibile:",
"LabelStopWhenPossible": "Ferma appena possibile:",
"MinutesBefore": "minuti prima",
"MinutesAfter": "minuti dopo",
"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:",
"AsManyAsPossible": "Tutto il possibile",
"DefaultErrorMessage": "Si \u00e8 verificato un errore durante l'elaborazione della richiesta. Si prega di riprovare pi\u00f9 tardi.",
@ -332,25 +332,25 @@
"News": "Notizie",
"Movies": "Film",
"Kids": "Bambini",
"EnableColorCodedBackgrounds": "Enable color coded backgrounds",
"EnableColorCodedBackgrounds": "Abilita sfondi a colori",
"SortChannelsBy": "Ordina canali per:",
"RecentlyWatched": "Visti di recente",
"ChannelNumber": "Numero canale",
"HeaderBenefitsEmbyPremiere": "Benefici di Emby Premiere",
"ThankYouForTryingEnjoyOneMinute": "Please enjoy one minute of playback. Thank you for trying Emby.",
"HeaderTryPlayback": "Try Playback",
"HowDidYouPay": "How did you pay?",
"ThankYouForTryingEnjoyOneMinute": "Siamo lieti di offrirti un minuto di riproduzione. Grazie per aver provato Emby.",
"HeaderTryPlayback": "Prova la riproduzione",
"HowDidYouPay": "Come hai pagato?",
"IHaveEmbyPremiere": "Sono abbonato a Emby Premiere",
"IPurchasedThisApp": "Ho acquistato questa app",
"ButtonRestorePreviousPurchase": "Ripristina Acquisto",
"ButtonUnlockWithPurchase": "Sblocca con l'Acquisto",
"ButtonUnlockPrice": "Sblocca {0}",
"ButtonAlreadyPaid": "Already Paid?",
"ButtonAlreadyPaid": "Hai gi\u00e0 pagato?",
"ButtonPlayOneMinute": "Riproduci un minuto",
"PlaceFavoriteChannelsAtBeginning": "Mostra prima i canali preferiti",
"HeaderUnlockFeature": "Sblocca Funzionalit\u00e0",
"MessageDidYouKnowCinemaMode": "Did you know that with Emby Premiere, you can enhance your experience with features like Cinema Mode?",
"MessageDidYouKnowCinemaMode2": "Cinema Mode gives you the true cinema experience with trailers and custom intros before the main feature.",
"MessageDidYouKnowCinemaMode": "Sapevi che con Emby Premiere puoi migliorare la tua esperienza d'uso con funzionalit\u00e0 come la Modalit\u00e0 Cinema?",
"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",
"HeaderDiscoverEmbyPremiere": "Scopri Emby Premiere",
"OneChannel": "Un canale"

View File

@ -1,6 +1,6 @@
{
"EmbyPremiereMonthlyWithPrice": "Emby Premiere Monthly {0}",
"HeaderAlreadyPaid": "Already Paid?",
"EmbyPremiereMonthlyWithPrice": "Emby Premiere \u0430\u0439 \u0431\u043e\u0439\u044b\u043d\u0448\u0430 {0}",
"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.",
"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.",

View File

@ -1,6 +1,6 @@
{
"EmbyPremiereMonthlyWithPrice": "Emby Premiere Monthly {0}",
"HeaderAlreadyPaid": "Already Paid?",
"EmbyPremiereMonthlyWithPrice": "Mensalidade Emby Premiere {0}",
"HeaderAlreadyPaid": "J\u00e1 Pagou?",
"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.",
"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}",
"HeaderAlreadyPaid": "Already Paid?",
"EmbyPremiereMonthlyWithPrice": "Emby Premiere \u043d\u0430 \u043c\u0435\u0441\u044f\u0446 {0}",
"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 .",
"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.",
@ -80,7 +80,7 @@
"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)",
"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:",
"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",

View File

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

View File

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

View File

@ -52,7 +52,7 @@
 
</button>
<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 class="recordingFields hide" style="margin: .5em 0 1.5em;">

View File

@ -561,12 +561,6 @@
function enableNativeTrackSupport(track) {
if (browser.firefox) {
if ((currentSrc || '').toLowerCase().indexOf('.m3u8') != -1) {
return false;
}
}
if (track) {
var format = (track.format || '').toLowerCase();
if (format == 'ssa' || format == 'ass') {
@ -602,8 +596,6 @@
}
customTrackIndex = -1;
currentSubtitlesElement = null;
currentTrackEvents = null;
currentClock = null;
var renderer = currentAssRenderer;
@ -637,7 +629,6 @@
destroyCustomTrack(videoElement, true);
customTrackIndex = track.index;
renderTracksEvents(videoElement, track);
lastCustomTrackMs = 0;
}
function renderWithLibjass(videoElement, track) {
@ -690,48 +681,9 @@
renderWithLibjass(videoElement, track);
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 lastCustomTrackMs = 0;
var currentClock;
var currentAssRenderer;
function updateSubtitleText(timeMs) {
@ -740,44 +692,6 @@
if (clock) {
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) {
@ -809,6 +723,7 @@
var currentTrack = allTracks[i];
console.log('currentTrack id: ' + currentTrack.id);
console.log('currentTrack label: ' + currentTrack.label);
var mode;

View File

@ -2148,37 +2148,12 @@
function onDeleteClick() {
var item = currentItem;
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();
}
});
require(['deleteHelper'], function (deleteHelper) {
deleteHelper.deleteItem({
item: currentItem,
navigate: true
});
});
}

View File

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