List of usage examples for org.apache.wicket.extensions.ajax.markup.html.modal ModalWindow setWindowClosedCallback
public ModalWindow setWindowClosedCallback(final WindowClosedCallback callback)
@{link WindowClosedCallback
instance. From source file:com.doculibre.constellio.wicket.panels.admin.elevate.ElevateQueryListPanel.java
License:Open Source License
public ElevateQueryListPanel(String id) { super(id);/* ww w . java2s . com*/ add(new DocIdsPanel("excludedDocIdsPanel", null, false)); IModel elevateQueriesModel = new LoadableDetachableModel() { @Override protected Object load() { AdminCollectionPanel collectionAdminPanel = (AdminCollectionPanel) findParent( AdminCollectionPanel.class); RecordCollection collection = collectionAdminPanel.getCollection(); String solrCoreName = collection.getName(); ElevateServices elevateServices = ConstellioSpringUtils.getElevateServices(); return elevateServices.getQueries(solrCoreName); } }; add(new ListView("queries", elevateQueriesModel) { @Override protected void populateItem(ListItem item) { final String queryText = (String) item.getModelObject(); ElevateServices elevateServices = ConstellioSpringUtils.getElevateServices(); final SimpleSearch querySimpleSearch = elevateServices.toSimpleSearch(queryText); int nbDocs = elevateServices.getElevatedDocIds(querySimpleSearch).size(); item.add(new Label("nbDocs", "" + nbDocs)); final ModalWindow detailsModal = new ModalWindow("detailsModal"); item.add(detailsModal); detailsModal.setInitialHeight(SingleColumnCRUDPanel.MODAL_HEIGHT); detailsModal.setCssClassName(ModalWindow.CSS_CLASS_GRAY); WebMarkupContainer detailsLink = new AjaxLink("detailsLink") { @Override public void onClick(AjaxRequestTarget target) { detailsModal .setContent(new ElevateQueryDocIdsPanel(detailsModal.getContentId(), queryText)); // detailsModal.setTitle(queryText); detailsModal.setWindowClosedCallback(new WindowClosedCallback() { @Override public void onClose(AjaxRequestTarget target) { target.addComponent(ElevateQueryListPanel.this); } }); detailsModal.show(target); } }; item.add(detailsLink); detailsLink.add(new SimpleSearchQueryPanel("queryText", querySimpleSearch)); WebMarkupContainer deleteLink = new AjaxLink("deleteLink") { @Override public void onClick(AjaxRequestTarget target) { ElevateServices elevateServices = ConstellioSpringUtils.getElevateServices(); elevateServices.deleteQuery(querySimpleSearch); target.addComponent(ElevateQueryListPanel.this); } @Override protected IAjaxCallDecorator getAjaxCallDecorator() { return new AjaxCallDecorator() { @Override public CharSequence decorateScript(CharSequence script) { String confirmMsg = getLocalizer().getString("confirmDelete", ElevateQueryListPanel.this); return "if (confirm('" + confirmMsg + "')) {" + script + "} else { return false; }"; } }; } }; item.add(deleteLink); } }); }
From source file:com.evolveum.midpoint.gui.api.page.PageBase.java
License:Apache License
protected ModalWindow createModalWindow(final String id, IModel<String> title, int width, int height) { final ModalWindow modal = new ModalWindow(id); add(modal);/* w ww . jav a 2 s. c o m*/ modal.setResizable(false); modal.setTitle(title); modal.setCookieName(PageBase.class.getSimpleName() + ((int) (Math.random() * 100))); modal.setInitialWidth(width); modal.setWidthUnit("px"); modal.setInitialHeight(height); modal.setHeightUnit("px"); modal.setCloseButtonCallback(new ModalWindow.CloseButtonCallback() { @Override public boolean onCloseButtonClicked(AjaxRequestTarget target) { return true; } }); modal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() { @Override public void onClose(AjaxRequestTarget target) { modal.close(target); } }); modal.add(new AbstractDefaultAjaxBehavior() { @Override public void renderHead(Component component, IHeaderResponse response) { response.render(OnDomReadyHeaderItem.forScript("Wicket.Window.unloadConfirmation = false;")); response.render(JavaScriptHeaderItem.forScript( "$(document).ready(function() {\n" + " $(document).bind('keyup', function(evt) {\n" + " if (evt.keyCode == 27) {\n" + getCallbackScript() + "\n" + " evt.preventDefault();\n" + " }\n" + " });\n" + "});", id)); } @Override protected void respond(AjaxRequestTarget target) { modal.close(target); } }); return modal; }
From source file:com.evolveum.midpoint.web.component.util.SimplePanel.java
License:Apache License
protected ModalWindow createModalWindow(final String id, IModel<String> title, int width, int height) { final ModalWindow modal = new ModalWindow(id); add(modal);//from w w w . j a va 2 s .c o m modal.setResizable(false); modal.setTitle(title); modal.setCookieName(PageBase.class.getSimpleName() + ((int) (Math.random() * 100))); modal.setInitialWidth(width); modal.setWidthUnit("px"); modal.setInitialHeight(height); modal.setHeightUnit("px"); modal.setCloseButtonCallback(new ModalWindow.CloseButtonCallback() { @Override public boolean onCloseButtonClicked(AjaxRequestTarget target) { return true; } }); modal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() { @Override public void onClose(AjaxRequestTarget target) { modal.close(target); } }); modal.add(new AbstractDefaultAjaxBehavior() { @Override public void renderHead(Component component, IHeaderResponse response) { response.render(OnDomReadyHeaderItem.forScript("Wicket.Window.unloadConfirmation = false;")); response.render(JavaScriptHeaderItem.forScript( "$(document).ready(function() {\n" + " $(document).bind('keyup', function(evt) {\n" + " if (evt.keyCode == 27) {\n" + getCallbackScript() + "\n" + " evt.preventDefault();\n" + " }\n" + " });\n" + "});", id)); } @Override protected void respond(AjaxRequestTarget target) { modal.close(target); } }); return modal; }
From source file:com.evolveum.midpoint.web.page.admin.configuration.component.ObjectSelectionPage.java
License:Apache License
public static <T extends ObjectType> void prepareDialog(ModalWindow dialog, ObjectSelectionPanel.Context context, final Component callingComponent, String titleResourceKey, final String idToRefresh) { dialog.setPageCreator(new ObjectSelectionPage.PageCreator(dialog, context)); dialog.setInitialWidth(800);/* w ww. ja va 2s . c om*/ dialog.setInitialHeight(500); dialog.setTitle(PageBase.createStringResourceStatic(callingComponent, titleResourceKey)); dialog.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() { // We are not able to refresh targets residing in the parent page // from inside the modal window -> so we have to do it in this // context, when the modal window is being closed. public void onClose(AjaxRequestTarget target) { target.add(callingComponent.get(idToRefresh)); } }); dialog.showUnloadConfirmation(false); dialog.setCssClassName(ModalWindow.CSS_CLASS_GRAY); dialog.setCookieName(ObjectSelectionPanel.class.getSimpleName() + ((int) (Math.random() * 100))); dialog.setWidthUnit("px"); }
From source file:com.evolveum.midpoint.web.page.PageTemplate.java
License:Apache License
protected ModalWindow createModalWindow(final String id, IModel<String> title, int width, int height) { final ModalWindow modal = new ModalWindow(id); add(modal);/*from ww w .java 2 s.c o m*/ modal.setResizable(false); modal.setTitle(title); modal.setCookieName(PageTemplate.class.getSimpleName() + ((int) (Math.random() * 100))); modal.setInitialWidth(width); modal.setWidthUnit("px"); modal.setInitialHeight(height); modal.setHeightUnit("px"); modal.setCloseButtonCallback(new ModalWindow.CloseButtonCallback() { @Override public boolean onCloseButtonClicked(AjaxRequestTarget target) { return true; } }); modal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() { @Override public void onClose(AjaxRequestTarget target) { modal.close(target); } }); modal.add(new AbstractDefaultAjaxBehavior() { @Override public void renderHead(Component component, IHeaderResponse response) { response.render(OnDomReadyHeaderItem.forScript("Wicket.Window.unloadConfirmation = false;")); response.render(JavaScriptHeaderItem.forScript( "$(document).ready(function() {\n" + " $(document).bind('keyup', function(evt) {\n" + " if (evt.keyCode == 27) {\n" + getCallbackScript() + "\n" + " evt.preventDefault();\n" + " }\n" + " });\n" + "});", id)); } @Override protected void respond(AjaxRequestTarget target) { modal.close(target); } }); return modal; }
From source file:com.socialsite.course.NewCoursePanel.java
License:Open Source License
public NewCoursePanel(String id) { super(id);/*from www. j a va2 s .c o m*/ final ModalWindow courseModal; add(courseModal = new ModalWindow("coursemodal")); courseModal.setContent(new NewCourseModal(courseModal.getContentId())); courseModal.setTitle("Create new Course"); courseModal.setCookieName("coursemodal"); courseModal.setCloseButtonCallback(new ModalWindow.CloseButtonCallback() { /** * */ private static final long serialVersionUID = 1L; public boolean onCloseButtonClicked(AjaxRequestTarget target) { return true; } }); courseModal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() { /** * */ private static final long serialVersionUID = 1L; public void onClose(AjaxRequestTarget target) { } }); add(new AjaxLink<Void>("newcourse") { /** * */ private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { courseModal.show(target); } }); }
From source file:com.socialsite.image.ImagePanel.java
License:Open Source License
/** * /*from w ww . j av a2 s .c o m*/ * @param component * component id * @param id * id used to fetch the image * @param imageType * type of the image (userimage , courseimage etc) * @param thumb * will show thumb image if true * @param lastModified * lastmodified date of the image */ public ImagePanel(final String component, final long id, final ImageType imageType, final Date lastModified, final boolean thumb, final boolean changeLink) { super(component); this.changeLink = changeLink; // allow the modal window to update the panel setOutputMarkupId(true); final ResourceReference imageResource = new ResourceReference(imageType.name()); final Image userImage; final ValueMap valueMap = new ValueMap(); valueMap.add("id", id + ""); // the version is used to change the url dynamically if the image is // changed. This will allow the browser to cache images // reference http://code.google.com/speed/page-speed/docs/caching.html // #Use fingerprinting to dynamically enable caching. valueMap.add("version", lastModified.getTime() + ""); if (thumb) { valueMap.add("thumb", "true"); } add(userImage = new Image("userimage", imageResource, valueMap)); userImage.setOutputMarkupId(true); final ModalWindow modal; add(modal = new ModalWindow("modal")); modal.setContent(new UploadPanel(modal.getContentId()) { /** * */ private static final long serialVersionUID = 1L; @Override public String onFileUploaded(final FileUpload upload) { if (upload == null || upload.getSize() == 0) { // No image was provided error("Please upload an image."); } else if (!checkContentType(upload.getContentType())) { error("Only images of types png, jpg, and gif are allowed."); } else { saveImage(upload.getBytes()); } return null; } @Override public void onUploadFinished(final AjaxRequestTarget target, final String filename, final String newFileUrl) { final ResourceReference imageResource = new ResourceReference(imageType.name()); final ValueMap valueMap = new ValueMap(); valueMap.add("id", id + ""); // change the image lively valueMap.add("version", new Date().getTime() + ""); if (thumb) { valueMap.add("thumb", "true"); } userImage.setImageResourceReference(imageResource, valueMap); // update the image after the user changes it target.addComponent(userImage); } }); modal.setTitle(" Select the image "); modal.setCookieName("modal"); modal.setCloseButtonCallback(new ModalWindow.CloseButtonCallback() { /** * */ private static final long serialVersionUID = 1L; public boolean onCloseButtonClicked(final AjaxRequestTarget target) { return true; } }); modal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() { /** * */ private static final long serialVersionUID = 1L; public void onClose(final AjaxRequestTarget target) { } }); add(new AjaxLink<Void>("changeimage") { /** * */ private static final long serialVersionUID = 1L; @Override public boolean isVisible() { if (changeLink) { // TODO allow admins to change the university image and // allow // staffs to change the course image // it. don't show it for thumb images return hasRole(SocialSiteRoles.OWNER) || hasRole(SocialSiteRoles.STAFF); } return false; } @Override public void onClick(final AjaxRequestTarget target) { modal.show(target); } }); }
From source file:com.userweave.pages.configuration.project.projectbrowser.MyProjectListViewPanel.java
License:Open Source License
/** * Create a dialog to create a new project. * //from w w w . j a v a 2s . c o m * @return * A CustomModalWindow */ private ModalWindow createNewProjectModalWindow(final Project parentProject, final EventHandler callback) { final ModalWindow projectModalWindow = new CustomModalWindow("createNewProjectModalWindow"); projectModalWindow.setTitle(new StringResourceModel("newProject", MyProjectListViewPanel.this, null)); projectModalWindow.setPageCreator(new ModalWindow.PageCreator() { private static final long serialVersionUID = 1L; @Override public Page createPage() { return new EditProjectPage(projectModalWindow) { private static final long serialVersionUID = 1L; @Override protected void onFinish(AjaxRequestTarget target, String projectName) { Project project = projectService.createPreConfiguredProject(projectName); /** * @see #933. User can add subproject, so there must be * getUser(project) called */ projectDao.finalizeProject(project, UserWeaveSession.get().getUser()); UserWeaveSession.get().setCreatedEntityId(project.getId()); } }; } }); projectModalWindow.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() { private static final long serialVersionUID = 1L; @Override public void onClose(AjaxRequestTarget target) { Integer projectId = UserWeaveSession.get().getCreatedEntityId(); if (projectId != null) { EntityEvent.Selected(target, projectDao.findById(projectId)).fire(callback); projectId = null; } } }); return projectModalWindow; }
From source file:cz.zcu.kiv.eegdatabase.wui.ui.experiments.forms.wizard.AddExperimentScenarioForm.java
License:Apache License
private void addModalWindowAndButton(MarkupContainer container, final String cookieName, final String buttonName, final String targetClass, final ModalWindow window) { window.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() { private static final long serialVersionUID = 1L; @Override/*from w ww . j ava 2 s . c o m*/ public void onClose(AjaxRequestTarget target) { ChoiceRenderer<Person> renderer = new ChoiceRenderer<Person>("fullName", "personId"); List<Person> choices = personFacade.getAllRecords(); Collections.sort(choices); coexperimenters.setChoiceRenderer(renderer); coexperimenters.setChoices(choices); ChoiceRenderer<ResearchGroup> groupRenderer = new ChoiceRenderer<ResearchGroup>("title", "researchGroupId"); List<ResearchGroup> groupChoices = researchGroupFacade .getResearchGroupsWhereAbleToWriteInto(EEGDataBaseSession.get().getLoggedUser()); researchGroupChoice.setChoiceRenderer(groupRenderer); researchGroupChoice.setChoices(groupChoices); licenses.clear(); licenses.addAll(model.getObject().getExperimentLicences()); licenses.addAll(EEGDataBaseSession.get().getCreateExperimentLicenseMap().values()); target.add(AddExperimentScenarioForm.this); } }); AjaxButton ajaxButton = new AjaxButton(buttonName) { private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { window.setCookieName(cookieName); window.setPageCreator(new ModalWindow.PageCreator() { private static final long serialVersionUID = 1L; @Override @SuppressWarnings("serial") public Page createPage() { try { Constructor<?> cons = null; if (targetClass.equals(AddLicensePage.class.getName())) { p = new AddLicensePage(getPage().getPageReference(), window, model) { @Override protected void onSubmitAction(IModel<ExperimentLicence> experimentLicenseModel, Integer licenseId, AjaxRequestTarget target, Form<?> form) { ExperimentLicence experimentLicense = experimentLicenseModel.getObject(); EEGDataBaseSession.get().addLicenseToCreateLicenseMap(licenseId, experimentLicense); ModalWindow.closeCurrent(target); } }; return (Page) p; } else { cons = Class.forName(targetClass).getConstructor(PageReference.class, ModalWindow.class); return (Page) cons.newInstance(getPage().getPageReference(), window); } } catch (NoSuchMethodException e) { log.error(e.getMessage(), e); } catch (IllegalAccessException e) { log.error(e.getMessage(), e); } catch (InstantiationException e) { log.error(e.getMessage(), e); } catch (InvocationTargetException e) { log.error(e.getMessage(), e); } catch (ClassNotFoundException e) { log.error(e.getMessage(), e); } return null; } }); window.show(target); } }; ajaxButton.setDefaultFormProcessing(false); container.add(ajaxButton); }
From source file:de.jetwick.ui.UserPanel.java
License:Apache License
public UserPanel(String id, final TweetSearchPage tweetSearchRef) { super(id);/*from w ww.j a v a 2 s . c o m*/ ExternalLink profileImageLink = new ExternalLink("profileImageLink", new PropertyModel(this, "profileLink")); profileImageLink.add(new ContextImage("profileImage", new PropertyModel(this, "imageUrl"))); profileImageLink.add(new AttributeAppender("title", new PropertyModel(this, "title"), " ")); add(profileImageLink); add(new WebMarkupContainer("gojetslideLink") { @Override public boolean isVisible() { return !tweetSearchRef.getMySession().hasLoggedIn(); } }); Link loginLink = new Link("loginLink") { @Override public void onClick() { setResponsePage(Login.class); } }; add(loginLink); if (!tweetSearchRef.getMySession().hasLoggedIn()) { add(new WebMarkupContainer("loginContainer").setVisible(false)); add(new AttributeModifier("class", "logged-in", new Model("logged-out"))); return; } title = tweetSearchRef.getMySession().getUser().getScreenName(); imageUrl = tweetSearchRef.getMySession().getUser().getProfileImageUrl(); profileLink = Helper.TURL + "/" + title; loginLink.setVisible(false); WebMarkupContainer container = new WebMarkupContainer("loginContainer") { { final JUser user = tweetSearchRef.getMySession().getUser(); String name = user.getRealName(); if (name == null) name = user.getScreenName(); add(new Label("loginText", "Hi " + name + "!")); add(new Link("logout") { @Override public void onClick() { onLogout(); } }); add(new AjaxFallbackLink("showHomeline") { @Override public void onClick(AjaxRequestTarget target) { onHomeline(target, user.getScreenName()); } }); add(new AjaxFallbackLink("showTweets") { @Override public void onClick(AjaxRequestTarget target) { onShowTweets(target, user.getScreenName()); } }); final ModalWindow modalW = new ModalWindow("userModal"); add(modalW); add(new AjaxLink("grabTweets") { @Override public void onClick(AjaxRequestTarget target) { modalW.show(target); } }); modalW.setTitle("Specify the user and the number of tweets you want to grab"); final GrabTweetsDialog dialog = new GrabTweetsDialog(modalW.getContentId(), user.getScreenName()) { @Override public TwitterSearch getTwitterSearch() { return tweetSearchRef.getTwitterSearch(); } @Override public void updateAfterAjax(AjaxRequestTarget target) { UserPanel.this.updateAfterAjax(target); } @Override public void onClose(AjaxRequestTarget target) { modalW.close(target); } @Override protected Collection<String> getUserChoices(String input) { return UserPanel.this.getUserChoices(input); } }; modalW.setContent(dialog); modalW.setCloseButtonCallback(new ModalWindow.CloseButtonCallback() { @Override public boolean onCloseButtonClicked(AjaxRequestTarget target) { logger.info("cancel grabber archiving thread!"); dialog.interruptGrabber(); modalW.close(target); return true; } }); modalW.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() { @Override public void onClose(AjaxRequestTarget target) { logger.info("closed dialog"); } }); modalW.setCookieName("user-modal"); } }; add(container); }