Iftekharul Islam | 0805441 | 2017-08-25 10:29:57 -0500 | [diff] [blame] | 1 | <loader loading="loading"></loader> |
Michael Davis | 06054b6 | 2017-08-25 14:25:51 -0500 | [diff] [blame] | 2 | <div id="multi-server"> |
Gunnar Mills | 5f0b776 | 2018-09-25 14:10:45 -0500 | [diff] [blame] | 3 | <div class="row column"> |
| 4 | <h1>All servers</h1> |
| 5 | </div> |
| 6 | <section class="row column"> |
| 7 | <div class="page-header"> |
| 8 | <h2 class="inline h4">All auto-discovered and manually added servers</h2> |
| 9 | <a class="inline float-right" ng-click="addServer()"><span class="icon icon__plus"></span>Add a server</a> |
| 10 | </div> |
| 11 | </section> |
| 12 | <section class="row column"> |
| 13 | <!-- search --> |
| 14 | <p class="content-label" aria-label="sensors filter">Filter servers</p> |
| 15 | <div class="content__search"> |
| 16 | <label for="content__search-input">Multi server search</label> |
| 17 | <input id="content__search-input" type="text" ng-model="customSearch" ng-keydown="doSearchOnEnter($event)"/> |
| 18 | <div class="search-submit__wrapper"> |
| 19 | <button class="clear-input" ng-click="clear()">✕</button> |
| 20 | <input id="content__search-submit" type="submit" class="btn btn-primary content__search-submit" value="Filter" ng-click="doSearchOnClick()"/> |
| 21 | </div> |
Michael Davis | 06054b6 | 2017-08-25 14:25:51 -0500 | [diff] [blame] | 22 | |
Gunnar Mills | 5f0b776 | 2018-09-25 14:10:45 -0500 | [diff] [blame] | 23 | </div> |
| 24 | </section> <!-- end search --> |
Michael Davis | 06054b6 | 2017-08-25 14:25:51 -0500 | [diff] [blame] | 25 | |
Gunnar Mills | 5f0b776 | 2018-09-25 14:10:45 -0500 | [diff] [blame] | 26 | <section id="" class="row column"> |
| 27 | <div class="row column header-row"> |
| 28 | <div class="column large-12 header__actions-bar"> |
| 29 | <div class="inline multi-server__col multi-server__title">Server name<span class="sort-heading"></span></div> |
| 30 | <div class="inline multi-server__col">BMC IP address<span class="sort-heading"></span></div> |
| 31 | <div class="inline multi-server__col">Model number<span class="sort-heading sort-down"></span></div> |
| 32 | <div class="inline multi-server__col narrow-col">Power<span class="sort-heading sort-up"></span></div> |
| 33 | <div class="inline multi-server__col narrow-col">Status<span class="sort-heading"></span></div> |
| 34 | </div> |
| 35 | </div> |
| 36 | <!-- server --> |
| 37 | <div class="multi-server__col-row"> |
| 38 | <div class="inline multi-server__title">IBM Power Witherspoon 2 (current)</div> |
| 39 | <div class="inline multi-server__col courier-bold"> |
| 40 | <span class="multi-server__label">BMC IP address</span> |
| 41 | <span class="multi-server__data">9.3.111.222</span> |
| 42 | </div> |
| 43 | <div class="inline multi-server__col courier-bold"> |
| 44 | <span class="multi-server__label">Model number</span> |
| 45 | <span class="multi-server__data">8335-GTC</span> |
| 46 | </div> |
| 47 | <div class="inline multi-server__col narrow-col bold"> |
| 48 | <span class="multi-server__label">Power</span> |
| 49 | <span class="multi-server__data"><span class="icon icon__off" ng-class="{'icon__off': dataService.server_state == 'Off' || 'Unreachable', 'icon__good': dataService.server_state == 'Running', 'icon_standby': dataService.server_state == 'Standby'}"></span>Off</span> |
| 50 | </div> |
| 51 | <div class="inline multi-server__col narrow-col bold"> |
| 52 | <span class="multi-server__label">Status</span> |
| 53 | <span class="multi-server__data"><span class="icon icon__critical" ng-class="{'icon__critical': sensor.status == 'critical', 'icon__warning': sensor.status == 'warning', 'icon__normal': sensor.status == 'normal'}" aria-label="multi.status"></span>Emergency</span> |
| 54 | </div> |
| 55 | </div> |
| 56 | <!-- server --> |
| 57 | <div class="multi-server__col-row"> |
| 58 | <div class="inline multi-server__title">IBM Power Witherspoon 6</div> |
| 59 | <div class="inline multi-server__col courier-bold"> |
| 60 | <span class="multi-server__label">BMC IP address</span> |
| 61 | <span class="multi-server__data">9.3.41.232</span> |
| 62 | </div> |
| 63 | <div class="inline multi-server__col courier-bold"> |
| 64 | <span class="multi-server__label">Model number</span> |
| 65 | <span class="multi-server__data">PRT85-GTC</span> |
| 66 | </div> |
| 67 | <div class="inline multi-server__col narrow-col bold"> |
| 68 | <span class="multi-server__label">Power</span> |
| 69 | <span class="multi-server__data"><span class="icon icon__good"></span>On</span> |
| 70 | </div> |
| 71 | <div class="inline multi-server__col narrow-col bold"> |
| 72 | <span class="multi-server__label">Status</span> |
| 73 | <span class="multi-server__data"><span class="icon icon__good" ng-class="{'icon__critical': sensor.status == 'critical', 'icon__warning': sensor.status == 'warning', 'icon__normal': sensor.status == 'normal'}" aria-label="multi.status"></span>Good</span> |
| 74 | </div> |
| 75 | </div> |
| 76 | <!-- server --> |
| 77 | <div class="multi-server__col-row"> |
| 78 | <div class="inline multi-server__title">IBM Power Witherspoon 4</div> |
| 79 | <div class="inline multi-server__col courier-bold"> |
| 80 | <span class="multi-server__label">BMC IP address</span> |
| 81 | <span class="multi-server__data">9.3.21.233</span> |
| 82 | </div> |
| 83 | <div class="inline multi-server__col courier-bold"> |
| 84 | <span class="multi-server__label">Model number</span> |
| 85 | <span class="multi-server__data">MKU-GTC</span> |
| 86 | </div> |
| 87 | <div class="inline multi-server__col narrow-col bold"> |
| 88 | <span class="multi-server__label">Power</span> |
| 89 | <span class="multi-server__data"><span class="icon icon__good"></span>On</span> |
| 90 | </div> |
| 91 | <div class="inline multi-server__col narrow-col bold"> |
| 92 | <span class="multi-server__label">Status</span> |
| 93 | <span class="multi-server__data"><span class="icon icon__good" ng-class="{'icon__critical': sensor.status == 'critical', 'icon__warning': sensor.status == 'warning', 'icon__normal': sensor.status == 'normal'}" aria-label="multi.status"></span>Good</span> |
| 94 | </div> |
| 95 | </div> |
| 96 | <!-- server --> |
| 97 | <div class="multi-server__col-row"> |
| 98 | <div class="inline multi-server__title">Server 100023476 ligula sed magna dictum porta. Curabitur arcu erat, accumsan id imperdiet et, porttitor at sem</div> |
| 99 | <div class="inline multi-server__col courier-bold"> |
| 100 | <span class="multi-server__label">BMC IP address</span> |
| 101 | <span class="multi-server__data">9.3.51.244</span> |
| 102 | </div> |
| 103 | <div class="inline multi-server__col courier-bold"> |
| 104 | <span class="multi-server__label">Model number</span> |
| 105 | <span class="multi-server__data">854-GTC</span> |
| 106 | </div> |
| 107 | <div class="inline multi-server__col narrow-col bold"> |
| 108 | <span class="multi-server__label">Power</span> |
| 109 | <span class="multi-server__data"><span class="icon icon__good"></span>On</span> |
| 110 | </div> |
| 111 | <div class="inline multi-server__col narrow-col bold"> |
| 112 | <span class="multi-server__label">Status</span> |
| 113 | <span class="multi-server__data"><span class="icon icon__critical" ng-class="{'icon__critical': sensor.status == 'critical', 'icon__warning': sensor.status == 'warning', 'icon__normal': sensor.status == 'normal'}" aria-label="multi.status"></span>Critical</span> |
| 114 | </div> |
| 115 | </div> |
| 116 | <!-- server --> |
| 117 | <div class="multi-server__col-row"> |
| 118 | <div class="inline multi-server__title">Server 100023476</div> |
| 119 | <div class="inline multi-server__col courier-bold"> |
| 120 | <span class="multi-server__label">BMC IP address</span> |
| 121 | <span class="multi-server__data">9.3.185.164</span> |
| 122 | </div> |
| 123 | <div class="inline multi-server__col courier-bold"> |
| 124 | <span class="multi-server__label">Model number</span> |
| 125 | <span class="multi-server__data">82225-GTC</span> |
| 126 | </div> |
| 127 | <div class="inline multi-server__col narrow-col bold"> |
| 128 | <span class="multi-server__label">Power</span> |
| 129 | <span class="multi-server__data"><span class="icon icon__standby"></span>Standby</span> |
| 130 | </div> |
| 131 | <div class="inline multi-server__col narrow-col bold"> |
| 132 | <span class="multi-server__label">Status</span> |
| 133 | <span class="multi-server__data"><span class="icon icon__warning" ng-class="{'icon__critical': sensor.status == 'critical', 'icon__warning': sensor.status == 'warning', 'icon__normal': sensor.status == 'normal'}" aria-label="multi.status"></span>Warning</span> |
| 134 | </div> |
| 135 | </div> |
| 136 | </section> |
Michael Davis | 06054b6 | 2017-08-25 14:25:51 -0500 | [diff] [blame] | 137 | </div> |
| 138 | |
| 139 | <!-- add server modal --> |
| 140 | <section class="modal" aria-hidden="true" aria-labelledby="modalTitle" aria-describedby="modalDescription" role="dialog" ng-class="{'active': multi_server_add}"> |
Gunnar Mills | 5f0b776 | 2018-09-25 14:10:45 -0500 | [diff] [blame] | 141 | <div class="modal__multi-add" role="document"> |
| 142 | <div class="screen-reader-offscreen modal-description">To manually add a server that is not discovered automatically, provide either the BMC IP address or hostname and login credentials for its BMC</div><!-- accessibility only; used for screen readers --> |
| 143 | <div class="page-header "> |
| 144 | <h1 class="modal-title h4"><span class="icon icon__info"><svg xmlns="http://www.w3.org/2000/svg" |
| 145 | viewBox="0 0 32 32"><path |
| 146 | d="M18 14h-6v2h1v6h-2v2h8v-2h-2z"/><circle cx="16" cy="10" r="2"/><path |
| 147 | d="M16 2C8.269 2 2 8.269 2 16s6.269 14 14 14 14-6.269 14-14S23.731 2 16 2zm0 26C9.383 28 4 22.617 4 16S9.383 4 16 4s12 5.383 12 12-5.383 12-12 12z"/></svg></span> |
| 148 | Add a server |
| 149 | </h1> |
| 150 | </div> |
| 151 | <form id="multi-server_add-form" class="multi-server__add-form" action=""> |
| 152 | <div class="modal__content row"> |
| 153 | <div class="column large-12"> |
| 154 | <label for="multi-server__host">BMC IP Address</label> |
| 155 | <input id="multi-server__host" ng-model="multi_ip" type="text" autofocus/> |
| 156 | </div> |
| 157 | <div class="column large-6"> |
| 158 | <label for="username">Username</label> |
| 159 | <input type="text" id="username" name="username" ng-model="username" ng-class="{error: error}" ng-keydown="tryLogin(username, password, $event)" ng-disabled="dataService.loading"> |
| 160 | </div> |
| 161 | <div class="column large-6"> |
| 162 | <label for="password">Password</label> |
| 163 | <input type="password" id="password" name="password" class="" ng-model="password" ng-keydown="tryLogin(username, password, $event)" ng-disabled="dataService.loading"> |
| 164 | </div> |
| 165 | </div> |
| 166 | <label class="control-check"> |
| 167 | <input id="multi-server__add-view" type="checkbox" name="events__check-all" ng-model="all" /> |
| 168 | <span class="control__indicator"></span> |
| 169 | <span class="inline">View this server once added</span> |
| 170 | </label> |
| 171 | <div class="modal__button-wrapper"> |
| 172 | <button class="inline btn-secondary">Cancel</button> |
| 173 | <button class="inline btn-primary">Add</button> |
| 174 | </div> |
| 175 | <p class="login__error-msg" role="alert" ng-if="error">Incorrect username or password</p> |
| 176 | <p class="login__error-msg" role="alert" ng-if="server_unreachable">Server unreachable</p> |
| 177 | </form> |
| 178 | </div> |
Michael Davis | 06054b6 | 2017-08-25 14:25:51 -0500 | [diff] [blame] | 179 | </section> |
Michael Davis | 58fcd7f | 2017-09-08 11:26:35 -0500 | [diff] [blame] | 180 | |
| 181 | <!-- login modal --> |
| 182 | <section class="modal" aria-hidden="true" aria-labelledby="modalTitle" aria-describedby="modalDescription" role="dialog" ng-class="{'active': multi_server_login}"> |
Gunnar Mills | 5f0b776 | 2018-09-25 14:10:45 -0500 | [diff] [blame] | 183 | <div class="modal__multi-login" role="document"> |
| 184 | <div class="screen-reader-offscreen modal-description">To log into the selected server, provide the login credentials for its BMC.</div><!-- accessibility only; used for screen readers --> |
| 185 | <div class="page-header "> |
| 186 | <h1 class="modal-title h4"><span class="icon icon__info"><svg xmlns="http://www.w3.org/2000/svg" |
| 187 | viewBox="0 0 32 32"><path |
| 188 | d="M18 14h-6v2h1v6h-2v2h8v-2h-2z"/><circle cx="16" cy="10" r="2"/><path |
| 189 | d="M16 2C8.269 2 2 8.269 2 16s6.269 14 14 14 14-6.269 14-14S23.731 2 16 2zm0 26C9.383 28 4 22.617 4 16S9.383 4 16 4s12 5.383 12 12-5.383 12-12 12z"/></svg></span> |
| 190 | Login to server |
| 191 | </h1> |
| 192 | </div> |
| 193 | <form id="multi-server_login-form" class="multi-server__login-form" action=""> |
| 194 | <div class="modal__content row"> |
| 195 | <div class="column large-12"> |
| 196 | <!-- server --> |
| 197 | <div class="multi-server__col-row"> |
| 198 | <div class="inline multi-server__title"><span class="icon icon__good" ng-class="{'icon__critical': sensor.status == 'critical', 'icon__warning': sensor.status == 'warning', 'icon__normal': sensor.status == 'normal'}" aria-label="multi.status"></span>Server 100023476</div> |
| 199 | <div class="inline multi-server__col courier-bold"> |
| 200 | <span class="multi-server__data">9.3.185.164</span> |
| 201 | </div> |
| 202 | <div class="inline multi-server__col narrow-col bold"> |
| 203 | <span class="multi-server__data"><span class="icon icon__standby"></span>Standby</span> |
| 204 | </div> |
| 205 | </div> |
| 206 | </div> |
| 207 | <div class="column large-6"> |
| 208 | <label for="username">Username</label> |
| 209 | <input type="text" id="username" name="username" ng-model="username" ng-class="{error: error}" ng-keydown="tryLogin(username, password, $event)" ng-disabled="dataService.loading"> |
| 210 | </div> |
| 211 | <div class="column large-6"> |
| 212 | <label for="password">Password</label> |
| 213 | <input type="password" id="password" name="password" class="" ng-model="password" ng-keydown="tryLogin(username, password, $event)" ng-disabled="dataService.loading"> |
| 214 | </div> |
| 215 | </div> |
| 216 | <div class="modal__button-wrapper"> |
| 217 | <button class="inline btn-secondary">Cancel</button> |
| 218 | <button class="inline btn-primary">Login</button> |
| 219 | </div> |
| 220 | <p class="login__error-msg" role="alert" ng-if="error">Incorrect username or password</p> |
| 221 | <p class="login__error-msg" role="alert" ng-if="server_unreachable">Server unreachable</p> |
| 222 | </form> |
| 223 | </div> |
Michael Davis | 58fcd7f | 2017-09-08 11:26:35 -0500 | [diff] [blame] | 224 | </section> |
| 225 | |
| 226 | <div class="modal-overlay" tabindex="-1" ng-class="{'active': (multi_server_add) || (multi_server_login)}"></div> |