워크플로 목록은 SpreadJS의 드롭다운 유형으로, JavaScript 코드를 사용하여 통합 문서의 셀 스타일로 정의됩니다. 개발자는 목록의 항목 및 사용자가 선택하는 시점으로 전환되는 항목을 지정할 수 있습니다. 아래 스프레드시트의 워크플로 목록에서 다른 항목을 선택하면 옵션이 어떻게 바뀌는지 살펴볼 수 있습니다.
드롭다운은 개발자에게 특정 속성이 있는 드롭다운 메뉴를 통합 문서의 셀에 추가하는 기능을 제공합니다. 이 드롭다운 메뉴는 드롭다운 메뉴에 사용할 코드를 지정하는 것 이외에 추가 코드가 필요하지 않습니다.
SpreadJS에는 9가지 종류의 드롭다운이 있으며, 이 데모에서는 워크플로 목록을 사용하는 방법을 보여줍니다.
워크플로 목록을 열기 전에 셀 스타일에서 옵션 데이터를 설정해야 합니다. 다음 코드와 같이 워크플로 목록 드롭다운을 사용할 수 있습니다.
// The way of click the dropdown icon to open Workflow List.
let style = new GC.Spread.Sheets.Style();
style.cellButtons = [
{
imageType: GC.Spread.Sheets.ButtonImageType.dropdown,
command: "openWorkflowList",
useButtonStyle: true,
}
];
style.dropDowns = [
{
type: GC.Spread.Sheets.DropDownType.workflowList,
option: {
items: [
{ value: "New", transitions: [1] },
{ value: "Open",transitions: [0,2,3,5] },
{ value: "In Progress", transitions: [1, 3, 5] },
{ value: "Resolved", transitions: [5, 4] },
{ value: "Reopened",transitions: [5, 3, 2] },
{ value: "Closed", transitions: [4] },
]
}
}
];
sheet.setText(4, 4, "Workflow List");
sheet.setStyle(5, 4, style);
// The way just open Workflow List with command rather then clicking the dropdown button.
spread.commandManager().execute({cmd:"openWorkflowList",row:5,col:4,sheetName:"Sheet1"});
워크플로 목록의 옵션은 다음과 같은 구조를 따라야 합니다.
export interface IWorkFlowOption {
items: IWorkFlowItem[];
}
export interface IWorkFlowItem {
value: string;
transitions: number[]|string[];
}