From ba36cae1d2c2ae115eff56834ed018d3f627253b Mon Sep 17 00:00:00 2001
From: Adam Young <ayo...@redhat.com>
Date: Mon, 10 Jan 2011 21:14:51 -0500
Subject: [PATCH] spinning wheel
 display a spinning icon gif during network traffic.

---
 install/static/Makefile.am        |    3 +++
 install/static/details.js         |   12 +++++++++---
 install/static/index.html         |    5 ++++-
 install/static/ipa.css            |   18 ++++++++++++++++++
 install/static/ipa.js             |   30 +++++++++++++++++++++++++++++-
 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, 68 insertions(+), 5 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 f0756321d8021dc654e6544e35bfa3369adef3ff..3f6027aa61afde8886e3fc0bfb0944e8c64c8451 100644
--- a/install/static/details.js
+++ b/install/static/details.js
@@ -449,6 +449,11 @@ function ipa_details_facet(spec) {
 
         container.attr('title', that.entity_name);
 
+        $('<h1/>',{
+            html: ": "+that.entity_name + ' Settings'
+        }).append(IPA.create_network_spinner()).
+            appendTo(container);
+
         var details = $('<div/>', {
             'class': 'content'
         }).appendTo(container);
@@ -468,8 +473,6 @@ function ipa_details_facet(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];
@@ -546,14 +549,17 @@ function ipa_details_facet(spec) {
 
     function load(record) {
         that.record = record;
-
         for (var i=0; i<that.sections.length; i++) {
             var section = that.sections[i];
             section.load(record);
         }
+        $('h1',that.container).prepend(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>u...@freeip.org</strong></a>
       </span>
diff --git a/install/static/ipa.css b/install/static/ipa.css
index b89344263e8cbe4bbf175bd82a67ebcc0bf7d375..9ec9443b7bbfc3e80e0ec1d860b54502b4fb0ee5 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 296df05a70afc1effc8e20c5a79316c709d38188..01921a3aa00d104509d9343d86afa80cbc191eda 100644
--- a/install/static/ipa.js
+++ b/install/static/ipa.js
@@ -225,11 +225,14 @@ function ipa_batch_command(spec) {
     };
 
     that.execute = function() {
+        $('#network-activity-indicator').css('display','block');
+
         ipa_cmd(
             that.method,
             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];
@@ -284,6 +287,20 @@ function ipa_cmd(name, args, options, win_callback, fail_callback, objname, comm
 {
     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;
 
@@ -304,6 +321,7 @@ function ipa_cmd(name, args, options, win_callback, fail_callback, objname, comm
     }
 
     function ajax_error_handler(xhr, text_status, error_thrown) {
+        hide_activity_icon();
         IPA.error_dialog.empty();
         IPA.error_dialog.attr('title', error_thrown.title);
 
@@ -313,6 +331,7 @@ function ipa_cmd(name, args, options, win_callback, fail_callback, objname, comm
     }
 
     function error_handler(xhr, text_status, error_thrown) {
+        hide_activity_icon();
 
         if (!error_thrown) {
             error_thrown = {
@@ -341,6 +360,7 @@ function ipa_cmd(name, args, options, win_callback, fail_callback, objname, comm
 
 
     function http_error_handler(xhr, text_status, error_thrown) {
+        hide_activity_icon();
         IPA.error_dialog.empty();
         IPA.error_dialog.attr('title', error_thrown.title);
 
@@ -351,6 +371,7 @@ function ipa_cmd(name, args, options, win_callback, fail_callback, objname, comm
     }
 
     function ipa_error_handler(xhr, text_status, error_thrown) {
+        hide_activity_icon();
         IPA.error_dialog.empty();
         IPA.error_dialog.attr('title', error_thrown.title);
 
@@ -361,6 +382,7 @@ function ipa_cmd(name, args, options, win_callback, fail_callback, objname, comm
 
 
     function success_handler(data, text_status, xhr) {
+        hide_activity_icon();
         if (!data) {
             var error_thrown = {
                 title: 'HTTP Error '+xhr.status,
@@ -409,7 +431,7 @@ function ipa_cmd(name, args, options, win_callback, fail_callback, objname, comm
         success: success_handler,
         error: error_handler
     };
-
+    display_activity_icon();
     $.ajax(request);
 
     return (id);
@@ -456,3 +478,9 @@ function ipa_get_member_attribute(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 2fb4be13e07c16ea46579f8a4b9c10d8df0455f8..819e8df5b4e09106cddd185f6f51271fada086d0 100644
--- a/install/static/search.js
+++ b/install/static/search.js
@@ -41,6 +41,8 @@ function ipa_search_widget(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
zcmZ{lXIRtc8pi)5fdoh(><tNo6%Yb45*bNI7-5DXgdq@?$VP@#5wd`QfDw>okpQBI
z$kHNu>LEZF;y^gGRgRUS)~mL)MYIYnl9PDObrnCHZ|}F?ec#V>Kd&#%2Tx!k0VMDN
z0M31RuCS=^$caPVan2c~@g0}XMrP0oPG)CjX6iaZkMjyjOG^V|y%rW0?0k$4gks@Z
zP}_YrMg+y%lee<Un1h3ZV`F2s&KCRzHkZqN{`~pW)YKQ%IS&44mtgbPuV0fHxbSpu
zk@)t_$!nFh9R8`wGaY<m0z8+MeDUH%Ze6JrMSE>+Ejc+kIy*2R(fz@L2WPwL(C#WJ
z#f+gF{eesmeHU2!#fIkd0xVU}5T&0}o+K8FgOf-&no(DG7ctU~o=T~$s~x*N(l^@O
zb@^ON`&q9bx0RI@3zDV_-J+$XrM$k#+1Xjg4%&3SuKvpkW=1T9LJ<fAVQJnm8T5&X
ziJDgS&55r@#;<zN9nSSO6;)<XBAv}i8p*{`y?s6W<}zxmQ)n86krfb^7gAnxY<2bV
z?Ch+jwSuuLJfkrA)<15hmBfhWr%XLmlZqmXIXU`HFh*v8fr}z7p5RG6VDD#S>!W|=
zO8?x#OlfU?{aJocP|(Smg28K7mY0|H9AWAhdCr-VLwR(Muzh;AaK}J&{;_OR7flB$
z218V{aMN90S&BbO&n{&;`(USMrd)%q5{`y>M%W+are&5Uw01Yd<OK2>k0+$YYTH1|
zDoY$att~vYn1vCP7$=W|`<w#I^_-x2?9@DVN<KT)DcFn{WgnbEjL!=-aYyLjpos<H
z(K&$yyu($^C(}>F#%2fOLoE{vA`I|~1J^F)u~O(M<blEd#>U2l`}1kVu~sCV$KQX)
z5)=`Fv7wPc>FI}U-Owq;Q5H@{jI>}YSECYsPIej7z#eW#MH%jg`zN|3BqR)uUqV|O
zXc#LWtIEPt?e#2>I`+`G+>ri(zK-s;JZ|dZ%H1=~^>-HLTRWTf`(d7Z|D<oYXJ$@Z
z+s5r5z0iNXXW*;e0&aQ%E5j`uJ9AGoGBQ%pbRwrTwe`Yjll|%;^x&w3P)1Bt9xF9A
zJE*h2HS<JbQc(n&fGpu>o8dJZg*67QPy<((As%Lche;$7v_v`BJ0hGyrh7Zu;lOeL
z0HC)a@=AaNu$8{0B|!oJ>^$&M@mJS}J{%52ZBxU_+)G%2{6HJ{_D=Ogh8M^%;-}w9
z;5vfi^^z?i#f!}a^8Y2y<&Tw-=>h`nq1ZJ~J`+jO$rr+_4bii&-cuW<3=87EUcd44
zon})sOC=&KW6p@9LgFbMUw{UcH3X^@()qz5<sQXNXMX0av|hVv+qF5D=|e<<;tdZi
zEh@_gSnhm;WAj9;YYA#PaM<UP5rB$RG82#}8gAt_qB$_h8;wyE(kpG6VI9$8+NGCc
z&LH#&1L`$kOOW4?UA~hOM_=t8N)Js%>8QEFj2|sAQ4>5REzT&!5*l1#XM0EakGGvI
z(Z)5{AO?6QEK0L^(0_A3>TjwnH3R^cQWIp<KHDV`7aa0po4wIF0dd*=;~CTYKGBi`
zdHOiXVv=aA4f!WUu*CMv11ZC|5Btt5fI)NofZ`39{&CPYAxqb*N6yhk|2!)iT49Ys
zXkcjz*Ds57ZonK6dz{LcDxaKY%9!)Hnv-1ccGEC>BVnRS#e(X;IkZ~g1TyCd9hFXt
zPkf{Of^GRwSx)oq?$w?TA&v67Q3@*Q;oL+`%%A$kkc0WckWP*%)eqdgvdF$0fjT<3
zIK9NS`P#h$J6svsfACo1{c%tx>2uGjfU?wc(x;>sO{Dz4ie531Xz~GztgBlsiK`cR
z4L?6(q?q3ACiy%ZpyAE*2FvSPcfwgO?+tNB;*l@Jpk@lM3$nUpIW4;H6o#Y@udlzH
z(A8?TMfQoUnu=R%mEL`uo45xH0pz4XBc#|kDfZWI0)&%X^;N;<roCXa3@V9kc<+Ny
zaS=%8YISjzxZhO&i&`uCOq&Nr^>}(Ks+R=0rA-Pr!l{y1&W!u*Ca8i*g&`p~cMikZ
z^<AE0M!J74o`Q4b<o5cM15`f&Gh{wXx=~~UsJyz_%ilYRJg|fy#NgU`4_X?}bZNZN
zs6j~-_}i|@$_RJ0@JR8pPj5ieQ4pcf8fT)2^QkNnZmVjmJK-L@(QK`|BXp${;q|aM
zfaR%JGPQlo%v-^S@*(u33vSP9fdP;dF7ulv#qYR2zbh&OYbZ6L&8P^T#KL+<M;vCr
z?}Jzc&M-yPirn4Dy4!Eo9O2%6!&vLro#%ao{^|n}b8EgCI+4MFjW0XxY~;QSEY(@>
z^fcD$wt5kjM6N2Qdd9WklOSRW7!3N`IanGsLh2oW70J+-W@n{a{Z~-?v?_Ya=+4uf
zUzR4<$ym3TXv0VMmbrD{D7CEdC9=nnQNII)P4aQIWvDr1yE%QOgF9D`!CQ%*5Xt9u
zf8>z6+eP|u@gINT{?Lghxj#aP-wx?>tlgB;A90Z#l?Zjn(?Wc}g=yC3O5mTA<jIuy
zR;@{u9MmJtZ*;=TL<+Z16*yQ;B{&l%!qY+IdIJ2RdPROSA>95z6XeZof)fm?<sdNI
z;0#;1EaSI7`0{EX66BAYZ|$d>%1;zm)6E6<h>=>hwSOK<<+XC}l`+OGhfSt)7`h6O
zzeUIaU}@cClQ<$<1iuZrNiKvIO_@g;Q7U&7^f#vR9$=s)whoGHx?)Xi*X|5wv}V04
zS{*XVA=L?Q*cB?Q@&!|miIjW0GyJ95N|GMV1-6qP^kO`q1fvu&Z59^j^?nEaPF(3b
zR0TfePSHi~r9-52*@^id-K0%=*wp;y=|Ysz!)4rsimLA#fM;14+aK3Et8u%!*jJV~
zx$8*~BTZArK4Vq1r1i4H_%uLd7q3K<-~S$RrW~AeUx32RR@q40tA+W`);hExZo6)p
zIk1&ViDN$L|I$AyJAhk6T$sEz$`RE?ff5W&Bi;wsP}z1*#i1>xwc;?h-*)bbUp%um
zf%+D4Ql38}M)Cpn_NA9%qK;diVT8!+Nqu?9_zrl4D<HC&rR#rHRmIcTxybI6)f`n~
z3+N<2a4#K@CjZ|Grc0CO0bT77HcUgQmW67cs*>cCQXp#R2@(yv+w=BxC=0$%{h$-7
zip)hI6pm=lGZ(L%RXUx{Zeul`3s4HJrOk^Fh(Jl2NG-h@<3)eBuoIg?W7YQVYQER7
zVhfa8BR+V1{-elRAp230Wn<quExmJ~?0GLMTzh?x3J#eF14z8`dJ+yZ$I+PP^t>3@
z>g$8B)bDzlQl=1!EvF?g`WC1_SZ60n+;r2K4x40OP$=fJRlg_8*{iGI+A(?+u96ho
zyB4h0<er@eKDAHAl@;G`YbeH<1G;i3&vcjuiG=kq)W%*VR06c!>KOEf65M8Tw@#N$
z{{ev*^H;gfOg`gZS2|qO_->iSw`Kf#dq-!ARM%nSZM6DoXif!B{WrtQeB;!Dmf>ys
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 795cc42a204879553fe275ffc5db1d774008ee28..f85878d788da11e5343e584265ea8abc24dbdcb2 100755
--- a/install/static/widget.js
+++ b/install/static/widget.js
@@ -1105,6 +1105,8 @@ function ipa_adder_dialog(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
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel

Reply via email to