2
0
Эх сурвалжийг харах

Move toggles js code to static

Saria Hajjar 6 жил өмнө
parent
commit
a7ec0c14f7

+ 30 - 0
netbox/project-static/js/interface_toggles.js

@@ -0,0 +1,30 @@
+// Toggle the display of IP addresses under interfaces
+$('button.toggle-ips').click(function() {
+    var selected = $(this).attr('selected');
+    if (selected) {
+        $('#interfaces_table tr.ipaddresses').hide();
+    } else {
+        $('#interfaces_table tr.ipaddresses').show();
+    }
+    $(this).attr('selected', !selected);
+    $(this).children('span').toggleClass('glyphicon-check glyphicon-unchecked');
+    return false;
+});
+
+// Inteface filtering
+$('input.interface-filter').on('input', function() {
+    var filter = new RegExp(this.value);
+
+    for (interface of $(this).closest('form').find('tbody > tr')) {
+        // Slice off 'interface_' at the start of the ID
+        if (filter && filter.test(interface.id.slice(10))) {
+            // Match the toggle in case the filter now matches the interface
+            $(interface).find('input:checkbox[name=pk]').prop('checked', $('input.toggle').prop('checked'));
+            $(interface).show();
+        } else {
+            // Uncheck to prevent actions from including it when it doesn't match
+            $(interface).find('input:checkbox[name=pk]').prop('checked', false);
+            $(interface).hide();
+        }
+    }
+});

+ 1 - 28
netbox/templates/dcim/device.html

@@ -903,35 +903,8 @@ function toggleConnection(elem) {
 $(".cable-toggle").click(function() {
     return toggleConnection($(this));
 });
-// Toggle the display of IP addresses under interfaces
-$('button.toggle-ips').click(function() {
-    var selected = $(this).attr('selected');
-    if (selected) {
-        $('#interfaces_table tr.ipaddresses').hide();
-    } else {
-        $('#interfaces_table tr.ipaddresses').show();
-    }
-    $(this).attr('selected', !selected);
-    $(this).children('span').toggleClass('glyphicon-check glyphicon-unchecked');
-    return false;
-});
-$('input.interface-filter').on('input', function() {
-    var filter = new RegExp(this.value);
-
-    for (interface of $(this).closest('form').find('tbody > tr')) {
-        // Slice off 'interface_' at the start of the ID
-        if (filter && filter.test(interface.id.slice(10))) {
-            // Match the toggle in case the filter now matches the interface
-            $(interface).find('input:checkbox[name=pk]').prop('checked', $('input.toggle').prop('checked'));
-            $(interface).show();
-        } else {
-            // Uncheck to prevent actions from including it when it doesn't match
-            $(interface).find('input:checkbox[name=pk]').prop('checked', false);
-            $(interface).hide();
-        }
-    }
-});
 </script>
+<script src="{% static 'js/interface_toggles.js' %}?v{{ settings.VERSION }}"></script>
 <script src="{% static 'js/graphs.js' %}?v{{ settings.VERSION }}"></script>
 <script src="{% static 'js/secrets.js' %}?v{{ settings.VERSION }}"></script>
 {% endblock %}

+ 2 - 30
netbox/templates/virtualization/virtualmachine.html

@@ -1,5 +1,6 @@
 {% extends '_base.html' %}
 {% load custom_links %}
+{% load static %}
 {% load helpers %}
 
 {% block header %}
@@ -315,34 +316,5 @@
 {% endblock %}
 
 {% block javascript %}
-<script type="text/javascript">
-// Toggle the display of IP addresses under interfaces
-$('button.toggle-ips').click(function() {
-    var selected = $(this).attr('selected');
-    if (selected) {
-        $('#interfaces_table tr.ipaddresses').hide();
-    } else {
-        $('#interfaces_table tr.ipaddresses').show();
-    }
-    $(this).attr('selected', !selected);
-    $(this).children('span').toggleClass('glyphicon-check glyphicon-unchecked');
-    return false;
-});
-$('input.interface-filter').on('input', function() {
-    var filter = new RegExp(this.value);
-
-    for (interface of $(this).closest('form').find('tbody > tr')) {
-        // Slice off 'interface_' at the start of the ID
-        if (filter && filter.test(interface.id.slice(10))) {
-            // Match the toggle in case the filter now matches the interface
-            $(interface).find('input:checkbox[name=pk]').prop('checked', $('input.toggle').prop('checked'));
-            $(interface).show();
-        } else {
-            // Uncheck to prevent actions from including it when it doesn't match
-            $(interface).find('input:checkbox[name=pk]').prop('checked', false);
-            $(interface).hide();
-        }
-    }
-});
-</script>
+<script src="{% static 'js/interface_toggles.js' %}?v{{ settings.VERSION }}"></script>
 {% endblock %}