/** * 数据标签 */ class Label { /** * 唯一标识符 */ public id: string; /** * 用户定义的名称 */ public name?: string; /** * CSS 颜色 */ public color?: string; /** * 构造器 * @param id 标签 ID * @param name 用户定义的名称 */ public constructor(id: string, name?: string) { this.id = id; this.name = name; } /** * 判断是否为相同标签 */ public equal(label: Label): boolean { return this === label || this.id === label.id; } } /** * 可以被打标签的数据 */ class LabelObject { /** * 标签集合 */ private labels: Set