List of usage examples for org.apache.wicket.ajax.markup.html AjaxLink AjaxLink
public AjaxLink(final String id)
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()); } }); }