root / ui / templates / networks.html @ a70fb308
History | View | Annotate | Download (38.3 kB)
1 | a5bc3755 | Vangelis Koukis | <!--
|
---|---|---|---|
2 | a5bc3755 | Vangelis Koukis | Copyright 2011 GRNET S.A. All rights reserved.
|
3 | a5bc3755 | Vangelis Koukis | |
4 | a5bc3755 | Vangelis Koukis | Redistribution and use in source and binary forms, with or
|
5 | a5bc3755 | Vangelis Koukis | without modification, are permitted provided that the following
|
6 | a5bc3755 | Vangelis Koukis | conditions are met:
|
7 | a5bc3755 | Vangelis Koukis | |
8 | a5bc3755 | Vangelis Koukis | 1. Redistributions of source code must retain the above
|
9 | a5bc3755 | Vangelis Koukis | copyright notice, this list of conditions and the following
|
10 | a5bc3755 | Vangelis Koukis | disclaimer.
|
11 | a5bc3755 | Vangelis Koukis | |
12 | a5bc3755 | Vangelis Koukis | 2. Redistributions in binary form must reproduce the above
|
13 | a5bc3755 | Vangelis Koukis | copyright notice, this list of conditions and the following
|
14 | a5bc3755 | Vangelis Koukis | disclaimer in the documentation and/or other materials
|
15 | a5bc3755 | Vangelis Koukis | provided with the distribution.
|
16 | a5bc3755 | Vangelis Koukis | |
17 | a5bc3755 | Vangelis Koukis | THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS
|
18 | a5bc3755 | Vangelis Koukis | OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
19 | a5bc3755 | Vangelis Koukis | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
20 | a5bc3755 | Vangelis Koukis | PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR
|
21 | a5bc3755 | Vangelis Koukis | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
22 | a5bc3755 | Vangelis Koukis | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
23 | a5bc3755 | Vangelis Koukis | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
24 | a5bc3755 | Vangelis Koukis | USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
25 | a5bc3755 | Vangelis Koukis | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
26 | a5bc3755 | Vangelis Koukis | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
27 | a5bc3755 | Vangelis Koukis | ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
28 | a5bc3755 | Vangelis Koukis | POSSIBILITY OF SUCH DAMAGE.
|
29 | a5bc3755 | Vangelis Koukis | |
30 | a5bc3755 | Vangelis Koukis | The views and conclusions contained in the software and
|
31 | a5bc3755 | Vangelis Koukis | documentation are those of the authors and should not be
|
32 | a5bc3755 | Vangelis Koukis | interpreted as representing official policies, either expressed
|
33 | a5bc3755 | Vangelis Koukis | or implied, of GRNET S.A.
|
34 | a5bc3755 | Vangelis Koukis | -->
|
35 | a5bc3755 | Vangelis Koukis | |
36 | 7d4f351b | Mike Muzurakis | {% load i18n %} |
37 | e690c75d | Christodoulos Psaltis | |
38 | f533f224 | Vangelis Koukis | <!-- the create button -->
|
39 | f533f224 | Vangelis Koukis | <div id="networks-createcontainer"> |
40 | f533f224 | Vangelis Koukis | <div id="beforecreate"></div> |
41 | f533f224 | Vangelis Koukis | <a id="networkscreate" rel="#networks-wizard" href="#">{% trans "Create New +" %}</a> |
42 | f533f224 | Vangelis Koukis | </div>
|
43 | e690c75d | Christodoulos Psaltis | |
44 | f533f224 | Vangelis Koukis | <!-- add new network overlay -->
|
45 | f533f224 | Vangelis Koukis | <div>
|
46 | f533f224 | Vangelis Koukis | <div class="modal" id="networks-wizard"> |
47 | f533f224 | Vangelis Koukis | <div class="header"> |
48 | f533f224 | Vangelis Koukis | </div>
|
49 | f533f224 | Vangelis Koukis | <h2>{% trans "Name your network" %}</h2> |
50 | f533f224 | Vangelis Koukis | <hr class="topruler" /> |
51 | f533f224 | Vangelis Koukis | <div class="container"> |
52 | f533f224 | Vangelis Koukis | <div class="name-input"> |
53 | f533f224 | Vangelis Koukis | <label>{% trans "Name" %}:</label> |
54 | f533f224 | Vangelis Koukis | <input type="text" class="text" name="machine_name"></input> |
55 | f533f224 | Vangelis Koukis | <span class="help">{% trans "(* Required field)" %}</span> |
56 | f533f224 | Vangelis Koukis | </div>
|
57 | f533f224 | Vangelis Koukis | </div>
|
58 | f533f224 | Vangelis Koukis | <hr class="bottomruler" /> |
59 | f533f224 | Vangelis Koukis | <button type="button" id="add-network-cancel" class="cancel">{% trans "Cancel" %}</button> |
60 | f533f224 | Vangelis Koukis | <button type="button" id="add-network-create" class="create">{% trans "Create Network" %}</button> |
61 | f533f224 | Vangelis Koukis | <hr class="separator-end"></hr> |
62 | 7d4f351b | Mike Muzurakis | </div>
|
63 | f533f224 | Vangelis Koukis | </div>
|
64 | f533f224 | Vangelis Koukis | |
65 | f533f224 | Vangelis Koukis | <!-- networks list -->
|
66 | f533f224 | Vangelis Koukis | <div id="networks-container"> |
67 | f533f224 | Vangelis Koukis | <!-- spinner while loading list -->
|
68 | f533f224 | Vangelis Koukis | <div class = "large-spinner"></div> |
69 | f533f224 | Vangelis Koukis | |
70 | f533f224 | Vangelis Koukis | <!-- public network template -->
|
71 | f533f224 | Vangelis Koukis | <div class="network" id="public-template"> |
72 | 7d4f351b | Mike Muzurakis | <div class="actions"> |
73 | f533f224 | Vangelis Koukis | {# Commented out the following until there is full public network support #} |
74 | f533f224 | Vangelis Koukis | {# <a href="#" class="action-add">{% trans "Add Machine" %}</a> #} |
75 | f533f224 | Vangelis Koukis | </div>
|
76 | f533f224 | Vangelis Koukis | <div class="confirm_single"> |
77 | f533f224 | Vangelis Koukis | <button class="yes">{% trans "Confirm" %}</button> |
78 | f533f224 | Vangelis Koukis | <button class="no">{% trans "Cancel" %}</button> |
79 | f533f224 | Vangelis Koukis | </div>
|
80 | f533f224 | Vangelis Koukis | <div class="action_error" align="center"> |
81 | 3b08073b | Christodoulos Psaltis | {% trans "<span>Error</span> on" %} <span class="action">{% trans "error action" %}</span> |
82 | f533f224 | Vangelis Koukis | <span class="code"></span> |
83 | f533f224 | Vangelis Koukis | <span class="message"></span> |
84 | f533f224 | Vangelis Koukis | <button class="details">{% trans "Details" %}</button> |
85 | f533f224 | Vangelis Koukis | </div>
|
86 | 7d4f351b | Mike Muzurakis | <div class="state"> |
87 | 7d4f351b | Mike Muzurakis | <div class="status">{% trans "Public Network" %}</div> |
88 | 7d4f351b | Mike Muzurakis | <div class="indicator"></div> |
89 | 7d4f351b | Mike Muzurakis | <div class="indicator"></div> |
90 | 7d4f351b | Mike Muzurakis | <div class="indicator"></div> |
91 | 7d4f351b | Mike Muzurakis | <div class="indicator"></div> |
92 | f533f224 | Vangelis Koukis | </div>
|
93 | 0a5c4b4d | Markos Gogoulos | <img class="network-logos" src="static/internet.png" /> |
94 | 0a8e39b4 | Mike Muzurakis | <div href="#" class="name-div"> |
95 | 7d4f351b | Mike Muzurakis | <h5 class="namecontainer"> |
96 | 7d4f351b | Mike Muzurakis | <span class="name">{% trans "Internet" %}</span> |
97 | 7d4f351b | Mike Muzurakis | </h5>
|
98 | 7d4f351b | Mike Muzurakis | </div>
|
99 | 7d4f351b | Mike Muzurakis | <h5 class="network-machines"> |
100 | f533f224 | Vangelis Koukis | {% trans "Show:" %} <span class="show-machines">{% trans "machines" %}</span> |
101 | ea57526f | Dimitris Moraitis | (<span class="machines-count">0</span>) |
102 | 7d4f351b | Mike Muzurakis | </h5>
|
103 | b1272faa | Mike Muzurakis | <div class="network-contents"> |
104 | 69a37abb | Christodoulos Psaltis | <div class="network-placeholder"> |
105 | b1272faa | Mike Muzurakis | <div class="network-contents-start-separator"></div> |
106 | f533f224 | Vangelis Koukis | <div class="machines-list"> |
107 | f533f224 | Vangelis Koukis | <!-- append machines here -->
|
108 | b1272faa | Mike Muzurakis | </div>
|
109 | c0c46a60 | Christodoulos Psaltis | <div class="empty-network-slot" id="machine-template"> |
110 | f533f224 | Vangelis Koukis | <div class='network-add-machine'> |
111 | f533f224 | Vangelis Koukis | {# Replace the following with the comment below for full public network functionality #} |
112 | f533f224 | Vangelis Koukis | {# <span class="add-icon">+</span> #} |
113 | f533f224 | Vangelis Koukis | <span> </span> |
114 | f533f224 | Vangelis Koukis | </div>
|
115 | c0c46a60 | Christodoulos Psaltis | </div>
|
116 | 69a37abb | Christodoulos Psaltis | </div>
|
117 | 69a37abb | Christodoulos Psaltis | <div class="network-contents-end-separator"></div> |
118 | 69a37abb | Christodoulos Psaltis | </div>
|
119 | 69a37abb | Christodoulos Psaltis | </div>
|
120 | f533f224 | Vangelis Koukis | |
121 | f533f224 | Vangelis Koukis | <!-- template for machines in public network -->
|
122 | f533f224 | Vangelis Koukis | <div class="network-machine" id="public-machine-template"> |
123 | f533f224 | Vangelis Koukis | <div class="machine-actions"> |
124 | f533f224 | Vangelis Koukis | <a href="#" class="action-details">{% trans "Details" %}</a> |
125 | f533f224 | Vangelis Koukis | </div>
|
126 | f533f224 | Vangelis Koukis | <div class="confirm_single"> |
127 | f533f224 | Vangelis Koukis | <button class="yes">{% trans "Confirm" %}</button> |
128 | f533f224 | Vangelis Koukis | <button class="no">{% trans "Cancel" %}</button> |
129 | f533f224 | Vangelis Koukis | </div>
|
130 | f533f224 | Vangelis Koukis | <div class="action_error" align="center"> |
131 | 3b08073b | Christodoulos Psaltis | {% trans "<span>Error</span> on" %} <span class="action">{% trans "error action" %}</span> |
132 | f533f224 | Vangelis Koukis | <span class="code"></span> |
133 | f533f224 | Vangelis Koukis | <span class="message"></span> |
134 | f533f224 | Vangelis Koukis | <button class="details">{% trans "Details" %}</button> |
135 | f533f224 | Vangelis Koukis | </div>
|
136 | f533f224 | Vangelis Koukis | <div class="state"> |
137 | f533f224 | Vangelis Koukis | <div class="ip4-container status"> |
138 | f533f224 | Vangelis Koukis | <span class="discreet">{% trans "IPv4" %}: </span> |
139 | f533f224 | Vangelis Koukis | <span class="ip4">192.94.73.15</span> |
140 | 69a37abb | Christodoulos Psaltis | </div>
|
141 | f533f224 | Vangelis Koukis | <div class="ip6-container status"> |
142 | f533f224 | Vangelis Koukis | <span class="discreet">{% trans "IPv6" %}: </span> |
143 | f533f224 | Vangelis Koukis | <span class="ip6">vv</span> |
144 | b1272faa | Mike Muzurakis | </div>
|
145 | 0a5c4b4d | Markos Gogoulos | <img class="spinner" style="display:none" src="static/icons/indicators/medium/progress.gif" /> |
146 | 0a5c4b4d | Markos Gogoulos | <img class="wave" style="display:none" src="static/icons/indicators/medium/wave.gif" /> |
147 | 7d4f351b | Mike Muzurakis | </div>
|
148 | 0a5c4b4d | Markos Gogoulos | <img class="logo" src="static/icons/machines/medium/debian-on.png" /> |
149 | f533f224 | Vangelis Koukis | <div class='network-remove-machine'> |
150 | f533f224 | Vangelis Koukis | {# Replace the following with the comment below for full public network functionality #} |
151 | f533f224 | Vangelis Koukis | {# <span class="remove-icon">X</span> #} |
152 | f533f224 | Vangelis Koukis | <span> </span> |
153 | f533f224 | Vangelis Koukis | </div>
|
154 | f533f224 | Vangelis Koukis | <div href="#" class="machine-name-div"> |
155 | f533f224 | Vangelis Koukis | <h5 class="namecontainer"> |
156 | f533f224 | Vangelis Koukis | <span class="name">my desktop1</span> |
157 | 6f547d12 | Mike Muzurakis | </h5>
|
158 | f533f224 | Vangelis Koukis | </div>
|
159 | 77d4b76f | Christodoulos Psaltis | <h5 class="machine-settings"> |
160 | f533f224 | Vangelis Koukis | <span class="ip">{% trans "IPs" %}</span> | |
161 | f533f224 | Vangelis Koukis | <span class="show-firewall">{% trans "Firewall" %}</span> |
162 | f533f224 | Vangelis Koukis | (<span class="firewall-off">{% trans "Off" %}</span>) |
163 | f533f224 | Vangelis Koukis | </h5>
|
164 | f533f224 | Vangelis Koukis | <div class="firewall-content"> |
165 | f533f224 | Vangelis Koukis | <div class="firewall-contents-start-separator"></div> |
166 | f533f224 | Vangelis Koukis | <input type="radio" class="checkboxes" name="image-id1" /> |
167 | f533f224 | Vangelis Koukis | <span class="checkbox-legends">{% trans "Unprotected mode (Firewall off)" %}</span> |
168 | f533f224 | Vangelis Koukis | <br /> |
169 | f533f224 | Vangelis Koukis | <input type="radio" class="checkboxes" name="image-id1" /> |
170 | f533f224 | Vangelis Koukis | <span class="checkbox-legends">{% trans "Fully protected mode (Firewall on)" %}</span> |
171 | f533f224 | Vangelis Koukis | <br /> |
172 | f533f224 | Vangelis Koukis | <input type="radio" class="checkboxes" name="image-id1" /> |
173 | f533f224 | Vangelis Koukis | <span class="checkbox-legends">{% trans "Basically protected mode (Firewall on)" %}</span> |
174 | f533f224 | Vangelis Koukis | <br /> |
175 | f533f224 | Vangelis Koukis | <input type="radio" class="checkboxes" name="image-id1" /> |
176 | f533f224 | Vangelis Koukis | <span class="checkbox-legends">{% trans "Custom protection" %} <a href="#" class="firewall-settings">{% trans "settings" %}</a> {% trans "(Advanced users only)" %}</span> |
177 | f533f224 | Vangelis Koukis | <button type="submit" class="firewall-apply">{% trans "Apply" %}</button> |
178 | f533f224 | Vangelis Koukis | <div class="firewall-contents-end-separator"></div> |
179 | f533f224 | Vangelis Koukis | </div>
|
180 | f533f224 | Vangelis Koukis | <div class="network-separator machines"></div> |
181 | f533f224 | Vangelis Koukis | </div>
|
182 | f533f224 | Vangelis Koukis | |
183 | f533f224 | Vangelis Koukis | <!-- private network template -->
|
184 | f533f224 | Vangelis Koukis | <div class="network" id="private-template"> |
185 | f533f224 | Vangelis Koukis | <div class="actions"> |
186 | f533f224 | Vangelis Koukis | <a href="#" class="action-add">{% trans "Add Machine" %}</a> |
187 | f533f224 | Vangelis Koukis | <a href="#" class="action-network-destroy">{% trans "Destroy" %}</a> |
188 | f533f224 | Vangelis Koukis | </div>
|
189 | f533f224 | Vangelis Koukis | <div class="confirm_single"> |
190 | f533f224 | Vangelis Koukis | <button class="yes">{% trans "Confirm" %}</button> |
191 | f533f224 | Vangelis Koukis | <button class="no">{% trans "Cancel" %}</button> |
192 | f533f224 | Vangelis Koukis | </div>
|
193 | f533f224 | Vangelis Koukis | <div class="action_error" align="center"> |
194 | 3b08073b | Christodoulos Psaltis | {% trans "<span>Error</span> on" %} <span class="action">{% trans "error action" %}</span> |
195 | f533f224 | Vangelis Koukis | <span class="code"></span> |
196 | f533f224 | Vangelis Koukis | <span class="message"></span> |
197 | f533f224 | Vangelis Koukis | <button class="details">{% trans "Details" %}</button> |
198 | f533f224 | Vangelis Koukis | </div>
|
199 | f533f224 | Vangelis Koukis | <div class="state"> |
200 | f533f224 | Vangelis Koukis | <div class="status">{% trans "Private Network" %}</div> |
201 | f533f224 | Vangelis Koukis | <div class="indicator"></div> |
202 | f533f224 | Vangelis Koukis | <div class="indicator"></div> |
203 | f533f224 | Vangelis Koukis | <div class="indicator"></div> |
204 | f533f224 | Vangelis Koukis | <div class="indicator"></div> |
205 | 0a5c4b4d | Markos Gogoulos | <img class="spinner" style="display:none" src="static/icons/indicators/medium/progress.gif" /> |
206 | 0a5c4b4d | Markos Gogoulos | <img class="wave" style="display:none" src="static/icons/indicators/medium/wave.gif" /> |
207 | f533f224 | Vangelis Koukis | </div>
|
208 | 0a5c4b4d | Markos Gogoulos | <img class="network-logos" src="static/network.png" /> |
209 | f533f224 | Vangelis Koukis | <div href="#" class="name-div"> |
210 | f533f224 | Vangelis Koukis | <h5 class="namecontainer editable"> |
211 | f533f224 | Vangelis Koukis | <span class="name">{% trans "My Network 1" %}</span> |
212 | f533f224 | Vangelis Koukis | <span class="rename-network"></span> |
213 | f533f224 | Vangelis Koukis | <div class="editbuttons" style="display:none"> |
214 | f533f224 | Vangelis Koukis | <span class="save" /> |
215 | f533f224 | Vangelis Koukis | <span class="cancel" /> |
216 | c0c46a60 | Christodoulos Psaltis | </div>
|
217 | f533f224 | Vangelis Koukis | </h5>
|
218 | 6f547d12 | Mike Muzurakis | </div>
|
219 | f533f224 | Vangelis Koukis | <h5 class="network-machines"> |
220 | f533f224 | Vangelis Koukis | {% trans "Show:" %} <span class="show-machines">{% trans "machines" %}</span> |
221 | ea57526f | Dimitris Moraitis | (<span class="machines-count">0</span>) |
222 | f533f224 | Vangelis Koukis | </h5>
|
223 | f533f224 | Vangelis Koukis | <div class="network-contents"> |
224 | f533f224 | Vangelis Koukis | <div class="network-placeholder"> |
225 | f533f224 | Vangelis Koukis | <div class="network-contents-start-separator"></div> |
226 | f533f224 | Vangelis Koukis | <div class="machines-list"> |
227 | f533f224 | Vangelis Koukis | <!-- append machines here -->
|
228 | f533f224 | Vangelis Koukis | </div>
|
229 | f533f224 | Vangelis Koukis | <div class="empty-network-slot" id="machine-template"> |
230 | f533f224 | Vangelis Koukis | <div class='network-add-machine'><span class="add-icon">+</span></div> |
231 | f533f224 | Vangelis Koukis | </div>
|
232 | 6f547d12 | Mike Muzurakis | </div>
|
233 | f533f224 | Vangelis Koukis | <div class="network-contents-end-separator"></div> |
234 | f533f224 | Vangelis Koukis | </div>
|
235 | f533f224 | Vangelis Koukis | <div class="separator"></div> |
236 | f533f224 | Vangelis Koukis | </div>
|
237 | f533f224 | Vangelis Koukis | |
238 | f533f224 | Vangelis Koukis | <!-- template for machines in private network -->
|
239 | f533f224 | Vangelis Koukis | <div class="network-machine" id="private-machine-template"> |
240 | f533f224 | Vangelis Koukis | <div class="machine-actions"> |
241 | f533f224 | Vangelis Koukis | <a href="#" class="action-disconnect">{% trans "Disconnect" %}</a> |
242 | f533f224 | Vangelis Koukis | <a href="#" class="action-details">{% trans "Details" %}</a> |
243 | f533f224 | Vangelis Koukis | </div>
|
244 | f533f224 | Vangelis Koukis | <div class="confirm_single"> |
245 | f533f224 | Vangelis Koukis | <button class="yes">{% trans "Confirm" %}</button> |
246 | f533f224 | Vangelis Koukis | <button class="no">{% trans "Cancel" %}</button> |
247 | f533f224 | Vangelis Koukis | </div>
|
248 | f533f224 | Vangelis Koukis | <div class="action_error" align="center"> |
249 | 3b08073b | Christodoulos Psaltis | {% trans "<span>Error</span> on" %} <span class="action">{% trans "error action" %}</span> |
250 | f533f224 | Vangelis Koukis | <span class="code"></span> |
251 | f533f224 | Vangelis Koukis | <span class="message"></span> |
252 | f533f224 | Vangelis Koukis | <button class="details">{% trans "Details" %}</button> |
253 | f533f224 | Vangelis Koukis | </div>
|
254 | f533f224 | Vangelis Koukis | <div class="state"> |
255 | 0a5c4b4d | Markos Gogoulos | <img class="spinner" style="display:none" src="static/icons/indicators/medium/progress.gif" /> |
256 | 0a5c4b4d | Markos Gogoulos | <img class="wave" style="display:none" src="static/icons/indicators/medium/wave.gif" /> |
257 | f533f224 | Vangelis Koukis | </div>
|
258 | 0a5c4b4d | Markos Gogoulos | <img class="logo" src="static/icons/machines/medium/debian-on.png" /> |
259 | f533f224 | Vangelis Koukis | <div class='network-remove-machine'><span class="remove-icon">X</span></div> |
260 | f533f224 | Vangelis Koukis | <div href="#" class="machine-name-div"> |
261 | f533f224 | Vangelis Koukis | <h5 class="namecontainer editable"> |
262 | f533f224 | Vangelis Koukis | <span class="name">my desktop1</span> |
263 | 6f547d12 | Mike Muzurakis | </h5>
|
264 | f533f224 | Vangelis Koukis | </div>
|
265 | 77d4b76f | Christodoulos Psaltis | <h5 class='machine-connect'> |
266 | 77d4b76f | Christodoulos Psaltis | <span>{% trans "Connect" %}</span> {% trans "to manage private IPs" %} |
267 | f533f224 | Vangelis Koukis | </h5>
|
268 | f533f224 | Vangelis Koukis | <div class="network-separator machines"></div> |
269 | f533f224 | Vangelis Koukis | </div>
|
270 | f533f224 | Vangelis Koukis | |
271 | f533f224 | Vangelis Koukis | <!-- the actual structure to be populated -->
|
272 | f533f224 | Vangelis Koukis | <div class="public-networks"></div> |
273 | f533f224 | Vangelis Koukis | <div class="private-networks" style="display:none;"></div> |
274 | f533f224 | Vangelis Koukis | </div>
|
275 | f533f224 | Vangelis Koukis | |
276 | f533f224 | Vangelis Koukis | <!-- add servers to network overlay -->
|
277 | f533f224 | Vangelis Koukis | <div>
|
278 | f533f224 | Vangelis Koukis | <div id="add-machines-wizard" class="modal"> |
279 | f533f224 | Vangelis Koukis | <h3 class="popup-header">{% trans "Add machine" %}</h3> |
280 | f533f224 | Vangelis Koukis | <p style='display:none;'>hidden network id</p> |
281 | f533f224 | Vangelis Koukis | <div class="popup-body"> |
282 | f533f224 | Vangelis Koukis | <div class="popup-body-inner"> |
283 | f533f224 | Vangelis Koukis | <div class="popup-title">{% trans "Select machines to add to:" %}</div> |
284 | f533f224 | Vangelis Koukis | <div class="network-name"></div> |
285 | f533f224 | Vangelis Koukis | <div class="popup-separator"></div> |
286 | f533f224 | Vangelis Koukis | <div class="machines-container"> |
287 | f533f224 | Vangelis Koukis | <div class="large-spinner"></div> |
288 | f533f224 | Vangelis Koukis | <div id='machine-entry-template' style="display:none;"> |
289 | f533f224 | Vangelis Koukis | <input type="checkbox" /> |
290 | 0a5c4b4d | Markos Gogoulos | <img class=list-logo src="static/icons/machines/small/debian-on.png" title="debian"></img> |
291 | f533f224 | Vangelis Koukis | <span class="machine-name">kati</span> |
292 | c0c46a60 | Christodoulos Psaltis | </div>
|
293 | c0c46a60 | Christodoulos Psaltis | </div>
|
294 | b1272faa | Mike Muzurakis | </div>
|
295 | 6f547d12 | Mike Muzurakis | </div>
|
296 | f533f224 | Vangelis Koukis | <div class="buttons"> |
297 | f533f224 | Vangelis Koukis | <button type="button" class="cancel" id="add-server-cancel">{% trans "Cancel" %}</button> |
298 | f533f224 | Vangelis Koukis | <button type="button" class="add" id="add-server-add">{% trans "Add" %}</button> |
299 | f533f224 | Vangelis Koukis | </div>
|
300 | 7d4f351b | Mike Muzurakis | </div>
|
301 | 7d4f351b | Mike Muzurakis | </div>
|
302 | f533f224 | Vangelis Koukis | |
303 | f533f224 | Vangelis Koukis | <a id="add-machines-overlay" href="#" rel="#add-machines-wizard"></a> |
304 | f533f224 | Vangelis Koukis | |
305 | f533f224 | Vangelis Koukis | <!-- multiple confirmation dialog -->
|
306 | f533f224 | Vangelis Koukis | <div class="confirm_multiple"> |
307 | f533f224 | Vangelis Koukis | <p>{% trans "Your actions will affect" %} <span class="actionLen">XX</span> {% trans "networks" %}</p> |
308 | f533f224 | Vangelis Koukis | <button class="yes">{% trans "Confirm All" %}</button> |
309 | f533f224 | Vangelis Koukis | <button class="no">{% trans "Cancel All" %}</button> |
310 | f533f224 | Vangelis Koukis | </div>
|
311 | 6f547d12 | Mike Muzurakis | |
312 | 6f547d12 | Mike Muzurakis | <script>
|
313 | f533f224 | Vangelis Koukis | // add network wizard initialization
|
314 | f533f224 | Vangelis Koukis | $(function() {
|
315 | f533f224 | Vangelis Koukis | // create wizard overlay
|
316 | f533f224 | Vangelis Koukis | $("a#networkscreate").overlay({
|
317 | f533f224 | Vangelis Koukis | mask: '#000',
|
318 | f533f224 | Vangelis Koukis | effect: 'default',
|
319 | f533f224 | Vangelis Koukis | top: '10%',
|
320 | f533f224 | Vangelis Koukis | closeOnClick: false,
|
321 | f533f224 | Vangelis Koukis | oneInstance: false,
|
322 | f533f224 | Vangelis Koukis | closeOnEsc: true,
|
323 | f533f224 | Vangelis Koukis | load: false
|
324 | f533f224 | Vangelis Koukis | });
|
325 | b1272faa | Mike Muzurakis | });
|
326 | f533f224 | Vangelis Koukis | |
327 | f533f224 | Vangelis Koukis | // intercept click to create new private network
|
328 | f533f224 | Vangelis Koukis | $("#networkscreate").click(function() {
|
329 | f533f224 | Vangelis Koukis | // reset and load wizard
|
330 | f533f224 | Vangelis Koukis | $('#networks-wizard span.help').removeClass('red');
|
331 | f533f224 | Vangelis Koukis | $('#networks-wizard input').val('');
|
332 | f533f224 | Vangelis Koukis | $('#networks-wizard #add-network-create').text('{% trans 'Create Network' %}');
|
333 | f533f224 | Vangelis Koukis | $("#networks-wizard").show();
|
334 | f533f224 | Vangelis Koukis | $('#networks-wizard input').focus();
|
335 | f533f224 | Vangelis Koukis | $("a#networkscreate").data('overlay').load();
|
336 | f533f224 | Vangelis Koukis | return false;
|
337 | e0e9957e | Christodoulos Psaltis | });
|
338 | b1272faa | Mike Muzurakis | |
339 | f533f224 | Vangelis Koukis | // exit the add machine to network wizard
|
340 | f533f224 | Vangelis Koukis | $("#add-network-cancel").live('click', function() {
|
341 | f533f224 | Vangelis Koukis | $("a#networkscreate").overlay().close();
|
342 | 384da41e | Christodoulos Psaltis | });
|
343 | b1272faa | Mike Muzurakis | |
344 | f533f224 | Vangelis Koukis | // add selected machines to network
|
345 | f533f224 | Vangelis Koukis | $("#add-network-create").live('click', function() {
|
346 | f533f224 | Vangelis Koukis | if ($('#networks-wizard input').val() == '') {
|
347 | f533f224 | Vangelis Koukis | $('#networks-wizard input').focus();
|
348 | f533f224 | Vangelis Koukis | $('#networks-wizard span.help').addClass('red');
|
349 | f533f224 | Vangelis Koukis | } else {
|
350 | f533f224 | Vangelis Koukis | $(this).text('');
|
351 | 0a5c4b4d | Markos Gogoulos | $(this).html('<img src="static/icons/indicators/medium/horizontal-progress.gif"></img>');
|
352 | f533f224 | Vangelis Koukis | networkName = $('#networks-wizard input').val();
|
353 | f533f224 | Vangelis Koukis | create_network(networkName);
|
354 | f533f224 | Vangelis Koukis | }
|
355 | f533f224 | Vangelis Koukis | return false;
|
356 | 92f534e9 | Christodoulos Psaltis | });
|
357 | 92f534e9 | Christodoulos Psaltis | |
358 | f533f224 | Vangelis Koukis | // toggle component with class network-contents
|
359 | f533f224 | Vangelis Koukis | $("#networks-pane .show-machines").live('click', function() {
|
360 | ea57526f | Dimitris Moraitis | if ($('#networks-pane .network-contents .network-machine').length > 0) {
|
361 | ea57526f | Dimitris Moraitis | $(this).parent().next("#networks-pane .network-contents").slideToggle(600);
|
362 | ea57526f | Dimitris Moraitis | }
|
363 | f533f224 | Vangelis Koukis | return false;
|
364 | f533f224 | Vangelis Koukis | });
|
365 | f533f224 | Vangelis Koukis | |
366 | f533f224 | Vangelis Koukis | // toggle component with class network-contents
|
367 | f533f224 | Vangelis Koukis | $("#networks-pane .network-logos").live('click', function() {
|
368 | f533f224 | Vangelis Koukis | $(this).siblings("#networks-pane .network-contents").slideToggle(600);
|
369 | f533f224 | Vangelis Koukis | return false;
|
370 | f533f224 | Vangelis Koukis | });
|
371 | f533f224 | Vangelis Koukis | |
372 | f533f224 | Vangelis Koukis | //initiate network renaming
|
373 | f533f224 | Vangelis Koukis | $("#networks-pane .name-div .rename-network, #networks-pane .name-div h5.editable span.name").live('click', function() {
|
374 | f533f224 | Vangelis Koukis | $(this).parent().find('.name').html("<input id=\"txtEdit\" type=\"text\" class=\"nametextbox\" value=\"" +
|
375 | f533f224 | Vangelis Koukis | $(this).parent().find('.name').text() +
|
376 | f533f224 | Vangelis Koukis | "\" / ><span class=\"oldValue\">" +
|
377 | f533f224 | Vangelis Koukis | $(this).parent().find('.name').text() + "</span>");
|
378 | f533f224 | Vangelis Koukis | $(this).parent().find('.rename-network').hide();
|
379 | f533f224 | Vangelis Koukis | $(this).parent().find(".editbuttons").fadeIn();
|
380 | f533f224 | Vangelis Koukis | $(this).parent().find(".nametextbox").focus().select();
|
381 | f533f224 | Vangelis Koukis | $(this).parent().removeClass('editable');
|
382 | f533f224 | Vangelis Koukis | |
383 | f533f224 | Vangelis Koukis | //submit wizard by pressing enter on the name textbox
|
384 | f533f224 | Vangelis Koukis | $("#txtEdit").keydown(function (e) {
|
385 | f533f224 | Vangelis Koukis | if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
|
386 | f533f224 | Vangelis Koukis | $(this).parent().parent().find('div.editbuttons span.save').click();
|
387 | f533f224 | Vangelis Koukis | return false;
|
388 | f533f224 | Vangelis Koukis | } else if ((e.which && e.which == 27) || (e.keyCode && e.keyCode == 27)) {
|
389 | f533f224 | Vangelis Koukis | $(this).parent().parent().find('div.editbuttons span.cancel').click();
|
390 | f533f224 | Vangelis Koukis | return true;
|
391 | f533f224 | Vangelis Koukis | }
|
392 | f533f224 | Vangelis Koukis | });
|
393 | f533f224 | Vangelis Koukis | return false;
|
394 | f533f224 | Vangelis Koukis | });
|
395 | f533f224 | Vangelis Koukis | |
396 | f533f224 | Vangelis Koukis | //rename machine
|
397 | f533f224 | Vangelis Koukis | $("#networks-pane .name-div .editbuttons .save").live('click', function() {
|
398 | f533f224 | Vangelis Koukis | networkID = $(this).closest('.network').attr("id").split('-').pop();
|
399 | f533f224 | Vangelis Koukis | networkName = $(this).parent().parent().find('.nametextbox').val();
|
400 | f533f224 | Vangelis Koukis | if (networkName.trim() == ''){
|
401 | f533f224 | Vangelis Koukis | return false;
|
402 | f533f224 | Vangelis Koukis | }
|
403 | f533f224 | Vangelis Koukis | $(this).parent().parent().find('.name').html($(this).parent().parent().find('.nametextbox').val());
|
404 | f533f224 | Vangelis Koukis | $(this).parent().parent().find(".editbuttons").fadeOut("fast");
|
405 | f533f224 | Vangelis Koukis | $(this).parent().parent().find(".rename-network").fadeIn("slow");
|
406 | f533f224 | Vangelis Koukis | rename_network(networkID, networkName);
|
407 | f533f224 | Vangelis Koukis | return false;
|
408 | f533f224 | Vangelis Koukis | });
|
409 | f533f224 | Vangelis Koukis | |
410 | f533f224 | Vangelis Koukis | //cancel renaming
|
411 | f533f224 | Vangelis Koukis | $("#networks-pane .name-div .editbuttons .cancel").live('click', function() {
|
412 | f533f224 | Vangelis Koukis | $(this).parent().parent().find('.name').html($(this).parent().parent().find('.oldValue').text());
|
413 | f533f224 | Vangelis Koukis | $(this).parent().parent().find(".editbuttons").hide();
|
414 | f533f224 | Vangelis Koukis | $(this).parent().parent().find(".rename-network").fadeIn();
|
415 | f533f224 | Vangelis Koukis | $(this).parent().parent().addClass('editable');
|
416 | f533f224 | Vangelis Koukis | return false;
|
417 | f533f224 | Vangelis Koukis | });
|
418 | f533f224 | Vangelis Koukis | |
419 | f533f224 | Vangelis Koukis | // intercept click to delete network
|
420 | f533f224 | Vangelis Koukis | $("#networks-pane .action-network-destroy").live('click', function() {
|
421 | f533f224 | Vangelis Koukis | var networkID = $(this).parent().parent().attr('id').split('-').pop();
|
422 | f533f224 | Vangelis Koukis | var networkName = $(this).parent().parent().find(".name-div span.name").text();
|
423 | f533f224 | Vangelis Koukis | var found = false;
|
424 | f533f224 | Vangelis Koukis | $(this).parent().children('a').removeClass('selected');
|
425 | f533f224 | Vangelis Koukis | $(this).addClass('selected');
|
426 | f533f224 | Vangelis Koukis | $(this).parent().addClass('display')
|
427 | f533f224 | Vangelis Koukis | $(this).parent().parent().find('.action_error').hide();
|
428 | f533f224 | Vangelis Koukis | for (i=0; i < pending_actions.length; i++){ // if there is already a pending action for this network replace it
|
429 | f533f224 | Vangelis Koukis | if (pending_actions[i][0] == delete_network && pending_actions[i][1] == networkID){
|
430 | f533f224 | Vangelis Koukis | pending_actions[i][0] = delete_network;
|
431 | f533f224 | Vangelis Koukis | found = true
|
432 | f533f224 | Vangelis Koukis | }
|
433 | f533f224 | Vangelis Koukis | }
|
434 | f533f224 | Vangelis Koukis | if (!found) {
|
435 | f533f224 | Vangelis Koukis | // no pending action for this network was found, so let's just add it to the list
|
436 | f533f224 | Vangelis Koukis | pending_actions.push([delete_network, networkID, networkName]);
|
437 | f533f224 | Vangelis Koukis | }
|
438 | f533f224 | Vangelis Koukis | update_network_confirmations();
|
439 | f533f224 | Vangelis Koukis | return false;
|
440 | f533f224 | Vangelis Koukis | });
|
441 | f533f224 | Vangelis Koukis | |
442 | f533f224 | Vangelis Koukis | // intercept click to remove machine from network
|
443 | f533f224 | Vangelis Koukis | $("#networks-pane .remove-icon").live('click', function() {
|
444 | f533f224 | Vangelis Koukis | $(this).closest('.network-machine').find('.action-disconnect').click();
|
445 | f533f224 | Vangelis Koukis | return false;
|
446 | f533f224 | Vangelis Koukis | });
|
447 | f533f224 | Vangelis Koukis | |
448 | f533f224 | Vangelis Koukis | // intercept click to remove machine from network
|
449 | f533f224 | Vangelis Koukis | $("#networks-pane .action-disconnect").live('click', function() {
|
450 | f533f224 | Vangelis Koukis | var serverID = $(this).parent().parent().attr('id').split('-').pop();
|
451 | f533f224 | Vangelis Koukis | var networkID = $(this).closest('.network').attr('id').split('-').pop();
|
452 | f533f224 | Vangelis Koukis | var found = false;
|
453 | f533f224 | Vangelis Koukis | $(this).parent().children('a').removeClass('selected');
|
454 | f533f224 | Vangelis Koukis | $(this).addClass('selected');
|
455 | f533f224 | Vangelis Koukis | $(this).parent().addClass('display')
|
456 | f533f224 | Vangelis Koukis | $(this).parent().parent().find('.action_error').hide();
|
457 | f533f224 | Vangelis Koukis | for (i=0; i < pending_actions.length; i++){
|
458 | f533f224 | Vangelis Koukis | // if there is already a pending action for this network replace it
|
459 | f533f224 | Vangelis Koukis | if (pending_actions[i][0] == remove_server_from_network &&
|
460 | f533f224 | Vangelis Koukis | pending_actions[i][1] == networkID &&
|
461 | f533f224 | Vangelis Koukis | pending_actions[i][2] == serverID) {
|
462 | f533f224 | Vangelis Koukis | pending_actions[i][0] = remove_server_from_network;
|
463 | f533f224 | Vangelis Koukis | found = true
|
464 | f533f224 | Vangelis Koukis | }
|
465 | f533f224 | Vangelis Koukis | }
|
466 | f533f224 | Vangelis Koukis | if (!found) {
|
467 | f533f224 | Vangelis Koukis | // no pending action for this network was found, so let's just add it to the list
|
468 | f533f224 | Vangelis Koukis | pending_actions.push([remove_server_from_network, networkID, serverID]);
|
469 | f533f224 | Vangelis Koukis | }
|
470 | f533f224 | Vangelis Koukis | update_network_confirmations();
|
471 | f533f224 | Vangelis Koukis | return false;
|
472 | f533f224 | Vangelis Koukis | });
|
473 | f533f224 | Vangelis Koukis | |
474 | f533f224 | Vangelis Koukis | $("#networks-pane .action-details").live('click', function() {
|
475 | f533f224 | Vangelis Koukis | var serverID = $(this).parent().parent().attr('id').split('-').pop();
|
476 | f533f224 | Vangelis Koukis | $.cookie('view', '2');
|
477 | f533f224 | Vangelis Koukis | $.cookie('server', serverID);
|
478 | f533f224 | Vangelis Koukis | $('a#machines').click();
|
479 | f533f224 | Vangelis Koukis | return false
|
480 | f533f224 | Vangelis Koukis | });
|
481 | f533f224 | Vangelis Koukis | |
482 | f533f224 | Vangelis Koukis | // add machines wizard initialization
|
483 | f533f224 | Vangelis Koukis | $(function() {
|
484 | f533f224 | Vangelis Koukis | // create wizard overlay
|
485 | f533f224 | Vangelis Koukis | $("a#add-machines-overlay").overlay({
|
486 | f533f224 | Vangelis Koukis | mask: '#000',
|
487 | f533f224 | Vangelis Koukis | effect: 'default',
|
488 | f533f224 | Vangelis Koukis | top: '10%',
|
489 | f533f224 | Vangelis Koukis | closeOnClick: false,
|
490 | f533f224 | Vangelis Koukis | oneInstance: false,
|
491 | f533f224 | Vangelis Koukis | closeOnEsc: true,
|
492 | f533f224 | Vangelis Koukis | load: false
|
493 | f533f224 | Vangelis Koukis | });
|
494 | f533f224 | Vangelis Koukis | });
|
495 | f533f224 | Vangelis Koukis | |
496 | f533f224 | Vangelis Koukis | // intercept click to add machine to network
|
497 | f533f224 | Vangelis Koukis | $("#networks-pane .action-add").live('click', function() {
|
498 | f533f224 | Vangelis Koukis | // reset pre-existing values
|
499 | f533f224 | Vangelis Koukis | $('#add-server-add').text('{% trans 'Add' %}');
|
500 | f533f224 | Vangelis Koukis | $("#add-machines-wizard .network-name").text($(this).closest('.network').find('.name-div span.name').text());
|
501 | f533f224 | Vangelis Koukis | $("#add-machines-wizard p").text($(this).closest('.network').attr('id').split('-').pop());
|
502 | f533f224 | Vangelis Koukis | $("#add-machines-wizard .large-spinner").show();
|
503 | f533f224 | Vangelis Koukis | $('[id^="list-entry-server-"]').remove();
|
504 | f533f224 | Vangelis Koukis | // list new values
|
505 | f533f224 | Vangelis Koukis | list_machines();
|
506 | f533f224 | Vangelis Koukis | // load wizard
|
507 | f533f224 | Vangelis Koukis | $("#add-machines-wizard").show();
|
508 | f533f224 | Vangelis Koukis | $("a#add-machines-overlay").data('overlay').load();
|
509 | f533f224 | Vangelis Koukis | return false;
|
510 | f533f224 | Vangelis Koukis | });
|
511 | f533f224 | Vangelis Koukis | |
512 | f533f224 | Vangelis Koukis | //submit wizard by pressing enter on the name textbox
|
513 | f533f224 | Vangelis Koukis | $("#networks-wizard div.name-input input.text").keypress(function (e) {
|
514 | f533f224 | Vangelis Koukis | if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
|
515 | f533f224 | Vangelis Koukis | $('#add-network-create').click();
|
516 | f533f224 | Vangelis Koukis | return false;
|
517 | f533f224 | Vangelis Koukis | } else {
|
518 | f533f224 | Vangelis Koukis | return true;
|
519 | f533f224 | Vangelis Koukis | }
|
520 | f533f224 | Vangelis Koukis | });
|
521 | f533f224 | Vangelis Koukis | |
522 | f533f224 | Vangelis Koukis | // intercept click to bring up the add machine to network wizard
|
523 | f533f224 | Vangelis Koukis | $("#networks-pane .add-icon").live('click', function() {
|
524 | f533f224 | Vangelis Koukis | $(this).closest('.network').find('.action-add').click();
|
525 | f533f224 | Vangelis Koukis | });
|
526 | f533f224 | Vangelis Koukis | |
527 | f533f224 | Vangelis Koukis | // get machines in public network and list them in add server to network wizard
|
528 | f533f224 | Vangelis Koukis | function list_machines() {
|
529 | f533f224 | Vangelis Koukis | var networkID = $("#add-machines-wizard p").text();
|
530 | f533f224 | Vangelis Koukis | // get the list of servers from the UI
|
531 | f533f224 | Vangelis Koukis | var all_machines = $("#networks-pane .public-networks .network-machine");
|
532 | f533f224 | Vangelis Koukis | |
533 | f533f224 | Vangelis Koukis | $.each(all_machines, function(i, machine) {
|
534 | f533f224 | Vangelis Koukis | var currentID = machine.id.split('-').pop();
|
535 | f533f224 | Vangelis Koukis | // if machine already exists in private network
|
536 | f533f224 | Vangelis Koukis | if ( $('#net-' + networkID + '-server-' + currentID).length > 0 ) {
|
537 | f533f224 | Vangelis Koukis | // do nothing
|
538 | f533f224 | Vangelis Koukis | } else {
|
539 | f533f224 | Vangelis Koukis | // put it in the list
|
540 | f533f224 | Vangelis Koukis | var entry = $("#add-machines-wizard #machine-entry-template").clone().attr("id", "list-entry-server-" + currentID);
|
541 | f533f224 | Vangelis Koukis | entry.find('input').attr("name", currentID);
|
542 | 0a5c4b4d | Markos Gogoulos | entry.find('img').attr('src', 'static/icons/machines/small/' + $(machine).find('img.logo').attr('src').split('/').pop());
|
543 | f533f224 | Vangelis Koukis | entry.find('.machine-name').text($(machine).find('span.name').text());
|
544 | f533f224 | Vangelis Koukis | entry.appendTo("#add-machines-wizard .machines-container");
|
545 | f533f224 | Vangelis Koukis | }
|
546 | f533f224 | Vangelis Koukis | });
|
547 | f533f224 | Vangelis Koukis | $("#add-machines-wizard .large-spinner").hide();
|
548 | f533f224 | Vangelis Koukis | $('[id^="list-entry-server-"]').fadeIn("slow");
|
549 | f533f224 | Vangelis Koukis | return false;
|
550 | f533f224 | Vangelis Koukis | }
|
551 | f533f224 | Vangelis Koukis | |
552 | f533f224 | Vangelis Koukis | // exit the add machine to network wizard
|
553 | f533f224 | Vangelis Koukis | $("#add-server-cancel").live('click', function() {
|
554 | f533f224 | Vangelis Koukis | $("a#add-machines-overlay").overlay().close();
|
555 | f533f224 | Vangelis Koukis | });
|
556 | f533f224 | Vangelis Koukis | |
557 | f533f224 | Vangelis Koukis | // add selected machines to network
|
558 | f533f224 | Vangelis Koukis | $("#add-server-add").live('click', function() {
|
559 | f533f224 | Vangelis Koukis | var selections = $("#add-machines-wizard :checkbox:checked");
|
560 | f533f224 | Vangelis Koukis | var networkID = $("#add-machines-wizard p").text();
|
561 | f533f224 | Vangelis Koukis | var serverIDs = [];
|
562 | f533f224 | Vangelis Koukis | $.each(selections, function(i, selection) {
|
563 | f533f224 | Vangelis Koukis | serverIDs.push(selection.name);
|
564 | f533f224 | Vangelis Koukis | });
|
565 | f533f224 | Vangelis Koukis | $(this).text('');
|
566 | f533f224 | Vangelis Koukis | add_server_to_network(networkID, serverIDs);
|
567 | 0a5c4b4d | Markos Gogoulos | $(this).html('<img src="static/icons/indicators/medium/horizontal-progress.gif"></img>');
|
568 | f533f224 | Vangelis Koukis | return false;
|
569 | f533f224 | Vangelis Koukis | });
|
570 | f533f224 | Vangelis Koukis | |
571 | f533f224 | Vangelis Koukis | // toggle component with class firewall-contents
|
572 | f533f224 | Vangelis Koukis | $("#networks-pane .show-firewall").live('click', function() {
|
573 | b1272faa | Mike Muzurakis | $(this).parent().next(".firewall-content").slideToggle(600);
|
574 | 38bb6c34 | Mike Muzurakis | return false;
|
575 | b1272faa | Mike Muzurakis | });
|
576 | b1272faa | Mike Muzurakis | |
577 | b1272faa | Mike Muzurakis | //hide firewall content on apply click
|
578 | f533f224 | Vangelis Koukis | $("#networks-pane .firewall-apply").live('click', function() {
|
579 | b1272faa | Mike Muzurakis | $(this).parent().slideToggle(600);
|
580 | f533f224 | Vangelis Koukis | return false;
|
581 | f533f224 | Vangelis Koukis | });
|
582 | f533f224 | Vangelis Koukis | |
583 | f533f224 | Vangelis Koukis | // confirm single action
|
584 | f533f224 | Vangelis Koukis | $("#networks-pane div.confirm_single .yes").live('click', function() {
|
585 | f533f224 | Vangelis Koukis | // this works both for server and network actions
|
586 | f533f224 | Vangelis Koukis | var serverID = [];
|
587 | f533f224 | Vangelis Koukis | if ($(this).closest('.network-machine').attr('id')) {
|
588 | f533f224 | Vangelis Koukis | serverID = $(this).closest('.network-machine').attr('id').split('-').pop();
|
589 | f533f224 | Vangelis Koukis | }
|
590 | f533f224 | Vangelis Koukis | var networkID = $(this).closest('.network').attr("id").split('-').pop();
|
591 | f533f224 | Vangelis Koukis | // execute actions
|
592 | f533f224 | Vangelis Koukis | for (i=0;i<pending_actions.length;i++){
|
593 | f533f224 | Vangelis Koukis | // if there is a pending action for this server execute it
|
594 | f533f224 | Vangelis Koukis | if (pending_actions[i][0] == delete_network &&
|
595 | f533f224 | Vangelis Koukis | pending_actions[i][1] == networkID){
|
596 | f533f224 | Vangelis Koukis | action = pending_actions.splice(i,1)[0];
|
597 | f533f224 | Vangelis Koukis | $(this).parent().parent().find('.status').text(TRANSITIONS['Destroying']);
|
598 | f533f224 | Vangelis Koukis | $(this).parent().parent().find('.spinner').show();
|
599 | f533f224 | Vangelis Koukis | action[0]([action[1]]); // execute action
|
600 | f533f224 | Vangelis Koukis | } else if ( pending_actions[i][0] == remove_server_from_network &&
|
601 | f533f224 | Vangelis Koukis | pending_actions[i][1] == networkID &&
|
602 | f533f224 | Vangelis Koukis | pending_actions[i][2] == serverID) {
|
603 | f533f224 | Vangelis Koukis | action = pending_actions.splice(i,1)[0];
|
604 | f533f224 | Vangelis Koukis | action[0]([action[1]], [action[2]]); // execute action
|
605 | f533f224 | Vangelis Koukis | }
|
606 | f533f224 | Vangelis Koukis | }
|
607 | f533f224 | Vangelis Koukis | $(this).parent().hide();
|
608 | f533f224 | Vangelis Koukis | $(this).parent().prev().children('a').removeClass('selected');
|
609 | f533f224 | Vangelis Koukis | $(this).parent().prev().removeClass('display');
|
610 | f533f224 | Vangelis Koukis | update_network_confirmations();
|
611 | f533f224 | Vangelis Koukis | return false;
|
612 | f533f224 | Vangelis Koukis | });
|
613 | f533f224 | Vangelis Koukis | |
614 | f533f224 | Vangelis Koukis | // cancel single action
|
615 | f533f224 | Vangelis Koukis | $("#networks-pane div.confirm_single .no").live('click', function(){
|
616 | f533f224 | Vangelis Koukis | // this works both for server and network actions
|
617 | f533f224 | Vangelis Koukis | var serverID = [];
|
618 | f533f224 | Vangelis Koukis | if ($(this).closest('.network-machine').attr('id')) {
|
619 | f533f224 | Vangelis Koukis | serverID = $(this).closest('.network-machine').attr('id').split('-').pop();
|
620 | f533f224 | Vangelis Koukis | }
|
621 | f533f224 | Vangelis Koukis | var networkID = $(this).closest('.network').attr("id").split('-').pop();
|
622 | f533f224 | Vangelis Koukis | // remove the action from the pending list
|
623 | f533f224 | Vangelis Koukis | $(this).parent().prev().children('a').removeClass('selected');
|
624 | f533f224 | Vangelis Koukis | $(this).parent().prev().removeClass('display');
|
625 | f533f224 | Vangelis Koukis | for (i=0; i < pending_actions.length; i++){ // if there is a pending action for this network remove it
|
626 | f533f224 | Vangelis Koukis | if (pending_actions[i][0] == delete_network && pending_actions[i][1] == networkID){
|
627 | f533f224 | Vangelis Koukis | pending_actions.splice(i,1);
|
628 | f533f224 | Vangelis Koukis | } else if ( pending_actions[i][0] == remove_server_from_network &&
|
629 | f533f224 | Vangelis Koukis | pending_actions[i][1] == networkID &&
|
630 | f533f224 | Vangelis Koukis | pending_actions[i][2] == serverID) {
|
631 | f533f224 | Vangelis Koukis | pending_actions.splice(i,1);
|
632 | f533f224 | Vangelis Koukis | }
|
633 | f533f224 | Vangelis Koukis | }
|
634 | f533f224 | Vangelis Koukis | $(this).parent().hide();
|
635 | f533f224 | Vangelis Koukis | update_network_confirmations();
|
636 | f533f224 | Vangelis Koukis | return false;
|
637 | f533f224 | Vangelis Koukis | });
|
638 | f533f224 | Vangelis Koukis | |
639 | f533f224 | Vangelis Koukis | // show, single action, error details
|
640 | f533f224 | Vangelis Koukis | $("#networks-pane div.action_error .details").live('click', function(){
|
641 | f533f224 | Vangelis Koukis | // remove the action from the pending list
|
642 | f533f224 | Vangelis Koukis | ajax_error($(this).parent().children('.code').text(),
|
643 | f533f224 | Vangelis Koukis | undefined,
|
644 | f533f224 | Vangelis Koukis | $(this).parent().children('.action').text(),
|
645 | f533f224 | Vangelis Koukis | $(this).parent().children('.message').text());
|
646 | f533f224 | Vangelis Koukis | $(this).parent().hide();
|
647 | f533f224 | Vangelis Koukis | return false;
|
648 | f533f224 | Vangelis Koukis | });
|
649 | f533f224 | Vangelis Koukis | |
650 | f533f224 | Vangelis Koukis | // confirm all actions
|
651 | f533f224 | Vangelis Koukis | $("#networks-pane div.confirm_multiple .yes").live('click', function(){
|
652 | f533f224 | Vangelis Koukis | while(pending_actions.length > 0){ // if there is a pending action for this network execute it
|
653 | f533f224 | Vangelis Koukis | action = pending_actions.pop(); // extract action
|
654 | f533f224 | Vangelis Koukis | var networkID = action[1];
|
655 | f533f224 | Vangelis Koukis | $('#networks-pane .selected').removeClass('selected');
|
656 | f533f224 | Vangelis Koukis | $('#networks-pane .display').removeClass('display');
|
657 | f533f224 | Vangelis Koukis | if (action[0] == delete_network) {
|
658 | f533f224 | Vangelis Koukis | $('#networks-pane #net-' + networkID + ' .status').text(TRANSITIONS['Destroying']);
|
659 | f533f224 | Vangelis Koukis | $('#networks-pane #net-' + networkID + ' .spinner').show();
|
660 | f533f224 | Vangelis Koukis | action[0]([networkID]); // execute action
|
661 | f533f224 | Vangelis Koukis | } else if (action[0] == remove_server_from_network) {
|
662 | f533f224 | Vangelis Koukis | action[0]([action[1]], [action[2]]); // execute action
|
663 | f533f224 | Vangelis Koukis | }
|
664 | f533f224 | Vangelis Koukis | }
|
665 | f533f224 | Vangelis Koukis | update_network_confirmations();
|
666 | f533f224 | Vangelis Koukis | return false;
|
667 | f533f224 | Vangelis Koukis | });
|
668 | f533f224 | Vangelis Koukis | |
669 | f533f224 | Vangelis Koukis | // cancel all actions
|
670 | f533f224 | Vangelis Koukis | $("#networks-pane div.confirm_multiple .no").live('click', function(){
|
671 | f533f224 | Vangelis Koukis | pending_actions = [];
|
672 | f533f224 | Vangelis Koukis | $('#networks-pane .selected').removeClass('selected');
|
673 | f533f224 | Vangelis Koukis | $('#networks-pane .display').removeClass('display');
|
674 | f533f224 | Vangelis Koukis | update_network_confirmations();
|
675 | f533f224 | Vangelis Koukis | return false;
|
676 | f533f224 | Vangelis Koukis | });
|
677 | f533f224 | Vangelis Koukis | |
678 | f533f224 | Vangelis Koukis | // update the networks list
|
679 | f533f224 | Vangelis Koukis | function update_networks_view(servers_data, networks_data){
|
680 | f533f224 | Vangelis Koukis | /*
|
681 | f533f224 | Vangelis Koukis | Go through the input data. Update existing entries, add
|
682 | f533f224 | Vangelis Koukis | new ones to the list
|
683 | f533f224 | Vangelis Koukis | */
|
684 | f533f224 | Vangelis Koukis | |
685 | f533f224 | Vangelis Koukis | // check for changes in networks
|
686 | f533f224 | Vangelis Koukis | if (networks_data){
|
687 | f533f224 | Vangelis Koukis | /*
|
688 | f533f224 | Vangelis Koukis | Here we are interested in private networks only
|
689 | f533f224 | Vangelis Koukis | and not for any server they might contain
|
690 | f533f224 | Vangelis Koukis | */
|
691 | f533f224 | Vangelis Koukis | |
692 | f533f224 | Vangelis Koukis | // update private networks
|
693 | f533f224 | Vangelis Koukis | $.each(networks_data.networks.values, function(i,network) {
|
694 | f533f224 | Vangelis Koukis | // search DOM for this network
|
695 | f533f224 | Vangelis Koukis | existing = $('#networks-pane #net-' + network.id);
|
696 | f533f224 | Vangelis Koukis | |
697 | f533f224 | Vangelis Koukis | // if multiple machines exist in the DOM, delete all but one
|
698 | f533f224 | Vangelis Koukis | // defensive coding - that shouldn't happen normally
|
699 | f533f224 | Vangelis Koukis | while (existing.length > 1){
|
700 | f533f224 | Vangelis Koukis | existing.remove();
|
701 | f533f224 | Vangelis Koukis | }
|
702 | f533f224 | Vangelis Koukis | // If network already exists in DOM, update it
|
703 | f533f224 | Vangelis Koukis | if (existing.length){
|
704 | f533f224 | Vangelis Koukis | // network was deleted
|
705 | f533f224 | Vangelis Koukis | if (network.status == 'DELETED') {
|
706 | f533f224 | Vangelis Koukis | existing.remove();
|
707 | f533f224 | Vangelis Koukis | }
|
708 | f533f224 | Vangelis Koukis | |
709 | f533f224 | Vangelis Koukis | // network was renamed
|
710 | f533f224 | Vangelis Koukis | if (existing.find('.name-div span.name').text() != network.name) {
|
711 | f533f224 | Vangelis Koukis | // set the new name
|
712 | f533f224 | Vangelis Koukis | existing.find('.name-div span.name').text(network.name);
|
713 | f533f224 | Vangelis Koukis | }
|
714 | f533f224 | Vangelis Koukis | }
|
715 | f533f224 | Vangelis Koukis | // If network does not exist in DOM, create it, do not take into account public network
|
716 | f533f224 | Vangelis Koukis | else if (network.id != 'public'){
|
717 | f533f224 | Vangelis Koukis | var privNet = $("#networks-pane #private-template").clone().attr("id", "net-" + network.id);
|
718 | f533f224 | Vangelis Koukis | privNet.find(".name-div span.name").text(network.name).fadeIn("slow");
|
719 | f533f224 | Vangelis Koukis | privNet.appendTo("#networks-pane .private-networks");
|
720 | f533f224 | Vangelis Koukis | }
|
721 | f533f224 | Vangelis Koukis | });
|
722 | f533f224 | Vangelis Koukis | }
|
723 | f533f224 | Vangelis Koukis | |
724 | f533f224 | Vangelis Koukis | // check for changes in servers
|
725 | f533f224 | Vangelis Koukis | if (servers_data) {
|
726 | f533f224 | Vangelis Koukis | /*
|
727 | f533f224 | Vangelis Koukis | Here we are interested in any server contained
|
728 | f533f224 | Vangelis Koukis | either in a public network or a private one
|
729 | f533f224 | Vangelis Koukis | */
|
730 | f533f224 | Vangelis Koukis | $.each(servers_data.servers.values, function(i,server) {
|
731 | f533f224 | Vangelis Koukis | /*
|
732 | f533f224 | Vangelis Koukis | First update the public network
|
733 | f533f224 | Vangelis Koukis | */
|
734 | f533f224 | Vangelis Koukis | |
735 | f533f224 | Vangelis Koukis | // search public network's DOM for this server
|
736 | f533f224 | Vangelis Koukis | existing_public = $('#networks-pane #net-pub-server-' + server.id);
|
737 | f533f224 | Vangelis Koukis | // get the server's OS icon
|
738 | f533f224 | Vangelis Koukis | var server_image = os_icon(server.metadata);
|
739 | f533f224 | Vangelis Koukis | |
740 | f533f224 | Vangelis Koukis | // if multiple servers exist in public network, delete all but one
|
741 | f533f224 | Vangelis Koukis | // defensive coding - that shouldn't happen normally
|
742 | f533f224 | Vangelis Koukis | while (existing_public.length > 1){
|
743 | f533f224 | Vangelis Koukis | existing_public.remove();
|
744 | f533f224 | Vangelis Koukis | }
|
745 | f533f224 | Vangelis Koukis | |
746 | f533f224 | Vangelis Koukis | // server was deleted
|
747 | f533f224 | Vangelis Koukis | if (server.status == 'DELETED') {
|
748 | f533f224 | Vangelis Koukis | existing_public.remove();
|
749 | f533f224 | Vangelis Koukis | }
|
750 | f533f224 | Vangelis Koukis | |
751 | f533f224 | Vangelis Koukis | // If server already exists in public network, update it
|
752 | f533f224 | Vangelis Koukis | if (existing_public.length){
|
753 | f533f224 | Vangelis Koukis | // server was renamed
|
754 | f533f224 | Vangelis Koukis | if (server.name != existing_public.find('span.name').text()) {
|
755 | f533f224 | Vangelis Koukis | existing_public.find('span.name').text(server.name);
|
756 | f533f224 | Vangelis Koukis | }
|
757 | f533f224 | Vangelis Koukis | // server has changed state
|
758 | f533f224 | Vangelis Koukis | if (server.status=='BUILD' || server.status=='ACTIVE' ||server.status=='REBOOT') {
|
759 | f533f224 | Vangelis Koukis | existing_public.find("img.logo").attr("src","static/icons/machines/medium/" + server_image + '-on.png');
|
760 | f533f224 | Vangelis Koukis | } else {
|
761 | f533f224 | Vangelis Koukis | existing_public.find("img.logo").attr("src","static/icons/machines/medium/" + server_image + '-off.png');
|
762 | f533f224 | Vangelis Koukis | }
|
763 | f533f224 | Vangelis Koukis | // server has new ips
|
764 | f533f224 | Vangelis Koukis | var old_ip4 = existing_public.find('span.ip4').text();
|
765 | f533f224 | Vangelis Koukis | var old_ip6 = existing_public.find('span.ip6').text();
|
766 | f533f224 | Vangelis Koukis | // the following are valid because the public ips always come in this order from the api
|
767 | f533f224 | Vangelis Koukis | var new_ips = get_public_ips(server);
|
768 | f533f224 | Vangelis Koukis | var new_ip4 = new_ips['ip4'];
|
769 | f533f224 | Vangelis Koukis | var new_ip6 = new_ips['ip6'];
|
770 | f533f224 | Vangelis Koukis | if (old_ip4 != new_ip4) {
|
771 | f533f224 | Vangelis Koukis | if (new_ips['ip4'] == undefined) {
|
772 | f533f224 | Vangelis Koukis | existing_public.find(".ip4-container").hide();
|
773 | f533f224 | Vangelis Koukis | } else {
|
774 | f533f224 | Vangelis Koukis | existing_public.find('span.ip4').text(new_ip4);
|
775 | f533f224 | Vangelis Koukis | }
|
776 | f533f224 | Vangelis Koukis | }
|
777 | f533f224 | Vangelis Koukis | if (old_ip6 != new_ip6) {
|
778 | f533f224 | Vangelis Koukis | if (new_ip6 == undefined) {
|
779 | f533f224 | Vangelis Koukis | existing_public.find(".ip6-container").hide();
|
780 | f533f224 | Vangelis Koukis | } else {
|
781 | f533f224 | Vangelis Koukis | existing_public.find('span.ip6').text(new_ip6);
|
782 | f533f224 | Vangelis Koukis | }
|
783 | f533f224 | Vangelis Koukis | }
|
784 | f533f224 | Vangelis Koukis | //TODO: server has changed OS
|
785 | f533f224 | Vangelis Koukis | }
|
786 | f533f224 | Vangelis Koukis | // If server does not exist in public network, create it
|
787 | f533f224 | Vangelis Koukis | else {
|
788 | f533f224 | Vangelis Koukis | var machine = $("#networks-pane #public-machine-template").clone().attr("id", "net-pub-server-" + server.id).fadeIn("slow");
|
789 | f533f224 | Vangelis Koukis | machine.find('span.name').text(server.name);
|
790 | f533f224 | Vangelis Koukis | // find and display ips
|
791 | f533f224 | Vangelis Koukis | var ips = get_public_ips(server);
|
792 | f533f224 | Vangelis Koukis | if (ips['ip4'] == undefined) {
|
793 | f533f224 | Vangelis Koukis | machine.find(".ip4-container").hide();
|
794 | f533f224 | Vangelis Koukis | } else {
|
795 | f533f224 | Vangelis Koukis | machine.find("span.ip4").text(ips['ip4']);
|
796 | f533f224 | Vangelis Koukis | }
|
797 | f533f224 | Vangelis Koukis | if (ips['ip6'] == undefined) {
|
798 | f533f224 | Vangelis Koukis | machine.find(".ip6-container").hide();
|
799 | f533f224 | Vangelis Koukis | } else {
|
800 | f533f224 | Vangelis Koukis | machine.find("span.ip6").text(ips['ip6']);
|
801 | f533f224 | Vangelis Koukis | }
|
802 | f533f224 | Vangelis Koukis | // add the proper icon
|
803 | f533f224 | Vangelis Koukis | if (server.status=='BUILD' || server.status=='ACTIVE' ||server.status=='REBOOT') {
|
804 | f533f224 | Vangelis Koukis | machine.find("img.logo").attr("src","static/icons/machines/medium/" + server_image + '-on.png');
|
805 | f533f224 | Vangelis Koukis | } else {
|
806 | f533f224 | Vangelis Koukis | machine.find("img.logo").attr("src","static/icons/machines/medium/" + server_image + '-off.png');
|
807 | f533f224 | Vangelis Koukis | }
|
808 | f533f224 | Vangelis Koukis | machine.appendTo("#networks-pane .public-networks .machines-list");
|
809 | f533f224 | Vangelis Koukis | }
|
810 | f533f224 | Vangelis Koukis | /*
|
811 | f533f224 | Vangelis Koukis | Now update all private networks
|
812 | f533f224 | Vangelis Koukis | Since one server may belong to more than one private networks,
|
813 | f533f224 | Vangelis Koukis | we follow a different approach.
|
814 | f533f224 | Vangelis Koukis | We check each server and add, update or leave it as it is accordingly
|
815 | f533f224 | Vangelis Koukis | */
|
816 | f533f224 | Vangelis Koukis | try {
|
817 | f533f224 | Vangelis Koukis | $.each(server.addresses.values, function(i,server_net) {
|
818 | f533f224 | Vangelis Koukis | // find in which private networks it belongs
|
819 | f533f224 | Vangelis Koukis | if (server_net.id != "public") {
|
820 | f533f224 | Vangelis Koukis | var existing_private = $("#networks-pane .private-networks #net-" + server_net.id + "-server-" + server.id);
|
821 | f533f224 | Vangelis Koukis | // add new server
|
822 | f533f224 | Vangelis Koukis | if (!existing_private.length) {
|
823 | f533f224 | Vangelis Koukis | var machine = $("#networks-pane #private-machine-template").clone().attr("id", "net-" + server_net.id + "-server-" + server.id).fadeIn("slow");
|
824 | f533f224 | Vangelis Koukis | machine.find('span.name').text(server.name);
|
825 | f533f224 | Vangelis Koukis | if (server.status=='BUILD' || server.status=='ACTIVE' ||server.status=='REBOOT') {
|
826 | f533f224 | Vangelis Koukis | machine.find("img.logo").attr("src","static/icons/machines/medium/" + server_image + '-on.png');
|
827 | f533f224 | Vangelis Koukis | } else {
|
828 | f533f224 | Vangelis Koukis | machine.find("img.logo").attr("src","static/icons/machines/medium/" + server_image + '-off.png');
|
829 | f533f224 | Vangelis Koukis | }
|
830 | f533f224 | Vangelis Koukis | machine.appendTo("#networks-pane .private-networks #net-" + server_net.id + " .machines-list");
|
831 | f533f224 | Vangelis Koukis | }
|
832 | f533f224 | Vangelis Koukis | // server was deleted
|
833 | f533f224 | Vangelis Koukis | if (server.status == 'DELETED') {
|
834 | f533f224 | Vangelis Koukis | existing_private.remove();
|
835 | f533f224 | Vangelis Koukis | }
|
836 | f533f224 | Vangelis Koukis | // server was renamed
|
837 | f533f224 | Vangelis Koukis | if (server.name != existing_private.find('span.name').text()) {
|
838 | f533f224 | Vangelis Koukis | existing_private.find('span.name').text(server.name);
|
839 | f533f224 | Vangelis Koukis | }
|
840 | f533f224 | Vangelis Koukis | // server has changed state
|
841 | f533f224 | Vangelis Koukis | if (server.status=='BUILD' || server.status=='ACTIVE' ||server.status=='REBOOT') {
|
842 | f533f224 | Vangelis Koukis | existing_private.find("img.logo").attr("src","static/icons/machines/medium/" + server_image + '-on.png');
|
843 | f533f224 | Vangelis Koukis | } else {
|
844 | f533f224 | Vangelis Koukis | existing_private.find("img.logo").attr("src","static/icons/machines/medium/" + server_image + '-off.png');
|
845 | f533f224 | Vangelis Koukis | }
|
846 | f533f224 | Vangelis Koukis | //TODO: server has changed OS
|
847 | f533f224 | Vangelis Koukis | }
|
848 | f533f224 | Vangelis Koukis | });
|
849 | f533f224 | Vangelis Koukis | } catch (err) {
|
850 | f533f224 | Vangelis Koukis | try{console.info('Server ' + server.id + ' has no network addresses')}catch(err){};
|
851 | f533f224 | Vangelis Koukis | }
|
852 | f533f224 | Vangelis Koukis | });
|
853 | f533f224 | Vangelis Koukis | }
|
854 | f533f224 | Vangelis Koukis | |
855 | f533f224 | Vangelis Koukis | $("#networks-pane #networks-container > .large-spinner").hide();
|
856 | f533f224 | Vangelis Koukis | |
857 | f533f224 | Vangelis Koukis | // show all separators and hide the last one
|
858 | f533f224 | Vangelis Koukis | $("div.private-networks div.network div.separator").show();
|
859 | f533f224 | Vangelis Koukis | $("div.private-networks div.network div.separator:last").hide();
|
860 | f533f224 | Vangelis Koukis | // update the counters of servers in each network
|
861 | f533f224 | Vangelis Koukis | var nets = $('#networks-pane .network');
|
862 | f533f224 | Vangelis Koukis | $.each(nets, function(i,net) {
|
863 | f533f224 | Vangelis Koukis | $(net).find('span.machines-count').text($(net).find('.network-machine').length);
|
864 | f533f224 | Vangelis Koukis | });
|
865 | f533f224 | Vangelis Koukis | |
866 | f533f224 | Vangelis Koukis | // the private div shows only when private networks are available
|
867 | f533f224 | Vangelis Koukis | if ($("div.private-networks div.network").length > 0) {
|
868 | f533f224 | Vangelis Koukis | $("div.private-networks").fadeIn("slow");
|
869 | f533f224 | Vangelis Koukis | } else {
|
870 | f533f224 | Vangelis Koukis | $("div.private-networks").fadeOut("slow");
|
871 | f533f224 | Vangelis Koukis | }
|
872 | 77d4b76f | Christodoulos Psaltis | |
873 | 38d06ee0 | Dimitris Moraitis | // tag the last seperator for better styling
|
874 | eb40af65 | Dimitris Moraitis | $("#pub .network-machine").removeClass('last');
|
875 | eb40af65 | Dimitris Moraitis | $("#pub .network-machine").last().addClass('last');
|
876 | f533f224 | Vangelis Koukis | }
|
877 | f533f224 | Vangelis Koukis | |
878 | f533f224 | Vangelis Koukis | // reposition multiple confirmation box on window resize
|
879 | f533f224 | Vangelis Koukis | $(window).resize(function(){
|
880 | f533f224 | Vangelis Koukis | if (this.innerHeight - 220 < $('#networks-pane #networks-container').height())
|
881 | f533f224 | Vangelis Koukis | $('#networks-pane .confirm_multiple').addClass('fixed');
|
882 | f533f224 | Vangelis Koukis | else
|
883 | f533f224 | Vangelis Koukis | $('#networks-pane .confirm_multiple').removeClass('fixed');
|
884 | b1272faa | Mike Muzurakis | });
|
885 | f533f224 | Vangelis Koukis | |
886 | f533f224 | Vangelis Koukis | // basic functions executed on page load
|
887 | f533f224 | Vangelis Koukis | // hide the all of the networks contents
|
888 | f533f224 | Vangelis Koukis | $("#networks-pane .network-contents").hide();
|
889 | f533f224 | Vangelis Koukis | // hide the all of the firewall contents
|
890 | f533f224 | Vangelis Koukis | $("#networks-pane .firewall-content").hide();
|
891 | f533f224 | Vangelis Koukis | changes_since = 0; // to reload full list of servers
|
892 | f533f224 | Vangelis Koukis | networks_changes_since= 0; // to reload full list of networks
|
893 | f533f224 | Vangelis Koukis | // there is alway one public network to render
|
894 | f533f224 | Vangelis Koukis | var pubNet = $("#networks-pane #public-template").clone().attr("id", "pub").fadeIn("slow");
|
895 | f533f224 | Vangelis Koukis | pubNet.appendTo("#networks-pane .public-networks");
|
896 | f533f224 | Vangelis Koukis | update_networks(UPDATE_INTERVAL);
|
897 | f533f224 | Vangelis Koukis | |
898 | 6f547d12 | Mike Muzurakis | </script> |