WebUI system logs implementation

This commit implements the webui logs page
which will show all system logs depends
on user selection( SEL or Event or Oem). This
is based out of redfish systems log services.
 - View logs with pagination.
 - Search filter for logs view.
 - Sort option with Type, Id, Severity, Date.
 - Clear logs.
 - Export logs.

UnitTest:
 - Existing bmcweb send the system logs of EntryType
   "Event". So Loaded UI, selected Type "Event" and
   validated all the above mentioned operations.

Change-Id: I0384e475f7913ca66b6db5d64831583fb382f8d5
Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
diff --git a/app/server-health/controllers/syslog-controller.html b/app/server-health/controllers/syslog-controller.html
new file mode 100644
index 0000000..b503bd0
--- /dev/null
+++ b/app/server-health/controllers/syslog-controller.html
@@ -0,0 +1,100 @@
+<loader loading="loading"></loader>
+<div id="sys-log">
+    <section id="sys-log__events" class="table row column">
+      <div class="row column">
+        <h1>System Logs</h1>
+        <div class="page-header">
+          <p class="inline h4">Select system log type: </p>
+          <div class="inline dropdown__wrapper" >
+            <button type="button" class="dropdown__button" ng-click="showLogDropdown = !showLogDropdown"><strong>{{selectedRecordType}}</strong></button>
+            <ul class="dropdown__list inline" ng-show="showLogDropdown">
+              <li ng-repeat="recordType in recordTypeList">
+                <button type="button" ng-click="selectRecordType(recordType);">{{recordType}}</button>
+              </li>
+            </ul>
+          </div>
+          <a ng-href="data:text/json;charset=utf-8,{{sysLogs}}" class="inline btn-export float-right"  download="systemLogs.json" ng-show="sysLogs.length">Export </a>
+          <button class="inline clear-input float-right btn-secondary" ng-click="confirm = !confirm" ng-show="sysLogs.length">&#10005; Clear {{selectedRecordType}} Logs</button>
+          <div class="inline__confirm event__confirm" ng-show="confirm">
+            <div class="inline__confirm-message">
+              <p class="h3">Are you sure you want to <strong class="ng-binding">clear {{selectedRecordType}} logs</strong>?
+              </p>
+            </div>
+            <div class="inline__confirm-buttons">
+              <button class="btn-primary" ng-click="clearSystemLogEntries()">Yes</button>
+              <button class="btn-primary" ng-click="confirm = false">No</button>
+            </div>
+          </div>
+        </div>
+      </div>
+    </section>
+    <section class="row column">
+      <p class="content-label">Filter {{selectedRecordType}} Logs</p>
+      <div class="content__search">
+        <label for="content__search-input">Search</label>
+        <input id="content__search-input" type="text" ng-model="customSearch" ng-keydown="doSearchOnEnter($event)"/>
+        <div class="search-submit__wrapper">
+          <button class="clear-input" ng-click="clear()">&#10005;</button>
+          <input id="content__search-submit" type="submit" class="btn btn-primary content__search-submit" value="Filter" ng-click="doSearchOnClick()"/>
+        </div>
+      </div>
+    </section>
+    <section id="sys-log__events" class="table row column" ng-show="sysLogs.length">
+      <div class="table row column">
+        <div class="table__head">
+          <div class="table__row">
+            <div class="table__cell sys-log__col-wrapper sys-log__col-id">
+              <div class="column small-2 sort_button_wrapper">
+                <button class="sort-ascending" ng-click="sortBy('Id', false)"></button>
+                <button class="sort-descending" ng-click="sortBy('Id', true)"></button>
+              </div>
+              ID
+            </div>
+            <div class="table__cell sys-log__col-wrapper">
+              <div class="column small-2 sort_button_wrapper">
+                <button class="sort-ascending" ng-click="sortBy('Created', false)"></button>
+                <button class="sort-descending" ng-click="sortBy('Created', true)"></button>
+              </div>
+              Timestamp
+            </div>
+            <div class="table__cell sys-log__col-wrapper">
+              <div class="column small-2 sort_button_wrapper">
+                <button class="sort-ascending" ng-click="sortBy('Name', false)"></button>
+                <button class="sort-descending" ng-click="sortBy('Name', true)"></button>
+              </div>
+              Name
+            </div>
+            <div class="table__cell sys-log__col-wrapper">
+              <div class="column small-2 sort_button_wrapper">
+                <button class="sort-ascending" ng-click="sortBy('SensorType', false)"></button>
+                <button class="sort-descending" ng-click="sortBy('SensorType', true)"></button>
+              </div>
+              Type
+            </div>
+            <div class="table__cell sys-log__col-wrapper sys-log__col-sev">
+              <div class="column small-2 sort_button_wrapper">
+                <button class="sort-ascending" ng-click="sortBy('Severity', false)"></button>
+                <button class="sort-descending" ng-click="sortBy('Severity', true)"></button>
+              </div>
+              Severity
+            </div>
+            <div class="table__cell sys-log__col-wrapper sys-log__col-desc">Description</div>
+          </div>
+        </div>
+        <div class="table__body">
+          <div class="table__row" dir-paginate="log in (sysLogs | filter:filterBySearchTerms | orderBy:sortKey:reverse) | itemsPerPage:itemsPerPage">
+            <div class="table__cell sys-log__col-wrapper sys-log__col-id">{{log.Id}}</div>
+            <div class="table__cell sys-log__col-wrapper">{{log.Created | localeDate}}</div>
+            <div class="table__cell sys-log__col-wrapper">{{log.Name}}</div>
+            <div class="table__cell sys-log__col-wrapper">{{log.SensorType}}</div>
+            <div class="table__cell sys-log__col-wrapper sys-log__col-sev">{{log.Severity}}</div>
+            <div class="table__cell sys-log__col-wrapper sys-log__col-desc">{{log.Message}}</div>
+          </div>
+        </div>
+      </div>
+      <dir-pagination-controls></dir-pagination-controls>
+    </section>
+    <section id="sys-log__events" class="table row column" ng-show="!sysLogs.length">
+      <p>There are no {{selectedRecordType}} logs to display at this time.</p>
+    </section>
+</div> <!-- end event log -->