List of usage examples for org.apache.wicket.extensions.markup.html.form.select SelectOption getDefaultModel
public final IModel<?> getDefaultModel()
From source file:org.sakaiproject.sitestats.tool.wicket.pages.ReportsEditPage.java
License:Educational Community License
@SuppressWarnings("serial") private void addTools(final RepeatingView rv) { List<SelectOption> tools = new ArrayList<SelectOption>(); List<ToolInfo> siteTools = Locator.getFacade().getEventRegistryService().getEventRegistry(siteId, getPrefsdata().isListToolEventsOnlyAvailableInSite()); Iterator<ToolInfo> i = siteTools.iterator(); // add tools//from w ww . j ava 2 s . c o m while (i.hasNext()) { final ToolInfo toolInfo = i.next(); if (isToolSuported(toolInfo)) { tools.add(new SelectOption("option", new ToolModel(toolInfo))); } } WebMarkupContainer optgroupItem = new WebMarkupContainer(rv.newChildId()); optgroupItem.setRenderBodyOnly(true); rv.add(optgroupItem); IStylableOptionRenderer optionRenderer = new IStylableOptionRenderer() { public String getDisplayValue(Object object) { SelectOption opt = (SelectOption) object; return ((ToolModel) opt.getDefaultModel()).getToolName(); } public IModel getModel(Object value) { SelectOption opt = (SelectOption) value; return new Model(((ToolModel) opt.getDefaultModel()).getToolId()); } public String getStyle(Object object) { SelectOption opt = (SelectOption) object; ToolModel toolModel = (ToolModel) opt.getDefaultModel(); String toolId = toolModel.getToolId(); if (!ReportManager.WHAT_EVENTS_ALLTOOLS.equals(toolId)) { String toolIconPath = "background-image: url(" + Locator.getFacade().getEventRegistryService().getToolIcon(toolId) + ");"; String style = "background-position:left center; background-repeat:no-repeat; margin-left:3px; padding-left:20px; " + toolIconPath; return style; } return null; } }; Collections.sort(tools, getOptionRendererComparator(collator, optionRenderer)); // "all" tools (insert in position 0 tools.add(0, new SelectOption("option", new ToolModel(ReportManager.WHAT_EVENTS_ALLTOOLS, ReportManager.WHAT_EVENTS_ALLTOOLS))); StylableSelectOptions selectOptions = new StylableSelectOptions("selectOptions", tools, optionRenderer); selectOptions.setRenderBodyOnly(true); optgroupItem.add(selectOptions); }
From source file:org.sakaiproject.sitestats.tool.wicket.pages.ReportsEditPage.java
License:Educational Community License
@SuppressWarnings("serial") private void addEvents(final RepeatingView rv) { List<ToolInfo> siteTools = Locator.getFacade().getEventRegistryService().getEventRegistry(siteId, getPrefsdata().isListToolEventsOnlyAvailableInSite()); Collections.sort(siteTools, getToolInfoComparator(collator)); // add events Iterator<ToolInfo> i = siteTools.iterator(); while (i.hasNext()) { ToolInfo toolInfo = i.next();//w ww.j av a 2 s . c om if (isToolSuported(toolInfo)) { List<EventInfo> eventInfos = toolInfo.getEvents(); List<SelectOption> events = new ArrayList<SelectOption>(); Iterator<EventInfo> iE = eventInfos.iterator(); while (iE.hasNext()) { EventInfo e = iE.next(); SelectOption opt = new SelectOption("option", new EventModel(e)); events.add(opt); } WebMarkupContainer optgroupItem = new WebMarkupContainer(rv.newChildId()); optgroupItem.setRenderBodyOnly(true); rv.add(optgroupItem); String toolIconPath = "background-image: url(" + Locator.getFacade().getEventRegistryService().getToolIcon(toolInfo.getToolId()) + ");"; String style = "background-position:left top; background-repeat:no-repeat; margin-left:3px; padding-left:20px; " + toolIconPath; String toolName = Locator.getFacade().getEventRegistryService().getToolName(toolInfo.getToolId()); StylableSelectOptionsGroup group = new StylableSelectOptionsGroup("group", new Model(toolName), new Model(style)); optgroupItem.add(group); SelectOptions selectOptions = new SelectOptions("selectOptions", events, new IOptionRenderer() { public String getDisplayValue(Object object) { SelectOption opt = (SelectOption) object; return ((EventModel) opt.getDefaultModel()).getEventName(); } public IModel getModel(Object value) { SelectOption opt = (SelectOption) value; return new Model(((EventModel) opt.getDefaultModel()).getEventId()); } }); selectOptions.setRenderBodyOnly(true); group.add(selectOptions); } } }
From source file:org.sakaiproject.sitestats.tool.wicket.pages.ReportsEditPage.java
License:Educational Community License
@SuppressWarnings("serial") private void addUsers(final RepeatingView rv) { if (usersLoaded) { return;/*from www . ja v a2 s . c o m*/ } ajaxUpdateLock.lock(); try { List<SelectOption> users = new ArrayList<SelectOption>(); // anonymous access if (Locator.getFacade().getStatsManager().isShowAnonymousAccessEvents()) { SelectOption anon = new SelectOption("option", new Model("?")); users.add(anon); } // site users Set<String> siteUsers = null; try { siteUsers = Locator.getFacade().getSiteService().getSite(siteId).getUsers(); } catch (IdUnusedException e) { LOG.warn("Site does not exist: " + siteId); siteUsers = new HashSet<String>(); } Iterator<String> i = siteUsers.iterator(); while (i.hasNext()) { String userId = i.next(); if (userId != null) { SelectOption opt = new SelectOption("option", new Model(userId)); opt.setEscapeModelStrings(true); users.add(opt); } } WebMarkupContainer optgroupItem = new WebMarkupContainer(rv.newChildId()); optgroupItem.setRenderBodyOnly(true); rv.add(optgroupItem); IOptionRenderer optionRenderer = new IOptionRenderer() { public String getDisplayValue(Object object) { SelectOption opt = (SelectOption) object; String userId = (String) opt.getDefaultModel().getObject(); if (("?").equals(userId)) { return Web.escapeHtml((String) new ResourceModel("user_anonymous_access").getObject()); } else { User u = null; try { u = Locator.getFacade().getUserDirectoryService().getUser(userId); } catch (UserNotDefinedException e) { return Web.escapeHtml(userId); } StringBuilder buff = new StringBuilder(); buff.append(Locator.getFacade().getStatsManager().getUserNameForDisplay(u)); buff.append(" ("); buff.append(u.getDisplayId()); buff.append(")"); return Web.escapeHtml(buff.toString()); } } public IModel getModel(Object value) { SelectOption opt = (SelectOption) value; return new Model((String) opt.getDefaultModel().getObject()); } }; Collections.sort(users, getOptionRendererComparator(collator, optionRenderer)); SelectOptions selectOptions = new SelectOptions("selectOptions", users, optionRenderer); selectOptions.setRenderBodyOnly(true); optgroupItem.add(selectOptions); usersLoaded = true; } finally { ajaxUpdateLock.unlock(); } }
From source file:org.sakaiproject.sitestats.tool.wicket.pages.ReportsEditPage.java
License:Educational Community License
@SuppressWarnings("serial") private void addGroupOptions(final RepeatingView rv) { boolean isSiteStatsAdminTool = Locator.getFacade().getStatsAuthz().isSiteStatsAdminPage(); boolean renderAdminOptions = isSiteStatsAdminTool && !predefined && realSiteId.equals(siteId); List<String> totalsOptions = new ArrayList<String>(); totalsOptions.add(StatsManager.T_USER); totalsOptions.add(StatsManager.T_TOOL); totalsOptions.add(StatsManager.T_EVENT); totalsOptions.add(StatsManager.T_RESOURCE); totalsOptions.add(StatsManager.T_RESOURCE_ACTION); totalsOptions.add(StatsManager.T_DATE); if (renderAdminOptions) { totalsOptions.add(StatsManager.T_SITE); }/*from w w w. j av a2 s .co m*/ // add grouping options List<SelectOption> selectOptionList = new ArrayList<SelectOption>(); Iterator<String> i = totalsOptions.iterator(); while (i.hasNext()) { String totalOpt = i.next(); SelectOption so = new SelectOption("option", new Model(totalOpt)); so.setEscapeModelStrings(false); selectOptionList.add(so); } WebMarkupContainer optgroupItem = new WebMarkupContainer(rv.newChildId()); optgroupItem.setRenderBodyOnly(true); rv.add(optgroupItem); final IOptionRenderer optionRenderer = new IOptionRenderer() { public String getDisplayValue(Object o) { SelectOption opt = (SelectOption) o; Object object = opt.getDefaultModel().getObject(); if (StatsManager.T_USER.equals(object)) { return (String) new ResourceModel("report_option_user").getObject(); } if (StatsManager.T_TOOL.equals(object)) { return (String) new ResourceModel("report_option_tool").getObject(); } if (StatsManager.T_EVENT.equals(object)) { return (String) new ResourceModel("report_option_event").getObject(); } if (StatsManager.T_RESOURCE.equals(object)) { return (String) new ResourceModel("report_option_resource").getObject(); } if (StatsManager.T_RESOURCE_ACTION.equals(object)) { return (String) new ResourceModel("report_option_resourceaction").getObject(); } if (StatsManager.T_DATE.equals(object)) { return (String) new ResourceModel("report_option_date").getObject(); } if (StatsManager.T_LASTDATE.equals(object)) { return (String) new ResourceModel("report_option_lastdate").getObject(); } if (StatsManager.T_SITE.equals(object)) { return (String) new ResourceModel("report_option_site").getObject(); } return (String) object; } public IModel getModel(Object value) { SelectOption opt = (SelectOption) value; return opt.getDefaultModel(); } }; SelectOptions selectOptions = new SelectOptions("selectOptions", selectOptionList, optionRenderer); selectOptions.setRenderBodyOnly(true); selectOptions.setEscapeModelStrings(false); optgroupItem.add(selectOptions); }