<!--!  Copyright (C) 2006-2014 Edgewall Software

  This software is licensed as described in the file COPYING, which
  you should have received as part of this distribution. The terms
  are also available at http://trac.edgewall.com/license.html.

  This software consists of voluntary contributions made by many
  individuals. For the exact contribution history, see the revision
  history and logs, available at http://trac.edgewall.org/.
-->
<!DOCTYPE html
    PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:xi="http://www.w3.org/2001/XInclude"
      xmlns:py="http://genshi.edgewall.org/"
      xmlns:i18n="http://genshi.edgewall.org/i18n">
  <xi:include href="admin.html" />
  <head>
    <title>Components</title>
    <script type="text/javascript">
      jQuery(document).ready(function($) {
        $("#complist").addSelectAllCheckboxes();
      });
    </script>
  </head>

  <body>
    <h2>Manage Components <span py:if="view == 'list'" class="trac-count">(${len(components)})</span></h2>

    <py:def function="owner_field(default_owner='', br_after_label=False)">
      <div class="field">
        <label>Owner:<br py:if="br_after_label"/>
          <py:choose>
            <select py:when="owners" size="1" id="owner" name="owner">
              <option py:for="owner in owners"
                      selected="${owner == default_owner or None}" value="$owner">$owner</option>
              <option py:if="default_owner and default_owner not in owners"
                      selected="selected" value="$default_owner">$default_owner</option>
            </select>
            <input py:otherwise="" type="text" name="owner" value="$default_owner" />
          </py:choose>
        </label>
      </div>
    </py:def>

    <py:choose test="view">
      <form py:when="'detail'" id="edit" class="mod" method="post" action="">
        <fieldset>
          <legend>Modify Component:</legend>
          <div class="field">
            <label>Name:<br /><input type="text" name="name" class="trac-autofocus" value="$component.name" /></label>
          </div>
          ${owner_field(component.owner, True)}
          <div class="field description">
            <label for="description" i18n:msg="">
              Description: (you may use <a tabindex="42" href="${href.wiki('WikiFormatting')}">WikiFormatting</a> here)
            </label>
            <textarea id="description" name="description" class="wikitext trac-fullwidth trac-resizable"
                      rows="8" cols="78">$component.description</textarea>
          </div>
        </fieldset>
        <div class="buttons">
          <input type="submit" name="save" class="trac-disable-on-submit" value="${_('Submit changes')}"/>
          <input type="submit" name="cancel" value="${_('Cancel')}" />
        </div>
      </form>

      <py:otherwise>
        <form class="addnew" id="addcomponent" method="post" action="">
          <fieldset>
            <legend>Add Component:</legend>
            <div class="field">
              <label>Name: <input type="text" name="name"/></label>
            </div>
            ${owner_field()}
            <div class="buttons">
              <input type="submit" name="add" class="trac-disable-on-submit" value="${_('Add')}"/>
            </div>
          </fieldset>
        </form>

        <py:choose>
          <form py:when="components" id="component_table" method="post" action="">
            <table class="listing" id="complist">
              <thead>
                <tr><th class="sel"></th>
                  <th>Name</th><th>Owner</th><th>Default</th>
                </tr>
              </thead>
              <tbody>
                <tr py:for="comp in components">
                  <td class="sel">
                    <input type="checkbox" class="trac-disable-determinant"
                           name="sel" value="$comp.name" />
                  </td>
                  <td class="name">
                    <a href="${panel_href(comp.name)}">$comp.name</a>
                  </td>
                  <td class="owner">$comp.owner</td>
                  <td class="default">
                    <input type="radio" name="default" value="$comp.name"
                           checked="${comp.name == default or None}" />
                  </td>
                </tr>
              </tbody>
            </table>
            <div class="buttons">
              <input type="submit" name="apply" value="${_('Apply changes')}" />
              <input type="submit" name="remove" class="trac-disable trac-disable-on-submit" value="${_('Remove selected items')}" />
              <input type="submit" name="clear" value="${_('Clear default')}" />
            </div>
            <p class="help">
              You can remove all items from this list to completely hide this
              field from the user interface.
            </p>
          </form>

          <p py:otherwise="" class="help">
            As long as you don't add any items to the list, this field
            will remain completely hidden from the user interface.
          </p>
        </py:choose>
      </py:otherwise>
    </py:choose>
  </body>

</html>
