ExternalContext exCtx = context.getExternalContext();
Map rqMap = exCtx.getRequestParameterMap();
Object clnId = rqMap.get(component.getClientId(context));
UISimpleTogglePanel panel = (UISimpleTogglePanel) component;
if (clnId != null) {
// enqueue event here for this component or for component with Id
// taken fro forId attribute
String switchType = panel.getSwitchType();
if (!(UISimpleTogglePanel.CLIENT_SWITCH_TYPE.equals(switchType))) {
//xxxx by nick - denis - use constants, please!
if ((panel.isOpened() == UISimpleTogglePanel.EXPANDED)) {
panel.setOpened(UISimpleTogglePanel.COLLAPSED);
} else {
//xxxx by nick - denis - use constants, please!
panel.setOpened(UISimpleTogglePanel.EXPANDED);
}
SimpleToggleEvent event = new SimpleToggleEvent(panel, (panel.isOpened()));
if (panel.isImmediate()) {
event.setPhaseId(PhaseId.APPLY_REQUEST_VALUES);
} else {
event.setPhaseId(PhaseId.INVOKE_APPLICATION);
}
event.queue();
} else {
if (panel.isOpened()!= new Boolean((String) clnId).booleanValue()){
panel.setAjaxSingle(false);
SimpleToggleEvent event = new SimpleToggleEvent(panel, (panel.isOpened()));
if (panel.isImmediate()) {
event.setPhaseId(PhaseId.APPLY_REQUEST_VALUES);
} else {
event.setPhaseId(PhaseId.INVOKE_APPLICATION);
}
event.queue();
}
if (null == panel.getValueBinding("value"))
panel.setOpened(new Boolean((String) clnId).booleanValue());
}
if (AjaxRendererUtils.isAjaxRequest(context) && panel.getSwitchType().equals(UISimpleTogglePanel.AJAX_SWITCH_TYPE)) {
AjaxRendererUtils.addRegionByName(context,
panel,
panel.getId());
}
}