Revision afa2ebd2

b/ui/static/main.css
375 375
    background-color: #999;
376 376
}
377 377

  
378
.selecteddiv {
379
    background-color: #999 !important;
380
}
381

  
378 382
#wizard label a:hover strong {
379 383
    color: white;
380 384
}
......
386 390

  
387 391
#wizard div.image .radio {
388 392
    float: left;
393
    margin-top: 10px;
389 394
}
390 395

  
391 396
#wizard div.image span.image-id, #wizard div.image span.description {
......
422 427
    font-size: 110%;
423 428
    font-weight: normal;
424 429
    display: inline;
425
    margin-top: 15px;
430
    margin-top: 10px;
426 431
    position: absolute;
427 432
}
428 433

  
434
#wizard .first {
435
    margin-left: -7px;
436
}
437

  
429 438
#wizard .topruler {
430 439
    background-color: #CCCCCC;
431 440
    border: 0 none;
......
445 454
}
446 455

  
447 456
#wizard #cancel {
457
    text-align: center;
458
}
459

  
460
#wizard #start {
461
    text-align: center;
462
    background-color: #FF6600;
463
    border-color: #FF6600;
464
}
448 465

  
466
#wizard #start:hover {
467
    background-color: #FF9651;
468
    border-color: #FF9651;
449 469
}
450 470

  
451 471
.page ul {
......
472 492
#status li {
473 493
	float:left;
474 494
	color:#7D7D7D;
475
    padding: 9px 70px 0 40px;
495
    padding: 0px 81px 0 40px;
496
    margin-top:10px;
476 497
}
477 498

  
478 499
#status li.active .headernumber {
......
556 577
	margin: -3px 0 0 15px;
557 578
    padding: 2px 10px 2px 0;
558 579
	text-align: right;
559
	width: 40px;		
580
	width: 40px;
581
    border-width:1px;		
582
}
583

  
584
.selectedrange {
585
    border: 1px inset blue;
560 586
}
561 587

  
562 588
#credits-indicator {
563 589
    background-color: #ECECEC;
564 590
    float: none;
565 591
    margin: 0 0 0 8px;
592
    border-width:1px;
566 593
}
567 594

  
568 595
div.machine {
......
753 780
    background-color: #666666;
754 781
    border:none;
755 782
    margin-left: -1px;
783
    text-align: left;
756 784
}
757 785

  
758 786
.image-logo {
759 787
    float: left;
760 788
    margin-right: 1em;
761 789
    margin-left: 1.5em;
790
    margin-top: 4px;
762 791
}
763 792

  
764 793
div.image {
......
925 954
}
926 955

  
927 956
#wizard div.panes {
928
    height: 250px;
957
    height: 252px;
929 958
    margin-bottom: 6px;
930 959
    clear:both;
931 960
}
932 961

  
962
.typebody {
963
    font-size: 80%;
964
    font-weight: normal;
965
    position: relative;
966
    top: -3px;
967
}
968

  
969
.typehover {
970
    color: #666666;
971
}
972

  
973
#label-name {
974
    margin-top: 15px;
975
}
976

  
933 977
/* single tab */
934 978
#wizard ul.tabs li {  
935 979
    margin-bottom: 0; 
......
948 992
	outline:0;
949 993
    background-color: #CCCCCC;
950 994
    text-align: center;
951
    width: 90px;
995
    width: 100px;
996
    white-space: nowrap;
952 997
}
953 998

  
954 999
#wizard ul.tabs a:hover {
955 1000
	color: black;
956
    background-color:#F7F7F7;
1001
    background-color:#AAAAAA;
957 1002
}
958 1003
	
959 1004
/* selected tab */
b/ui/static/synnefo.js
299 299
                    img.find(".description").text(image.metadata.values.description);
300 300
                }
301 301
                if (image.metadata.values.size != undefined) {
302
    			    img.find(".size").text(image.metadata.values.size);
302
    			    img.find("#size").text(image.metadata.values.size);
303 303
                }
304 304
            }
305 305
			img.find("input.radio").attr('id',"img-radio-" + image.id);
......
339 339
							   progress: true,
340 340
							   max:ram.length-1});
341 341
	$("#small").click();
342
	
342

  
343 343
	// update the indicators when sliding
344 344
	$("#cpu:range").data().rangeinput.onSlide(function(event,value){
345 345
		$("#cpu-indicator")[0].value = cpus[Number(value)];
346
        $("#cpu-indicator").addClass('selectedrange');
346 347
	});
347 348
	$("#cpu:range").data().rangeinput.change(function(event,value){
348 349
		$("#cpu-indicator")[0].value = cpus[Number(value)];				
349 350
		$("#custom").click();
350
        $("#custom input").attr('checked', 'checked');				
351
        $("#custom input").attr('checked', 'checked');		
352
        $("#cpu-indicator").removeClass('selectedrange');		
351 353
	});			
352 354
	$("#ram:range").data().rangeinput.onSlide(function(event,value){
353 355
		$("#ram-indicator")[0].value = ram[Number(value)];
356
        $("#ram-indicator").addClass('selectedrange');
354 357
	});
355 358
	$("#ram:range").data().rangeinput.change(function(event,value){
356 359
		$("#ram-indicator")[0].value = ram[Number(value)];				
357 360
		$("#custom").click();
358 361
        $("#custom input").attr('checked', 'checked');
362
        $("#ram-indicator").removeClass('selectedrange');		
359 363
	});			
360 364
	$("#storage:range").data().rangeinput.onSlide(function(event,value){
361 365
		$("#storage-indicator")[0].value = disks[Number(value)];
366
        $("#storage-indicator").addClass('selectedrange');
362 367
	});
