Example usage for org.apache.wicket.extensions.ajax.markup.html.modal ModalWindow ModalWindow

List of usage examples for org.apache.wicket.extensions.ajax.markup.html.modal ModalWindow ModalWindow

Introduction

In this page you can find the example usage for org.apache.wicket.extensions.ajax.markup.html.modal ModalWindow ModalWindow.

Prototype

public ModalWindow(final String id) 

Source Link

Document

Creates a new modal window component.

Usage

From source file:org.dcm4chee.usr.ui.usermanagement.role.RoleListPanel.java

License:LGPL

public RoleListPanel(String id) {
    super(id);/*  w w  w .  j  a v a  2s. com*/
    windowsizeMap.put("editRole", UsrCfgDelegate.getInstance().getWindowSize("editRole"));
    windowsizeMap.put("webPermissions", UsrCfgDelegate.getInstance().getWindowSize("webPermissions"));
    windowsizeMap.put("aetGroupAssignment", UsrCfgDelegate.getInstance().getWindowSize("aetGroupAssignment"));

    userAccess = (UserAccess) JNDIUtils.lookup(UserAccess.JNDI_NAME);
    setOutputMarkupId(true);

    this.allRoles = new ListModel<Role>(getAllRoles());
    this.allGroups = getAllGroups();
    this.roleGroups = userAccess.getAllGroups();

    add(this.confirmationWindow = new ConfirmationWindow<Role>("confirmation-window") {

        private static final long serialVersionUID = 1L;

        @Override
        public void onConfirmation(AjaxRequestTarget target, Role role) {
            userAccess.removeRole(role);
            Auditlog.logSoftwareConfiguration(true, "Role " + role + " removed.");
            target.addComponent(RoleListPanel.this);
            allRoles.setObject(getAllRoles());
        }
    });

    add(roleWindow = new ModalWindow("role-window"));
    add(webroleWindow = new ModalWindow("webrole-window"));
    add(aetroleWindow = new ModalWindow("aetrole-window"));

    int[] winSize = windowsizeMap.get("editRole");
    add(new ModalWindowLink("toggle-role-form-link", roleWindow, winSize[0], winSize[1]) {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            roleWindow.setPageCreator(new ModalWindow.PageCreator() {

                private static final long serialVersionUID = 1L;

                @Override
                public Page createPage() {
                    return new CreateOrEditRolePage(roleWindow, allRoles, null, allGroups);
                }
            });
            super.onClick(target);
        }
    }.add(new Image("toggle-role-form-image", ImageManager.IMAGE_USER_ROLE_ADD)
            .add(new ImageSizeBehaviour("vertical-align: middle;")))
            .add(new Label("rolelist.add-role-form.title", new ResourceModel("rolelist.add-role-form.title")))
            .add(new TooltipBehaviour("rolelist."))
            .add(new SecurityBehavior(getModuleName() + ":newRoleLink")));
}

From source file:org.dcm4chee.usr.ui.usermanagement.user.UserListPanel.java

License:LGPL

public UserListPanel(String id) {
    super(id);/*from  w w  w. j  a va  2 s. co m*/
    userAccess = (UserAccess) JNDIUtils.lookup(UserAccess.JNDI_NAME);

    setOutputMarkupId(true);

    this.userId = ((SecureSession) getSession()).getUsername();
    add(this.changePasswordWindow = new ModalWindow("change-password-window"));
    int[] winSize = UsrCfgDelegate.getInstance().getWindowSize("changePassword");
    if (winSize != null) {
        changePasswordWindow.setInitialWidth(winSize[0]);
        changePasswordWindow.setInitialHeight(winSize[1]);
    }

    this.allUsers = new ListModel<User>(userAccess.getAllUsers());
    this.allRoles = new ListModel<Role>(userAccess.getAllRoles());

    add(this.confirmationWindow = new ConfirmationWindow<User>("confirmation-window") {

        private static final long serialVersionUID = 1L;

        @Override
        public void onConfirmation(AjaxRequestTarget target, User userObject) {
            ((UserAccess) JNDIUtils.lookup(UserAccess.JNDI_NAME)).deleteUser(userObject.getUserID());
            Auditlog.logSoftwareConfiguration(true, "User " + userObject.getUserID() + " deleted.");
            target.addComponent(UserListPanel.this);
            allUsers.setObject(userAccess.getAllUsers());
        }
    });

    add(addUserWindow = new ModalWindow("add-user-window").setPageCreator(new ModalWindow.PageCreator() {

        private static final long serialVersionUID = 1L;

        @Override
        public Page createPage() {
            return new AddUserPage(addUserWindow, allUsers);
        }
    }));

    winSize = UsrCfgDelegate.getInstance().getWindowSize("addUser");
    add(new ModalWindowLink("toggle-user-form-link", addUserWindow, winSize[0], winSize[1])
            .add(new Image("toggle-user-form-image", ImageManager.IMAGE_USER_ADD)
                    .add(new ImageSizeBehaviour("vertical-align: middle;")))
            .add(new Label("userlist.add-user-form.title", new ResourceModel("userlist.add-user-form.title")))
            .add(new TooltipBehaviour("userlist."))
            .add(new SecurityBehavior(getModuleName() + ":newUserLink")));

    add(manageRolesWindow = new ModalWindow("manage-roles-window"));
}

From source file:org.dcm4chee.web.war.ae.AEListPanel.java

License:LGPL

