xref: /openbmc/phosphor-webui/app/server-health/controllers/log-controller.html (revision 569ccf66e58aacd50eaf53518c50c0ad4d448333)
1<loader loading="loading"></loader>
2<div id="event-log">
3  <div class="row column">
4    <h1>Event log</h1>
5  </div>
6  <section class="row column">
7    <div class="page-header">
8      <h2 class="inline h4">All events from the BMC</h2>
9      <div class="event-log__timezone inline float-right">
10        <button class="dropdown__button" ng-click="timezone = timezone == true ? false : true;" toggle-flag="timezone">
11          <span>{{tmz === 'UTC'? 'UTC Timezone' : 'User Timezone'}}</span>
12        </button>
13        <ul class="dropdown__list inline" ng-show="timezone">
14          <li>
15            <button ng-click="selectUserTimezone();">User Timezone</button>
16          </li>
17          <li>
18            <button ng-click="tmz = 'UTC'">UTC Timezone</button>
19          </li>
20        </ul>
21      </div>
22    </div>
23  </section>
24  <!-- Filters -->
25  <section class="row column">
26    <!-- search -->
27    <log-search-control></log-search-control>
28    <!-- filters -->
29    <log-filter></log-filter>
30  </section>
31  <!-- end filter -->
32
33  <section id="event-log__events" class="row column">
34    <div id="event__actions-bar" class="row header__actions-bar no-margin">
35      <div class="column small-1 large-1 event-log__col-check">
36        <label class="control-check">
37          <input type="checkbox" name="events__check-all" ng-model="all" ng-checked="((filteredLogs|filter:{selected: true}).length == filteredLogs.length) && filteredLogs.length != 0"/>
38          <span class="control__indicator"></span>
39        </label>
40      </div>
41      <div class="column small-11 end col-logged-events">
42        <!-- top bar confirmation - ADD ACTIVE CLASS TO DISPLAY-->
43        <div class="inline__confirm event__confirm" ng-class="{active: confirm}">
44          <div class="inline__confirm-message">
45            <p class="h3"><i></i>Are you sure you want to <strong class="ng-binding">delete {{selectedEvents.length}} logs</strong>?
46            </p>
47          </div>
48          <div class="inline__confirm-buttons">
49            <button class="btn-primary" ng-click="accept()">Yes</button>
50            <button class="btn-primary" ng-click="confirm = false">No</button>
51          </div>
52        </div>
53        <p class="inline" ng-show="selectedEvents.length"><span class="event__select-count">{{selectedEvents.length}}</span> Events are selected</p>
54        <p class="inline" ng-hide="selectedEvents.length"><span class="event__select-count">{{filteredLogs.length}}</span> Events are logged</p>
55        <!-- when logs are selected, this text changes to show how many logs are checked -->
56        <div class="event__actions">
57          <button class="inline btn-delete" ng-show="selectedEvents.length || all" ng-click="confirm= ! confirm">
58            <img class="event__icon" src="../../assets/images/icon-trashcan-white.svg" alt="">Delete
59          </button>
60          <button class="inline btn-resolve" ng-class="{'disabled': ((selectedEvents|unResolvedCount) == 0)}" ng-show="selectedEvents.length || all" ng-click="resolve()" ng-disabled="(selectedEvents|unResolvedCount) == 0">
61            <img class="event__icon" src="../../assets/images/icon-check-white.svg" alt="">Mark as resolved
62          </button>
63            <a ng-href="data:text/json;charset=utf-8,{{export_data}}" class="inline btn-export"  download="{{export_name}}" ng-show="selectedEvents.length || all">Export</a>
64        </div>
65      </div>
66    </div>
67    <log-event
68      dir-paginate="event in (filteredLogs = (logs|filter:filterBySeverity|filter:filterByStatus|filter:filterByDate|filter:filterBySearchTerms | orderBy:'-Id'))| itemsPerPage: itemsPerPage"
69      event="event"
70      tmz="tmz"
71      multi-selected="selectedEvents.length > 1"
72      >
73    </log-event>
74    <dir-pagination-controls></dir-pagination-controls>
75  </section>
76</div> <!-- end event log -->
77