{{!--
  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 container-fluid">
  <div class="row">
    {{breadcrumb-bar breadcrumbs=breadcrumbs}}
  </div>
  <div class="row">
    <div class="col-md-2">
      <div class="panel panel-default">
        <div class="panel-heading">
          <div class="panel-title">
            Flow Run Information
          </div>
        </div>
        <div class="panel-body">
          <ul class="nav nav-pills nav-stacked" id="stacked-menu">
            <ul class="nav nav-pills nav-stacked collapse in">
              {{#link-to 'yarn-flowrun.info' tagName="li"}}
                {{#link-to 'yarn-flowrun.info' model.flowrun_uid}}Information{{/link-to}}
              {{/link-to}}
              {{#link-to 'yarn-flowrun.metrics' tagName="li"}}
                {{#link-to 'yarn-flowrun.metrics' model.flowrun_uid}}Metrics{{/link-to}}
              {{/link-to}}
            </ul>
          </ul>
        </div>
      </div>
    </div>
    <div class="col-md-10">
      {{outlet}}
    </div>
  </div>
</div>
