<?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:extend xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
    <h1><span wicket:id="name">symbolic name</span> <small>details</small></h1>

    <ul class="nav nav-pills">
        <li class="active">
            <a href="#imports" data-toggle="tab">Imports</a>
        </li>
        <li>
            <a href="#exports" data-toggle="tab">Exports</a>
        </li>
        <li>
            <a href="#servicesIn" data-toggle="tab">Services in use</a>
        </li>
        <li>
            <a href="#servicesOut" data-toggle="tab">Services provided</a>
        </li>
    </ul>

    <div class="tab-content">
        <div class="tab-pane active" id="imports">
            <h2>Imports</h2>
            <table wicket:id="imports" class="table table-stripped table-bordered"></table>
        </div>

        <div class="tab-pane" id="exports">
            <h3>Exports</h3>
            <table wicket:id="exports" class="table table-stripped table-bordered"></table>
        </div>

        <div class="tab-pane" id="servicesIn">
            <h3>Services in use</h3>
<!--             <div wicket:id="servicesIn"></div> -->
        </div>

        <div class="tab-pane" id="servicesOut">
            <h3>Services provided by bundle</h3>
<!--             <div wicket:id="servicesOut"></div> -->
        </div>
    </div>

</wicket:extend>