{{!
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
}}

<div class="col-md-12">
  {{app-timeout-bar app=model.app}}
</div>

{{#if actionResponse}}
  <div class="col-md-12">
    <div class="alert alert-dismissible {{if (eq actionResponse.type 'error') 'alert-danger' 'alert-success'}}" role="alert">
      <button class="close" data-dismiss="alert" aria-label="Close" {{action "resetActionResponse"}}><span aria-hidden="true">&times;</span></button>
      <strong>{{actionResponse.msg}}</strong>
    </div>
  </div>
{{/if}}

{{#if isLoading}}
  <div class="panel panel-default service-action-mask">
    <img src="assets/images/spinner.gif" alt="Loading...">
  </div>
{{/if}}

{{#if model.app.diagnostics}}
  <div class="col-md-12">
    {{#if model.app.isFailed}}
      <div class="panel panel-danger">
        <div class="panel-heading">
          Diagnostics
        </div>
        <div class="panel-body">{{model.app.diagnostics}}</div>
      </div>
    {{else}}
      <div class="panel panel-default">
        <div class="panel-heading">
          Diagnostics
        </div>
        <div class="panel-body">{{model.app.diagnostics}}</div>
      </div>
    {{/if}}
  </div>
{{/if}}

{{#unless model.serviceName}}
  <div class="col-md-12">
    <div class="panel panel-default">
      <div class="panel-heading">Outstanding Resource Requests</div>
      <table class="display table table-striped table-bordered"
            cellspacing="0" width="100%">
        <thead>
        <tr>
          <th>Scheduler Key</th>
          <th>Resource Name</th>
          <th>Capability</th>
          <th># Containers</th>
          <th>Relax Locality</th>
          <th>Node Label Expression</th>
        </tr>
        </thead>
        <tbody>
        {{#each model.app.resourceRequests as |request|}}
          <tr>
            <td>{{request.priority}}</td>
            <td>{{request.resourceName}}</td>
            <td>&lt;Memory:{{request.capability.memory}};vCores:{{request.capability.virtualCores}}&gt;</td>
            <td>{{request.numContainers}}</td>
            <td>{{request.relaxLocality}}</td>
            <td>
              {{#if request.nodeLabelExpression}}
                {{request.nodeLabelExpression}}
              {{else}}
                N/A
              {{/if}}
            </td>
          </tr>
        {{else}}
          <div class="panel-body">No data available!</div>
        {{/each}}
        </tbody>
      </table>
    </div>
  </div>
{{/unless}}

<div class="col-md-12">
  <div class="panel panel-default">
    <div class="panel-heading">Scheduling Info</div>
    <table class="display table table-striped table-bordered"
            cellspacing="0" width="100%">
      <thead>
      <tr>
        <th>Allocated Resource</th>
        <th>Running Containers</th>
        <th>Preempted Resource</th>
        <th>Num Non-AM container preempted</th>
        <th>Num AM container preempted</th>
        <th>Aggregated Resource Usage</th>
      </tr>
      </thead>

      <tbody>
      <tr>
        <td>{{model.app.allocatedResource}}</td>
        <td>{{model.app.runningContainersNumber}}</td>
        <td>{{model.app.preemptedResource}}</td>
        <td>{{model.app.numAMContainerPreempted}}</td>
        <td>{{model.app.numAMContainerPreempted}}</td>
        <td>{{model.app.aggregatedResourceUsage}}</td>
      </tr>
      </tbody>
    </table>
  </div>
</div>

{{confirm-dialog
  dialogId="stopServiceConfirmDialog"
  message=(concat 'Are you sure you want to stop service "' model.serviceName '" ?')
  action="stopService"
}}

{{confirm-dialog
  dialogId="deleteServiceConfirmDialog"
  message=(concat 'Are you sure you want to delete service "' model.serviceName '" ?')
  action="deleteService"
}}
