List of usage examples for org.apache.wicket.ajax AjaxEventBehavior AjaxEventBehavior
public AjaxEventBehavior(String event)
From source file:org.geoserver.web.data.resource.ResourceConfigurationPageTest.java
License:Open Source License
@Test public void testUpdateResource() { LayerInfo layer = getGeoServerApplication().getCatalog().getLayerByName(getLayerId(MockData.GEOMETRYLESS)); login();/*from ww w .j av a 2 s . c o m*/ ResourceConfigurationPage page = new ResourceConfigurationPage(layer, false); tester.startPage(page); tester.assertContainsNot("the_geom"); FeatureTypeInfo info = getCatalog().getResourceByName(MockData.BRIDGES.getLocalPart(), FeatureTypeInfo.class); //Apply the new feature to the page page.add(new AjaxEventBehavior("ondblclick") { public void onEvent(AjaxRequestTarget target) { page.updateResource(info, target); } }); tester.executeAjaxEvent(page, "ondblclick"); print(tester.getLastRenderedPage(), true, true); //verify contents were updated tester.assertContains("the_geom"); }
From source file:org.geoserver.web.netcdf.GHRSSTExtensionPanel.java
License:Open Source License
public GHRSSTExtensionPanel(String id, IModel<?> model, NetCDFPanel parent) { super(id, model); this.parent = parent; PropertyModel<MetadataMap> metadataModel = new PropertyModel<>(model, "metadata"); enabled = new CheckBox("enabled", new MetadataMapModel<>(metadataModel, GHRSSTEncoder.SETTINGS_KEY, Boolean.class)); add(enabled);//from w ww . ja va2s. c om WebMarkupContainer settings = new WebMarkupContainer("settings"); settings.setOutputMarkupId(true); add(settings); this.rdac = getAutocompleter("rdac", new MetadataMapModel<>(metadataModel, GHRSSTEncoder.SETTINGS_RDAC_KEY, String.class), RDACS); rdac.setRequired(true); settings.add(rdac); this.processingLevel = getAutocompleter("processingLevel", new MetadataMapModel<>(metadataModel, GHRSSTEncoder.SETTINGS_PROCESSING_LEVEL_KEY, String.class), PROCESSING_LEVELS); processingLevel.setRequired(true); settings.add(processingLevel); this.sstType = getAutocompleter("sstType", new MetadataMapModel<>(metadataModel, GHRSSTEncoder.SETTINGS_SST_TYPE, String.class), SST_TYPES); sstType.setRequired(true); settings.add(sstType); this.productString = getAutocompleter("productString", new MetadataMapModel<>(metadataModel, GHRSSTEncoder.SETTINGS_PRODUCT_STRING, String.class), PRODUCT_STRINGS); productString.setRequired(true); settings.add(productString); // enable/disable on open settings.visitChildren((component, visit) -> { component.setEnabled(Boolean.TRUE.equals(enabled.getModelObject())); }); enabled.add(new AjaxEventBehavior("change") { @Override protected void onEvent(AjaxRequestTarget target) { enabled.processInput(); boolean enableSettings = Boolean.TRUE.equals(enabled.getModelObject()); settings.visitChildren((component, visit) -> { component.setEnabled(enableSettings); }); target.add(settings); } }); }
From source file:org.geoserver.web.treeview.TreeViewTest.java
License:Open Source License
@Test public void testSelection() { //initially nothing selected assertTrue(treeView.getSelectedNodes().isEmpty()); assertEquals(0, treeView.getSelectedViews().length); //select programmatically, without ajax treeView.setSelectedNode(four);/*from www. ja v a 2 s . c o m*/ assertArrayEquals(new Object[] { four }, treeView.getSelectedNodes().toArray()); //automatic expand assertEquals(true, two.getExpanded().getObject()); assertEquals(true, one.getExpanded().getObject()); //view tester.startComponentInPage(treeView); assertEquals("4", treeView.getSelectedViews()[0].getId()); assertTrue( tester.getComponentFromLastRenderedPage("treeView:rootView:1:children:2:children:4:selectableLabel") .getBehaviors().contains(TreeView.SELECTED_BEHAVIOR)); //to test selection listening: final AtomicBoolean fired = new AtomicBoolean(); treeView.addSelectionListener(target -> { fired.set(true); }); //select programmatically, with ajax treeView.add(new AjaxEventBehavior("testSelectWithAjax") { private static final long serialVersionUID = 4422989219680841271L; @Override protected void onEvent(AjaxRequestTarget target) { treeView.setSelectedNode(three, target); } }); fired.set(false); tester.executeAjaxEvent(treeView, "testSelectWithAjax"); assertTrue(fired.get()); assertArrayEquals(new Object[] { three }, treeView.getSelectedNodes().toArray()); assertEquals("3", treeView.getSelectedViews()[0].getId()); assertFalse( tester.getComponentFromLastRenderedPage("treeView:rootView:1:children:2:children:4:selectableLabel") .getBehaviors().contains(TreeView.SELECTED_BEHAVIOR)); assertTrue(tester.getComponentFromLastRenderedPage("treeView:rootView:1:children:3:selectableLabel") .getBehaviors().contains(TreeView.SELECTED_BEHAVIOR)); //select with gui fired.set(false); tester.executeAjaxEvent("treeView:rootView:1:children:2:label:selectableLabel", "click"); assertTrue(fired.get()); assertArrayEquals(new Object[] { two }, treeView.getSelectedNodes().toArray()); assertEquals("2", treeView.getSelectedViews()[0].getId()); assertFalse(tester.getComponentFromLastRenderedPage("treeView:rootView:1:children:3:selectableLabel") .getBehaviors().contains(TreeView.SELECTED_BEHAVIOR)); assertTrue(tester.getComponentFromLastRenderedPage("treeView:rootView:1:children:2:label:selectableLabel") .getBehaviors().contains(TreeView.SELECTED_BEHAVIOR)); //automatic unselect when unexpanding tester.executeAjaxEvent("treeView:rootView:1:cbExpand", "click"); assertEquals(false, one.getExpanded().getObject()); assertTrue(treeView.getSelectedNodes().isEmpty()); assertEquals(0, treeView.getSelectedViews().length); //multi-select toggle with ctrl tester.executeAjaxEvent("treeView:rootView:1:children:2:label:selectableLabel", "click"); fired.set(false); tester.getRequest().addParameter("ctrl", "true"); tester.executeAjaxEvent("treeView:rootView:1:children:3:selectableLabel", "click"); assertTrue(fired.get()); assertEquals(2, treeView.getSelectedNodes().size()); assertTrue(treeView.getSelectedNodes().contains(two)); assertTrue(treeView.getSelectedNodes().contains(three)); assertEquals(2, treeView.getSelectedViews().length); assertTrue(tester.getComponentFromLastRenderedPage("treeView:rootView:1:children:3:selectableLabel") .getBehaviors().contains(TreeView.SELECTED_BEHAVIOR)); assertTrue(tester.getComponentFromLastRenderedPage("treeView:rootView:1:children:2:label:selectableLabel") .getBehaviors().contains(TreeView.SELECTED_BEHAVIOR)); fired.set(false); tester.getRequest().addParameter("ctrl", "true"); tester.executeAjaxEvent("treeView:rootView:1:children:2:label:selectableLabel", "click"); assertTrue(fired.get()); assertArrayEquals(new Object[] { three }, treeView.getSelectedNodes().toArray()); assertEquals("3", treeView.getSelectedViews()[0].getId()); assertFalse( tester.getComponentFromLastRenderedPage("treeView:rootView:1:children:2:children:4:selectableLabel") .getBehaviors().contains(TreeView.SELECTED_BEHAVIOR)); assertTrue(tester.getComponentFromLastRenderedPage("treeView:rootView:1:children:3:selectableLabel") .getBehaviors().contains(TreeView.SELECTED_BEHAVIOR)); //multi-select with shift tester.executeAjaxEvent("treeView:rootView:1:children:2:label:selectableLabel", "click"); fired.set(false); tester.getRequest().addParameter("shift", "true"); tester.executeAjaxEvent("treeView:rootView:1:children:5:selectableLabel", "click"); assertTrue(fired.get()); assertEquals(3, treeView.getSelectedNodes().size()); assertTrue(treeView.getSelectedNodes().contains(two)); assertTrue(treeView.getSelectedNodes().contains(three)); assertTrue(treeView.getSelectedNodes().contains(five)); assertEquals(3, treeView.getSelectedViews().length); assertTrue(tester.getComponentFromLastRenderedPage("treeView:rootView:1:children:3:selectableLabel") .getBehaviors().contains(TreeView.SELECTED_BEHAVIOR)); assertTrue(tester.getComponentFromLastRenderedPage("treeView:rootView:1:children:5:selectableLabel") .getBehaviors().contains(TreeView.SELECTED_BEHAVIOR)); assertTrue(tester.getComponentFromLastRenderedPage("treeView:rootView:1:children:2:label:selectableLabel") .getBehaviors().contains(TreeView.SELECTED_BEHAVIOR)); //same but upside down tester.executeAjaxEvent("treeView:rootView:1:children:5:selectableLabel", "click"); fired.set(false); tester.getRequest().addParameter("shift", "true"); tester.executeAjaxEvent("treeView:rootView:1:children:2:label:selectableLabel", "click"); assertTrue(fired.get()); assertEquals(3, treeView.getSelectedNodes().size()); assertTrue(treeView.getSelectedNodes().contains(two)); assertTrue(treeView.getSelectedNodes().contains(three)); assertTrue(treeView.getSelectedNodes().contains(five)); assertEquals(3, treeView.getSelectedViews().length); assertTrue(tester.getComponentFromLastRenderedPage("treeView:rootView:1:children:3:selectableLabel") .getBehaviors().contains(TreeView.SELECTED_BEHAVIOR)); assertTrue(tester.getComponentFromLastRenderedPage("treeView:rootView:1:children:5:selectableLabel") .getBehaviors().contains(TreeView.SELECTED_BEHAVIOR)); assertTrue(tester.getComponentFromLastRenderedPage("treeView:rootView:1:children:2:label:selectableLabel") .getBehaviors().contains(TreeView.SELECTED_BEHAVIOR)); }
From source file:org.hippoecm.addon.workflow.DualAjaxLink.java
License:Apache License
public DualAjaxLink(final String id, final IModel model) { super(id, model); add(new AjaxEventBehavior("onclick") { private static final long serialVersionUID = 1L; protected void onEvent(AjaxRequestTarget target) { onClick(target);//from w w w . j av a 2s . c o m } @Override protected void updateAjaxAttributes(final AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); attributes.getAjaxCallListeners().add(new EventStoppingDecorator()); } @Override protected void onComponentTag(ComponentTag tag) { if (isLinkEnabled()) { super.onComponentTag(tag); } } }); add(new AjaxEventBehavior("oncontextmenu") { private static final long serialVersionUID = 1L; protected void onEvent(AjaxRequestTarget target) { onRightClick(target); } @Override protected void updateAjaxAttributes(final AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); attributes.getAjaxCallListeners().add(new EventStoppingDecorator()); } @Override protected void onComponentTag(ComponentTag tag) { if (isLinkEnabled()) { super.onComponentTag(tag); } } }); }
From source file:org.hippoecm.addon.workflow.MenuLink.java
License:Apache License
public MenuLink(final String id) { super(id);/*from w w w .ja va 2 s .c o m*/ if (isEnabled()) { Form form = getForm(); if (form != null) { add(new AjaxFormSubmitBehavior(form, "onclick") { @Override protected void onSubmit(final AjaxRequestTarget target) { IContextMenu parent = findParent(IContextMenu.class); if (parent != null) { parent.collapse(target); } else { IContextMenuManager manager = findParent(IContextMenuManager.class); if (manager != null) { manager.collapseAllContextMenus(); } } onClick(); } @Override protected void onError(final AjaxRequestTarget target) { } @Override protected CharSequence getPreconditionScript() { return "return true;"; } @Override protected void onComponentTag(ComponentTag tag) { // add the onclick handler only if link is enabled if (isLinkEnabled()) { super.onComponentTag(tag); } } }); } else { add(new AjaxEventBehavior("onclick") { private static final long serialVersionUID = 1L; @Override protected void onEvent(AjaxRequestTarget target) { IContextMenu parent = findParent(IContextMenu.class); if (parent != null) { parent.collapse(target); } else { IContextMenuManager manager = findParent(IContextMenuManager.class); if (manager != null) { manager.collapseAllContextMenus(); } } onClick(); } @Override protected CharSequence getPreconditionScript() { return "return true;"; } @Override protected void onComponentTag(ComponentTag tag) { // add the onclick handler only if link is enabled if (isLinkEnabled()) { super.onComponentTag(tag); } } }); } } else { add(new EventStoppingBehavior("onclick")); } }
From source file:org.hippoecm.frontend.dialog.AbstractDialog.java
License:Apache License
public AbstractDialog(IModel<T> model) { super("form", model); container = new Container(IDialogService.DIALOG_WICKET_ID); container.add(this); feedback = newFeedbackPanel("feedback"); IFeedbackMessageFilter filter = feedback.getFilter(); if (filter == null) { // make sure the feedback filters out messages unrelated to this dialog feedback.setFilter(new ContainerFeedbackMessageFilter(this)); } else if (!(filter instanceof ContainerFeedbackMessageFilter)) { log.warn(//from w w w . j a va 2 s . c om "The dialog '{}' uses a feedback panel with a filter that does not extend ContainerFeedbackMessageFilter." + "As a result, this dialog may show unrelated feedback messages.", getClass()); } feedback.setOutputMarkupId(true); add(feedback); buttons = new LinkedList<>(); ListView<ButtonWrapper> buttonsView = new ListView<ButtonWrapper>("buttons", buttons) { @Override protected void populateItem(ListItem<ButtonWrapper> item) { final Button button = item.getModelObject().getButton(); if (StringUtils.isNotEmpty(buttonCssClass)) { button.add(CssClass.append(buttonCssClass)); } item.add(button); } }; buttonsView.setReuseItems(true); buttonsView.setOutputMarkupId(true); add(buttonsView); ok = new ButtonWrapper(new ResourceModel("ok")) { @Override protected void onSubmit() { handleSubmit(); } @Override protected void onUpdateAjaxAttributes(final AjaxRequestAttributes attributes) { attributes.setChannel(ajaxChannel); } }; ok.setKeyType(KeyType.Enter); buttons.add(ok); cancel = new ButtonWrapper(new ResourceModel("cancel")) { @Override protected void onSubmit() { cancelled = true; onCancel(); closeDialog(); } @Override protected Button decorate(final Button button) { button.add(new AjaxEventBehavior("onclick") { @Override protected void onComponentTag(final ComponentTag tag) { super.onComponentTag(tag); tag.put("type", "button"); } @Override protected void onEvent(final AjaxRequestTarget target) { onSubmit(); } }); button.setDefaultFormProcessing(false); return super.decorate(button); } }; cancel.setKeyType(KeyType.Escape); buttons.add(cancel); if (isFullscreenEnabled()) { final AjaxButton goFullscreen = new AjaxButton(DialogConstants.BUTTON, new AbstractReadOnlyModel<String>() { @Override public String getObject() { return getString(fullscreen ? "exit-fullscreen" : "fullscreen"); } }) { @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { target.appendJavaScript(getFullscreenScript()); target.add(this); //update button label fullscreen = !fullscreen; } }; addButton(goFullscreen); } if (addAjaxIndicator()) { add(indicator = new AjaxIndicatorAppender() { @Override protected CharSequence getIndicatorUrl() { return RequestCycle.get() .urlFor(new ResourceReferenceRequestHandler(DialogConstants.AJAX_LOADER_GIF)); } }); } }
From source file:org.hippoecm.frontend.editor.builder.RenderPluginEditorPlugin.java
License:Apache License
public RenderPluginEditorPlugin(final IPluginContext context, final IPluginConfig config) { super(context, config); renderContext = new RenderContext(context, config); builderContext = new BuilderContext(context, config); final boolean editable = (builderContext.getMode() == Mode.EDIT); final WebMarkupContainer container = new WebMarkupContainer("head"); container.setOutputMarkupId(true);//from w w w . j a v a 2 s.c om add(container); add(CssClass.append(new AbstractReadOnlyModel<String>() { @Override public String getObject() { return builderContext.hasFocus() ? "active" : StringUtils.EMPTY; } })); // add transitions from parent container container.add(new RefreshingView<ILayoutTransition>("transitions") { @Override protected Iterator<IModel<ILayoutTransition>> getItemModels() { final Iterator<ILayoutTransition> transitionIter = getTransitionIterator(); return new Iterator<IModel<ILayoutTransition>>() { public boolean hasNext() { return transitionIter.hasNext(); } public IModel<ILayoutTransition> next() { return new Model<>(transitionIter.next()); } public void remove() { transitionIter.remove(); } }; } @Override protected void populateItem(Item<ILayoutTransition> item) { final ILayoutTransition transition = item.getModelObject(); AjaxLink<Void> link = new AjaxLink<Void>("link") { @Override public void onClick(AjaxRequestTarget target) { layoutContext.apply(transition); } @Override protected void updateAjaxAttributes(final AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); attributes.getAjaxCallListeners().add(new EventStoppingDecorator()); } }; link.setVisible(editable); final String name = transition.getName(); final Icon icon = getTransitionIconByName(name); link.add(CssClass.append(name)); link.add(TitleAttribute.append(name)); link.add(HippoIcon.fromSprite("icon", icon)); item.add(link); } }); final AjaxLink removeLink = new AjaxLink("remove") { @Override public void onClick(AjaxRequestTarget target) { if (validateDelete()) { builderContext.delete(); } } @Override protected void updateAjaxAttributes(final AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); attributes.getAjaxCallListeners().add(new EventStoppingDecorator()); } }; removeLink.setVisible(editable); removeLink.add(HippoIcon.fromSprite("icon", Icon.TIMES_CIRCLE)); container.add(removeLink); if (editable) { add(new AjaxEventBehavior("onclick") { @Override protected void onEvent(AjaxRequestTarget target) { builderContext.focus(); } @Override protected void updateAjaxAttributes(final AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); attributes.getAjaxCallListeners().add(new EventStoppingDecorator()); } }); builderContext.addBuilderListener(new IBuilderListener() { public void onBlur() { AjaxRequestTarget target = RequestCycle.get().find(AjaxRequestTarget.class); if (target != null) { target.add(RenderPluginEditorPlugin.this); } } public void onFocus() { AjaxRequestTarget target = RequestCycle.get().find(AjaxRequestTarget.class); if (target != null) { target.add(RenderPluginEditorPlugin.this); } } }); } }
From source file:org.hippoecm.frontend.plugins.gallery.editor.ImageCropPlugin.java
License:Apache License
public ImageCropPlugin(final IPluginContext context, IPluginConfig config) { super(context, config); final IEditor.Mode mode = IEditor.Mode.fromString(config.getString("mode"), IEditor.Mode.EDIT); final IModel<Node> jcrImageNodeModel = getModel(); final GalleryProcessor processor = DefaultGalleryProcessor.getGalleryProcessor(context, getPluginConfig()); boolean upscalingEnabled = false; boolean isOriginal = true; boolean isOriginalImageWidthSmallerThanThumbWidth = false; boolean isOriginalImageHeightSmallerThanThumbHeight = false; boolean areExceptionsThrown = false; //Check if this is the original image try {//from w ww . ja v a 2 s.com isOriginal = HippoGalleryNodeType.IMAGE_SET_ORIGINAL.equals(jcrImageNodeModel.getObject().getName()); } catch (RepositoryException e) { error(e); log.error("Cannot retrieve name of original image node", e); areExceptionsThrown = true; } //Get dimensions of this thumbnail variant try { Dimension thumbnailDimension = processor.getDesiredResourceDimension(jcrImageNodeModel.getObject()); Node originalImageNode = getModelObject().getParent().getNode(HippoGalleryNodeType.IMAGE_SET_ORIGINAL); Dimension originalImageDimension = new Dimension( (int) originalImageNode.getProperty(HippoGalleryNodeType.IMAGE_WIDTH).getLong(), (int) originalImageNode.getProperty(HippoGalleryNodeType.IMAGE_HEIGHT).getLong()); isOriginalImageWidthSmallerThanThumbWidth = thumbnailDimension.getWidth() > originalImageDimension .getWidth(); isOriginalImageHeightSmallerThanThumbHeight = thumbnailDimension.getHeight() > originalImageDimension .getHeight(); upscalingEnabled = processor.isUpscalingEnabled(jcrImageNodeModel.getObject()); } catch (RepositoryException | GalleryException | NullPointerException e) { error(e); log.error("Cannot retrieve dimensions of original or thumbnail image", e); areExceptionsThrown = true; } Label cropButton = new Label("crop-button", new StringResourceModel("crop-button-label", this, null)); cropButton.setVisible(mode == IEditor.Mode.EDIT && !isOriginal); final boolean isUpdateDisabled = isOriginal || areExceptionsThrown || (isOriginalImageWidthSmallerThanThumbWidth && !upscalingEnabled) || (isOriginalImageHeightSmallerThanThumbHeight && !upscalingEnabled); if (mode == IEditor.Mode.EDIT) { if (!isUpdateDisabled) { cropButton.add(new AjaxEventBehavior("onclick") { @Override protected void onEvent(final AjaxRequestTarget target) { IDialogService dialogService = context.getService(IDialogService.class.getName(), IDialogService.class); dialogService.show(new ImageCropEditorDialog(jcrImageNodeModel, processor)); } }); } final String cropButtonClass = isUpdateDisabled ? "crop-button inactive" : "crop-button active"; cropButton.add(new AttributeAppender("class", Model.of(cropButtonClass), " ")); String buttonTipProperty = areExceptionsThrown ? "crop-button-tip-inactive-error" : isOriginalImageWidthSmallerThanThumbWidth && !upscalingEnabled ? "crop-button-tip-inactive-width" : isOriginalImageHeightSmallerThanThumbHeight && !upscalingEnabled ? "crop-button-tip-inactive-height" : "crop-button-tip"; cropButton.add(TitleAttribute.append(new StringResourceModel(buttonTipProperty, this, null))); } add(cropButton); }
From source file:org.hippoecm.frontend.plugins.gallery.editor.ImageRegeneratePlugin.java
License:Apache License
public ImageRegeneratePlugin(final IPluginContext context, IPluginConfig config) { super(context, config); final IEditor.Mode mode = IEditor.Mode.fromString(config.getString("mode"), IEditor.Mode.EDIT); galleryProcessor = DefaultGalleryProcessor.getGalleryProcessor(context, getPluginConfig()); isOriginal = true;/*from www. ja va 2s.c o m*/ areExceptionsThrown = false; try { isOriginal = HippoGalleryNodeType.IMAGE_SET_ORIGINAL.equals(((Node) getModel().getObject()).getName()); } catch (RepositoryException e) { error(e); log.error("Cannot retrieve name of original image node", e); areExceptionsThrown = true; } isModelModified = new LoadableDetachableModel<Boolean>() { private static final long serialVersionUID = 1L; @Override protected Boolean load() { try { Node thumbnailImageNode = (Node) getModelObject(); Node originalImageNode = thumbnailImageNode.getParent() .getNode(HippoGalleryNodeType.IMAGE_SET_ORIGINAL); return !originalImageNode.getProperty(JcrConstants.JCR_LASTMODIFIED).getDate() .equals(thumbnailImageNode.getProperty(JcrConstants.JCR_LASTMODIFIED).getDate()); } catch (RepositoryException e) { error(e); log.error("Cannot retrieve name of original image node", e); areExceptionsThrown = true; } return false; } }; Label regenerateButton = new Label("regenerate-button", new StringResourceModel("regenerate-button-label", this, null)) { private static final long serialVersionUID = 1L; @Override public boolean isEnabled() { return !isOriginal && !areExceptionsThrown && isModelModified.getObject(); } }; regenerateButton.setVisible(mode == IEditor.Mode.EDIT && !isOriginal); if (mode == IEditor.Mode.EDIT) { regenerateButton.add(new AjaxEventBehavior("onclick") { private static final long serialVersionUID = 1L; @Override protected void onEvent(final AjaxRequestTarget target) { regenerateThumbnail(); } }); regenerateButton.add(CssClass.append(new LoadableDetachableModel<String>() { private static final long serialVersionUID = 1L; @Override protected String load() { return (isOriginal || areExceptionsThrown || !isModelModified.getObject()) ? "regenerate-button inactive" : "regenerate-button active"; } })); regenerateButton.add(TitleAttribute.append(new LoadableDetachableModel<String>() { private static final long serialVersionUID = 1L; @Override protected String load() { String buttonTipProperty = areExceptionsThrown ? "regenerate-button-tip-inactive-error" : !isModelModified.getObject() ? "regenerate-button-tip-inactive-not-modified" : "regenerate-button-tip"; return new StringResourceModel(buttonTipProperty, ImageRegeneratePlugin.this, null).getString(); } })); } add(regenerateButton); }
From source file:org.hippoecm.frontend.plugins.standards.list.datatable.ListTableHeader.java
License:Apache License
public ListTableHeader(String id, final T property, final ISortStateLocator<T> stateLocator) { super(id);/* www. j a v a 2 s .c om*/ this.property = property; this.stateLocator = stateLocator; add(CssClass.append(new AbstractReadOnlyModel<String>() { @Override public String getObject() { switch (getSortOrder()) { case ASCENDING: return "hippo-list-order-ascending"; case DESCENDING: return "hippo-list-order-descending"; default: return "hippo-list-order-none"; } } })); add(new AjaxEventBehavior("onclick") { @Override protected void onEvent(AjaxRequestTarget target) { switch (getSortOrder()) { case NONE: setSortOrder(SortOrder.ASCENDING); break; case ASCENDING: setSortOrder(SortOrder.DESCENDING); break; case DESCENDING: setSortOrder(SortOrder.NONE); break; } onClick(target); } }); }