@SuppressWarnings("unchecked")
public AEListPanel(String id) {
    super(id);/*from ww  w . jav  a  2 s  . c  om*/

    if (AEListPanel.CSS != null)
        add(CSSPackageResource.getHeaderContribution(AEListPanel.CSS));

    add(modalWindow = new ModalWindow("modal-window"));

    setOutputMarkupId(true);
    dicomEchoWindow = new DicomEchoWindow("echoPanel", true);
    dicomEchoWindow.setWindowClosedCallback(new WindowClosedCallback() {

        private static final long serialVersionUID = 1L;

        public void onClose(AjaxRequestTarget target) {
            target.addComponent(AEListPanel.this);
        }
    });
    add(dicomEchoWindow);
    dicomEchoWindow.add(new SecurityBehavior(getModuleName() + ":dicomEchoWindow"));

    confirm = new ConfirmationWindow<AE>("confirm") {

        private static final long serialVersionUID = 1L;

        @Override
        public void onConfirmation(AjaxRequestTarget target, AE ae) {
            removeAE(ae);
            AEListPanel.this.setOutputMarkupId(true);
            target.addComponent(AEListPanel.this);
        }
    };
    confirm.setInitialHeight(150);
    add(confirm);

    int[] winSize = WebCfgDelegate.getInstance().getWindowSize("aeEdit");
    ModalWindowLink newAET = new ModalWindowLink("newAET", modalWindow, winSize[0], winSize[1]) {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            modalWindow.setPageCreator(new ModalWindow.PageCreator() {

                private static final long serialVersionUID = 1L;

                @Override
                public Page createPage() {
                    return new CreateOrEditAETPage(modalWindow, new AE(), AEListPanel.this);
                }
            });
            super.onClick(target);
        }
    };
    newAET.add(new Image("newAETImg", ImageManager.IMAGE_COMMON_ADD)
            .add(new ImageSizeBehaviour("vertical-align: middle;")));
    newAET.add(new TooltipBehaviour("ae."));
    newAET.add(new Label("newAETText", new ResourceModel("ae.newAET.text"))
            .add(new AttributeModifier("style", true, new Model<String>("vertical-align: middle"))));
    add(newAET);
    newAET.add(new SecurityBehavior(getModuleName() + ":newAETLink"));

    BaseForm form = new BaseForm("form");
    add(form);
    String aeManagementDefault = WebCfgDelegate.getInstance().getAEManagementDefault();

    Set<String> aetTypeSet = new LinkedHashSet<String>();
    AEHomeLocal aeHome = (AEHomeLocal) JNDIUtils.lookup(AEHomeLocal.JNDI_NAME);
    aetTypeSet.add("<NONE>");
    aetTypeSet.addAll(aeHome.listAeTypes());
    aetTypeSet.addAll(WebCfgDelegate.getInstance().getAETTypes());
    aetTypeSet.addAll(AELicenseProviderManager.get(null).getProvider()
            .getAETypes(WebCfgDelegate.getInstance().getAETTypes()));
    aetTypeSet.remove(null);
    List<String> aetTypes = new ArrayList<String>(aetTypeSet);

    if (!"ANY".equals(aeManagementDefault) && !"NONE".equals(aeManagementDefault))
        typeSelectionModel.setObject(aeManagementDefault);

    form.addComponent(new Label("type.filter.label",
            new StringResourceModel("ae.type.filter.label", AEListPanel.this, null, new Object[] { 1 })));
    DropDownChoice<String> typeSelection = form.addDropDownChoice("type-selection", typeSelectionModel,
            new Model<ArrayList<String>>(new ArrayList<String>(aetTypes)), null, false);
    typeSelection.setNullValid(true).add(new AjaxFormComponentUpdatingBehavior("onchange") {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            offset = 0;
            updateAETList();
            target.addComponent(AEListPanel.this);
        }
    });

    form.addComponent(new Label("titleSearch.label", new ResourceModel("ae.search.title.label")));
    form.addComponent(new TextField<String>("titleSearch", title));

    AjaxButton searchBtn = new AjaxButton("searchBtn") {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> arg1) {
            offset = 0;
            updateAETList();
            target.addComponent(AEListPanel.this);
        }
    };
    searchBtn.add(new Image("searchImg", ImageManager.IMAGE_COMMON_SEARCH)
            .add(new ImageSizeBehaviour("vertical-align: middle;")));
    searchBtn.add(new Label("searchText", new ResourceModel("ae.searchBtn.text"))
            .add(new AttributeModifier("style", true, new Model<String>("vertical-align: middle;")))
            .setOutputMarkupId(true));
    form.addComponent(searchBtn);
    form.setDefaultButton(searchBtn);

    form.addComponent(new Label("pagesize.label", new ResourceModel("ae.pagesize.label")));
    form.addDropDownChoice("pagesize", pagesize,
            new Model<ArrayList<Integer>>(
                    new ArrayList<Integer>(WebCfgDelegate.getInstance().getPagesizeList())),
            null, false).setNullValid(false).add(new AjaxFormComponentUpdatingBehavior("onchange") {

                private static final long serialVersionUID = 1L;

                @Override
                protected void onUpdate(AjaxRequestTarget target) {
                    offset = 0;
                    updateAETList();
                    target.addComponent(AEListPanel.this);
                }
            });
    form.addComponent(new Link<Object>("prev") {

        private static final long serialVersionUID = 1L;

        @Override
        public void onClick() {
            offset = Math.max(0, offset - pagesize.getObject());
            updateAETList();
        }

        @Override
        public boolean isVisible() {
            return offset > 0;
        }
    }.add(new Image("prevImg", ImageManager.IMAGE_COMMON_BACK)
            .add(new ImageSizeBehaviour("vertical-align: middle;")).add(new TooltipBehaviour("ae.search."))));

    form.addComponent(new Link<Object>("next") {

        private static final long serialVersionUID = 1L;

        @Override
        public void onClick() {
            offset = offset + pagesize.getObject();
            updateAETList();
        }

        @Override
        public boolean isVisible() {
            return total > -1 && total - offset > pagesize.getObject();
        }
    }.add(new Image("nextImg", ImageManager.IMAGE_COMMON_FORWARD)
            .add(new ImageSizeBehaviour("vertical-align: middle;")).add(new TooltipBehaviour("ae.search."))));

    //viewport label: use StringResourceModel with key substitution to select 
    //property key according notSearched and getTotal.
    Model<?> keySelectModel = new Model<Serializable>() {

        private static final long serialVersionUID = 1L;

        @Override
        public Serializable getObject() {
            return total < 0 ? "ae.search.notSearched" : total == 0 ? "ae.search.noMatch" : "ae.search.found";
        }
    };
    form.addComponent(new Label("viewport",
            new StringResourceModel("${}", AEListPanel.this, keySelectModel, new Object[] { "dummy" }) {

                private static final long serialVersionUID = 1L;

                @Override
                protected Object[] getParameters() {
                    return new Object[] { offset + 1, Math.min(offset + pagesize.getObject(), total), total };
                }
            }).setEscapeModelStrings(false));

    add(new Label("titleHdr.label", new ResourceModel("ae.titleHdr.label")));
    add(new Label("typeHdr.label", new ResourceModel("ae.typeHdr.label")));
    add(new Label("hostHdr.label", new ResourceModel("ae.hostHdr.label")));
    add(new Label("portHdr.label", new ResourceModel("ae.portHdr.label")));
    add(new Label("descriptionHdr.label", new ResourceModel("ae.descriptionHdr.label")));
    add(new Label("cipherHdr.label", new ResourceModel("ae.cipherHdr.label")));
    add(new Label("emulatedHdr.label", new ResourceModel("ae.emulatedHdr.label")));
    add(new Label("stationHdr.label", new ResourceModel("ae.stationHdr.label")));
    add(new Label("institutionHdr.label", new ResourceModel("ae.institutionHdr.label")));
    add(new Label("departmentHdr.label", new ResourceModel("ae.departmentHdr.label")));

    final List<AETGroup> aetGroups = ((UserAccess) JNDIUtils.lookup(UserAccess.JNDI_NAME)).getAllAETGroups();
    add((list = new PropertyListView<AE>("list") {

        private static final long serialVersionUID = 1L;

        @Override
        protected ListItem<AE> newItem(final int index) {
            return new OddEvenListItem<AE>(index, getListItemModel(getModel(), index));
        }

        @Override
        protected void populateItem(final ListItem<AE> item) {
            StringBuffer tooltip = new StringBuffer();
            String name = item.getModelObject().getTitle();
            for (AETGroup aetGroup : aetGroups)
                if (aetGroup.getAets().contains(name))
                    tooltip.append(aetGroup.getGroupname()).append(" ");
            item.add(new Label("title")
                    .add(new AttributeModifier("title", true, new Model<String>(tooltip.toString()))));
            item.add(new Label("aeGroup"));
            item.add(new Label("hostName"));
            item.add(new Label("port"));
            item.add(new Label("description", new Model<String>(item.getModelObject().getDescription())));
            CheckBox cipherSuites = new CheckBox("cipherSuites");
            cipherSuites.setModel(new Model<Boolean>() {

                private static final long serialVersionUID = 1L;

                @Override
                public Boolean getObject() {
                    for (String cipher : item.getModelObject().getCipherSuites())
                        if (!cipher.equals("-"))
                            return true;
                    return false;
                }
            });
            cipherSuites.setEnabled(false);
            item.add(cipherSuites);
            item.add(new CheckBox("emulated", new AbstractReadOnlyModel<Boolean>() {
                private static final long serialVersionUID = 1L;

                @Override
                public Boolean getObject() {
                    return getMppsEmulatedAETs().contains(item.getModelObject().getTitle());
                }
            }).setEnabled(false));
            item.add(new Label("stationName"));
            item.add(new Label("institution"));
            item.add(new Label("department"));

            int[] winSize = WebCfgDelegate.getInstance().getWindowSize("aeEdit");
            item.add(new ModalWindowLink("editAET", modalWindow, winSize[0], winSize[1]) {
                private static final long serialVersionUID = 1L;

                @Override
                public void onClick(AjaxRequestTarget target) {
                    modalWindow.setPageCreator(new ModalWindow.PageCreator() {

                        private static final long serialVersionUID = 1L;

                        @Override
                        public Page createPage() {
                            return new CreateOrEditAETPage(modalWindow, item.getModelObject(),
                                    AEListPanel.this);
                        }
                    });
                    super.onClick(target);
                }
            }.add(new Image("ae.editAET.image", ImageManager.IMAGE_AE_EDIT)
                    .add(new ImageSizeBehaviour("vertical-align: middle;"))).add(new TooltipBehaviour("ae."))
                    .add(new SecurityBehavior(getModuleName() + ":editAETLink")));

            AjaxLink<?> removeAET = new AjaxLink<Object>("removeAET") {

                private static final long serialVersionUID = 1L;

                @Override
                public void onClick(AjaxRequestTarget target) {
                    confirm.confirm(target, new StringResourceModel("ae.confirmDelete", AEListPanel.this, null,
                            new Object[] { item.getModelObject() }), item.getModelObject());
                }
            };
            removeAET.add(new Image("ae.removeAET.image", ImageManager.IMAGE_COMMON_REMOVE)
                    .add(new ImageSizeBehaviour()));
            removeAET.add(new TooltipBehaviour("ae."));
            item.add(removeAET);
            removeAET.add(new SecurityBehavior(getModuleName() + ":removeAETLink"));

            item.add(new AjaxLink<Object>("echo") {

                private static final long serialVersionUID = 1L;

                @Override
                public void onClick(AjaxRequestTarget target) {
                    dicomEchoWindow.show(target, item.getModelObject());
                }
            }.add(new Image("ae.echoAET.image", ImageManager.IMAGE_AE_ECHO).add(new ImageSizeBehaviour()))
                    .add(new TooltipBehaviour("ae."))
                    .add(new SecurityBehavior(getModuleName() + ":dicomEchoLink")));
        }
    }));
    if (!"NONE".equals(aeManagementDefault)) {
        updateAETList();
    }
}

