IToolbarContentProvider接口
package com.bstek.bdf2.jbpm4.view.toolbar;
/**
* @author Jacky.gao
* @since 2013-6-3
* 用于為流程中任務處理頁面的通用工具欄提供具體內(nèi)容
*/
public interface IToolbarContentProvider {
/**
* 返回包含要放置到通用工具欄上的具體內(nèi)容所在的具體dorado7的view名稱,
*
比如bdf2.jbpm4.view.toolbar.impl.completetask.CompleteTaskToolbarContentProvider,這個系統(tǒng)默認提供
的用于完成任務的內(nèi)容提供者頁面
* @return 返回一個具體view的名稱,不包含.d
*/
String getView();
/**
* @return 返回能代表當前這個提供者的key,一個有意義的字符串,比如SimpleCompleteTask
*/
String key();
/**
* @return 返回一段描述信息,用于說明這個提供者作用
*/
String desc();
/**
* @return 返回這個提供者是否被禁用,返回true,那么這個提供者將不能使用
*/
boolean isDisabled();
}
實現(xiàn)類名 | key | desc | isDisabled |
CompleteTaskToolbarContentProvider | SimpleCompleteTask | 直接完成任務 | false |
JumpNodeToolbarContentProvider | SimpleJumpToOtherTaskNode | 直接跳轉到其它任務節(jié)點 | false |
SeeProcessImageToolbarContentProvider | SeeProcessImage | 查看流程圖 | false |
CompleteTaskToolbarContentProvider源碼
package com.bstek.bdf2.jbpm4.view.toolbar.impl.completetask;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import com.bstek.bdf2.jbpm4.service.IBpmService;
import com.bstek.bdf2.jbpm4.view.toolbar.IToolbarContentProvider;
import com.bstek.dorado.annotation.Expose;
/**
* @author Jacky.gao
* @since 2013-6-3
*/
@Component("bdf2.jbpm4.completeTaskToolbarContentProvider")
public class CompleteTaskToolbarContentProvider implements
IToolbarContentProvider {
@Value("${bdf2.jbpm4.disabledCompleteTaskToolbarContentProvider}")
private boolean disabled;
@Autowired
@Qualifier(IBpmService.BEAN_ID)
private IBpmService bpmService;
public String getView(){
return "bdf2.jbpm4.view.toolbar.impl.completetask.CompleteTaskToolbarContentProvider";
}
public String key() {
return "SimpleCompleteTask";
}
public String desc() {
return "直接完成任務";
}
public boolean isDisabled() {
return disabled;
}
@Expose
public void completeTask(String taskId){
bpmService.completeTaskById(taskId);
}
}
View源碼
<?xml version="1.0" encoding="UTF-8"?>
<ViewConfig>
<Arguments/>
<Context/>
<Model/>
<View>
<AjaxAction id="ajaxActionCompleteTask">
<ClientEvent name="onSuccess">dorado.MessageBox.alert("操作成功");
var win=window.parent;
if(win){
var taskListUrl="${configure.getString("bdf2.jbpm4.listTodoTaskUrl")}";
win.open(taskListUrl,"_self");
}</ClientEvent>
<Property name="parameter">${request.getParameter("taskId")}</Property>
<Property
name="service">bdf2.jbpm4.completeTaskToolbarContentProvider#completeTask</Property>
<Property name="confirmMessage">真的要完成當前任務嗎?</Property>
</AjaxAction>
<ToolBar>
<ToolBarButton>
<Property name="icon">url(skin>common/icons.gif) -180px -120px</Property>
<Property name="caption">完成任務</Property>
<Property name="action">ajaxActionCompleteTask</Property>
</ToolBarButton>
</ToolBar>
</View>
</ViewConfig>
更多建議: