From 8929c6cbc920f4f2d66063f1de810a3bb6f47f39 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 27 Aug 2015 13:31:50 -0400 Subject: [PATCH 01/13] update roboto font --- .../iron-flex-layout/.bower.json | 6 ++-- .../bower_components/paper-ripple/.bower.json | 6 ++-- dashboard-ui/css/site.css | 30 +++++++++---------- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/dashboard-ui/bower_components/iron-flex-layout/.bower.json b/dashboard-ui/bower_components/iron-flex-layout/.bower.json index 90b7b9e929..6533803466 100644 --- a/dashboard-ui/bower_components/iron-flex-layout/.bower.json +++ b/dashboard-ui/bower_components/iron-flex-layout/.bower.json @@ -23,14 +23,14 @@ "paper-styles": "polymerelements/paper-styles#^1.0.0", "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0" }, - "homepage": "https://github.com/polymerelements/iron-flex-layout", + "homepage": "https://github.com/PolymerElements/iron-flex-layout", "_release": "1.0.3", "_resolution": { "type": "version", "tag": "v1.0.3", "commit": "e6c2cfec18354973ac03e70dcd8afcc3c72d09b9" }, - "_source": "git://github.com/polymerelements/iron-flex-layout.git", + "_source": "git://github.com/PolymerElements/iron-flex-layout.git", "_target": "^1.0.0", - "_originalSource": "polymerelements/iron-flex-layout" + "_originalSource": "PolymerElements/iron-flex-layout" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/paper-ripple/.bower.json b/dashboard-ui/bower_components/paper-ripple/.bower.json index 93d8b8c843..0cbf50c9ff 100644 --- a/dashboard-ui/bower_components/paper-ripple/.bower.json +++ b/dashboard-ui/bower_components/paper-ripple/.bower.json @@ -26,14 +26,14 @@ "web-component-tester": "*", "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0" }, - "homepage": "https://github.com/PolymerElements/paper-ripple", + "homepage": "https://github.com/polymerelements/paper-ripple", "_release": "1.0.1", "_resolution": { "type": "version", "tag": "v1.0.1", "commit": "af19d904802437c305390bb03415c11661de3d0a" }, - "_source": "git://github.com/PolymerElements/paper-ripple.git", + "_source": "git://github.com/polymerelements/paper-ripple.git", "_target": "^1.0.0", - "_originalSource": "PolymerElements/paper-ripple" + "_originalSource": "polymerelements/paper-ripple" } \ No newline at end of file diff --git a/dashboard-ui/css/site.css b/dashboard-ui/css/site.css index 0db3298dfe..503c60efcd 100644 --- a/dashboard-ui/css/site.css +++ b/dashboard-ui/css/site.css @@ -115,7 +115,7 @@ font-family: 'Roboto'; font-style: normal; font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url(http://fonts.gstatic.com/s/roboto/v15/ek4gzZ-GeXAPcSbHtCeQI_esZW2xOQ-xsNqO47m55DA.woff2) format('woff2'), url(fonts/roboto/RobotoRegular.woff) format('woff'); + src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v15/ek4gzZ-GeXAPcSbHtCeQI_esZW2xOQ-xsNqO47m55DA.woff2) format('woff2'), url(fonts/roboto/RobotoRegular.woff) format('woff'); unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F; } /* cyrillic */ @@ -123,7 +123,7 @@ font-family: 'Roboto'; font-style: normal; font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url(http://fonts.gstatic.com/s/roboto/v15/mErvLBYg_cXG3rLvUsKT_fesZW2xOQ-xsNqO47m55DA.woff2) format('woff2'), url(fonts/roboto/RobotoRegular.woff) format('woff'); + src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v15/mErvLBYg_cXG3rLvUsKT_fesZW2xOQ-xsNqO47m55DA.woff2) format('woff2'), url(fonts/roboto/RobotoRegular.woff) format('woff'); unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @@ -131,7 +131,7 @@ font-family: 'Roboto'; font-style: normal; font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url(http://fonts.gstatic.com/s/roboto/v15/-2n2p-_Y08sg57CNWQfKNvesZW2xOQ-xsNqO47m55DA.woff2) format('woff2'), url(fonts/roboto/RobotoRegular.woff) format('woff'); + src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v15/-2n2p-_Y08sg57CNWQfKNvesZW2xOQ-xsNqO47m55DA.woff2) format('woff2'), url(fonts/roboto/RobotoRegular.woff) format('woff'); unicode-range: U+1F00-1FFF; } /* greek */ @@ -139,7 +139,7 @@ font-family: 'Roboto'; font-style: normal; font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url(http://fonts.gstatic.com/s/roboto/v15/u0TOpm082MNkS5K0Q4rhqvesZW2xOQ-xsNqO47m55DA.woff2) format('woff2'), url(fonts/roboto/RobotoRegular.woff) format('woff'); + src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v15/u0TOpm082MNkS5K0Q4rhqvesZW2xOQ-xsNqO47m55DA.woff2) format('woff2'), url(fonts/roboto/RobotoRegular.woff) format('woff'); unicode-range: U+0370-03FF; } /* vietnamese */ @@ -147,7 +147,7 @@ font-family: 'Roboto'; font-style: normal; font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url(http://fonts.gstatic.com/s/roboto/v15/NdF9MtnOpLzo-noMoG0miPesZW2xOQ-xsNqO47m55DA.woff2) format('woff2'), url(fonts/roboto/RobotoRegular.woff) format('woff'); + src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v15/NdF9MtnOpLzo-noMoG0miPesZW2xOQ-xsNqO47m55DA.woff2) format('woff2'), url(fonts/roboto/RobotoRegular.woff) format('woff'); unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB; } /* latin-ext */ @@ -171,7 +171,7 @@ font-family: 'Roboto'; font-style: normal; font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url(http://fonts.gstatic.com/s/roboto/v15/ZLqKeelYbATG60EpZBSDyxJtnKITppOI_IvcXXDNrsc.woff2) format('woff2'), url(fonts/roboto/RobotoMedium.woff) format('woff'); + src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v15/ZLqKeelYbATG60EpZBSDyxJtnKITppOI_IvcXXDNrsc.woff2) format('woff2'), url(fonts/roboto/RobotoMedium.woff) format('woff'); unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F; } /* cyrillic */ @@ -179,7 +179,7 @@ font-family: 'Roboto'; font-style: normal; font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url(http://fonts.gstatic.com/s/roboto/v15/oHi30kwQWvpCWqAhzHcCSBJtnKITppOI_IvcXXDNrsc.woff2) format('woff2'), url(fonts/roboto/RobotoMedium.woff) format('woff'); + src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v15/oHi30kwQWvpCWqAhzHcCSBJtnKITppOI_IvcXXDNrsc.woff2) format('woff2'), url(fonts/roboto/RobotoMedium.woff) format('woff'); unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @@ -187,7 +187,7 @@ font-family: 'Roboto'; font-style: normal; font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url(http://fonts.gstatic.com/s/roboto/v15/rGvHdJnr2l75qb0YND9NyBJtnKITppOI_IvcXXDNrsc.woff2) format('woff2'), url(fonts/roboto/RobotoMedium.woff) format('woff'); + src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v15/rGvHdJnr2l75qb0YND9NyBJtnKITppOI_IvcXXDNrsc.woff2) format('woff2'), url(fonts/roboto/RobotoMedium.woff) format('woff'); unicode-range: U+1F00-1FFF; } /* greek */ @@ -195,7 +195,7 @@ font-family: 'Roboto'; font-style: normal; font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url(http://fonts.gstatic.com/s/roboto/v15/mx9Uck6uB63VIKFYnEMXrRJtnKITppOI_IvcXXDNrsc.woff2) format('woff2'), url(fonts/roboto/RobotoMedium.woff) format('woff'); + src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v15/mx9Uck6uB63VIKFYnEMXrRJtnKITppOI_IvcXXDNrsc.woff2) format('woff2'), url(fonts/roboto/RobotoMedium.woff) format('woff'); unicode-range: U+0370-03FF; } /* vietnamese */ @@ -203,7 +203,7 @@ font-family: 'Roboto'; font-style: normal; font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url(http://fonts.gstatic.com/s/roboto/v15/mbmhprMH69Zi6eEPBYVFhRJtnKITppOI_IvcXXDNrsc.woff2) format('woff2'), url(fonts/roboto/RobotoMedium.woff) format('woff'); + src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v15/mbmhprMH69Zi6eEPBYVFhRJtnKITppOI_IvcXXDNrsc.woff2) format('woff2'), url(fonts/roboto/RobotoMedium.woff) format('woff'); unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB; } /* latin-ext */ @@ -227,7 +227,7 @@ font-family: 'Roboto'; font-style: normal; font-weight: 700; - src: local('Roboto Bold'), local('Roboto-Bold'), url(http://fonts.gstatic.com/s/roboto/v15/77FXFjRbGzN4aCrSFhlh3hJtnKITppOI_IvcXXDNrsc.woff2) format('woff2'), url(fonts/roboto/RobotoBold.woff) format('woff'); + src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v15/77FXFjRbGzN4aCrSFhlh3hJtnKITppOI_IvcXXDNrsc.woff2) format('woff2'), url(fonts/roboto/RobotoBold.woff) format('woff'); unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F; } /* cyrillic */ @@ -235,7 +235,7 @@ font-family: 'Roboto'; font-style: normal; font-weight: 700; - src: local('Roboto Bold'), local('Roboto-Bold'), url(http://fonts.gstatic.com/s/roboto/v15/isZ-wbCXNKAbnjo6_TwHThJtnKITppOI_IvcXXDNrsc.woff2) format('woff2'), url(fonts/roboto/RobotoBold.woff) format('woff'); + src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v15/isZ-wbCXNKAbnjo6_TwHThJtnKITppOI_IvcXXDNrsc.woff2) format('woff2'), url(fonts/roboto/RobotoBold.woff) format('woff'); unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @@ -243,7 +243,7 @@ font-family: 'Roboto'; font-style: normal; font-weight: 700; - src: local('Roboto Bold'), local('Roboto-Bold'), url(http://fonts.gstatic.com/s/roboto/v15/UX6i4JxQDm3fVTc1CPuwqhJtnKITppOI_IvcXXDNrsc.woff2) format('woff2'), url(fonts/roboto/RobotoBold.woff) format('woff'); + src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v15/UX6i4JxQDm3fVTc1CPuwqhJtnKITppOI_IvcXXDNrsc.woff2) format('woff2'), url(fonts/roboto/RobotoBold.woff) format('woff'); unicode-range: U+1F00-1FFF; } /* greek */ @@ -251,7 +251,7 @@ font-family: 'Roboto'; font-style: normal; font-weight: 700; - src: local('Roboto Bold'), local('Roboto-Bold'), url(http://fonts.gstatic.com/s/roboto/v15/jSN2CGVDbcVyCnfJfjSdfBJtnKITppOI_IvcXXDNrsc.woff2) format('woff2'), url(fonts/roboto/RobotoBold.woff) format('woff'); + src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v15/jSN2CGVDbcVyCnfJfjSdfBJtnKITppOI_IvcXXDNrsc.woff2) format('woff2'), url(fonts/roboto/RobotoBold.woff) format('woff'); unicode-range: U+0370-03FF; } /* vietnamese */ @@ -259,7 +259,7 @@ font-family: 'Roboto'; font-style: normal; font-weight: 700; - src: local('Roboto Bold'), local('Roboto-Bold'), url(http://fonts.gstatic.com/s/roboto/v15/PwZc-YbIL414wB9rB1IAPRJtnKITppOI_IvcXXDNrsc.woff2) format('woff2'), url(fonts/roboto/RobotoBold.woff) format('woff'); + src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v15/PwZc-YbIL414wB9rB1IAPRJtnKITppOI_IvcXXDNrsc.woff2) format('woff2'), url(fonts/roboto/RobotoBold.woff) format('woff'); unicode-range: U+0102-0103, U+1EA0-1EF1, U+20AB; } /* latin-ext */ From 9599bbbd351bd3007ee7b562737e553402b7b922 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 27 Aug 2015 15:59:42 -0400 Subject: [PATCH 02/13] update m3u tuners --- dashboard-ui/livetv.html | 2 +- dashboard-ui/movies.html | 133 +++++++++--------- dashboard-ui/scripts/movies.js | 13 +- dashboard-ui/scripts/site.js | 2 +- dashboard-ui/themes/ios.css | 4 + .../thirdparty/paper-button-style.css | 40 ++++++ 6 files changed, 115 insertions(+), 79 deletions(-) diff --git a/dashboard-ui/livetv.html b/dashboard-ui/livetv.html index 0cf1b52c27..25315908bd 100644 --- a/dashboard-ui/livetv.html +++ b/dashboard-ui/livetv.html @@ -7,7 +7,7 @@
- + ${TabSuggestions} ${TabGuide} ${TabChannels} diff --git a/dashboard-ui/movies.html b/dashboard-ui/movies.html index 36fca2779c..aa06f7725a 100644 --- a/dashboard-ui/movies.html +++ b/dashboard-ui/movies.html @@ -7,7 +7,7 @@
- + ${TabSuggestions} ${TabMovies} ${TabTrailers} @@ -144,88 +144,81 @@
-
- ${TabFilter} +
+ + ${HeaderFilters} + + + + + + + + + + + + + + + + + + +
+
+ +
+

${HeaderGenres}

+ +
+
-
-
- - ${HeaderFilters} - - - +
+

${HeaderParentalRatings}

- - - - - - - - - - - - - - -
-
- -
-

${HeaderGenres}

- -
-
+
+
-
-

${HeaderParentalRatings}

+
+

${HeaderTags}

-
-
+
+
-
-

${HeaderTags}

+
+

${HeaderVideoTypes}

-
-
+
+ + + + + + + + + + + + + + + + + +
+
-
-

${HeaderVideoTypes}

+
+

${HeaderYears}

-
- - - - - - - - - - - - - - - - - - -
+
- -
-

${HeaderYears}

- -
-
-
-
diff --git a/dashboard-ui/scripts/movies.js b/dashboard-ui/scripts/movies.js index 76c9aea1ca..055f7d366a 100644 --- a/dashboard-ui/scripts/movies.js +++ b/dashboard-ui/scripts/movies.js @@ -270,9 +270,9 @@ }).checkboxradio('refresh'); - $('.chk3D', viewPanel).checked(query.Is3D == true).checkboxradio('refresh'); - $('.chkHD', viewPanel).checked(query.IsHD == true).checkboxradio('refresh'); - $('.chkSD', viewPanel).checked(query.IsHD == false).checkboxradio('refresh'); + $('.chk3DFilter', viewPanel).checked(query.Is3D == true).checkboxradio('refresh'); + $('.chkHDFilter', viewPanel).checked(query.IsHD == true).checkboxradio('refresh'); + $('.chkSDFilter', viewPanel).checked(query.IsHD == false).checkboxradio('refresh'); $('.alphabetPicker', tabContent).alphaValue(query.NameStartsWithOrGreater); } @@ -335,7 +335,7 @@ reloadItems(tabContent, viewPanel); }); - $('.chk3D', viewPanel).on('change', function () { + $('.chk3DFilter', viewPanel).on('change', function () { var query = getQuery(); query.StartIndex = 0; @@ -344,16 +344,15 @@ reloadItems(tabContent, viewPanel); }); - $('.chkHD', viewPanel).on('change', function () { + $('.chkHDFilter', viewPanel).on('change', function () { var query = getQuery(); query.StartIndex = 0; query.IsHD = this.checked ? true : null; - reloadItems(tabContent, viewPanel); }); - $('.chkSD', viewPanel).on('change', function () { + $('.chkSDFilter', viewPanel).on('change', function () { var query = getQuery(); query.StartIndex = 0; diff --git a/dashboard-ui/scripts/site.js b/dashboard-ui/scripts/site.js index 9034e7d2a1..dc6823fae0 100644 --- a/dashboard-ui/scripts/site.js +++ b/dashboard-ui/scripts/site.js @@ -1887,7 +1887,7 @@ var AppInfo = {}; var apiClient = window.ApiClient; // Close the connection gracefully when possible - if (apiClient && apiClient.isWebSocketOpen()) { + if (apiCblient && apiClient.isWebSocketOpen()) { var localActivePlayers = MediaController.getPlayers().filter(function (p) { diff --git a/dashboard-ui/themes/ios.css b/dashboard-ui/themes/ios.css index 457eeb630a..94358f580b 100644 --- a/dashboard-ui/themes/ios.css +++ b/dashboard-ui/themes/ios.css @@ -50,6 +50,10 @@ html, body, .ui-btn, .pageTitle { margin: 0 auto 6px; } +.libraryViewNav paper-tabs iron-icon { + margin: 6px auto 6px; +} + .libraryViewNav #selectionBar { background-color: transparent !important; } diff --git a/dashboard-ui/thirdparty/paper-button-style.css b/dashboard-ui/thirdparty/paper-button-style.css index 95e42bb9b3..e6752419fe 100644 --- a/dashboard-ui/thirdparty/paper-button-style.css +++ b/dashboard-ui/thirdparty/paper-button-style.css @@ -329,6 +329,46 @@ paper-menu-item { display: none !important; } +.libraryViewNav #tabsContainer { + margin: auto; + -ms-flex: auto; + -webkit-flex: auto; + flex: auto; + -ms-flex: none; + -webkit-flex: none; + flex: none; + flex-shrink: 0; +} + +.libraryViewNav paper-tabs { + /*display: block !important;*/ + flex: none; + flex-shrink: 0; + flex-grow: 0; +} + +.libraryViewNav paper-tab { + display: inline-block !important; + flex: none; + flex-shrink: 0; + flex-grow: 0; +} + +.papertabs-800 { + min-width: 800px; +} + +.scrollingPaperTabs #tabsContainer { + margin: 0; +} + +@media all and (min-width: 800px) { + + .papertabs-800 #tabsContainer { + margin: auto; + } +} + /*.scrollablePaperTabs #tabsContainer { text-align: center; overflow-x: scroll; From 06b74be1fdf3de1ab7cb2d546c73dca2c3be2eb9 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 28 Aug 2015 00:19:08 -0400 Subject: [PATCH 03/13] update live tv image --- dashboard-ui/apiclient/apiclient.js | 48 +------------- dashboard-ui/apiclient/connectionmanager.js | 16 ++--- .../iron-overlay-behavior/.bower.json | 8 +-- .../iron-overlay-behavior/bower.json | 2 +- .../iron-overlay-behavior.html | 21 +++---- .../iron-overlay-manager.html | 6 +- .../test/iron-overlay-behavior.html | 18 ++++++ .../neon-animation/.bower.json | 4 +- dashboard-ui/css/card.css | 4 ++ dashboard-ui/css/site.css | 2 +- dashboard-ui/scripts/librarybrowser.js | 51 ++++++++------- dashboard-ui/scripts/librarylist.js | 12 +--- dashboard-ui/scripts/mediaplayer.js | 62 ++++--------------- dashboard-ui/scripts/site.js | 2 + dashboard-ui/themes/ios.css | 7 +++ dashboard-ui/vulcanize-out.html | 27 ++++---- 16 files changed, 122 insertions(+), 168 deletions(-) diff --git a/dashboard-ui/apiclient/apiclient.js b/dashboard-ui/apiclient/apiclient.js index 8af5498521..a4250f07c9 100644 --- a/dashboard-ui/apiclient/apiclient.js +++ b/dashboard-ui/apiclient/apiclient.js @@ -1197,53 +1197,9 @@ }, false); }; - self.getInstantMixFromSong = function (itemId, options) { + self.getInstantMixFromItem = function (itemId, options) { - var url = self.getUrl("Songs/" + itemId + "/InstantMix", options); - - return self.ajax({ - type: "GET", - url: url, - dataType: "json" - }); - }; - - self.getInstantMixFromAlbum = function (itemId, options) { - - var url = self.getUrl("Albums/" + itemId + "/InstantMix", options); - - return self.ajax({ - type: "GET", - url: url, - dataType: "json" - }); - }; - - self.getInstantMixFromArtist = function (options) { - - var url = self.getUrl("Artists/InstantMix", options); - - return self.ajax({ - type: "GET", - url: url, - dataType: "json" - }); - }; - - self.getInstantMixFromMusicGenre = function (options) { - - var url = self.getUrl("MusicGenres/InstantMix", options); - - return self.ajax({ - type: "GET", - url: url, - dataType: "json" - }); - }; - - self.getInstantMixFromPlaylist = function (itemId, options) { - - var url = self.getUrl("Playlists/" + itemId + "/InstantMix", options); + var url = self.getUrl("Items/" + itemId + "/InstantMix", options); return self.ajax({ type: "GET", diff --git a/dashboard-ui/apiclient/connectionmanager.js b/dashboard-ui/apiclient/connectionmanager.js index ef070854e8..de9805c07b 100644 --- a/dashboard-ui/apiclient/connectionmanager.js +++ b/dashboard-ui/apiclient/connectionmanager.js @@ -376,7 +376,7 @@ throw new Error("null accessToken"); } - var url = "https://connect.mediabrowser.tv/service/user?id=" + userId; + var url = "https://connect.emby.media/service/user?id=" + userId; return HttpClient.send({ type: "GET", @@ -632,7 +632,7 @@ return deferred.promise(); } - var url = "https://connect.mediabrowser.tv/service/servers?userId=" + credentials.ConnectUserId; + var url = "https://connect.emby.media/service/servers?userId=" + credentials.ConnectUserId; HttpClient.send({ type: "GET", @@ -1085,7 +1085,7 @@ HttpClient.send({ type: "POST", - url: "https://connect.mediabrowser.tv/service/user/authenticate", + url: "https://connect.emby.media/service/user/authenticate", data: { nameOrEmail: username, password: md5 @@ -1148,7 +1148,7 @@ HttpClient.send({ type: "POST", - url: "https://connect.mediabrowser.tv/service/register", + url: "https://connect.emby.media/service/register", data: { email: email, userName: username, @@ -1216,7 +1216,7 @@ throw new Error("null connectUserId"); } - var url = "https://connect.mediabrowser.tv/service/servers?userId=" + self.connectUserId() + "&status=Waiting"; + var url = "https://connect.emby.media/service/servers?userId=" + self.connectUserId() + "&status=Waiting"; return HttpClient.send({ type: "GET", @@ -1256,7 +1256,7 @@ return deferred.promise(); } - var url = "https://connect.mediabrowser.tv/service/serverAuthorizations?serverId=" + serverId + "&userId=" + self.connectUserId(); + var url = "https://connect.emby.media/service/serverAuthorizations?serverId=" + serverId + "&userId=" + self.connectUserId(); HttpClient.send({ type: "DELETE", @@ -1285,7 +1285,7 @@ throw new Error("null connectUserId"); } - var url = "https://connect.mediabrowser.tv/service/serverAuthorizations?serverId=" + serverId + "&userId=" + self.connectUserId(); + var url = "https://connect.emby.media/service/serverAuthorizations?serverId=" + serverId + "&userId=" + self.connectUserId(); return HttpClient.send({ type: "DELETE", @@ -1312,7 +1312,7 @@ throw new Error("null connectUserId"); } - var url = "https://connect.mediabrowser.tv/service/ServerAuthorizations/accept?serverId=" + serverId + "&userId=" + self.connectUserId(); + var url = "https://connect.emby.media/service/ServerAuthorizations/accept?serverId=" + serverId + "&userId=" + self.connectUserId(); return HttpClient.send({ type: "GET", diff --git a/dashboard-ui/bower_components/iron-overlay-behavior/.bower.json b/dashboard-ui/bower_components/iron-overlay-behavior/.bower.json index ea16ce655c..1d4238574e 100644 --- a/dashboard-ui/bower_components/iron-overlay-behavior/.bower.json +++ b/dashboard-ui/bower_components/iron-overlay-behavior/.bower.json @@ -1,6 +1,6 @@ { "name": "iron-overlay-behavior", - "version": "1.0.5", + "version": "1.0.6", "license": "http://polymer.github.io/LICENSE.txt", "description": "Provides a behavior for making an element an overlay", "private": true, @@ -35,11 +35,11 @@ "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0" }, "homepage": "https://github.com/polymerelements/iron-overlay-behavior", - "_release": "1.0.5", + "_release": "1.0.6", "_resolution": { "type": "version", - "tag": "v1.0.5", - "commit": "f03cea265587c724cf3a85aef76b2ab7ccfd2b94" + "tag": "v1.0.6", + "commit": "9c77f077f4181b6f03cc986d0f3c224094edbc2d" }, "_source": "git://github.com/polymerelements/iron-overlay-behavior.git", "_target": "^1.0.0", diff --git a/dashboard-ui/bower_components/iron-overlay-behavior/bower.json b/dashboard-ui/bower_components/iron-overlay-behavior/bower.json index 36b2d27d30..678273fad3 100644 --- a/dashboard-ui/bower_components/iron-overlay-behavior/bower.json +++ b/dashboard-ui/bower_components/iron-overlay-behavior/bower.json @@ -1,6 +1,6 @@ { "name": "iron-overlay-behavior", - "version": "1.0.5", + "version": "1.0.6", "license": "http://polymer.github.io/LICENSE.txt", "description": "Provides a behavior for making an element an overlay", "private": true, diff --git a/dashboard-ui/bower_components/iron-overlay-behavior/iron-overlay-behavior.html b/dashboard-ui/bower_components/iron-overlay-behavior/iron-overlay-behavior.html index 3539a61e6d..180b19cefa 100644 --- a/dashboard-ui/bower_components/iron-overlay-behavior/iron-overlay-behavior.html +++ b/dashboard-ui/bower_components/iron-overlay-behavior/iron-overlay-behavior.html @@ -138,17 +138,6 @@ context. You should place this element as a child of `` whenever possible. }, -/** - * Fired after the `iron-overlay` opens. - * @event iron-overlay-opened - */ - -/** - * Fired after the `iron-overlay` closes. - * @event iron-overlay-closed - * @param {{canceled: (boolean|undefined)}} set to the `closingReason` attribute - */ - listeners: { 'click': '_onClick', 'iron-resize': '_onIronResize' @@ -425,6 +414,16 @@ context. You should place this element as a child of `` whenever possible. } } +/** + * Fired after the `iron-overlay` opens. + * @event iron-overlay-opened + */ + +/** + * Fired after the `iron-overlay` closes. + * @event iron-overlay-closed + * @param {{canceled: (boolean|undefined)}} set to the `closingReason` attribute + */ }; /** @polymerBehavior */ diff --git a/dashboard-ui/bower_components/iron-overlay-behavior/iron-overlay-manager.html b/dashboard-ui/bower_components/iron-overlay-behavior/iron-overlay-manager.html index c66f9aa77c..a8709558da 100644 --- a/dashboard-ui/bower_components/iron-overlay-behavior/iron-overlay-manager.html +++ b/dashboard-ui/bower_components/iron-overlay-behavior/iron-overlay-manager.html @@ -45,7 +45,11 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN } function currentOverlay() { - return overlays[overlays.length-1]; + var i = overlays.length - 1; + while (overlays[i] && !overlays[i].opened) { + --i; + } + return overlays[i]; } function currentOverlayZ() { diff --git a/dashboard-ui/bower_components/iron-overlay-behavior/test/iron-overlay-behavior.html b/dashboard-ui/bower_components/iron-overlay-behavior/test/iron-overlay-behavior.html index 4829439f0b..f821e55899 100644 --- a/dashboard-ui/bower_components/iron-overlay-behavior/test/iron-overlay-behavior.html +++ b/dashboard-ui/bower_components/iron-overlay-behavior/test/iron-overlay-behavior.html @@ -141,6 +141,24 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN }); }); + test('close an overlay in proximity to another overlay', function(done) { + var secondOverlay = fixture('basic'); + // Open and close a separate overlay. + secondOverlay.open(); + secondOverlay.close(); + + // Open the overlay we care about. + overlay.open(); + + // Wait for infinite recursion, otherwise we win: + overlay.addEventListener('iron-overlay-closed', function() { + done(); + }); + + // Immediately close the first overlay: + overlay.close(); + }); + test('clicking an overlay does not close it', function(done) { runAfterOpen(overlay, function() { overlay.addEventListener('iron-overlay-closed', function() { diff --git a/dashboard-ui/bower_components/neon-animation/.bower.json b/dashboard-ui/bower_components/neon-animation/.bower.json index ef68d27d08..16a4ffdfce 100644 --- a/dashboard-ui/bower_components/neon-animation/.bower.json +++ b/dashboard-ui/bower_components/neon-animation/.bower.json @@ -54,7 +54,7 @@ "tag": "v1.0.6", "commit": "ec51bf68f05c40373536cc726ca674e4549b7db2" }, - "_source": "git://github.com/polymerelements/neon-animation.git", + "_source": "git://github.com/PolymerElements/neon-animation.git", "_target": "^1.0.0", - "_originalSource": "polymerelements/neon-animation" + "_originalSource": "PolymerElements/neon-animation" } \ No newline at end of file diff --git a/dashboard-ui/css/card.css b/dashboard-ui/css/card.css index e4892dafce..bbe11d75ec 100644 --- a/dashboard-ui/css/card.css +++ b/dashboard-ui/css/card.css @@ -62,6 +62,10 @@ background-color: #333; } +.homeTopViews .cardImage { + border-radius: 6px; +} + .cardOverlayPlayButton { position: absolute; bottom: 0; diff --git a/dashboard-ui/css/site.css b/dashboard-ui/css/site.css index 503c60efcd..1108f5e6bd 100644 --- a/dashboard-ui/css/site.css +++ b/dashboard-ui/css/site.css @@ -930,7 +930,7 @@ paper-input + .fieldDescription { } .footerOverBottomTabs { - bottom: 49px !important; + bottom: 52px !important; } .footerNotification { diff --git a/dashboard-ui/scripts/librarybrowser.js b/dashboard-ui/scripts/librarybrowser.js index dcb1433ca8..5fe8e444c1 100644 --- a/dashboard-ui/scripts/librarybrowser.js +++ b/dashboard-ui/scripts/librarybrowser.js @@ -242,9 +242,8 @@ console.log('iron-select'); // When transition animations are used, add a content loading delay to allow the animations to finish // Otherwise with both operations happening at the same time, it can cause the animation to not run at full speed. - var enablePaperTabs = LibraryBrowser.enableFullPaperTabs(); - var delay = enablePaperTabs ? 500 : 0; var pgs = this; + var delay = pgs.entryAnimation ? 500 : 0; setTimeout(function () { $(pgs).trigger('tabchange'); @@ -274,7 +273,24 @@ } } else { - Events.trigger(page.querySelector('neon-animated-pages'), 'tabchange'); + var pages = page.querySelector('neon-animated-pages'); + if (!NavHelper.isBack()) { + if (pages.selected) { + + var entryAnimation = pages.entryAnimation; + var exitAnimation = pages.exitAnimation; + pages.entryAnimation = null; + pages.exitAnimation = null; + + tabs.selected = 0; + + pages.entryAnimation = entryAnimation; + pages.exitAnimation = exitAnimation; + + return; + } + } + Events.trigger(pages, 'tabchange'); } }, @@ -718,16 +734,16 @@ var href = LibraryBrowser.getHrefInternal(item, context); - if (context != 'livetv') { - if (topParentId == null && context != 'playlists') { - topParentId = LibraryMenu.getTopParentId(); - } + //if (context != 'livetv') { + // if (topParentId == null && context != 'playlists') { + // topParentId = LibraryMenu.getTopParentId(); + // } - if (topParentId) { - href += href.indexOf('?') == -1 ? "?topParentId=" : "&topParentId="; - href += topParentId; - } - } + // if (topParentId) { + // href += href.indexOf('?') == -1 ? "?topParentId=" : "&topParentId="; + // href += topParentId; + // } + //} return href; }, @@ -983,11 +999,6 @@ var cssClass = options.smallIcon ? 'ui-li-has-icon listItem' : 'ui-li-has-thumb listItem'; - if (item.UserData) { - cssClass += ' ' + LibraryBrowser.getUserDataCssClass(item.UserData.Key); - } - - var href = LibraryBrowser.getHref(item, options.context); html += '
  • '; @@ -1219,7 +1230,7 @@ itemCommands.push('trailer'); } - if (item.MediaType == "Audio" || item.Type == "MusicAlbum" || item.Type == "MusicArtist" || item.Type == "MusicGenre") { + if (item.MediaType == "Audio" || item.Type == "MusicAlbum" || item.Type == "MusicArtist" || item.Type == "MusicGenre" || item.CollectionType == "music") { itemCommands.push('instantmix'); } @@ -1690,10 +1701,6 @@ var href = options.linkItem === false ? '#' : LibraryBrowser.getHref(item, options.context); - if (item.UserData) { - cssClass += ' ' + LibraryBrowser.getUserDataCssClass(item.UserData.Key); - } - if (options.showChildCountIndicator && item.ChildCount && options.showLatestItemsPopup !== false) { cssClass += ' groupedCard'; } diff --git a/dashboard-ui/scripts/librarylist.js b/dashboard-ui/scripts/librarylist.js index 2b2240eb43..44170e8428 100644 --- a/dashboard-ui/scripts/librarylist.js +++ b/dashboard-ui/scripts/librarylist.js @@ -1163,14 +1163,14 @@ function playAllFromHere(index, itemsContainer, method) { - var ids = $('.mediaItem', itemsContainer).get().map(function(i) { + var ids = $('.mediaItem', itemsContainer).get().map(function (i) { return i.getAttribute('data-itemid') || i.parentNode.getAttribute('data-itemid'); }); ids = ids.slice(index); ApiClient.getItems(Dashboard.getCurrentUserId(), { - + Ids: ids.join(','), Fields: 'MediaSources,Chapters', Limit: 100 @@ -1281,13 +1281,7 @@ function onUserDataChanged(userData) { - var cssClass = LibraryBrowser.getUserDataCssClass(userData.Key); - - if (!cssClass) { - return; - } - - $('.' + cssClass).each(function () { + $(document.querySelectorAll("*[data-itemid='" + userData.ItemId + "']")).each(function () { var mediaType = this.getAttribute('data-mediatype'); diff --git a/dashboard-ui/scripts/mediaplayer.js b/dashboard-ui/scripts/mediaplayer.js index 42138b5586..82966537f2 100644 --- a/dashboard-ui/scripts/mediaplayer.js +++ b/dashboard-ui/scripts/mediaplayer.js @@ -1411,56 +1411,11 @@ var promise; var itemLimit = 100; - if (item.Type == "MusicArtist") { - - promise = ApiClient.getInstantMixFromArtist({ - UserId: Dashboard.getCurrentUserId(), - Fields: getItemFields, - Limit: itemLimit, - Id: id - }); - - } - else if (item.Type == "MusicGenre") { - - promise = ApiClient.getInstantMixFromMusicGenre({ - UserId: Dashboard.getCurrentUserId(), - Fields: getItemFields, - Limit: itemLimit, - Id: id - }); - - } - else if (item.Type == "MusicAlbum") { - - promise = ApiClient.getInstantMixFromAlbum(id, { - UserId: Dashboard.getCurrentUserId(), - Fields: getItemFields, - Limit: itemLimit - }); - - } - else if (item.Type == "Playlist") { - - promise = ApiClient.getInstantMixFromPlaylist(id, { - UserId: Dashboard.getCurrentUserId(), - Fields: getItemFields, - Limit: itemLimit - }); - - } - else if (item.Type == "Audio") { - - promise = ApiClient.getInstantMixFromSong(id, { - UserId: Dashboard.getCurrentUserId(), - Fields: getItemFields, - Limit: itemLimit - }); - - } - else { - return; - } + promise = ApiClient.getInstantMixFromItem(id, { + UserId: Dashboard.getCurrentUserId(), + Fields: getItemFields, + Limit: itemLimit + }); promise.done(function (result) { @@ -1760,7 +1715,12 @@ function canPlayH264() { - if (navigator.userAgent.toLowerCase().indexOf('firefox') != -1) { + var userAgent = navigator.userAgent.toLowerCase(); + + if (userAgent.indexOf('firefox') != -1) { + if (userAgent.indexOf('windows') != -1) { + return true; + } return false; } diff --git a/dashboard-ui/scripts/site.js b/dashboard-ui/scripts/site.js index dc6823fae0..fcbdf0fa44 100644 --- a/dashboard-ui/scripts/site.js +++ b/dashboard-ui/scripts/site.js @@ -2082,6 +2082,8 @@ var AppInfo = {}; capabilities.DeviceProfile = MediaPlayer.getDeviceProfile(Math.max(screen.height, screen.width)); createConnectionManager(capabilities).done(function () { onConnectionManagerCreated(deferred); }); + + //$(document.body).append('
    '); }); } diff --git a/dashboard-ui/themes/ios.css b/dashboard-ui/themes/ios.css index 94358f580b..12b3490324 100644 --- a/dashboard-ui/themes/ios.css +++ b/dashboard-ui/themes/ios.css @@ -141,6 +141,13 @@ paper-tab { padding: 0; } +.cardBox { + margin: 5px; +} + +.cardImage { + border-radius: 10px; +} .viewMenuSearch { background: #1c1c1c; diff --git a/dashboard-ui/vulcanize-out.html b/dashboard-ui/vulcanize-out.html index 08c46b7b8f..246eb0206c 100644 --- a/dashboard-ui/vulcanize-out.html +++ b/dashboard-ui/vulcanize-out.html @@ -9721,7 +9721,11 @@ CSS properties | Action } function currentOverlay() { - return overlays[overlays.length-1]; + var i = overlays.length - 1; + while (overlays[i] && !overlays[i].opened) { + --i; + } + return overlays[i]; } function currentOverlayZ() { @@ -9907,17 +9911,6 @@ context. You should place this element as a child of `` whenever possible. }, -/** - * Fired after the `iron-overlay` opens. - * @event iron-overlay-opened - */ - -/** - * Fired after the `iron-overlay` closes. - * @event iron-overlay-closed - * @param {{canceled: (boolean|undefined)}} set to the `closingReason` attribute - */ - listeners: { 'click': '_onClick', 'iron-resize': '_onIronResize' @@ -10194,6 +10187,16 @@ context. You should place this element as a child of `` whenever possible. } } +/** + * Fired after the `iron-overlay` opens. + * @event iron-overlay-opened + */ + +/** + * Fired after the `iron-overlay` closes. + * @event iron-overlay-closed + * @param {{canceled: (boolean|undefined)}} set to the `closingReason` attribute + */ }; /** @polymerBehavior */ From 3bae11071d3e222e6bc8ffe70e9c6a788b90bc84 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 28 Aug 2015 11:02:22 -0400 Subject: [PATCH 04/13] update live tv menu --- dashboard-ui/addplugin.html | 2 +- .../neon-animation/.bower.json | 4 +- dashboard-ui/css/card.css | 9 +++ dashboard-ui/css/search.css | 3 +- dashboard-ui/livetv.html | 6 +- dashboard-ui/scripts/itemlistpage.js | 7 +- dashboard-ui/scripts/librarybrowser.js | 74 +++++++++++++++---- dashboard-ui/scripts/librarylist.js | 4 +- dashboard-ui/scripts/librarymenu.js | 66 +++++++++++++++-- dashboard-ui/scripts/sections.js | 66 +++++++++++++---- dashboard-ui/scripts/site.js | 6 +- dashboard-ui/selectserver.html | 2 +- dashboard-ui/strings/html/de.json | 2 +- dashboard-ui/strings/html/es-MX.json | 2 +- dashboard-ui/strings/html/fr.json | 6 +- dashboard-ui/strings/html/kk.json | 6 +- dashboard-ui/strings/html/nl.json | 2 +- dashboard-ui/strings/html/ru.json | 8 +- dashboard-ui/strings/javascript/ar.json | 5 +- dashboard-ui/strings/javascript/bg-BG.json | 5 +- dashboard-ui/strings/javascript/ca.json | 5 +- dashboard-ui/strings/javascript/cs.json | 5 +- dashboard-ui/strings/javascript/da.json | 5 +- dashboard-ui/strings/javascript/de.json | 7 +- dashboard-ui/strings/javascript/el.json | 5 +- dashboard-ui/strings/javascript/en-GB.json | 5 +- dashboard-ui/strings/javascript/en-US.json | 5 +- dashboard-ui/strings/javascript/es-AR.json | 5 +- dashboard-ui/strings/javascript/es-MX.json | 9 ++- dashboard-ui/strings/javascript/es.json | 5 +- dashboard-ui/strings/javascript/fi.json | 5 +- dashboard-ui/strings/javascript/fr.json | 7 +- dashboard-ui/strings/javascript/gsw.json | 5 +- dashboard-ui/strings/javascript/he.json | 5 +- dashboard-ui/strings/javascript/hr.json | 5 +- dashboard-ui/strings/javascript/it.json | 5 +- .../strings/javascript/javascript.json | 4 +- dashboard-ui/strings/javascript/kk.json | 9 ++- dashboard-ui/strings/javascript/ms.json | 5 +- dashboard-ui/strings/javascript/nb.json | 5 +- dashboard-ui/strings/javascript/nl.json | 7 +- dashboard-ui/strings/javascript/pl.json | 5 +- dashboard-ui/strings/javascript/pt-BR.json | 5 +- dashboard-ui/strings/javascript/pt-PT.json | 5 +- dashboard-ui/strings/javascript/ro.json | 5 +- dashboard-ui/strings/javascript/ru.json | 19 +++-- dashboard-ui/strings/javascript/sl-SI.json | 5 +- dashboard-ui/strings/javascript/sv.json | 5 +- dashboard-ui/strings/javascript/tr.json | 5 +- dashboard-ui/strings/javascript/uk.json | 5 +- dashboard-ui/strings/javascript/vi.json | 5 +- dashboard-ui/strings/javascript/zh-CN.json | 5 +- dashboard-ui/strings/javascript/zh-TW.json | 5 +- dashboard-ui/supporter.html | 2 +- dashboard-ui/thirdparty/emby-icons.html | 1 + dashboard-ui/voice/voice.js | 2 + dashboard-ui/vulcanize-out.html | 1 + 57 files changed, 368 insertions(+), 115 deletions(-) diff --git a/dashboard-ui/addplugin.html b/dashboard-ui/addplugin.html index a53ec7cdbf..bcc855e861 100644 --- a/dashboard-ui/addplugin.html +++ b/dashboard-ui/addplugin.html @@ -4,7 +4,7 @@ ${TitlePlugins} -
    +
    diff --git a/dashboard-ui/bower_components/neon-animation/.bower.json b/dashboard-ui/bower_components/neon-animation/.bower.json index 16a4ffdfce..ef68d27d08 100644 --- a/dashboard-ui/bower_components/neon-animation/.bower.json +++ b/dashboard-ui/bower_components/neon-animation/.bower.json @@ -54,7 +54,7 @@ "tag": "v1.0.6", "commit": "ec51bf68f05c40373536cc726ca674e4549b7db2" }, - "_source": "git://github.com/PolymerElements/neon-animation.git", + "_source": "git://github.com/polymerelements/neon-animation.git", "_target": "^1.0.0", - "_originalSource": "PolymerElements/neon-animation" + "_originalSource": "polymerelements/neon-animation" } \ No newline at end of file diff --git a/dashboard-ui/css/card.css b/dashboard-ui/css/card.css index bbe11d75ec..40a741430d 100644 --- a/dashboard-ui/css/card.css +++ b/dashboard-ui/css/card.css @@ -62,6 +62,10 @@ background-color: #333; } +.homeTopViews .defaultBackground .cardImage { + background-color: #181818; +} + .homeTopViews .cardImage { border-radius: 6px; } @@ -235,6 +239,11 @@ line-height: 1.4; } +.homeTopViews .cardText { + font-size: 15px; + padding-top: 10px; +} + .cardButtonContainer { text-align: right; float: right; diff --git a/dashboard-ui/css/search.css b/dashboard-ui/css/search.css index a92da8ca01..058ebcc5b9 100644 --- a/dashboard-ui/css/search.css +++ b/dashboard-ui/css/search.css @@ -125,8 +125,7 @@ .searchInputIcon { position: absolute; left: 20px; - top: 15px; - font-size: 16px !important; + top: 12px; color: #ddd !important; } diff --git a/dashboard-ui/livetv.html b/dashboard-ui/livetv.html index 25315908bd..d6e1ed9866 100644 --- a/dashboard-ui/livetv.html +++ b/dashboard-ui/livetv.html @@ -100,12 +100,12 @@
    -