Revision 44660f58 ui/static/snf/js/ui/web/ui_icon_view.js

b/ui/static/snf/js/ui/web/ui_icon_view.js
112 112
                } else {
113 113
                    this.toggler.addClass("open");
114 114
                    this.vm.do_update_stats = true;
115
                    this.view.details_views[this.vm.id].update_layout();
116
                    this.view.tags_views[this.vm.id].update_layout();
117
                    this.view.stats_views[this.vm.id].update_layout();
115 118
                }
116 119
                
117 120
                var self = this;
......
542 545
        },
543 546

  
544 547
        update_layout: function() {
548
            if (!this.visible() && this.parent.details_hidden) { return };
549

  
545 550
            var image = this.vm.get_image();
546 551
            var flavor = this.vm.get_flavor();
547 552
            if (!flavor || !image) {
......
554 559
            this.sel('cpu').text(flavor.get('cpu'));
555 560
            this.sel('ram').text(flavor.get('ram'));
556 561
            this.sel('disk').text(flavor.get('disk'));
562

  
563
            this.parent.tags_views[this.vm.id].update_layout();
564
            this.parent.stats_views[this.vm.id].update_layout();
557 565
        }
558 566
    });
559 567
    
......
563 571
        // view id (this could be used to identify 
564 572
        // the view object from global context
565 573
        view_id: 'vm_icon',
574
        
575
        details_hidden: true,
566 576

  
567 577
        el: '#machinesview-icon',
568 578
        id_tpl: 'icon-vm-',
569 579

  
570 580
        selectors: {
571 581
            'vms': '.machine-container',
572
            'vm': '#icon-vm-{0}',
582
            'vm': '#icon-vm-',
573 583
            'view': '#machinesview-icon',
574 584
            'tpl': '#machinesview-icon.standard #machine-container-template',
575 585
            'spinner': '.large-spinner',
......
662 672
            // truncate name
663 673
            el.find("span.name").text(util.truncate(vm.get("name"), 40));
664 674
            // set ips
665
            el.find(".ipv4-text").text(vm.get_addresses().ip4 || "undefined");
675
            el.find("span.ipv4-text").text(vm.get_addresses().ip4 || "undefined");
666 676
            // TODO: fix ipv6 truncates and tooltip handler
667
            el.find(".ipv6-text").text(vm.get_addresses().ip6 || "undefined");
677
            el.find("span.ipv6-text").text(vm.get_addresses().ip6 || "undefined");
668 678
            // set the state (i18n ??)
669
            el.find(".status").text(STATE_TEXTS[vm.state()]);
679
            el.find("div.status").text(STATE_TEXTS[vm.state()]);
670 680
            // set state class
671
            el.find(".state").removeClass().addClass(views.IconView.STATE_CLASSES[vm.state()].join(" "));
681
            el.find("div.state").removeClass().addClass(views.IconView.STATE_CLASSES[vm.state()].join(" "));
672 682
            // os icon
673
            el.find(".logo").css({'background-image': "url(" + this.get_vm_icon_path(vm, "medium") + ")"});
683
            el.find("div.logo").css({'background-image': "url(" + this.get_vm_icon_path(vm, "medium") + ")"});
674 684
            
675 685
            el.removeClass("connectable");
676 686
            if (vm.is_connectable()) {
677 687
                el.addClass("connectable");
678 688
            }
679 689
            
680
            if (vm.get('status') == 'BUILD') {
690
            var status = vm.get("status");
691
            var state = vm.get("state");
692

  
693
            if (status == 'BUILD') {
681 694
                // update bulding progress
682
                el.find(".machine-ips").hide();
683
                el.find(".build-progress").show().text(vm.get('progress_message'));
695
                el.find("div.machine-ips").hide();
696
                el.find("div.build-progress").show().text(vm.get('progress_message'));
684 697
            } else {
685 698
                // hide building progress
686
                el.find(".machine-ips").show()
687
                el.find(".build-progress").hide();
699
                el.find("div.machine-ips").show()
700
                el.find("div.build-progress").hide();
688 701
            }
689 702

  
690
            if (vm.state() == "DESTROY") {
691
                el.find(".machine-ips").hide();
692
                el.find(".build-progress").show().text("Terminating...");
703
            if (state == "DESTROY") {
704
                el.find("div.machine-ips").hide();
705
                el.find("div.build-progress").show().text("Terminating...");
693 706
            }
694 707

  
695 708
            icon_state = vm.is_active() ? "on" : "off";
......
697 710
            
698 711
            // update subviews
699 712
            this.rename_views[vm.id].update_layout();
700
            this.stats_views[vm.id].update_layout();
701 713
            this.connect_views[vm.id].update_layout();
702
            this.tags_views[vm.id].update_layout();
703 714
            this.details_views[vm.id].update_layout();
704 715
        },
705 716

  

Also available in: Unified diff