<!--
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 id="cloud" class="clearfix">

  <div id="frame">

    <div id="tree-content" class="content clearfix">

      <div id="tree" class="tree">#tree</div>
      <div id="file-content" class="clearfix">

        <div id="prop">
          <ul></ul>
        </div>

        <div id="data"></div>

        <a class="close"><span>[x]</span></a>

      </div>

    </div>

    <div id="graph-content" class="content clearfix">

      <div id="canvas"></div>

      <div id="legend">
        <ul>
          <li class="leader"><svg width="15" height="15"><g transform="translate(5,2)"><g transform="translate(0,5)"><circle r="4.5"></circle></g></g></svg> Leader</li>
          <li class="active"><svg width="15" height="15"><g transform="translate(5,2)"><g transform="translate(0,5)"><circle r="4.5"></circle></g></g></svg> Active</li>
          <li class="recovering"><svg width="15" height="15"><g transform="translate(5,2)"><g transform="translate(0,5)"><circle r="4.5"></circle></g></g></svg> Recovering</li>
          <li class="down"><svg width="15" height="15"><g transform="translate(5,2)"><g transform="translate(0,5)"><circle r="4.5"></circle></g></g></svg> Down</li>
          <li class="recovery_failed"><svg width="15" height="15"><g transform="translate(5,2)"><g transform="translate(0,5)"><circle r="4.5"></circle></g></g></svg> Recovery Failed</li>
          <li class="gone"><svg width="15" height="15"><g transform="translate(5,2)"><g transform="translate(0,5)"><circle r="4.5"></circle></g></g></svg> Gone</li>
        </ul>
      </div>

      <div style="width: 100%; text-align: center;">
        <div id="cloudGraphPaging">
         <button id="cloudGraphPagingPrev">&lt; Previous</button>
         <input id="cloudGraphPagingStart" type="hidden" name="start" /> 
         <span id="cloudGraphPagingStatus"></span>&nbsp;
         Filter by:&nbsp;<select id="cloudGraphPagingFilterType">
           <option value="status">Status</option>
           <option value="name">Name</option>
         </select>&nbsp;
         <select id="cloudGraphPagingStatusFilter">
           <option value=""> - Any - </option>
           <option value="healthy">Healthy</option>
           <option value="degraded">Degraded</option>
           <option value="downed_shard">Downed Shard</option>
           <option value="recovering">Replica in Recovery</option>
         </select>         
         <input id="cloudGraphPagingFilter" type="text" size="10" name="filter" />&nbsp;
         Show <input id="cloudGraphPagingRows" type="text" size="2" name="rows" /> per page.
         <button id="cloudGraphPagingNext">Next &gt;</button>
        </div>
      </div>

    </div>

  </div>

  <div id="debug">
    <ul class="clearfix">
      <li class="clipboard"><a href="#" data-copied="Copied to Clipboard!">Copy to Clipboard (BUGGY!)</a></li>
      <li class="close"><a href="#">Close</a></li>
    </ul>
    <pre class="debug"></pre>
  </div>

</div>
