Free cookie consent management tool by TermsFeed Policy Generator

source: branches/WebJobManager/HeuristicLab.Clients.Hive.WebJobManager/Views/Resource/Index.cshtml @ 14792

Last change on this file since 14792 was 13860, checked in by jlodewyc, 9 years ago

#2582 RC2 migration fixed. OKB query implemented. Preparing for OKB manager

File size: 30.4 KB
Line 
1@model HeuristicLab.Clients.Hive.WebJobManager.Models.HiveWebUser
2<div ng-app="wjm" ng-controller="resourceCtrl" data-ng-init="init()" class="animated fadeIn">
3    <div id="userId" style="display:none">@ViewBag.SessionId</div>
4
5    @Html.Partial("Navbar", new HeuristicLab.Clients.Hive.WebJobManager.ViewModels.NavbarViewModel("Resource", Model))
6
7
8
9    <div class="col-sm-4">
10        <div class="btn-group btn-group-justified" style="padding:3px;margin-bottom:-12px"
11             role="group">
12            <a class="btn btn-info btn-lg btn-block disabled"
13               style="width:6%; box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
14                            text-shadow:2px 2px black;">
15                <i class="fa fa-sitemap"></i> Resource groups
16            </a>
17            <div class="btn btn-block btn-success"
18                 style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
19                            text-shadow:2px 2px black;"
20                 ng-click="clearTreeSelect()"><i class="fa fa-plus-circle"></i></div>
21        </div>
22        <div ng-if="tree === undefined"
23             class="animated jello infinite"
24             style="margin-top:200px; text-align:center">
25            <i class="fa fa-3x fa-hourglass-half fa-spin"></i>
26        </div>
27        <div
28             style=""
29             class="animated"
30             data-angular-treeview="true"
31             data-tree-id="treeview"
32             data-tree-model="tree"
33             data-node-id="Id"
34             data-node-label="Name"
35             data-node-children="children"
36             ng-class="{'fadeIn' : tree}">
37        </div>
38    </div>
39    <div ng-if="treeview.currentNode && treeview.currentNode.Id !== undefined" class="col-sm-8 panel  panel-primary" style="margin-bottom:200px">
40        <div class="row panel-heading"
41             style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
42                            text-shadow:2px 2px black;">
43            <h3>
44                {{treeview.currentNode.Name}}
45                <span ng-if="treeview.currentNode.IsDisposable === undefined"> - Resource group</span>
46                <a ng-if="treeview.currentNode.IsDisposable !== undefined"
47                   class="btn pull-right"
48                   style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
49                            text-shadow:2px 2px black;font-weight:bold;margin-bottom:5px;"
50                   ng-class="{ 'btn-success': treeview.currentNode.IsDisposable, 'btn-warning': !treeview.currentNode.IsDisposable }"
51                   ng-click="toggleDisposable()">
52                    <span ng-if="calendarDispose"><i class="fa fa-save fa-spin"></i> </span> {{ treeview.currentNode.IsDisposable | disp}}
53                </a>
54            </h3>
55            <ul class="nav nav-pills nav-justified">
56                <li role="presentation"
57                    ng-class="{ 'active': !permissionview && !resaddview }"
58                    ng-style="{ 'text-decoration': !permissionview && !resaddview ? 'underline' : ''}">
59                    <a style="text-shadow:2px 2px black; color:white; font-weight:bold; border: 1px solid white;"
60                       href=""
61                       ng-click="menuchange(0)">
62                        Resource info
63                    </a>
64                </li>
65                <li role="presentation"
66                    ng-class="{ 'active': permissionview }"
67                    ng-style="{ 'text-decoration': permissionview ? 'underline' : ''}">
68                    <a style="text-shadow:2px 2px black; color:white; font-weight:bold; border:1px solid white;"
69                       href=""
70                       ng-click="menuchange(1)">
71                        Permissions
72                    </a>
73                </li>
74                <li ng-if="treeview.currentNode.IsDisposable === undefined"
75                    role="presentation"
76                    ng-class="{ 'active': resaddview }"
77                    ng-style="{'text-decoration': resaddview ? 'underline' : ''}">
78
79                    <a style="text-shadow:2px 2px black; color:white; font-weight:bold; border: 1px solid white;"
80                       href=""
81                       ng-click="menuchange(2)">
82                        Add resources
83                    </a>
84                </li>
85            </ul>
86            <form ng-show="!permissionview && resaddview"
87                  method="post"
88                  asp-action="addResourcesToGroup"
89                  asp-controller="Resource"
90                  enctype="multipart/form-data"
91                  class="row panel-heading">
92                <div class="row" style="padding:5px;">
93                    <h4>Info</h4>
94                    <p>
95                        This shows only
96                        <span style="text-decoration:underline;">direct members</span>
97                        of the group (not members of subgroups).
98                    </p>
99                    <p><span style="color:lightgray;">Gray clients</span> are already subscribed to another group. White are ungrouped.</p>
100                    <p>Adding a member will overwrite the current group it's a member in (if any)</p>
101                    <p>Removing an existing member will make it revert to Ungrouped.</p>
102                    <a ng-click="refreshAdds()" href=""
103                       class="btn btn-info pull-right"
104                       style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
105                            text-shadow:2px 2px black;">Reset to current members</a>
106                    <div class="row" style="margin:5px;">
107                        <h4>All resources</h4>
108                        <label class="col-sm-3"
109                               ng-style="{
110                                   'background-color':client.add === true ? 'green' : '',
111                               'color':client.ParentResourceId != null ? 'lightgray' : ''}"
112                               ng-repeat="client in clients  | orderBy:['!add', 'Name']  | filter:searchText">
113                            <input
114                                  type="checkbox"
115                                   name="addres"
116                                   value="{{client.Id}}"
117                                   ng-model="client.add"> {{client.Name}}
118                        </label>
119                    </div>
120                </div>
121                <input style="display:none;"
122                       type="text"
123                       id="groupid"
124                       name="groupid"
125                       value="{{treeview.currentNode.Id}}" />
126
127                <button type="submit"
128                        id="inpsaver"
129                        class="btn btn-success pull-right"
130                        style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
131                            text-shadow:2px 2px black;">
132                    <i class="fa fa-save"></i>
133                    Add resources to group
134                </button>
135            </form>
136            <form ng-show="permissionview && !resaddview"
137                  method="post"
138                  enctype="multipart/form-data"
139                  class="row panel-heading">
140                <div class="row" style="padding:10px;">
141                    <h4>Groups</h4>
142                    <label class="col-sm-3" ng-repeat="group in permGroups">
143                        <input type="checkbox"
144                               name="permgroups"
145                               value="{{group.Id}}"
146                               ng-model="group.state"> {{group.Name}}
147                    </label>
148                </div>
149                <div class="row" style="padding:10px;">
150                    <h4>Users</h4>
151                    <label class="col-sm-3 col-lg-2" ng-repeat="user in permUsers">
152                        <input type="checkbox"
153                               name="permusers"
154                               value="{{user.Id}}"
155                               ng-model="user.state"> {{user.UserName}}
156                    </label>
157                </div>
158                <div class="btn btn-success pull-right"
159                     style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
160                            text-shadow:2px 2px black;"
161                     ng-click="pushPermissions()">
162                    <i ng-if="permissionLoader" class="fa fa-spin fa-save"></i>
163                    Save permission changes
164                </div>
165            </form>
166            <form ng-show="!permissionview && !resaddview"
167                  method="post"
168                  asp-action="deleteClientGroup"
169                  ng-init="checkDel = false"
170                  asp-controller="Resource"
171                  enctype="multipart/form-data"
172                  class="row panel-heading"
173                  style="padding:10px;">
174                <table class="table" style="margin-bottom:0;">
175                    <tbody>
176                        <tr>
177                            <td>Heartbeat</td>
178                            <td>
179                                Every {{treeview.currentNode.HbInterval}} sec
180                                <span ng-if="treeview.currentNode.IsDisposable !== undefined">
181                                    - Last beat {{treeview.currentNode.LastHeartbeat | date:'HH:mm dd/MM/yyyy' }}
182                                </span>
183                            </td>
184                        </tr>
185                        <tr>
186                            <td>Name</td>
187                            <td>{{treeview.currentNode.Name}}</td>
188                        </tr>
189                        <tr>
190                            <td>Id</td>
191                            <td>{{treeview.currentNode.Id}}</td>
192                        </tr>
193                        <tr ng-if="treeview.currentNode.IsDisposable === undefined">
194
195                            <td>
196
197                                <input style="display:none;" type="text" id="inpid" name="inpid" value="{{treeview.currentNode.Id}}" />
198                                <input type="checkbox" ng-model="checkDel" /> I want to delete this group
199                            </td>
200                            <td>
201                                <button type="submit"
202                                        id="inpsaver"
203                                        ng-disabled="!checkDel"
204                                        class="btn btn-danger"
205                                        style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
206                            text-shadow:2px 2px black;">
207                                    <i class="fa fa-trash-o"></i>
208                                    Delete group (irriversible action!)
209                                </button>
210
211                            </td>
212
213                        </tr>
214                    </tbody>
215                    <tbody ng-if="treeview.currentNode.IsDisposable !== undefined">
216                        <tr>
217                            <td>Cores (free/total)</td>
218                            <td>{{treeview.currentNode.FreeCores}} / {{treeview.currentNode.Cores}} @@ {{treeview.currentNode.CpuSpeed/1000 | number:1}} GHz</td>
219
220
221                        </tr>
222                        <tr>
223                            <td>Memory (free/total)</td>
224                            <td>{{treeview.currentNode.FreeMemory/1024 | number:1}} / {{treeview.currentNode.Memory/1024 | number:1}} GB</td>
225                        </tr>
226
227                    </tbody>
228                </table>
229            </form>
230            <form method="post" ng-show="!permissionview && !resaddview"
231                  asp-action="changeParent"
232                  asp-controller="Resource"
233                  enctype="multipart/form-data"
234                  class="row"
235                  style="padding:10px;">
236                <input style="display:none;" type="text" id="inpid" name="inpid" value="{{treeview.currentNode.Id}}" />
237
238                <span style="padding:0;" class="col-sm-4">Change group: </span>
239
240                <select class="form-control col-sm-5"
241                        style="width:200px"
242                        id="inpidpar"
243                        name="inpidpar"
244                        ng-model="treeview.currentNode.ParentResourceId">
245                    <option value="">None</option>
246                    <option ng-repeat="group in groups | orderBy:'Name'"
247                            value="{{group.Id}}"
248                            ng-if="group.Id !=treeview.currentNode.Id && group.ParentResourceId != treeview.currentNode.Id">
249                        {{group.Name}}
250                    </option>
251
252                </select>
253                <button type="submit"
254                        id="inpsaver"
255                        class="btn btn-warning col-sm-3 pull-right"
256                        style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
257                            text-shadow:2px 2px black;">
258                    <i class="fa fa-save"></i>
259                    Change group
260                </button>
261            </form>
262        </div>
263        <div class="panel-body row" style="text-align:center">
264
265            <i ng-if="currentcal.length  === 0" class="fa fa-cog fa-5x fa-spin"></i>
266            <div ng-if="currentcal.length != 0"
267                 ui-calendar="uiConfig.calendar"
268                 id="resourcecalendar"
269                 style="font-size:medium;"
270                 class="span8 calendar"
271                 ng-model="currentcal.down"></div>
272            <table ng-if="selectedEventId != -1"
273                   animate-on-change="selectedEventId"
274                   class="table">
275                <tr>
276                    <th> Selected event</th>
277                    <th>
278                        <div class="btn btn-default"
279                             ng-click="goToDate()"
280                             ng-style="{'background-color':currentcal.down[0][selectedEventId].color }"
281                             style="color:white;box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
282                            text-shadow:2px 2px black;font-weight:bold;">
283                            <i class="fa fa-calendar"></i> Go to date
284                        </div>
285                    </th>
286                </tr>
287                <tr>
288                    <td>Time</td>
289                    <td ng-if="!currentcal.down[0][selectedEventId].allDay">
290                        {{currentcal.down[0][selectedEventId].start | date : 'HH:mm dd/MM/yy' : 'utc'}}
291                        <span ng-if="currentcal.down[0][selectedEventId].end">
292                            to {{currentcal.down[0][selectedEventId].end | date : 'HH:mm dd/MM/yy': 'utc'}}
293                        </span>
294                    </td>
295                    <td ng-if="currentcal.down[0][selectedEventId].allDay">
296                        All day {{currentcal.down[0][selectedEventId].start | date : 'dd/MM/yy' : 'utc'}}
297                        <span ng-if="currentcal.down[0][selectedEventId].end">
298                            to {{currentcal.down[0][selectedEventId].end | date : 'dd/MM/yy': 'utc'}}
299                        </span>
300                    </td>
301                </tr>
302                <tr>
303                    <td>Status</td>
304                    <td>
305                        <select class="content-select" ng-model="currentcal.down[0][selectedEventId].title" ng-change="setChanged(selectedEventId)">
306                            <option value="Unavailable">Unavailable</option>
307                            <option value="Shutdown">Shutdown command</option>
308                        </select>
309                    </td>
310                </tr>
311                <tr>
312                    <td>Recurrence</td>
313                    <td>
314                        <input type="checkbox" class="checkbox" ng-model="currentcal.down[0][selectedEventId].rec.recurrence" ng-change="setChanged(selectedEventId)" />
315                        <p ng-if="currentcal.down[0][selectedEventId].changed && currentcal.down[0][selectedEventId].rec.recurrence" style="color:darkred; font-weight:bold;">
316                            The recurrence itself will be made during saving, settings can be changed here.
317                        </p>
318                    </td>
319                </tr>
320                <tr ng-if="currentcal.down[0][selectedEventId].rec.recurrence">
321                    <td>
322                        Start
323                    </td>
324                    <td>
325                        <input type="date"
326                               ng-model="currentcal.down[0][selectedEventId].rec.start"
327                               ng-change="checkDateStartEnd()" />
328                    </td>
329                </tr>
330                <tr ng-if="currentcal.down[0][selectedEventId].rec.recurrence">
331                    <td>
332                        End
333                    </td>
334                    <td>
335                        <input type="date"
336                               ng-model="currentcal.down[0][selectedEventId].rec.end"
337                               ng-change="checkDateStartEnd()"
338                               min="{{currentcal.down[0][selectedEventId].rec.start | date:'yyyy-MM-dd'}}" />
339                    </td>
340                </tr>
341
342                <tr ng-if="currentcal.down[0][selectedEventId].rec.recurrence">
343                    <td colspan="2">
344                        <label class="checkbox-inline"><input type="checkbox" ng-model="currentcal.down[0][selectedEventId].rec.days[1]">Monday</label>
345                        <label class="checkbox-inline"><input type="checkbox" ng-model="currentcal.down[0][selectedEventId].rec.days[2]">Tuesday</label>
346                        <label class="checkbox-inline"><input type="checkbox" ng-model="currentcal.down[0][selectedEventId].rec.days[3]">Wednesday</label>
347                        <label class="checkbox-inline"><input type="checkbox" ng-model="currentcal.down[0][selectedEventId].rec.days[4]">Thursday</label>
348                        <label class="checkbox-inline"><input type="checkbox" ng-model="currentcal.down[0][selectedEventId].rec.days[5]">Friday</label>
349                        <label class="checkbox-inline"><input type="checkbox" ng-model="currentcal.down[0][selectedEventId].rec.days[6]">Saturday</label>
350                        <label class="checkbox-inline"><input type="checkbox" ng-model="currentcal.down[0][selectedEventId].rec.days[0]">Sunday</label>
351                    </td>
352
353                </tr>
354                <tr>
355                    <td></td>
356                    <td>
357                        <button class="btn btn-info"
358                                ng-click="pushRecurChanges(currentcal.down[0][selectedEventId].rec.recid)"
359                                style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
360                            text-shadow:2px 2px black;"
361                                ng-if="currentcal.down[0][selectedEventId].rec.recid != '0' &&
362                                currentcal.down[0][selectedEventId].rec.recid != '00000000-0000-0000-0000-000000000000' &&
363                                currentcal.down[0][selectedEventId].changed">
364                            Push all changes to other recurrencies
365                        </button>
366                        <button class="btn btn-danger"
367                                style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
368                            text-shadow:2px 2px black;"
369                                ng-click="remove(selectedEventId)">
370                            <i class="fa fa-trash-o"></i>
371                            Delete
372                        </button>
373                        <button class="btn btn-danger"
374                                style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
375                            text-shadow:2px 2px black;"
376                                ng-click="deleteAllRecurrences(currentcal.down[0][selectedEventId].rec.recid)"
377                                ng-if="currentcal.down[0][selectedEventId].rec.recid != '0'
378                                        && currentcal.down[0][selectedEventId].rec.recid != '00000000-0000-0000-0000-000000000000'">
379                            Delete all recurrencies
380                        </button>
381                    </td>
382                </tr>
383            </table>
384            <table ng-if="selectedEventId === -1" class="table">
385                <tr>
386                    <th colspan="2"> Select an event to show information</th>
387
388                </tr>
389                <tr>
390                    <td>Time / Select an event</td>
391                </tr>
392                <tr>
393                    <td>Status / Select an event</td>
394                </tr>
395            </table>
396            <div ng-if="calendarSaver">
397                <i class="fa fa-save fa-4x fa-spin"></i>
398            </div>
399            <div ng-if="calendarDeleter">
400                <i class="fa fa-trash-o fa-4x fa-spin"></i>
401            </div>
402            <div class="row">
403                <h3>Current calendar - actions</h3>
404                <div class="btn-group btn-group-justified"
405                     role="group"
406                     style="padding-bottom:20px;">
407
408                    <div ng-if="treeview.currentNode.changes"
409                         class="btn btn-success"
410                         ng-click="saveCurrentCalendar()"
411                         style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
412                            text-shadow:2px 2px black;">
413                        Save current changes
414                    </div>
415                    <div ng-if="treeview.currentNode.changes"
416                         class="btn btn-warning"
417                         ng-click="clearCurrentCalendar()"
418                         style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
419                            text-shadow:2px 2px black;">
420                        Clear current changes
421                    </div>
422                    <div class="btn btn-danger"
423                         ng-click="deleteAllPreviousEvents()"
424                         style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
425                            text-shadow:2px 2px black;">
426                        Delete past events
427                    </div>
428                    <div class="btn btn-danger"
429                         ng-click="deleteAllEvents()"
430                         style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
431                            text-shadow:2px 2px black;">
432                        Delete all events
433                    </div>
434                </div>
435            </div>
436            <div class="row">
437                <h3>All loaded calendars - actions</h3>
438                <div class="btn-group btn-group-justified"
439                     role="group"
440                     style="padding-bottom:20px;">
441
442                    <div class="btn btn-success"
443                         ng-click="saveAllCalendars()"
444                         style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
445                            text-shadow:2px 2px black;">
446                        Save all changes
447                    </div>
448
449                    <div class="btn btn-warning"
450                         ng-click="clearAllCalendars()"
451                         style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
452                            text-shadow:2px 2px black;">
453                        Clear all changes
454                    </div>
455                </div>
456            </div>
457
458        </div>
459
460        <div class="row panel-footer">
461            <h2>All events </h2><h5>(sorted by changed and start date)</h5>
462            <div class="row" ng-repeat="ev in currentcal.down[0] | orderBy:['!changed','start'] track by $index"
463                 style="margin-bottom:4px">
464                <div class="btn-group-justified btn-block">
465
466                    <div class="btn btn-default" ng-style="{'background-color': ev.color}"
467                         ng-click="eventClickBtn(ev._id)"
468                         style="width:6%;color:white;
469                            box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);text-shadow:2px 2px black;">
470                        {{ev.title }}
471                        <span ng-if="!ev.allDay">
472                            from {{ev.start | date : 'HH:mm dd/MM/yy' : 'utc'}}
473                            <span ng-if="ev.end">
474                                to {{ev.end | date : 'HH:mm dd/MM/yy': 'utc'}}
475                            </span>
476                        </span>
477                        <span ng-if="ev.allDay">
478                            all day from {{ev.start | date : 'dd/MM/yy' : 'utc'}}
479                            <span ng-if="ev.end">
480                                to {{ev.end | date : 'dd/MM/yy': 'utc'}}
481                            </span>
482                        </span>
483                        <span ng-if="ev.rec.recurrence">
484                            | recurring event
485                        </span>
486                    </div>
487                    <a id="del"
488                       style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
489                            text-shadow:2px 2px black;"
490                       class='btn btn-group btn-danger'
491                       ng-click="removeList(ev._id)">
492                        <span class='glyphicon glyphicon-trash' aria-hidden='true'></span>
493                    </a>
494                </div>
495
496            </div>
497
498        </div>
499    </div>
500    <div ng-show="treeview.currentNode === undefined"
501         style="margin-bottom:200px">
502        <form method="post"
503              ng-init="newName = ''"
504              asp-action="newClientGroup"
505              asp-controller="Resource"
506              enctype="multipart/form-data"
507              class="col-sm-8 panel panel-primary">
508            <div class="row panel-heading"
509                 style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
510                            text-shadow:2px 2px black;">
511                <h3>
512                    Add new resource group
513                </h3>
514                <table class="table">
515                    <tbody>
516                        <tr>
517                            <td>Heartbeat</td>
518                            <td>
519                                <i class="fa fa-clock-o fa-2x pull-left"></i> <input type="number" class="form-control" style="width:70px" name="inpheart" id="inpheart" value="60" placeholder="60" />
520
521
522                            </td>
523                        </tr>
524                        <tr>
525                            <td>Name</td>
526                            <td><input type="text" class="form-control" id="inpname" name="inpname" ng-model="newName" placeholder="Group name" /></td>
527                        </tr>
528                        <tr>
529                            <td>Assign parent group</td>
530                            <td>
531                                <select class="form-control" id="inpparent" name="inpparent">
532                                    <option value="">None</option>
533                                    <option ng-repeat="group in groups | orderBy:'Name'" value="{{group.Id}}">{{group.Name}}</option>
534
535                                </select>
536                            </td>
537                        </tr>
538                    </tbody>
539
540                </table>
541                <button type="submit"
542                        id="inpsaver"
543                        ng-disabled="newName === ''"
544                        class="btn btn-success"
545                        style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
546                            text-shadow:2px 2px black;font-weight:bold;">
547                    <i class="fa fa-save"></i>
548                    Add {{newName}} group
549                </button>
550            </div>
551            <div class="panel-body row">
552                <h3>Choose resources </h3>
553                <h5>(This will overwrite the group set for these resources)</h5>
554                <label>Search: <input ng-init="searchText = ''" ng-model="searchText"></label>
555                <div class="row">
556                    <div style="margin:0px"
557                         ng-repeat="client in clients  | orderBy:['Name']  | filter:searchText" class="checkbox col-md-6 col-lg-4">
558
559                        <label ng-style="{
560                                   'background-color':client.checked === true ? 'green' : '',
561                                    'color':client.checked === true ? 'white' : ''  }"
562                               style="border-radius:5px">
563                            <input type="checkbox"
564                                   name="clientstoadd"
565                                   ng-model="client.checked"
566                                   value="{{client.Id}}" />
567                            <i class="fa fa-desktop" aria-hidden="true"></i> {{client.Name | limitTo : 7}} - {{client.Cores}}x {{client.CpuSpeed/1000 |  number:1}} GHz - {{client.Memory / 1024 | number:1}} GB
568                        </label>
569
570                    </div>
571                </div>
572            </div>
573        </form>
574    </div>
575
576    <div ng-if="treeview.currentNode !== undefined && treeview.currentNode.Id === undefined"
577         class="col-sm-8 panel  panel-primary"
578         style="margin-bottom:200px">
579        <div class="row panel-heading"
580             style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
581                            text-shadow:2px 2px black;">
582            <h2>
583                Ungrouped
584            </h2>
585            <h4>
586                All unassigned resources arrive here. Assign them to a group to remove them from this group.
587            </h4>
588
589        </div>
590    </div>
591    <script src="~/js/hubs/calendarhubber.js"></script>
592</div>
Note: See TracBrowser for help on using the repository browser.