public String getCheckboxId(FacesContext context) { index++; return this.getClientId(context) + UINamingContainer.getSeparatorChar(context) + index; }
public String getRadioButtonId(FacesContext context) { index++; return this.getClientId(context) + UINamingContainer.getSeparatorChar(context) + index; }
@Override public String getContainerClientId(FacesContext context) { String clientId = super.getContainerClientId(context); String _rowKey = getRowKey(); if (_rowKey == null) { return clientId; } else { StringBuilder builder = SharedStringBuilder.get(context, SB_GET_CONTAINER_CLIENT_ID); return builder.append(clientId).append(UINamingContainer.getSeparatorChar(context)).append(rowKey).toString(); } }
protected String resolveName(RemoteCommand command, FacesContext context) { String userName = command.getName(); if (userName != null) { return userName; } else { return "command_" + command.getClientId(context).replaceAll("-|" + UINamingContainer.getSeparatorChar(context), "_"); } } }
@Override public void invokeContextCallback(FacesContext fc, UIComponent component) { UIData uiData = (UIData) component; String[] idTokens = dragId.split(String.valueOf(UINamingContainer.getSeparatorChar(fc))); int rowIndex = Integer.parseInt(idTokens[idTokens.length - 2]); uiData.setRowIndex(rowIndex); data = uiData.getRowData(); uiData.setRowIndex(-1); }
@Override public String getContainerClientId(FacesContext context) { //clientId is without rowIndex String componentClientId = getClientId(context); int rowIndex = getRowIndex(); if (rowIndex == -1) { return componentClientId; } StringBuilder sb = SharedStringBuilder.get(getFacesContext(), SB_ID, componentClientId.length() + 4); String containerClientId = sb.append(componentClientId).append(UINamingContainer.getSeparatorChar(context)).append(rowIndex).toString(); return containerClientId; }
public static String resolveWidgetVar(FacesContext context, Widget widget) { UIComponent component = (UIComponent) widget; String userWidgetVar = (String) component.getAttributes().get("widgetVar"); if (!LangUtils.isValueBlank(userWidgetVar)) { return userWidgetVar; } else { return "widget_" + component.getClientId(context).replaceAll("-|" + UINamingContainer.getSeparatorChar(context), "_"); } }
public List findOrderedColumns(String columnOrder) { FacesContext context = getFacesContext(); List orderedColumns = null; if (columnOrder != null) { orderedColumns = new ArrayList(); String[] order = columnOrder.split(","); String separator = String.valueOf(UINamingContainer.getSeparatorChar(context)); for (String columnId : order) { for (UIComponent child : getChildren()) { if (child instanceof Column && child.getClientId(context).equals(columnId)) { orderedColumns.add(child); break; } else if (child instanceof Columns) { String columnsClientId = child.getClientId(context); if (columnId.startsWith(columnsClientId)) { String[] ids = columnId.split(separator); int index = Integer.parseInt(ids[ids.length - 1]); orderedColumns.add(new DynamicColumn(index, (Columns) child, (columnsClientId + separator + index))); break; } } } } } return orderedColumns; }
public List<DynamicColumn> getDynamicColumns() { if (dynamicColumns == null) { FacesContext context = getFacesContext(); setRowIndex(-1); char separator = UINamingContainer.getSeparatorChar(context); dynamicColumns = new ArrayList<>(); String clientId = getClientId(context); for (int i = 0; i < getRowCount(); i++) { DynamicColumn dynaColumn = new DynamicColumn(i, this); dynaColumn.setColumnKey(clientId + separator + i); dynamicColumns.add(dynaColumn); } } return dynamicColumns; }
public List<UIColumn> getColumns() { if (columns == null) { columns = new ArrayList<>(); FacesContext context = getFacesContext(); char separator = UINamingContainer.getSeparatorChar(context); for (UIComponent child : getChildren()) { if (child instanceof Column) { columns.add((UIColumn) child); } else if (child instanceof Columns) { Columns uiColumns = (Columns) child; String uiColumnsClientId = uiColumns.getClientId(context); for (int i = 0; i < uiColumns.getRowCount(); i++) { DynamicColumn dynaColumn = new DynamicColumn(i, uiColumns); dynaColumn.setColumnKey(uiColumnsClientId + separator + i); columns.add(dynaColumn); } } } } return columns; }
public List<UIColumn> getColumns() { if (columns == null) { columns = new ArrayList<>(); FacesContext context = getFacesContext(); char separator = UINamingContainer.getSeparatorChar(context); for (UIComponent child : getChildren()) { if (child instanceof Column) { columns.add((UIColumn) child); } else if (child instanceof Columns) { Columns uiColumns = (Columns) child; String uiColumnsClientId = uiColumns.getClientId(context); for (int i = 0; i < uiColumns.getRowCount(); i++) { DynamicColumn dynaColumn = new DynamicColumn(i, uiColumns); dynaColumn.setColumnKey(uiColumnsClientId + separator + i); columns.add(dynaColumn); } } } } return columns; }
@Override public String getContainerClientId(FacesContext context) { if (isPrependId() || isRepeating()) { String clientId = super.getContainerClientId(context); int index = getIndex(); if (index == -1) { return clientId; } StringBuilder sb = SharedStringBuilder.get(getFacesContext(), SB_ID, clientId.length() + 4); return sb.append(clientId).append(UINamingContainer.getSeparatorChar(context)).append(index).toString(); } else { UIComponent parent = getParent(); while (parent != null) { if (parent instanceof NamingContainer) { return parent.getContainerClientId(context); } parent = parent.getParent(); } return null; } }
protected void encodeCustomLayout(FacesContext context, SelectOneRadio radio) throws IOException { Converter converter = radio.getConverter(); String name = radio.getClientId(context); List<SelectItem> selectItems = getSelectItems(context, radio); String currentValue = ComponentUtils.getValueToRender(context, radio); for (int i = 0; i < selectItems.size(); i++) { SelectItem selectItem = selectItems.get(i); String id = name + UINamingContainer.getSeparatorChar(context) + i; boolean selected = isSelected(context, radio, selectItem, currentValue); String itemValueAsString = getOptionAsString(context, radio, converter, selectItem.getValue()); encodeOptionInput(context, radio, id, name, selected, false, itemValueAsString); } }
@Override public void decode(FacesContext context, DataTable table) { String globalFilterParam = table.getClientId(context) + UINamingContainer.getSeparatorChar(context) + "globalFilter"; List<FilterMeta> filterMetadata = populateFilterMetaData(context, table); Map<String, Object> filterParameterMap = populateFilterParameterMap(context, table, filterMetadata, globalFilterParam); table.setFilters(filterParameterMap); table.setFilterMetadata(filterMetadata); }
protected void encodeSelectItems(FacesContext context, SelectOneButton button, List<SelectItem> selectItems) throws IOException { int selectItemsSize = selectItems.size(); Converter converter = button.getConverter(); String name = button.getClientId(context); Object value = button.getSubmittedValue(); if (value == null) { value = button.getValue(); } Class type = value == null ? String.class : value.getClass(); for (int i = 0; i < selectItems.size(); i++) { SelectItem selectItem = selectItems.get(i); boolean disabled = selectItem.isDisabled() || button.isDisabled(); String id = name + UINamingContainer.getSeparatorChar(context) + i; boolean selected; if (value == null && selectItem.getValue() == null) { selected = true; } else { Object coercedItemValue = coerceToModelType(context, selectItem.getValue(), type); selected = (coercedItemValue != null) && coercedItemValue.equals(value); } encodeOption(context, button, selectItem, id, name, converter, selected, disabled, i, selectItemsSize); } }
public List<FilterMeta> populateFilterMetaData(FacesContext context, TreeTable tt) { List<FilterMeta> filterMetadata = new ArrayList<>(); String separator = String.valueOf(UINamingContainer.getSeparatorChar(context)); Map<String, String> params = context.getExternalContext().getRequestParameterMap(); for (UIColumn column : tt.getColumns()) { ValueExpression columnFilterByVE = column.getValueExpression("filterBy"); if (columnFilterByVE != null) { UIComponent filterFacet = column.getFacet("filter"); ValueExpression filterByVE = columnFilterByVE; Object filterValue = null; String filterId = null; if (column instanceof Column) { filterId = column.getClientId(context) + separator + "filter"; filterValue = (filterFacet == null) ? params.get(filterId) : ((ValueHolder) filterFacet).getLocalValue(); } else if (column instanceof DynamicColumn) { DynamicColumn dynamicColumn = (DynamicColumn) column; dynamicColumn.applyModel(); filterId = dynamicColumn.getContainerClientId(context) + separator + "filter"; filterValue = (filterFacet == null) ? params.get(filterId) : ((ValueHolder) filterFacet).getLocalValue(); dynamicColumn.cleanModel(); } filterMetadata.add(new FilterMeta(column, filterByVE, filterValue)); } } return filterMetadata; }
public List<FilterMeta> populateFilterMetaData(FacesContext context, DataTable table) { List<FilterMeta> filterMetadata = new ArrayList<>(); String separator = String.valueOf(UINamingContainer.getSeparatorChar(context)); Map<String, String> params = context.getExternalContext().getRequestParameterMap(); boolean hasFrozenColumns = table.getFrozenColumns() > 0; if (!hasFrozenColumns) { ColumnGroup headerGroup = getColumnGroup(table, "header"); if (headerGroup != null) { populateFilterMetaDataInColumnGroup(context, filterMetadata, headerGroup, params, separator); } else { populateFilterMetaDataWithoutColumnGroups(context, table, filterMetadata, params, separator); } } else { ColumnGroup frozenHeaderGroup = getColumnGroup(table, "frozenHeader"); ColumnGroup scrollableHeaderGroup = getColumnGroup(table, "scrollableHeader"); if (frozenHeaderGroup != null) { populateFilterMetaDataInColumnGroup(context, filterMetadata, frozenHeaderGroup, params, separator); populateFilterMetaDataInColumnGroup(context, filterMetadata, scrollableHeaderGroup, params, separator); } else { populateFilterMetaDataWithoutColumnGroups(context, table, filterMetadata, params, separator); } } return filterMetadata; }
protected void encodePageLayout(FacesContext context, SelectOneRadio radio, List<SelectItem> selectItems) throws IOException { ResponseWriter writer = context.getResponseWriter(); Converter converter = radio.getConverter(); String name = radio.getClientId(context); String currentValue = ComponentUtils.getValueToRender(context, radio); for (int i = 0; i < selectItems.size(); i++) { SelectItem selectItem = selectItems.get(i); boolean disabled = selectItem.isDisabled() || radio.isDisabled(); String id = name + UINamingContainer.getSeparatorChar(context) + i; boolean selected = isSelected(context, radio, selectItem, currentValue); writer.startElement("tr", null); writer.startElement("td", null); encodeOption(context, radio, selectItem, id, name, converter, selected, disabled); writer.endElement("td"); writer.endElement("tr"); } }
protected void encodeLineLayout(FacesContext context, SelectOneRadio radio, List<SelectItem> selectItems) throws IOException { ResponseWriter writer = context.getResponseWriter(); Converter converter = radio.getConverter(); String name = radio.getClientId(context); String currentValue = ComponentUtils.getValueToRender(context, radio); writer.startElement("tr", null); for (int i = 0; i < selectItems.size(); i++) { SelectItem selectItem = selectItems.get(i); boolean disabled = selectItem.isDisabled() || radio.isDisabled(); String id = name + UINamingContainer.getSeparatorChar(context) + i; boolean selected = isSelected(context, radio, selectItem, currentValue); writer.startElement("td", null); encodeOption(context, radio, selectItem, id, name, converter, selected, disabled); writer.endElement("td"); } writer.endElement("tr"); }
protected void encodeCustomLayout(FacesContext context, SelectManyCheckbox checkbox) throws IOException { List<SelectItem> selectItems = getSelectItems(context, checkbox); Converter converter = checkbox.getConverter(); Object values = getValues(checkbox); Object submittedValues = getSubmittedValues(checkbox); int idx = 0; for (int i = 0; i < selectItems.size(); i++) { SelectItem selectItem = selectItems.get(i); String itemValueAsString = getOptionAsString(context, checkbox, converter, selectItem.getValue()); String name = checkbox.getClientId(context); String id = name + UINamingContainer.getSeparatorChar(context) + idx; Object valuesArray; Object itemValue; if (submittedValues != null) { valuesArray = submittedValues; itemValue = itemValueAsString; } else { valuesArray = values; itemValue = selectItem.getValue(); } boolean selected = isSelected(context, checkbox, itemValue, valuesArray, converter); if (selectItem.isNoSelectionOption() && values != null && !selected) { return; } encodeOptionInput(context, checkbox, id, name, selected, true, itemValueAsString); idx++; } }