mirror of
https://github.com/vichan-devel/vichan.git
synced 2025-02-26 23:09:02 +01:00
Merge pull request #894 from Zankaria/892-inline-exp
inline-expanding.js: fit expanded images into the screen's height
This commit is contained in:
commit
0e648efe12
@ -17,6 +17,10 @@ $(document).ready(function() {
|
|||||||
// Default maximum image loads.
|
// Default maximum image loads.
|
||||||
const DEFAULT_MAX = 5;
|
const DEFAULT_MAX = 5;
|
||||||
|
|
||||||
|
if (localStorage.inline_expand_fit_height !== 'false') {
|
||||||
|
$('<style id="expand-fit-height-style">.full-image { max-height: ' + window.innerHeight + 'px; }</style>').appendTo($('head'));
|
||||||
|
}
|
||||||
|
|
||||||
let inline_expand_post = function() {
|
let inline_expand_post = function() {
|
||||||
let link = this.getElementsByTagName('a');
|
let link = this.getElementsByTagName('a');
|
||||||
|
|
||||||
@ -56,12 +60,12 @@ $(document).ready(function() {
|
|||||||
},
|
},
|
||||||
add: function(ele) {
|
add: function(ele) {
|
||||||
ele.deferred = $.Deferred();
|
ele.deferred = $.Deferred();
|
||||||
ele.deferred.done(function () {
|
ele.deferred.done(function() {
|
||||||
let $loadstart = $.Deferred();
|
let $loadstart = $.Deferred();
|
||||||
let thumb = ele.childNodes[0];
|
let thumb = ele.childNodes[0];
|
||||||
let img = ele.childNodes[1];
|
let img = ele.childNodes[1];
|
||||||
|
|
||||||
let onLoadStart = function (img) {
|
let onLoadStart = function(img) {
|
||||||
if (img.naturalWidth) {
|
if (img.naturalWidth) {
|
||||||
$loadstart.resolve(img, thumb);
|
$loadstart.resolve(img, thumb);
|
||||||
} else {
|
} else {
|
||||||
@ -69,15 +73,15 @@ $(document).ready(function() {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
$(img).one('load', function () {
|
$(img).one('load', function() {
|
||||||
$.when($loadstart).done(function () {
|
$.when($loadstart).done(function() {
|
||||||
// Once fully loaded, update the waiting queue.
|
// once fully loaded, update the waiting queue
|
||||||
--loading;
|
--loading;
|
||||||
$(ele).data('imageLoading', 'false');
|
$(ele).data('imageLoading', 'false');
|
||||||
update();
|
update();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
$loadstart.done(function (img, thumb) {
|
$loadstart.done(function(img, thumb) {
|
||||||
thumb.style.display = 'none';
|
thumb.style.display = 'none';
|
||||||
img.style.display = '';
|
img.style.display = '';
|
||||||
});
|
});
|
||||||
@ -201,6 +205,8 @@ $(document).ready(function() {
|
|||||||
Options.extend_tab('general', '<span id="inline-expand-max">' +
|
Options.extend_tab('general', '<span id="inline-expand-max">' +
|
||||||
_('Number of simultaneous image downloads (0 to disable): ') +
|
_('Number of simultaneous image downloads (0 to disable): ') +
|
||||||
'<input type="number" step="1" min="0" size="4"></span>');
|
'<input type="number" step="1" min="0" size="4"></span>');
|
||||||
|
Options.extend_tab('general', '<label id="inline-expand-fit-height"><input type="checkbox">' + _('Fit expanded images into screen height') + '</label>');
|
||||||
|
|
||||||
$('#inline-expand-max input')
|
$('#inline-expand-max input')
|
||||||
.css('width', '50px')
|
.css('width', '50px')
|
||||||
.val(localStorage.inline_expand_max || DEFAULT_MAX)
|
.val(localStorage.inline_expand_max || DEFAULT_MAX)
|
||||||
@ -211,6 +217,21 @@ $(document).ready(function() {
|
|||||||
|
|
||||||
localStorage.inline_expand_max = val;
|
localStorage.inline_expand_max = val;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$('#inline-expand-fit-height input').on('change', function() {
|
||||||
|
if (localStorage.inline_expand_fit_height !== 'false') {
|
||||||
|
localStorage.inline_expand_fit_height = 'false';
|
||||||
|
$('#expand-fit-height-style').remove();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
localStorage.inline_expand_fit_height = 'true';
|
||||||
|
$('<style id="expand-fit-height-style">.full-image { max-height: ' + window.innerHeight + 'px; }</style>').appendTo($('head'));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if (localStorage.inline_expand_fit_height !== 'false') {
|
||||||
|
$('#inline-expand-fit-height input').prop('checked', true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (window.jQuery) {
|
if (window.jQuery) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user