<!--
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="dashboard">

  <div class="clearfix">

    <div class="block fieldlist" id="statistics">

      <h2><span>Statistics</span></h2>
            
      <div class="message-container">
        <div class="message"></div>
      </div>

      <div class="content">
                
        <dl>
                    
          <dt class="index_last-modified">Last Modified:</dt>
            <dd class="index_last-modified value timeago"></dd>

          <dt class="index_num-doc">Num Docs:</dt>
            <dd class="index_num-doc value"></dd>

          <dt class="index_max-doc">Max Doc:</dt>
            <dd class="index_max-doc value"></dd>

          <dt class="index_heap-usage-bytes">Heap Memory Usage:</dt>
            <dd class="index_heap-usage-bytes value"></dd>

          <dt class="index_deleted-doc">Deleted Docs:</dt>
            <dd class="index_deleted-doc value"></dd>

          <dt class="index_version">Version:</dt>
            <dd class="index_version value"></dd>

          <dt class="index_segmentCount">Segment Count:</dt>
            <dd class="index_segmentCount value"></dd>

          <dt class="index_optimized">Optimized:</dt>
            <dd class="index_optimized value ico"><span></span>
            <a>optimize now</a></dd>

          <dt class="index_current">Current:</dt>
            <dd class="index_current value ico"><span></span></dd>
                        
        </dl>
           
      </div>
    </div>

    <div class="block fieldlist" id="instance">

      <h2><span>Instance</span></h2>
            
      <div class="message-container">
        <div class="message"></div>
      </div>

      <div class="content">
                
        <dl>
                    
          <dt class="dir_cwd"><abbr title="Current Working Directory">CWD</abbr>:</dt>
            <dd class="dir_cwd value"></dd>

          <dt class="dir_instance">Instance:</dt>
            <dd class="dir_instance value"></dd>

          <dt class="dir_data">Data:</dt>
            <dd class="dir_data value"></dd>

          <dt class="dir_index">Index:</dt>
            <dd class="dir_index value"></dd>

          <dt class="dir_impl">Impl:</dt>
            <dd class="dir_impl value"></dd>
                        
        </dl>

      </div>
    </div>

  </div>
  <div class="clearfix">

    <div class="block" id="replication">

      <h2><span class="is-replicating">Replication</span></h2>
            
      <div class="message-container">
        <div class="message"></div>
      </div>

      <div class="content clearfix"id="details">

        <table border="0" cellspacing="0" cellpadding="0">

          <thead>

            <tr>
                            
              <td><span>Index</span></td>
              <th>Version</th>
              <th><abbr title="Generation">Gen</abbr></th>
              <th>Size</th>
                        
            </tr>
                    
          </thead>
          <tbody>

            <tr class="masterSearch">

              <th>Master (Searching)</th>
              <td class="version"><div>x</div></td>
              <td class="generation"><div>y</div></td>
              <td class="size"><div>z</div></td>

            </tr>

            <tr class="master">

              <th>Master (Replicable)</th>
              <td class="version"><div>x</div></td>
              <td class="generation"><div>y</div></td>
              <td class="size"><div>z</div></td>

            </tr>

            <tr class="slave slaveOnly">

              <th>Slave (Searching)</th>
              <td class="version"><div>a</div></td>
              <td class="generation"><div>c</div></td>
              <td class="size"><div>c</div></td>

            </tr>

          </tbody>

        </table>
            
      </div>
    </div>
  
    <div class="block fieldlist" id="healthcheck">

      <h2><span>Healthcheck</span></h2>

      <div class="message-container">
        <div class="message"></div>
      </div>

      <div class="content">
        <dl>
                    
          <dt class="status">Status:</dt>
          <dd class="status value ico">
            <button class="healthcheck-status">Healthcheck Status</button>
          </dd>
        </dl>
      </div>

    </div>

  </div>
  <div class="clearfix">

    <div class="block" id="admin-extra">

      <h2><span>Admin Extra</span></h2>
            
      <div class="message-container">
        <div class="message"></div>
      </div>

      <div class="content">

      </div>
        
    </div>

  </div>
  

</div>
