Example usage for org.apache.wicket.ajax.markup.html AjaxLink AjaxLink

List of usage examples for org.apache.wicket.ajax.markup.html AjaxLink AjaxLink

Introduction

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

Prototype

public AjaxLink(final String id) 

Source Link

Document

Construct.

Usage

From source file:com.userweave.pages.user.overview.UserOverviewPanel.java

License:Open Source License

private void initUI() {
    LoadableDetachableModel userListModel = new LoadableDetachableModel() {

        @Override//from w  w  w. j  a v  a 2  s  .  co m
        protected Object load() {
            /*
             * GroupingComparator comparator = GroupingComparator .build(new
             * Comparator[] { new StudyStateComparator(), new
             * EntityBaseComparator() }); Set<Study> sorted = new TreeSet<Study>(comparator);
             * User user = UserWeaveSession.get().getUser();
             * if(user.isAdmin()) { sorted.addAll(studyDao.findAll()); }
             * else { sorted.addAll(studyDao.findByOwner(user)); } return
             * new ArrayList<Study>(sorted);
             */
            return userDao.findAllByEmail();
        }
    };

    add(new AjaxLink("create") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            onEditUser(target, null);
        }
    });

    add(new ListView("listview", userListModel) {

        @Override
        protected IModel getListItemModel(IModel model, int index) {
            IModel listItemModel = super.getListItemModel(model, index);
            final int userId = ((User) listItemModel.getObject()).getId();

            return new CompoundPropertyModel(new LoadableDetachableModel() {

                @Override
                protected Object load() {
                    return userDao.findById(userId);
                }
            });
        }

        @Override
        protected void populateItem(final ListItem item) {
            final int userId = ((User) item.getModelObject()).getId();

            item.add(new AjaxLink("edit") {

                @Override
                public void onClick(AjaxRequestTarget target) {
                    onEditUser(target, userId);
                }
            }.add(new Label("email")));

            item.add(new AjaxCheckBox("subscription") {

                @Override
                protected void onUpdate(AjaxRequestTarget target) {
                    User cur = ((User) item.getModelObject());
                    userDao.save(cur);
                }

                @Override
                public boolean isVisible() {
                    return !((User) item.getModelObject()).isAdmin();
                }
            });

            item.add(
                    new Label("subscription_label", new StringResourceModel("subscription_label", this, null)) {
                        @Override
                        public boolean isVisible() {
                            return !((User) item.getModelObject()).isAdmin();
                        }
                    });

            if (item.getIndex() == 0) {
                item.add(new SimpleAttributeModifier("class", "even_first"));
            } else if (isOdd)
                item.add(new SimpleAttributeModifier("class", "odd"));
            else
                item.add(new SimpleAttributeModifier("class", "even"));

            isOdd = !isOdd;

            /*
             * Link deleteLink = new DeleteLink("delete", item);
             * 
             * deleteLink.add(new SimpleAttributeModifier("onclick", "return
             * confirm('Are you sure?');"));
             * 
             * item.add(deleteLink);
             */
        }
    });
}

From source file:com.userweave.pages.user.registration.UserRegistrationForm.java

License:Open Source License

