/*******************************************************************************
* Copyright (c) 2012 Dmitry Tikhomirov.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
*
* Contributors:
* Dmitry Tikhomirov - initial API and implementation
******************************************************************************/
package org.opensheet.client.widges.report;
import java.util.List;
import org.opensheet.client.dto.AssignmentDTO;
import org.opensheet.client.dto.DepartmentDTO;
import org.opensheet.client.services.AssignmentService;
import org.opensheet.client.services.AssignmentServiceAsync;
import org.opensheet.client.services.UserService;
import org.opensheet.client.services.UserServiceAsync;
import org.opensheet.client.utils.Languages;
import com.extjs.gxt.ui.client.data.BaseListLoader;
import com.extjs.gxt.ui.client.data.BaseModel;
import com.extjs.gxt.ui.client.data.BeanModel;
import com.extjs.gxt.ui.client.data.BeanModelReader;
import com.extjs.gxt.ui.client.data.ListLoadResult;
import com.extjs.gxt.ui.client.data.ListLoader;
import com.extjs.gxt.ui.client.data.ModelData;
import com.extjs.gxt.ui.client.data.RpcProxy;
import com.extjs.gxt.ui.client.event.BaseEvent;
import com.extjs.gxt.ui.client.event.Events;
import com.extjs.gxt.ui.client.event.Listener;
import com.extjs.gxt.ui.client.store.ListStore;
import com.extjs.gxt.ui.client.store.StoreEvent;
import com.extjs.gxt.ui.client.store.StoreListener;
import com.extjs.gxt.ui.client.widget.form.ComboBox;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.rpc.AsyncCallback;
public class AssignmentComboBox extends ComboBox<BeanModel>{
private ListStore<BeanModel> store;
private AssignmentServiceAsync assignmentService = GWT.create(AssignmentService.class);
private Integer branchId;
private Integer typeId;
public AssignmentComboBox(){
RpcProxy<List<AssignmentDTO>> proxy = new RpcProxy<List<AssignmentDTO>>() {
@Override
protected void load(Object loadConfig, AsyncCallback<List<AssignmentDTO>> callback) {
assignmentService.getAssignmentsByBranchAndByType(branchId, typeId,true, callback);
}
};
ListLoader<?> loader = new BaseListLoader<ListLoadResult<ModelData>>(proxy,new BeanModelReader());
store = new ListStore<BeanModel>(loader);
loader.load();
store.setMonitorChanges(true);
setEditable(false);
setWidth(150);
setDisplayField("name");
setName("name");
setStore(store);
setAllowBlank(true);
setValue(store.getAt(0));
setEmptyText(" Any");
}
public void setData(Integer branch,Integer type){
if(branch!= null && type != null){
this.branchId = branch;
this.typeId = type;
this.getStore().getLoader().load();
setValue(store.findModel("id", "9999999"));
}
}
}