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

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

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

import java.util.HashMap;
import java.util.Map;

import com.sencha.gxt.cell.core.client.form.ComboBoxCell.TriggerAction;
import com.sencha.gxt.data.shared.LabelProvider;
import com.sencha.gxt.data.shared.ListStore;
import com.sencha.gxt.data.shared.ModelKeyProvider;
import com.sencha.gxt.widget.core.client.Window;
import com.sencha.gxt.widget.core.client.button.TextButton;
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.ComboBox;
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.TextField;
import com.taobao.zeus.web.platform.client.module.jobmanager.GroupModel;
import com.taobao.zeus.web.platform.client.module.jobmanager.JobModel;
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.PlatformBus;
import com.taobao.zeus.web.platform.client.util.RPCS;
import com.taobao.zeus.web.platform.client.util.async.AbstractAsyncCallback;

public class NewJobWindow extends Window{

  private FormPanel formPanel;
 
  private GroupModel groupModel;
 
  private TextButton save=new TextButton("保存", new SelectHandler() {
    @Override
    public void onSelect(SelectEvent event) {
      if(formPanel.isValid()){
        RPCS.getJobService().createJob(name.getValue(),
            groupModel.getId(), jobType.getValue().get("name"), new AbstractAsyncCallback<JobModel>() {
              @Override
              public void onSuccess(JobModel result) {
                TreeNodeChangeEvent event=new TreeNodeChangeEvent();
                event.setNeedSelectProviderKey(TreeKeyProviderTool.genJobProviderKey(result.getId()));
                bus.fireEvent(event);
                NewJobWindow.this.hide();
              }
        });
      }
    }
  });
  private PlatformBus bus;
  private ComboBox<Map<String, String>> jobType;
  private TextField name;
  public NewJobWindow(PlatformBus bus,GroupModel groupModel){
    this.bus=bus;
    this.groupModel=groupModel;
    setModal(true);
    setHeight(150);
    setWidth(350);
   
    setHeadingText(groupModel.getName()+" 下新建任务");
   
    formPanel=new FormPanel();
    VerticalLayoutContainer p=new VerticalLayoutContainer();
    formPanel.add(p);
   
    name=new TextField();
    name.setAllowBlank(false);
    p.add(new FieldLabel(name, "任务名称"),new VerticalLayoutData(1,-1));
   
    ListStore<Map<String, String>> jobTypeStore=new ListStore<Map<String, String>>(new ModelKeyProvider<Map<String, String>>() {
      public String getKey(Map<String, String> item) {
        return item.get("name");
      }
    });
    Map<String, String> javamain=new HashMap<String, String>();
    javamain.put("name", JobModel.MapReduce);
    jobTypeStore.add(javamain);
    Map<String, String> shell=new HashMap<String, String>();
    shell.put("name", JobModel.SHELL);
    jobTypeStore.add(shell);
    Map<String, String> hive=new HashMap<String, String>();
    hive.put("name", JobModel.HIVE);
    jobTypeStore.add(hive);
    jobType=new ComboBox<Map<String, String>>(jobTypeStore,new LabelProvider<Map<String, String>>() {
      public String getLabel(Map<String, String> item) {
        return item.get("name");
      }
    });
    jobType.setAllowBlank(false);
    jobType.setTypeAhead(true);
    jobType.setTriggerAction(TriggerAction.ALL);
    jobType.setEditable(false);
   
   
    jobType.setStore(jobTypeStore);
   
    p.add(new FieldLabel(jobType, "任务类型"),new VerticalLayoutData(1, -1));
   
    add(formPanel);
    addButton(save);
  }
}
TOP

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

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.