added dynamic global settings functionality
This commit is contained in:
parent
8501ccde77
commit
d006bdeab1
|
@ -133,7 +133,7 @@
|
|||
|
||||
{{^has_value}}
|
||||
<select id="input_settings_{{name}}">
|
||||
<option value=" ">Default</option>
|
||||
<option value="no_val">Default</option>
|
||||
{{/has_value}}
|
||||
|
||||
{{/option}}
|
||||
|
@ -314,7 +314,7 @@
|
|||
</form>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button id="save_global_settings" class="btn btn-success" onclick="alert('not implemented yet');">Save</button>
|
||||
<button id="save_global_settings" class="btn btn-success">Save</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- global settings template end }}}-->
|
||||
|
|
|
@ -137,12 +137,6 @@ var input_file_settings = [
|
|||
},
|
||||
{
|
||||
name: "check-integrity",
|
||||
desc: "sample",
|
||||
option:true,
|
||||
options: ["true", "false"]
|
||||
},
|
||||
{
|
||||
name: "sample",
|
||||
desc: "Check file integrity by validating piece hashes or a hash of entire file. This option has effect only in BitTorrent, Metalink downloads with checksums or HTTP(S)/FTP downloads with --checksum option. If piece hashes are provided, this option can detect damaged portions of a file and re-download them. If a hash of entire file is provided, hash check is only done when file has been already download. This is determined by file length. If hash check fails, file is re-downloaded from scratch. If both piece hashes and a hash of entire file are provided, only piece hashes are used. Default: false",
|
||||
option:true,
|
||||
options: ["true", "false"]
|
||||
|
@ -200,6 +194,7 @@ var input_file_settings = [
|
|||
{
|
||||
name: "file-allocation",
|
||||
desc: "Specify file allocation method. none doesn't pre-allocate file space. prealloc pre-allocates file space before download begins. This may take some time depending on the size of the file. If you are using newer file systems such as ext4 (with extents support), btrfs, xfs or NTFS(MinGW build only), falloc is your best choice. It allocates large(few GiB) files almost instantly. Don't use falloc with legacy file systems such as ext3 and FAT32 because it takes almost same time as prealloc and it blocks aria2 entirely until allocation finishes. falloc may not be available if your system doesn't have posix_fallocate(3) function. Possible Values: none, prealloc, falloc Default: prealloc",
|
||||
option: true,
|
||||
options: ["none", "prealloc", "falloc"]
|
||||
},
|
||||
{
|
||||
|
|
49
js/script.js
49
js/script.js
|
@ -121,7 +121,7 @@ $(function() {
|
|||
html += '<a href="#"><i class="icon-trash"></i></a></li>';
|
||||
$(html).appendTo('.download_urls');
|
||||
$('#newDownload_url').val("");
|
||||
$('.download_urls a').click(function() {
|
||||
$('.download_urls a').unbind('click').click(function() {
|
||||
$(this).parents('li').remove();
|
||||
});
|
||||
});
|
||||
|
@ -137,15 +137,15 @@ function check_global(name) {
|
|||
}
|
||||
function get_global_settings(cb) {
|
||||
var sets = [];
|
||||
var tmp_set;
|
||||
var tmp_set = [];
|
||||
for(var i = 0; i < input_file_settings.length; i++) {
|
||||
tmp_set = input_file_settings[i];
|
||||
tmp_set = $.extend(true, {}, input_file_settings[i]);
|
||||
if(check_global(tmp_set)) {
|
||||
sets.push(tmp_set);
|
||||
}
|
||||
}
|
||||
for(var i = 0; i < global_settings.length; i++) {
|
||||
tmp_set = global_settings[i];
|
||||
tmp_set = $.extend(true, {}, global_settings[i]);
|
||||
if(check_global(tmp_set)) {
|
||||
sets.push(tmp_set);
|
||||
}
|
||||
|
@ -154,8 +154,7 @@ function get_global_settings(cb) {
|
|||
func: 'getGlobalOption',
|
||||
success: function(data) {
|
||||
var res = data.result;
|
||||
console.log(res);
|
||||
for(var i in data.result) {
|
||||
for(var i in res) {
|
||||
for(var j = 0; j < sets.length; j++) {
|
||||
if(sets[j].name === i) {
|
||||
sets[j].value = res[i].trim();
|
||||
|
@ -163,10 +162,11 @@ function get_global_settings(cb) {
|
|||
if(sets[j].option) {
|
||||
for(var k = 0; k < sets[j].options.length; k++) {
|
||||
var tmp = {
|
||||
val: sets[j].options[k].toString(),
|
||||
disp: sets[j].options[k].toString()
|
||||
val: sets[j].options[k],
|
||||
disp: sets[j].options[k]
|
||||
};
|
||||
if(sets[j].options[k].toString() === sets[j].value) {
|
||||
|
||||
if(sets[j].options[k] === sets[j].value) {
|
||||
tmp.val = sets[j].value + '" selected="true';
|
||||
}
|
||||
sets[j].options[k] = tmp;
|
||||
|
@ -185,7 +185,7 @@ function get_global_settings(cb) {
|
|||
function custom_global_settings() {
|
||||
var gen = function(name) {
|
||||
return { name: name, values: [] };
|
||||
}
|
||||
};
|
||||
var general_settings = gen("General Settings");
|
||||
var torrent_settings = gen("Bit-Torrent Settings");
|
||||
var ftp_settings = gen("FTP Settings");
|
||||
|
@ -224,6 +224,35 @@ function custom_global_settings() {
|
|||
});
|
||||
$('#dynamic_global_settings').html(item);
|
||||
modals.global_settings_modal.modal('show');
|
||||
$("#save_global_settings").one('click',function() {
|
||||
var settings = {};
|
||||
for(var i = 0; i < sets.length; i++) {
|
||||
var elem = $("#input_settings_" + sets[i].name);
|
||||
if(sets[i].value) {
|
||||
if(elem.val() !== sets[i].value) {
|
||||
settings[sets[i].name] = elem.val();
|
||||
}
|
||||
}
|
||||
else if(elem.val() !== "no_val" && elem.val() !== "") {
|
||||
settings[sets[i].name] = elem.val();
|
||||
}
|
||||
}
|
||||
console.log(settings);
|
||||
if(!$.isEmptyObject(settings)) {
|
||||
aria_syscall({
|
||||
func: 'changeGlobalOption',
|
||||
params: [settings],
|
||||
success: function(data) {
|
||||
console.log(data);
|
||||
clear_dialogs();
|
||||
}
|
||||
});
|
||||
clear_dialogs();
|
||||
}
|
||||
else {
|
||||
clear_dialogs();
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user