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

update jqm

This commit is contained in:
Luke Pulverenti 2015-09-01 00:15:10 -04:00
parent 55c36e3507
commit 6c549ec80b
23 changed files with 1793 additions and 1806 deletions

View file

@ -214,7 +214,10 @@
self.show = function (options) {
getSystemInfo().done(function (systemInfo) {
show(self, page, options, systemInfo);
require(['jqmpopup'], function() {
show(self, page, options, systemInfo);
});
});
};

View file

@ -299,106 +299,108 @@
function showPostPlayMenu(item) {
$('.externalPlayerPostPlayFlyout').popup("close").remove();
var html = '<div data-role="popup" class="externalPlayerPostPlayFlyout" data-history="false" data-theme="a" data-dismissible="false">';
html += '<ul data-role="listview" style="min-width: 220px;">';
html += '<li data-role="list-divider" style="padding: 1em;text-align:center;">' + Globalize.translate('HeaderExternalPlayerPlayback') + '</li>';
html += '</ul>';
html += '<div style="padding:1em;">';
var autoMarkWatched = item.RunTimeTicks;
if (item.RunTimeTicks && item.RunTimeTicks >= 3000000000) {
autoMarkWatched = false;
html += '<fieldset data-role="controlgroup">';
html += '<legend>' + Globalize.translate('LabelMarkAs') + '</legend>';
html += '<label for="radioMarkUnwatched">' + Globalize.translate('OptionUnwatched') + '</label>';
html += '<input type="radio" id="radioMarkUnwatched" name="radioGroupMarkPlaystate" class="radioPlaystate" />';
html += '<label for="radioMarkWatched">' + Globalize.translate('OptionWatched') + '</label>';
html += '<input type="radio" id="radioMarkWatched" checked="checked" name="radioGroupMarkPlaystate" class="radioPlaystate" />';
html += '<label for="radioMarkInProgress">' + Globalize.translate('OptionInProgress') + '</label>';
html += '<input type="radio" id="radioMarkInProgress" name="radioGroupMarkPlaystate" class="radioPlaystate" />';
html += '</fieldset>';
html += '<br/>';
html += '<p style="margin-top: 0;">' + Globalize.translate('LabelResumePoint') + '</p>';
html += '<div class="sliderContainer" style="display:block;margin-top:4px;">';
html += '<input class="playstateSlider" type="range" step=".001" min="0" max="100" value="0" style="display:none;" data-theme="a" data-highlight="true" />';
html += '</div>';
html += '<div class="sliderValue" style="text-align:center;margin:2px 0 4px;">0:00:00</div>';
html += '<br/>';
}
html += '<button type="button" class="btnDone" data-theme="b" data-icon="check">' + Globalize.translate('ButtonImDone') + '</button>';
html += '</div>';
html += '</div>';
$(document.body).append(html);
var elem = $('.externalPlayerPostPlayFlyout').popup({}).trigger('create').popup("open").on("popupafterclose", function () {
$(this).off("popupafterclose").remove();
});
$('.radioPlaystate', elem).on('change', function () {
if ($('#radioMarkInProgress', elem).checked()) {
$('.playstateSlider', elem).slider('enable');
} else {
$('.playstateSlider', elem).slider('disable');
}
}).trigger('change');
$('.btnDone', elem).on('click', function () {
require(['jqmpopup'], function() {
$('.externalPlayerPostPlayFlyout').popup("close").remove();
var position = 0;
var html = '<div data-role="popup" class="externalPlayerPostPlayFlyout" data-history="false" data-theme="a" data-dismissible="false">';
if ($('#radioMarkInProgress', elem).checked()) {
html += '<ul data-role="listview" style="min-width: 220px;">';
html += '<li data-role="list-divider" style="padding: 1em;text-align:center;">' + Globalize.translate('HeaderExternalPlayerPlayback') + '</li>';
html += '</ul>';
var pct = $(".playstateSlider", elem).val();
var ticks = item.RunTimeTicks * (Number(pct) * .01);
html += '<div style="padding:1em;">';
position = ticks;
var autoMarkWatched = item.RunTimeTicks;
if (item.RunTimeTicks && item.RunTimeTicks >= 3000000000) {
autoMarkWatched = false;
html += '<fieldset data-role="controlgroup">';
html += '<legend>' + Globalize.translate('LabelMarkAs') + '</legend>';
html += '<label for="radioMarkUnwatched">' + Globalize.translate('OptionUnwatched') + '</label>';
html += '<input type="radio" id="radioMarkUnwatched" name="radioGroupMarkPlaystate" class="radioPlaystate" />';
html += '<label for="radioMarkWatched">' + Globalize.translate('OptionWatched') + '</label>';
html += '<input type="radio" id="radioMarkWatched" checked="checked" name="radioGroupMarkPlaystate" class="radioPlaystate" />';
html += '<label for="radioMarkInProgress">' + Globalize.translate('OptionInProgress') + '</label>';
html += '<input type="radio" id="radioMarkInProgress" name="radioGroupMarkPlaystate" class="radioPlaystate" />';
html += '</fieldset>';
html += '<br/>';
html += '<p style="margin-top: 0;">' + Globalize.translate('LabelResumePoint') + '</p>';
html += '<div class="sliderContainer" style="display:block;margin-top:4px;">';
html += '<input class="playstateSlider" type="range" step=".001" min="0" max="100" value="0" style="display:none;" data-theme="a" data-highlight="true" />';
html += '</div>';
html += '<div class="sliderValue" style="text-align:center;margin:2px 0 4px;">0:00:00</div>';
html += '<br/>';
}
else if (autoMarkWatched || $('#radioMarkWatched', elem).checked()) {
position = currentMediaSource.RunTimeTicks;
}
else if ($('#radioMarkUnwatched', elem).checked()) {
html += '<button type="button" class="btnDone" data-theme="b" data-icon="check">' + Globalize.translate('ButtonImDone') + '</button>';
position = 0;
}
onPlaybackStopped(position);
});
html += '</div>';
$(".playstateSlider", elem).on("change", function (e) {
html += '</div>';
var pct = $(this).val();
$(document.body).append(html);
var time = item.RunTimeTicks * (Number(pct) * .01);
var elem = $('.externalPlayerPostPlayFlyout').popup({}).trigger('create').popup("open").on("popupafterclose", function () {
var tooltext = Dashboard.getDisplayTime(time);
$(this).off("popupafterclose").remove();
$('.sliderValue', elem).html(tooltext);
});
Logger.log("slidin", pct, self.currentDurationTicks, time);
$('.radioPlaystate', elem).on('change', function () {
if ($('#radioMarkInProgress', elem).checked()) {
$('.playstateSlider', elem).slider('enable');
} else {
$('.playstateSlider', elem).slider('disable');
}
}).trigger('change');
$('.btnDone', elem).on('click', function () {
$('.externalPlayerPostPlayFlyout').popup("close").remove();
var position = 0;
if ($('#radioMarkInProgress', elem).checked()) {
var pct = $(".playstateSlider", elem).val();
var ticks = item.RunTimeTicks * (Number(pct) * .01);
position = ticks;
}
else if (autoMarkWatched || $('#radioMarkWatched', elem).checked()) {
position = currentMediaSource.RunTimeTicks;
}
else if ($('#radioMarkUnwatched', elem).checked()) {
position = 0;
}
onPlaybackStopped(position);
});
$(".playstateSlider", elem).on("change", function (e) {
var pct = $(this).val();
var time = item.RunTimeTicks * (Number(pct) * .01);
var tooltext = Dashboard.getDisplayTime(time);
$('.sliderValue', elem).html(tooltext);
Logger.log("slidin", pct, self.currentDurationTicks, time);
});
});
}
@ -408,37 +410,39 @@
function showMenuForItem(item, players) {
closePlayMenu();
require(['jqmpopup'], function () {
closePlayMenu();
var html = '<div data-role="popup" class="externalPlayerFlyout" data-theme="a" data-dismissible="false">';
var html = '<div data-role="popup" class="externalPlayerFlyout" data-theme="a" data-dismissible="false">';
html += '<ul data-role="listview" style="min-width: 200px;">';
html += '<li data-role="list-divider" style="padding: 1em;text-align:center;">' + Globalize.translate('HeaderSelectExternalPlayer') + '</li>';
html += '</ul>';
html += '<ul data-role="listview" style="min-width: 200px;">';
html += '<li data-role="list-divider" style="padding: 1em;text-align:center;">' + Globalize.translate('HeaderSelectExternalPlayer') + '</li>';
html += '</ul>';
html += '<div style="padding:1em;">';
html += '<div style="padding:1em;">';
html += players.map(function (p) {
html += players.map(function (p) {
return '<a href="' + p.url + '" data-role="button" data-icon="play" class="btnExternalPlayer" data-theme="b" data-mini="true">' + p.name + '</a>';
return '<a href="' + p.url + '" data-role="button" data-icon="play" class="btnExternalPlayer" data-theme="b" data-mini="true">' + p.name + '</a>';
}).join('');
}).join('');
html += '</div>';
html += '</div>';
html += '</div>';
html += '</div>';
$(document.body).append(html);
$(document.body).append(html);
var elem = $('.externalPlayerFlyout').popup({}).trigger('create').popup("open").on("popupafterclose", function () {
var elem = $('.externalPlayerFlyout').popup({}).trigger('create').popup("open").on("popupafterclose", function () {
$(this).off("popupafterclose").remove();
$(this).off("popupafterclose").remove();
});
});
$('.btnExternalPlayer', elem).on('click', function () {
$('.btnExternalPlayer', elem).on('click', function () {
ExternalPlayer.onPlaybackStart();
ExternalPlayer.onPlaybackStart();
});
});
}

View file

@ -787,9 +787,11 @@
var context = options.context;
var elem = getItemsOverlay(options.ids, context);
require(['jqmpopup'], function () {
var elem = getItemsOverlay(options.ids, context);
setItemIntoOverlay(elem, 0);
setItemIntoOverlay(elem, 0);
});
}
function onCardClick(e) {

View file

@ -149,41 +149,43 @@
function showOverlay(elem, item) {
$('.itemFlyout').popup('close').remove();
require(['jqmpopup'], function () {
$('.itemFlyout').popup('close').remove();
var html = '<div data-role="popup" class="itemFlyout" data-theme="b" data-arrow="true" data-history="false">';
var html = '<div data-role="popup" class="itemFlyout" data-theme="b" data-arrow="true" data-history="false">';
html += '<div class="ui-bar-b" style="text-align:center;">';
html += '<h3 style="margin: .5em 0;padding:.5em 1em;font-weight:normal;">' + item.Name + '</h3>';
html += '</div>';
html += '<div class="ui-bar-b" style="text-align:center;">';
html += '<h3 style="margin: .5em 0;padding:.5em 1em;font-weight:normal;">' + item.Name + '</h3>';
html += '</div>';
html += '<div style="padding: 0 1em;">';
html += getOverlayHtml(item);
html += '</div>';
html += '<div style="padding: 0 1em;">';
html += getOverlayHtml(item);
html += '</div>';
html += '</div>';
html += '</div>';
$('.itemFlyout').popup('close').popup('destroy').remove();
$('.itemFlyout').popup('close').popup('destroy').remove();
$(document.body).append(html);
$(document.body).append(html);
var popup = $('.itemFlyout').on('mouseenter', onOverlayMouseOver).on('mouseleave', onOverlayMouseOut).popup({
var popup = $('.itemFlyout').on('mouseenter', onOverlayMouseOver).on('mouseleave', onOverlayMouseOut).popup({
positionTo: elem
positionTo: elem
}).trigger('create').popup("open").on("popupafterclose", function () {
}).trigger('create').popup("open").on("popupafterclose", function () {
$(this).off("popupafterclose").off("mouseenter").off("mouseleave").remove();
$(this).off("popupafterclose").off("mouseenter").off("mouseleave").remove();
});
$('.btnPlay', popup).on('click', onPlayClick);
$('.btnRecord', popup).on('click', onRecordClick);
LibraryBrowser.renderGenres($('.itemGenres', popup), item, 3);
$('.miscTvProgramInfo', popup).html(LibraryBrowser.getMiscInfoHtml(item)).trigger('create');
popup.parents().prev('.ui-popup-screen').remove();
currentPosterItem = elem;
});
$('.btnPlay', popup).on('click', onPlayClick);
$('.btnRecord', popup).on('click', onRecordClick);
LibraryBrowser.renderGenres($('.itemGenres', popup), item, 3);
$('.miscTvProgramInfo', popup).html(LibraryBrowser.getMiscInfoHtml(item)).trigger('create');
popup.parents().prev('.ui-popup-screen').remove();
currentPosterItem = elem;
}
function onProgramClicked() {

View file

@ -688,7 +688,6 @@
html += '<paper-icon-button icon="subtitles" class="mediaButton videoSubtitleButton" onclick="MediaPlayer.showSubtitleMenu();"></paper-icon-button>';
html += '<paper-icon-button icon="videocam" class="mediaButton videoChaptersButton" onclick="MediaPlayer.showChaptersFlyout();"></paper-icon-button>';
html += '<div data-role="popup" class="videoChaptersPopup videoPlayerPopup" data-history="false" data-theme="b"></div>';
html += '<paper-icon-button icon="settings" class="mediaButton videoQualityButton" onclick="MediaPlayer.showQualityFlyout();"></paper-icon-button>';
@ -1069,7 +1068,7 @@
}
if (item.Chapters && item.Chapters.length && supportsContentOverVideoPlayer()) {
$('.videoChaptersButton').show();
$('.videoChaptersButton').hide();
} else {
$('.videoChaptersButton').hide();
}

View file

@ -6,6 +6,13 @@
self.show = function (options) {
require(['jqmpopup'], function () {
self.showInternal(options);
});
};
self.showInternal = function (options) {
options = options || {};
options.header = options.header || Globalize.translate('HeaderRateAndReview');

View file

@ -32,7 +32,7 @@ var Dashboard = {
//$.mobile.listview.prototype.options.dividerTheme = "b";
//$.mobile.popup.prototype.options.theme = "c";
$.mobile.popup.prototype.options.transition = "none";
//$.mobile.popup.prototype.options.transition = "none";
//$.mobile.keepNative = "textarea";
@ -1657,20 +1657,6 @@ var Dashboard = {
Dashboard.initPromise.done(fn);
},
firePageEvent: function (page, name, dependencies) {
Dashboard.ready(function () {
if (dependencies && dependencies.length) {
require(dependencies, function () {
Events.trigger(page, name);
});
} else {
Events.trigger(page, name);
}
});
},
loadExternalPlayer: function () {
var deferred = DeferredBuilder.Deferred();
@ -2117,6 +2103,11 @@ var AppInfo = {};
return {};
});
define("jqmpopup", ["thirdparty/jquerymobile-1.4.5/jqm.popup"], function () {
Dashboard.importCss('thirdparty/jquerymobile-1.4.5/jqm.popup.css');
return {};
});
$.extend(AppInfo, Dashboard.getAppInfo(appName, deviceId, deviceName));
var drawer = document.querySelector('.mainDrawerPanel');
@ -2175,17 +2166,37 @@ var AppInfo = {};
var newHtml = mainDrawerPanelContent.innerHTML.substring(4);
newHtml = newHtml.substring(0, newHtml.length - 3);
mainDrawerPanelContent.innerHTML = Globalize.translateDocument(newHtml, 'html');
var srch = 'data-require=';
var index = newHtml.indexOf(srch);
if (index != -1) {
var requireAttribute = newHtml.substring(index + srch.length + 1);
requireAttribute = requireAttribute.substring(0, requireAttribute.indexOf('"'));
var depends = requireAttribute.split(',');
require(depends, function () {
mainDrawerPanelContent.innerHTML = Globalize.translateDocument(newHtml, 'html');
onAppReady(deferred);
});
return;
}
}
onDocumentReady();
Dashboard.initPromiseDone = true;
$.mobile.initializePage();
deferred.resolve();
onAppReady(deferred);
});
});
}
function onAppReady(deferred) {
onDocumentReady();
Dashboard.initPromiseDone = true;
$.mobile.initializePage();
deferred.resolve();
}
function initCordovaWithDeviceId(deferred, deviceId) {
require(['cordova/imagestore']);
@ -2264,35 +2275,16 @@ $(document).on('pagecreate', ".page", function () {
}).on('pageinit', ".page", function () {
var page = this;
var dependencies = this.getAttribute('data-require');
dependencies = dependencies ? dependencies.split(',') : null;
if (!page.classList.contains('libraryPage')) {
dependencies = dependencies || [];
dependencies.push('jqmicons');
}
Dashboard.firePageEvent(page, 'pageinitdepends', dependencies);
Events.trigger(page, 'pageinitdepends');
}).on('pagebeforeshow', ".page", function () {
var page = this;
var dependencies = this.getAttribute('data-require');
Dashboard.ensurePageTitle(page);
dependencies = dependencies ? dependencies.split(',') : null;
Dashboard.firePageEvent(page, 'pagebeforeshowready', dependencies);
Events.trigger(page, 'pagebeforeshowready');
}).on('pageshow', ".page", function () {
var page = this;
var dependencies = this.getAttribute('data-require');
dependencies = dependencies ? dependencies.split(',') : null;
Dashboard.firePageEvent(page, 'pageshowbeginready', dependencies);
}).on('pageshowbeginready', ".page", function () {
var page = this;
var apiClient = window.ApiClient;
@ -2334,7 +2326,7 @@ $(document).on('pagecreate', ".page", function () {
}
}
Dashboard.firePageEvent(page, 'pageshowready');
Events.trigger(page, 'pageshowready');
Dashboard.ensureHeader(page);

View file

@ -218,34 +218,36 @@
function showPendingUserMenu(elem) {
var card = $(elem).parents('.card');
var page = $(elem).parents('.page');
var id = card.attr('data-id');
require(['jqmpopup'], function() {
var card = $(elem).parents('.card');
var page = $(elem).parents('.page');
var id = card.attr('data-id');
$('.userMenu', page).popup("close").remove();
var html = '<div data-role="popup" class="userMenu tapHoldMenu" data-theme="a">';
html += '<ul data-role="listview" style="min-width: 180px;">';
html += '<li data-role="list-divider">' + Globalize.translate('HeaderMenu') + '</li>';
html += '<li><a href="#" class="btnDelete" data-id="' + id + '">' + Globalize.translate('ButtonCancel') + '</a></li>';
html += '</ul>';
html += '</div>';
page.append(html);
var flyout = $('.userMenu', page).popup({ positionTo: elem || "window" }).trigger('create').popup("open").on("popupafterclose", function () {
$(this).off("popupafterclose").remove();
});
$('.btnDelete', flyout).on('click', function () {
cancelAuthorization(page, this.getAttribute('data-id'));
$('.userMenu', page).popup("close").remove();
var html = '<div data-role="popup" class="userMenu tapHoldMenu" data-theme="a">';
html += '<ul data-role="listview" style="min-width: 180px;">';
html += '<li data-role="list-divider">' + Globalize.translate('HeaderMenu') + '</li>';
html += '<li><a href="#" class="btnDelete" data-id="' + id + '">' + Globalize.translate('ButtonCancel') + '</a></li>';
html += '</ul>';
html += '</div>';
page.append(html);
var flyout = $('.userMenu', page).popup({ positionTo: elem || "window" }).trigger('create').popup("open").on("popupafterclose", function () {
$(this).off("popupafterclose").remove();
});
$('.btnDelete', flyout).on('click', function () {
cancelAuthorization(page, this.getAttribute('data-id'));
$('.userMenu', page).popup("close").remove();
});
});
}