From source file:org.dcm4chee.web.war.folder.StudyListPage.java

License:LGPL

public StudyListPage(final String id) {
    super(id);//from  w  ww .jav  a2s .  co  m

    hidePPSModel.setObject(
            StudyPermissionHelper.get().isHidePPSAllowed() ? WebCfgDelegate.getInstance().getDefaultHidePPS()
                    : false);

    if (StudyListPage.CSS != null)
        add(CSSPackageResource.getHeaderContribution(StudyListPage.CSS));

    viewport = getViewPort();
    viewport.getFilter().setAutoWildcard(WebCfgDelegate.getInstance().getAutoWildcard());
    viewport.getFilter().setLatestStudiesFirst(WebCfgDelegate.getInstance().getDefaultLatestStudiesFirst());

    studyPermissionHelper = StudyPermissionHelper.get();

    add(macb);

    add(modalWindow = new ModalWindow("modal-window"));
    modalWindow.setWindowClosedCallback(new WindowClosedCallback() {
        private static final long serialVersionUID = 1L;

        public void onClose(AjaxRequestTarget target) {
            getPage().setOutputMarkupId(true);
            target.addComponent(getPage());
        }
    });
    initWebviewerLinkProvider();

    confirmSearch = new ConfirmationWindow<Form<?>>("confirmSearch") {

        private static final long serialVersionUID = 1L;

        @Override
        public void onConfirmation(AjaxRequestTarget target, final Form<?> form) {
            doSearch(target, form, viewport.resetOnSearch());
        }
    };
    add(confirmSearch.setInitialHeight(170).setInitialWidth(410));

    final StudyListFilter filter = viewport.getFilter();
    add(form = new BaseForm("form", new CompoundPropertyModel<Object>(filter)));
    form.setResourceIdPrefix("folder.");
    form.add(new IndicatingAjaxButton("bigSearchBtn") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            if (showSearch) {
                if (!viewport.getFilter().isFiltered()) {
                    viewport.setResetOnSearch(true);
                    confirmSearch.confirm(target,
                            new StringResourceModel("folder.message.confirmSearch", this, null), form);
                } else {
                    if (countForWarning(target))
                        confirmSearch.confirm(target,
                                new StringResourceModel("folder.message.warnSearch", this, null), form);
                    else
                        doSearch(target, form, true);
                }
            }
        }

        @Override
        public void onError(AjaxRequestTarget target, Form<?> form) {
            BaseForm.addInvalidComponentsToAjaxRequestTarget(target, form);
        }
    }.add(new Label("bigSearchText", new ResourceModel("folder.searchFooter.searchBtn.text")))
            .setOutputMarkupId(true));
    form.add(new AjaxFallbackLink<Object>("searchToggle") {

        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            showSearch = !showSearch;
            for (WebMarkupContainer wmc : searchTableComponents)
                wmc.setVisible(showSearch);
            target.addComponent(form);
        }

        @Override
        public boolean isVisible() {
            return !disableSearch;
        }
    }.add((new Image("searchToggleImg", new AbstractReadOnlyModel<ResourceReference>() {

        private static final long serialVersionUID = 1L;

        @Override
        public ResourceReference getObject() {
            return showSearch ? ImageManager.IMAGE_COMMON_COLLAPSE : ImageManager.IMAGE_COMMON_EXPAND;
        }
    }).add(new TooltipBehaviour("folder.", "searchToggleImg", new AbstractReadOnlyModel<Boolean>() {

        private static final long serialVersionUID = 1L;

        @Override
        public Boolean getObject() {
            return showSearch;
        }
    }))).add(new ImageSizeBehaviour())));

    addQueryFields(filter, form);
    addQueryOptions(form);
    addNavigation(form);
    addActions(form);

    int[] winSize = WebCfgDelegate.getInstance().getWindowSize("arr");
    arrWindow.setInitialWidth(winSize[0]).setInitialHeight(winSize[1]).setTitle("");

    header = new StudyListHeader("thead", form, viewport, hidePPSModel);
    form.add(header);
    form.add(new PatientListView("patients", viewport.getPatients()));
    msgWin.setTitle("");
    add(msgWin);
    Form<Object> form1 = new Form<Object>("modalForm");
    add(form1);
    form1.add(mpps2MwlLinkWindow);
    add(imageSelectionWindow);
    imageSelectionWindow.setWindowClosedCallback(new WindowClosedCallback() {
        private static final long serialVersionUID = 1L;

        public void onClose(AjaxRequestTarget target) {
            if (!imageSelectionWindow.changeSelection())
                imageSelectionWindow.undoSelectionChanges();
            else if (imageSelectionWindow.isSelectionChanged())
                target.addComponent(form);
        }
    });
    imageSelectionWindow.add(new SecurityBehavior(getModuleName() + ":imageSelectionWindow"));
    add(wadoImageWindow);
    wadoImageWindow.add(new SecurityBehavior(getModuleName() + ":wadoImageWindow"));

    add(arrWindow);
    arrWindow.setWindowClosedCallback(new WindowClosedCallback() {
        private static final long serialVersionUID = 1L;

        public void onClose(AjaxRequestTarget target) {
            getPage().setOutputMarkupId(true);
            target.addComponent(getPage());
        }
    });

    add(JavascriptPackageResource.getHeaderContribution(StudyListPage.class, "scrollstate.js"));

    add(new AjaxEventBehavior("onclick") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onEvent(AjaxRequestTarget target) {
            target.appendJavascript("storeScrollPosition();");
        }
    });
}

