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

Merge pull request #1649 from MediaBrowser/dev

Dev
This commit is contained in:
Luke 2016-04-14 22:42:29 -04:00
commit 8889078be6
25 changed files with 138 additions and 50 deletions

View file

@ -16,12 +16,12 @@
}, },
"devDependencies": {}, "devDependencies": {},
"ignore": [], "ignore": [],
"version": "1.2.23", "version": "1.2.25",
"_release": "1.2.23", "_release": "1.2.25",
"_resolution": { "_resolution": {
"type": "version", "type": "version",
"tag": "1.2.23", "tag": "1.2.25",
"commit": "dd2ac882405ff68e910711e43704d1adfb3100d9" "commit": "7d3165462b584cfe4e1a76dd0afd4bade40274f5"
}, },
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git", "_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
"_target": "^1.2.0", "_target": "^1.2.0",

View file

@ -178,7 +178,7 @@
if (options.showCancel) { if (options.showCancel) {
html += '<div class="buttons">'; html += '<div class="buttons">';
html += '<paper-button dialog-dismiss>' + dialogText.get('Cancel') + '</paper-button>'; html += '<paper-button class="btnCancel">' + dialogText.get('Cancel') + '</paper-button>';
html += '</div>'; html += '</div>';
} }
html += '</div>'; html += '</div>';
@ -189,6 +189,12 @@
addCenterFocus(dlg); addCenterFocus(dlg);
} }
if (options.showCancel) {
dlg.querySelector('.btnCancel').addEventListener('click', function () {
dialogHelper.close(dlg);
});
}
document.body.appendChild(dlg); document.body.appendChild(dlg);
// Seeing an issue in some non-chrome browsers where this is requiring a double click // Seeing an issue in some non-chrome browsers where this is requiring a double click

View file