public UserRegistrationForm(String id, IModel userModel, final ModalWindow agbModalWindow) {
    super(id);//from   w w  w.  j  ava  2  s  .co  m

    setModel(new CompoundPropertyModel(userModel));

    WebMarkupContainer container = new WebMarkupContainer("container");
    add(container);

    companyContainer = new WebMarkupContainer("companyContainer");
    container.add(companyContainer);
    companyContainer.setOutputMarkupPlaceholderTag(true);
    // set initial visibility
    companyContainer.setVisible(getUser().getBusinessRole() == BusinessRole.Company);

    //add(new TextField("email").setRequired(true).setEnabled(getUser().getEmail() == null));

    add(new CheckBox("verified").setEnabled(false));

    //add(new ExternalLink("agb",new Model("http://usability-methods.com/en/termsofuse") , new StringResourceModel("agb", this, null)));

    add(new AjaxLink("agb") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            agbModalWindow.show(target);
        }

    });

    container.add(new TextField("surname").setRequired(true));
    container.add(new TextField("forename").setRequired(true));

    container.add(new DropDownChoice("locale", LocalizationUtils.getSupportedConfigurationFrontendLocales(),
            new LocaleChoiceRenderer(null)));

    container.add(new RadioChoice("gender", Arrays.asList(User.Gender.values()),
            new LocalizedGenderChoiceRenderer(this)).setSuffix(""));

    container.add(new CallnumberPanel("callnumberPanel", new PropertyModel(getModel(), "callnumber")));

    RadioChoice businessRole = new RadioChoice("businessRole", Arrays.asList(User.BusinessRole.values()),
            new LocalizedBusinessRoleChoiceRenderer(this)).setSuffix("");
    businessRole.add(new IValidator() {

        @Override
        public void validate(IValidatable validatable) {
            Object o = validatable.getValue();

            User.BusinessRole val = (User.BusinessRole) o;

            if (val == BusinessRole.Company) {
                company.setRequired(true);
            } else {
                company.setRequired(false);
            }
        }
    });

    businessRole.add(new AjaxFormChoiceComponentUpdatingBehavior() {
        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            boolean actsAsCompany = getUser().getBusinessRole() == BusinessRole.Company;
            companyContainer.setVisible(actsAsCompany);
            target.addComponent(companyContainer);
        }
    });
    container.add(businessRole);

    companyContainer.add(new DropDownChoice("position", Arrays.asList(User.Position.values()),
            new LocalizedPositionChoiceRenderer(this)));

    companyContainer.add(new TextField("employment"));

    companyContainer.add(company = new TextField("company"));
    //add(new TextField("education"));               
    companyContainer.add(new TextField("companyUrl"));
    companyContainer.add(new TextField("VATIN"));

    container.add(new AddressForRegistrationPanel("addressPanel", new PropertyModel(getModel(), "address")));

    container.add(new CheckBox("receiveNews"));
    //add(new CheckBox("verified").setRequired(true).setEnabled(!getUser().isVerified()));

    container.add(new DefaultButton("saveButton", new StringResourceModel("save", this, null), this) {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form form) {
            UserRegistrationForm.this.onSave(target);
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form form) {
            target.addComponent(UserRegistrationForm.this.get("feedback"));

        }
    });

    add(new FeedbackPanel("feedback").setOutputMarkupId(true));
}

From source file:com.userweave.pages.user.verification.UserVerificationForm.java

License:Open Source License

public UserVerificationForm(String id, IModel userModel, final ModalWindow agbModalWindow) {
    super(id);/* w  w  w . ja  v  a  2  s . c  om*/

    setModel(new CompoundPropertyModel(userModel));

    AjaxCheckBox acb = new AjaxCheckBox("verified") {
        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            toggleVisibility(this, target);
        }
    };

    add(acb);

    add(new AjaxLink("agb") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            agbModalWindow.show(target);
        }

    });

    container = new WebMarkupContainer("container");
    add(container);

    container.setVisible(false);

    container.setOutputMarkupPlaceholderTag(true);

    container.add(new TextField("surname").setRequired(true));
    container.add(new TextField("forename").setRequired(true));

    container.add(createReceiveNewsChoice());

    container.add(new DefaultButton("saveButton", new StringResourceModel("save", this, null), this) {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form form) {
            UserVerificationForm.this.onSave(target);
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form form) {
            target.addComponent(UserVerificationForm.this.get("feedback"));

        }
    });

    addLocaleChoice();

    add(new FeedbackPanel("feedback").setOutputMarkupId(true));
}

From source file:com.visural.stereotyped.ui.comedit.ComponentEditor.java

License:Mozilla Public License