From source file:org.dcm4chee.web.war.tc.TCResultPanel.java

License:LGPL

@SuppressWarnings("serial")
public TCResultPanel(final String id, final TCListModel model, final IModel<Boolean> trainingModeModel) {
    super(id, model != null ? model : new TCListModel());

    setOutputMarkupId(true);/*from  w  w w  . j a v a 2  s  .co m*/

    stPermHelper = StudyPermissionHelper.get();

    initWebviewerLinkProvider();

    add(msgWin);
    final ModalWindow modalWindow = new ModalWindow("modal-window");
    add(modalWindow);

    final ModalWindow forumWindow = new ModalWindow("forum-window");
    add(forumWindow);

    final TCStudyListPage studyPage = new TCStudyListPage();
    final ModalWindow studyWindow = new ModalWindow("study-window");
    studyWindow.setPageCreator(new ModalWindow.PageCreator() {
        private static final long serialVersionUID = 1L;

        public Page createPage() {
            return studyPage;
        }
    });

    add(studyWindow);

    tclistProvider = new SortableTCListProvider((TCListModel) getDefaultModel());

    final TCAttributeVisibilityStrategy attrVisibilityStrategy = new TCAttributeVisibilityStrategy(
            trainingModeModel);

    final DataView<TCModel> dataView = new DataView<TCModel>("row", tclistProvider) {

        private final StudyListLocal dao = (StudyListLocal) JNDIUtils.lookup(StudyListLocal.JNDI_NAME);

        private final Map<String, List<String>> studyActions = new HashMap<String, List<String>>();

        @Override
        protected void populateItem(final Item<TCModel> item) {
            final TCModel tc = item.getModelObject();

            final StringBuilder jsStopEventPropagationInline = new StringBuilder(
                    "var event=arguments[0] || window.event; if (event.stopPropagation) {event.stopPropagation();} else {event.cancelBubble=True;};");

            item.setOutputMarkupId(true);
            item.add(new TCMultiLineLabel("title", new AbstractReadOnlyModel<String>() {
                public String getObject() {
                    if (!attrVisibilityStrategy.isAttributeVisible(TCAttribute.Title)) {
                        return TCUtilities.getLocalizedString("tc.case.text") + " " + tc.getId();
                    }
                    return tc.getTitle();
                }
            }, new AutoClampSettings(40)));
            item.add(new TCMultiLineLabel("abstract", new AbstractReadOnlyModel<String>() {
                public String getObject() {
                    if (!attrVisibilityStrategy.isAttributeVisible(TCAttribute.Abstract)) {
                        return TCUtilities.getLocalizedString("tc.obfuscation.text");
                    }
                    return tc.getAbstract();
                }
            }, new AutoClampSettings(40)));
            item.add(new TCMultiLineLabel("author", new AbstractReadOnlyModel<String>() {
                public String getObject() {
                    if (!attrVisibilityStrategy.isAttributeVisible(TCAttribute.AuthorName)) {
                        return TCUtilities.getLocalizedString("tc.obfuscation.text");
                    }
                    return tc.getAuthor();
                }
            }, new AutoClampSettings(40)));
            item.add(new Label("date", new Model<Date>(tc.getCreationDate())) {

                private static final long serialVersionUID = 1L;

                @Override
                public IConverter getConverter(Class<?> type) {
                    return new DateConverter() {

                        private static final long serialVersionUID = 1L;

                        @Override
                        public DateFormat getDateFormat(Locale locale) {
                            if (locale == null) {
                                locale = Locale.getDefault();
                            }

                            return DateFormat.getDateInstance(DateFormat.MEDIUM, locale);
                        }
                    };
                }
            });

            final String stuid = tc.getStudyInstanceUID();
            if (dao != null && !studyActions.containsKey(stuid)) {
                studyActions.put(stuid, dao.findStudyPermissionActions(stuid, stPermHelper.getDicomRoles()));
            }

            item.add(Webviewer.getLink(tc, webviewerLinkProviders, stPermHelper,
                    new TooltipBehaviour("tc.result.table.", "webviewer"), modalWindow,
                    new WebviewerLinkClickedCallback() {
                        public void linkClicked(AjaxRequestTarget target) {
                            TCAuditLog.logTFImagesViewed(tc);
                        }
                    }).add(new SecurityBehavior(TCPanel.getModuleName() + ":webviewerInstanceLink")));

            final Component viewLink = new IndicatingAjaxLink<String>("tc-view") {
                private static final long serialVersionUID = 1L;

                @Override
                public void onClick(AjaxRequestTarget target) {
                    selectTC(item, tc, target);
                    openTC(tc, false, target);
                }

                protected void onComponentTag(ComponentTag tag) {
                    super.onComponentTag(tag);
                    tag.put("ondblclick", jsStopEventPropagationInline);
                }

                @Override
                protected IAjaxCallDecorator getAjaxCallDecorator() {
                    try {
                        return TCPanel.getMaskingBehaviour().getAjaxCallDecorator();
                    } catch (Exception e) {
                        log.error("Failed to get IAjaxCallDecorator: ", e);
                    }
                    return null;
                }
            }.add(new Image("tcViewImg", ImageManager.IMAGE_COMMON_DICOM_DETAILS)
                    .add(new ImageSizeBehaviour("vertical-align: middle;")))
                    .add(new TooltipBehaviour("tc.result.table.", "view")).setOutputMarkupId(true);

            final Component editLink = new IndicatingAjaxLink<String>("tc-edit") {
                private static final long serialVersionUID = 1L;

                @Override
                public void onClick(AjaxRequestTarget target) {
                    selectTC(item, tc, target);
                    openTC(tc, true, target);
                }

                protected void onComponentTag(ComponentTag tag) {
                    super.onComponentTag(tag);
                    tag.put("ondblclick", jsStopEventPropagationInline);
                }

                @Override
                protected IAjaxCallDecorator getAjaxCallDecorator() {
                    try {
                        return TCPanel.getMaskingBehaviour().getAjaxCallDecorator();
                    } catch (Exception e) {
                        log.error("Failed to get IAjaxCallDecorator: ", e);
                    }
                    return null;
                }
            }.add(new Image("tcEditImg", ImageManager.IMAGE_COMMON_DICOM_EDIT)
                    .add(new ImageSizeBehaviour("vertical-align: middle;")))
                    .add(new TooltipBehaviour("tc.result.table.", "edit"))
                    .add(new SecurityBehavior(TCPanel.getModuleName() + ":editTC")).setOutputMarkupId(true);

            final Component studyLink = new IndicatingAjaxLink<String>("tc-study") {
                private static final long serialVersionUID = 1L;

                @Override
                public void onClick(AjaxRequestTarget target) {
                    selectTC(item, tc, target);
                    try {
                        TCObject tcObject = TCObject.create(tc);
                        List<TCReferencedStudy> refStudies = tcObject.getReferencedStudies();
                        if (refStudies != null && !refStudies.isEmpty()) {
                            if (refStudies.size() == 1) {
                                studyPage.setStudyInstanceUID(refStudies.get(0).getStudyUID());
                            } else {
                                studyPage.setPatientIdAndIssuer(tc.getPatientId(), tc.getIssuerOfPatientId());
                            }
                        }
                        if (studyPage.getStudyInstanceUID() != null || studyPage.getPatientId() != null) {
                            studyPage.getStudyViewPort().clear();
                            studyWindow
                                    .setTitle(new StringResourceModel("tc.result.studywindow.title", this, null,
                                            new Object[] { maskNull(cutAtISOControl(tc.getTitle(), 40), "?"),
                                                    maskNull(cutAtISOControl(tc.getAbstract(), 25), "?"),
                                                    maskNull(cutAtISOControl(tc.getAuthor(), 20), "?"),
                                                    maskNull(tc.getCreationDate(), tc.getCreatedTime()) }));
                            studyWindow.setInitialWidth(1200);
                            studyWindow.setInitialHeight(600);
                            studyWindow.setMinimalWidth(800);
                            studyWindow.setMinimalHeight(400);
                            if (studyWindow.isShown()) {
                                log.warn("###### StudyView is already shown ???!!!");
                                try {
                                    Field showField = ModalWindow.class.getDeclaredField("shown");
                                    showField.setAccessible(true);
                                    showField.set(studyWindow, false);
                                } catch (Exception e) {
                                    log.error("Failed to reset shown Field from ModalWindow!");
                                }
                                log.info("###### studyWindow.isShown():" + studyWindow.isShown());
                            }
                            studyWindow.show(target);
                        } else {
                            log.warn("Showing TC referenced studies discarded: No referened study found!");
                            msgWin.setInfoMessage(getString("tc.result.studywindow.noStudies"));
                            msgWin.show(target);
                        }
                    } catch (Exception e) {
                        msgWin.setErrorMessage(getString("tc.result.studywindow.failed"));
                        msgWin.show(target);
                        log.error("Unable to show TC referenced studies!", e);
                    }
                }

                @Override
                protected void onComponentTag(ComponentTag tag) {
                    super.onComponentTag(tag);
                    tag.put("ondblclick", jsStopEventPropagationInline);
                }

                @Override
                protected IAjaxCallDecorator getAjaxCallDecorator() {
                    try {
                        return TCPanel.getMaskingBehaviour().getAjaxCallDecorator();
                    } catch (Exception e) {
                        log.error("Failed to get IAjaxCallDecorator: ", e);
                    }
                    return null;
                }
            }.add(new Image("tcStudyImg", ImageManager.IMAGE_COMMON_SEARCH)
                    .add(new ImageSizeBehaviour("vertical-align: middle;")))
                    .add(new TooltipBehaviour("tc.result.table.", "showStudy"))
                    .add(new SecurityBehavior(TCPanel.getModuleName() + ":showTCStudy"))
                    .setOutputMarkupId(true);

            final Component forumLink = new IndicatingAjaxLink<String>("tc-forum") {
                private static final long serialVersionUID = 1L;

                @Override
                public void onClick(AjaxRequestTarget target) {
                    try {
                        TCForumPostsPanel content = new TCForumPostsPanel(forumWindow.getContentId(),
                                new Model<String>(TCForumIntegration
                                        .get(WebCfgDelegate.getInstance().getTCForumIntegrationType())
                                        .getPostsPageURL(tc)));
                        forumWindow.setInitialHeight(820);
                        forumWindow.setInitialWidth(1024);
                        forumWindow.setContent(content);
                        forumWindow.show(target);
                    } catch (Exception e) {
                        log.error("Unable to open case forum page!", e);
                    }
                }

                @Override
                public boolean isVisible() {
                    return TCForumIntegration
                            .get(WebCfgDelegate.getInstance().getTCForumIntegrationType()) != null;
                }

                @Override
                protected void onComponentTag(ComponentTag tag) {
                    super.onComponentTag(tag);
                    tag.put("ondblclick", jsStopEventPropagationInline);
                }

                @Override
                protected IAjaxCallDecorator getAjaxCallDecorator() {
                    try {
                        return TCPanel.getMaskingBehaviour().getAjaxCallDecorator();
                    } catch (Exception e) {
                        log.error("Failed to get IAjaxCallDecorator: ", e);
                    }
                    return null;
                }
            }.add(new Image("tcForumImg", ImageManager.IMAGE_TC_FORUM)
                    .add(new ImageSizeBehaviour("vertical-align: middle;")))
                    .add(new TooltipBehaviour("tc.result.table.", "showForum")).setOutputMarkupId(true);

            item.add(viewLink);
            item.add(editLink);
            item.add(studyLink);
            item.add(forumLink);

            item.add(new AttributeModifier("class", true, new AbstractReadOnlyModel<String>() {

                private static final long serialVersionUID = 1L;

                @Override
                public String getObject() {
                    if (selected != null && selected.equals(tc)) {
                        return "mouse-out-selected";
                    } else {
                        return item.getIndex() % 2 == 1 ? "even-mouse-out" : "odd-mouse-out";
                    }
                }
            }));

            item.add(new AttributeModifier("selected", true, new AbstractReadOnlyModel<String>() {
                private static final long serialVersionUID = 1L;

                @Override
                public String getObject() {
                    if (selected != null && selected.equals(tc)) {
                        return "selected";
                    } else {
                        return null;
                    }
                }
            }));

            item.add(new AttributeModifier("onmouseover", true, new AbstractReadOnlyModel<String>() {

                private static final long serialVersionUID = 1L;

                @Override
                public String getObject() {
                    StringBuffer sbuf = new StringBuffer();
                    sbuf.append("if ($(this).attr('selected')==null) {");
                    sbuf.append("   $(this).removeClass();");
                    sbuf.append("   if (").append(item.getIndex())
                            .append("%2==1) $(this).addClass('even-mouse-over');");
                    sbuf.append("   else $(this).addClass('odd-mouse-over');");
                    sbuf.append("}");
                    return sbuf.toString();
                }
            }));

            item.add(new AttributeModifier("onmouseout", true, new AbstractReadOnlyModel<String>() {

                private static final long serialVersionUID = 1L;

                @Override
                public String getObject() {
                    StringBuffer sbuf = new StringBuffer();
                    sbuf.append("if ($(this).attr('selected')==null) {");
                    sbuf.append("   $(this).removeClass();");
                    sbuf.append("   if (").append(item.getIndex())
                            .append("%2==1) $(this).addClass('even-mouse-out');");
                    sbuf.append("   else $(this).addClass('odd-mouse-out');");
                    sbuf.append("}");
                    return sbuf.toString();
                }
            }));

            item.add(new AjaxEventBehavior("onclick") {
                private static final long serialVersionUID = 1L;

                @Override
                protected void onEvent(AjaxRequestTarget target) {
                    selectTC(item, tc, target);
                }
            });

            item.add(new AjaxEventBehavior("ondblclick") {
                private static final long serialVersionUID = 1L;

                @Override
                protected void onEvent(AjaxRequestTarget target) {
                    boolean edit = WebCfgDelegate.getInstance().getTCEditOnDoubleClick();
                    if (edit) {
                        edit = SecureComponentHelper.isActionAuthorized(editLink, "render");
                    }

                    openTC(selected, edit, target);
                }

                @Override
                protected IAjaxCallDecorator getAjaxCallDecorator() {
                    try {
                        return new IAjaxCallDecorator() {
                            private static final long serialVersionUID = 1L;

                            public final CharSequence decorateScript(CharSequence script) {
                                return "if(typeof showMask == 'function') { showMask(); $('body').css('cursor','wait'); };"
                                        + script;
                            }

                            public final CharSequence decorateOnSuccessScript(CharSequence script) {
                                return "hideMask();$('body').css('cursor','');" + script;
                            }

                            public final CharSequence decorateOnFailureScript(CharSequence script) {
                                return "hideMask();$('body').css('cursor','');" + script;
                            }
                        };
                    } catch (Exception e) {
                        log.error("Failed to get IAjaxCallDecorator: ", e);
                    }
                    return null;
                }
            });
        }
    };
    dataView.setItemReuseStrategy(new ReuseIfModelsEqualStrategy());
    dataView.setItemsPerPage(WebCfgDelegate.getInstance().getDefaultFolderPagesize());
    dataView.setOutputMarkupId(true);

    SortLinkGroup sortGroup = new SortLinkGroup(dataView);
    add(new SortLink("sortTitle", sortGroup, TCModel.Sorter.Title));
    add(new SortLink("sortAbstract", sortGroup, TCModel.Sorter.Abstract));
    add(new SortLink("sortDate", sortGroup, TCModel.Sorter.Date));
    add(new SortLink("sortAuthor", sortGroup, TCModel.Sorter.Author));

    add(dataView);

    add(new Label("numberOfMatchingInstances", new StringResourceModel("tc.list.numberOfMatchingInstances",
            this, null, new Object[] { new Model<Integer>() {

                private static final long serialVersionUID = 1L;

                @Override
                public Integer getObject() {
                    return ((TCListModel) TCResultPanel.this.getDefaultModel()).getObject().size();
                }
            } })));

    add(new PagingNavigator("navigator", dataView));
}

