blob: 3fecb4bfd9128ce89af6573ae03d5b5cbc070053 [file] [log] [blame]
<?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.
-->
<ui:composition template="/main.xhtml"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:tc="http://myfaces.apache.org/tobago/component"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:f="http://xmlns.jcp.org/jsf/core">
<p>A <code class="language-markup">&lt;tc:sheet/&gt;</code> can contain a
<code class="language-markup">&lt;tc:row/&gt;</code> tag with a containing <code
class="language-markup">&lt;tc:event/&gt;</code> tag.
The event type can be set by the <code>event</code> attribute. Possible values are 'click' and 'dblclick'.
</p>
<tc:section label="Example">
Here are different examples:
<tc:selectOneRadio id="changeExample" value="#{sheetController.columnEventSample}">
<tc:selectItem itemValue="0" itemLabel="on click with AJAX"/>
<tc:selectItem itemValue="1" itemLabel="on click with full request"/>
<tc:selectItem itemValue="2" itemLabel="on double click with full request"/>
<tc:selectItem itemValue="3" itemLabel="open popup on click with AJAX"/>
<tc:selectItem itemValue="4" itemLabel="on dblclick with AJAX"/>
<f:ajax render="example"/>
</tc:selectOneRadio>
<p>Select an object from the SolarObjects list.</p>
<tc:segmentLayout id="example" medium="5seg 7seg">
<tc:box label="Solar Objects">
<tc:sheet id="s1" value="#{sheetController.solarList}" var="object" columns="1fr" markup="small">
<tc:style maxHeight="486px"/>
<tc:column label="Name">
<tc:out value="#{object.name}" id="t_name" labelLayout="skip"/>
</tc:column>
<tc:row id="sample0" rendered="#{sheetController.columnEventSample == 0}">
<f:ajax render=":::detail" listener="#{sheetController.selectSolarObject}" id="columnEventAjax"/>
</tc:row>
<tc:row id="sample1" rendered="#{sheetController.columnEventSample == 1}">
<tc:event actionListener="#{sheetController.selectSolarObject}" immediate="true" id="columnEventClick"
event="click">
<tc:resetInputActionListener/>
</tc:event>
</tc:row>
<tc:row id="sample2" rendered="#{sheetController.columnEventSample == 2}">
<tc:event actionListener="#{sheetController.selectSolarObject}" immediate="true" id="columnEventDblClick"
event="dblclick">
<tc:resetInputActionListener/>
</tc:event>
</tc:row>
<tc:row id="sample3" rendered="#{sheetController.columnEventSample == 3}">
<tc:event>
<f:ajax id="columnEventPopup" execute=":::popup" render=":::popup"
listener="#{sheetController.selectSolarObject}"/>
<tc:operation name="show" for=":::popup"/>
</tc:event>
</tc:row>
<tc:row id="sample4" rendered="#{sheetController.columnEventSample == 4}">
<f:ajax render=":::detail" listener="#{sheetController.selectSolarObject}" id="columnEventAjax"
event="dblclick"/>
</tc:row>
</tc:sheet>
</tc:box>
<tc:box id="detail" label="Details" rendered="#{sheetController.columnEventSample ne 3}">
<tc:panel rendered="#{sheetController.selectedSolarObject != null}">
<tc:in id="name" label="Name" value="#{sheetController.selectedSolarObject.name}" required="true"/>
<tc:in label="Number" value="#{sheetController.selectedSolarObject.number}"/>
<tc:in label="Orbit" value="#{sheetController.selectedSolarObject.orbit}"/>
<tc:in label="Distance" value="#{sheetController.selectedSolarObject.distance}"/>
<tc:in label="Period" value="#{sheetController.selectedSolarObject.period}"/>
<tc:in label="Obliquity" value="#{sheetController.selectedSolarObject.incl}"/>
<tc:in label="Eccentricity" value="#{sheetController.selectedSolarObject.eccen}"/>
<tc:in label="Discoverer" value="#{sheetController.selectedSolarObject.discoverer}"/>
<tc:in label="Discover Year" value="#{sheetController.selectedSolarObject.discoverYear}"/>
</tc:panel>
<tc:panel rendered="#{sheetController.selectedSolarObject == null}">
<tc:out value="Please select a solar object on the left side to show its details."/>
</tc:panel>
</tc:box>
</tc:segmentLayout>
<tc:panel id="reloadable">
<tc:popup id="popup">
<tc:box label="Details">
<tc:in id="popupName" label="Name" value="#{sheetController.selectedSolarObject.name}" required="true"/>
<tc:in label="Number" value="#{sheetController.selectedSolarObject.number}"/>
<tc:in label="Orbit" value="#{sheetController.selectedSolarObject.orbit}"/>
<tc:in label="Distance" value="#{sheetController.selectedSolarObject.distance}"/>
<tc:in label="Period" value="#{sheetController.selectedSolarObject.period}"/>
<tc:in label="Obliquity" value="#{sheetController.selectedSolarObject.incl}"/>
<tc:in label="Eccentricity" value="#{sheetController.selectedSolarObject.eccen}"/>
<tc:in label="Discoverer" value="#{sheetController.selectedSolarObject.discoverer}"/>
<tc:in label="Discover Year" value="#{sheetController.selectedSolarObject.discoverYear}"/>
<tc:buttons>
<tc:button id="submit" label="Submit" action="#{popupController.closePopup1}">
<f:ajax execute="popup" render=":::example"/>
<tc:operation name="hide" for="popup"/>
</tc:button>
<tc:button id="cancel" label="Cancel" omit="true">
<tc:operation name="hide" for="popup"/>
</tc:button>
</tc:buttons>
</tc:box>
</tc:popup>
</tc:panel>
</tc:section>
</ui:composition>