diff --git a/circle/circle/settings/base.py b/circle/circle/settings/base.py index 0f82fbd..b295c96 100644 --- a/circle/circle/settings/base.py +++ b/circle/circle/settings/base.py @@ -174,15 +174,16 @@ PIPELINE_CSS_COMPRESSOR = 'pipeline.compressors.yuglify.YuglifyCompressor' # PIPELINE_JS_COMPRESSOR = 'pipeline.compressors.jsmin.JSMinCompressor' # PIPELINE_JS_COMPRESSOR = 'pipeline.compressors.yuglify.YuglifyCompressor' PIPELINE_JS_COMPRESSOR = None # js compressors don't really like our deps +PIPELINE_DISABLE_WRAPPER = True PIPELINE_CSS = { "all": {"source_filenames": ( "bootstrap/dist/css/bootstrap.css", "bootstrap/dist/css/bootstrap-theme.css", "fontawesome/css/font-awesome.css", - "template.css", - "dashboard/dashboard.css", "jquery-simple-slider/css/simple-slider.css", "bootstrap-tour/build/css/bootstrap-tour.css", + "template.css", + "dashboard/dashboard.css", "network/network.css", ), "output_filename": "all.css", @@ -197,7 +198,6 @@ PIPELINE_JS = { "jquery-knob/dist/jquery.knob.min.js", "jquery-simple-slider/js/simple-slider.js", "dashboard/dashboard.js", - "dashboard/disk-list.js", "dashboard/group-details.js", "dashboard/group-list.js", "dashboard/js/stupidtable.min.js", @@ -217,21 +217,20 @@ PIPELINE_JS = { "output_filename": "all.js", }, "vm-detail": {"source_filenames": ( + "dashboard/vm-details.js", "no-vnc/include/util.js", - "no-vnc/include/ui.js", - "no-vnc/include/playback.js", - "no-vnc/include/websock.js", "no-vnc/include/webutil.js", - "no-vnc/include/input.js", - "no-vnc/include/jsunzip.js", - "no-vnc/include/logo.js", + "no-vnc/include/base64.js", + "no-vnc/include/websock.js", "no-vnc/include/des.js", + "no-vnc/include/keyboard.js", + "no-vnc/include/input.js", "no-vnc/include/display.js", + "no-vnc/include/jsunzip.js", "no-vnc/include/rfb.js", - "no-vnc/include/base64.js", - "dashboard/vm-details.js", "dashboard/vm-console.js", "dashboard/vm-tour.js", + "dashboard/disk-list.js", ), "output_filename": "vm-detail.js", }, diff --git a/circle/dashboard/static/dashboard/dashboard.css b/circle/dashboard/static/dashboard/dashboard.css index f5eb508..79ff21f 100644 --- a/circle/dashboard/static/dashboard/dashboard.css +++ b/circle/dashboard/static/dashboard/dashboard.css @@ -940,3 +940,45 @@ textarea[name="list-new-namelist"] { #vm-list-search, #vm-mass-ops { margin-top: 8px; } +.list-group-item-last { + border-bottom: 1px solid #ddd !important; +} + +.slider { + display: inline-block; +} +.slider .track { + height: 20px; + top: 50%; +} +.slider > .dragger, .slider > .dragger:hover { + border-radius: 0px; + -moz-border-radius: 0px; + -webkit-border-radius: 0px; + width: 8px; + height: 24px; + margin-top: -12px!important; + text-shadow: 0 1px 0 #fff; + background-image: -webkit-gradient(linear, left 0%, left 100%, from(#428bca), to(#3071a9)); + background-image: -webkit-linear-gradient(top, #428bca, 0%, #3071a9, 100%); + background-image: -moz-linear-gradient(top, #428bca 0%, #3071a9 100%); + background-image: linear-gradient(to bottom, #428bca 0%, #3071a9 100%); + background-repeat: repeat-x; + border-color: #2d6ca2; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0); +} +.slider > .dragger:hover { + background-color: #3071a9; + background-image: none; + border-color: #2d6ca2; +} +.slider > .highlight-track { + height: 20px; + top: 50%; +} +.slider > .track, .slider > .highlight-track { + border-radius: 5px; +} +.slider { + width: 100%; +} diff --git a/circle/dashboard/static/dashboard/dashboard.js b/circle/dashboard/static/dashboard/dashboard.js index 51edefa..4f980eb 100644 --- a/circle/dashboard/static/dashboard/dashboard.js +++ b/circle/dashboard/static/dashboard/dashboard.js @@ -442,14 +442,15 @@ $(document).on('shown.bs.tab', 'a[href="#resources"]', function (e) { }); function addSliderMiscs() { + var vms = $(".vm-slider:not(.slider-added)").addClass("slider-added"); // set max values based on inputs var cpu_count_range = "0, " + $(".cpu-count-input").prop("max"); var ram_range = "0, " + $(".ram-input").prop("max"); $(".cpu-count-slider").data("slider-range", cpu_count_range); $(".ram-slider").data("slider-range", ram_range); - $(".vm-slider").simpleSlider(); - $(".cpu-priority-slider").bind("slider:changed", function (event, data) { + vms.simpleSlider(); + $(".cpu-priority-slider", vms).bind("slider:changed", function (event, data) { var value = data.value + 0; $('.cpu-priority-input option[value="' + value + '"]').attr("selected", "selected"); @@ -460,7 +461,7 @@ function addSliderMiscs() { $(".cpu-priority-slider").simpleSlider("setValue", val); }); - $(".cpu-count-slider").bind("slider:changed", function (event, data) { + $(".cpu-count-slider", vms).bind("slider:changed", function (event, data) { var value = data.value + 0; $(".cpu-count-input").val(parseInt(value)); }); @@ -473,7 +474,7 @@ function addSliderMiscs() { var ram_fire = false; - $(".ram-slider").bind("slider:changed", function (event, data) { + $(".ram-slider", vms).bind("slider:changed", function (event, data) { if(ram_fire) { ram_fire = false; return; @@ -491,9 +492,9 @@ function addSliderMiscs() { setDefaultSliderValues(); - $(".cpu-priority-slider").simpleSlider("setDisabled", $(".cpu-priority-input").prop("disabled")); - $(".cpu-count-slider").simpleSlider("setDisabled", $(".cpu-count-input").prop("disabled")); - $(".ram-slider").simpleSlider("setDisabled", $(".ram-input").prop("disabled")); + $(".cpu-priority-slider", vms).simpleSlider("setDisabled", $(".cpu-priority-input").prop("disabled")); + $(".cpu-count-slider", vms).simpleSlider("setDisabled", $(".cpu-count-input").prop("disabled")); + $(".ram-slider", vms).simpleSlider("setDisabled", $(".ram-input").prop("disabled")); } function setDefaultSliderValues() { diff --git a/circle/dashboard/static/dashboard/vm-console.js b/circle/dashboard/static/dashboard/vm-console.js index 6b0e5d8..8b46c68 100644 --- a/circle/dashboard/static/dashboard/vm-console.js +++ b/circle/dashboard/static/dashboard/vm-console.js @@ -1,8 +1,8 @@ $(function() { "use strict"; - Util.load_scripts(["webutil.js", "base64.js", "websock.js", "des.js", - "input.js", "display.js", "jsunzip.js", "rfb.js"]); + // Util.load_scripts(["webutil.js", "base64.js", "websock.js", "des.js", + // "input.js", "display.js", "jsunzip.js", "rfb.js"]); var rfb; function updateState(rfb, state, oldstate, msg) { diff --git a/circle/dashboard/static/dashboard/vm-details.js b/circle/dashboard/static/dashboard/vm-details.js index cb32215..95a2077 100644 --- a/circle/dashboard/static/dashboard/vm-details.js +++ b/circle/dashboard/static/dashboard/vm-details.js @@ -1,6 +1,7 @@ var show_all = false; var in_progress = false; var activity_hash = 5; +var Websock_native; $(function() { /* do we need to check for new activities */ diff --git a/circle/dashboard/templates/dashboard/vm-detail.html b/circle/dashboard/templates/dashboard/vm-detail.html index 3737863..9eb2688 100644 --- a/circle/dashboard/templates/dashboard/vm-detail.html +++ b/circle/dashboard/templates/dashboard/vm-detail.html @@ -1,6 +1,7 @@ {% extends "dashboard/base.html" %} {% load staticfiles %} {% load i18n %} +{% load compressed %} {% block title-page %}{{ instance.name }} | vm{% endblock %} @@ -173,10 +174,5 @@ {% endblock %} {% block extra_js %} - <script src="{% static "dashboard/bootstrap-tour.min.js" %}"></script> - <script src="{% static "dashboard/vm-details.js" %}"></script> - <script src="{% static "dashboard/vm-common.js" %}"></script> - <script src="{% static "dashboard/vm-console.js" %}"></script> - <script src="{% static "dashboard/disk-list.js" %}"></script> - <script src="{% static "dashboard/vm-tour.js" %}"></script> + {% compressed_js 'vm-detail' %} {% endblock %} diff --git a/circle/dashboard/templates/dashboard/vm-detail/console.html b/circle/dashboard/templates/dashboard/vm-detail/console.html index 59dd1e4..a9a71ae 100644 --- a/circle/dashboard/templates/dashboard/vm-detail/console.html +++ b/circle/dashboard/templates/dashboard/vm-detail/console.html @@ -23,9 +23,8 @@ <canvas id="noVNC_canvas" width="640px" height="20px">Canvas not supported. </canvas> -<script src="{% static "dashboard/novnc/util.js" %}"></script> <script> - var INCLUDE_URI = '{{ STATIC_URL }}dashboard/novnc/'; + var INCLUDE_URI = '{% static "no-vnc/include/" %}'; var VNC_URL = "{{ vnc_url }}"; </script> {% endif %}