View Javadoc
1   /***************************************************************************
2    * Copyright 2001-2008 The eXo Platform SARL         All rights reserved.  *
3    * Please look at license.txt in info directory for more license detail.   *
4    **************************************************************************/
5   package org.exoplatform.ecm.webui.core;
6   
7   import org.exoplatform.ecm.permission.info.UIPermissionInputSet;
8   import org.exoplatform.webui.core.UIPopupComponent;
9   import org.exoplatform.webui.config.annotation.ComponentConfig;
10  import org.exoplatform.webui.config.annotation.EventConfig;
11  import org.exoplatform.webui.core.UIContainer;
12  import org.exoplatform.webui.core.UIPopupWindow;
13  import org.exoplatform.webui.core.lifecycle.UIContainerLifecycle;
14  import org.exoplatform.webui.event.Event;
15  import org.exoplatform.webui.event.EventListener;
16  import org.exoplatform.webui.organization.account.UIUserSelector;
17  
18  /**
19   * Created by The eXo Platform SARL
20   * Author : Hoang Van Hung
21   *          hunghvit@gmail.com
22   * Dec 3, 2008
23   */
24  
25  @ComponentConfig(
26      lifecycle = UIContainerLifecycle.class,
27      events = {@EventConfig(listeners = UIUserContainer.AddUserActionListener.class)}
28  )
29  
30  public class UIUserContainer extends UIContainer implements UIPopupComponent  {
31  
32    public UIUserContainer() throws Exception {
33      UIUserSelector uiUserSelector = getChild(UIUserSelector.class);
34      if (uiUserSelector == null) {
35        uiUserSelector = addChild(UIUserSelector.class, null, null);
36      }
37      uiUserSelector.setMulti(false);
38      uiUserSelector.setShowSearchUser(true);
39      uiUserSelector.setShowSearch(true);
40    }
41  
42    public void activate() {
43  
44    }
45  
46    public void deActivate() {
47  
48    }
49  
50    static  public class AddUserActionListener extends EventListener<UIUserContainer> {
51      public void execute(Event<UIUserContainer> event) throws Exception {
52        UIUserContainer uiUserContainer = event.getSource();
53        UIUserSelector uiUserSelector = uiUserContainer.getChild(UIUserSelector.class);
54        UIPermissionManagerBase uiParent = uiUserContainer.getAncestorOfType(UIPermissionManagerBase.class);
55        UIPermissionFormBase uiPermissionForm = uiParent.getChild(UIPermissionFormBase.class);
56        uiPermissionForm.doSelect(UIPermissionInputSet.FIELD_USERORGROUP, uiUserSelector.getSelectedUsers());
57        UIPopupWindow uiPopup = uiParent.findComponentById("PopupUserSelector");
58        uiPopup.setShow(false);
59        event.getRequestContext().addUIComponentToUpdateByAjax(uiParent);
60      }
61    }
62  }