<?xml version="1.0" encoding="iso-8859-1"?>
<!--
    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.

-->
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0"
          xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html"
          xmlns:trh="http://myfaces.apache.org/trinidad/html"
          xmlns:tr="http://myfaces.apache.org/trinidad">
  <jsp:directive.page contentType="text/html;charset=utf-8"/>
  <f:view>
    <tr:document title="Table Sorting Demo">
      <tr:form>
        <tr:panelGroupLayout layout="vertical">
          <f:facet name="separator">
            <tr:separator/>
          </f:facet>
          <tr:panelGroupLayout layout="horizontal">
            <tr:commandLink immediate="true" text="Component Guide" action="guide"/>
            <tr:spacer width="10"/>
            <tr:goLink destination="http://myfaces.apache.org/trinidad/trinidad-api/tagdoc/tr_table.html"
                       text="Tag Documentation"/>
            <tr:spacer width="10"/>
            <tr:goLink destination="http://myfaces.apache.org/trinidad/skin-selectors.html#table"
                       text="Skinning Key Documentation"/>
          </tr:panelGroupLayout>
          <tr:outputFormatted styleUsage="instruction" value="&lt;b>table sorting&lt;/b>"/>
          <tr:messages/>
          <tr:selectBooleanCheckbox value="#{sortableTable.caseSensitive}" autoSubmit="true"
                                    id="caseSensitive" label="Case sensitive (applies to the filename and type)"/>
          <tr:table summary="Sortable table" partialTriggers="caseSensitive"
                    value="#{sortableTable}" var="info" rows="10">
            <tr:column headerText="Filename" sortable="true" sortProperty="filename">
              <tr:outputText value="#{info.filename}"/>
            </tr:column>
            <tr:column headerText="Type" sortable="true" sortProperty="type">
              <tr:outputText value="#{info.type}"/>
            </tr:column>
            <tr:column headerText="Created" sortable="true" sortProperty="created">
              <tr:outputText value="#{info.created}"/>
            </tr:column>
            <tr:column headerText="Last Modified" sortable="true" sortProperty="modified">
              <tr:outputText value="#{info.modified}"/>
            </tr:column>
            <tr:column headerText="Size" sortable="true" sortProperty="size">
              <tr:outputText value="#{info.size}"/>
            </tr:column>
          </tr:table>
        </tr:panelGroupLayout>
      </tr:form>
    </tr:document>
  </f:view>
</jsp:root>