363 368
	$("#storage:range").data().rangeinput.change(function(event,value){
364 369
		$("#storage-indicator")[0].value = disks[Number(value)];				
365 370
		$("#custom").click();
366 371
        $("#custom input").attr('checked', 'checked');
372
        $("#storage-indicator").removeClass('selectedrange');		
367 373
	});				
368 374
}
369 375

  
b/ui/templates/machines.html
27 27
	<div class="modal" id="wizard">
28 28
		<!-- status bar -->
29 29
		<ul id="status">
30
			<li class="active"><span class="headernumber">1</span><div class="headerbody">{% trans "Image" %}</div></li>
30
			<li class="active"><span class="headernumber" class="first">1</span><div class="headerbody first">{% trans "Image" %}</div></li>
31 31
			<li><span class="headernumber">2</span><div class="headerbody">{% trans "Flavor" %}</div></li>
32 32
			<li><span class="headernumber">3</span><div class="headerbody">{% trans "Name" %}</div></li>
33 33
		</ul>
......
47 47
                            <a>
48 48
                                <div class="image-container">
49 49
                                    <div class="image">
50
                                        <input class="radio" type="radio" name="image-id" id="image-id" />
50
                                        <input class="radio" type="radio" name="imageGroup" id="image-id" />
51 51
                                        <img src="" class="image-logo"/>
52 52
                                        <strong class="image-title">image.title</strong>
53 53
                                        <br />
54 54
                                        <span class="description">image.description</span> 
55
                                        <span class="size">?? MB</span>                              
55
                                        <span id="size" class="size">?? MB</span><span class="size">MB</span>                         
56 56
                                    </div>
57 57
                                </div>  
58 58
                            </a>
......
77 77
                        <div class="machine-type">
78 78
                            <label for="small" id="small">
79 79
                                <input type="radio" id="small" name="machine-type" value="small" checked="true" />
80
                                <strong>{% trans "small" %}</strong>
80
                                <span class="typebody" id="small-body">{% trans "small" %}</span>
81 81
                            </label>
82 82
                        </div>
83 83
                        <div class="machine-type">      
84 84
                            <label for="medium" id="medium">
85 85
                                <input type="radio" id="medium" name="machine-type" value="medium" />                  
86
                                <strong>{% trans "medium" %}</strong>
86
                                <span class="typebody" id="medium-body">{% trans "medium" %}</span>
87 87
                            </label>
88 88
                        </div>
89 89
                        <div class="machine-type">
90 90
                            <label for="large" id="large">
91 91
                                <input type="radio" id="large" name="machine-type" value="large" />
92
                                <strong>{% trans "large" %}</strong>
92
                                <span class="typebody" id="large-body">{% trans "large" %}</span>
93 93
                            </label>
94 94
                        </div>
95 95
                        <div class="machine-type">
96 96
                            <label for="custom" id="custom">
97 97
                                <input type="radio" name="machine-type" id="custom" value="large" />
98
                                <strong>{% trans "custom" %}</strong>
98
                                <span class="typebody" id="custom-body">{% trans "custom" %}</span>
99 99
                            </label>
100 100
                        </div>
101 101
                    </li>
......
133 133
				<h2>{% trans "Confirm your settings" %}</h2>
134 134
                <hr class="topruler" />
135 135
                <ul id="page3-container">
136
                    <li class="required">
136
                    <li class="required" id="label-name">
137 137
                        <label>
138 138
                            <strong>Name:</strong>
139 139
                            <input type="text" class="text" name="machine_name" id="name" value="My Ubuntu 10.04 x86_64 server"/>
......
195 195
<div id="machines" class="separator"></div>
196 196

  
197 197
<script>
198
//add hover to labels
199
$('span.typebody').mouseover(function() {
200
    $(this).addClass('typehover')
201
});
202
$('span.typebody').mouseout(function() {
203
    $(this).removeClass('typehover')
204
});
205

  
198 206
// return value from metadata key "OS", if it exists
199 207
function os_icon(metadata) {
200 208
    if (!metadata) {
......
208 216
    }
209 217
} 
210 218

  
211

  
212 219
// switch to list view
213 220
$("a#list").click(function(){
214 221
    list_view(); 
215 222
    return false;
216 223
});
217 224

  
225

  
218 226
// switch to standard view
219 227
$("a#standard").click(function(){
220 228
    standard_view();
......
316 324
    $("#storage").attr('disabled',true);
317 325
}
318 326

  
327
if($('.radio:checked').val() == 'true')  {
328
    $(this).parent().addClass('selecteddiv');
329
}
330

  
331
//update radio button when clicking on text
332
$("#small-body").live('click' ,function() { 
333
    $(this).parent().find("#small").click();
334
});
335
$("#medium-body").live('click' ,function() { 
336
    $(this).parent().find("#medium").click();
337
});
338
$("#large-body").live('click' ,function() { 
339
    $(this).parent().find("#large").click();
340
});
341
$("#custom-body").live('click' ,function() { 
342
    $(this).parent().find("#custom").click();
343
});
344

  
345
//select image div on radio button select
346
$('.radio').live('click' ,function() {           
347
    $(this).parents("div").find(".image").removeClass('selecteddiv');
348
    if($(this).is(':checked'))  {
349
        $(this).parent().addClass('selecteddiv');
350
    }
351
});
352

  
319 353
// confirm all actions
320 354
$("div.confirm_multiple .yes").live('click', function(){
321 355
    while(pending_actions.length > 0){ // if there is a pending action for this server execute it

Also available in: Unified diff