<?xml version="1.0" encoding="UTF-8"?>
<!--
   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.
-->
<wicket:panel xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
    <div class="span6 widget">
        <h1>Deployed camel contexts</h1>

        <p>You have <span wicket:id="count">13</span> camel contexts deployed.</p>

        <table class="table table-striped table-condensed">
            <tr>
                <th>Name</th>
                <th>Uptime</th>
                <th title="Number of all routes">Routes</th>
            </tr>
            <tr wicket:id="contexts">
                <td><span wicket:id="name"></span></td>
                <td><span wicket:id="uptime"></span></td>
                <td><span wicket:id="routeCount"></span></td>
            </tr>
        </table>

        <a href="#" wicket:id="management">Go to context management</a>
    </div>
</wicket:panel>