List of usage examples for org.apache.wicket.model AbstractReadOnlyModel AbstractReadOnlyModel
AbstractReadOnlyModel
From source file:com.visural.stereotyped.ui.base.BasePage.java
License:Mozilla Public License
public BasePage(PageParameters params) { super(params); add(new WebMarkupContainer("favicon1") .add(new SimpleAttributeModifier("href", urlFor(new FaviconRef()).toString()))); add(new WebMarkupContainer("favicon2") .add(new SimpleAttributeModifier("href", urlFor(new FaviconRef()).toString()))); add(new BookmarkablePageLink("homeLink", LandingPage.class) .add(new Image("logo", new ResourceReference(BasePage.class, "logo.png")))); add(new Label("version", Version.getAsString())); add(new Label("headTitle", new AbstractReadOnlyModel() { @Override/*from w w w .j av a2 s . c o m*/ public Object getObject() { return getPageTitle() + " - Stereotyped"; } })); add(new Label("pageTitle", new AbstractReadOnlyModel() { @Override public Object getObject() { return getPageTitle(); } })); if (config.isFirstRun() && !this.getClass().equals(ConfigPage.class)) { setRedirect(true); setResponsePage(ConfigPage.class); } WebMarkupContainer loggedIn = new WebMarkupContainer("loggedIn"); add(loggedIn); if (userService.isAuthenticated()) { loggedIn.add(new BookmarkablePageLink("myprofile", EditUserPage.class, PageParamFactory.get(StdParam.LOAD_ID, userService.getCurrentUser()))); loggedIn.add(new Label("currentUser", userService.getCurrentUser())); loggedIn.add(new SecureAjaxLink("adminLink") { @Override public IPrivilege getRenderPrivilege() { return Privilege.ADMINISTRATOR; } @Override public void onClick(AjaxRequestTarget target) { setResponsePage(MainAdminPage.class, PageParameters.NULL); } }); loggedIn.add(new Link("logout") { @Override public void onClick() { userService.logout(); setRedirect(true); setResponsePage(Application.get().getHomePage()); } }); } else { loggedIn.setVisible(false); } }
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 ww. j a v a 2 s . c o 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"); }/*from w ww .j a v a 2 s .c om*/ })); 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.prototype.TreePanel.java
License:Mozilla Public License
public TreePanel(String id, final OperableTreeNode node) { super(id);/* w ww . j a v a 2s .c o m*/ WebMarkupContainer container = new WebMarkupContainer("container"); add(container); if (node.getComponent() != null && !Stereotype.class.isAssignableFrom(node.getComponent().getClass())) { container.add(new DragSource(Operation.MOVE) { @Override public void onBeforeDrop(Component drag, Transfer transfer) throws Reject { if (!allowDragAndDrop()) { transfer.reject(); } else { transfer.setData(node); } } }.drag("a")); } DropTarget componentDrop = null; if (node.getSlot() != null || (node.getComponent().getSlots() != null && node.getComponent().getSlots().size() == 1)) { DropTarget newDt = new DropTarget(Operation.MOVE) { @Override public void onDrop(AjaxRequestTarget target, Transfer transfer, Location location) throws Reject { Slot slot = node.getSlot() != null ? node.getSlot() : node.getComponent().getSlots().get(0); OperableTreeNode otn = transfer.getData(); if (otn != null && otn.getComponent() != null && slot.acceptComponent(otn.getComponent())) { if (otn.getComponent().contains(slot)) { transfer.reject(); // drop component on self or child of self } else { com.visural.stereotyped.core.Component com = otn.getComponent(); com.delete(); slot.addComponent(com); updateTree(target); invokePreviewRefresh(target); } } else { transfer.reject(); } } }; if (node.getSlot() != null) { container.add(newDt.dropCenter("a")); } else { componentDrop = newDt; } } if (node.getComponent() != null && !Stereotype.class.isAssignableFrom(node.getComponent().getClass())) { final DropTarget dtComp = componentDrop; DropTarget dtNew = new DropTarget(Operation.MOVE) { @Override public void onDrop(AjaxRequestTarget target, Transfer transfer, Location location) throws Reject { Slot slot = node.getComponent().getParentSlot(); if (location.getAnchor().equals(Anchor.CENTER)) { dtComp.onDrop(target, transfer, location); } else { OperableTreeNode otn = transfer.getData(); if (otn != null && otn.getComponent() != null && slot.acceptComponent(otn.getComponent())) { com.visural.stereotyped.core.Component com = otn.getComponent(); if (com.getUuid().equals(node.getComponent().getUuid())) { transfer.reject(); // drop component next to self } else if (com.contains(slot)) { transfer.reject(); // drop component on self or child of self } else { switch (location.getAnchor()) { case TOP: case LEFT: { com.delete(); int idx = slot.getContent().indexOf(node.getComponent()); if (idx < 0) { throw new IllegalStateException("Drop component was not in expected slot."); } slot.addComponent(idx, com); updateTree(target); invokePreviewRefresh(target); } break; case BOTTOM: case RIGHT: { com.delete(); int idx = slot.getContent().indexOf(node.getComponent()); if (idx < 0) { throw new IllegalStateException("Drop component was not in expected slot."); } if (idx == slot.getContent().size() - 1) { slot.addComponent(com); } else { slot.addComponent(idx + 1, com); } updateTree(target); invokePreviewRefresh(target); } break; default: transfer.reject(); } } } else { transfer.reject(); } } } }.dropTopAndBottom("a"); if (componentDrop != null) { dtNew.dropCenter("a"); } container.add(dtNew); } AjaxSubmitLink link = new AjaxSubmitLink("link") { @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { select(target); } @Override protected void onComponentTag(ComponentTag tag) { super.onComponentTag(tag); if (isSelected()) { tag.put("class", "selected"); } tag.put("onmouseover", "doHighlight('" + ComponentRenderer.STCOM_UUID_PREFIX + node.getUuid().toString() + "');"); tag.put("onmouseout", "removeHighlight();"); } }; container.add(link); if (node.getComponent() != null) { link.add(new Image("icon", node.getComponent().getIcon())); link.add(new Label("label", new AbstractReadOnlyModel() { @Override public Object getObject() { return node.getComponent().getName() + (node.getComponent().isHide() ? " [hidden]" : ""); } })); } else { link.add(new Image("icon", new SlotIcon())); link.add(new Label("label", new AbstractReadOnlyModel() { @Override public Object getObject() { return Function.nvl(node.getSlot().getDisplayName(), node.getSlot().getName()); } })); } final Slot slot = node.getSlot() != null ? node.getSlot() : (node.getComponent() != null && node.getComponent().getSlots() != null && node.getComponent().getSlots().size() == 1 ? node.getComponent().getSlots().get(0) : null); if (slot == null) { container.add(new WebMarkupContainer("addComp").setVisible(false)); } else { AjaxSubmitLink addComp; container.add(addComp = new AjaxSubmitLink("addComp") { @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { invokeAdd(target, slot); } }); addComp.setOutputMarkupId(true); container.add( new SimpleAttributeModifier("onmouseover", "jQuery('#" + addComp.getMarkupId() + "').show();")); container.add( new SimpleAttributeModifier("onmouseout", "jQuery('#" + addComp.getMarkupId() + "').hide();")); } }
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. ja va 2s . 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.component.fancybox.Fancybox.java
License:Apache License
/** * Create a fancy box link to an iframe URL. * @param id/* ww w. ja va 2 s . c om*/ * @param linkText * @param iframeURL */ public Fancybox(String id, final String iframeURL) { super(id); this.image = null; this.iframeURL = new AbstractReadOnlyModel() { @Override public Object getObject() { return iframeURL; } }; this.container = null; initAll(); }
From source file:com.visural.wicket.component.viewmode.ViewOrEdit.java
License:Apache License
protected ViewOrEdit(final String id, final FormComponent component, IModel labelModel, final ComponentModelToLabel componentModelToLabel) { super(id);//w w w . ja va2s. com this.component = component; if (labelModel == null && componentModelToLabel != null) { labelModel = new AbstractReadOnlyModel() { private final ComponentModelToLabel converter = componentModelToLabel; @Override public Object getObject() { return converter.convertToLabel(component.getModelObject()); } }; } if (component == null || !component.getId().equals(COMP_ID)) { throw new IllegalArgumentException( "The component provided to LabelOnViewOnly(...) must have the id \"" + COMP_ID + "\""); } Fragment f = resolveComponentFragment(labelModel); if (f == null) { throw new UnsupportedOperationException( "No view mode fragment for component of type " + component.getClass().getName()); } add(f); }
From source file:com.visural.wicket.examples.BasePage.java
License:Apache License
public BasePage() { // add(new StyleSheetReference("reset", BasePage.class, "reset-fonts-grids.css")); // add(new StyleSheetReference("stylesheet", BasePage.class, "style.less")); add(new StyleSheetReference("stylesheet", BasePage.class, "style.css")); add(new Label("pageTitle", new PageTitleModel(false))); add(new Label("pageTitleHeader", new PageTitleModel(true)).setEscapeModelStrings(false)); add(new BookmarkablePageLink("tabsLink", TabsExamplePage.class)); add(new BookmarkablePageLink("dropdown", DropDownExamplePage.class)); add(new BookmarkablePageLink("fancybox", FancyBoxExamplePage.class)); add(new BookmarkablePageLink("inputHintLink", InputHintExamplePage.class)); add(new BookmarkablePageLink("nicedit", RichTextEditorExamplePage.class)); add(new BookmarkablePageLink("codebox", CodeboxExamplePage.class)); add(new BookmarkablePageLink("submitters", SubmittersPage.class)); add(new BookmarkablePageLink("confirmers", ConfirmersPage.class)); add(new BookmarkablePageLink("vieworedit", ViewOrEditPage.class)); add(new BookmarkablePageLink("dateInput", DateInputExamplePage.class)); add(new BookmarkablePageLink("dialogBut", DialogExamplePage.class)); add(new BookmarkablePageLink("tooltips", TipExamplePage.class)); add(new BookmarkablePageLink("jsr303", Jsr303ExamplePage.class)); add(new BookmarkablePageLink("lesscss", LessCSSExamplePage.class)); add(new WebMarkupContainer("analytics").setVisible(IS_PROD_MODE)); add(new Fancybox("viewSource", urlFor(ViewSourcePage.class, PageParamFactory.get(ViewSourcePage.PARAM_RESOURCE, getSourcePath())) + "").setHeight(768).setWidth(1024)); add(new Fancybox("viewMarkup", urlFor(ViewSourcePage.class, PageParamFactory.get(ViewSourcePage.PARAM_RESOURCE, getMarkupPath())) + "").setHeight(768).setWidth(1024)); add(new Label("title", new AbstractReadOnlyModel() { @Override/* w ww .j a va 2s . com*/ public Object getObject() { return getPageTitle(); } })); }
From source file:com.visural.wicket.model.DatePropertyColumn.java
License:Apache License
@Override protected IModel createLabelModel(final IModel itemModel) { final IModel superModel = super.createLabelModel(itemModel); if (superModel != null && superModel.getObject() != null && Date.class.isAssignableFrom(superModel.getObject().getClass())) { return new AbstractReadOnlyModel() { public Object getObject() { return DateUtil.formatDate((Date) superModel.getObject(), dateFormat); }//from w w w .ja v a 2 s .co m }; } else { return superModel; } }
From source file:com.wiquery.plugin.antilia.grid.DefaultHeaderCell.java
License:Apache License
/** * @param id// w ww . jav a2 s . c o m * @param model */ public DefaultHeaderCell(String id, int column, Table<E> table, IModel<String> titleModel, final IColumn<E> columnModel) { super(id, columnModel); this.table = table; this.column = column; setRenderBodyOnly(true); add(new HiddenField<Integer>("colWidth", new Model<Integer>() { private static final long serialVersionUID = 1L; @Override public Integer getObject() { return DefaultHeaderCell.this.getColumnModel().getWidth(); } @Override public void setObject(Integer object) { if (object instanceof Integer) { DefaultHeaderCell.this.getColumnModel().setWidth(((Integer) object).intValue()); } } }, Integer.class)); DraggableTitle<E> draggableTarget = new DraggableTitle<E>("dragger", column) { private static final long serialVersionUID = 1L; @Override protected Table<E> getTable() { return DefaultHeaderCell.this.getTable(); } }; if (columnModel.isSortable()) { draggableTarget.add(new AjaxEventBehavior("ondblclick") { private static final long serialVersionUID = 1L; @Override protected void onEvent(AjaxRequestTarget target) { if (target != null) { IColumn<E> columnModel = DefaultHeaderCell.this.getColumnModel(); if (!columnModel.isSortable()) { return; } IPageableComponent<E> component = getTable(); IDataProvider<E> dataProvider = component.getDataProvider(); if (dataProvider instanceof ISortStateLocator) { ISortStateLocator locator = (ISortStateLocator) dataProvider; ISortState sortState = locator.getSortState(); if (sortState != null) { int sortOrder = sortState.getPropertySortOrder(columnModel.getSortProperty()); if (sortOrder == ISortState.DESCENDING) sortState.setPropertySortOrder(columnModel.getSortProperty(), ISortState.ASCENDING); else if (sortOrder == ISortState.ASCENDING) sortState.setPropertySortOrder(columnModel.getSortProperty(), ISortState.DESCENDING); else sortState.setPropertySortOrder(columnModel.getSortProperty(), ISortState.ASCENDING); } component.reset(); } target.addComponent((Component) component); } } }); } draggableTarget.setOutputMarkupId(true); add(draggableTarget); Label title = new Label("title", titleModel); title.add(new AttributeModifier("class", new AbstractReadOnlyModel<String>() { private static final long serialVersionUID = 1L; @Override public String getObject() { IColumn<E> columnModel = DefaultHeaderCell.this.getColumnModel(); if (!columnModel.isSortable()) { return "headerTitle"; } IPageableComponent<E> component = getTable(); IDataProvider<E> dataProvider = component.getDataProvider(); if (dataProvider instanceof ISortStateLocator) { ISortStateLocator locator = (ISortStateLocator) dataProvider; ISortState sortState = locator.getSortState(); if (sortState != null) { int sortOrder = sortState.getPropertySortOrder(columnModel.getSortProperty()); if (sortOrder == ISortState.DESCENDING) return "headerTitleDesc"; else if (sortOrder == ISortState.ASCENDING) return "headerTitleAsc"; } } return "headerTitle"; } })); draggableTarget.add(title); WebMarkupContainer dragTd = new WebMarkupContainer("dragTd"); dragTd.add(new AttributeModifier("id", new AbstractReadOnlyModel<String>() { private static final long serialVersionUID = 1L; @Override public String getObject() { if (!DefaultHeaderCell.this.getTable().isColumnsResizable()) return DefaultHeaderCell.this.getTable().getMarkupId() + "_cND_" + DefaultHeaderCell.this.getColumn(); if (columnModel.isResizable()) return DefaultHeaderCell.this.getTable().getMarkupId() + "_c_" + DefaultHeaderCell.this.getColumn(); // this naming does the trick of making the column non re-sizable return DefaultHeaderCell.this.getTable().getMarkupId() + "_cND_" + DefaultHeaderCell.this.getColumn(); } })); dragTd.add(new AttributeModifier("class", new AbstractReadOnlyModel<String>() { private static final long serialVersionUID = 1L; @Override public String getObject() { if (!DefaultHeaderCell.this.getTable().isColumnsResizable()) return "noResCol"; if (columnModel.isResizable()) return "resCol"; return "noResCol"; } })); add(dragTd); WebMarkupContainer sortInfo = new WebMarkupContainer("sortInfo"); sortInfo.add(new AttributeModifier("class", new AbstractReadOnlyModel<String>() { private static final long serialVersionUID = 1L; @Override public String getObject() { IColumn<E> columnModel = DefaultHeaderCell.this.getColumnModel(); if (!columnModel.isSortable()) { return ""; } IPageableComponent<E> component = getTable(); IDataProvider<E> dataProvider = component.getDataProvider(); if (dataProvider instanceof ISortStateLocator) { ISortStateLocator locator = (ISortStateLocator) dataProvider; ISortState sortState = locator.getSortState(); if (sortState != null) { int sortOrder = sortState.getPropertySortOrder(columnModel.getSortProperty()); if (sortOrder == ISortState.DESCENDING) return "ui-icon ui-icon-triangle-1-s"; else if (sortOrder == ISortState.ASCENDING) return "ui-icon ui-icon-triangle-1-n"; } } return ""; } })); draggableTarget.add(sortInfo); }