Adding angular support
Change-Id: I88c1211d661b2c77bcf6b99ceb1fbf2c2eae139c
Signed-off-by: Iftekharul Islam <iislam@us.ibm.com>
diff --git a/src/power-operations.html b/src/power-operations.html
index d793678..f2db772 100644
--- a/src/power-operations.html
+++ b/src/power-operations.html
@@ -1,20 +1,5 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <meta charset="UTF-8">
- <title>openBMC</title>
- <link rel="icon" href="favicon.ico?v=2"/>
- <link rel="stylesheet" href="css/main.css">
- <script src="js/vendor/vendor.min.js"></script>
-</head>
-<body>
+<div id="power-operations">
-<!-- Header & Navigation includes -->
-<div id="header__wrapper"></div>
-<div id="navigation"></div>
-
-<!-- Power Operations Content -->
-<main id="power-operations" class="content__container" role="main">
<div class="row column">
<h1>Server power operation</h1>
</div>
@@ -23,13 +8,13 @@
<div class="row column">
<div class="power__current-status ">
<h2 class="inline h4">Current status</h2>
- <span class="power__status-log inline float-right">Server last reset at 01:41:24 on 02/17/17</span>
+ <span class="power__status-log inline float-right">Server last reset at {{dataService.last_updated |date:'h:mm:ss on MM/dd/yyyy'}}</span>
</div>
</div>
<div class="row column">
- <div id="power-indicator-bar" class="power__indicator-bar power__state-on">
- <p class="inline">Server BLZ_109284.209.01</p>
- <h3 class="power__state inline float-right"><span>On</span></h3>
+ <div id="power-indicator-bar" class="power__indicator-bar" ng-class="{'power__state-on': dataService.server_state == 'On', 'power__state-off': dataService.server_state == 'Off'}">
+ <p class="inline">{{dataService.server_id}}</p>
+ <h3 class="power__state inline float-right h3"><span>{{dataService.server_state}}</span></h3>
</div>
</div>
<div class="row column">
@@ -38,105 +23,33 @@
</div>
<!-- Power on displays only when server is shutdown -->
- <div class="row column power-option">
- <button id="power__power-on" class="btn-secondary" role="button">Power On</button>
+ <div class="row column power-option" ng-hide="dataService.server_state == 'On'" ng-class="{disabled: confirm && !power_confirm, transitionAll: confirm && power_confirm}">
+ <button id="power__power-on" class="btn-secondary" ng-click="powerOnConfirm()" role="button">Power On</button>
<p>Attempts to power on the server</p>
+
+ <confirm title="power off" message="Power off the server" confirm="power_confirm" ng-show="power_confirm" callback="togglePower"></confirm>
</div>
<!-- Power reboot/shutdown options : when server is off all of these are hidden. When one option is selected, the others are disabled. -->
- <div class="row column power-option">
- <button id="power__warm-boot" class="btn-secondary" role="button">Warm reboot</button>
+ <div class="row column power-option" ng-hide="dataService.server_state == 'Off'" ng-class="{disabled: confirm && !warmboot_confirm, transitionAll: confirm && warmboot_confirm}">
+ <button id="power__warm-boot" class="btn-secondary" ng-click="warmRebootConfirm()" role="button">Warm reboot</button>
<p>Attempts to perform an orderly shutdown before restarting the server</p>
+ <confirm title="Warm Reboot" message="perform an orderly shutdown" confirm="warmboot_confirm" ng-show="warmboot_confirm" callback="warmReboot"></confirm>
</div>
- <div class="row column power-option">
- <button id="power__cold-boot" class="btn-secondary" role="button">Cold reboot</button>
+ <div class="row column power-option" ng-hide="dataService.server_state == 'Off'" ng-class="{disabled: confirm && !coldboot_confirm, transitionAll: confirm && coldboot_confirm}">
+ <button id="power__cold-boot" class="btn-secondary" ng-click="coldRebootConfirm()" role="button">Cold reboot</button>
<p>Shuts down the server immediately, then restarts it</p>
+ <confirm title="Cold Reboot" message="Shutdown server immediately." confirm="coldboot_confirm" ng-show="coldboot_confirm" cancel="coldbootCancel" callback="toggleState"></confirm>
</div>
- <div class="row column power-option">
- <button id="power__soft-shutdown" class="btn-secondary" role="button">Orderly shutdown</button>
+ <div class="row column power-option" ng-hide="dataService.server_state == 'Off'" ng-class="{disabled: confirm && !orderly_confirm, transitionAll: confirm && orderly_confirm}">
+ <button id="power__soft-shutdown" class="btn-secondary" ng-click="orderlyShutdownConfirm()" role="button">Orderly shutdown</button>
<p>Attempts to stop all software on the server before removing power</p>
+ <confirm title="Orderly shutdown" message="Attempts to stop all software orderly." confirm="orderly_confirm" ng-show="orderly_confirm" cancel="orderlyShutdownCancel" callback="toggleState"></confirm>
</div>
- <div class="row column power-option">
- <button id="power__hard-shutdown" class="btn-secondary" role="button">Immediate shutdown</button>
+ <div class="row column power-option" ng-hide="dataService.server_state == 'Off'" ng-class="{disabled: confirm && !immediately_confirm, transitionAll: confirm && immediately_confirm}">
+ <button id="power__hard-shutdown" class="btn-secondary" ng-click="immediateShutdownConfirm()" role="button">Immediate shutdown</button>
<p>Removes power from the server without waiting for software to stop</p>
-
- <!-- Confirmation message - to accommodate the message for smaller screens we need to grab the height of the message and apply that height to "power-option" row
-
- var msgheight = $(this).parent().find('.power__confirm').height();
- $(this).parent().addClass('transitionAll').css("minHeight", msgheight).removeClass('disabled');
- -->
-
- <div class="power__confirm">
- <div class="power__confirm-message">
- <p class="h3"><i></i>Are you sure you want to <strong>immediate shutdown?</strong></p>
- <p>Removes power from the server without waiting for software to stop</p>
- </div>
- <div class="power__confirm-buttons">
- <button class="btn-primary">Yes</button>
- <button class="btn-primary">No</button>
- </div>
- </div>
+ <confirm title="Immediate shutdown" message="Removes power from the server immediately." confirm="immediately_confirm" ng-show="immediately_confirm" cancel="immediatelyShutdownCancel" callback="toggleState"></confirm>
</div>
</div>
-</main>
-
-</body>
-<script src="js/app.min.js"></script>
-
-<!-- FOR DEMO ONLY __ DO NOT COPY BELOW -->
-<script>
-
- var pwrOn = $("#power__power-on"),
- endTransition = 'webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend',
- pwrOps = '#power-operations';
-
- pwrOn.parent().hide();
-
- $('#power__hard-shutdown').on('click', function () {
-
- var msgheight = $(this).parent().find('.power__confirm').height();
- $(this).addClass('disabled');
- $(this).parents(pwrOps).find('.power__confirm').addClass('active');
- $(this).parents(pwrOps).find('.power-option, .btn-secondary').addClass('disabled');
- $(this).parent().addClass('transitionAll').css("minHeight", msgheight).removeClass('disabled');
- $(this).parents(pwrOps).find('.power-option.disabled button').attr("disabled", true).addClass('disabled');
- });
-
- pwrOn.on('click', function () {
- var srvrPwr = $(".header__server-power");
-
- $(this).parents(pwrOps).find('.power__indicator-bar').toggleClass('power__state-off');
- $(this).parents(pwrOps).find('.power-option').show();
- $(this).parents(".power-option").hide();
- $(".power__state span").one(endTransition,
- function() {
- $(this).parents(pwrOps).find('.power__state span').html('On');
- $(this).parents(pwrOps).find('.power-option.disabled').show();
- $(this).parents(pwrOps).find('.power-option.disabled button').removeAttr("disabled", true).removeClass('disabled');
- $(".power-option, .power__confirm-buttons").removeClass("disabled");
- srvrPwr.find(".status-light__disabled").removeClass("status-light__disabled").addClass("status-light__good");
- srvrPwr.find("span").text('On');
- });
- });
-
- $('.btn-primary').on('click', function(){
-
- var srvrPwr = $(".header__server-power"),
- pwrOnDisabl = $("#power__power-on.disabled");
-
- $(this).parents(pwrOps).find('.power__indicator-bar').toggleClass('power__state-off');
- $(this).parents(pwrOps).find('.power__confirm').removeClass('active');
- $(this).parent().addClass('disabled');
- $(this).parents('.power-option').addClass('disabled');
- $(".power__state span").one(endTransition,
- function(e) {
- $(this).parents(pwrOps).find('.power__state span').html('Off');
- $(this).parents(pwrOps).find('.power-option.disabled').hide();
- pwrOnDisabl.parent().show().removeClass('disabled');
- pwrOnDisabl.removeAttr("disabled").removeClass('disabled');
- srvrPwr.find(".status-light__good").removeClass("status-light__good").addClass("status-light__disabled");
- srvrPwr.find("span").text('Off');
- });
- });
-</script>
-</html>
+</div>
\ No newline at end of file