1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.exoplatform.ecm.webui.component.admin.taxonomy.tree.info;
19
20 import org.exoplatform.ecm.permission.info.UIPermissionInputSet;
21 import org.exoplatform.webui.config.annotation.ComponentConfig;
22 import org.exoplatform.webui.config.annotation.EventConfig;
23 import org.exoplatform.webui.core.UIContainer;
24 import org.exoplatform.webui.core.UIPopupComponent;
25 import org.exoplatform.webui.core.UIPopupWindow;
26 import org.exoplatform.webui.core.lifecycle.UIContainerLifecycle;
27 import org.exoplatform.webui.event.Event;
28 import org.exoplatform.webui.event.EventListener;
29 import org.exoplatform.webui.organization.account.UIUserSelector;
30
31
32
33
34
35
36
37
38 @ComponentConfig(
39 lifecycle = UIContainerLifecycle.class,
40 events = {@EventConfig(listeners = UIPermissionTreeSelectUser.AddUserActionListener.class)}
41 )
42
43 public class UIPermissionTreeSelectUser extends UIContainer implements UIPopupComponent {
44
45 public static final String USER_SELECTOR_ID = "PermissionTreeSelectUser";
46
47 public UIPermissionTreeSelectUser() throws Exception {
48 UIUserSelector uiUserSelector = getChildById(USER_SELECTOR_ID);
49 if (uiUserSelector == null) {
50 uiUserSelector = addChild(UIUserSelector.class, null, USER_SELECTOR_ID);
51 }
52 uiUserSelector.setMulti(false);
53 uiUserSelector.setShowSearchUser(true);
54 uiUserSelector.setShowSearch(true);
55 }
56
57 public void activate() {
58
59 }
60
61 public void deActivate() {
62 }
63
64 public static class AddUserActionListener extends EventListener<UIPermissionTreeSelectUser> {
65 public void execute(Event<UIPermissionTreeSelectUser> event) throws Exception {
66 UIPermissionTreeSelectUser uiUserContainer = event.getSource();
67 UIUserSelector uiUserSelector = uiUserContainer.getChildById(USER_SELECTOR_ID);
68 UIPermissionTreeManager uiParent = uiUserContainer.getAncestorOfType(UIPermissionTreeManager.class);
69 UIPermissionTreeForm uiPermissionForm = uiParent.getChild(UIPermissionTreeForm.class);
70 uiPermissionForm.doSelect(UIPermissionInputSet.FIELD_USERORGROUP, uiUserSelector.getSelectedUsers());
71 UIPopupWindow uiPopup = uiParent.findComponentById(UIPermissionTreeManager.POPUP_TAXONOMY_SELECT_USER);
72 uiPopup.setShow(false);
73 event.getRequestContext().addUIComponentToUpdateByAjax(uiParent);
74 }
75 }
76 }