@annotorious/react-manifold 3.3.6 → 3.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -20,7 +20,7 @@ const j = (c) => {
|
|
|
20
20
|
});
|
|
21
21
|
}, y = (t, o = u.LOCAL) => {
|
|
22
22
|
const n = t.map((e) => {
|
|
23
|
-
const { source: s
|
|
23
|
+
const { source: s } = a(e.id);
|
|
24
24
|
return { source: s, annotation: e };
|
|
25
25
|
}).filter((e) => e.source), r = Object.groupBy(n, (e) => e.source);
|
|
26
26
|
Object.entries(r).forEach(([e, s]) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotorious-react-manifold.es8.js","sources":["../src/AnnotoriousManifoldInstance.ts"],"sourcesContent":["import { Origin } from '@annotorious/react';\nimport type { Annotation, AnnotationBody, Annotator } from '@annotorious/react';\n\nexport interface AnnotoriousManifoldInstance<I extends Annotation = Annotation, E extends { id: string } = Annotation> {\n\n annotators: Annotator<I, E>[];\n\n sources: string[];\n\n addBody(body: AnnotationBody, origin?: Origin): void;\n\n bulkDeleteAnnotations(annotationsOrIds: (I | string)[], origin?: Origin): void;\n\n bulkUpdateAnnotations(annotations: I[], origin?: Origin): void; \n\n clear(origin: Origin): void;\n\n deleteAnnotation(id: string, origin?: Origin): I | undefined;\n\n deleteBody(body: AnnotationBody, origin?: Origin): void;\n\n destroy(): void;\n\n findAnnotator(annotationId: string): Annotator<I, E> | undefined;\n\n findSource(annotationId: string): string | undefined;\n\n getAnnotation(id: string): I | undefined;\n \n getAnnotations(): I[];\n\n getAnnotator(id: string): Annotator<I, E> | undefined;\n \n setSelected(annotationId: string, editable?: boolean): void;\n\n updateAnnotation(arg1: string | I, arg2?: I | Origin, arg3?: Origin): void;\n\n}\n\nexport const createManifoldInstance = <I extends Annotation = Annotation, E extends { id: string } = Annotation>(\n annotators: Map<string, Annotator<I, E>>\n): AnnotoriousManifoldInstance<I, E> => {\n\n const find = (annotationId: string): { annotation?: I, source?: string, annotator?: Annotator<I, E> } =>\n Array.from(annotators.entries()).reduce((found, [source, annotator]) => {\n if (found)\n return found;\n\n const annotation = annotator.state.store.getAnnotation(annotationId);\n if (annotation) \n return { annotation, annotator, source };\n }, undefined as { annotation: I, annotator: Annotator<I, E> } | undefined ) || \n\n { annotation: undefined, annotator: undefined, source: undefined };\n\n /*********/\n /** API **/\n /*********/\n\n const addBody = (body: AnnotationBody, origin = Origin.LOCAL) => {\n const { annotator } = find(body.annotation);\n if (annotator)\n annotator.state.store.addBody(body, origin);\n }\n\n const clear = (origin = Origin.LOCAL) =>\n Array.from(annotators.values()).forEach(a => a.state.store.clear(origin));\n\n const bulkDeleteAnnotations = (annotationsOrIds: (I | string)[], origin = Origin.LOCAL) => {\n const ids = annotationsOrIds.map(arg => typeof arg === 'string' ? arg : arg.id);\n\n const withAnnotator = ids.map(id => {\n const { source } = find(id);\n return { source, id };\n }).filter(t => t.source);\n\n const bySource = Object.groupBy(withAnnotator, t => t.source);\n\n Object.entries(bySource).forEach(([source, data]) => {\n const annotator = annotators.get(source);\n if (annotator)\n annotator.state.store.bulkDeleteAnnotations(data.map(d => d.id), origin);\n });\n }\n\n const bulkUpdateAnnotations = (annotations: I[], origin = Origin.LOCAL) => {\n const withAnnotator = annotations.map(annotation => {\n // Keep source and annotator, but replace annotation\n const { source
|
|
1
|
+
{"version":3,"file":"annotorious-react-manifold.es8.js","sources":["../src/AnnotoriousManifoldInstance.ts"],"sourcesContent":["import { Origin } from '@annotorious/react';\nimport type { Annotation, AnnotationBody, Annotator } from '@annotorious/react';\n\nexport interface AnnotoriousManifoldInstance<I extends Annotation = Annotation, E extends { id: string } = Annotation> {\n\n annotators: Annotator<I, E>[];\n\n sources: string[];\n\n addBody(body: AnnotationBody, origin?: Origin): void;\n\n bulkDeleteAnnotations(annotationsOrIds: (I | string)[], origin?: Origin): void;\n\n bulkUpdateAnnotations(annotations: I[], origin?: Origin): void; \n\n clear(origin: Origin): void;\n\n deleteAnnotation(id: string, origin?: Origin): I | undefined;\n\n deleteBody(body: AnnotationBody, origin?: Origin): void;\n\n destroy(): void;\n\n findAnnotator(annotationId: string): Annotator<I, E> | undefined;\n\n findSource(annotationId: string): string | undefined;\n\n getAnnotation(id: string): I | undefined;\n \n getAnnotations(): I[];\n\n getAnnotator(id: string): Annotator<I, E> | undefined;\n \n setSelected(annotationId: string, editable?: boolean): void;\n\n updateAnnotation(arg1: string | I, arg2?: I | Origin, arg3?: Origin): void;\n\n}\n\nexport const createManifoldInstance = <I extends Annotation = Annotation, E extends { id: string } = Annotation>(\n annotators: Map<string, Annotator<I, E>>\n): AnnotoriousManifoldInstance<I, E> => {\n\n const find = (annotationId: string): { annotation?: I, source?: string, annotator?: Annotator<I, E> } =>\n Array.from(annotators.entries()).reduce((found, [source, annotator]) => {\n if (found)\n return found;\n\n const annotation = annotator.state.store.getAnnotation(annotationId);\n if (annotation) \n return { annotation, annotator, source };\n }, undefined as { annotation: I, annotator: Annotator<I, E> } | undefined ) || \n\n { annotation: undefined, annotator: undefined, source: undefined };\n\n /*********/\n /** API **/\n /*********/\n\n const addBody = (body: AnnotationBody, origin = Origin.LOCAL) => {\n const { annotator } = find(body.annotation);\n if (annotator)\n annotator.state.store.addBody(body, origin);\n }\n\n const clear = (origin = Origin.LOCAL) =>\n Array.from(annotators.values()).forEach(a => a.state.store.clear(origin));\n\n const bulkDeleteAnnotations = (annotationsOrIds: (I | string)[], origin = Origin.LOCAL) => {\n const ids = annotationsOrIds.map(arg => typeof arg === 'string' ? arg : arg.id);\n\n const withAnnotator = ids.map(id => {\n const { source } = find(id);\n return { source, id };\n }).filter(t => t.source);\n\n const bySource = Object.groupBy(withAnnotator, t => t.source);\n\n Object.entries(bySource).forEach(([source, data]) => {\n const annotator = annotators.get(source);\n if (annotator)\n annotator.state.store.bulkDeleteAnnotations(data.map(d => d.id), origin);\n });\n }\n\n const bulkUpdateAnnotations = (annotations: I[], origin = Origin.LOCAL) => {\n const withAnnotator = annotations.map(annotation => {\n // Keep source and annotator, but replace annotation\n const { source } = find(annotation.id);\n return { source, annotation };\n }).filter(t => t.source);\n\n const bySource = Object.groupBy(withAnnotator, t => t.source);\n\n Object.entries(bySource).forEach(([source, data]) => {\n const annotator = annotators.get(source);\n if (!annotator) return;\n\n const toUpdate: I[] = data.map(d => d.annotation).filter(Boolean);\n annotator.state.store.bulkUpdateAnnotations(toUpdate, origin);\n })\n }\n\n const deleteAnnotation = (id: string, origin = Origin.LOCAL) => {\n const { annotation, annotator } = find(id);\n\n if (annotator) {\n annotator.state.store.deleteAnnotation(id, origin);\n return annotation;\n }\n }\n\n const deleteBody = (body: AnnotationBody, origin = Origin.LOCAL) => {\n const { annotator } = find(body.annotation);\n if (annotator)\n annotator.state.store.deleteBody(body, origin);\n }\n\n const destroy = () =>\n Array.from(annotators.values()).forEach(a => a.destroy());\n\n const findAnnotator = (annotationId: string) => {\n const { annotator } = find(annotationId);\n return annotator;\n }\n\n const findSource = (annotationId: string) => {\n const { source } = find(annotationId);\n return source;\n }\n\n const getAnnotation = (annotationId: string) => \n find(annotationId).annotation;\n\n const getAnnotations = () => \n Array.from(annotators.values()).reduce((all, annotator) =>\n [...all, ...annotator.state.store.all()], [] as I[]);\n\n const getAnnotator = (id: string) => annotators.get(id);\n\n const updateAnnotation = (arg1: string | I, arg2?: I | Origin, arg3?: Origin) => {\n const oldId: string = typeof arg1 === 'string' ? arg1 : arg1.id;\n\n const { annotator } = find(oldId);\n if (annotator)\n annotator.state.store.updateAnnotation(arg1, arg2, arg3);\n }\n\n const setSelected = (id: string, editable?: boolean) => {\n const { annotator } = find(id);\n if (annotator)\n annotator.setSelected(id, editable);\n }\n\n return {\n annotators: [...annotators.values()],\n sources: [...annotators.keys()],\n addBody,\n bulkDeleteAnnotations,\n bulkUpdateAnnotations,\n clear,\n deleteAnnotation,\n deleteBody,\n destroy,\n findAnnotator,\n findSource,\n getAnnotation,\n getAnnotations,\n getAnnotator,\n setSelected,\n updateAnnotation\n }\n\n}"],"names":["createManifoldInstance","annotators","find","annotationId","found","source","annotator","annotation","addBody","body","origin","Origin","clear","a","bulkDeleteAnnotations","annotationsOrIds","withAnnotator","arg","id","t","bySource","data","d","bulkUpdateAnnotations","annotations","toUpdate","deleteAnnotation","deleteBody","destroy","findAnnotator","findSource","getAnnotation","getAnnotations","all","getAnnotator","updateAnnotation","arg1","arg2","arg3","oldId","setSelected","editable"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@annotorious/react-manifold",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.4.1",
|
|
4
4
|
"description": "A utility to manage multiple parallel Annotorious instances more efficiently",
|
|
5
5
|
"author": "Rainer Simon",
|
|
6
6
|
"license": "BSD-3-Clause",
|
|
@@ -31,16 +31,16 @@
|
|
|
31
31
|
"test": "echo 'Skipping tests in @annotorious/annotorious-react-manifold package'"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
|
-
"@types/react": "^19.1.
|
|
35
|
-
"@types/react-dom": "^19.1.
|
|
36
|
-
"@vitejs/plugin-react": "^4.
|
|
34
|
+
"@types/react": "^19.1.6",
|
|
35
|
+
"@types/react-dom": "^19.1.5",
|
|
36
|
+
"@vitejs/plugin-react": "^4.5.0",
|
|
37
37
|
"typescript": "5.8.3",
|
|
38
|
-
"vite": "^5.4.
|
|
39
|
-
"vite-plugin-dts": "^4.5.
|
|
38
|
+
"vite": "^5.4.19",
|
|
39
|
+
"vite-plugin-dts": "^4.5.4",
|
|
40
40
|
"vite-tsconfig-paths": "^5.1.4"
|
|
41
41
|
},
|
|
42
42
|
"peerDependencies": {
|
|
43
|
-
"@annotorious/react": "3.
|
|
43
|
+
"@annotorious/react": "3.4.1",
|
|
44
44
|
"openseadragon": "^5.0.1",
|
|
45
45
|
"react": "16.8.0 || >=17.x || >=18.x || >=19.x",
|
|
46
46
|
"react-dom": "16.8.0 || >=17.x || >=18.x|| >=19.x"
|