Revision 6a5168a3 ui/static/snf/js/ui/web/ui_networks_view.js
b/ui/static/snf/js/ui/web/ui_networks_view.js | ||
---|---|---|
567 | 567 |
$(window).trigger("resize"); |
568 | 568 |
}).closest(".network").addClass("expand"); |
569 | 569 |
this.$(".empty-network-slot").show(); |
570 |
this.vms_visible = true; |
|
570 | 571 |
}, |
571 | 572 |
|
572 | 573 |
hide_vm_list: function() { |
... | ... | |
575 | 576 |
$(window).trigger("resize"); |
576 | 577 |
}).closest(".network").removeClass("expand"); |
577 | 578 |
this.$(".empty-network-slot").hide(); |
579 |
this.vms_visible = false; |
|
578 | 580 |
}, |
579 |
|
|
581 |
|
|
580 | 582 |
// fix left border position |
581 | 583 |
fix_left_border: function() { |
582 |
if (!this.visible()) { return }; |
|
584 |
if (!this.vms_visible) { return }; |
|
585 |
|
|
583 | 586 |
var imgheight = 2783; |
584 |
if (!this.is_public) { imgheight = 2700 }; |
|
587 |
var opened_vm_height = 133 + 20; |
|
588 |
var closed_vm_height = 61 + 20; |
|
589 |
var additional_height = 25; |
|
590 |
|
|
591 |
if (!this.is_public) { |
|
592 |
imgheight = 2700; |
|
593 |
additional_height = 65; |
|
594 |
}; |
|
595 |
|
|
585 | 596 |
var contents = this.$(".network-contents"); |
586 |
var last_vm = this.$(".network-machine:last") |
|
587 |
var bgpos = imgheight - contents.height() + last_vm.height() - 30; |
|
597 |
var last_vm = this.$(".network-machine:last .cont-toggler.open").length; |
|
598 |
var last_vm_height = closed_vm_height; |
|
599 |
if (last_vm > 0){ |
|
600 |
last_vm_height = opened_vm_height; |
|
601 |
} |
|
602 |
|
|
603 |
var vms_opened = this.$(".network-machine .cont-toggler.open").length; |
|
604 |
var vms_closed = this.$(".network-machine").length - vms_opened; |
|
605 |
|
|
606 |
var calc_height = (vms_opened * opened_vm_height) + (vms_closed * closed_vm_height) + additional_height; |
|
607 |
var bgpos = imgheight - calc_height + last_vm_height - 30; |
|
588 | 608 |
this.$(".network-contents").css({'background-position':'33px ' + (-bgpos) + 'px'}); |
589 | 609 |
}, |
590 | 610 |
|
... | ... | |
596 | 616 |
if (this.vms_list.is(":visible")) { |
597 | 617 |
this.hide_vm_list(); |
598 | 618 |
} else { |
619 |
this.fix_left_border(); |
|
599 | 620 |
this.show_vm_list(); |
600 | 621 |
} |
601 | 622 |
|
... | ... | |
693 | 714 |
vm_added_handler: function(action, vm) { |
694 | 715 |
if (!this.network.contains_vm(vm)) { return } |
695 | 716 |
this.add_or_update_vm(vm); |
696 |
this.fix_left_border(); |
|
697 | 717 |
this.update_layout(); |
718 |
this.fix_left_border(); |
|
698 | 719 |
}, |
699 | 720 |
|
700 | 721 |
vm_changed_handler: function(action, vms, model, changes) { |
... | ... | |
721 | 742 |
|
722 | 743 |
vm_removed_handler: function(action, vm, model) { |
723 | 744 |
if (action == "disconnect") { vm = model }; |
745 |
this.fix_left_border(); |
|
724 | 746 |
this.remove_vm(vm); |
725 | 747 |
this.update_layout(); |
726 | 748 |
}, |
... | ... | |
851 | 873 |
|
852 | 874 |
this.create_view = new views.NetworkCreateView(); |
853 | 875 |
this.connect_machines_view = new views.NetworkConnectVMsOverlay(); |
876 |
|
|
854 | 877 |
}, |
855 | 878 |
|
856 | 879 |
exists: function(net) { |
Also available in: Unified diff