Revision c902e956

b/ui/templates/machines.html
386 386
    }
387 387
});
388 388

  
389
// confirm all actions
390
$("div.confirm_multiple .yes").live('click', function(){
391
    while(pending_actions.length > 0){ // if there is a pending action for this server execute it
392
        action = pending_actions.pop(); // extract action
393
        var serverID = action[1];
394
        if ($.cookie("list") != '1') { // standard view
395
            $('#' + serverID + ' .selected').removeClass('selected');
396
            $('#' + serverID + ' .display').removeClass('display');
397
            if (action[0] == shutdown) {
398
                $('#' + serverID + ' .status').text('Shutting down');
399
            } else if (action[0] == start) {
400
                $('#' + serverID + ' .status').text('Starting');
401
            } else if (action[0] == reboot) {
402
                $('#' + serverID + ' .status').text('Rebooting');
403
            } else if (action[0] == destroy) {
404
                $('#' + serverID + ' .status').text('Destroying');
405
            }
406
            $('#' + serverID + ' .spinner').show();
407
        } else { // list view
408
            osIcon = $('#'+serverID).parent().parent().find('.list-logo');
409
            osIcon.attr('os',osIcon.attr('src'));
410
            osIcon.attr('src','static/progress.gif');
411
            if (action[0] == shutdown) {
412
                $('#' + serverID).parent().parent().find('span.status').text('Shutting down');
413
            } else if (action[0] == start) {
414
                $('#' + serverID).parent().parent().find('span.status').text('Starting');
415
            } else if (action[0] == reboot) {
416
                $('#' + serverID).parent().parent().find('span.status').text('Rebooting');
417
            } else if (action[0] == destroy) {
418
                $('#' + serverID).parent().parent().find('span.status').text('Destroying');
419
            }
420
        }
421
        action[0]([serverID]); // execute action
422
    }
423
    update_confirmations();    
424
});
425

  
426
// cancel all actions
427
$("div.confirm_multiple .no").live('click', function(){
428
    pending_actions = [];
429
    $('.machine .selected').removeClass('selected');
430
    $('.machine .display').removeClass('display');
431
    update_confirmations();
432
});
433

  
434 389
// validate cpu input box
435 390
$("#cpu-indicator").live('change',function(){
436 391
    var v = Number(this.value);
......
582 537
    $("#wizard").hide();
583 538
});
584 539

  
540
// confirm all actions
541
$("div.confirm_multiple .yes").live('click', function(){
542
    while(pending_actions.length > 0){ // if there is a pending action for this server execute it
543
        action = pending_actions.pop(); // extract action
544
        var serverID = action[1];
545
        if ($.cookie("list") != '1') { // standard view
546
            $('#' + serverID + ' .selected').removeClass('selected');
547
            $('#' + serverID + ' .display').removeClass('display');
548
            if (action[0] == shutdown) {
549
                $('#' + serverID + ' .status').text('Shutting down');
550
            } else if (action[0] == start) {
551
                $('#' + serverID + ' .status').text('Starting');
552
            } else if (action[0] == reboot) {
553
                $('#' + serverID + ' .status').text('Rebooting');
554
            } else if (action[0] == destroy) {
555
                $('#' + serverID + ' .status').text('Destroying');
556
            }
557
            $('#' + serverID + ' .spinner').show();
558
        } else { // list view
559
            osIcon = $('#'+serverID).parent().parent().find('.list-logo');
560
            osIcon.attr('os',osIcon.attr('src'));
561
            osIcon.attr('src','static/progress.gif');
562
            if (action[0] == shutdown) {
563
                $('#' + serverID).parent().parent().find('span.status').text('Shutting down');
564
            } else if (action[0] == start) {
565
                $('#' + serverID).parent().parent().find('span.status').text('Starting');
566
            } else if (action[0] == reboot) {
567
                $('#' + serverID).parent().parent().find('span.status').text('Rebooting');
568
            } else if (action[0] == destroy) {
569
                $('#' + serverID).parent().parent().find('span.status').text('Destroying');
570
            }
571
        }
572
        action[0]([serverID]); // execute action
573
    }
574
    update_confirmations();    
575
});
576

  
577
// cancel all actions
578
$("div.confirm_multiple .no").live('click', function(){
579
    pending_actions = [];
580
    $('.machine .selected').removeClass('selected');
581
    $('.machine .display').removeClass('display');
582
    update_confirmations();
583
});
584

  
585
// bring up edit metadata overlay
586
function editMetadata(serverID, serverName) {
587
    // set server name in box's title
588
    $("#editor-1 h3 span").text(serverName);
589
    var triggers = $("a#meta-editor-1").overlay({
590
        // some mask tweaks suitable for modal dialogs
591
        mask: '#000',
592
        effect: 'default',
593
        top: '10%',
594
        closeOnClick: false,
595
        oneInstance: false,
596
        load: false
597
    });
598
    // get metadata for current server
599
    // TODO
600
    $("a#meta-editor-1").data('overlay').load();
601
    return false; 
602
}
603

  
604
// bring up add metadata overlay
605
function addMetadata(serverID, serverName) {
606
    // set server name in box's title
607
    $("#editor-2 h3 span").text(serverName);
608
    var triggers = $("a#meta-editor-2").overlay({
609
        // some mask tweaks suitable for modal dialogs
610
        mask: '#000',
611
        effect: 'default',
612
        top: '10%',
613
        closeOnClick: false,
614
        oneInstance: false,
615
        load: false
616
    });
617
    $("a#meta-editor-2").data('overlay').load();
618
    return false; 
619
}
620

  
621
// intercept click on create button in metadata edit dialog
622
$('#editor-1.meta-modal button.create').click( function(){
623
    // go from edit metadata to add metadata
624
    $('a#meta-editor-1').data('overlay').close();
625
    addMetadata('1', 'name');
626
});
627

  
628
// intercept click on remove button in metadata edit dialog
629
$('#editor-1.meta-modal button.create').click( function(){
630
    // ajax call to delete selected metadata key-value pair
631
    // if successful remove it from the overlay
632
    // TODO
633
});
634

  
635
// intercept click on edit button in metadata edit dialog
636
$('#editor-1.meta-modal button.create').click( function(){
637
    // inline editing of selected key-value pair
638
    // on submission ajax call from updating
639
    // on success update the overlay
640
    // TODO
641
});
642

  
643
// intercept click on cancel button in metadata add dialog
644
$('#editor-2.meta-modal button.cancel').click( function(){
645
    // go from add meatata to edit metadata
646
    $('a#meta-editor-2').data('overlay').close();
647
    editMetadata('1', 'name');
648
});
649

  
650
// intercept click on save button in metadata add dialog
651
$('#editor-2.meta-modal button.save').click( function(){
652
    // ajax call to save metadata
653
    //TODO
654
    // go from add meatata to edit metadata
655
    $('a#meta-editor-2').data('overlay').close();
656
    editMetadata('1', 'name');
657
});
658

  
585 659
// basic functions executed on page load
586 660
if (images.length > 0) {
587 661
    // populate image list
b/ui/templates/standard.html
52 52

  
53 53
<script>
54 54

  
55
// intercept metadata click
55
// intercept edit metadata click
56 56
$("a.show-metadata").live('click', function() {
57 57
    // get server name and server ID
58 58
    var serverID = $(this).parent().parent().attr("id");
59 59
    var serverName = $(this).parent().prevAll("a.name").find("span.name").text();
60
    // set server name in box's title
61
    $("#editor-1 h3 span").text(serverName);
62
    var triggers = $("a#meta-editor-1").overlay({
63
        // some mask tweaks suitable for modal dialogs
64
        mask: '#000',
65
        effect: 'default',
66
        top: '10%',
67
        closeOnClick: false,
68
        oneInstance: false,
69
        load: false
70
    });
71
    $("a#meta-editor-1").data('overlay').load();
72
    return false; 
60
    editMetadata(serverID, serverName);
61

  
73 62
});
74 63

  
75 64
// intercept create new metadata entry click
......
77 66
    // get server name and server ID
78 67
    var serverID = $(this).parent().parent().attr("id");
79 68
    var serverName = $(this).parent().prevAll("a.name").find("span.name").text();
80
    // set server name in box's title
81
    $("#editor-2 h3 span").text(serverName);
82
    var triggers = $("a#meta-editor-2").overlay({
83
        // some mask tweaks suitable for modal dialogs
84
        mask: '#000',
85
        effect: 'default',
86
        top: '10%',
87
        closeOnClick: false,
88
        oneInstance: false,
89
        load: false
90
    });
91
    $("a#meta-editor-2").data('overlay').load();
92
    return false; 
69
    addMetadata(serverID, serverName);
93 70
});
94 71

  
95 72
// intercept reboot click 

Also available in: Unified diff