textchecker-element
Version:
Overlay text checker web compoentns.
37 lines • 1.65 kB
JavaScript
;
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