1*1ab0f7c1SYoshie Muranakawindow.angular && (function(angular) { 2*1ab0f7c1SYoshie Muranaka 'use strict'; 3*1ab0f7c1SYoshie Muranaka 4*1ab0f7c1SYoshie Muranaka /** 5*1ab0f7c1SYoshie Muranaka * 6*1ab0f7c1SYoshie Muranaka * firmwareCard Component 7*1ab0f7c1SYoshie Muranaka * 8*1ab0f7c1SYoshie Muranaka */ 9*1ab0f7c1SYoshie Muranaka 10*1ab0f7c1SYoshie Muranaka /** 11*1ab0f7c1SYoshie Muranaka * Component template 12*1ab0f7c1SYoshie Muranaka */ 13*1ab0f7c1SYoshie Muranaka const template = ` 14*1ab0f7c1SYoshie Muranaka <div class="card-component"> 15*1ab0f7c1SYoshie Muranaka <div class="card__header" 16*1ab0f7c1SYoshie Muranaka ng-class="{ 17*1ab0f7c1SYoshie Muranaka 'card__header--success' : $ctrl.status === 'success', 18*1ab0f7c1SYoshie Muranaka 'card__header--error' : $ctrl.status === 'error' }"> 19*1ab0f7c1SYoshie Muranaka <p class="card__header__label inline">{{$ctrl.headerLabel}}</p> 20*1ab0f7c1SYoshie Muranaka <p class="card__header__value inline">{{$ctrl.headerValue}}</p> 21*1ab0f7c1SYoshie Muranaka </div> 22*1ab0f7c1SYoshie Muranaka <div class="card__body" 23*1ab0f7c1SYoshie Muranaka ng-if="$ctrl.body"> 24*1ab0f7c1SYoshie Muranaka <div class="row"> 25*1ab0f7c1SYoshie Muranaka <div class="column small-6"> 26*1ab0f7c1SYoshie Muranaka <label>BMC Status</label> 27*1ab0f7c1SYoshie Muranaka {{$ctrl.bmcStatus || 'n/a'}} 28*1ab0f7c1SYoshie Muranaka </div> 29*1ab0f7c1SYoshie Muranaka <div class="column small-6"> 30*1ab0f7c1SYoshie Muranaka <label>Host status</label> 31*1ab0f7c1SYoshie Muranaka {{$ctrl.hostStatus || 'n/a'}} 32*1ab0f7c1SYoshie Muranaka </div> 33*1ab0f7c1SYoshie Muranaka </div> 34*1ab0f7c1SYoshie Muranaka </div> 35*1ab0f7c1SYoshie Muranaka </div>` 36*1ab0f7c1SYoshie Muranaka 37*1ab0f7c1SYoshie Muranaka /** 38*1ab0f7c1SYoshie Muranaka * Register firmwareCard component 39*1ab0f7c1SYoshie Muranaka */ 40*1ab0f7c1SYoshie Muranaka angular.module('app.configuration').component('firmwareCard', { 41*1ab0f7c1SYoshie Muranaka template, 42*1ab0f7c1SYoshie Muranaka bindings: { 43*1ab0f7c1SYoshie Muranaka headerLabel: '@', 44*1ab0f7c1SYoshie Muranaka headerValue: '<', 45*1ab0f7c1SYoshie Muranaka status: '<', // optional, 'success' or 'error' 46*1ab0f7c1SYoshie Muranaka body: '<', // boolean true to render body content 47*1ab0f7c1SYoshie Muranaka hostStatus: '<', 48*1ab0f7c1SYoshie Muranaka bmcStatus: '<' 49*1ab0f7c1SYoshie Muranaka } 50*1ab0f7c1SYoshie Muranaka }) 51*1ab0f7c1SYoshie Muranaka})(window.angular);