UNPKG

@siberiaweb/components

Version:
81 lines (64 loc) 1.84 kB
/** * Позиция. */ export default class Item { /** * Идентификатор. */ private readonly id: any; /** * Текст. */ private readonly text: string; /** * Группа, которой принадлежит позиция или признак, что позиция играет роль группы. */ private readonly group: Item | boolean; /** * Получение идентификатора. */ public getId(): any { return this.id; } /** * Получение текста. */ public getText(): string { return this.text; } /** * Получение группы, которой принадлежит позиция. */ public getGroup(): Item | null { return this.group instanceof Item ? this.group : null; } /** * Получение признака, что позиция играет роль группы. */ public isGroup(): boolean { return this.group === true; } /** * Получение признака, что позиция относится к группе. */ public isGrouped(): boolean { return this.group instanceof Item; } /** * Конструктор. * * @param id Идентификатор. * @param text Текст. * @param group Группа, которой принадлежит позиция или признак, что позиция играет роль группы. Опционально. По * умолчанию false. */ constructor( id: any, text: string, group: Item | boolean = false ) { this.id = id; this.text = text; this.group = group; } }