From 4c22666ff142eaf86658b8df8f73797c371e2b5d Mon Sep 17 00:00:00 2001
From: Adam Young <ayo...@redhat.com>
Date: Thu, 16 Jun 2011 15:24:48 -0400
Subject: [PATCH] test dirty multivalue test the multivalue widgets for
 changes before showing the undo link.
 https://fedorahosted.org/freeipa/ticket/1337

---
 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 445b949db61cddae4fb1b1f5a424bcd7a24f27e1..14a40a577bf23fca32e5218b68aa141e6e7099cf 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');
-- 
1.7.5.2

_______________________________________________
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel

Reply via email to