/** * The value binding expression used as the starting point for this Metawidget. * <p> * Note: because we are working statically, <tt>setValue</tt> and <tt>setPath</tt> must both be * called. The former is the binding value that will be written into the generated output (see * <tt>StandardBindingProcessor</tt>). The latter is the actual path that should be inspected. * Because we are working statically we cannot determine these automatically. */ public String getValue() { return getAttribute( "value" ); }
public void setValue( String value ) { putAttribute( "value", value ); }
/** * Overridden to carry CSS style attributes into the nested Metawidget. */ @Override public void initNestedMetawidget( StaticMetawidget nestedMetawidget, Map<String, String> attributes ) { super.initNestedMetawidget( nestedMetawidget, attributes ); StaticHtmlMetawidget htmlMetawidget = (StaticHtmlMetawidget) nestedMetawidget; // Attributes htmlMetawidget.setStyle( mStyle ); htmlMetawidget.setStyleClass( mStyleClass ); }
StaticXmlWidget dataTable = super.createDataTableComponent(elementName, attributes, metawidget); dataTable.putAttribute("styleClass", "data-table"); bindingProcessor.processWidget(dataTable, elementName, attributes, (StaticUIMetawidget) metawidget); readableIdProcessor.processWidget(dataTable, elementName, attributes, metawidget); String tableValueExpression = valueHolderTable.getValue(); valueHolderTable.setValue(StaticFacesUtils.wrapExpression(asListValueExpression)); ((BaseStaticXmlWidget) dataTable).putAdditionalNamespaceURI("forgeview", "http://jboss.org/forge/view"); HtmlPanelGroup panelGroup = new HtmlPanelGroup(); FaceletsParam param = new FaceletsParam(); param.putAttribute("name", COLLECTION_VAR); param.putAttribute("value", tableValueExpression); panelGroup.getChildren().add(param); valueHolderTable.setValue(StaticFacesUtils.wrapExpression("forgeview:asList(" + COLLECTION_VAR + ")")); valueHolderTable.setValue(StaticFacesUtils.wrapExpression(COLLECTION_VAR)); panelGroup.getChildren().add(dataTable); HtmlPanelGrid panelGrid = new HtmlPanelGrid(); panelGrid.putAttribute("styleClass", "data-table-footer"); panelGrid.putAttribute("columns", "2"); panelGrid.putAttribute("columnClasses", ",remove-column");
( (ValueHolder) widget ).setConverter( converterId ); return widget; converter = getDateTimeConverter( converter ); converter = getDateTimeConverter( converter ); converter.putAttribute( "dateStyle", attributes.get( DATE_STYLE ) ); converter = getDateTimeConverter( converter ); converter.putAttribute( "pattern", attributes.get( DATETIME_PATTERN ) ); converter = getDateTimeConverter( converter ); converter.putAttribute( "timeStyle", attributes.get( TIME_STYLE ) ); converter = getDateTimeConverter( converter ); converter.putAttribute( "timeZone", attributes.get( TIME_ZONE ) ); converter = getDateTimeConverter( converter ); converter.putAttribute( "type", attributes.get( DATETIME_TYPE ) ); converter = getNumberConverter( converter ); converter.putAttribute( "currencyCode", attributes.get( CURRENCY_CODE ) ); converter = getNumberConverter( converter ); converter.putAttribute( "currencySymbol", attributes.get( CURRENCY_SYMBOL ) ); converter = getNumberConverter( converter ); converter.putAttribute( "groupingUsed", attributes.get( NUMBER_USES_GROUPING_SEPARATORS ) );
public StaticXmlWidget processWidget( StaticXmlWidget widget, String elementName, Map<String, String> attributes, StaticXmlMetawidget metawidget ) { if ( widget instanceof ValueHolder ) { // (do not overwrite existing, if any) if ( widget.getAttribute( "id" ) == null ) { ValueHolder valueWidget = (ValueHolder) widget; String valueExpression = valueWidget.getValue(); if ( valueExpression != null && !"".equals( valueExpression )) { valueExpression = StaticFacesUtils.unwrapExpression( valueExpression ); widget.putAttribute( "id", StringUtils.camelCase( valueExpression, StringUtils.SEPARATOR_DOT_CHAR ) ); } } } return widget; } }
@Override public void initNestedMetawidget( StaticMetawidget nestedMetawidget, Map<String, String> attributes ) { super.initNestedMetawidget( nestedMetawidget, attributes ); if ( ( (StaticUIMetawidget) nestedMetawidget ).getValue() == null ) { String valueExpression = getValue(); valueExpression = StaticFacesUtils.unwrapExpression( valueExpression ); valueExpression += StringUtils.SEPARATOR_DOT_CHAR + attributes.get( NAME ); valueExpression = StaticFacesUtils.wrapExpression( valueExpression ); ( (StaticUIMetawidget) nestedMetawidget ).setValue( valueExpression ); } } }
StaticXmlWidget dataTable = super.createDataTableComponent(elementName, attributes, metawidget); dataTable.putAttribute("styleClass", "data-table"); bindingProcessor.processWidget(dataTable, elementName, attributes, (StaticUIMetawidget) metawidget); readableIdProcessor.processWidget(dataTable, elementName, attributes, metawidget); String tableValueExpression = valueHolderTable.getValue(); valueHolderTable.setValue(StaticFacesUtils.wrapExpression(asListValueExpression)); ((BaseStaticXmlWidget) dataTable).putAdditionalNamespaceURI("forgeview", "http://jboss.org/forge/view"); HtmlPanelGroup panelGroup = new HtmlPanelGroup(); FaceletsParam param = new FaceletsParam(); param.putAttribute("name", COLLECTION_VAR); param.putAttribute("value", tableValueExpression); panelGroup.getChildren().add(param); valueHolderTable.setValue(StaticFacesUtils.wrapExpression("forgeview:asList(" + COLLECTION_VAR + ")")); valueHolderTable.setValue(StaticFacesUtils.wrapExpression(COLLECTION_VAR)); panelGroup.getChildren().add(dataTable); HtmlPanelGrid panelGrid = new HtmlPanelGrid(); panelGrid.putAttribute("styleClass", "data-table-footer"); panelGrid.putAttribute("columns", "2"); panelGrid.putAttribute("columnClasses", ",remove-column");