/
alt3rmann
/
label-studio
Обзор
Документация
Войти
/
alt3rmann
/
label-studio
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
web/libs/editor/src/components/AnnotationTab/AutoAcceptToggle.jsx
71 строка
2 KB
Yousif Yassi
chore: OPTIC-1778: Unify and prettify icons (#7169)
21 мар 2025, 17:21
Не верифицирован
21 мар 2025, 17:21
b75cace
Код
Авторство
О чём код?
import { inject, observer } from "mobx-react"; import { IconCheck, IconCross } from "@humansignal/icons"; import { Toggle } from "@humansignal/ui"; import { Button } from "../../common/Button/Button"; import { Block, Elem } from "../../utils/bem"; import { Space } from "../../common/Space/Space"; import "./AutoAcceptToggle.scss"; // we need to inject all of them to trigger rerender on changes to suggestions const injector = inject(({ store }) => { const annotation = store.annotationStore?.selected; const suggestions = annotation?.suggestions; return { store, annotation, suggestions, }; }); export const AutoAcceptToggle = injector( observer(({ store, annotation, suggestions }) => { if (!store.autoAnnotation) return null; const withSuggestions = annotation.hasSuggestionsSupport && !store.forceAutoAcceptSuggestions; const loading = store.awaitingSuggestions; return ( <Block name="auto-accept"> {withSuggestions && ( <Elem name="wrapper" mod={{ loading }}> <Space spread> {suggestions.size > 0 ? ( <Space size="small"> <Elem name="info"> {suggestions.size} suggestion{suggestions.size > 0 && "s"} </Elem> <Elem name="action" tag={Button} mod={{ type: "reject" }} onClick={() => annotation.rejectAllSuggestions()} > <IconCross /> </Elem> <Elem name="action" tag={Button} mod={{ type: "accept" }} onClick={() => annotation.acceptAllSuggestions()} > <IconCheck /> </Elem> </Space> ) : ( <Toggle checked={store.autoAcceptSuggestions} onChange={(e) => store.setAutoAcceptSuggestions(e.target.checked)} label="Auto-Accept Suggestions" /> )} </Space> </Elem> )} {loading && <Elem name="spinner" />} </Block> ); }), );