in src/main/java/org/apache/directory/fortress/web/panel/PermDetailPanel.java [528:604]
private void addRoleSearchModal()
{
final ModalWindow rolesModalWindow;
add( rolesModalWindow = new ModalWindow( "permrolesmodal" ) );
final RoleSearchModalPanel roleSearchModalPanel = new RoleSearchModalPanel(
rolesModalWindow.getContentId(), rolesModalWindow, isAdmin );
rolesModalWindow.setContent( roleSearchModalPanel );
rolesModalWindow.setWindowClosedCallback( new ModalWindow.WindowClosedCallback()
{
/** Default serialVersionUID */
private static final long serialVersionUID = 1L;
@Override
public void onClose( AjaxRequestTarget target )
{
roleConstraint = roleSearchModalPanel.getRoleSelection();
if ( roleConstraint != null )
{
rolesSelection = roleConstraint.getName();
component = editForm;
}
}
} );
add( new AjaxButton( "permroles.search" )
{
private static final long serialVersionUID = 1L;
@Override
protected void onSubmit( AjaxRequestTarget target )
{
String msg = "clicked on roles search";
msg += rolesSelection != null ? ": " + rolesSelection : "";
roleSearchModalPanel.setRoleSearchVal( rolesSelection );
display.setMessage( msg );
LOG.debug( msg );
target.prependJavaScript( GlobalIds.WICKET_WINDOW_UNLOAD_CONFIRMATION_FALSE );
rolesModalWindow.show( target );
}
@Override
protected void updateAjaxAttributes( AjaxRequestAttributes attributes )
{
super.updateAjaxAttributes( attributes );
AjaxCallListener ajaxCallListener = new AjaxCallListener()
{
/** Default serialVersionUID */
private static final long serialVersionUID = 1L;
@Override
public CharSequence getFailureHandler( Component component )
{
return GlobalIds.WINDOW_LOCATION_REPLACE_COMMANDER_HOME_HTML;
}
};
attributes.getAjaxCallListeners().add( ajaxCallListener );
}
} );
String modalLabel;
if ( isAdmin )
{
modalLabel = "Admin Role Selection Modal";
}
else
{
modalLabel = "RBAC Role Selection Modal";
}
rolesModalWindow.setTitle( modalLabel );
rolesModalWindow.setInitialWidth( 700 );
rolesModalWindow.setInitialHeight( 450 );
rolesModalWindow.setCookieName( "role-assign-modal" );
}