1<div> 2 <div class="row"> 3 <div class="columns large-6"> 4 <img src="../../assets/images/logo.svg" class="login__logo" alt="OpenBMC logo"/> 5 <h1 class="login__desc">OpenBMC</h1> 6 </div> 7 <div class="columns large-6"> 8 <form id="login__form" name="login__form" action="" ng-class="{'submitted' : submitted}"> 9 <fieldset ng-disabled="dataService.loading"> 10 <div class="alert alert-danger" role="alert" ng-if="invalidCredentials"> 11 <b>Invalid username or password.</b> 12 <br>Please try again. 13 </div> 14 <label for="host">BMC Host or BMC IP Address</label> 15 <input type="text" id="host" name="host" class="validate-input" ng-model="host" has-error="serverUnreachable && login__form.host.$pristine" required autofocus ng-keydown="tryLogin(host, username, password, $event)"> 16 <div ng-messages="login__form.host.$error" class="form-error" ng-class="{'visible' : login__form.host.$touched || submitted}"> 17 <p ng-message="required">Field is required</p> 18 <p ng-message="hasError">Server unreachable</p> 19 </div> 20 21 <label for="username">Username</label> 22 <input type="text" id="username" name="username" has-error="invalidCredentials && login__form.$pristine" required ng-model="username" ng-keydown="tryLogin(host, username, password, $event)" autocomplete="off"> 23 <div ng-messages="login__form.username.$error" class="form-error" ng-class="{'visible' : login__form.username.$touched || submitted}"> 24 <p ng-message="required">Field is required</p> 25 </div> 26 27 <label for="password">Password</label> 28 <input type="password" id="password" name="password" has-error="invalidCredentials && login__form.$pristine" required ng-model="password" ng-keydown="tryLogin(host, username, password, $event)" autocomplete="off"> 29 <div ng-messages="login__form.password.$error" class="form-error" ng-class="{'visible': login__form.password.$touched || submitted}"> 30 <p ng-message="required">Field is required</p> 31 </div> 32 33 <input id="login__submit" class="btn btn-primary full-width" type="button" value="Log in" role="button" ng-click="login(host, username, password); submitted = true; login__form.$setPristine()" ng-class="{error: error}" ng-disabled="dataService.loading"> 34 </fieldset> 35 </form> 36 </div> 37 </div> 38</div> 39