UNPKG

label-studio

Version:

Data Labeling Tool that is backend agnostic and can be embedded into your applications

44 lines (35 loc) 956 B
import { types, getParent, getEnv } from "mobx-state-tree"; import { AllRegionsType } from "../regions"; export default types .model("RegionStore", { regions: types.array(types.safeReference(AllRegionsType)), }) .actions(self => ({ addRegion(region) { self.regions.push(region); getEnv(self).onEntityCreate(region); }, findRegion(pid) { return self.regions.find(r => r.pid === pid); }, /** * Delete region * @param {obj} region */ deleteRegion(region) { const arr = self.regions; for (let i = 0; i < arr.length; i++) { if (arr[i] === region) { arr.splice(i, 1); } } getEnv(self).onEntityDelete(region); }, unselectAll() { self.regions.forEach(r => r.unselectRegion()); getParent(self).setHighlightedNode(null); }, unhighlightAll() { self.regions.forEach(r => r.setHighlight(false)); }, }));