From 1f982c94ce2e71431138eb6468b17c4cdb30ac3b Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Mon, 17 Jul 2017 11:41:39 -0400 Subject: [PATCH] Added an AJAX spinner --- netbox/dcim/views.py | 10 --------- netbox/project-static/css/base.css | 25 ++++++++++++++++++++++ netbox/project-static/img/ajax-loader.gif | Bin 0 -> 2608 bytes netbox/templates/_base.html | 12 ++++++++--- netbox/templates/dcim/device_status.html | 4 +++- netbox/templates/inc/ajax_loader.html | 4 ++++ 6 files changed, 41 insertions(+), 14 deletions(-) create mode 100644 netbox/project-static/img/ajax-loader.gif create mode 100644 netbox/templates/inc/ajax_loader.html diff --git a/netbox/dcim/views.py b/netbox/dcim/views.py index 221916c9f..fdadc679d 100644 --- a/netbox/dcim/views.py +++ b/netbox/dcim/views.py @@ -926,19 +926,9 @@ class DeviceStatusView(View): def get(self, request, pk): device = get_object_or_404(Device, pk=pk) - method = request.GET.get('method', 'get_facts') - - interfaces = Interface.objects.order_naturally( - device.device_type.interface_ordering - ).filter( - device=device - ).select_related( - 'connected_as_a', 'connected_as_b' - ) return render(request, 'dcim/device_status.html', { 'device': device, - 'interfaces': interfaces, }) diff --git a/netbox/project-static/css/base.css b/netbox/project-static/css/base.css index f725dafa3..573c1c967 100644 --- a/netbox/project-static/css/base.css +++ b/netbox/project-static/css/base.css @@ -333,6 +333,31 @@ table.component-list tr.ipaddress:hover td { background-color: #e6f7f7; } +/* AJAX loader */ +.loading { + position: fixed; + display: none; + z-index: 999; + height: 2em; + width: 2em; + overflow: show; + margin: auto; + top: 0; + left: 0; + bottom: 0; + right: 0; +} +.loading:before { + content: ''; + display: block; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(0,0,0,0.3); +} + /* Misc */ .banner-bottom { margin-bottom: 50px; diff --git a/netbox/project-static/img/ajax-loader.gif b/netbox/project-static/img/ajax-loader.gif new file mode 100644 index 0000000000000000000000000000000000000000..24f1e865868be0f2e84ce0eb91ccb75cfc092b9a GIT binary patch literal 2608 zcmdVcdr(tX9tZGC9yiG~=H_*Q+&~BzkWqQ8Rf^T^KrYX$KoCm9M!SSdLcpq#Mg`ff zK@mZK`(XxP6gGwOV0AG)~kG5;I>D zw!aZZD^Y)wXum@YI*6z9M9U~){R=Vsgb1l6{3;0fNuqy>(48kL28a|RG53*0{F$2_rj9+$mAp}TpqbPFqrJ(Jjk0su^hEZug(zf$$n)fmz!%I{@$J6b9tnwQBK7iwFR?5N6QD@R@Wf*^q9Qi27UfxnYvF*Td8o9igu# zweB|rZ0*`ywtU0p;A@&SXnz_ReQf$b2nC@)o+2|J*|Q`O+QBGLuwaM{klX~Q_6QS- z$S7oRxGEv&S)`^U=K*!Qx8~8LDQXUHH^$@W=#_aV&SBiVC>^UOk)?~)$t@VHi_x9F zaY`4ftFQuWo$QMnpl#Bw2B{;H(CrTugVviT$^DZ9YBH(YYSxi}PQ}@>sS)29gE31L z(v5!h&hYX-BuQqn_0(JJ$kb~aO3%ib3-=0m+R`V78dij-qT<^9wC31QgUz(Fq{1u< z!71IRi-+P7I5ddUJFlUXaNnXl8e@=t+Nf79W>S7M0-lzJZafKn=6cF=Ilc5NojEx3 zONK?dRNKo_@40u;Hu;SP@Mb1L+j5mJc-RokQUVAf7Dc3IIDxXcoZRYacP}ZeAWNUs z*vOKmC^AgMO3a*O#O?W{xrg9l4&dolRGH zuY@~C?5Bq4{{`ChR>Xh$sF_*Vk2;4Gl;ncy>@3Y2zz;IK<4U>{rmhX+YNBwKDe*mJ zG!FMfz<3PaWP$Klyv!nHesqeAhICqrgWnl~+~OE!A5rd)q$&CVy3UXLOegSyQX+Qi0ab7wAj%3J0YhRbD; z`R-xQ&=nmI68k_uk9AAD(^nT-6xFOM{DQ7=m*i@NU&0*4p9i-x>3HISEE(k$exu^69K z9fayQ64}wvub=wTf40|lo$k1?4|k4|NQ@x+{vFxQNRoQF7Z?Bjhsah^Fjie1Q1c>} zJX#P>ksjkUID-l9L}boh(~uaQsL&iysU+972(CH9iQ?MnHiAJomES4<;$6IV`WlG8 zGtHi%;-^OJ$~YXJwKkD)*6g4nLGx;?Fa#{E4&eCt_pQ~q8OVma1&pe@2=JQ>ZZ669 zuL-T&wneE@t#gTzeLew^sqOb!k*k-|V>`(A9o4_hwpkA>yOQG0dpT%0=9Ev%iO6kH z<^HN^iM>YrU!DFa33i4472L_scIs9rR*B6HAJ%9qtukQ8#Vz}NHe?u_?O)rGMwUJ{ zT^gqc&F7_N<}-k$yCNXwW@b6Dnx_qF5?wD46d>LY4S?J$%>1#{TLQg#kFIc(QXOipPx z-kurL#^nr6j%Hc31C!UcB=ijT< - + {% block javascript %}{% endblock %} diff --git a/netbox/templates/dcim/device_status.html b/netbox/templates/dcim/device_status.html index d5931b550..537d1034b 100644 --- a/netbox/templates/dcim/device_status.html +++ b/netbox/templates/dcim/device_status.html @@ -1,8 +1,10 @@ {% extends '_base.html' %} +{% load staticfiles %} {% block title %}{{ device }} - NAPALM{% endblock %} {% block content %} + {% include 'inc/ajax_loader.html' %} {% include 'dcim/inc/device_header.html' with active_tab='status' %}
@@ -47,7 +49,7 @@