1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.exoplatform.ecm.webui.component.explorer.control.action;
18
19 import java.util.Arrays;
20 import java.util.List;
21
22 import org.exoplatform.ecm.webui.component.explorer.UIJCRExplorer;
23 import org.exoplatform.ecm.webui.component.explorer.control.filter.CanSetPropertyFilter;
24 import org.exoplatform.ecm.webui.component.explorer.control.filter.IsCheckedOutFilter;
25 import org.exoplatform.ecm.webui.component.explorer.control.filter.IsDocumentFilter;
26 import org.exoplatform.ecm.webui.component.explorer.control.filter.IsNotLockedFilter;
27 import org.exoplatform.ecm.webui.component.explorer.control.listener.UIActionBarActionListener;
28 import org.exoplatform.ecm.webui.component.explorer.popup.actions.UIWatchDocumentForm;
29 import org.exoplatform.webui.config.annotation.ComponentConfig;
30 import org.exoplatform.webui.config.annotation.EventConfig;
31 import org.exoplatform.webui.core.UIComponent;
32 import org.exoplatform.webui.core.UIPopupContainer;
33 import org.exoplatform.webui.event.Event;
34 import org.exoplatform.webui.ext.filter.UIExtensionFilter;
35 import org.exoplatform.webui.ext.filter.UIExtensionFilters;
36
37
38
39
40
41
42
43 @ComponentConfig(
44 events = {
45 @EventConfig(listeners = WatchDocumentActionComponent.WatchDocumentActionListener.class)
46 }
47 )
48 public class WatchDocumentActionComponent extends UIComponent {
49
50 private static final List<UIExtensionFilter> FILTERS = Arrays.asList(new UIExtensionFilter[] {
51 new IsNotLockedFilter(), new CanSetPropertyFilter(),
52 new IsDocumentFilter("UIActionBar.msg.unsupported-watch"),
53 new IsCheckedOutFilter("UIActionBar.msg.watch-checkedin") });
54
55 @UIExtensionFilters
56 public List<UIExtensionFilter> getFilters() {
57 return FILTERS;
58 }
59
60 public static class WatchDocumentActionListener extends UIActionBarActionListener<WatchDocumentActionComponent> {
61 public void processEvent(Event<WatchDocumentActionComponent> event) throws Exception {
62 UIJCRExplorer uiExplorer = event.getSource().getAncestorOfType(UIJCRExplorer.class);
63 UIPopupContainer UIPopupContainer = uiExplorer.getChild(UIPopupContainer.class);
64 UIWatchDocumentForm wathDocumentForm = UIPopupContainer.createUIComponent(UIWatchDocumentForm.class, null, null);
65 UIPopupContainer.activate(wathDocumentForm, 420, 0, false);
66 event.getRequestContext().addUIComponentToUpdateByAjax(UIPopupContainer);
67 }
68 }
69 }