public ComponentEditor(PageParameters params) {
    super(params);
    add(JavascriptPackageResource.getHeaderContribution(new AceReference(AceReference.File.ACE_JS)));
    String name = params.getString(StdParam.LOAD_ID);
    if (name == null) {
        throw new IllegalArgumentException("Must provide a library name to load.");
    } else {//from   w w w  .j a  v a2 s.  c  o m
        data = stereotypeService.readComponentLibrary(name);
    }

    final Dialog dialog = new Dialog("addDialog");
    add(dialog);
    final AddForm addForm;
    dialog.add(addForm = new AddForm("addForm") {

        @Override
        public void submit(AjaxRequestTarget target) {
            if (data.getTemplate().containsKey(this.model.addName.trim())) {
                error("Already exists!");
            } else {
                data.getTemplate().put(this.model.addName.trim(),
                        new Binary(this.model.addFile.getBytes(), true));
                target.addComponent(form);
                dialog.close(target);
            }
        }

        @Override
        public void cancel(AjaxRequestTarget target) {
            dialog.close(target);
        }
    });

    add(form = new EditorForm("mainForm", new AjaxLink("add") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            addForm.model.addFile = null;
            addForm.model.addName = null;
            dialog.open(target);
            target.addComponent(addForm);
        }
    }));
}

From source file:com.visural.stereotyped.ui.LandingPage.java

License:Mozilla Public License

public LandingPage(PageParameters params) {
    super(params);
    stereotypes = service.getStereotypes();

    add(new FeedbackPanel("feedback"));

    IModel<UUID> selectedModel = new IModel<UUID>() {
        public UUID getObject() {
            if (selected != null && service.read(selected) != null) {
                return selected;
            } else {
                return null;
            }//from w w w  .  jav  a  2  s . co m
        }

        public void setObject(UUID object) {
            selected = object;
        }

        public void detach() {
        }
    };
    final StereotypeManagePanel manage = new StereotypeManagePanel("recordDetails", selectedModel);
    add(manage);

    add(new StereotypeListPanel("recentlySaved", new Model("Recently Saved Files"),
            new AbstractReadOnlyModel<List<UUID>>() {
                @Override
                public List<UUID> getObject() {
                    return userService.getUser(userService.getCurrentUser()).getUserLists()
                            .get(UserListType.RECENTLY_SAVED);
                }
            }, manage));
    add(new StereotypeListPanel("recentlyViewed", new Model("Recently Viewed Files"),
            new AbstractReadOnlyModel<List<UUID>>() {
                @Override
                public List<UUID> getObject() {
                    return userService.getUser(userService.getCurrentUser()).getUserLists()
                            .get(UserListType.RECENTLY_VIEWED);
                }
            }, manage));

    add(new NewForm("newForm"));

    add(ignoreForm = new IgnoreForm("ignoreForm"));

    tagWrap = new WebMarkupContainer("tagWrap");
    tagWrap.setOutputMarkupId(true);
    add(tagWrap);
    final RefreshingView<String> tags = new RefreshingView<String>("tag") {

        @Override
        protected Iterator<IModel<String>> getItemModels() {
            List<String> tags = new ArrayList<String>();
            tags.addAll(service.listAllByTag(sessionService.getSessionBean().isShowFilesFromOtherUsers(),
                    sessionService.getSessionBean().isShowArchived()).keySet());
            Collections.sort(tags);
            return WrapCollectionToModelCollection.get(tags).iterator();
        }

        @Override
        protected void populateItem(Item<String> item) {
            final String tag = item.getModelObject();
            final boolean isIgnored = Sets
                    .newHashSet(sessionService.getSessionBean().getIgnoreTags().split(" ")).contains(tag);
            item.setOutputMarkupId(true);
            item.add(new AjaxLink("title") {
                @Override
                public void onClick(AjaxRequestTarget target) {
                    Set<String> tags = Sets
                            .newHashSet(sessionService.getSessionBean().getIgnoreTags().split(" "));
                    if (isIgnored) {
                        tags.remove(tag);
                    } else {
                        tags.add(tag);
                    }
                    sessionService.getSessionBean().setIgnoreTags(StringUtil.delimitObjectsToString(" ", tags));
                    target.addComponent(tagWrap);
                }

                @Override
                protected void onComponentTagBody(MarkupStream markupStream, ComponentTag openTag) {
                    replaceComponentTagBody(markupStream, openTag, tag);
                }

            });

            RefreshingView<UUID> loadList = new RefreshingView<UUID>("itemRow") {
                @Override
                protected Iterator<IModel<UUID>> getItemModels() {
                    List<UUID> items = new ArrayList<UUID>();
                    items.addAll(
                            service.listAllByTag(sessionService.getSessionBean().isShowFilesFromOtherUsers(),
                                    sessionService.getSessionBean().isShowArchived()).get(tag));
                    Collections.sort(items, new Comparator<UUID>() {

                        public int compare(UUID o1, UUID o2) {
                            return service.read(o1).getName().compareTo(service.read(o2).getName());
                        }

                    });
                    return WrapCollectionToModelCollection.get(items).iterator();
                }

                @Override
                protected void populateItem(final Item<UUID> item) {
                    item.setOutputMarkupId(true);
                    Stereotype st = service.read(item.getModelObject());
                    final String stName = st.getName();
                    final AjaxLink desc = new AjaxLink("itemOpen") {
                        @Override
                        public void onClick(AjaxRequestTarget target) {
                            manage.select(target, item.getModelObject());
                        }
                    };
                    desc.add(new Image("icon", new IconReference(Icon.PROPERTIES)));
                    item.add(desc);

                    StereotypeUIMetaData meta = service.readUIMeta(item.getModelObject());
                    String userDesc = meta.getOwner()
                            .equals(sessionService.getSessionBean().getLoggedInUsername()) ? ""
                                    : "(" + meta.getOwner() + ")";
                    item.add(new Label("userDesc", userDesc));

                    WebMarkupContainer previewButton;
                    if (service.read(item.getModelObject()).getPreviewStates().isEmpty()) {
                        previewButton = new WebMarkupContainer("preview");
                        previewButton.add(new SimpleAttributeModifier("href",
                                "preview/" + StringUtil.urlEncode(item.getModelObject().toString()) + "/"));
                        item.add(previewButton);
                    } else {
                        item.add(previewButton = new AjaxLink("preview") {

                            @Override
                            public void onClick(AjaxRequestTarget target) {
                                previewStateDialog.open(target, item.getModelObject());
                            }

                        });
                    }
                    previewButton.add(new Image("icon", new IconReference(Icon.PREVIEW)));

                    item.add(new BookmarkablePageLink("itemDesc", PrototypeEditor.class,
                            new PageParameters(StdParam.LOAD_ID + "=" + item.getModelObject())) {
                        @Override
                        protected void onComponentTagBody(MarkupStream markupStream, ComponentTag openTag) {
                            replaceComponentTagBody(markupStream, openTag, StringUtil.htmlEscape(stName));
                        }
                    });
                }
            };
            if (!isIgnored) {
                item.add(loadList);
            } else {
                item.add(new WebMarkupContainer("itemRow").setVisible(false));
            }
        }
    };
    tagWrap.add(tags);
    add(previewStateDialog = new PreviewStatePreviewDialog("previewStateDialog"));
}

