List of usage examples for org.apache.wicket.markup.repeater.data DataView DataView
protected DataView(String id, IDataProvider<T> dataProvider)
From source file:org.sakaiproject.profile2.tool.pages.panels.MyWallPanel.java
License:Educational Community License
private void renderWallPanel(final String userUuid) { setOutputMarkupId(true);/*ww w .j ava 2s . c o m*/ // container which wraps list final WebMarkupContainer wallItemsContainer = new WebMarkupContainer("wallItemsContainer"); wallItemsContainer.setOutputMarkupId(true); add(wallItemsContainer); WallItem wallItem = new WallItem(); wallItem.setUserUuid(userUuid); // always post to my wall as current user, to ensure super users cannot // make posts as other users wallItem.setCreatorUuid(sakaiProxy.getCurrentUserId()); wallItem.setType(ProfileConstants.WALL_ITEM_TYPE_POST); // form for posting to my wall Form<WallItem> form = new Form<WallItem>("myWallPostForm", new Model<WallItem>(wallItem)); form.setOutputMarkupId(true); add(form); // form submit feedback final Label formFeedback = new Label("formFeedback"); formFeedback.setOutputMarkupPlaceholderTag(true); form.add(formFeedback); final FeedbackPanel feedback = new FeedbackPanel("feedback"); feedback.setOutputMarkupId(true); form.add(feedback); int[] filteredErrorLevels = new int[] { FeedbackMessage.ERROR }; feedback.setFilter(new ErrorLevelsFeedbackMessageFilter(filteredErrorLevels)); // container for posting to my wall WebMarkupContainer myWallPostContainer = new WebMarkupContainer("myWallPostContainer"); final TextArea myWallPost = new TextArea("myWallPost", new PropertyModel<String>(wallItem, "text")); myWallPost.setMarkupId("wallpostinput"); myWallPost.setOutputMarkupId(true); myWallPostContainer.add(myWallPost); form.add(myWallPostContainer); IndicatingAjaxButton submitButton = new IndicatingAjaxButton("myWallPostSubmit", form) { private static final long serialVersionUID = 1L; @SuppressWarnings("unchecked") protected void onSubmit(AjaxRequestTarget target, Form form) { if (myWallPost.getValue().equals("")) { formFeedback.setDefaultModel(new ResourceModel("error.wall.post.empty")); formFeedback.add(new AttributeModifier("class", true, new Model<String>("alertMessage"))); target.add(formFeedback); return; } if (false == save(form, userUuid)) { formFeedback.setDefaultModel(new ResourceModel("error.wall.post.failed")); formFeedback.add(new AttributeModifier("class", true, new Model<String>("alertMessage"))); target.add(formFeedback); } else { replaceSelf(target, userUuid); } } //@Override //protected IAjaxCallDecorator getAjaxCallDecorator() { // return CKEditorTextArea.getAjaxCallDecoratedToUpdateElementForAllEditorsOnPage(); //} }; submitButton.setModel(new ResourceModel("button.wall.post")); myWallPostContainer.add(submitButton); WallItemDataProvider provider = new WallItemDataProvider(userUuid); // if no wall items, display a message if (0 == provider.size()) { add(new Label("wallInformationMessage", new ResourceModel("text.wall.no.items"))); } else { // blank label when there are items to display add(new Label("wallInformationMessage")); } final DataView<WallItem> wallItemsDataView = new DataView<WallItem>("wallItems", provider) { private static final long serialVersionUID = 1L; @Override protected void populateItem(Item<WallItem> item) { WallItem wallItem = (WallItem) item.getDefaultModelObject(); // pass reference to MyWallPanel for updating when posts are removed item.add(new WallItemPanel("wallItemPanel", userUuid, wallItem, MyWallPanel.this)); } }; wallItemsDataView.setOutputMarkupId(true); if (provider.size() <= ProfileConstants.MAX_WALL_ITEMS_PER_PAGE) { wallItemsContainer.add(new AjaxPagingNavigator("navigator", wallItemsDataView).setVisible(false)); } else { wallItemsContainer.add(new AjaxPagingNavigator("navigator", wallItemsDataView)); } wallItemsDataView.setItemsPerPage(ProfileConstants.MAX_WALL_ITEMS_PER_PAGE); wallItemsContainer.add(wallItemsDataView); }
From source file:org.sakaiproject.profile2.tool.pages.panels.RequestedFriends.java
License:Educational Community License
public RequestedFriends(final String id, final String userUuid) { super(id);//from w ww . j a v a 2 s . c o m log.debug("RequestedFriends()"); final String currentUserUuid = sakaiProxy.getCurrentUserId(); //setup model to store the actions in the modal windows final FriendAction friendActionModel = new FriendAction(); //get our list of friend requests as an IDataProvider RequestedFriendsDataProvider provider = new RequestedFriendsDataProvider(userUuid); //init number of requests numRequestedFriends = (int) provider.size(); //model so we can update the number of requests IModel<Integer> numRequestedFriendsModel = new Model<Integer>() { private static final long serialVersionUID = 1L; public Integer getObject() { return numRequestedFriends; } }; //heading final WebMarkupContainer requestedFriendsHeading = new WebMarkupContainer("requestedFriendsHeading"); requestedFriendsHeading .add(new Label("requestedFriendsLabel", new ResourceModel("heading.friend.requests"))); requestedFriendsHeading.add(new Label("requestedFriendsNumber", numRequestedFriendsModel)); requestedFriendsHeading.setOutputMarkupId(true); add(requestedFriendsHeading); //container which wraps list final WebMarkupContainer requestedFriendsContainer = new WebMarkupContainer("requestedFriendsContainer"); requestedFriendsContainer.setOutputMarkupId(true); //connection window final ModalWindow connectionWindow = new ModalWindow("connectionWindow"); //search results DataView<Person> requestedFriendsDataView = new DataView<Person>("connections", provider) { private static final long serialVersionUID = 1L; protected void populateItem(final Item<Person> item) { Person person = (Person) item.getDefaultModelObject(); final String personUuid = person.getUuid(); //get name String displayName = person.getDisplayName(); //get other objects ProfilePrivacy privacy = person.getPrivacy(); ProfilePreferences prefs = person.getPreferences(); //image wrapper, links to profile Link<String> friendItem = new Link<String>("connectionPhotoWrap", new Model<String>(personUuid)) { private static final long serialVersionUID = 1L; public void onClick() { setResponsePage(new ViewProfile(getModelObject())); } }; //image ProfileImage connectionPhoto = new ProfileImage("connectionPhoto", new Model<String>(personUuid)); connectionPhoto.setSize(ProfileConstants.PROFILE_IMAGE_THUMBNAIL); friendItem.add(connectionPhoto); item.add(friendItem); //name and link to profile Link<String> profileLink = new Link<String>("connectionLink", new Model<String>(personUuid)) { private static final long serialVersionUID = 1L; public void onClick() { setResponsePage(new ViewProfile(getModelObject())); } }; profileLink.add(new Label("connectionName", displayName)); item.add(profileLink); //status component ProfileStatusRenderer status = new ProfileStatusRenderer("connectionStatus", person, "connection-status-msg", "connection-status-date"); status.setOutputMarkupId(true); item.add(status); //CONFIRM FRIEND LINK AND WINDOW WebMarkupContainer c1 = new WebMarkupContainer("confirmConnectionContainer"); c1.setOutputMarkupId(true); final AjaxLink<String> confirmConnectionLink = new AjaxLink<String>("confirmConnectionLink", new Model<String>(personUuid)) { private static final long serialVersionUID = 1L; public void onClick(AjaxRequestTarget target) { //get this item, and set content for modalwindow String personUuid = getModelObject(); connectionWindow.setContent(new ConfirmFriend(connectionWindow.getContentId(), connectionWindow, friendActionModel, userUuid, personUuid)); //modalwindow handler connectionWindow.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() { private static final long serialVersionUID = 1L; public void onClose(AjaxRequestTarget target) { if (friendActionModel.isConfirmed()) { //decrement number of requests numRequestedFriends--; //remove friend item from display target.appendJavaScript("$('#" + item.getMarkupId() + "').slideUp();"); //update label target.add(requestedFriendsHeading); //get parent panel and repaint ConfirmedFriends panel via helper method in MyFriends findParent(MyFriends.class).updateConfirmedFriends(target, userUuid); //if none left, hide everything if (numRequestedFriends == 0) { target.appendJavaScript( "$('#" + requestedFriendsHeading.getMarkupId() + "').fadeOut();"); target.appendJavaScript( "$('#" + requestedFriendsContainer.getMarkupId() + "').fadeOut();"); } } } }); connectionWindow.show(target); target.appendJavaScript("fixWindowVertical();"); } }; //ContextImage confirmConnectionIcon = new ContextImage("confirmConnectionIcon",new Model<String>(ProfileConstants.ACCEPT_IMG)); //confirmConnectionLink.add(confirmConnectionIcon); confirmConnectionLink .add(new AttributeModifier("title", true, new ResourceModel("link.title.confirmfriend"))); confirmConnectionLink.add(new AttributeModifier("alt", true, new StringResourceModel( "accessibility.connection.confirm", null, new Object[] { displayName }))); confirmConnectionLink .add(new Label("confirmConnectionLabel", new ResourceModel("link.friend.confirm")) .setOutputMarkupId(true)); c1.add(confirmConnectionLink); item.add(c1); //IGNORE FRIEND LINK AND WINDOW WebMarkupContainer c2 = new WebMarkupContainer("ignoreConnectionContainer"); c2.setOutputMarkupId(true); final AjaxLink<String> ignoreConnectionLink = new AjaxLink<String>("ignoreConnectionLink", new Model<String>(personUuid)) { private static final long serialVersionUID = 1L; public void onClick(AjaxRequestTarget target) { //get this item, and set content for modalwindow String personUuid = getModelObject(); connectionWindow.setContent(new IgnoreFriend(connectionWindow.getContentId(), connectionWindow, friendActionModel, userUuid, personUuid)); //modalwindow handler connectionWindow.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() { private static final long serialVersionUID = 1L; public void onClose(AjaxRequestTarget target) { if (friendActionModel.isIgnored()) { //decrement number of requests numRequestedFriends--; //remove friend item from display target.appendJavaScript("$('#" + item.getMarkupId() + "').slideUp();"); //update label target.add(requestedFriendsHeading); //if none left, hide everything if (numRequestedFriends == 0) { target.appendJavaScript( "$('#" + requestedFriendsHeading.getMarkupId() + "').fadeOut();"); target.appendJavaScript( "$('#" + requestedFriendsContainer.getMarkupId() + "').fadeOut();"); } } } }); connectionWindow.show(target); target.appendJavaScript("fixWindowVertical();"); } }; //ContextImage ignoreConnectionIcon = new ContextImage("ignoreConnectionIcon",new Model<String>(ProfileConstants.CANCEL_IMG)); //ignoreConnectionLink.add(ignoreConnectionIcon); ignoreConnectionLink .add(new AttributeModifier("title", true, new ResourceModel("link.title.ignorefriend"))); ignoreConnectionLink.add(new AttributeModifier("alt", true, new StringResourceModel( "accessibility.connection.ignore", null, new Object[] { displayName }))); ignoreConnectionLink.add(new Label("ignoreConnectionLabel", new ResourceModel("link.friend.ignore")) .setOutputMarkupId(true)); c2.add(ignoreConnectionLink); item.add(c2); WebMarkupContainer c3 = new WebMarkupContainer("viewFriendsContainer"); c3.setOutputMarkupId(true); final AjaxLink<String> viewFriendsLink = new AjaxLink<String>("viewFriendsLink") { private static final long serialVersionUID = 1L; public void onClick(AjaxRequestTarget target) { // always ViewFriends because a user isn't connected to himself setResponsePage(new ViewFriends(personUuid)); } }; final Label viewFriendsLabel = new Label("viewFriendsLabel", new ResourceModel("link.view.friends")); viewFriendsLink.add(viewFriendsLabel); //hide if not allowed if (!privacyLogic.isActionAllowed(userUuid, currentUserUuid, PrivacyType.PRIVACY_OPTION_MYFRIENDS)) { viewFriendsLink.setEnabled(false); c3.setVisible(false); } viewFriendsLink.setOutputMarkupId(true); c3.add(viewFriendsLink); item.add(c3); WebMarkupContainer c4 = new WebMarkupContainer("emailContainer"); c4.setOutputMarkupId(true); ExternalLink emailLink = new ExternalLink("emailLink", "mailto:" + person.getProfile().getEmail(), new ResourceModel("profile.email").getObject()); c4.add(emailLink); // friend=false if (StringUtils.isBlank(person.getProfile().getEmail()) || false == privacyLogic.isActionAllowed(person.getUuid(), currentUserUuid, PrivacyType.PRIVACY_OPTION_CONTACTINFO)) { c4.setVisible(false); } item.add(c4); WebMarkupContainer c5 = new WebMarkupContainer("websiteContainer"); c5.setOutputMarkupId(true); // TODO home page, university profile URL or academic/research URL (see PRFL-35) ExternalLink websiteLink = new ExternalLink("websiteLink", person.getProfile().getHomepage(), new ResourceModel("profile.homepage").getObject()).setPopupSettings(new PopupSettings()); c5.add(websiteLink); // friend=false if (StringUtils.isBlank(person.getProfile().getHomepage()) || false == privacyLogic.isActionAllowed(person.getUuid(), currentUserUuid, PrivacyType.PRIVACY_OPTION_CONTACTINFO)) { c5.setVisible(false); } item.add(c5); // not a friend yet, so friend=false if (true == privacyLogic.isActionAllowed(person.getUuid(), sakaiProxy.getCurrentUserId(), PrivacyType.PRIVACY_OPTION_BASICINFO)) { item.add(new Label("connectionSummary", StringUtils .abbreviate(ProfileUtils.stripHtml(person.getProfile().getPersonalSummary()), 200))); } else { item.add(new Label("connectionSummary", "")); } item.setOutputMarkupId(true); } }; requestedFriendsDataView.setOutputMarkupId(true); requestedFriendsContainer.add(requestedFriendsDataView); //add results container add(requestedFriendsContainer); //add window add(connectionWindow); //initially, if no requests, hide everything if (numRequestedFriends == 0) { this.setVisible(false); } }
From source file:org.sakaiproject.profile2.tool.pages.panels.ViewWallPanel.java
License:Educational Community License
public ViewWallPanel(String panelId, final String userUuid) { super(panelId); setOutputMarkupId(true);//w w w .ja v a2s .c om final String currentUserId = sakaiProxy.getCurrentUserId(); // container which wraps list final WebMarkupContainer wallItemsContainer = new WebMarkupContainer("wallItemsContainer"); wallItemsContainer.setOutputMarkupId(true); add(wallItemsContainer); WallItem wallItem = new WallItem(); wallItem.setUserUuid(userUuid); // always post to my wall as current user, to ensure super users cannot // make posts as other users wallItem.setCreatorUuid(sakaiProxy.getCurrentUserId()); wallItem.setType(ProfileConstants.WALL_ITEM_TYPE_POST); // form for posting to my wall Form<WallItem> form = new Form<WallItem>("viewWallPostForm", new Model<WallItem>(wallItem)); form.setOutputMarkupId(true); add(form); if (false == privacyLogic.isActionAllowed(userUuid, sakaiProxy.getCurrentUserId(), PrivacyType.PRIVACY_OPTION_MYWALL)) { form.setEnabled(false); form.setVisible(false); } // form submit feedback final Label formFeedback = new Label("formFeedback"); formFeedback.setOutputMarkupPlaceholderTag(true); form.add(formFeedback); final FeedbackPanel feedback = new FeedbackPanel("feedback"); feedback.setOutputMarkupId(true); form.add(feedback); int[] filteredErrorLevels = new int[] { FeedbackMessage.ERROR }; feedback.setFilter(new ErrorLevelsFeedbackMessageFilter(filteredErrorLevels)); // container for posting to my wall WebMarkupContainer viewWallPostContainer = new WebMarkupContainer("viewWallPostContainer"); final TextArea myWallPost = new TextArea("viewWallPost", new PropertyModel<String>(wallItem, "text")); viewWallPostContainer.add(myWallPost); form.add(viewWallPostContainer); IndicatingAjaxButton submitButton = new IndicatingAjaxButton("viewWallPostSubmit", form) { private static final long serialVersionUID = 1L; @SuppressWarnings("unchecked") protected void onSubmit(AjaxRequestTarget target, Form form) { if (myWallPost.getValue().equals("")) { formFeedback.setDefaultModel(new ResourceModel("error.wall.post.empty")); formFeedback.add(new AttributeModifier("class", true, new Model<String>("alertMessage"))); target.add(formFeedback); return; } if (false == save(form, userUuid)) { formFeedback.setDefaultModel(new ResourceModel("error.wall.post.failed")); formFeedback.add(new AttributeModifier("class", true, new Model<String>("alertMessage"))); target.add(formFeedback); } else { ViewWallPanel newPanel = new ViewWallPanel(ViewWallPanel.this.getId(), userUuid); newPanel.setOutputMarkupId(true); ViewWallPanel.this.replaceWith(newPanel); if (null != target) { target.add(newPanel); target.appendJavaScript("setMainFrameHeight(window.name);"); } } } //@Override //protected IAjaxCallDecorator getAjaxCallDecorator() { // return CKEditorTextArea.getAjaxCallDecoratedToUpdateElementForAllEditorsOnPage(); //} }; submitButton.setModel(new ResourceModel("button.wall.post")); viewWallPostContainer.add(submitButton); // note: privacy check is handled by the logic component WallItemDataProvider provider = new WallItemDataProvider(userUuid); // if no wall items, display a message if (0 == provider.size()) { if (privacyLogic.isActionAllowed(userUuid, currentUserId, PrivacyType.PRIVACY_OPTION_MYWALL)) { // this user has no items on their wall add(new Label("wallInformationMessage", new StringResourceModel("text.view.wall.nothing", null, new Object[] { sakaiProxy.getUserDisplayName(userUuid) })) .setEscapeModelStrings(false)); } else { // wall privacy is set to connections add(new Label("wallInformationMessage", new StringResourceModel("text.view.wall.restricted", null, new Object[] { sakaiProxy.getUserDisplayName(userUuid) })) .setEscapeModelStrings(false)); } } else { // blank label when there are items to display add(new Label("wallInformationMessage")); } DataView<WallItem> wallItemsDataView = new DataView<WallItem>("wallItems", provider) { private static final long serialVersionUID = 1L; @Override protected void populateItem(Item<WallItem> item) { WallItem wallItem = (WallItem) item.getDefaultModelObject(); item.add(new WallItemPanel("wallItemPanel", userUuid, wallItem)); if (ProfileConstants.WALL_ITEM_TYPE_STATUS == wallItem.getType()) { // only show if a super user or non-super user is permitted if (!sakaiProxy.isSuperUser() && !privacyLogic.isActionAllowed(wallItem.getCreatorUuid(), currentUserId, PrivacyType.PRIVACY_OPTION_MYSTATUS)) { item.setVisible(false); } } } }; wallItemsDataView.setOutputMarkupId(true); if (provider.size() <= ProfileConstants.MAX_WALL_ITEMS_PER_PAGE) { wallItemsContainer.add(new AjaxPagingNavigator("navigator", wallItemsDataView).setVisible(false)); } else { wallItemsContainer.add(new AjaxPagingNavigator("navigator", wallItemsDataView)); } wallItemsDataView.setItemsPerPage(ProfileConstants.MAX_WALL_ITEMS_PER_PAGE); wallItemsContainer.add(wallItemsDataView); }
From source file:org.sakaiproject.sitestats.tool.wicket.pages.ReportsPage.java
License:Educational Community License
private void renderBody() { boolean isSiteStatsAdminPage = Locator.getFacade().getStatsAuthz().isSiteStatsAdminPage(); boolean isAdministering = isSiteStatsAdminPage && realSiteId.equals(siteId); boolean isFilteringReportsWithToolsInSite = !isAdministering; // menu/*from w w w.ja v a 2 s .co m*/ add(new Menus("menu", siteId)); // model setDefaultModel(new CompoundPropertyModel(this)); add(new Label("pageTitle")); // last job run add(new LastJobRun("lastJobRun", siteId)); // form Form form = new Form("reportsForm"); add(form); // feedback panel (messages) form.add(new CSSFeedbackPanel("messages")); // my reports WebMarkupContainer myReportsContainer = new WebMarkupContainer("myReportsContainer"); // new report link Link lnkNewReport = new Link("lnkNewReport") { private static final long serialVersionUID = 1L; @Override public void onClick() { PageParameters pageParameters = new PageParameters().set("siteId", siteId).set("predefined", "false"); setResponsePage(new ReportsEditPage(null, pageParameters, ReportsPage.this)); } }; myReportsContainer.add(lnkNewReport); // table final WebMarkupContainer noReports = new WebMarkupContainer("noReports"); myReportsContainer.add(noReports); final ReportDefsProvider myReportsProvider = new ReportDefsProvider(siteId, ReportDefsProvider.MODE_MYREPORTS, true, false); DataView myReports = new DataView("myReports", myReportsProvider) { private static final long serialVersionUID = 1L; @Override protected void populateItem(Item item) { final ReportDefModel model = (ReportDefModel) item.getModel(); item.add(new ReportRowFragment("reportRow", model, ReportDefsProvider.MODE_MYREPORTS)); if (((ReportDef) model.getObject()).isHidden()) { item.add(new AttributeModifier("class", new Model("hiddenReport"))); } } @Override protected void onBeforeRender() { noReports.setVisible(getRowCount() == 0); super.onBeforeRender(); } }; myReportsContainer.add(myReports); form.add(myReportsContainer); // predefined reports WebMarkupContainer predefinedReportsContainer = new WebMarkupContainer("predefinedReportsContainer"); final WebMarkupContainer noPredefReports = new WebMarkupContainer("noReports"); predefinedReportsContainer.add(noPredefReports); WebMarkupContainer adminAddContainer = new WebMarkupContainer("adminAddContainer"); adminAddContainer.setVisible(isAdministering); predefinedReportsContainer.add(adminAddContainer); // new predefined report link Link lnkPDNewReport = new Link("lnkNewReport") { private static final long serialVersionUID = 1L; @Override public void onClick() { PageParameters pageParameters = new PageParameters().set("siteId", siteId).set("predefined", "true"); setResponsePage(new ReportsEditPage(null, pageParameters, ReportsPage.this)); } }; adminAddContainer.add(lnkPDNewReport); final ReportDefsProvider predefinedReportsProvider = new ReportDefsProvider(siteId, ReportDefsProvider.MODE_PREDEFINED_REPORTS, isFilteringReportsWithToolsInSite, isAdministering); DataView predefinedReports = new DataView("predefinedReports", predefinedReportsProvider) { private static final long serialVersionUID = 1L; @Override protected void populateItem(Item item) { final ReportDefModel model = (ReportDefModel) item.getModel(); item.add(new ReportRowFragment("reportRow", model, ReportDefsProvider.MODE_PREDEFINED_REPORTS)); if (((ReportDef) model.getObject()).isHidden()) { item.add(new AttributeModifier("class", new Model("hiddenReport"))); } } @Override protected void onBeforeRender() { noPredefReports.setVisible(getRowCount() == 0); super.onBeforeRender(); } }; predefinedReportsContainer.add(predefinedReports); predefinedReportsContainer.setVisible(isSiteStatsAdminPage || predefinedReportsProvider.size() != 0); form.add(predefinedReportsContainer); }
From source file:org.wicketstuff.objectautocomplete.example.BaseExamplePage.java
License:Apache License
private void initExample() { ObjectAutoCompleteBuilder<O, I> builder = new ObjectAutoCompleteBuilder<O, I>(this); initBuilder(builder);/* w ww. ja v a 2 s . co m*/ acField = builder.build("acField", getModel()); final Form<Void> form = new Form<Void>("form"); add(form); form.add(acField); form.add(new Label("acLabel", getAutoCompleteFieldLabel())); // Add code sample and list of sample data add(new Label("acCodeSample", getCodeSample())); add(new Label("acHtmlSample", getHtmlSample())); add(new DataView<O>("acData", new ListDataProvider<O>(getAllChoices())) { private static final long serialVersionUID = 1L; @Override protected void populateItem(Item<O> item) { O object = item.getModelObject(); item.add(new Label("id", PropertyResolver.getValue(getIdProperty(), object).toString())); item.add(new Label("name", PropertyResolver.getValue(getNameProperty(), object).toString())); } }); WebMarkupContainer wac = new WebMarkupContainer("submitButtonPanel") { private static final long serialVersionUID = 1L; @Override public boolean isVisible() { return needsFormButton(); } }; Button submitButton = new Button("submitButton") { private static final long serialVersionUID = 1L; @Override public void onSubmit() { System.out.println("Clicked"); super.onSubmit(); } }; wac.add(submitButton); form.add(wac); add(new FeedbackPanel("feedbackPanel")); }
From source file:org.wicketTutorial.pagedata.HomePage.java
License:Apache License
public HomePage(final PageParameters parameters) { super(parameters); List<String[]> countries = loadCountriesFromCsv(); ListDataProvider<String[]> listDataProvider = new ListDataProvider<String[]>(countries); DataView<String[]> dataView = new DataView<String[]>("rows", listDataProvider) { @Override/*from w ww . j a v a 2 s.co m*/ protected void populateItem(Item<String[]> item) { String[] countriesArr = item.getModelObject(); RepeatingView repeatingView = new RepeatingView("dataRow"); for (int i = 0; i < countriesArr.length; i++) { repeatingView.add(new Label(repeatingView.newChildId(), countriesArr[i])); } item.add(repeatingView); } }; dataView.setItemsPerPage(15); add(dataView); add(new PagingNavigator("pagingNavigator", dataView)); }
From source file:org.xaloon.wicket.component.classifier.panel.ClassifiersItemPanel.java
License:Apache License
@Override protected void onInitialize(EmptyPlugin plugin, AbstractPluginBean pluginBean) { PageParameters params = getPageRequestParameters(); if (params.isEmpty()) { setVisible(false);//from ww w .j a va2 s.co m setResponsePage(ClassifiersPage.class); return; } final String classifierType = params.get(ClassifiersPanel.PARAM_CLASSIFIER_TYPE).toString(); String parentClassifierItem = null; if (params.get(ClassifierConstants.PARENT_ITEM) != null) { parentClassifierItem = params.get(ClassifierConstants.PARENT_ITEM).toString(); } // Add data container final DecoratedPagingNavigatorContainer<ClassifierItem> dataContainer = new DecoratedPagingNavigatorContainer<ClassifierItem>( "container", getCurrentRedirectLink()); add(dataContainer); // Add data view final DataView<ClassifierItem> classifierDataView = new DataView<ClassifierItem>("item-list", new ClassifierDataProvider(classifierType, parentClassifierItem)) { private static final long serialVersionUID = 1L; @Override protected void populateItem(Item<ClassifierItem> item) { ClassifierItem classifierItem = item.getModelObject(); // Add link PageParameters pageParameters = new PageParameters(); pageParameters.set(ClassifiersPanel.PARAM_CLASSIFIER_TYPE, classifierType); pageParameters.add(ClassifierConstants.PARENT_ITEM, classifierItem.getCode()); BookmarkablePageLink<Void> link = new BookmarkablePageLink<Void>("link-item", ClassifiersItemPage.class, pageParameters); item.add(link); link.add(new Label("code", new Model<String>(classifierItem.getCode()))); // Add name item.add(new Label("name", new Model<String>(classifierItem.getName()))); } }; dataContainer.addAbstractPageableView(classifierDataView); dataContainer.setVisible(true); classifierDataView.setItemReuseStrategy(ReuseIfModelsEqualStrategy.getInstance()); // Create modal window to create new classifier final ModalWindow addNewClassifierModalWindow = new CustomModalWindow("modal-new-item", "title") { private static final long serialVersionUID = 1L; @Override protected void addComponentsToRefresh(java.util.List<Component> components) { components.add(dataContainer); }; }; addNewClassifierModalWindow.setContent( new NewClassifierItemPanel<ClassifierItem, Classifier>(addNewClassifierModalWindow, params)); add(addNewClassifierModalWindow); // add create new classifier link add(new AjaxLink<Void>("link-add-new-item") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { addNewClassifierModalWindow.show(target); } }); }
From source file:org.xaloon.wicket.component.classifier.panel.ClassifiersPanel.java
License:Apache License
@Override protected void onInitialize(EmptyPlugin plugin, AbstractPluginBean pluginBean) { // Add data container final DecoratedPagingNavigatorContainer<Classifier> dataContainer = new DecoratedPagingNavigatorContainer<Classifier>( "container", getCurrentRedirectLink()); add(dataContainer);//from w w w .j a v a 2 s .co m // Add data view final DataView<Classifier> classifierDataView = new DataView<Classifier>("item-list", new ClassifierDataProvider()) { private static final long serialVersionUID = 1L; @Override protected void populateItem(Item<Classifier> item) { Classifier classifier = item.getModelObject(); // Add link PageParameters pageParameters = new PageParameters(); pageParameters.set(PARAM_CLASSIFIER_TYPE, classifier.getType()); BookmarkablePageLink<Void> link = new BookmarkablePageLink<Void>("link-item", ClassifiersItemPage.class, pageParameters); item.add(link); link.add(new Label("type", new Model<String>(classifier.getType()))); // Add name item.add(new Label("name", new Model<String>(classifier.getName()))); } }; dataContainer.addAbstractPageableView(classifierDataView); classifierDataView.setItemReuseStrategy(ReuseIfModelsEqualStrategy.getInstance()); dataContainer.setVisible(true); // Create modal window to create new classifier final ModalWindow addNewClassifierModalWindow = new CustomModalWindow("modal-new-item", "title") { private static final long serialVersionUID = 1L; @Override protected void addComponentsToRefresh(java.util.List<Component> components) { components.add(dataContainer); }; }; addNewClassifierModalWindow.setContent( new NewClassifierPanel<Classifier>(addNewClassifierModalWindow, getPageRequestParameters())); add(addNewClassifierModalWindow); // add create new classifier link add(new AjaxLink<Void>("link-add-new-item") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { addNewClassifierModalWindow.show(target); } }); }
From source file:org.xaloon.wicket.plugin.comment.panel.CommentListPanel.java
License:Apache License
@Override protected void onInitialize(CommentPlugin plugin, CommentPluginBean pluginBean) { final PageParameters pageParameters = getPageRequestParameters(); Commentable commentable = (Commentable) getDefaultModelObject(); final DecoratedPagingNavigatorContainer<Comment> dataContainer = new DecoratedPagingNavigatorContainer<Comment>( "container", getCurrentRedirectLink()); add(dataContainer);/* ww w . java2 s.com*/ final DataView<Comment> commentListDataView = new DataView<Comment>("comment-list", new CommentListDataProvider(commentable)) { private static final long serialVersionUID = 1L; @Override protected void populateItem(Item<Comment> item) { final Comment comment = item.getModelObject(); WebMarkupContainer externalLink; if (getPluginBean().isWebsiteVisible() && !StringUtils.isEmpty(comment.getFromUser().getWebsite())) { externalLink = new ExternalLink("external-link", comment.getFromUser().getWebsite()); } else { externalLink = new WebMarkupContainer("external-link"); } item.add(externalLink); FileDescriptor authorPhoto = comment.getFromUser().getPhotoThumbnail(); item.add(new ImageLink("image-link", (authorPhoto != null) ? authorPhoto.getPath() : null) .setVisible(authorPhoto != null)); externalLink .add(new Label("displayName", new Model<String>(comment.getFromUser().getDisplayName()))); item.add( new Label("message", new Model<String>(TextUtil.prepareStringForHTML(comment.getMessage()))) .setEscapeModelStrings(false)); item.add(new Label("comment-timestamp", new Model<String>(dateService.formatWithLongDate(comment.getCreateDate())))); // Delete comment link StatelessLink<Void> deleteLink = new StatelessLink<Void>("delete-comment") { private static final long serialVersionUID = 1L; @Override public void onClick() { commentDao.delete(comment); throw new RestartResponseException(getPage().getClass(), pageParameters); } }; deleteLink.setVisible(getSecurityFacade().isAdministrator()); deleteLink.add(AttributeModifier.replace("onClick", "if(!confirm('" + CommentListPanel.this.getString(DELETE_CONFIRMATION) + "')) return false;")); item.add(deleteLink); // Add inappropriate flag StatelessLink<Void> inappropriateFlag = new StatelessLink<Void>("inappropriateFlag") { private static final long serialVersionUID = 1L; @SuppressWarnings("unchecked") @Override public void onClick() { // First mark comment as inappropriate commentDao.markAsInappropriate(comment, true); // Then send email if possible if (getPluginBean().isSendEmail()) { String absolutePath = UrlUtils .toAbsolutePath((Class<? extends Page>) getParentPageClass(), pageParameters); InappropriateFlagEmailTemplatePage commentMessage = new InappropriateFlagEmailTemplatePage( absolutePath, comment.getFromUser().getDisplayName(), comment.getMessage()); emailFacade.sendMailToSystem(commentMessage.getSource(), comment.getFromUser().getEmail(), comment.getFromUser().getDisplayName()); } // And redirect throw new RestartResponseException(getPage().getClass(), pageParameters); } }; inappropriateFlag.setVisible(securityFacade.isLoggedIn() && !comment.isInappropriate()); item.add(inappropriateFlag); } }; dataContainer.addAbstractPageableView(commentListDataView); }
From source file:org.xaloon.wicket.plugin.user.admin.panel.GroupsPanel.java
License:Apache License
@Override protected void onBeforeRender() { super.onBeforeRender(); removeAll();/*from ww w. j a v a 2 s . c o m*/ // Add paging navigation container with navigation toolbar final DecoratedPagingNavigatorContainer<SecurityGroup> dataContainer = new DecoratedPagingNavigatorContainer<SecurityGroup>( "container", getCurrentRedirectLink()); dataContainer.setOutputMarkupId(true); addOrReplace(dataContainer); // Add blog list data view final DataView<SecurityGroup> securityGroupDataView = new DataView<SecurityGroup>("security-groups", new JpaSecurityGroupDataProvider()) { private static final long serialVersionUID = 1L; @Override protected void populateItem(Item<SecurityGroup> item) { final SecurityGroup group = item.getModelObject(); PageParameters pageParams = new PageParameters(); pageParams.add(Bookmarkable.PARAM_PATH, group.getPath()); BookmarkablePageLink<Void> groupLink = new BookmarkablePageLink<Void>("groupDetails", GroupDetailPage.class, pageParams); item.add(groupLink); groupLink.add(new Label("name", new Model<String>(group.getName()))); item.add(new ConfirmationAjaxLink<Void>("delete") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { groupService.delete(group); target.add(dataContainer); } }); } }; dataContainer.addAbstractPageableView(securityGroupDataView); // Add the modal window to create new group final ModalWindow addNewGroupModalWindow = new CustomModalWindow("modal-new-group", "New group") { private static final long serialVersionUID = 1L; @Override protected void addComponentsToRefresh(java.util.List<Component> components) { components.add(GroupsPanel.this); }; }; addNewGroupModalWindow.setContent(new CreateNewEntityPanel<SecurityGroup>( addNewGroupModalWindow.getContentId(), new Model<SecurityGroup>(groupService.newAuthority())) { private static final long serialVersionUID = 1L; @Override protected void onNewEntitySubmit(AjaxRequestTarget target, SecurityGroup entity) { groupService.save(entity); addNewGroupModalWindow.close(target); } }); add(addNewGroupModalWindow); // add new group link add(new AjaxLink<Void>("add-new-group") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { addNewGroupModalWindow.show(target); } }); }