From d7f4d616df836f2f8590c8fd82ab165bd2f97cd5 Mon Sep 17 00:00:00 2001 From: Adam Young Date: Wed, 26 Jan 2011 20:58:06 -0500 Subject: dirty If a page is dirty, do not allow additional navigation until changes are saved or committed https://fedorahosted.org/freeipa/ticket/726 --- install/ui/ipa.js | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'install/ui/ipa.js') diff --git a/install/ui/ipa.js b/install/ui/ipa.js index 406dce6d..128413b1 100644 --- a/install/ui/ipa.js +++ b/install/ui/ipa.js @@ -131,7 +131,38 @@ var IPA = ( function () { } }; + + that.test_dirty = function(){ + if (IPA.current_entity){ + var facet_name = IPA.current_facet(IPA.current_entity); + var facet = IPA.current_entity.facets_by_name[facet_name]; + if (facet.is_dirty()){ + var message_box = $("
",{ + html: IPA.messages.dirty + }). + appendTo($("#navigation")); + message_box.dialog({ + title: 'Dirty', + modal:true, + width: '20em', + buttons: { + Ok: function() { + $( this ).dialog( "close" ); + } + } + }); + return false; + } + } + return true; + } + + + that.show_page = function (entity_name, facet_name) { + if (!IPA.test_dirty()){ + return false; + } var state = {}; state[entity_name + '-facet'] = facet_name; @@ -139,6 +170,11 @@ var IPA = ( function () { }; that.switch_and_show_page = function (this_entity, facet_name, pkey) { + + if (!IPA.test_dirty()){ + return false; + } + if (!pkey){ that.show_page(this_entity, facet_name); return; -- cgit