diff options
Diffstat (limited to 'install')
-rw-r--r-- | install/ui/widget.js | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/install/ui/widget.js b/install/ui/widget.js index 445b949db..14a40a577 100644 --- a/install/ui/widget.js +++ b/install/ui/widget.js @@ -434,6 +434,27 @@ IPA.multivalued_text_widget = function(spec) { } }; + that.super_test_dirty = that.test_dirty; + + that.test_dirty = function(index){ + if (index === undefined) { + return that.super_test_dirty(); + } + var row = that.get_row(index); + var return_value = false; + + $('input[name="'+that.name+'"]', row).each(function() { + var input = $(this); + if (input.is('.strikethrough')) return_value = true; + var value = input.val(); + + if (value !== that.values[index]){ + return_value = true; + } + }); + return return_value; + }; + that.set_dirty = function(dirty, index) { that.widget_set_dirty(dirty); if (that.undo) { @@ -589,7 +610,7 @@ IPA.multivalued_text_widget = function(spec) { var index = that.row_index(row); // uncross removed value input.removeClass('strikethrough'); - that.set_dirty(true, index); + that.set_dirty( that.test_dirty(index), index); if (that.undo) { if (index < that.values.length) { remove_link.css('display', 'inline'); |