package cn.axzo.workflow.common.model.request.bpmn;

import cn.axzo.workflow.common.enums.BusinessTypeEnum;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * 按钮元数据
 *
 * @author wangli
 * @since 2023/11/14 23:53
 */
@Data
@Accessors(chain = true)
public class BpmnButtonMetaInfo implements Serializable {

    public static final String BUTTON_TYPE_SYSTEM = "SYSTEM";
    public static final String BUTTON_TYPE_CUSTOM = "CUSTOM";

    private static final long serialVersionUID = -5224316166904752829L;

    /**
     * 按钮顺序
     */
    private Integer order = 0;

    /**
     * 按钮唯一标识
     */
    private String btnKey;

    /**
     * 按钮名称
     */
    private String btnName;

    /**
     * 复选框的值
     */
    private Boolean checked;

    /**
     * 是否禁用勾选
     */
    private Boolean disabled;
    /**
     * 是否隐藏按钮
     */
    private Boolean hidden =  false;

    /**
     * 按钮类型 SYSTEM/CUSTOM
     */
    private String type;

    /**
     * 按钮支持的业务类型
     */
    private List<BusinessTypeEnum> supportBizType = new ArrayList<>();

}
