root / snf-cyclades-app / synnefo / ui / new_ui / ui / javascripts / vm-wizard.js @ f6cfe41c
History | View | Annotate | Download (13.4 kB)
1 | bb8cc1dc | Olga Brani | ui.wizard = { |
---|---|---|---|
2 | 148aeffe | Athina Bekakou | current_step: undefined, |
3 | bb8cc1dc | Olga Brani | total_step: $('.wizard-content .step').length, |
4 | 148aeffe | Athina Bekakou | current_position: undefined, |
5 | 148aeffe | Athina Bekakou | relocation: undefined, |
6 | eba2aada | Athina Bekakou | btns: {
|
7 | eba2aada | Athina Bekakou | start: undefined, |
8 | eba2aada | Athina Bekakou | close: undefined, |
9 | eba2aada | Athina Bekakou | next: undefined, |
10 | eba2aada | Athina Bekakou | previous: undefined, |
11 | eba2aada | Athina Bekakou | expand_down: undefined |
12 | eba2aada | Athina Bekakou | }, |
13 | 9b6be833 | Olga Brani | speed: 500, |
14 | 935e59b9 | Olga Brani | semaphore:1, |
15 | 6bd1416f | Athina Bekakou | |
16 | bb8cc1dc | Olga Brani | setDimensions: function() { |
17 | bb8cc1dc | Olga Brani | $('.vm-wizard-carousel').css('width', 100 * ui.wizard.total_step + '%'); |
18 | bb8cc1dc | Olga Brani | $('.vm-wizard-carousel .step').css('width', 100 / ui.wizard.total_step + '%'); |
19 | 148aeffe | Athina Bekakou | }, |
20 | bb8cc1dc | Olga Brani | getCurrent: function(){ |
21 | 935e59b9 | Olga Brani | return $('.step').filter('.current').first(); |
22 | bb8cc1dc | Olga Brani | }, |
23 | bb8cc1dc | Olga Brani | |
24 | bb8cc1dc | Olga Brani | getNextStep: function() { |
25 | bb8cc1dc | Olga Brani | return ui.wizard.getCurrent().next();
|
26 | bb8cc1dc | Olga Brani | }, |
27 | bb8cc1dc | Olga Brani | |
28 | bb8cc1dc | Olga Brani | getPreviousStep: function() { |
29 | bb8cc1dc | Olga Brani | return ui.wizard.getCurrent().prev();
|
30 | bb8cc1dc | Olga Brani | }, |
31 | 148aeffe | Athina Bekakou | |
32 | bb8cc1dc | Olga Brani | getScrollOffset: function() { |
33 | bb8cc1dc | Olga Brani | return document.body.scrollTop;
|
34 | bb8cc1dc | Olga Brani | }, |
35 | bb8cc1dc | Olga Brani | |
36 | bb8cc1dc | Olga Brani | submitData: function() { |
37 | 9b6be833 | Olga Brani | console.log('submit data dummy function');
|
38 | 9b6be833 | Olga Brani | }, |
39 | 148aeffe | Athina Bekakou | |
40 | bb8cc1dc | Olga Brani | data_next_array: ['el0', 'el2', 'el4', 'el7'], |
41 | 5bda20fe | Olga Brani | |
42 | bb8cc1dc | Olga Brani | focusFun: function() { |
43 | bb8cc1dc | Olga Brani | $('.firstfocus-' + ui.wizard.current_step + '').first().focus(); |
44 | 770ad9fa | Olga Brani | $('.nav.next').removeAttr('data-next'); |
45 | 770ad9fa | Olga Brani | $('.nav.next').attr('data-next', ui.wizard.data_next_array[ui.wizard.current_step]); |
46 | 5bda20fe | Olga Brani | }, |
47 | 5bda20fe | Olga Brani | |
48 | bb8cc1dc | Olga Brani | move: function(step, pos) { |
49 | 935e59b9 | Olga Brani | ui.wizard.semaphore = 0;
|
50 | 0c26d55c | Athina Bekakou | ui.wizard.focusFun(); |
51 | 0c26d55c | Athina Bekakou | ui.wizard.indicateStep(ui.wizard.current_step); |
52 | 0c26d55c | Athina Bekakou | ui.wizard.setMovementTags(ui.wizard.current_step, ui.wizard.btns.previous, ui.wizard.btns.next); |
53 | bba1c85c | Olga Brani | $('body').css('overflow','hidden'); |
54 | bb8cc1dc | Olga Brani | // the current visible pane
|
55 | 935e59b9 | Olga Brani | var current = this.getCurrent(); |
56 | bb8cc1dc | Olga Brani | // Set next pane position on the right of the current one
|
57 | bb8cc1dc | Olga Brani | // Add current to the next pane, so that it will become
|
58 | bb8cc1dc | Olga Brani | // visible
|
59 | bb8cc1dc | Olga Brani | step.css({ |
60 | bb8cc1dc | Olga Brani | left: pos.toString() + '%' |
61 | bb8cc1dc | Olga Brani | }).addClass("current");
|
62 | 935e59b9 | Olga Brani | console.log(current,'current');
|
63 | bb8cc1dc | Olga Brani | // identify the current scroll position. Use it to
|
64 | bb8cc1dc | Olga Brani | // set next pane top position. We assume all panes
|
65 | bb8cc1dc | Olga Brani | // are within the scroll context of the main window.
|
66 | bb8cc1dc | Olga Brani | step.css({ |
67 | bb8cc1dc | Olga Brani | top: this.getScrollOffset() + 'px' |
68 | bb8cc1dc | Olga Brani | }); |
69 | 935e59b9 | Olga Brani | $('.step').stop(false,true).animate({ |
70 | bb8cc1dc | Olga Brani | marginLeft: (-pos).toString() + '%' |
71 | bb8cc1dc | Olga Brani | }, { |
72 | 935e59b9 | Olga Brani | complete: _.bind(function() { |
73 | bb8cc1dc | Olga Brani | // assuming all the following take place
|
74 | bb8cc1dc | Olga Brani | // instantaneously within a single browser
|
75 | bb8cc1dc | Olga Brani | // render cycle, no flickering should occur.
|
76 | bb8cc1dc | Olga Brani | current.removeClass("current");
|
77 | 935e59b9 | Olga Brani | window.scroll(0, 0); |
78 | bb8cc1dc | Olga Brani | step.css({ |
79 | bb8cc1dc | Olga Brani | left: '0', |
80 | bb8cc1dc | Olga Brani | top: '0' |
81 | bb8cc1dc | Olga Brani | }); |
82 | bb8cc1dc | Olga Brani | $('.step').css({ |
83 | bb8cc1dc | Olga Brani | marginLeft: '0' |
84 | bb8cc1dc | Olga Brani | }); |
85 | bba1c85c | Olga Brani | $('body').css('overflow','visible'); |
86 | e4c44fcc | Olga Brani | if (ui.wizard.current_step == 3 ){ |
87 | e4c44fcc | Olga Brani | $('.vm-name input').first().focus(); |
88 | e4c44fcc | Olga Brani | } |
89 | 935e59b9 | Olga Brani | ui.wizard.semaphore =1;
|
90 | bb8cc1dc | Olga Brani | }, this)
|
91 | bb8cc1dc | Olga Brani | }); |
92 | 935e59b9 | Olga Brani | |
93 | 148aeffe | Athina Bekakou | }, |
94 | 148aeffe | Athina Bekakou | |
95 | bb8cc1dc | Olga Brani | goNext: function() { |
96 | bb8cc1dc | Olga Brani | var next = ui.wizard.getNextStep();
|
97 | bb8cc1dc | Olga Brani | if (!next) {
|
98 | 0c26d55c | Athina Bekakou | ui.wizard.submitData(); |
99 | 6fcab23b | Olga Brani | ui.wizard.close(); |
100 | bb8cc1dc | Olga Brani | return;
|
101 | 9b6be833 | Olga Brani | } |
102 | 935e59b9 | Olga Brani | if (ui.wizard.semaphore == 1) { |
103 | 935e59b9 | Olga Brani | ui.wizard.current_step++; |
104 | 935e59b9 | Olga Brani | ui.wizard.move(next, 100);
|
105 | 935e59b9 | Olga Brani | } |
106 | 9b6be833 | Olga Brani | }, |
107 | 148aeffe | Athina Bekakou | |
108 | bb8cc1dc | Olga Brani | goPrev: function() { |
109 | bb8cc1dc | Olga Brani | var prev = ui.wizard.getPreviousStep();
|
110 | bb8cc1dc | Olga Brani | if (!prev) {
|
111 | 6fcab23b | Olga Brani | ui.wizard.close(); |
112 | bb8cc1dc | Olga Brani | return;
|
113 | 9b6be833 | Olga Brani | } |
114 | 935e59b9 | Olga Brani | if (ui.wizard.semaphore == 1) { |
115 | 935e59b9 | Olga Brani | ui.wizard.current_step--; |
116 | 935e59b9 | Olga Brani | ui.wizard.move(prev, -100);
|
117 | 935e59b9 | Olga Brani | } |
118 | 9b6be833 | Olga Brani | }, |
119 | df5f7743 | Athina Bekakou | |
120 | bb8cc1dc | Olga Brani | initEvents: function() { |
121 | 0c26d55c | Athina Bekakou | ui.wizard.setDimensions(); |
122 | 3231ff01 | Olga Brani | |
123 | 3231ff01 | Olga Brani | |
124 | df5f7743 | Athina Bekakou | $(document).keydown(function(e) { |
125 | 3231ff01 | Olga Brani | var exp = $('.vm-name input').is(':focus') && $('.vm-name input').val().length>0 && ui.wizard.current_step ==3; |
126 | eba2aada | Athina Bekakou | // right arrow keyCode == 39
|
127 | bb8cc1dc | Olga Brani | if ($('.wizard:visible').length != 0) { |
128 | 3231ff01 | Olga Brani | if (e.keyCode == 39 && ui.wizard.current_step != (ui.wizard.total_step) &&(!exp)) { |
129 | 0c26d55c | Athina Bekakou | ui.wizard.goNext(); |
130 | 0c26d55c | Athina Bekakou | return false; |
131 | 0c26d55c | Athina Bekakou | } |
132 | 0c26d55c | Athina Bekakou | // left arrow keyCode == 37
|
133 | 3231ff01 | Olga Brani | else if (e.keyCode == 37 && ui.wizard.current_step != 1 &&(!exp)) { |
134 | 0c26d55c | Athina Bekakou | ui.wizard.goPrev(); |
135 | 0c26d55c | Athina Bekakou | return false; |
136 | 0c26d55c | Athina Bekakou | } |
137 | 0c26d55c | Athina Bekakou | // ESC
|
138 | bb8cc1dc | Olga Brani | else if (e.keyCode == 27 && ui.wizard.current_step == 1) { |
139 | 6fcab23b | Olga Brani | ui.wizard.close(); |
140 | 0c26d55c | Athina Bekakou | } |
141 | 96d15954 | Olga Brani | } |
142 | df5f7743 | Athina Bekakou | }); |
143 | bb8cc1dc | Olga Brani | |
144 | bb8cc1dc | Olga Brani | ui.wizard.btns.next.click(function(e) {
|
145 | e4c44fcc | Olga Brani | if (ui.wizard.current_step == ui.wizard.total_step ){
|
146 | e4c44fcc | Olga Brani | ui.wizard.submitData(); |
147 | e4c44fcc | Olga Brani | ui.wizard.close(); |
148 | e4c44fcc | Olga Brani | return false; |
149 | e4c44fcc | Olga Brani | } |
150 | 0c26d55c | Athina Bekakou | ui.wizard.goNext(); |
151 | e4c44fcc | Olga Brani | }); |
152 | df5f7743 | Athina Bekakou | |
153 | bb8cc1dc | Olga Brani | ui.wizard.btns.previous.click(function(e) {
|
154 | e4c44fcc | Olga Brani | if (ui.wizard.current_step == 1 ){ |
155 | e4c44fcc | Olga Brani | ui.wizard.close(); |
156 | e4c44fcc | Olga Brani | return false; |
157 | e4c44fcc | Olga Brani | } |
158 | 0c26d55c | Athina Bekakou | ui.wizard.goPrev(); |
159 | df5f7743 | Athina Bekakou | }); |
160 | 148aeffe | Athina Bekakou | }, |
161 | df5f7743 | Athina Bekakou | |
162 | 148aeffe | Athina Bekakou | // for the carousel index
|
163 | 0c26d55c | Athina Bekakou | indicateStep: function(step) { |
164 | 188fe5d9 | Olga Brani | $('.wizard .top .sub-menu[data-step]').hide(); |
165 | bb8cc1dc | Olga Brani | $('.wizard .top .sub-menu[data-step=' + step + ']').fadeIn(); |
166 | bb8cc1dc | Olga Brani | |
167 | 148aeffe | Athina Bekakou | $('.nums').children().removeClass('current'); |
168 | bb8cc1dc | Olga Brani | $('.nums li:not(".current")').show().css("display", "inline"); |
169 | bb8cc1dc | Olga Brani | $('.nums li:nth-child(' + ui.wizard.current_step + ')').addClass('current'); |
170 | 55f6cbfe | Athina Bekakou | $('.nums li.current').hide(); |
171 | bb8cc1dc | Olga Brani | $('.nums li.current').fadeIn('slow').css("display", "inline"); |
172 | 61b185d6 | Olga Brani | $('.nums .current').prevAll('li').hide(); |
173 | 8b3ba816 | Athina Bekakou | }, |
174 | 8b3ba816 | Athina Bekakou | |
175 | df5f7743 | Athina Bekakou | // changes the text of next and previous buttons
|
176 | 0c26d55c | Athina Bekakou | setMovementTags: function() { |
177 | bb8cc1dc | Olga Brani | if (ui.wizard.current_step == 1) { |
178 | eba2aada | Athina Bekakou | ui.wizard.btns.previous.find('span').html('CANCEL'); |
179 | eba2aada | Athina Bekakou | ui.wizard.btns.next.find('span').html('NEXT'); |
180 | bb8cc1dc | Olga Brani | } else if (ui.wizard.current_step == ui.wizard.total_step) { |
181 | eba2aada | Athina Bekakou | ui.wizard.btns.previous.find('span').html('PREVIOUS'); |
182 | eba2aada | Athina Bekakou | ui.wizard.btns.next.find('span').html('CREATE'); |
183 | bb8cc1dc | Olga Brani | } else {
|
184 | eba2aada | Athina Bekakou | ui.wizard.btns.previous.find('span').html('PREVIOUS'); |
185 | eba2aada | Athina Bekakou | ui.wizard.btns.next.find('span').html('NEXT'); |
186 | 8b3ba816 | Athina Bekakou | } |
187 | df5f7743 | Athina Bekakou | }, |
188 | df5f7743 | Athina Bekakou | |
189 | 6fcab23b | Olga Brani | close: function() { |
190 | bb8cc1dc | Olga Brani | $('body').removeClass('with-overlay'); |
191 | bb8cc1dc | Olga Brani | $('.overlay-area').fadeOut(400, function() { |
192 | bb8cc1dc | Olga Brani | $('.overlay-div').hide(); |
193 | 6fcab23b | Olga Brani | }); |
194 | 6fcab23b | Olga Brani | ui.wizard.resetWizard(); |
195 | df5f7743 | Athina Bekakou | }, |
196 | df5f7743 | Athina Bekakou | // manually sets elements to a initial state
|
197 | 6fcab23b | Olga Brani | resetWizard: function() { |
198 | bb8cc1dc | Olga Brani | ui.wizard.current_step = 1;
|
199 | bba1c85c | Olga Brani | $('.step').removeAttr('style'); |
200 | bb8cc1dc | Olga Brani | $('.bottom').show(); |
201 | bb8cc1dc | Olga Brani | ui.wizard.indicateStep(ui.wizard.current_step); |
202 | bb8cc1dc | Olga Brani | ui.wizard.setMovementTags(); |
203 | bb8cc1dc | Olga Brani | $('.networks-area .more').show(); |
204 | bb8cc1dc | Olga Brani | $('.details').hide(); |
205 | 97ee3637 | Athina Bekakou | $('.vm-name input').val(""); |
206 | 97ee3637 | Athina Bekakou | $('.form-item input').val(""); |
207 | bb8cc1dc | Olga Brani | $('.advanced-conf-options').hide(); |
208 | bb8cc1dc | Olga Brani | $('.snf-color-picker').hide(); |
209 | bb8cc1dc | Olga Brani | ui.wizard.preselectElements('.wizard');
|
210 | 6bd1416f | Athina Bekakou | }, |
211 | 6bd1416f | Athina Bekakou | |
212 | 0c26d55c | Athina Bekakou | expandArea: function() { |
213 | bb8cc1dc | Olga Brani | ui.wizard.btns.expand_down.click(function(e) {
|
214 | bb8cc1dc | Olga Brani | ui.expandArrow(ui.wizard.btns.expand_down); |
215 | bb8cc1dc | Olga Brani | $('.wizard-content').removeAttr('style'); |
216 | bb8cc1dc | Olga Brani | ui.wizard.btns.expand_down.parents('div.advanced-conf-step').find('.advanced-conf-options').stop().slideToggle(600, function() { |
217 | bb8cc1dc | Olga Brani | if ($('.advanced-conf-options:visible').length != 0) { |
218 | bb8cc1dc | Olga Brani | ui.wizard.btns.expand_down.find('.snf-arrow-down .snf-arrow-up').removeClass('snf-arrow-down').addClass('snf-arrow-up'); |
219 | bb8cc1dc | Olga Brani | } else {
|
220 | bb8cc1dc | Olga Brani | ui.wizard.btns.expand_down.find('.snf-arrow-down .snf-arrow-up').addClass('snf-arrow-down'); |
221 | bb8cc1dc | Olga Brani | } |
222 | bb8cc1dc | Olga Brani | |
223 | bb8cc1dc | Olga Brani | }); |
224 | bb8cc1dc | Olga Brani | }) |
225 | d53ad190 | Athina Bekakou | }, |
226 | 0c26d55c | Athina Bekakou | focusCustom: function(el, step) { |
227 | 9b6be833 | Olga Brani | el.focus(); |
228 | bb8cc1dc | Olga Brani | el.attr('data-step', step);
|
229 | ca3c8b6e | Athina Bekakou | }, |
230 | ca3c8b6e | Athina Bekakou | |
231 | 0c26d55c | Athina Bekakou | preselectElements: function(area) { |
232 | bb8cc1dc | Olga Brani | $(area).find('.current').not('.preselected').removeClass('current'); |
233 | bb8cc1dc | Olga Brani | $(area).find('.preselected').not('.current').addClass('current'); |
234 | bb8cc1dc | Olga Brani | $(area).find('.custom.dropdown.medium a:first').addClass('current'); // to fix |
235 | bb8cc1dc | Olga Brani | $(area).find('.snf-radio-checked').not('.prechecked').toggleClass('snf-radio-checked snf-radio-unchecked'); |
236 | bb8cc1dc | Olga Brani | $(area).find('.snf-radio-unchecked.prechecked').toggleClass('snf-radio-checked snf-radio-unchecked'); |
237 | bb8cc1dc | Olga Brani | $(area).find('.snf-checkbox-checked').not('.prechecked').toggleClass('snf-checkbox-checked snf-checkbox-unchecked'); |
238 | bb8cc1dc | Olga Brani | $(area).find('.snf-checkbox-unchecked.prechecked').toggleClass('snf-checkbox-checked snf-checkbox-unchecked'); |
239 | bb8cc1dc | Olga Brani | $('.expand-link').find('.snf-arrow-up.preselected').toggleClass('snf-arrow-up snf-arrow-down'); |
240 | bba1c85c | Olga Brani | $('.step-1').addClass('current'); |
241 | f6cfe41c | Athina Bekakou | |
242 | f6cfe41c | Athina Bekakou | $('.os li').hide(); |
243 | f6cfe41c | Athina Bekakou | $('#vm-wizard .top .sub-menu[data-step=1] .preselected').data('img-type') |
244 | f6cfe41c | Athina Bekakou | $('.os').find('.'+$('#vm-wizard .top .sub-menu[data-step=1] .preselected').data('img-type')).show(); |
245 | ffaabee9 | Olga Brani | }, |
246 | ffaabee9 | Olga Brani | |
247 | 17118c18 | Athina Bekakou | pickResources: function(resource) { |
248 | bb8cc1dc | Olga Brani | $('.flavor .with-flavor a:not(.' + resource + ')').removeClass('current'); |
249 | bb8cc1dc | Olga Brani | $('.flavor .with-flavor a.' + resource + '').addClass('current'); |
250 | f6cfe41c | Athina Bekakou | }, |
251 | f6cfe41c | Athina Bekakou | |
252 | f6cfe41c | Athina Bekakou | showImageCategory: function(imagesCategory) { |
253 | f6cfe41c | Athina Bekakou | $(imagesCategory).closest('.sub-menu').find('.current').removeClass('current'); |
254 | f6cfe41c | Athina Bekakou | $(imagesCategory).addClass('current'); |
255 | f6cfe41c | Athina Bekakou | $('.os li').hide(); |
256 | f6cfe41c | Athina Bekakou | $('.os .details').hide(); |
257 | f6cfe41c | Athina Bekakou | selectedImages = $(imagesCategory).data('img-type'); |
258 | f6cfe41c | Athina Bekakou | $('.os').find('.'+selectedImages).fadeIn(); |
259 | f6cfe41c | Athina Bekakou | |
260 | f6cfe41c | Athina Bekakou | |
261 | 17118c18 | Athina Bekakou | } |
262 | df5f7743 | Athina Bekakou | |
263 | 148aeffe | Athina Bekakou | } |
264 | 148aeffe | Athina Bekakou | |
265 | 148aeffe | Athina Bekakou | |
266 | bb8cc1dc | Olga Brani | $(document).ready(function() { |
267 | 148aeffe | Athina Bekakou | |
268 | bb8cc1dc | Olga Brani | /*
|
269 | 9b6be833 | Olga Brani | Various functions for vm creation wizard
|
270 | 9b6be833 | Olga Brani | */
|
271 | 9b6be833 | Olga Brani | |
272 | bb8cc1dc | Olga Brani | /* step functions */
|
273 | bb8cc1dc | Olga Brani | /* step-1: Pick OS */
|
274 | bb8cc1dc | Olga Brani | $('.wizard .os > li').click(function(e) { |
275 | bb8cc1dc | Olga Brani | e.preventDefault(); |
276 | bb8cc1dc | Olga Brani | $('.wizard .os >li').removeClass('current'); |
277 | bb8cc1dc | Olga Brani | $(this).addClass('current'); |
278 | 6f4b6de9 | Olga Brani | }); |
279 | 9b6be833 | Olga Brani | |
280 | bb8cc1dc | Olga Brani | $('.os .btn-col a').click(function(e) { |
281 | bb8cc1dc | Olga Brani | e.preventDefault(); |
282 | bb8cc1dc | Olga Brani | e.stopPropagation(); |
283 | bb8cc1dc | Olga Brani | $(this).toggleClass('current'); |
284 | bb8cc1dc | Olga Brani | var self = this; |
285 | bb8cc1dc | Olga Brani | $(this).parents('li').find('.details').stop().slideToggle(); |
286 | bb8cc1dc | Olga Brani | }); |
287 | 9b6be833 | Olga Brani | |
288 | bb8cc1dc | Olga Brani | |
289 | bb8cc1dc | Olga Brani | /* step-2: Select flavor */
|
290 | bb8cc1dc | Olga Brani | $('.wizard .sub-menu a[data-size]').on("click", function(e) { |
291 | bb8cc1dc | Olga Brani | // e.preventDefault();
|
292 | bb8cc1dc | Olga Brani | $(this).parents('.sub-menu').find('a').removeClass('current'); |
293 | bb8cc1dc | Olga Brani | $(this).addClass('current'); |
294 | bb8cc1dc | Olga Brani | ui.wizard.pickResources($(this).data('size')); |
295 | bb8cc1dc | Olga Brani | }); |
296 | bb8cc1dc | Olga Brani | |
297 | bb8cc1dc | Olga Brani | $('.wizard .flavor .options:not(".vm-storage-selection") a').click(function(e) { |
298 | bb8cc1dc | Olga Brani | // e.preventDefault();
|
299 | bb8cc1dc | Olga Brani | $('.wizard .sub-menu a[data-size]').removeClass('current'); |
300 | bb8cc1dc | Olga Brani | $(this).parents('.options').find('a').removeClass('current'); |
301 | bb8cc1dc | Olga Brani | $(this).addClass('current'); |
302 | bb8cc1dc | Olga Brani | |
303 | bb8cc1dc | Olga Brani | var size, count;
|
304 | bb8cc1dc | Olga Brani | if ($(this).hasClass('small')) { |
305 | bb8cc1dc | Olga Brani | size = 'small';
|
306 | bb8cc1dc | Olga Brani | } else if ($(this).hasClass('medium')) { |
307 | bb8cc1dc | Olga Brani | size = 'medium';
|
308 | bb8cc1dc | Olga Brani | } else if ($(this).hasClass('large')) { |
309 | bb8cc1dc | Olga Brani | size = 'large';
|
310 | bb8cc1dc | Olga Brani | } |
311 | bb8cc1dc | Olga Brani | |
312 | bb8cc1dc | Olga Brani | count = $('.wizard .step-2 .options.with-flavor .' + size + '.current').length; |
313 | bb8cc1dc | Olga Brani | if (count == 3) { |
314 | bb8cc1dc | Olga Brani | $('.wizard .sub-menu[data-step=2]').find('a[data-size=' + size + ']').addClass('current'); |
315 | bb8cc1dc | Olga Brani | } |
316 | bb8cc1dc | Olga Brani | }); |
317 | bb8cc1dc | Olga Brani | |
318 | bb8cc1dc | Olga Brani | $('.wizard .flavor .options.vm-storage-selection a').click(function(e) { |
319 | bb8cc1dc | Olga Brani | // e.preventDefault();
|
320 | bb8cc1dc | Olga Brani | $(this).parents('.options').find('a').removeClass('current'); |
321 | bb8cc1dc | Olga Brani | $(this).addClass('current'); |
322 | bb8cc1dc | Olga Brani | }); |
323 | 17118c18 | Athina Bekakou | |
324 | 0a891fe0 | Olga Brani | $('.flavor .options a').hover( |
325 | bb8cc1dc | Olga Brani | function() {
|
326 | 0a891fe0 | Olga Brani | var paragraph = $(this).parents('.options-bar').siblings('.title').find('p'); |
327 | 0a891fe0 | Olga Brani | var text = $(this).data('help'); |
328 | 0a891fe0 | Olga Brani | paragraph.html(text); |
329 | bb8cc1dc | Olga Brani | paragraph.css('visibility', 'visible'); |
330 | 0a891fe0 | Olga Brani | }, function() {
|
331 | 0a891fe0 | Olga Brani | var paragraph = $(this).parents('.options-bar').siblings('.title').find('p'); |
332 | bb8cc1dc | Olga Brani | paragraph.css('visibility', 'hidden'); |
333 | bb8cc1dc | Olga Brani | } |
334 | bb8cc1dc | Olga Brani | ); |
335 | bb8cc1dc | Olga Brani | /* step-3: Advanced options */
|
336 | 0c26d55c | Athina Bekakou | |
337 | 0c26d55c | Athina Bekakou | // reaction li.click
|
338 | bb8cc1dc | Olga Brani | $('.advanced-conf-options .checkbox').click(function(e) { |
339 | bb8cc1dc | Olga Brani | e.preventDefault(); |
340 | bb8cc1dc | Olga Brani | var self = this; |
341 | bb8cc1dc | Olga Brani | var checkbox = $(this).find('.check'); |
342 | bb8cc1dc | Olga Brani | ui.changeCheckboxState(checkbox); |
343 | bb8cc1dc | Olga Brani | if ($(this).hasClass('has-more')) { |
344 | bb8cc1dc | Olga Brani | $(this).next('.more').stop().slideToggle(400, function() { |
345 | bb8cc1dc | Olga Brani | if ($(self).next('.more:visible').length != 0) { |
346 | bb8cc1dc | Olga Brani | $(checkbox).find('span').removeClass('snf-checkbox-unchecked').addClass('snf-checkbox-checked'); |
347 | bb8cc1dc | Olga Brani | } else {
|
348 | bb8cc1dc | Olga Brani | $(checkbox).find('span').removeClass('snf-checkbox-checked').addClass('snf-checkbox-unchecked'); |
349 | bb8cc1dc | Olga Brani | } |
350 | bb8cc1dc | Olga Brani | }); |
351 | bb8cc1dc | Olga Brani | } |
352 | bb8cc1dc | Olga Brani | }); |
353 | bb8cc1dc | Olga Brani | |
354 | bb8cc1dc | Olga Brani | |
355 | bb8cc1dc | Olga Brani | |
356 | bb8cc1dc | Olga Brani | // reaction a.click
|
357 | bb8cc1dc | Olga Brani | $('.checkbox .check').click(function(e) { |
358 | 0c26d55c | Athina Bekakou | e.stopPropagation(); |
359 | 0c26d55c | Athina Bekakou | var self = this; |
360 | bb8cc1dc | Olga Brani | if ($(this).closest('.checkbox').hasClass('has-more')) { |
361 | 0c26d55c | Athina Bekakou | console.log('hi');
|
362 | bb8cc1dc | Olga Brani | $(this).parent().next('.more').stop().slideToggle(400, function() { |
363 | bb8cc1dc | Olga Brani | console.log('a2');
|
364 | bb8cc1dc | Olga Brani | if ($(self).parent().next('.more:visible').length != 0) { |
365 | bb8cc1dc | Olga Brani | $(self).find('span').removeClass('snf-checkbox-unchecked').addClass('snf-checkbox-checked'); |
366 | bb8cc1dc | Olga Brani | console.log('a3');
|
367 | bb8cc1dc | Olga Brani | } else {
|
368 | bb8cc1dc | Olga Brani | $(self).find('span').removeClass('snf-checkbox-checked').addClass('snf-checkbox-unchecked'); |
369 | bb8cc1dc | Olga Brani | } |
370 | bb8cc1dc | Olga Brani | }); |
371 | bb8cc1dc | Olga Brani | } |
372 | 0c26d55c | Athina Bekakou | }); |
373 | 9b6be833 | Olga Brani | |
374 | bb8cc1dc | Olga Brani | $('.show-add-tag').click(function(e) { |
375 | bb8cc1dc | Olga Brani | e.preventDefault(); |
376 | bb8cc1dc | Olga Brani | $(this).parents('.tags-area').find('.snf-color-picker').slideDown('slow', function() { |
377 | bb8cc1dc | Olga Brani | $('#hide-add-tag-dummy').scrollintoview({ |
378 | bb8cc1dc | Olga Brani | 'duration': 'slow' |
379 | bb8cc1dc | Olga Brani | }); |
380 | bb8cc1dc | Olga Brani | }); |
381 | bb8cc1dc | Olga Brani | ui.colorPickerVisible = 1;
|
382 | bb8cc1dc | Olga Brani | }); |
383 | 9b6be833 | Olga Brani | |
384 | bb8cc1dc | Olga Brani | $('.hide-add-tag').click(function(e) { |
385 | bb8cc1dc | Olga Brani | e.preventDefault(); |
386 | bb8cc1dc | Olga Brani | $(this).parents('.tags-area').find('.snf-color-picker').slideUp(400, function() { |
387 | bb8cc1dc | Olga Brani | $('.show-add-tag').first().scrollintoview({ |
388 | bb8cc1dc | Olga Brani | 'duration': 'slow' |
389 | bb8cc1dc | Olga Brani | }); |
390 | bb8cc1dc | Olga Brani | ui.colorPickerVisible = 0;
|
391 | bb8cc1dc | Olga Brani | }); |
392 | bb8cc1dc | Olga Brani | }); |
393 | 6bd1416f | Athina Bekakou | |
394 | bb8cc1dc | Olga Brani | /* end of step functions */
|
395 | 62462e34 | Athina Bekakou | |
396 | bb8cc1dc | Olga Brani | /* navigation and numbers functions */
|
397 | bb8cc1dc | Olga Brani | $('.nav.previous').focus(function(e) { |
398 | bb8cc1dc | Olga Brani | $(this).addClass('active'); |
399 | bb8cc1dc | Olga Brani | }); |
400 | d53ad190 | Athina Bekakou | |
401 | bb8cc1dc | Olga Brani | $('.nav.previous').focusout(function(e) { |
402 | bb8cc1dc | Olga Brani | $(this).removeClass('active'); |
403 | d53ad190 | Athina Bekakou | |
404 | bb8cc1dc | Olga Brani | }); |
405 | d53ad190 | Athina Bekakou | |
406 | bb8cc1dc | Olga Brani | $('.sub-menu[data-step=2] li:last').find('a').focusout(function(e) { |
407 | bb8cc1dc | Olga Brani | $('.step-2').find('.dropdown a:first').focus(); |
408 | d53ad190 | Athina Bekakou | |
409 | bb8cc1dc | Olga Brani | }); |
410 | d53ad190 | Athina Bekakou | |
411 | bb8cc1dc | Olga Brani | $('.os .name-col').focus(function(e) { |
412 | bb8cc1dc | Olga Brani | $(this).parents('li').addClass('hover'); |
413 | bb8cc1dc | Olga Brani | }); |
414 | bb8cc1dc | Olga Brani | |
415 | bb8cc1dc | Olga Brani | $('.os .name-col').focusout(function(e) { |
416 | bb8cc1dc | Olga Brani | $(this).parents('li').removeClass('hover'); |
417 | bb8cc1dc | Olga Brani | }); |
418 | d53ad190 | Athina Bekakou | |
419 | eba2aada | Athina Bekakou | |
420 | bb8cc1dc | Olga Brani | /* end of navigation and numbers functions */
|
421 | eba2aada | Athina Bekakou | |
422 | 62462e34 | Athina Bekakou | |
423 | bb8cc1dc | Olga Brani | /* focus and tabs functionality */
|
424 | 62462e34 | Athina Bekakou | |
425 | bb8cc1dc | Olga Brani | $('a').keyup(function(e) { |
426 | 935e59b9 | Olga Brani | |
427 | bb8cc1dc | Olga Brani | var self = this; |
428 | bb8cc1dc | Olga Brani | if (e.keyCode == 9 || e.which == 9) { |
429 | 935e59b9 | Olga Brani | if (e.shiftKey) {
|
430 | 935e59b9 | Olga Brani | alert(e); |
431 | 935e59b9 | Olga Brani | } else {
|
432 | bb8cc1dc | Olga Brani | //Focus next input
|
433 | bb8cc1dc | Olga Brani | if ($(self).attr('data-next')) { |
434 | bb8cc1dc | Olga Brani | $(self).focusout(function(e) { |
435 | bb8cc1dc | Olga Brani | var classname = $(self).data('next'); |
436 | bb8cc1dc | Olga Brani | $('.' + classname + '').first().focus(); |
437 | bb8cc1dc | Olga Brani | }); |
438 | bb8cc1dc | Olga Brani | } |
439 | 770ad9fa | Olga Brani | } |
440 | 5bda20fe | Olga Brani | } |
441 | bb8cc1dc | Olga Brani | }) |
442 | 62462e34 | Athina Bekakou | |
443 | bb8cc1dc | Olga Brani | /* end of focus and tabs functionality */
|
444 | d53ad190 | Athina Bekakou | |
445 | 9b6be833 | Olga Brani | $('#vm-wizard').find('a').click(function(e) { |
446 | 9b6be833 | Olga Brani | e.preventDefault(); |
447 | 9b6be833 | Olga Brani | }); |
448 | bb8cc1dc | Olga Brani | ui.wizard.current_step = 1;
|
449 | 9b6be833 | Olga Brani | ui.wizard.btns.previous = $('.bottom').find('.nav.prev'); |
450 | 9b6be833 | Olga Brani | ui.wizard.btns.next = $('.bottom').find('.nav.next'); |
451 | bb8cc1dc | Olga Brani | ui.wizard.btns.expand_down = $('.adv-main').find('.expand-link'); |
452 | bb8cc1dc | Olga Brani | ui.wizard.btns.close = $('#vm-wizard').find('.close'); |
453 | 0c26d55c | Athina Bekakou | ui.wizard.initEvents(); |
454 | 0c26d55c | Athina Bekakou | ui.wizard.setMovementTags(); |
455 | 0c26d55c | Athina Bekakou | ui.wizard.expandArea(); |
456 | 6fcab23b | Olga Brani | ui.wizard.btns.close.click(function() {
|
457 | 6fcab23b | Olga Brani | ui.wizard.close(); |
458 | 9b6be833 | Olga Brani | }); |
459 | f6cfe41c | Athina Bekakou | |
460 | f6cfe41c | Athina Bekakou | $('.os .system-images').show(); |
461 | f6cfe41c | Athina Bekakou | |
462 | f6cfe41c | Athina Bekakou | $('#vm-wizard .top .sub-menu[data-step=1] a').click(function() { |
463 | f6cfe41c | Athina Bekakou | ui.wizard.showImageCategory(this);
|
464 | f6cfe41c | Athina Bekakou | }) |
465 | 148aeffe | Athina Bekakou | }); |