StatusIcon
Отображает иконку статуса задачи Трекера. Каждому типу статуса соответствует отдельная иконка и цвет. Неизвестные значения статуса не вызывают ошибку — компонент отображает иконку со знаком вопроса.
Использование
import {StatusIcon} from '@weavix/tracker-components';
<StatusIcon statusType="new" />
<StatusIcon statusType="inProgress" />
<StatusIcon statusType="done" />
Поддерживаемые статусы
new · inProgress · paused · done · cancelled · unknown · произвольная строка (отображается со знаком вопроса)
Из Tracker API
Требует разрешение "tracker:issues:read" в manifest.json плагина:
{
"permissions": {
"data": ["tracker:issues:read"]
}
}
import {StatusIcon} from '@weavix/tracker-components';
const status = await trackerApi.v3.get['/issues/{id}/{field}']({
pathParams: {
id: 'ISSUEKEY-1',
field: 'status',
},
});
<StatusIcon
statusType={status.data.key}
title={status.data.display}
/>
Пример — статус рядом с названием задачи
import {StatusIcon} from '@weavix/tracker-components';
export const IssueRow = ({issue}: {issue: {statusType: string; summary: string}}) => (
<div style={{display: 'flex', alignItems: 'center', gap: 8}}>
<StatusIcon statusType={issue.statusType} size={16} />
<span>{issue.summary}</span>
</div>
);
Свойства
| Свойство | Тип | По умолчанию | Описание |
|---|---|---|---|
statusType |
string |
— | Тип статуса задачи. Поддерживаемые значения перечислены выше |
size |
number |
16 |
Размер иконки в пикселях |
title |
string |
— | Читаемое название статуса для скринридеров. Если не передан — иконка помечается как декоративная (aria-hidden) |
className |
string |
— | Дополнительный CSS-класс иконки |
containerClassName |
string |
— | Дополнительный CSS-класс внешнего контейнера |
Была ли статья полезна?
Предыдущая
Следующая