diff options
Diffstat (limited to 'modules-available/sysconfig/clientscript.js')
-rw-r--r-- | modules-available/sysconfig/clientscript.js | 38 |
1 files changed, 22 insertions, 16 deletions
diff --git a/modules-available/sysconfig/clientscript.js b/modules-available/sysconfig/clientscript.js index cafe7b02..a9b85251 100644 --- a/modules-available/sysconfig/clientscript.js +++ b/modules-available/sysconfig/clientscript.js @@ -5,7 +5,7 @@ var boldItem = false; var revList = false; - var $ct = $('#conftable').find('.confrow'); + var $ct = $('#conftable').find('.confrow .title'); $ct.click(function () { showmod(this, 'bold'); }).mouseenter(function () { @@ -13,7 +13,7 @@ }).mouseleave(function () { showmod(this, 'reset'); }); - var $mt = $('#modtable').find('.modrow'); + var $mt = $('#modtable').find('.modrow .title'); $mt.click(function () { showconf(this, 'bold'); }).mouseenter(function () { @@ -33,7 +33,7 @@ var $msgs = $confirm.find('ul').empty(); for (var i = 0; i < list.length; ++i) { $msgs.append($('<li>').text( - $('.confrow[data-id="' + list[i] + '"]').text() + $('.confrow[data-id="' + list[i] + '"] .title').text() )); } $confirm.removeClass('hidden'); @@ -56,7 +56,7 @@ function buildRevList() { revList = {}; $ct.each(function () { - var elem = $(this); + var elem = $(this).parent(); var cid = elem.data('id') + ''; var list = (elem.data('modlist') + '').split(','); for (var i = 0; i < list.length; ++i) { @@ -71,11 +71,11 @@ if (action === 'reset') return; var $e = $(e); if (!revList) buildRevList(); - var mid = $e.data('id') + ''; + var mid = $e.parent().data('id') + ''; var list = revList[mid]; if (list && list.length > 0) $ct.each(function () { var elem = $(this); - var cid = elem.data('id') + ''; + var cid = elem.parent().data('id') + ''; if (list.indexOf(cid) === -1) elem.addClass('slx-fade'); else if (action === 'bold') @@ -91,10 +91,10 @@ action = showpre(e, action); if (action === 'reset') return; var $e = $(e); - var list = ($e.data('modlist') + '').split(','); + var list = ($e.parent().data('modlist') + '').split(','); $mt.each(function () { var elem = $(this); - if (list.indexOf(elem.data('id') + '') === -1) + if (list.indexOf(elem.parent().data('id') + '') === -1) elem.addClass("slx-fade"); else if (action === 'bold') elem.addClass("slx-bold"); @@ -113,23 +113,29 @@ var statusChecks = 0; function checkBuildStatus() { var mods = []; var confs = []; - $(".refmod.btn-primary").each(function (index) { + $(".modrow .btn-rebuild.btn-primary").each(function (index) { mods.push($(this).val()); }); - $(".refconf.btn-primary").each(function (index) { + $(".confrow .btn-rebuild.btn-primary").each(function (index) { confs.push($(this).val()); }); if (mods.length === 0 && confs.length === 0) return; if (++statusChecks < 10) setTimeout(checkBuildStatus, 150 + 100 * statusChecks); $.post('?do=SysConfig', { mods: mods.join(), confs: confs.join(), token: TOKEN, action: 'status' }, function (data) { if (typeof data === 'undefined') return; - if (typeof data.mods === 'object') updateButtonColor($(".refmod.btn-primary"), data.mods); - if (typeof data.confs === 'object') updateButtonColor($(".refconf.btn-primary"), data.confs); + if (typeof data.mods === 'object') updateButtonColor('.modrow', data.mods); + if (typeof data.confs === 'object') updateButtonColor('.confrow', data.confs); }, 'json'); } -function updateButtonColor(list,ids) { - list.each(function() { - if (ids.indexOf($(this).val()) >= 0) $(this).removeClass('btn-primary').addClass('btn-default'); - }); +function updateButtonColor(rowclass,ids) { + for (var i = 0; i < ids.length; ++i) { + var e = ids[i]; + var $row = $(rowclass + '[data-id=' + e.id + ']'); + $row.find('.btn-rebuild').removeClass('btn-primary').addClass('btn-default'); + if (e.warnings && (typeof e.warnings === 'string') && e.warnings.length > 0) { + $row.find('.row-warnings').text(e.warnings); + $row.find('.btn-warnings').removeClass('hidden'); + } + } } |