From source file:com.visural.stereotyped.ui.prototype.PrototypeEditor.java

License:Mozilla Public License

public PrototypeEditor(PageParameters params) {
    super(params);

    add(CSSPackageResource.getHeaderContribution(new WindowsTheme()));

    add(new HeaderContributor(new IHeaderContributor() {

        public void renderHead(IHeaderResponse response) {
            response.renderJavascript(getHeaderJS(), "header_js");
        }//  w w  w.j a  v  a  2  s .  co m
    }));

    stereotypeUUIDList = new ArrayList<UUID>(stereotypeService.listAll());
    Collections.sort(stereotypeUUIDList, new Comparator<UUID>() {
        public int compare(UUID o1, UUID o2) {
            return stereotypeService.read(o1).getName().compareTo(stereotypeService.read(o2).getName());
        }
    });
    for (UUID uuid : stereotypeUUIDList) {
        stereotypeUUUIDDesc.put(uuid, stereotypeService.read(uuid).getName());
    }

    editor.setOutputMarkupId(true);
    add(editor);
    final WebMarkupContainer wrap = new WebMarkupContainer("wrap");
    editor.add(wrap.setOutputMarkupId(true));
    expert = userService.getUser(userService.getCurrentUser()).getExpertMode();
    stereotypeUUIDStr = params.getString(StdParam.LOAD_ID);
    id = UUID.fromString(stereotypeUUIDStr);
    if (stereotypeUUIDStr == null) {
        throw new IllegalArgumentException("Must provide a prototype name to load.");
    }
    userService.registerListInteraction(userService.getCurrentUser(), UserListType.RECENTLY_VIEWED, id);

    previewId = previewProvider.get().getNewPreviewerSession(stereotypeService.readUncached(id),
            new BasicHTMLResourceRenderer(stereotypeService.listAllLibraries()));

    components = new ArrayList<Class<? extends Component>>();
    List<ComponentLibrary> libs = stereotypeService.listAllLibraries();
    Stereotype s = previewProvider.get().getStereotype(previewId);
    for (ComponentLibrary lib : libs) {
        for (Class<? extends Component> com : lib.getComponents()) {
            if (s.allowComponent(lib.getJarName(), com)) {
                components.add(com);
            }
        }
    }

    EditorForm form;
    wrap.add(form = new EditorForm("mainForm"));
    prev = new PreviewerPanel("preview", previewId);
    wrap.add(prev);

    Form previewStatesForm = new Form("previewStates");
    wrap.add(previewStatesForm);
    previewStatesForm.add(new DropDownChoice("currentPreviewState", new IModel<String>() {
        public String getObject() {
            return getDynStereotype().getCurrentPreviewStateName();
        }

        public void setObject(String object) {
            if (!Function.nvl(object, "").equals(Function.nvl(getObject(), ""))) {
                if (object == null) {
                    getDynStereotype().getDefaultState().select();
                } else {
                    getDynStereotype().getPreviewStateByName(object).select();
                }
            }
        }

        public void detach() {
        }
    }, new AbstractReadOnlyModel() {
        @Override
        public Object getObject() {
            ArrayList al = new ArrayList();
            List<PreviewState> states = getDynStereotype().getPreviewStates();
            for (PreviewState ps : states) {
                al.add(ps.getName());
            }
            return al;
        }
    }).setNullValid(true).add(new AjaxFormSubmitBehavior("onchange") {
        @Override
        protected void onSubmit(AjaxRequestTarget target) {
            target.addComponent(editor);
        }

        @Override
        protected void onError(AjaxRequestTarget target) {
            target.addComponent(editor);
        }
    }));

    final Dialog addPreviewStateDialog = new Dialog("addPreviewStateDialog");
    addPreviewStateDialog.setOutputMarkupId(true);
    editor.add(addPreviewStateDialog);
    final AddPreviewStateForm addPreviewStateForm = new AddPreviewStateForm("addPreviewState",
            addPreviewStateDialog);
    addPreviewStateDialog.add(addPreviewStateForm);
    addPreviewStateDialog.add(new Label("title", new AbstractReadOnlyModel() {
        @Override
        public Object getObject() {
            return addPreviewStateForm.toCopy == null ? "Add Preview State"
                    : "Copy Preview State '" + addPreviewStateForm.toCopy.getName() + "'";
        }
    }));

    wrap.add(new AjaxLink("addPreviewState") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            addPreviewStateForm.open(target);
        }
    });
    wrap.add(new AjaxLink("copyPreviewState") {
        @Override
        public boolean isVisible() {
            return getDynStereotype().getCurrentPreviewState() != null;
        }

        @Override
        public void onClick(AjaxRequestTarget target) {
            addPreviewStateForm.open(target, getDynStereotype().getCurrentPreviewState());
        }
    });
    wrap.add(new ConfirmerAjaxLink("delPreviewState") {
        @Override
        public boolean isVisible() {
            return getDynStereotype().getCurrentPreviewState() != null;
        }

        @Override
        public void onClick(AjaxRequestTarget target) {
            getDynStereotype().deletePreviewState(getDynStereotype().getCurrentPreviewState());
            target.addComponent(editor);
        }
    });

    wrap.add(new AjaxLink("refreshAll") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            target.addComponent(wrap);
        }

    });
    wrap.add(new IndicateModalAjaxSubmitLink("save", form) {

        @Override
        public IPrivilege getRenderPrivilege() {
            return Privilege.currentUserHasWriteAccess(id);
        }

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            target.addComponent(editor);
            Stereotype s = previewProvider.get().getStereotype(previewId);
            stereotypeService.write(s);
            getSession().info("Saved '" + s.getName() + "' successfully.");
        }
    });
    wrap.add(new IndicateModalSubmitLink("saveAndClose", form) {
        @Override
        public IPrivilege getRenderPrivilege() {
            return Privilege.currentUserHasWriteAccess(id);
        }

        @Override
        public void onSubmit() {
            Stereotype s = previewProvider.get().getStereotype(previewId);
            stereotypeService.write(s);
            getSession().info("Saved '" + s.getName() + "' successfully.");
            setResponsePage(LandingPage.class);
        }
    });
    wrap.add(new ConfirmerAjaxLink("close") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            setResponsePage(LandingPage.class);
        }

    });

    wrap.add(new IndicateModalAjaxLink("fix") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            target.addComponent(editor);
            Stereotype s = getDynStereotype();
            List<Slot> slots = new ArrayList<Slot>();
            recurse(s, slots);
            int fixed = 0;
            for (int n = 0; n < slots.size() - 1; n++) {
                Slot cur = slots.get(n);
                if (listHasUUID(slots.subList(n + 1, slots.size()), cur.getUuid())) {
                    cur.mutateUUID(true);
                    fixed++;
                }
            }
            getSession().info("Fixed " + fixed + " broken slots.");
        }

        private boolean listHasUUID(List<Slot> l, UUID uuid) {
            for (Slot s : l) {
                if (s.getUuid().equals(uuid)) {
                    return true;
                }
            }
            return false;
        }

        private void recurse(Component c, List<Slot> result) {
            if (c == null || c.getSlots() == null || c.getSlots().isEmpty()) {
                return;
            }
            for (Slot s : c.getSlots()) {
                recurse(s, result);
            }
        }

        private void recurse(Slot s, List<Slot> result) {
            if (s == null) {
                return;
            }
            result.add(s);
            if (s.getContent() != null && !s.getContent().isEmpty()) {
                for (Component c : s.getContent()) {
                    recurse(c, result);
                }
            }
        }
    });

    wrap.add(new WebMarkupContainer("previewWindow")
            .add(new SimpleAttributeModifier("href", prev.getPreviewURL())));
}

