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