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