From source file:com.visural.stereotyped.ui.StereotypeListPanel.java

License:Mozilla Public License

public StereotypeListPanel(String id, IModel<String> title, IModel<List<UUID>> model,
        final StereotypeManagePanel managePanel) {
    super(id);//from  w  ww .  jav a  2  s.  c om
    add(new Label("title", title));
    add(previewStateDialog = new PreviewStatePreviewDialog("previewStateDialog"));
    ListView<UUID> list = new ListView<UUID>("list", model) {

        @Override
        protected void populateItem(final ListItem<UUID> item) {
            Stereotype st = service.read(item.getModelObject());
            if (st == null) {
                item.setVisible(false);
                return; // shouldn't happen, but in case a bad UUID get's added to list
            }
            final String stName = st.getName();
            final AjaxLink desc = new AjaxLink("itemOpen") {
                @Override
                public void onClick(AjaxRequestTarget target) {
                    managePanel.select(target, item.getModelObject());
                    target.addComponent(managePanel);
                }
            };
            desc.add(new Image("icon", new IconReference(Icon.PROPERTIES)));
            item.add(desc);

            StereotypeUIMetaData meta = service.readUIMeta(item.getModelObject());
            String userDesc = meta.getOwner().equals(userService.getCurrentUser()) ? ""
                    : "(" + meta.getOwner() + ")";
            item.add(new Label("userDesc", userDesc));

            WebMarkupContainer previewButton;
            if (service.read(item.getModelObject()).getPreviewStates().isEmpty()) {
                previewButton = new WebMarkupContainer("preview");
                previewButton.add(new SimpleAttributeModifier("href",
                        "preview/" + StringUtil.urlEncode(item.getModelObject().toString()) + "/"));
                previewButton.add(new SimpleAttributeModifier("target", item.getModelObject().toString()));
                item.add(previewButton);
            } else {
                item.add(previewButton = new AjaxLink("preview") {

                    @Override
                    public void onClick(AjaxRequestTarget target) {
                        previewStateDialog.open(target, item.getModelObject());
                    }

                });
            }
            previewButton.add(new Image("icon", new IconReference(Icon.PREVIEW)));

            item.add(new BookmarkablePageLink("itemDesc", PrototypeEditor.class,
                    new PageParameters(StdParam.LOAD_ID + "=" + item.getModelObject())) {
                @Override
                protected void onComponentTagBody(MarkupStream markupStream, ComponentTag openTag) {
                    replaceComponentTagBody(markupStream, openTag, StringUtil.htmlEscape(stName));
                }
            });
        }
    };
    add(list);
}