From source file:org.dcm4chee.web.war.worklist.modality.ModalityWorklistPanel.java

License:LGPL

public ModalityWorklistPanel(final String id) {
    super(id);/*w w  w.j av a 2 s.  co m*/

    if (ModalityWorklistPanel.CSS != null)
        add(CSSPackageResource.getHeaderContribution(ModalityWorklistPanel.CSS));

    add(macb);

    msgWin.setTitle(new ResourceModel("mw.search.msg.title").wrapOnAssignment(this));
    add(msgWin);
    add(modalWindow = new ModalWindow("modal-window"));
    modalWindow.setWindowClosedCallback(new WindowClosedCallback() {
        private static final long serialVersionUID = 1L;

        public void onClose(AjaxRequestTarget target) {
            getPage().setOutputMarkupId(true);
            target.addComponent(getPage());
        }
    });
    viewport = initViewPort();

    final ModalityWorklistFilter filter = viewport.getFilter();
    filter.setLatestItemsFirst(WebCfgDelegate.getInstance().getDefaultLatestMwlItemsFirst());
    add(form = new BaseForm("form", new CompoundPropertyModel<Object>(filter)));
    form.setResourceIdPrefix("mw.");
    AjaxFallbackLink<Object> toggleLink;
    toggleLink = new AjaxFallbackLink<Object>("searchToggle") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            boolean b = !showSearchModel.getObject();
            showSearchModel.setObject(b);
            for (WebMarkupContainer wmc : searchTableComponents) {
                wmc.setVisible(b);
                target.addComponent(wmc);
            }
            target.addComponent(this);
        }
    };
    form.add(toggleLink);
    toggleLink.add((new Image("searchToggleImg", new AbstractReadOnlyModel<ResourceReference>() {

        private static final long serialVersionUID = 1L;

        @Override
        public ResourceReference getObject() {
            return showSearchModel.getObject() ? ImageManager.IMAGE_COMMON_COLLAPSE
                    : ImageManager.IMAGE_COMMON_EXPAND;
        }
    }).add(new TooltipBehaviour("mw.", "searchToggleImg", showSearchModel))).add(new ImageSizeBehaviour()));

    addQueryFields(filter, form);
    addQueryOptions(form);
    addNavigation(form);

    form.setResourceIdPrefix("mw.");

    listPanel = new WebMarkupContainer("listPanel");
    add(listPanel);
    listPanel.setOutputMarkupId(true);
    listPanel.add(getMWLItemListView());

    confirm = new ConfirmationWindow<MWLItemModel>("confirm") {

        private static final long serialVersionUID = 1L;

        @Override
        public void onConfirmation(AjaxRequestTarget target, MWLItemModel mwlItemModel) {
            ((ModalityWorklistLocal) JNDIUtils.lookup(ModalityWorklistLocal.JNDI_NAME))
                    .removeMWLItem(mwlItemModel.getPk());
            logOrderRecord(mwlItemModel, AuditEvent.ActionCode.DELETE, true);
            ModalityWorklistPanel.this.setOutputMarkupId(true);
            queryMWLItems(target);
            target.addComponent(ModalityWorklistPanel.this);
        }
    };
    confirm.setInitialHeight(150);
    add(confirm);

}

