On 01/14/2011 03:12 AM, Endi Sukma Dewata wrote:
On 1/14/2011 2:35 AM, Adam Young wrote:Mostly fine except these minor things: 1. Everytime you click Update on details facet the primary key will be prepended to the header. See details.js:664: $('h1',that.container).prepend(that.pkey); 2. The hide_activity_icon() invocations in the following methods: - ajax_error_handler() - http_error_handler() - ipa_error_handler() are unnecessary because it's been invoked earlier by success_handler or error_handler.
Updated
From fe32a392f531e608800c0e3ef515778a4d4fb2be Mon Sep 17 00:00:00 2001 From: Adam Young <[email protected]> Date: Mon, 10 Jan 2011 21:14:51 -0500 Subject: [PATCH] spinning wheel display a spinning icon gif during network traffic. Fixes the following from first patch: 1 primary key set in span as opposed to appended, so it only appears once. 2. call hide for the network activity icon only in success or failure functions, not multiple times --- install/static/Makefile.am | 3 ++ install/static/details.js | 12 ++++++++-- install/static/index.html | 5 +++- install/static/ipa.css | 18 +++++++++++++++++ install/static/ipa.js | 38 ++++++++++++++++++++++++++++++++---- install/static/search.js | 2 + install/static/spinner_header.gif | Bin 0 -> 2841 bytes install/static/spinner_large.gif | Bin 0 -> 6030 bytes install/static/spinner_small.gif | Bin 0 -> 3532 bytes install/static/widget.js | 2 + ipa.spec.in | 1 + 11 files changed, 72 insertions(+), 9 deletions(-) create mode 100644 install/static/spinner_header.gif create mode 100644 install/static/spinner_large.gif create mode 100644 install/static/spinner_small.gif diff --git a/install/static/Makefile.am b/install/static/Makefile.am index a539eb8bc399c9149686b88858de6e04b7ed02f1..c1a5a75550a7e8f43654fef533690667d9ea9db7 100644 --- a/install/static/Makefile.am +++ b/install/static/Makefile.am @@ -70,6 +70,9 @@ app_DATA = \ ui-icons_ffffff_256x240.png \ FreeWay.otf \ FreeWay-Bold.otf \ + spinner_header.gif \ + spinner_large.gif \ + spinner_small.gif \ $(NULL) EXTRA_DIST = \ diff --git a/install/static/details.js b/install/static/details.js index 84dbe8b521906b99fc2f59753fe9840da8f760ad..b5c74a62c7677ef76f3eeb191f35071fab0808f6 100644 --- a/install/static/details.js +++ b/install/static/details.js @@ -554,6 +554,11 @@ IPA.details_facet = function (spec) { container.attr('title', that.entity_name); + $('<h1/>',{ + html: "<span id='headerpkey' />"+that.entity_name + ' Settings' + }).append(IPA.create_network_spinner()). + appendTo(container); + var details = $('<div/>', { 'class': 'content' }).appendTo(container); @@ -573,8 +578,6 @@ IPA.details_facet = function (spec) { 'name': 'update' }).appendTo(buttons); - details.append('<br/>'); - details.append('<hr/>'); for (var i = 0; i < that.sections.length; ++i) { var section = that.sections[i]; @@ -651,14 +654,17 @@ IPA.details_facet = function (spec) { function load(record) { that.record = record; - for (var i=0; i<that.sections.length; i++) { var section = that.sections[i]; section.load(record); } + if (that.pkey){ + $('h1 #headerpkey',that.container).html(that.pkey+": "); + } } function reset() { + for (var i=0; i<that.sections.length; i++) { var section = that.sections[i]; section.reset(); diff --git a/install/static/index.html b/install/static/index.html index d63bfc106abe45432f62fd103271e0d9ba61f3c6..7ee4aa61cf29c3d6d205e07ff8585733b31a31f9 100644 --- a/install/static/index.html +++ b/install/static/index.html @@ -45,12 +45,15 @@ <link rel="stylesheet" type="text/css" href="ipa.css" /> </head> -<body> +<body> <div class="center-container"> <div class="header" > <span class="header-logo"> <a href="#"><img src="ipalogo.png" /></a> </span> + <span id="header-network-activity-indicator" class="network-activity-indicator"> + <img src="spinner_header.gif" /> + </span> <span id="loggedinas" class="header-loggedinas"> <a href="#"><span id="login_header">Logged in as</span>: <strong>[email protected]</strong></a> </span> diff --git a/install/static/ipa.css b/install/static/ipa.css index 38b68dd0572ab47ee4d99f71ab7010b0d0de943f..2e61d6d9d911df012facbb3497e2315853fcd5c1 100644 --- a/install/static/ipa.css +++ b/install/static/ipa.css @@ -22,6 +22,10 @@ body{ margin: 0; } +.network-activity-indicator{ + display:none; +} + .center-container { margin-left: auto; margin-right: auto; @@ -133,6 +137,20 @@ div.content div.content-buttons img { border: 0; } + +.entity-container h1{ + -moz-border-radius: 0.3em; + font-family: "FreeWayBold", "Liberation Sans", Arial, sans-serif; + color: #333333; + margin: 0; + background: #EEEEEE; + margin-top: 0.5em; + padding: .5em; + text-transform: uppercase; + font-size: 1.2em; +} + + h2 { font-family: "FreeWayBold","Liberation Sans", Arial, sans-serif; font-size: 1.5em; diff --git a/install/static/ipa.js b/install/static/ipa.js index f84028b89bbf15d0facf60323fe767c7692f7327..ed43d550ac56304259b31af320ae890fb46f25a3 100644 --- a/install/static/ipa.js +++ b/install/static/ipa.js @@ -229,6 +229,7 @@ IPA.batch_command = function (spec) { that.args, that.options, function(data, text_status, xhr) { + for (var i=0; i<that.commands.length; i++) { var command = that.commands[i]; var result = data.result.results[i]; @@ -283,6 +284,20 @@ IPA.cmd = function (name, args, options, win_callback, fail_callback, objname, c { var default_json_url = '/ipa/json'; + var network_call_count = 0; + function display_activity_icon(){ + network_call_count += 1; + $('.network-activity-indicator').css('display','inline'); + } + + function hide_activity_icon(){ + network_call_count -= 1; + + if (0 === network_call_count){ + $('.network-activity-indicator').css('display','none'); + } + } + function dialog_open(xhr, text_status, error_thrown) { var that = this; @@ -292,11 +307,15 @@ IPA.cmd = function (name, args, options, win_callback, fail_callback, objname, c buttons: { 'Retry': function () { IPA.error_dialog.dialog('close'); - IPA.cmd(name, args, options, win_callback, fail_callback, objname, command_name); + IPA.cmd(name, args, options, win_callback, fail_callback, + objname, command_name); }, 'Cancel': function () { IPA.error_dialog.dialog('close'); - if (fail_callback) fail_callback.call(that, xhr, text_status, error_thrown); + if (fail_callback) { + fail_callback.call(that, xhr, text_status, + error_thrown); + } } } }); @@ -312,7 +331,7 @@ IPA.cmd = function (name, args, options, win_callback, fail_callback, objname, c } function error_handler(xhr, text_status, error_thrown) { - + hide_activity_icon(); if (!error_thrown) { error_thrown = { name: xhr.responseText || 'Unknown Error', @@ -349,7 +368,9 @@ IPA.cmd = function (name, args, options, win_callback, fail_callback, objname, c dialog_open.call(this, xhr, text_status, error_thrown); } - function error_handler(xhr, text_status, error_thrown) { + //Think this should be removed + function alt_error_handler(xhr, text_status, error_thrown) { + hide_activity_icon(); IPA.error_dialog.empty(); IPA.error_dialog.attr('title', error_thrown.title); @@ -360,6 +381,7 @@ IPA.cmd = function (name, args, options, win_callback, fail_callback, objname, c function success_handler(data, text_status, xhr) { + hide_activity_icon(); if (!data) { var error_thrown = { title: 'HTTP Error '+xhr.status, @@ -408,7 +430,7 @@ IPA.cmd = function (name, args, options, win_callback, fail_callback, objname, c success: success_handler, error: error_handler }; - + display_activity_icon(); $.ajax(request); return (id); @@ -455,3 +477,9 @@ IPA.get_member_attribute = function (obj_name, member) } return null; } + +IPA.create_network_spinner = function(){ + return $('<span />',{ + 'class':'network-activity-indicator', + html: '<img src="spinner_small.gif" />'}); +} diff --git a/install/static/search.js b/install/static/search.js index d449a8e190e696eb13ff37defdb1e152cf4b9be6..535ad3fcff555aa9221eb989727f744ac73309fb 100644 --- a/install/static/search.js +++ b/install/static/search.js @@ -41,6 +41,8 @@ IPA.search_widget = function (spec) { 'name': 'search-filter' }).appendTo(search_controls); + search_controls.append(IPA.create_network_spinner()); + this.filter = $('<input/>', { 'type': 'text', 'name': 'search-' + that.entity_name + '-filter' diff --git a/install/static/spinner_header.gif b/install/static/spinner_header.gif new file mode 100644 index 0000000000000000000000000000000000000000..ba9fb781893f916f200f6ea93941a5ea3c81652d GIT binary patch literal 2841 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 Pa3Sa?mK;P{e7FAq8*5Kq literal 0 HcmV?d00001 diff --git a/install/static/spinner_large.gif b/install/static/spinner_large.gif new file mode 100644 index 0000000000000000000000000000000000000000..276dd5a77d6baf37bb9518d4d231f997803ba333 GIT binary patch literal 6030 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 literal 0 HcmV?d00001 diff --git a/install/static/spinner_small.gif b/install/static/spinner_small.gif new file mode 100644 index 0000000000000000000000000000000000000000..1a2da81c22d6d63098512302dd295b9ad0d80269 GIT binary patch literal 3532 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 Vat9)pvmEPd%!O*p4!%_C{{UOjK05#a literal 0 HcmV?d00001 diff --git a/install/static/widget.js b/install/static/widget.js index 297a44acc8bdc5bbf16a41960238330b00533837..f26ee2a1ee3ca1d13e687490797a369fd1cafff4 100644 --- a/install/static/widget.js +++ b/install/static/widget.js @@ -1105,6 +1105,8 @@ IPA.adder_dialog = function (spec) { label.appendTo(search_panel); + search_panel.append(IPA.create_network_spinner()); + var results_panel = $('<div/>', { 'class': 'adder-dialog-results' }).appendTo(that.container); diff --git a/ipa.spec.in b/ipa.spec.in index 2d6eda26e1ebe928acd08ed600764ed9b1b11a2f..5662d7dbe403979602aeb66d3af1af6520e7b0d1 100644 --- a/ipa.spec.in +++ b/ipa.spec.in @@ -398,6 +398,7 @@ fi %dir %{_usr}/share/ipa/static %{_usr}/share/ipa/static/index.html %{_usr}/share/ipa/static/*.png +%{_usr}/share/ipa/static/*.gif %{_usr}/share/ipa/static/*.css %{_usr}/share/ipa/static/*.js %{_usr}/share/ipa/static/*.otf -- 1.7.3.4
_______________________________________________ Freeipa-devel mailing list [email protected] https://www.redhat.com/mailman/listinfo/freeipa-devel
