UNPKG

textchecker-element

Version:
37 lines 1.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createTextCheckerStore = void 0; const eventmit_1 = require("eventmit"); const createTextCheckerStore = (initialState) => { let textCheckerState = Object.assign({ visibleTop: 0, visibleLeft: 0, visibleWidth: 0, visibleHeight: 0, rectItems: [], annotationItems: [], highlightRectIdSet: new Set(), mouseHoverRectIdMap: new Map() }, initialState); const changeEvent = (0, eventmit_1.eventmit)(); return { get() { return textCheckerState; }, onChange(handler) { changeEvent.on(handler); }, dispose() { changeEvent.offAll(); }, highlightRectIndexes(idList) { textCheckerState = Object.assign(Object.assign({}, textCheckerState), { highlightRectIdSet: new Set(idList) }); changeEvent.emit(); }, update(state) { textCheckerState = Object.assign(Object.assign({}, textCheckerState), state); changeEvent.emit(); }, clear() { textCheckerState = Object.assign(Object.assign({}, textCheckerState), { rectItems: [], annotationItems: [], highlightRectIdSet: new Set(), mouseHoverRectIdMap: new Map() }); changeEvent.emit(); }, clearHoverState() { textCheckerState = Object.assign(Object.assign({}, textCheckerState), { highlightRectIdSet: new Set(), mouseHoverRectIdMap: new Map() }); changeEvent.emit(); } }; }; exports.createTextCheckerStore = createTextCheckerStore; //# sourceMappingURL=text-checker-store.js.map