Package com.taobao.zeus.web.platform.client.module.jobdisplay.group

Source Code of com.taobao.zeus.web.platform.client.module.jobdisplay.group.NewGroupWindow

package com.taobao.zeus.web.platform.client.module.jobdisplay.group;

import com.google.gwt.user.client.ui.HorizontalPanel;
import com.sencha.gxt.core.client.util.ToggleGroup;
import com.sencha.gxt.widget.core.client.Window;
import com.sencha.gxt.widget.core.client.box.AlertMessageBox;
import com.sencha.gxt.widget.core.client.button.TextButton;
import com.sencha.gxt.widget.core.client.container.MarginData;
import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer;
import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer.VerticalLayoutData;
import com.sencha.gxt.widget.core.client.event.SelectEvent;
import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler;
import com.sencha.gxt.widget.core.client.form.FieldLabel;
import com.sencha.gxt.widget.core.client.form.FormPanel;
import com.sencha.gxt.widget.core.client.form.Radio;
import com.sencha.gxt.widget.core.client.form.TextField;
import com.sencha.gxt.widget.core.client.info.Info;
import com.sencha.gxt.widget.core.client.tips.ToolTipConfig;
import com.taobao.zeus.web.platform.client.module.jobmanager.TreeKeyProviderTool;
import com.taobao.zeus.web.platform.client.module.jobmanager.event.TreeNodeChangeEvent;
import com.taobao.zeus.web.platform.client.util.RPCS;
import com.taobao.zeus.web.platform.client.util.async.AbstractAsyncCallback;

public class NewGroupWindow extends Window{
 
  private GroupPresenter presenter;
  private FormPanel panel;
  private TextField name;
  private ToggleGroup group;
  private Radio dir;
  private Radio leaf;

  public NewGroupWindow(GroupPresenter presenter) {
    this.presenter=presenter;
    setHeadingText("新建组");
    setWidth(350);
    setHeight(150);
    setModal(true);

    panel = new FormPanel();
    VerticalLayoutContainer p = new VerticalLayoutContainer();
    panel.add(p,new MarginData(5));
    name = new TextField();
    name.setToolTipConfig(new ToolTipConfig("组名称", "必填,可修改"){{setDismissDelay(0);}});

    dir = new Radio();
    dir.setBoxLabel("大目录");
    dir.setToolTipConfig(new ToolTipConfig("大目录,不可修改", "该类型的组下面只能添加目录,不能添加Job任务"){{setDismissDelay(0);}});
    leaf = new Radio();
    leaf.setBoxLabel("小目录");
    leaf.setToolTipConfig(new ToolTipConfig("小目录,不可修改", "该类型的组下只能添加Job任务,不能添加目录"){{setDismissDelay(0);}});
    HorizontalPanel radios=new HorizontalPanel();
    radios.add(dir);
    radios.add(leaf);
    group=new ToggleGroup();
    group.add(dir);
    group.add(leaf);
   
    p.add(new FieldLabel(name, "组名称(*)"), new VerticalLayoutData(1, -1));
    p.add(new FieldLabel(radios,"组类型(*)"), new VerticalLayoutData(1, -1));

    add(panel,new MarginData(5));

    addButton(new TextButton("确定", new SelectHandler() {
      public void onSelect(SelectEvent event) {
        if (name.getValue()==null || name.getValue().trim().equals("")
            || group.getValue() == null) {
          AlertMessageBox alert=new AlertMessageBox("警告", "必填项不能为空");
          alert.show();
        }else{
          submit();
        }
      }
    }));
    addButton(new TextButton("取消", new SelectHandler() {
      public void onSelect(SelectEvent event) {
        NewGroupWindow.this.hide();
      }
    }));
  }
 
 
  private void submit(){
    String gname=name.getValue();
    Boolean isDirectory=group.getValue()==dir;
    RPCS.getGroupService().createGroup(gname, presenter.getGroupModel().getId(), isDirectory, new AbstractAsyncCallback<String>() {
      @Override
      public void onSuccess(String groupId) {
        NewGroupWindow.this.hide();
        Info.display("操作成功", "新建组成功");
        TreeNodeChangeEvent event=new TreeNodeChangeEvent();
        event.setNeedSelectProviderKey(TreeKeyProviderTool.genGroupProviderKey(groupId));
        presenter.getPlatformContext().getPlatformBus().fireEvent(event);
      }
    });
  }

}
TOP

Related Classes of com.taobao.zeus.web.platform.client.module.jobdisplay.group.NewGroupWindow

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.