@ -1,4 +1,4 @@
define(['focusManager'], function (focusManager) { define(['focusManager', 'scrollStyles'], function (focusManager) {
function getOffsets(elems) { function getOffsets(elems) {

View file

@ -1,6 +1,6 @@
{ {
"name": "iron-input", "name": "iron-input",
"version": "1.0.9", "version": "1.0.10",
"description": "An input element with data binding", "description": "An input element with data binding",
"authors": [ "authors": [
"The Polymer Authors" "The Polymer Authors"
@ -32,11 +32,11 @@
"web-component-tester": "^4.0.0", "web-component-tester": "^4.0.0",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0" "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
}, },
"_release": "1.0.9", "_release": "1.0.10",
"_resolution": { "_resolution": {
"type": "version", "type": "version",
"tag": "v1.0.9", "tag": "1.0.10",
"commit": "6565b5d1b5f7030eb05378718163def8e9c709b7" "commit": "01d17407672ad8033ee447c9c7a65162f13c8f49"
}, },
"_source": "git://github.com/PolymerElements/iron-input.git", "_source": "git://github.com/PolymerElements/iron-input.git",
"_target": "^1.0.0", "_target": "^1.0.0",

View file

@ -0,0 +1,33 @@
<!-- Instructions: https://github.com/PolymerElements/iron-input/CONTRIBUTING.md#filing-issues -->
### Description
<!-- Example: The `paper-foo` element causes the page to turn pink when clicked. -->
### Expected outcome
<!-- Example: The page stays the same color. -->
### Actual outcome
<!-- Example: The page turns pink. -->
### Live Demo
<!-- Example: https://jsbin.com/cagaye/edit?html,output -->
### Steps to reproduce
<!-- Example
1. Put a `paper-foo` element in the page.
2. Open the page in a web browser.
3. Click the `paper-foo` element.
-->
### Browsers Affected
<!-- Check all that apply -->
- [ ] Chrome
- [ ] Firefox
- [ ] Safari 9
- [ ] Safari 8
- [ ] Safari 7
- [ ] Edge
- [ ] IE 11
- [ ] IE 10

View file

@ -1,5 +1,5 @@
language: node_js language: node_js
sudo: false sudo: required
before_script: before_script:
- npm install -g bower polylint web-component-tester - npm install -g bower polylint web-component-tester
- bower install - bower install
@ -8,18 +8,16 @@ env:
global: global:
- secure: AnFRDBxxASn2RP4u+CHJS04g2klVTM+YL1fgNfkNIiECChymGRkeBiF7zvWPfodqPGKWhBZPAMxVuFKbztawQ95kWlbPSTNJtWhHhPcRarV5AYvjhyUV372E3REZ4CGt+T8nghD9bdJiMX5x0pXAz+wfBPPpiHwbiSPPjFLFvTs= - secure: AnFRDBxxASn2RP4u+CHJS04g2klVTM+YL1fgNfkNIiECChymGRkeBiF7zvWPfodqPGKWhBZPAMxVuFKbztawQ95kWlbPSTNJtWhHhPcRarV5AYvjhyUV372E3REZ4CGt+T8nghD9bdJiMX5x0pXAz+wfBPPpiHwbiSPPjFLFvTs=
- secure: SvsE+VQL35CZ967ZVy0+7o5xclnBM8egjhsjNRG7WxVPZQboCQ3Xwm8tIDQSWeagM3ZQRkTGca4ta91F1ZEhm4Jdt5CwKhhSNC6JgS3CX819r9UKgUnSS3nvWdqcZq4GXcMoOZm4qE9ttd3xdoKCfkLRQlEGAvM2TEw69mBhj24= - secure: SvsE+VQL35CZ967ZVy0+7o5xclnBM8egjhsjNRG7WxVPZQboCQ3Xwm8tIDQSWeagM3ZQRkTGca4ta91F1ZEhm4Jdt5CwKhhSNC6JgS3CX819r9UKgUnSS3nvWdqcZq4GXcMoOZm4qE9ttd3xdoKCfkLRQlEGAvM2TEw69mBhj24=
- CXX=g++-4.8
node_js: stable node_js: stable
addons: addons:
firefox: latest firefox: latest
apt: apt:
sources: sources:
- google-chrome - google-chrome
- ubuntu-toolchain-r-test
packages: packages:
- google-chrome-stable - google-chrome-stable
- g++-4.8
sauce_connect: true sauce_connect: true
script: script:
- xvfb-run wct - xvfb-run wct
- "if [ \"${TRAVIS_PULL_REQUEST}\" = \"false\" ]; then wct -s 'default'; fi" - "if [ \"${TRAVIS_PULL_REQUEST}\" = \"false\" ]; then wct -s 'default'; fi"
dist: trusty

View file

@ -1,6 +1,6 @@
{ {
"name": "iron-input", "name": "iron-input",
"version": "1.0.9", "version": "1.0.10",
"description": "An input element with data binding", "description": "An input element with data binding",
"authors": [ "authors": [
"The Polymer Authors" "The Polymer Authors"

View file

@ -108,6 +108,7 @@ is separate from validation, and `allowed-pattern` does not affect how the input
'keypress': '_onKeypress' 'keypress': '_onKeypress'
}, },
/** @suppress {checkTypes} */
registered: function() { registered: function() {
// Feature detect whether we need to patch dispatchEvent (i.e. on FF and IE). // Feature detect whether we need to patch dispatchEvent (i.e. on FF and IE).
if (!this._canDispatchEventOnDisabled()) { if (!this._canDispatchEventOnDisabled()) {

View file

@ -1,4 +1,5 @@
<!DOCTYPE html><!-- <!DOCTYPE html><!--
@license
Copyright (c) 2014 The Polymer Project Authors. All rights reserved. Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt

View file

@ -1,5 +1,6 @@
<!doctype html> <!doctype html>
<!-- <!--
@license
Copyright (c) 2015 The Polymer Project Authors. All rights reserved. Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt

View file

@ -36,7 +36,7 @@
"tag": "v1.4.0", "tag": "v1.4.0",
"commit": "554f7418fdbd97688eb21518b5f8172167d53a95" "commit": "554f7418fdbd97688eb21518b5f8172167d53a95"
}, },
"_source": "git://github.com/polymerelements/iron-selector.git", "_source": "git://github.com/PolymerElements/iron-selector.git",
"_target": "^1.0.0", "_target": "^1.0.0",
"_originalSource": "polymerelements/iron-selector" "_originalSource": "PolymerElements/iron-selector"
} }

View file

@ -132,7 +132,7 @@
var key = 'servertestermessagetime'; var key = 'servertestermessagetime';
var lastShown = parseInt(appSettings.get(key) || '0'); var lastShown = parseInt(appSettings.get(key) || '0');
if ((new Date().getTime() - lastShown) < 259200000) { if ((new Date().getTime() - lastShown) < 172800000) {
return; return;
} }

View file

@ -166,6 +166,7 @@
-ms-overflow-style: none; -ms-overflow-style: none;
overflow: -moz-scrollbars-none; overflow: -moz-scrollbars-none;
-webkit-overflow-scrolling: touch; -webkit-overflow-scrolling: touch;
box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.2);
} }
.libraryViewNav::-webkit-scrollbar { .libraryViewNav::-webkit-scrollbar {
@ -205,6 +206,7 @@
.dashboardDocument .viewMenuBar #selectionBar { .dashboardDocument .viewMenuBar #selectionBar {
background: #fff !important; background: #fff !important;
height: 3px;
} }
.viewMenuBarTabs { .viewMenuBarTabs {

View file

@ -783,7 +783,7 @@ paper-input + .fieldDescription {
} }
.mainDrawerPanel:not([narrow]) .withTabs .content-primary { .mainDrawerPanel:not([narrow]) .withTabs .content-primary {
padding-top: 128px!important; padding-top: 135px!important;
} }
.mainDrawerPanel:not([narrow]) .content-primary ul:first-child { .mainDrawerPanel:not([narrow]) .content-primary ul:first-child {

View file

@ -1,7 +1,3 @@
.libraryViewNav { .libraryViewNav a, paper-tab, paper-tab a {
box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.2); font-weight: bold !important;
}
.libraryViewNav a, paper-tab {
font-weight: 500 !important;
} }

View file

@ -44,6 +44,10 @@
background-color: #000; background-color: #000;
} }
.libraryViewNav {
box-shadow: none;
}
.libraryViewNav a { .libraryViewNav a {
font-weight: 400; font-weight: 400;
text-transform: none; text-transform: none;

View file

@ -1,4 +1,4 @@
<div id="mediaLibraryPage" data-role="page" class="page type-interior mediaLibraryPage librarySectionPage" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Library%20setup" data-require="scripts/medialibrarypage,scripts/taskbutton"> <div id="mediaLibraryPage" data-role="page" class="page type-interior mediaLibraryPage librarySectionPage withTabs" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Library%20setup" data-require="scripts/medialibrarypage,scripts/taskbutton">
<div data-role="content"> <div data-role="content">
<div class="content-primary"> <div class="content-primary">

View file

@ -1,4 +1,4 @@
<div id="libraryPathMappingPage" data-role="page" class="page type-interior librarySectionPage" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Library%20setup" data-require="scripts/librarypathmapping"> <div id="libraryPathMappingPage" data-role="page" class="page type-interior librarySectionPage withTabs" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Library%20setup" data-require="scripts/librarypathmapping">
<div data-role="content"> <div data-role="content">
<div class="content-primary"> <div class="content-primary">

View file

@ -1,4 +1,4 @@
<div id="librarySettingsPage" data-role="page" class="page type-interior librarySectionPage" data-require="jqmcollapsible,scripts/librarysettings,paper-input,paper-checkbox"> <div id="librarySettingsPage" data-role="page" class="page type-interior librarySectionPage withTabs" data-require="emby-collapsible,scripts/librarysettings,paper-input,paper-checkbox">
<div data-role="content"> <div data-role="content">
<div class="content-primary"> <div class="content-primary">

View file

@ -1,4 +1,4 @@
define(['imageLoader', 'jQuery', 'paper-icon-button', 'paper-button', 'emby-icons'], function (imageLoader, $) { define(['imageLoader', 'layoutManager', 'jQuery', 'paper-icon-button', 'paper-button', 'emby-icons'], function (imageLoader, layoutManager, $) {
var mainDrawerPanel = document.querySelector('.mainDrawerPanel'); var mainDrawerPanel = document.querySelector('.mainDrawerPanel');
@ -744,7 +744,9 @@
require(['paper-tabs'], function () { require(['paper-tabs'], function () {
viewMenuBarTabs.innerHTML = '<paper-tabs selected="' + selectedIndex + '" hidescrollbuttons noink>' + builder().map(function (t) { var noInk = browserInfo.animate ? '' : ' noink';
viewMenuBarTabs.innerHTML = '<paper-tabs selected="' + selectedIndex + '" hidescrollbuttons ' + noInk + '>' + builder().map(function (t) {
return '<paper-tab link><a class="clearLink paperTabLink" href="' + t.href + '"><div>' + t.name + '</div></a></paper-tab>'; return '<paper-tab link><a class="clearLink paperTabLink" href="' + t.href + '"><div>' + t.name + '</div></a></paper-tab>';
@ -931,7 +933,7 @@
viewMenuBar.classList.remove('hide'); viewMenuBar.classList.remove('hide');
} }
if (page.classList.contains('type-interior')) { if (page.classList.contains('type-interior') && !layoutManager.mobile) {
viewMenuBar.classList.add('headroomDisabled'); viewMenuBar.classList.add('headroomDisabled');
} else { } else {
viewMenuBar.classList.remove('headroomDisabled'); viewMenuBar.classList.remove('headroomDisabled');

View file

@ -112,6 +112,23 @@
return false; return false;
} }
function getTabs() {
return [
{
href: 'library.html',
name: Globalize.translate('TabFolders')
},
{
href: 'librarypathmapping.html',
name: Globalize.translate('TabPathSubstitution')
},
{
href: 'librarysettings.html',
name: Globalize.translate('TabAdvanced')
}];
}
$(document).on('pageinit', "#libraryPathMappingPage", function () { $(document).on('pageinit', "#libraryPathMappingPage", function () {
var page = this; var page = this;
@ -122,6 +139,7 @@
}).on('pageshow', "#libraryPathMappingPage", function () { }).on('pageshow', "#libraryPathMappingPage", function () {
LibraryMenu.setTabs('librarysetup', 1, getTabs);
Dashboard.showLoadingMsg(); Dashboard.showLoadingMsg();
var page = this; var page = this;

View file

@ -164,8 +164,25 @@
return false; return false;
} }
function getTabs() {
return [
{
href: 'library.html',
name: Globalize.translate('TabFolders')
},
{
href: 'librarypathmapping.html',
name: Globalize.translate('TabPathSubstitution')
},
{
href: 'librarysettings.html',
name: Globalize.translate('TabAdvanced')
}];
}
$(document).on('pageshow', "#librarySettingsPage", function () { $(document).on('pageshow', "#librarySettingsPage", function () {
LibraryMenu.setTabs('librarysetup', 2, getTabs);
Dashboard.showLoadingMsg(); Dashboard.showLoadingMsg();
var page = this; var page = this;

View file

@ -452,6 +452,23 @@
}); });
} }
}; };
function getTabs() {
return [
{
href: 'library.html',
name: Globalize.translate('TabFolders')
},
{
href: 'librarypathmapping.html',
name: Globalize.translate('TabPathSubstitution')
},
{
href: 'librarysettings.html',
name: Globalize.translate('TabAdvanced')
}];
}
pageClassOn('pageshow', "mediaLibraryPage", function () { pageClassOn('pageshow', "mediaLibraryPage", function () {
var page = this; var page = this;
@ -461,6 +478,7 @@
pageIdOn('pageshow', "mediaLibraryPage", function () { pageIdOn('pageshow', "mediaLibraryPage", function () {
LibraryMenu.setTabs('librarysetup', 0, getTabs);
var page = this; var page = this;
// on here // on here

View file

@ -980,7 +980,7 @@
// Huge hack alert. Safari doesn't seem to like if the segments aren't available right away when playback starts // Huge hack alert. Safari doesn't seem to like if the segments aren't available right away when playback starts
// This will start the transcoding process before actually feeding the video url into the player // This will start the transcoding process before actually feeding the video url into the player
// Edit: Also seeing stalls from hls.js // Edit: Also seeing stalls from hls.js
if ((browserInfo.safari || browserInfo.msie || browserInfo.firefox) && !mediaSource.RunTimeTicks && isHls) { if (!mediaSource.RunTimeTicks && isHls) {
Dashboard.showLoadingMsg(); Dashboard.showLoadingMsg();
var hlsPlaylistUrl = streamInfo.url.replace('master.m3u8', 'live.m3u8'); var hlsPlaylistUrl = streamInfo.url.replace('master.m3u8', 'live.m3u8');
@ -992,7 +992,12 @@
}).then(function () { }).then(function () {
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
streamInfo.url = hlsPlaylistUrl; streamInfo.url = hlsPlaylistUrl;
// add a delay to continue building up the buffer. without this we see failures in safari mobile
setTimeout(function () {
self.playVideoInternal(item, mediaSource, startPosition, streamInfo, callback); self.playVideoInternal(item, mediaSource, startPosition, streamInfo, callback);
}, 2000);
}, function () { }, function () {
Dashboard.hideLoadingMsg(); Dashboard.hideLoadingMsg();
}); });

View file

@ -741,11 +741,9 @@ var Dashboard = {
icon: 'people' icon: 'people'
}, { }, {
divider: true, divider: true,
name: Globalize.translate('TabLibrary') name: Globalize.translate('TabLibrary'),
}, {
name: Globalize.translate('TabFolders'),
href: "library.html", href: "library.html",
pageIds: ['mediaLibraryPage'], pageIds: ['mediaLibraryPage', 'libraryPathMappingPage'],
icon: 'folder', icon: 'folder',
color: '#009688' color: '#009688'
}, { }, {
@ -754,21 +752,11 @@ var Dashboard = {
pageIds: ['metadataConfigurationPage', 'metadataImagesConfigurationPage', 'metadataNfoPage'], pageIds: ['metadataConfigurationPage', 'metadataImagesConfigurationPage', 'metadataNfoPage'],
icon: 'insert-drive-file', icon: 'insert-drive-file',
color: '#FF9800' color: '#FF9800'
}, {
name: Globalize.translate('TabPathSubstitution'),
href: "librarypathmapping.html",
pageIds: ['libraryPathMappingPage'],
icon: 'mode-edit'
}, { }, {
name: Globalize.translate('TabSubtitles'), name: Globalize.translate('TabSubtitles'),
href: "metadatasubtitles.html", href: "metadatasubtitles.html",
pageIds: ['metadataSubtitlesPage'], pageIds: ['metadataSubtitlesPage'],
icon: 'closed-caption' icon: 'closed-caption'
}, {
name: Globalize.translate('TabAdvanced'),
href: "librarysettings.html",
pageIds: ['librarySettingsPage'],
icon: 'settings'
}, { }, {
name: Globalize.translate('TabPlayback'), name: Globalize.translate('TabPlayback'),
icon: 'play-circle-filled', icon: 'play-circle-filled',
@ -2930,8 +2918,6 @@ var AppInfo = {};
deps.push('css!devices/ios/ios.css'); deps.push('css!devices/ios/ios.css');
} else if (AppInfo.isNativeApp && browserInfo.edge) { } else if (AppInfo.isNativeApp && browserInfo.edge) {
deps.push('css!devices/windowsphone/wp.css'); deps.push('css!devices/windowsphone/wp.css');
} else if (!browserInfo.android) {
deps.push('css!devices/android/android.css');
} }
loadTheme(); loadTheme();