<?xml version="1.0" encoding="UTF-8"?>
<!--
   Copyright 2004 The Apache Software Foundation
  
   Licensed 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.
-->
<!--  $Id$ -->
<!DOCTYPE component-specification PUBLIC 
  "-//Apache Software Foundation//Tapestry Specification 3.0//EN" 
  "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">
	
<component-specification class="org.apache.tapestry.contrib.table.components.TableFormPages" 
	allow-body="no" allow-informal-parameters="yes">
	
	<description>
        A version of TablePages that is designed for operation in a form. 
        It is a low level Table component that renders the pages in the table. 
        This component must be wrapped by TableView. 
	</description>
  
	<component id="informal" type="Any" inherit-informal-parameters="yes"/>
  
	<parameter name="pagesDisplayed" 
		type="int" 
		required="no"
		direction="auto"
    	default-value="7">
		<description>
            Determines the maximum number of pages to be displayed in the page list 
            when the table has more than one page. 
        </description>
    </parameter>
  
	<property-specification name="selectedPage" type="int"/>
  
	<component id="hiddenCurrentPage" type="Hidden">
		<binding name="value" expression="currentPage"/>
	</component>
  
	<component id="hiddenPageCount" type="Hidden">
		<binding name="value" expression="pageCount"/>
	</component>
  
	<component id="hiddenStartPage" type="Hidden">
		<binding name="value" expression="startPage"/>
	</component>
  
	<component id="hiddenStopPage" type="Hidden">
		<binding name="value" expression="stopPage"/>
	</component>
  
	<component id="condCurrent" type="Conditional">
		<binding name="condition" expression="condCurrent"/>
	</component>
  
	<component id="condOther" type="Conditional">
		<binding name="condition" expression="!condCurrent"/>
	</component>
  
	<component id="iterPage" type="Foreach">
		<binding name="source" expression="pageList"/>
		<binding name="value" expression="displayPage"/>
	</component>

	<component id="insertCurrentPage" type="Insert">
	    <binding name="value" expression="displayPage"/>
	</component>

	<component id="insertOtherPage" type="Insert">
	    <binding name="value" expression="displayPage"/>
	</component>

	<component id="linkPage" type="LinkSubmit">
	    <binding name="listener" expression="listeners.changePage"/>
	    <binding name="tag" expression="displayPage"/>
	    <binding name="selected" expression="selectedPage"/>
	</component>

	<component id="linkFirst" type="LinkSubmit">
	    <binding name="listener" expression="listeners.changePage"/>
	    <binding name="tag" expression="1"/>
	    <binding name="selected" expression="selectedPage"/>
	    <binding name="disabled" expression="!condBack"/>
	</component>

	<component id="linkBack" type="LinkSubmit">
	    <binding name="listener" expression="listeners.changePage"/>
	    <binding name="tag" expression="currentPage - 1"/>
	    <binding name="selected" expression="selectedPage"/>
	    <binding name="disabled" expression="!condBack"/>
	</component>

	<component id="linkFwd" type="LinkSubmit">
	    <binding name="listener" expression="listeners.changePage"/>
	    <binding name="tag" expression="currentPage + 1"/>
	    <binding name="selected" expression="selectedPage"/>
	    <binding name="disabled" expression="!condFwd"/>
	</component>
	
	<component id="linkLast" type="LinkSubmit">
	    <binding name="listener" expression="listeners.changePage"/>
	    <binding name="tag" expression="pageCount"/>
	    <binding name="selected" expression="selectedPage"/>
	    <binding name="disabled" expression="!condFwd"/>
	</component>

</component-specification>
