Author: nbelaevski
Date: 2007-11-20 22:50:06 -0500 (Tue, 20 Nov 2007)
New Revision: 4128
Removed:
branches/3.1.x/sandbox/ui/listShuttle/src/main/resources/org/richfaces/renderkit/html/scripts/OrderingList.js
Modified:
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/component/UIListShuttle.java
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/model/ListShuttleDataModel.java
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/ListShuttleRendererBase.java
branches/3.1.x/sandbox/ui/listShuttle/src/main/resources/org/richfaces/renderkit/html/scripts/ListBase.js
branches/3.1.x/sandbox/ui/listShuttle/src/main/resources/org/richfaces/renderkit/html/scripts/ListShuttle.js
branches/3.1.x/sandbox/ui/listShuttle/src/main/templates/org/richfaces/htmlListShuttle.jspx
Log:
latest changes for listShuttle
Modified:
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/component/UIListShuttle.java
===================================================================
---
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/component/UIListShuttle.java 2007-11-21
03:49:37 UTC (rev 4127)
+++
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/component/UIListShuttle.java 2007-11-21
03:50:06 UTC (rev 4128)
@@ -15,8 +15,12 @@
import javax.faces.el.MethodBinding;
import javax.faces.el.ValueBinding;
import javax.faces.event.ValueChangeListener;
+import javax.faces.model.DataModel;
+import org.richfaces.component.UIOrderingList.SubmittedValue;
+import org.richfaces.model.ListShuttleDataModel;
import org.richfaces.model.ListShuttleRowKey;
+import org.richfaces.model.TranslatedSequenceDataModel;
/**
* JSF component class
@@ -93,6 +97,8 @@
}
}
+ private transient SubmittedValue submittedValueHolder = null;
+
private Object sourceValue;
private boolean sourceValueSet;
@@ -174,7 +180,15 @@
}
public org.ajax4jsf.model.ExtendedDataModel createDataModel() {
- return null;
+ DataModel sourceDataModel = createDataModel(getSourceValue());
+ DataModel targetDataModel = createDataModel(getTargetValue());
+
+ if (isTranslatedRenderingState() || isTranslatedState()) {
+ return new ListShuttleDataModel(sourceDataModel, targetDataModel,
+ isTranslatedState(), submittedValueHolder != null ?
submittedValueHolder.translationTable : null);
+ } else {
+ return new ListShuttleDataModel(sourceDataModel, targetDataModel, false, null);
+ }
}
public void addValueChangeListener(ValueChangeListener listener) {
@@ -191,4 +205,13 @@
removeFacesListener(listener);
}
+ public boolean isSource() {
+ ListShuttleDataModel dataModel = (ListShuttleDataModel) getExtendedDataModel();
+ return dataModel.isSource();
+ }
+
+ public boolean isTarget() {
+ ListShuttleDataModel dataModel = (ListShuttleDataModel) getExtendedDataModel();
+ return dataModel.isTarget();
+ }
}
Modified:
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/model/ListShuttleDataModel.java
===================================================================
---
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/model/ListShuttleDataModel.java 2007-11-21
03:49:37 UTC (rev 4127)
+++
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/model/ListShuttleDataModel.java 2007-11-21
03:50:06 UTC (rev 4128)
@@ -23,6 +23,8 @@
private Object rowKey;
+ private Boolean useSource = null;
+
private boolean translatedModel;
private Map translationTable;
private SequenceDataModel sourceModel;
@@ -59,20 +61,33 @@
return rowKey;
}
+ private Object translate(Object key) {
+ if (translationTable != null && key != null) {
+ return translationTable.get(key);
+ } else {
+ return key;
+ }
+ }
+
private void setShuttleRowKey(ListShuttleRowKey shuttleRowKey) {
Object sourceKey = null;
Object targetKey = null;
+ Boolean useSource = null;
if (shuttleRowKey != null) {
if (shuttleRowKey.isSource()) {
sourceKey = shuttleRowKey.getRowKey();
+ useSource = Boolean.TRUE;
} else {
targetKey = shuttleRowKey.getRowKey();
+ useSource = Boolean.FALSE;
}
}
- this.sourceModel.setRowKey(null);
- this.targetModel.setRowKey(null);
+ this.useSource = useSource;
+
+ this.sourceModel.setRowKey(sourceKey);
+ this.targetModel.setRowKey(targetKey);
}
/* (non-Javadoc)
@@ -87,7 +102,7 @@
} else {
if (this.translatedModel) {
if (rowKey != null) {
- setShuttleRowKey((ListShuttleRowKey) this.translationTable.get(key));
+ setShuttleRowKey((ListShuttleRowKey) translate(key));
} else {
setShuttleRowKey(null);
}
@@ -118,30 +133,32 @@
Object argument) throws IOException {
ListShuttleRowKey shuttleRowKey = new ListShuttleRowKey(rowKey, true);
-
+ Object translatedShuttleRowKey = translate(shuttleRowKey);
+
if (translatedModel) {
visitor.process(context, new TranslatedRowKey(
- shuttleRowKey, String.valueOf(translationTable.get(shuttleRowKey))), argument);
+ shuttleRowKey, String.valueOf(translatedShuttleRowKey)), argument);
} else {
- visitor.process(context, translationTable.get(shuttleRowKey), argument);
+ visitor.process(context, translatedShuttleRowKey, argument);
}
}
- }, new SequenceRange(0, -1), null);
+ }, new SequenceRange(0, -1), argument);
this.targetModel.walk(context, new DataVisitor(){
public void process(FacesContext context, Object rowKey,
Object argument) throws IOException {
ListShuttleRowKey shuttleRowKey = new ListShuttleRowKey(rowKey, false);
+ Object translatedShuttleRowKey = translate(shuttleRowKey);
if (translatedModel) {
visitor.process(context, new TranslatedRowKey(
- shuttleRowKey, String.valueOf(translationTable.get(shuttleRowKey))), argument);
+ shuttleRowKey, String.valueOf(translatedShuttleRowKey)), argument);
} else {
- visitor.process(context, translationTable.get(shuttleRowKey), argument);
+ visitor.process(context, translatedShuttleRowKey, argument);
}
}
- }, new SequenceRange(0, -1), null);
+ }, new SequenceRange(0, -1), argument);
}
/* (non-Javadoc)
@@ -155,7 +172,13 @@
* @see javax.faces.model.DataModel#getRowData()
*/
public Object getRowData() {
- return sourceModel.isRowAvailable() ? sourceModel.getRowData() :
targetModel.getRowData();
+ if (isSource()) {
+ return sourceModel.getRowData();
+ } else if (isTarget()) {
+ return targetModel.getRowData();
+ } else {
+ return null;
+ }
}
/* (non-Javadoc)
@@ -177,7 +200,13 @@
* @see javax.faces.model.DataModel#isRowAvailable()
*/
public boolean isRowAvailable() {
- return sourceModel.isRowAvailable() || targetModel.isRowAvailable();
+ if (isSource()) {
+ return sourceModel.isRowAvailable();
+ } else if (isTarget()) {
+ return targetModel.isRowAvailable();
+ } else {
+ return false;
+ }
}
/* (non-Javadoc)
@@ -194,4 +223,11 @@
}
+ public boolean isSource() {
+ return Boolean.TRUE.equals(useSource);
+ }
+
+ public boolean isTarget() {
+ return Boolean.FALSE.equals(useSource);
+ }
}
Modified:
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/ListShuttleRendererBase.java
===================================================================
---
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/ListShuttleRendererBase.java 2007-11-21
03:49:37 UTC (rev 4127)
+++
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/ListShuttleRendererBase.java 2007-11-21
03:50:06 UTC (rev 4128)
@@ -12,6 +12,7 @@
import javax.faces.context.FacesContext;
import javax.faces.context.ResponseWriter;
+import org.ajax4jsf.component.UIDataAdaptor;
import org.ajax4jsf.renderkit.RendererUtils.HTML;
import org.richfaces.component.UIListShuttle;
@@ -23,6 +24,21 @@
private static final String MESSAGE_BUNDLE_NAME =
OrderingListRendererBase.class.getPackage().getName() + "ListShuttle";
+ private static class ListShuttleRendererTableHolder extends TableHolder {
+
+ private boolean source;
+
+ public ListShuttleRendererTableHolder(UIDataAdaptor table, boolean source) {
+ super(table);
+
+ this.source = source;
+ }
+
+ public boolean isSource() {
+ return source;
+ }
+ }
+
public ListShuttleRendererBase() {
super(MESSAGE_BUNDLE_NAME);
}
@@ -34,52 +50,69 @@
public void encodeTLHeader(FacesContext context, UIListShuttle shuttle) {
}
- public void encodeTLRows(FacesContext context, UIListShuttle shuttle) {
+
+ public void encodeTLRows(FacesContext context, UIListShuttle shuttle) throws IOException
{
+ encodeRows(context, shuttle, new ListShuttleRendererTableHolder(shuttle, false));
+ }
- }
public void encodeSLCaption(FacesContext context, UIListShuttle shuttle) {
}
- public void encodeSLControlsFacets(FacesContext context, UIListShuttle shuttle) {
+ public void encodeTLControlsFacets(FacesContext context, UIListShuttle shuttle) {
}
public void encodeSLHeader(FacesContext context, UIListShuttle shuttle) {
}
- public void encodeSLRows(FacesContext context, UIListShuttle shuttle) {
-
+
+ public void encodeSLRows(FacesContext context, UIListShuttle shuttle) throws IOException
{
+ encodeRows(context, shuttle, new ListShuttleRendererTableHolder(shuttle, true));
}
public void encodeOneRow(FacesContext context, TableHolder holder)
throws IOException {
- ResponseWriter writer = context.getResponseWriter();
UIListShuttle table = (UIListShuttle) holder.getTable();
- String clientId = holder.getTable().getClientId(context);
- writer.startElement(HTML.TR_ELEMENT, table);
- writer.writeAttribute("id", clientId, null);
+ ListShuttleRendererTableHolder shuttleRendererTableHolder =
(ListShuttleRendererTableHolder) holder;
+
+ if (shuttleRendererTableHolder.isSource() && table.isSource() ||
+ !shuttleRendererTableHolder.isSource() && table.isTarget()) {
+
+ ResponseWriter writer = context.getResponseWriter();
+ String clientId = holder.getTable().getClientId(context);
+ writer.startElement(HTML.TR_ELEMENT, table);
+ writer.writeAttribute("id", clientId, null);
- StringBuffer rowClassName = new StringBuffer("ol_normal
rich-ordering-list-row");
- StringBuffer cellClassName = new StringBuffer("ol_cell
rich-ordering-list-cell");
+ StringBuffer rowClassName = new StringBuffer("ol_normal
rich-ordering-list-row");
+ StringBuffer cellClassName = new StringBuffer("ol_cell
rich-ordering-list-cell");
- writer.writeAttribute("class", rowClassName.toString(), null);
+ writer.writeAttribute("class", rowClassName.toString(), null);
- List children = table.getChildren();
- for (Iterator iterator = children.iterator(); iterator.hasNext();) {
- UIComponent component = (UIComponent) iterator.next();
+ List children = table.getChildren();
+ for (Iterator iterator = children.iterator(); iterator.hasNext();) {
+ UIComponent component = (UIComponent) iterator.next();
- if (component instanceof UIColumn && component.isRendered()) {
- UIColumn column = (UIColumn) component;
+ if (component instanceof UIColumn && component.isRendered()) {
+ UIColumn column = (UIColumn) component;
- writer.startElement(HTML.td_ELEM, table);
+ writer.startElement(HTML.td_ELEM, table);
- writer.writeAttribute("class", cellClassName.toString(), null);
+ writer.writeAttribute("class", cellClassName.toString(), null);
- renderChildren(context, column);
+ renderChildren(context, column);
- writer.endElement(HTML.td_ELEM);
+ writer.endElement(HTML.td_ELEM);
+ }
}
+
+ writer.endElement(HTML.TR_ELEMENT);
}
-
- writer.endElement(HTML.TR_ELEMENT);
}
+
+ public void encodeChildren(FacesContext context, UIComponent component)
+ throws IOException {
+ if (component.isRendered()) {
+ ResponseWriter writer = context.getResponseWriter();
+ doEncodeChildren(writer, context, component);
+ }
+ }
}
Modified:
branches/3.1.x/sandbox/ui/listShuttle/src/main/resources/org/richfaces/renderkit/html/scripts/ListBase.js
===================================================================
---
branches/3.1.x/sandbox/ui/listShuttle/src/main/resources/org/richfaces/renderkit/html/scripts/ListBase.js 2007-11-21
03:49:37 UTC (rev 4127)
+++
branches/3.1.x/sandbox/ui/listShuttle/src/main/resources/org/richfaces/renderkit/html/scripts/ListBase.js 2007-11-21
03:50:06 UTC (rev 4128)
@@ -1,5 +1,11 @@
if(!window.Richfaces) window.Richfaces = {};
+Richfaces.ListBase = Class.create();
+
+Richfaces.ListBase.compare = function(obj1, obj2) {
+ return ((obj1 == obj2) ? 0 : ((obj1 < obj2) ? -1 : 1));
+}
+
Richfaces.ListBase.prototype = {
initialize : function(containerId, contentTableId, headerTableId, focusKeeperId,
valueKeeperId,
onclickControlId) {
@@ -305,6 +311,3 @@
}
-Richfaces.ListBase.compare = function(obj1, obj2) {
- return ((obj1 == obj2) ? 0 : ((obj1 < obj2) ? -1 : 1));
-}
Modified:
branches/3.1.x/sandbox/ui/listShuttle/src/main/resources/org/richfaces/renderkit/html/scripts/ListShuttle.js
===================================================================
---
branches/3.1.x/sandbox/ui/listShuttle/src/main/resources/org/richfaces/renderkit/html/scripts/ListShuttle.js 2007-11-21
03:49:37 UTC (rev 4127)
+++
branches/3.1.x/sandbox/ui/listShuttle/src/main/resources/org/richfaces/renderkit/html/scripts/ListShuttle.js 2007-11-21
03:50:06 UTC (rev 4128)
@@ -1,10 +1,11 @@
if(!window.Richfaces) window.Richfaces = {};
+Richfaces.ListShuttle = Class.create();
-Richfaces.ListShuttle = {
+Richfaces.ListShuttle.prototype = {
initialize: function(listParams, controlIds) {
- this.targetList = new ListBase(listParams[1]);
- this.sourceList = new OrderingList(listParams[0]);
+ this.targetList = Richfaces.ListBase.apply(Richfaces.ListBase.constructor(),
listParams[1]);
+ this.sourceList = Richfaces.OrderingList.apply(this, listParams[0]);
this.controlList = null;
this.initControlList(controlIds);
Deleted:
branches/3.1.x/sandbox/ui/listShuttle/src/main/resources/org/richfaces/renderkit/html/scripts/OrderingList.js
===================================================================
---
branches/3.1.x/sandbox/ui/listShuttle/src/main/resources/org/richfaces/renderkit/html/scripts/OrderingList.js 2007-11-21
03:49:37 UTC (rev 4127)
+++
branches/3.1.x/sandbox/ui/listShuttle/src/main/resources/org/richfaces/renderkit/html/scripts/OrderingList.js 2007-11-21
03:50:06 UTC (rev 4128)
@@ -1,156 +0,0 @@
-if(!window.Richfaces) window.Richfaces = {};
-Object.extend(OrderingList, ListBase);
-
-Richfaces.OrderingList = {
- initialize: function(ids, onorderchanged) {
- this.controlList = null;
- this.onorderchanged = onorderchanged;
-
- this.initControlList(ids);
- },
-
- initControlList : function(ids) {
- for (var i = 0; i < ids.length; i++) {
- var id = ids[i];
- var node = document.getElementById(containerId + id[0]);
- var disNode = document.getElementById(containerId + id[1]);
- if (node && disNode) {
- Shuttle.addClickListener(node, Shuttle.HANDLERS[id[0]].bindAsEventListener(this));
- this.controlList[i] = new Control(node, disNode, false, false, id[0]);
- }
- }
- this.controlListManager();
- },
-
- controlListManager : function() {
- this.selectedItems.sort(this.compareByRowIndex);
- var control;
- //FIXME
- if ((this.shuttleItems.length <= 1) || (this.selectedItems.length == 0)) {
- this.controlsProcessing(["first", "last", "down",
"up"]);
- } else if (this.selectedItems[0].rowIndex == 0) {
- this.controlsProcessing(["first", "up"]);
- } else if (this.selectedItems[this.selectedItems.length - 1].rowIndex ==
(this.shuttleItems.length - 1)) {
- this.controlsProcessing(["down", "last"]);
- } else {
- this.controlsProcessing();
- }
- },
-
- controlsProcessing : function(disabledControls) {
- for (var i = 0; i < this.controlList.length; i++) {
- control = this.controlList[i];
- if (control != null) {
- if (disabledControls != null && disabledControls.indexOf(control.action) !=
-1) control.doDisable();
- else control.doEnable();
- }
- }
- },
-
- moveSelectedItems : function(action, event) {
- event = window.event||event;
- var rows = this.shuttleTbody.rows;
- var item;
- if (this.selectedItems.length > 0) {
- this.selectedItems.sort(this.compareByRowIndex);
-
- if ((action == 'up') &&
this.getExtremeItem("first").previousSibling) {
- for (var i = 0; i < this.selectedItems.length; i++) {
- item = this.selectedItems[i];
- item.parentNode.insertBefore(item, item.previousSibling);
- }
- } else if ((action == 'down') &&
this.getExtremeItem("last").nextSibling) {
- for (var i = this.selectedItems.length - 1; i > -1; i--) {
- item = this.selectedItems[i];
- item.parentNode.insertBefore(item.nextSibling, item);
- }
- } else if (action == 'first') {
- var incr = this.selectedItems[0].rowIndex;
- for (var i = 0; i < this.selectedItems.length; i++) {
- item = this.selectedItems[i];
- item.parentNode.insertBefore(item, rows[item.rowIndex - incr]);
- }
- } else if (action == 'last') {
- var length = this.shuttleItems.length;
- var incr = length - this.selectedItems[this.selectedItems.length - 1].rowIndex;
- for (var i = this.selectedItems.length - 1; i > -1; i--) {
- item = this.selectedItems[i];
- if (item.rowIndex + incr > length - 1) {
- item.parentNode.insertBefore(item, null);
- } else {
- item.parentNode.insertBefore(item, rows[item.rowIndex + incr]);
- }
- }
- }
-
- this.shuttleItems = new Array();
- for (var i = 0; i < rows.length; i++) {
- this.shuttleItems.push(rows[i].item);
- }
- if (action != null)
- this.autoScrolling(action, event);
-
- this.onorderchanged();
- this.controlListManager();
- this.saveState();
- }
- },
-
- onkeydownHandler : function(event) {
- var action = null;
- switch (event.keyCode) {
- case 34 : action = 'last'; this.moveSelectedItems(action ,event); break;
//page down
- case 33 : action = 'first'; this.moveSelectedItems(action, event); break;
//page up
- case 38 : //up arrow
- action = 'up';
- if (event.ctrlKey) {
- this.moveSelectedItems(action, event);
- } else {
- this.moveActiveItem(action, event);
- }
- break;
- case 40 : //down arrow
- action = 'down';
- if (event.ctrlKey) {
- this.moveSelectedItems(action ,event);
- } else {
- this.moveActiveItem(action, event);
- }
- break;
- case 65 : // Ctrl + A
- if (event.ctrlKey) {
- this.selectAll();
- Shuttle.stopPropogation(event);
- }
- Richfaces.SelectItems.doActive(this.activeItem);
- this.saveState();
- break;
- case 32 : this.invertSelection(event); this.saveState(); break; //blank
- }
- },
-
- toString : function() {
- var result = new Array();
- for (var i = 0; i < this.shuttleItems.length; i++) {
- var item = this.shuttleItems[i];
- result.push(item._id);
- if (item._selected) {
- result.push(Shuttle.SELECTION_MARKER);
- }
- if (this.activeItem && (this.activeItem.rowIndex == item._node.rowIndex)) {
- result.push(Shuttle.ACTIVITY_MARKER);
- }
- if (i != (this.shuttleItems.length - 1)) {
- result.push(Shuttle.ITEM_SEPARATOR);
- }
- }
- return result.join("");
- },
-
- saveState : function() {
- if (this.activeItem != null || (this.selectedItems.length > 0)) {
- this.valueKeeper.value = this.toString();
- }
- }
-
-}
\ No newline at end of file
Modified:
branches/3.1.x/sandbox/ui/listShuttle/src/main/templates/org/richfaces/htmlListShuttle.jspx
===================================================================
---
branches/3.1.x/sandbox/ui/listShuttle/src/main/templates/org/richfaces/htmlListShuttle.jspx 2007-11-21
03:49:37 UTC (rev 4127)
+++
branches/3.1.x/sandbox/ui/listShuttle/src/main/templates/org/richfaces/htmlListShuttle.jspx 2007-11-21
03:50:06 UTC (rev 4128)
@@ -17,6 +17,8 @@
scripts/LayoutManager.js
scripts/Control.js,
scripts/OrderingList.js,
+ scripts/ListBase.js,
+ scripts/ListShuttle.js
</h:scripts>
<f:clientId var="clientId"/>
@@ -30,7 +32,7 @@
<tbody>
<tr>
<td class="ol_caption">
- <f:call name="encodeTLCaption"/>
+ <f:call name="encodeSLCaption"/>
</td>
</tr>
<tr>
@@ -38,13 +40,13 @@
<div id="#{clientId}headerBox" class="ol_list
ol_outputlist">
<div class="ol_list_header" style="width:
#{component.attributes['listWidth']}px;">
<table id="#{clientId}internal_header_tab"
class="ol_internal_header_tab rich-ordering-list-items"
cellpadding="0" cellspacing="0">
- <f:call name="encodeTLHeader"/>
+ <f:call name="encodeSLHeader"/>
</table>
</div>
<div id="#{clientId}contentBox" class="ol_list_content"
style="width: #{component.attributes['listWidth']}px;
height:#{component.attributes['listHeight']}px;">
<table id="#{clientId}internal_tab"
class="ol_internal_tab" cellpadding="0" cellspacing="0">
<tbody id="#{clientId}tbody">
- <f:call name="encodeTLRows" />
+ <f:call name="encodeSLRows" />
</tbody>
</table>
</div>
@@ -64,7 +66,7 @@
<tbody>
<tr>
<td colspan="2" class="ol_caption">
- <f:call name="encodeSLCaption"/>
+ <f:call name="encodeTLCaption"/>
</td>
</tr>
<tr>
@@ -72,13 +74,13 @@
<div id="#{clientId}tlHeaderBox" class="ol_list
ol_outputlist">
<div class="ol_list_header" style="width:
#{component.attributes['listWidth']}px;">
<table id="#{clientId}tlInternal_header_tab"
class="ol_internal_header_tab rich-ordering-list-items"
cellpadding="0" cellspacing="0">
- <f:call name="encodeSLHeader"/>
+ <f:call name="encodeTLHeader"/>
</table>
</div>
<div id="#{clientId}tlContentBox" class="ol_list_content"
style="width: #{component.attributes['listWidth']}px;
height:#{component.attributes['listHeight']}px;">
<table id="#{clientId}tlInternal_tab"
class="ol_internal_tab" cellpadding="0" cellspacing="0">
<tbody id="#{clientId}tlTbody">
- <f:call name="encodeSLRows" />
+ <f:call name="encodeTLRows" />
</tbody>
</table>
</div>
@@ -86,7 +88,7 @@
</td>
<td class="ol_center_button_col_valign">
<div class="ol_button_layout">
- <f:call name="encodeSLControlsFacets" />
+ <f:call name="encodeTLControlsFacets" />
</div>
</td>
</tr>
@@ -108,7 +110,7 @@
document.body.className = "body";
function init() {
var cotrolsIdPrefix = [['up', 'disup'], ['down',
'disdown'], ['last', 'dislast'],
['first','disfirst']];
- var listShuttle = new ListShuttle([['#{cId}', '#{cId}internal_tab',
'#{cId}internal_header_tab', '#{cId}focusKeeper',
'#{cId}valueKeeper', cotrolsIdPrefix, '#{cId}sortLabel', function()
{#{component.attributes['onorderchanged']}}],
+ var listShuttle = new Richfaces.ListShuttle([['#{cId}',
'#{cId}internal_tab', '#{cId}internal_header_tab',
'#{cId}focusKeeper', '#{cId}valueKeeper', cotrolsIdPrefix,
'#{cId}sortLabel', function()
{#{component.attributes['onorderchanged']}}],
['#{cId}', '#{cId}tlInternal_tab',
'#{cId}tlInternal_header_tab', '#{cId}tlFocusKeeper',
'#{cId}tlValueKeeper', cotrolsIdPrefix, '#{cId}tlSortLabel', function()
{#{component.attributes['onorderchanged']}}]]);
var sourceLayoutManager = new LayoutManager('#{cId}internal_header_tab',
'#{cId}internal_tab');
var targetLayoutManager = new LayoutManager('#{cId}tlInternal_header_tab',
'#{cId}tlInternal_tab');