From 188320a7b724a567e22466ed1bf87b1ce2b7e6f6 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Thu, 9 Oct 2014 09:37:24 -0700 Subject: [PATCH] badge sidebar for table removal --- domain-server/resources/web/js/settings.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/domain-server/resources/web/js/settings.js b/domain-server/resources/web/js/settings.js index e29f30601b..ce8dc7ef44 100644 --- a/domain-server/resources/web/js/settings.js +++ b/domain-server/resources/web/js/settings.js @@ -94,18 +94,20 @@ $(document).ready(function(){ $('#settings-form').on('click', '.del-row', function(){ var row = $(this).parents('tr') - var table = row.parents('table') + var table = $(row).closest('table') var isArray = table.data('setting-type') === 'array' if (!isArray) { // this is a hash row, so we empty it but leave the hidden input blank so it is cleared when we save row.empty() row.html(""); - } else { + } else { // just remove this row completely - the removal of the hidden input will remove it from the array on post row.remove() + + // we need to fire a change event on one of the remaining inputs so that the sidebar badge is updated + badgeSidebarForDifferences($(table)) } - }) $('#settings-form').on('change', 'input', function(){ @@ -264,9 +266,9 @@ function makeTable(setting, setting_name, setting_value) { if (isArray) { html += row // for arrays we add a hidden input to this td so that values can be posted appropriately - html += "" + html += "" } else if (row.hasOwnProperty(col.name)) { - html += row[col.name] + html += row[col.name] } html += "" @@ -326,7 +328,7 @@ function badgeSidebarForDifferences(changedInput) { var badgeValue = 0 - for (var setting in panelJSON) { + for (var setting in Settings.initialValues[panelParentID]) { if (panelJSON[setting] != Settings.initialValues[panelParentID][setting]) { badgeValue += 1 }