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

update sort menu

This commit is contained in:
Luke Pulverenti 2016-07-10 03:01:25 -04:00
parent 9de658be0b
commit 22ef579fdb
6 changed files with 230 additions and 62 deletions

View file

@ -331,7 +331,7 @@ define(['browser'], function (browser) {
}); });
} }
if (canPlayTs && options.supportsCustomSeeking && !browser.tizen) { if (canPlayTs && options.supportsCustomSeeking && !browser.tizen && !browser.web0s) {
profile.TranscodingProfiles.push({ profile.TranscodingProfiles.push({
Container: 'ts', Container: 'ts',
Type: 'Video', Type: 'Video',

View file

@ -0,0 +1,136 @@
.mdl-radio {
position: relative;
line-height: 24px;
display: inline-block;
box-sizing: border-box;
margin: 0;
padding-left: 0;
}
.mdl-radio.block {
display: flex;
align-items: center;
margin-top: .25em;
margin-bottom: .25em;
}
.mdl-radio {
padding-left: 24px;
}
.mdl-radio__button {
line-height: 24px;
}
.mdl-radio .mdl-radio__button {
position: absolute;
width: 0;
height: 0;
margin: 0;
padding: 0;
opacity: 0;
-ms-appearance: none;
-moz-appearance: none;
-webkit-appearance: none;
appearance: none;
border: none;
}
.mdl-radio__outer-circle {
position: absolute;
top: 4px;
left: 0;
display: inline-block;
box-sizing: border-box;
width: 16px;
height: 16px;
margin: 0;
cursor: pointer;
border: 2px solid rgba(0,0,0, 0.54);
border-radius: 50%;
z-index: 2;
}
.mdl-radio__button:checked + .mdl-radio__label + .mdl-radio__outer-circle {
border: 2px solid rgb(63,81,181);
}
.mdl-radio__outer-circle fieldset[disabled] .mdl-radio,
.mdl-radio.is-disabled .mdl-radio__outer-circle {
border: 2px solid rgba(0,0,0, 0.26);
cursor: auto;
}
.mdl-radio__inner-circle {
position: absolute;
z-index: 1;
margin: 0;
top: 8px;
left: 4px;
box-sizing: border-box;
width: 8px;
height: 8px;
cursor: pointer;
transition-duration: 0.28s;
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
transition-property: -webkit-transform;
transition-property: transform;
transition-property: transform, -webkit-transform;
-webkit-transform: scale3d(0, 0, 0);
transform: scale3d(0, 0, 0);
border-radius: 50%;
background: rgb(63,81,181);
}
.mdl-radio__button:checked + .mdl-radio__label + .mdl-radio__outer-circle + .mdl-radio__inner-circle {
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
}
fieldset[disabled] .mdl-radio .mdl-radio__inner-circle,
.mdl-radio.is-disabled .mdl-radio__inner-circle {
background: rgba(0,0,0, 0.26);
cursor: auto;
}
.mdl-radio__button:focus + .mdl-radio__label + .mdl-radio__outer-circle + .mdl-radio__inner-circle {
box-shadow: 0 0 0px 10px rgba(0, 0, 0, 0.1);
}
.mdl-radio__label {
cursor: pointer;
}
fieldset[disabled] .mdl-radio .mdl-radio__label,
.mdl-radio.is-disabled .mdl-radio__label {
color: rgba(0,0,0, 0.26);
cursor: auto;
}
.mdl-radio__ripple-container {
position: absolute;
z-index: 2;
top: -9px;
left: -13px;
box-sizing: border-box;
width: 42px;
height: 42px;
border-radius: 50%;
cursor: pointer;
overflow: hidden;
-webkit-mask-image: -webkit-radial-gradient(circle, white, black);
}
.mdl-radio__ripple-container .mdl-ripple {
background: rgb(63,81,181);
}
fieldset[disabled] .mdl-radio .mdl-radio__ripple-container,
.mdl-radio.is-disabled .mdl-radio__ripple-container {
cursor: auto;
}
fieldset[disabled] .mdl-radio .mdl-radio__ripple-container .mdl-ripple,
.mdl-radio.is-disabled .mdl-radio__ripple-container .mdl-ripple {
background: transparent;
}

View file

@ -31,9 +31,14 @@
labelElement.classList.add('mdl-js-ripple-effect'); labelElement.classList.add('mdl-js-ripple-effect');
var labelTextElement = labelElement.querySelector('span'); var labelTextElement = labelElement.querySelector('span');
labelElement.insertAdjacentHTML('beforeend', '<span class="mdl-checkbox__focus-helper"></span><span class="checkboxOutline"><span class="mdl-checkbox__tick-outline"></span></span>');
labelTextElement.classList.add('radioButtonLabel'); labelTextElement.classList.add('radioButtonLabel');
labelTextElement.classList.add('mdl-radio__label');
labelElement.insertAdjacentHTML('beforeend', '<span class="mdl-radio__outer-circle"></span><span class="mdl-radio__inner-circle"></span>');
// ripple container
//labelElement.insertAdjacentHTML('beforeend', '<span class="mdl-radio__ripple-container mdl-js-ripple-effect mdl-ripple--center" data-upgraded=",MaterialRipple"><span class="mdl-ripple is-animating" style="width: 120.794px; height: 120.794px; transform: translate(-50%, -50%) translate(21px, 21px);"></span></span>');
this.addEventListener('keydown', onKeyDown); this.addEventListener('keydown', onKeyDown);
}; };

View file

@ -2954,7 +2954,7 @@
showSortMenu: function (options) { showSortMenu: function (options) {
require(['dialogHelper', 'paper-radio-button', 'paper-radio-group'], function (dialogHelper) { require(['dialogHelper', 'emby-radio'], function (dialogHelper) {
var dlg = dialogHelper.createDialog({ var dlg = dialogHelper.createDialog({
removeOnClose: true, removeOnClose: true,
@ -2975,22 +2975,29 @@
html += Globalize.translate('HeaderSortBy'); html += Globalize.translate('HeaderSortBy');
html += '</h2>'; html += '</h2>';
html += '<paper-radio-group class="groupSortBy" selected="' + (options.query.SortBy || '').replace(',', '_') + '">'; var i, length;
for (var i = 0, length = options.items.length; i < length; i++) { var isChecked;
html += '<div>';
for (i = 0, length = options.items.length; i < length; i++) {
var option = options.items[i]; var option = options.items[i];
html += '<paper-radio-button class="menuSortBy" style="display:block;" data-id="' + option.id + '" name="' + option.id.replace(',', '_') + '">' + option.name + '</paper-radio-button>'; var radioValue = option.id.replace(',', '_');
isChecked = (options.query.SortBy || '').replace(',', '_') == radioValue ? ' checked' : '';
html += '<label class="block"><input type="radio" is="emby-radio" name="SortBy" data-id="' + option.id + '" value="' + radioValue + '" class="menuSortBy" ' + isChecked + ' /><span>' + option.name + '</span></label>';
} }
html += '</paper-radio-group>'; html += '</div>';
html += '<h2 style="margin: 1em 0 .5em;">'; html += '<h2 style="margin: 1em 0 .5em;">';
html += Globalize.translate('HeaderSortOrder'); html += Globalize.translate('HeaderSortOrder');
html += '</h2>'; html += '</h2>';
html += '<paper-radio-group class="groupSortOrder" selected="' + (options.query.SortOrder || 'Ascending') + '">'; html += '<div>';
html += '<paper-radio-button name="Ascending" style="display:block;" class="menuSortOrder block">' + Globalize.translate('OptionAscending') + '</paper-radio-button>'; isChecked = options.query.SortOrder == 'Ascending' ? ' checked' : '';
html += '<paper-radio-button name="Descending" style="display:block;" class="menuSortOrder block">' + Globalize.translate('OptionDescending') + '</paper-radio-button>'; html += '<label class="block"><input type="radio" is="emby-radio" name="SortOrder" value="Ascending" class="menuSortOrder" ' + isChecked + ' /><span>' + Globalize.translate('OptionAscending') + '</span></label>';
html += '</paper-radio-group>'; isChecked = options.query.SortOrder == 'Descending' ? ' checked' : '';
html += '<label class="block"><input type="radio" is="emby-radio" name="SortOrder" value="Descending" class="menuSortOrder" ' + isChecked + ' /><span>' + Globalize.translate('OptionDescending') + '</span></label>';
html += '</div>';
html += '</div>'; html += '</div>';
dlg.innerHTML = html; dlg.innerHTML = html;
@ -3002,31 +3009,43 @@
dialogHelper.open(dlg); dialogHelper.open(dlg);
}, delay); }, delay);
dlg.querySelector('.groupSortBy').addEventListener('iron-select', function () { function onSortByChange() {
var newValue = this.value;
if (this.checked) {
var changed = options.query.SortBy != newValue;
var newValue = this.selected.replace('_', ','); options.query.SortBy = newValue.replace('_', ',');
var changed = options.query.SortBy != newValue; options.query.StartIndex = 0;
options.query.SortBy = newValue; if (options.callback && changed) {
options.query.StartIndex = 0; options.callback();
}
if (options.callback && changed) {
options.callback();
} }
}); }
dlg.querySelector('.groupSortOrder').addEventListener('iron-select', function () { var sortBys = dlg.querySelectorAll('.menuSortBy');
for (i = 0, length = sortBys.length; i < length; i++) {
sortBys[i].addEventListener('change', onSortByChange);
}
var newValue = this.selected; function onSortOrderChange() {
var changed = options.query.SortOrder != newValue; var newValue = this.value;
if (this.checked) {
var changed = options.query.SortOrder != newValue;
options.query.SortOrder = newValue; options.query.SortOrder = newValue;
options.query.StartIndex = 0; options.query.StartIndex = 0;
if (options.callback && changed) { if (options.callback && changed) {
options.callback(); options.callback();
}
} }
}); }
var sortOrders = dlg.querySelectorAll('.menuSortOrder');
for (i = 0, length = sortOrders.length; i < length; i++) {
sortOrders[i].addEventListener('change', onSortOrderChange);
}
}); });
}, },

View file

@ -1170,39 +1170,53 @@ var Dashboard = {
return caps; return caps;
}, },
getDefaultImageQuality: function (imageType) {
var quality = 90;
var isBackdrop = imageType.toLowerCase() == 'backdrop';
if (isBackdrop) {
quality -= 10;
}
if (browserInfo.mobile) {
quality -= 20;
}
if (AppInfo.hasLowImageBandwidth) {
// The native app can handle a little bit more than safari
if (AppInfo.isNativeApp) {
quality -= 5;
} else {
quality -= 20;
}
}
return quality;
},
normalizeImageOptions: function (options) { normalizeImageOptions: function (options) {
if (AppInfo.hasLowImageBandwidth) { if (AppInfo.hasLowImageBandwidth) {
options.enableImageEnhancers = false; options.enableImageEnhancers = false;
} }
var setQuality;
if (options.maxWidth) {
setQuality = true;
}
if (options.width) {
setQuality = true;
}
if (options.maxHeight) {
setQuality = true;
}
if (options.height) {
setQuality = true;
}
if (setQuality) {
var quality = 90;
if ((options.type || '').toLowerCase() == 'backdrop') {
quality -= 10;
}
if (browserInfo.mobile || browserInfo.tv) {
quality -= 30;
}
if (AppInfo.hasLowImageBandwidth) {
// The native app can handle a little bit more than safari
if (AppInfo.isNativeApp) {
//quality -= 5;
} else {
quality -= 15;
}
}
options.quality = quality;
}
}, },
loadExternalPlayer: function () { loadExternalPlayer: function () {
@ -1545,7 +1559,6 @@ var AppInfo = {};
}; };
} }
apiClient.getDefaultImageQuality = Dashboard.getDefaultImageQuality;
apiClient.normalizeImageOptions = Dashboard.normalizeImageOptions; apiClient.normalizeImageOptions = Dashboard.normalizeImageOptions;
Events.off(apiClient, 'websocketmessage', Dashboard.onWebSocketMessageReceived); Events.off(apiClient, 'websocketmessage', Dashboard.onWebSocketMessageReceived);
@ -1881,8 +1894,6 @@ var AppInfo = {};
define("paper-button", ["html!" + bowerPath + "/paper-button/paper-button.html"]); define("paper-button", ["html!" + bowerPath + "/paper-button/paper-button.html"]);
define("paper-icon-button", ["html!" + bowerPath + "/paper-icon-button/paper-icon-button.html"]); define("paper-icon-button", ["html!" + bowerPath + "/paper-icon-button/paper-icon-button.html"]);
define("paper-radio-group", ["html!" + bowerPath + "/paper-radio-group/paper-radio-group.html"]);
define("paper-radio-button", ['webcomponentsjs', "html!" + bowerPath + "/paper-radio-button/paper-radio-button.html"]);
define("paper-toggle-button", ['webcomponentsjs', "html!" + bowerPath + "/paper-toggle-button/paper-toggle-button.html"]); define("paper-toggle-button", ['webcomponentsjs', "html!" + bowerPath + "/paper-toggle-button/paper-toggle-button.html"]);
define("paper-textarea", ['webcomponentsjs', "html!" + bowerPath + "/paper-input/paper-textarea.html"]); define("paper-textarea", ['webcomponentsjs', "html!" + bowerPath + "/paper-input/paper-textarea.html"]);
@ -2179,6 +2190,7 @@ var AppInfo = {};
if (MainActivity.getChromeVersion() >= 48) { if (MainActivity.getChromeVersion() >= 48) {
define("audiorenderer", ["scripts/htmlmediarenderer"]); define("audiorenderer", ["scripts/htmlmediarenderer"]);
//window.VlcAudio = true;
//define("audiorenderer", ["cordova/android/vlcplayer"]); //define("audiorenderer", ["cordova/android/vlcplayer"]);
} else { } else {
window.VlcAudio = true; window.VlcAudio = true;

View file

@ -362,10 +362,6 @@ paper-dropdown-menu {
display: block; display: block;
} }
paper-radio-group > * {
padding: .5em;
}
div.dialogHeader { div.dialogHeader {
padding: .35em .5em; padding: .35em .5em;
display: flex; display: flex;