From source file:org.dcm4chee.wizard.panel.BasicConfigurationPanel.java

License:LGPL

private void addEditWindow() {
    editWindow = new ModalWindow("edit-window");
    editWindow.setInitialWidth(700).setInitialHeight(500);
    editWindow.setWindowClosedCallback(windowClosedCallback);
    add(editWindow);//from   ww  w .  j  a v  a2  s  .  c o m
}

From source file:org.dcm4chee.wizard.panel.BasicConfigurationPanel.java

License:LGPL

private void addEchoWindow() {
    echoWindow = new ModalWindow("echo-window");
    echoWindow.setInitialWidth(700).setInitialHeight(500);
    echoWindow.setWindowClosedCallback(windowClosedCallback);
    add(echoWindow);/*from w  w  w . j av  a2  s .c  o  m*/
}

From source file:org.devgateway.eudevfin.projects.module.components.panels.ReportsTableListPanel.java

private ModalWindow AddModalWindow(PageParameters parameters) {

    if (parameters == null) {
        parameters = new PageParameters();
    }/*from w w  w  .ja  va 2 s . c  om*/

    final ModalWindow modal = new ModalWindow("modal");

    modal.setCookieName("modal-1");
    modal.setPageCreator(new ModalWindow.PageCreator() {
        @Override
        public org.apache.wicket.Page createPage() {
            return new ReportsTableModal(getParameters(),
                    ReportsTableListPanel.this.getPage().getPageReference(), modal);
        }
    });
    modal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
        public void onClose(AjaxRequestTarget target) {
            ReportsTableListPanel newComp = new ReportsTableListPanel(WICKETID_LIST_PANEL,
                    new ProjectReportsListGenerator(NewProjectPage.project.getProjectReports()));
            getParent().replace(newComp);
            target.add(newComp);
        }
    });
    modal.setCloseButtonCallback(new ModalWindow.CloseButtonCallback() {
        public boolean onCloseButtonClicked(AjaxRequestTarget target) {
            return true;
        }
    });

    return modal;
}

