@ Override @ SuppressWarnings ( "checkstyle:illegalcatch" ) public void onClick ( final AjaxRequestTarget _target ) { Instance instance = null ; try { if ( this . target . equals ( ScriptTarget . TOP ) ) { final PageReference reference = ( ( AbstractContentPage ) getPage ( ) ) . getCalledByPageReference ( ) ; if ( reference != null ) { final UIMenuItem menuItem = ( UIMenuItem ) ( ( ContentContainerPage ) reference . getPage ( ) ) . getMenuTree ( ) . getSelected ( ) . getDefaultModelObject ( ) ; final RecentObjectLink link = new RecentObjectLink ( menuItem ) ; if ( link != null ) { ( ( EFapsSession ) getSession ( ) ) . addRecent ( link ) ; } } } final AbstractUIField uiField = super . getModelObject ( ) ; if ( uiField . getInstanceKey ( ) != null ) { Menu menu = null ; try { instance = uiField . getInstance ( ) ; menu = Menu . getTypeTreeMenu ( instance . getType ( ) ) ; } catch ( final Exception e ) { if ( menu == null ) { throw new EFapsException ( LoadInTargetAjaxLink . class , "NoTreeMenu" , instance ) ; } } final ContentContainerPage page = new ContentContainerPage ( menu . getUUID ( ) , uiField . getInstanceKey ( ) , uiField . getParent ( ) instanceof UIStructurBrowser ) ; final CharSequence url = urlFor ( new RenderPageRequestHandler ( new PageProvider ( page ) ) ) ; // touch the page to ensure that the pagemanager stores it to be accessible getSession ( ) . getPageManager ( ) . touchPage ( page ) ; final StringBuilder js = new StringBuilder ( ) . append ( this . target . key ) . append ( ".dijit.registry.byId(\"" ) . append ( "mainPanel" ) . append ( "\").set(\"content\", dojo.create(\"iframe\",{" ) . append ( "\"id\": \"" ) . append ( MainPage . IFRAME_ID ) . append ( "\",\"src\": \"./wicket/" ) . append ( url ) . append ( "\",\"style\": \"border: 0; width: 100%; height: 99%\"" ) . append ( "}));" ) ; _target . appendJavaScript ( js ) ; } } catch ( final EFapsException e ) { throw new RestartResponseException ( new ErrorPage ( e ) ) ; } }
Method to load something inside the opener window .