mirror of
https://github.com/lrsjng/h5ai.git
synced 2025-03-21 13:00:10 +01:00
Updates download.
This commit is contained in:
parent
b8503b6f03
commit
580653a1ad
@ -23,6 +23,22 @@ modulejs.define('core/server', ['$', '_', 'config', 'core/location'], function (
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
},
|
||||
|
||||
formRequest: function (data) {
|
||||
|
||||
var $form = $('<form method="post" style="display:none;"/>')
|
||||
.attr('action', location.getAbsHref());
|
||||
|
||||
_.each(data, function (val, key) {
|
||||
|
||||
$('<input type="hidden"/>')
|
||||
.attr('name', key)
|
||||
.attr('value', val)
|
||||
.appendTo($form);
|
||||
});
|
||||
|
||||
$form.appendTo('body').submit().remove();
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
|
||||
modulejs.define('ext/download', ['_', '$', 'core/settings', 'core/resource', 'core/event', 'core/server', 'core/location'], function (_, $, allsettings, resource, event, server, location) {
|
||||
modulejs.define('ext/download', ['_', '$', 'core/settings', 'core/resource', 'core/event', 'core/location', 'core/server'], function (_, $, allsettings, resource, event, location, server) {
|
||||
|
||||
var settings = _.extend({
|
||||
enabled: false,
|
||||
@ -7,8 +7,6 @@ modulejs.define('ext/download', ['_', '$', 'core/settings', 'core/resource', 'co
|
||||
packageName: 'package'
|
||||
}, allsettings.download),
|
||||
|
||||
// formats = ['tar', 'zip'],
|
||||
|
||||
downloadBtnTemplate = '<li id="download">' +
|
||||
'<a href="#">' +
|
||||
'<img src="' + resource.image('download') + '" alt="download"/>' +
|
||||
@ -16,25 +14,14 @@ modulejs.define('ext/download', ['_', '$', 'core/settings', 'core/resource', 'co
|
||||
'</a>' +
|
||||
'</li>',
|
||||
|
||||
selectedHrefsStr = '',
|
||||
$download, $img,
|
||||
|
||||
failed = function () {
|
||||
|
||||
$download.addClass('failed');
|
||||
setTimeout(function () {
|
||||
$download.removeClass('failed');
|
||||
}, 1000);
|
||||
},
|
||||
selectedItems = [],
|
||||
|
||||
onSelection = function (items) {
|
||||
|
||||
selectedHrefsStr = '';
|
||||
if (items.length) {
|
||||
selectedHrefsStr = _.map(items, function (item) {
|
||||
var $download = $('#download');
|
||||
|
||||
return item.absHref;
|
||||
}).join('|:|');
|
||||
selectedItems = items.slice(0);
|
||||
if (selectedItems.length) {
|
||||
$download.appendTo('#navbar').show();
|
||||
} else {
|
||||
$download.hide();
|
||||
@ -49,31 +36,21 @@ modulejs.define('ext/download', ['_', '$', 'core/settings', 'core/resource', 'co
|
||||
action: 'download',
|
||||
as: (settings.packageName || location.getItem().label) + '.' + extension,
|
||||
type: type,
|
||||
hrefs: selectedHrefsStr
|
||||
},
|
||||
$form = $('<form action="#" method="post" style="display:none;"/>');
|
||||
hrefs: _.pluck(selectedItems, 'absHref').join('|:|')
|
||||
};
|
||||
|
||||
_.each(query, function (val, key) {
|
||||
|
||||
$('<input type="hidden"/>')
|
||||
.attr('name', key)
|
||||
.attr('value', val)
|
||||
.appendTo($form);
|
||||
});
|
||||
|
||||
$form.appendTo('body').submit().remove();
|
||||
server.formRequest(query);
|
||||
},
|
||||
|
||||
init = function () {
|
||||
|
||||
if (!settings.enabled || !server.api) {
|
||||
if (!settings.enabled) {
|
||||
return;
|
||||
}
|
||||
|
||||
$download = $(downloadBtnTemplate)
|
||||
$(downloadBtnTemplate)
|
||||
.find('a').on('click', onClick).end()
|
||||
.appendTo('#navbar');
|
||||
$img = $download.find('img');
|
||||
|
||||
event.sub('selection', onSelection);
|
||||
};
|
||||
|
@ -92,7 +92,7 @@ Options
|
||||
Allow file deletion.
|
||||
*/
|
||||
"delete": {
|
||||
"enabled": true
|
||||
"enabled": false
|
||||
},
|
||||
|
||||
/* [EXPERIMENTAL]
|
||||
|
Loading…
x
Reference in New Issue
Block a user