From source file:com.visural.stereotyped.ui.StereotypeManagePanel.java

License:Mozilla Public License

public StereotypeManagePanel(String id, IModel<UUID> st) {
    super(id);//from  ww w .  j av  a 2  s. c om
    this.stereotype = st;
    setOutputMarkupId(true);
    WebMarkupContainer wrap = new WebMarkupContainer("wrap") {

        @Override
        public boolean isVisible() {
            return stereotype.getObject() != null;
        }
    };
    add(wrap);
    add(previewStateDialog = new PreviewStatePreviewDialog("previewStateDialog"));

    final Label desc = new Label("itemDesc", new AbstractReadOnlyModel() {

        @Override
        public Object getObject() {
            return service.read(stereotype.getObject()).getName();
        }
    });
    wrap.add(desc);

    wrap.add(new Label("userDesc", new AbstractReadOnlyModel() {

        @Override
        public Object getObject() {
            StereotypeUIMetaData meta = service.readUIMeta(stereotype.getObject());
            return meta.getOwner().equals(userService.getCurrentUser()) ? "" : "(" + meta.getOwner() + ")";
        }
    }));

    WebMarkupContainer previewSingle = new WebMarkupContainer("previewSingle") {

        @Override
        public boolean isVisible() {
            return false;
            //return service.read(stereotype.getObject()).getPreviewStates().isEmpty();
        }

        @Override
        protected void onComponentTag(ComponentTag tag) {
            super.onComponentTag(tag);
            tag.put("href", "preview/" + StringUtil.urlEncode(stereotype.getObject().toString()) + "/");
            tag.put("target", stereotype.getObject().toString());
        }
    };
    previewSingle.add(new Image("icon", new ResourceReference(BasePage.class, "eye--arrow.png")));
    wrap.add(previewSingle);

    WebMarkupContainer previewMulti = new AjaxLink("previewMulti") {

        @Override
        public boolean isVisible() {
            return false;
            //return !service.read(stereotype.getObject()).getPreviewStates().isEmpty();
        }

        @Override
        public void onClick(AjaxRequestTarget target) {
            previewStateDialog.open(target, stereotype.getObject());
        }
    };
    previewMulti.add(new Image("icon", new ResourceReference(BasePage.class, "eye--arrow.png")));
    wrap.add(previewMulti);

    wrap.add(new WebMarkupContainer("itemOpen") {

        @Override
        protected void onComponentTag(ComponentTag tag) {
            super.onComponentTag(tag);
            tag.put("href", urlFor(PrototypeEditor.class,
                    new PageParameters(StdParam.LOAD_ID + "=" + stereotype.getObject())).toString());
        }
    }.setVisible(false));
    wrap.add(new SecureWebMarkupContainer("itemAccess") {

        @Override
        public IPrivilege getRenderPrivilege() {
            return Privilege.currentUserHasWriteAccess(stereotype.getObject());
        }

        @Override
        protected void onComponentTag(ComponentTag tag) {
            super.onComponentTag(tag);
            tag.put("href", urlFor(EditMetaPage.class,
                    new PageParameters(StdParam.LOAD_ID + "=" + stereotype.getObject())).toString());
        }
    });
    wrap.add(new AjaxLink("itemCopy") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            service.copy(stereotype.getObject());
            setResponsePage(LandingPage.class);
        }
    });
    final RenameForm renameForm = new RenameForm();
    wrap.add(renameForm);
    wrap.add(new SecureAjaxLink("itemRename") {

        @Override
        public boolean isVisible() {
            return Privilege.currentUserHasWriteAccess(stereotype.getObject())
                    .isGrantedToClient(userService.getUser(userService.getCurrentUser()));
        }

        @Override
        public void onClick(AjaxRequestTarget target) {
            renameForm.show(stereotype.getObject(), service.read(stereotype.getObject()).getName());
            desc.setVisible(false);
            target.addComponent(StereotypeManagePanel.this);
        }
    });
    wrap.add(new ConfirmerLink("itemArchive") {

        @Override
        public boolean isVisible() {
            return Privilege.currentUserHasWriteAccess(stereotype.getObject())
                    .isGrantedToClient(userService.getUser(userService.getCurrentUser()));
        }

        @Override
        public String getMessageContentHTML() {
            return "Are you sure you want to archive '" + service.read(stereotype.getObject()).getName() + "'?";
        }

        @Override
        public String getOkButtonLabel() {
            return "Yes";
        }

        @Override
        public String getCancelButtonLabel() {
            return "No";
        }

        @Override
        public void onClick() {
            StereotypeUIMetaData meta = service.readUIMeta(stereotype.getObject());
            meta.getTags().add(StereotypeUIMetaData.ARCHIVE_TAG);
            service.writeUIMeta(stereotype.getObject(), meta);
        }
    });
    wrap.add(new ConfirmerLink("itemDelete") {

        @Override
        public boolean isVisible() {
            return Privilege.currentUserHasWriteAccess(stereotype.getObject())
                    .isGrantedToClient(userService.getUser(userService.getCurrentUser()));
        }

        @Override
        public String getMessageContentHTML() {
            return "Are you sure you want to delete '" + service.read(stereotype.getObject()).getName() + "'?";
        }

        @Override
        public String getOkButtonLabel() {
            return "Yes";
        }

        @Override
        public String getCancelButtonLabel() {
            return "No";
        }

        @Override
        public void onClick() {
            service.archive(stereotype.getObject());
        }
    });

    wrap.add(new RefreshingView<String>("groups") {

        @Override
        protected Iterator<IModel<String>> getItemModels() {
            List<String> all = new ArrayList<String>();
            if (stereotype.getObject() != null) {
                StereotypeUIMetaData meta = service.readUIMeta(stereotype.getObject());
                for (String g : meta.getEditGroups()) {
                    all.add("Group - " + g + " (edit)");
                }
                for (String g : meta.getEditUsers()) {
                    all.add("User  - " + g + " (edit)");
                }
                for (String g : meta.getViewGroups()) {
                    all.add("Group - " + g + " (view)");
                }
                for (String g : meta.getViewUsers()) {
                    all.add("User  - " + g + " (view)");
                }
            }
            if (all.isEmpty()) {
                all.add("Private (owner only)");
            }
            return WrapCollectionToModelCollection.get(all).iterator();
        }

        @Override
        protected void populateItem(final Item<String> item) {
            item.add(new Label("group", item.getModelObject()));
        }
    });
}

From source file:com.visural.wicket.examples.dialog.DialogExamplePage.java

License:Apache License

public DialogExamplePage() {
    final Dialog dialog = new Dialog("dialog");
    add(dialog);//w  ww .  jav  a  2 s.c o m
    dialog.add(new WebMarkupContainer("close").add(dialog.getClickToCloseBehaviour()));
    add(new WebMarkupContainer("open").add(dialog.getClickToOpenBehaviour()));
    add(new AjaxLink("openAjax") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            dialog.open(target);
        }
    });
}

From source file:com.visural.wicket.examples.tabs.TabsExamplePage.java

License:Apache License

public TabsExamplePage() {
    final Tabs tabs;
    add(tabs = new Tabs("tabs"));
    tabs.setOutputMarkupId(true);//from  ww w  .j  av a  2s .  co m
    Tab tab1 = new Tab("tab1", "Tab #1");
    Tab tab2 = new Tab("tab2", "Tab #2");
    final Tab tab3 = new Tab("tab3", "Tab #3");
    tabs.add(tab1);
    tabs.add(tab2);
    tabs.add(tab3);
    add(new AjaxLink("showHide") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            target.addComponent(tabs);
            tab3.setVisible(!tab3.isVisible());
        }

    });
}