root / ui / templates / instances.html @ e690c75d
History | View | Annotate | Download (13.5 kB)
1 | cc7c5902 | Dimitris Moraitis | <a id="create" rel="#wizard" href="#">Create New +</a> |
---|---|---|---|
2 | cc7c5902 | Dimitris Moraitis | |
3 | b303ba05 | Christodoulos Psaltis | <div id="instancesview" class="standard"> |
4 | cc7c5902 | Dimitris Moraitis | <a id="list" href="/instances/list">list view</a> |
5 | 89976b6c | Christodoulos Psaltis | <div class="running"> |
6 | 89976b6c | Christodoulos Psaltis | {% for node in nodes %} |
7 | 89976b6c | Christodoulos Psaltis | {% if node.state == '3' %} |
8 | 89976b6c | Christodoulos Psaltis | <div class="instance running"> |
9 | 89976b6c | Christodoulos Psaltis | <div class="actions"> |
10 | 89976b6c | Christodoulos Psaltis | <a href="#" class="action">reboot</a> |
11 | 89976b6c | Christodoulos Psaltis | <a href="#" class="action">shutdown</a> |
12 | 89976b6c | Christodoulos Psaltis | <a href="#" class="more">more …</a> |
13 | 89976b6c | Christodoulos Psaltis | </div>
|
14 | 89976b6c | Christodoulos Psaltis | <div class="state"> |
15 | 89976b6c | Christodoulos Psaltis | <div>Running</div> |
16 | 89976b6c | Christodoulos Psaltis | <div class="indicator" /> |
17 | 89976b6c | Christodoulos Psaltis | <div class="indicator" /> |
18 | 89976b6c | Christodoulos Psaltis | <div class="indicator" /> |
19 | 89976b6c | Christodoulos Psaltis | <div class="indicator" /> |
20 | 89976b6c | Christodoulos Psaltis | <div class="uptime">24 days uptime</div> |
21 | 89976b6c | Christodoulos Psaltis | </div>
|
22 | 89976b6c | Christodoulos Psaltis | <img src="static/server.png" /> |
23 | ea3cb4e4 | Christodoulos Psaltis | <img class="os" src={{ node.thumb }} /> |
24 | ea3cb4e4 | Christodoulos Psaltis | <a href="#" class="name"> |
25 | ea3cb4e4 | Christodoulos Psaltis | <h3><span>{{ node.name }}</span><span class="rename">rename</span></h3> |
26 | ea3cb4e4 | Christodoulos Psaltis | </a>
|
27 | ea3cb4e4 | Christodoulos Psaltis | <a href="#" class="ip"> |
28 | ea3cb4e4 | Christodoulos Psaltis | <h5><span>{{ node.public_ip }}</span><span class="configure">configure networking</span></h5> |
29 | ea3cb4e4 | Christodoulos Psaltis | </a>
|
30 | ea3cb4e4 | Christodoulos Psaltis | <a href="#" class="storage"> |
31 | ea3cb4e4 | Christodoulos Psaltis | <h5>34GB of total storage in 3 volumes <span class="configure">configure storage</span></h5> |
32 | ea3cb4e4 | Christodoulos Psaltis | </a>
|
33 | ea3cb4e4 | Christodoulos Psaltis | </div>
|
34 | ea3cb4e4 | Christodoulos Psaltis | </div>
|
35 | ea3cb4e4 | Christodoulos Psaltis | {% endif %} |
36 | ea3cb4e4 | Christodoulos Psaltis | {% endfor %} |
37 | ea3cb4e4 | Christodoulos Psaltis | </div>
|
38 | ea3cb4e4 | Christodoulos Psaltis | <div class="seperator"></div> |
39 | ea3cb4e4 | Christodoulos Psaltis | <div class="terminated"> |
40 | ea3cb4e4 | Christodoulos Psaltis | {% for node in nodes %} |
41 | ea3cb4e4 | Christodoulos Psaltis | {% if node.state == '0' %} |
42 | ea3cb4e4 | Christodoulos Psaltis | <div class="instance terminated"> |
43 | ea3cb4e4 | Christodoulos Psaltis | <div class="actions"> |
44 | ea3cb4e4 | Christodoulos Psaltis | <a href="#" class="action">start</a> |
45 | ea3cb4e4 | Christodoulos Psaltis | <a href="#" class="action">destroy</a> |
46 | ea3cb4e4 | Christodoulos Psaltis | <a href="#" class="more">more …</a> |
47 | ea3cb4e4 | Christodoulos Psaltis | </div>
|
48 | ea3cb4e4 | Christodoulos Psaltis | <div class="state"> |
49 | ea3cb4e4 | Christodoulos Psaltis | <div>Stopped</div> |
50 | ea3cb4e4 | Christodoulos Psaltis | <div class="indicator" /> |
51 | ea3cb4e4 | Christodoulos Psaltis | <div class="indicator" /> |
52 | ea3cb4e4 | Christodoulos Psaltis | <div class="indicator" /> |
53 | ea3cb4e4 | Christodoulos Psaltis | <div class="indicator" /> |
54 | ea3cb4e4 | Christodoulos Psaltis | </div>
|
55 | ea3cb4e4 | Christodoulos Psaltis | <img src="static/server.png" /> |
56 | ea3cb4e4 | Christodoulos Psaltis | <img class="os" src={{ node.thumb }} /> |
57 | 89976b6c | Christodoulos Psaltis | <a href="#" class="name"> |
58 | 89976b6c | Christodoulos Psaltis | <h3><span>{{ node.name }}</span><span class="rename">rename</span></h3> |
59 | 89976b6c | Christodoulos Psaltis | </a>
|
60 | 89976b6c | Christodoulos Psaltis | <a href="#" class="ip"> |
61 | 89976b6c | Christodoulos Psaltis | <h5><span>{{ node.public_ip }}</span><span class="configure">configure networking</span></h5> |
62 | 89976b6c | Christodoulos Psaltis | </a>
|
63 | 89976b6c | Christodoulos Psaltis | <a href="#" class="storage"> |
64 | 89976b6c | Christodoulos Psaltis | <h5>34GB of total storage in 3 volumes <span class="configure">configure storage</span></h5> |
65 | 89976b6c | Christodoulos Psaltis | </a>
|
66 | 89976b6c | Christodoulos Psaltis | </div>
|
67 | b303ba05 | Christodoulos Psaltis | </div>
|
68 | 89976b6c | Christodoulos Psaltis | {% endif %} |
69 | 89976b6c | Christodoulos Psaltis | {% endfor %} |
70 | 89976b6c | Christodoulos Psaltis | </div>
|
71 | cc7c5902 | Dimitris Moraitis | </div>
|
72 | cc7c5902 | Dimitris Moraitis | |
73 | cc7c5902 | Dimitris Moraitis | <!-- the form -->
|
74 | cc7c5902 | Dimitris Moraitis | <form action="#"> |
75 | cc7c5902 | Dimitris Moraitis | <!-- scrollable root element -->
|
76 | cc7c5902 | Dimitris Moraitis | <div class="modal" id="wizard"> |
77 | cc7c5902 | Dimitris Moraitis | <!-- status bar -->
|
78 | cc7c5902 | Dimitris Moraitis | <ul id="status"> |
79 | cc7c5902 | Dimitris Moraitis | <li class="active"><strong>1.</strong> Select image</li> |
80 | cc7c5902 | Dimitris Moraitis | <li><strong>2.</strong> Instance type</li> |
81 | cc7c5902 | Dimitris Moraitis | <li><strong>3.</strong> Review</li> |
82 | cc7c5902 | Dimitris Moraitis | </ul>
|
83 | cc7c5902 | Dimitris Moraitis | <!-- scrollable items -->
|
84 | cc7c5902 | Dimitris Moraitis | <div class="items"> |
85 | cc7c5902 | Dimitris Moraitis | <!-- pages -->
|
86 | cc7c5902 | Dimitris Moraitis | <div class="page"> |
87 | cc7c5902 | Dimitris Moraitis | <h2>
|
88 | cc7c5902 | Dimitris Moraitis | <strong>Step 1: </strong> Select image |
89 | cc7c5902 | Dimitris Moraitis | <em>Select an OS image to boot from</em> |
90 | cc7c5902 | Dimitris Moraitis | </h2>
|
91 | cc7c5902 | Dimitris Moraitis | <ul class="tabs"> |
92 | cc7c5902 | Dimitris Moraitis | <li><a href="#">standard</a></li> |
93 | cc7c5902 | Dimitris Moraitis | <li><a href="#">custom</a></li> |
94 | cc7c5902 | Dimitris Moraitis | </ul>
|
95 | 89976b6c | Christodoulos Psaltis | <div class="panes"> |
96 | cc7c5902 | Dimitris Moraitis | <ul class="pane"> |
97 | cc7c5902 | Dimitris Moraitis | <!-- standard images -->
|
98 | 89976b6c | Christodoulos Psaltis | {% for image in images %} |
99 | 89976b6c | Christodoulos Psaltis | {% if image.type == 'standard' %} |
100 | 89976b6c | Christodoulos Psaltis | <li>
|
101 | 998ba8f9 | Christodoulos Psaltis | <label for={{ image.id }}> |
102 | 89976b6c | Christodoulos Psaltis | <a><div class="image"> |
103 | 89976b6c | Christodoulos Psaltis | <img src={{ image.logo }} class="image-logo"/> |
104 | 89976b6c | Christodoulos Psaltis | <strong>{{ image.title }}</strong> |
105 | 998ba8f9 | Christodoulos Psaltis | <input class="radio" type="radio" name="image-id" id={{ image.id }} /> |
106 | 89976b6c | Christodoulos Psaltis | <br /> |
107 | 89976b6c | Christodoulos Psaltis | <span class="description">{{ image.description }}</span> |
108 | 89976b6c | Christodoulos Psaltis | <span class="size">{{ image.size }}MB</span> |
109 | 89976b6c | Christodoulos Psaltis | </div></a> |
110 | 89976b6c | Christodoulos Psaltis | </label>
|
111 | 89976b6c | Christodoulos Psaltis | </li>
|
112 | 89976b6c | Christodoulos Psaltis | {% endif %} |
113 | 89976b6c | Christodoulos Psaltis | {% endfor %} |
114 | cc7c5902 | Dimitris Moraitis | </ul>
|
115 | cc7c5902 | Dimitris Moraitis | <ul class="pane"> |
116 | cc7c5902 | Dimitris Moraitis | <!-- custom images -->
|
117 | 89976b6c | Christodoulos Psaltis | {% for image in images %} |
118 | 89976b6c | Christodoulos Psaltis | {% if image.type == 'custom' %} |
119 | 89976b6c | Christodoulos Psaltis | <li>
|
120 | 998ba8f9 | Christodoulos Psaltis | <label for={{ image.id }}> |
121 | 89976b6c | Christodoulos Psaltis | <a><div class="image"> |
122 | 89976b6c | Christodoulos Psaltis | <img src={{ image.logo }} class="image-logo"/> |
123 | 89976b6c | Christodoulos Psaltis | <strong>{{ image.title }}</strong> |
124 | 998ba8f9 | Christodoulos Psaltis | <input class="radio" type="radio" name="image-id" id={{ image.id }} /> |
125 | 89976b6c | Christodoulos Psaltis | <br /> |
126 | 89976b6c | Christodoulos Psaltis | <span class="description">{{ image.description }}</span> |
127 | 89976b6c | Christodoulos Psaltis | <span class="size">{{ image.size }}MB</span> |
128 | 89976b6c | Christodoulos Psaltis | </div></a> |
129 | 89976b6c | Christodoulos Psaltis | </label>
|
130 | 89976b6c | Christodoulos Psaltis | </li>
|
131 | 89976b6c | Christodoulos Psaltis | {% endif %} |
132 | 89976b6c | Christodoulos Psaltis | {% endfor %} |
133 | cc7c5902 | Dimitris Moraitis | </ul>
|
134 | cc7c5902 | Dimitris Moraitis | </div>
|
135 | cc7c5902 | Dimitris Moraitis | <button type="button" class="prev" id="cancel">Cancel</button> |
136 | cc7c5902 | Dimitris Moraitis | <button type="button" class="next right">Next »</button> |
137 | cc7c5902 | Dimitris Moraitis | </div>
|
138 | cc7c5902 | Dimitris Moraitis | <div class="page"> |
139 | cc7c5902 | Dimitris Moraitis | <h2>
|
140 | cc7c5902 | Dimitris Moraitis | <strong>Step 2: </strong> Instance type <b></b> |
141 | cc7c5902 | Dimitris Moraitis | <em>Select CPU cores, RAM and storage space for your instance</em> |
142 | cc7c5902 | Dimitris Moraitis | </h2>
|
143 | cc7c5902 | Dimitris Moraitis | <ul>
|
144 | cc7c5902 | Dimitris Moraitis | <li>
|
145 | cc7c5902 | Dimitris Moraitis | <div class="instance-type"> |
146 | cc7c5902 | Dimitris Moraitis | <label for="small"> |
147 | cc7c5902 | Dimitris Moraitis | <input type="radio" id="small" name="instance-type" value="small" checked="true" /> |
148 | cc7c5902 | Dimitris Moraitis | <strong>small</strong> |
149 | cc7c5902 | Dimitris Moraitis | </label>
|
150 | cc7c5902 | Dimitris Moraitis | </div>
|
151 | cc7c5902 | Dimitris Moraitis | <div class="instance-type"> |
152 | cc7c5902 | Dimitris Moraitis | <label for="medium"> |
153 | cc7c5902 | Dimitris Moraitis | <input type="radio" id="medium" name="instance-type" value="medium" /> |
154 | cc7c5902 | Dimitris Moraitis | <strong>medium</strong> |
155 | cc7c5902 | Dimitris Moraitis | </label>
|
156 | cc7c5902 | Dimitris Moraitis | </div>
|
157 | cc7c5902 | Dimitris Moraitis | <div class="instance-type"> |
158 | cc7c5902 | Dimitris Moraitis | <label for="large"> |
159 | cc7c5902 | Dimitris Moraitis | <input type="radio" id="large" name="instance-type" value="large" /> |
160 | cc7c5902 | Dimitris Moraitis | <strong>large</strong> |
161 | cc7c5902 | Dimitris Moraitis | </label>
|
162 | cc7c5902 | Dimitris Moraitis | </div>
|
163 | cc7c5902 | Dimitris Moraitis | <div class="instance-type"> |
164 | cc7c5902 | Dimitris Moraitis | <label for="custom"> |
165 | cc7c5902 | Dimitris Moraitis | <input type="radio" name="instance-type" id="custom" value="large" /> |
166 | cc7c5902 | Dimitris Moraitis | <strong>custom</strong> |
167 | cc7c5902 | Dimitris Moraitis | </label>
|
168 | cc7c5902 | Dimitris Moraitis | </div>
|
169 | cc7c5902 | Dimitris Moraitis | </li>
|
170 | cc7c5902 | Dimitris Moraitis | <li>
|
171 | cc7c5902 | Dimitris Moraitis | <label><strong class="sliders">CPU (cores)</strong></label> |
172 | cc7c5902 | Dimitris Moraitis | <input type="range" id="cpu" value="1" max="8" min="1" /> |
173 | cc7c5902 | Dimitris Moraitis | </li>
|
174 | cc7c5902 | Dimitris Moraitis | <li>
|
175 | cc7c5902 | Dimitris Moraitis | <label><strong class="sliders">RAM (MB)</strong></label> |
176 | cc7c5902 | Dimitris Moraitis | <input type="range" id="ram" value="256" max="2048" min="256" step="256" /> |
177 | cc7c5902 | Dimitris Moraitis | </li>
|
178 | cc7c5902 | Dimitris Moraitis | <li>
|
179 | cc7c5902 | Dimitris Moraitis | <label><strong class="sliders">Storage (GB)</strong></label> |
180 | cc7c5902 | Dimitris Moraitis | <input type="range" id="storage" value="5" step="1" max="100" min="2" /> |
181 | cc7c5902 | Dimitris Moraitis | </li>
|
182 | cc7c5902 | Dimitris Moraitis | <li>
|
183 | cc7c5902 | Dimitris Moraitis | <div class="cost"> |
184 | cc7c5902 | Dimitris Moraitis | Cost per hour for this VM: 20 credits | Credits currently in account: 10.000 |
185 | cc7c5902 | Dimitris Moraitis | </div>
|
186 | cc7c5902 | Dimitris Moraitis | </li>
|
187 | cc7c5902 | Dimitris Moraitis | </ul>
|
188 | cc7c5902 | Dimitris Moraitis | <button type="button" class="prev">« Back</button> |
189 | cc7c5902 | Dimitris Moraitis | <button type="button" class="next right">Next »</button> |
190 | cc7c5902 | Dimitris Moraitis | </div>
|
191 | cc7c5902 | Dimitris Moraitis | <div class="page"> |
192 | cc7c5902 | Dimitris Moraitis | <h2>
|
193 | cc7c5902 | Dimitris Moraitis | <strong>Step 3: </strong> Review <b></b> |
194 | cc7c5902 | Dimitris Moraitis | <em>Confirm the settings below and create your new instance</em> |
195 | cc7c5902 | Dimitris Moraitis | </h2>
|
196 | cc7c5902 | Dimitris Moraitis | <ul>
|
197 | cc7c5902 | Dimitris Moraitis | <li class="required"> |
198 | cc7c5902 | Dimitris Moraitis | <label>
|
199 | 998ba8f9 | Christodoulos Psaltis | <strong>Instance name</strong><span>*</span> |
200 | cc7c5902 | Dimitris Moraitis | <input type="text" class="text" name="instance_name" value="My Ubuntu 10.04 x86_64 server"/> |
201 | cc7c5902 | Dimitris Moraitis | </label>
|
202 | cc7c5902 | Dimitris Moraitis | </li>
|
203 | cc7c5902 | Dimitris Moraitis | <li>
|
204 | cc7c5902 | Dimitris Moraitis | <strong>Image:</strong> <span>Ubuntu 10.04 x86_64 server</span> |
205 | cc7c5902 | Dimitris Moraitis | </li>
|
206 | cc7c5902 | Dimitris Moraitis | <li>
|
207 | cc7c5902 | Dimitris Moraitis | <strong>CPU:</strong> <span>2 cores</span> |
208 | cc7c5902 | Dimitris Moraitis | </li>
|
209 | cc7c5902 | Dimitris Moraitis | <li>
|
210 | cc7c5902 | Dimitris Moraitis | <strong>RAM:</strong> <span>1024MB</span> |
211 | cc7c5902 | Dimitris Moraitis | </li>
|
212 | cc7c5902 | Dimitris Moraitis | <li>
|
213 | cc7c5902 | Dimitris Moraitis | <strong>Storage:</strong> <span>10GB</span> |
214 | cc7c5902 | Dimitris Moraitis | </li>
|
215 | cc7c5902 | Dimitris Moraitis | <li>
|
216 | cc7c5902 | Dimitris Moraitis | <strong>Cost per hour:</strong> <span>20 credits</span> |
217 | cc7c5902 | Dimitris Moraitis | </li>
|
218 | cc7c5902 | Dimitris Moraitis | <li>
|
219 | cc7c5902 | Dimitris Moraitis | <strong>Remaining credits:</strong> <span>10.000</span> |
220 | cc7c5902 | Dimitris Moraitis | </li>
|
221 | cc7c5902 | Dimitris Moraitis | </ul>
|
222 | cc7c5902 | Dimitris Moraitis | <button type="button" class="prev">« Back</button> |
223 | cc7c5902 | Dimitris Moraitis | <button type="button" class="next right" id="start">Create VM</button> |
224 | cc7c5902 | Dimitris Moraitis | </div>
|
225 | cc7c5902 | Dimitris Moraitis | </div>
|
226 | cc7c5902 | Dimitris Moraitis | </div>
|
227 | cc7c5902 | Dimitris Moraitis | </form>
|
228 | cc7c5902 | Dimitris Moraitis | |
229 | cc7c5902 | Dimitris Moraitis | <div class="modal" id="misc"> |
230 | cc7c5902 | Dimitris Moraitis | <h3>Your VM is being created!</h3> |
231 | cc7c5902 | Dimitris Moraitis | <p>Your password is:<strong> sdeEFre</strong></p> |
232 | cc7c5902 | Dimitris Moraitis | <p>Please copy this! Without it you can not connect to your VM.</p> |
233 | cc7c5902 | Dimitris Moraitis | </div>
|
234 | cc7c5902 | Dimitris Moraitis | |
235 | cc7c5902 | Dimitris Moraitis | <script>
|
236 | cc7c5902 | Dimitris Moraitis | // <![CDATA[
|
237 | cc7c5902 | Dimitris Moraitis | |
238 | cc7c5902 | Dimitris Moraitis | $("#list").click(function(event){
|
239 | cc7c5902 | Dimitris Moraitis | $("div#instancesview").load($("#list").attr("href"));
|
240 | cc7c5902 | Dimitris Moraitis | return false;
|
241 | cc7c5902 | Dimitris Moraitis | });
|
242 | cc7c5902 | Dimitris Moraitis | |
243 | cc7c5902 | Dimitris Moraitis | $("ul.tabs").tabs("div.panes ul");
|
244 | cc7c5902 | Dimitris Moraitis | |
245 | cc7c5902 | Dimitris Moraitis | $(":range").rangeinput();
|
246 | cc7c5902 | Dimitris Moraitis | |
247 | cc7c5902 | Dimitris Moraitis | function disableSliders() {
|
248 | cc7c5902 | Dimitris Moraitis | $("#cpu").attr('disabled',true);
|
249 | cc7c5902 | Dimitris Moraitis | $("#ram").attr('disabled',true);
|
250 | cc7c5902 | Dimitris Moraitis | $("#storage").attr('disabled',true);
|
251 | cc7c5902 | Dimitris Moraitis | }
|
252 | cc7c5902 | Dimitris Moraitis | |
253 | cc7c5902 | Dimitris Moraitis | $("#custom").click(function(event){
|
254 | cc7c5902 | Dimitris Moraitis | $("#cpu").attr('disabled',false);
|
255 | cc7c5902 | Dimitris Moraitis | $("#ram").attr('disabled',false);
|
256 | cc7c5902 | Dimitris Moraitis | $("#storage").attr('disabled',false);
|
257 | cc7c5902 | Dimitris Moraitis | $("strong.sliders").style = 'color: #778899;';
|
258 | cc7c5902 | Dimitris Moraitis | });
|
259 | cc7c5902 | Dimitris Moraitis | |
260 | cc7c5902 | Dimitris Moraitis | $("#small").click(function(event){
|
261 | cc7c5902 | Dimitris Moraitis | $("#cpu").data('rangeinput').setValue(1);
|
262 | cc7c5902 | Dimitris Moraitis | $("#ram").data('rangeinput').setValue(256);
|
263 | cc7c5902 | Dimitris Moraitis | $("#storage").data('rangeinput').setValue(5);
|
264 | cc7c5902 | Dimitris Moraitis | });
|
265 | cc7c5902 | Dimitris Moraitis | |
266 | cc7c5902 | Dimitris Moraitis | $("#medium").click(function(event){
|
267 | cc7c5902 | Dimitris Moraitis | $("#cpu").data('rangeinput').setValue(4);
|
268 | cc7c5902 | Dimitris Moraitis | $("#ram").data('rangeinput').setValue(1024);
|
269 | cc7c5902 | Dimitris Moraitis | $("#storage").data('rangeinput').setValue(30);
|
270 | cc7c5902 | Dimitris Moraitis | });
|
271 | cc7c5902 | Dimitris Moraitis | |
272 | cc7c5902 | Dimitris Moraitis | $("#large").click(function(event){
|
273 | cc7c5902 | Dimitris Moraitis | $("#cpu").data('rangeinput').setValue(8);
|
274 | cc7c5902 | Dimitris Moraitis | $("#ram").data('rangeinput').setValue(4096);
|
275 | cc7c5902 | Dimitris Moraitis | $("#storage").data('rangeinput').setValue(80);
|
276 | cc7c5902 | Dimitris Moraitis | });
|
277 | cc7c5902 | Dimitris Moraitis | |
278 | cc7c5902 | Dimitris Moraitis | $("#cancel").click(function(event){
|
279 | cc7c5902 | Dimitris Moraitis | $("a#create[rel]").overlay().close();
|
280 | cc7c5902 | Dimitris Moraitis | });
|
281 | cc7c5902 | Dimitris Moraitis | |
282 | cc7c5902 | Dimitris Moraitis | $("#start").click(function(event){
|
283 | cc7c5902 | Dimitris Moraitis | $("a#create[rel]").overlay().close();
|
284 | cc7c5902 | Dimitris Moraitis | |
285 | cc7c5902 | Dimitris Moraitis | var triggers = $("div#misc").overlay({
|
286 | cc7c5902 | Dimitris Moraitis | // some mask tweaks suitable for modal dialogs
|
287 | cc7c5902 | Dimitris Moraitis | mask: {
|
288 | cc7c5902 | Dimitris Moraitis | color: '#ebecff',
|
289 | cc7c5902 | Dimitris Moraitis | opacity: '0.9'
|
290 | cc7c5902 | Dimitris Moraitis | },
|
291 | cc7c5902 | Dimitris Moraitis | top: 'center',
|
292 | cc7c5902 | Dimitris Moraitis | load: 'true',
|
293 | cc7c5902 | Dimitris Moraitis | closeOnClick: 'false'
|
294 | cc7c5902 | Dimitris Moraitis | });
|
295 | cc7c5902 | Dimitris Moraitis | });
|
296 | cc7c5902 | Dimitris Moraitis | |
297 | cc7c5902 | Dimitris Moraitis | $("a#create").click(function(event){
|
298 | cc7c5902 | Dimitris Moraitis | $("#wizard").scrollable().begin();
|
299 | cc7c5902 | Dimitris Moraitis | });
|
300 | cc7c5902 | Dimitris Moraitis | |
301 | cc7c5902 | Dimitris Moraitis | $("#cpu").change(function(event){
|
302 | cc7c5902 | Dimitris Moraitis | $("#custom").click();
|
303 | cc7c5902 | Dimitris Moraitis | });
|
304 | cc7c5902 | Dimitris Moraitis | |
305 | cc7c5902 | Dimitris Moraitis | $("#ram").change(function(event){
|
306 | cc7c5902 | Dimitris Moraitis | $("#custom").click();
|
307 | cc7c5902 | Dimitris Moraitis | });
|
308 | cc7c5902 | Dimitris Moraitis | |
309 | cc7c5902 | Dimitris Moraitis | $("#storage").change(function(event){
|
310 | cc7c5902 | Dimitris Moraitis | $("#custom").click();
|
311 | cc7c5902 | Dimitris Moraitis | });
|
312 | cc7c5902 | Dimitris Moraitis | |
313 | cc7c5902 | Dimitris Moraitis | $(function() {
|
314 | cc7c5902 | Dimitris Moraitis | $("a#create[rel]").overlay({mask: '#000', effect: 'default', top: '5%'});
|
315 | cc7c5902 | Dimitris Moraitis | |
316 | cc7c5902 | Dimitris Moraitis | });
|
317 | cc7c5902 | Dimitris Moraitis | |
318 | cc7c5902 | Dimitris Moraitis | $(function() {
|
319 | cc7c5902 | Dimitris Moraitis | var root = $("#wizard").scrollable();
|
320 | cc7c5902 | Dimitris Moraitis | |
321 | cc7c5902 | Dimitris Moraitis | // some variables that we need
|
322 | cc7c5902 | Dimitris Moraitis | var api = root.scrollable();
|
323 | cc7c5902 | Dimitris Moraitis | |
324 | cc7c5902 | Dimitris Moraitis | // rangeinput with default configuration
|
325 | cc7c5902 | Dimitris Moraitis | // validation logic is done inside the onBeforeSeek callback
|
326 | cc7c5902 | Dimitris Moraitis | api.onBeforeSeek(function(event, i) {
|
327 | cc7c5902 | Dimitris Moraitis | // we are going 1 step backwards so no need for validation
|
328 | cc7c5902 | Dimitris Moraitis | if (api.getIndex() < i) {
|
329 | cc7c5902 | Dimitris Moraitis | // 1. get current page
|
330 | cc7c5902 | Dimitris Moraitis | var page = root.find(".page").eq(api.getIndex()),
|
331 | cc7c5902 | Dimitris Moraitis | // 2. .. and all required fields inside the page
|
332 | cc7c5902 | Dimitris Moraitis | inputs = page.find(".required :input").removeClass("error"),
|
333 | cc7c5902 | Dimitris Moraitis | // 3. .. which are empty
|
334 | cc7c5902 | Dimitris Moraitis | empty = inputs.filter(function() {
|
335 | cc7c5902 | Dimitris Moraitis | return $(this).val().replace(/\s*/g, '') == '';
|
336 | cc7c5902 | Dimitris Moraitis | });
|
337 | cc7c5902 | Dimitris Moraitis | // if there are empty fields, then
|
338 | cc7c5902 | Dimitris Moraitis | if (empty.length) {
|
339 | cc7c5902 | Dimitris Moraitis | // add a CSS class name "error" for empty & required fields
|
340 | cc7c5902 | Dimitris Moraitis | empty.addClass("error");
|
341 | cc7c5902 | Dimitris Moraitis | // cancel seeking of the scrollable by returning false
|
342 | cc7c5902 | Dimitris Moraitis | return false;
|
343 | cc7c5902 | Dimitris Moraitis | // everything is good
|
344 | cc7c5902 | Dimitris Moraitis | }
|
345 | cc7c5902 | Dimitris Moraitis | }
|
346 | cc7c5902 | Dimitris Moraitis | // update status bar
|
347 | cc7c5902 | Dimitris Moraitis | $("#status li").removeClass("active").eq(i).addClass("active");
|
348 | cc7c5902 | Dimitris Moraitis | });
|
349 | cc7c5902 | Dimitris Moraitis | |
350 | cc7c5902 | Dimitris Moraitis | // if tab is pressed on the next button seek to next page
|
351 | cc7c5902 | Dimitris Moraitis | root.find("button.next").keydown(function(e) {
|
352 | cc7c5902 | Dimitris Moraitis | if (e.keyCode == 9) {
|
353 | cc7c5902 | Dimitris Moraitis | // seeks to next tab by executing our validation routine
|
354 | cc7c5902 | Dimitris Moraitis | api.next();
|
355 | cc7c5902 | Dimitris Moraitis | e.preventDefault();
|
356 | cc7c5902 | Dimitris Moraitis | }
|
357 | cc7c5902 | Dimitris Moraitis | });
|
358 | cc7c5902 | Dimitris Moraitis | // ]]>
|
359 | cc7c5902 | Dimitris Moraitis | });
|
360 | cc7c5902 | Dimitris Moraitis | </script>
|