From source file:org.devgateway.eudevfin.projects.module.components.panels.ResultsTableListPanel.java

private ModalWindow AddModalWindow(PageParameters parameters) {

    if (parameters == null) {
        parameters = new PageParameters();
    }/* w w  w.  ja  va  2 s. c  o m*/

    final ModalWindow modal = new ModalWindow("modal");

    modal.setCookieName("modal-1");
    modal.setPageCreator(new ModalWindow.PageCreator() {
        @Override
        public org.apache.wicket.Page createPage() {
            return new ResultsTableModal(getParameters(),
                    ResultsTableListPanel.this.getPage().getPageReference(), modal);
        }
    });
    modal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
        public void onClose(AjaxRequestTarget target) {
            ResultsTableListPanel newComp = new ResultsTableListPanel(WICKETID_LIST_PANEL,
                    new ProjectResultsListGenerator(NewProjectPage.project.getProjectResults()));
            getParent().replace(newComp);
            target.add(newComp);
        }
    });
    modal.setCloseButtonCallback(new ModalWindow.CloseButtonCallback() {
        public boolean onCloseButtonClicked(AjaxRequestTarget target) {
            // Change the passValue variable when modal window is closed.
            //setPassValue("Modal window is closed by user.");
            return true;
        }
    });

    return modal;
}