From b75198940f64aa62112f8c27f93a929e110c0615 Mon Sep 17 00:00:00 2001 From: Jack Reed <phillipjreed@gmail.com> Date: Mon, 11 May 2020 07:34:17 -0600 Subject: [PATCH] Render SVG targets from WebAnnotation --- src/lib/AnnotationItem.js | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/lib/AnnotationItem.js b/src/lib/AnnotationItem.js index c648e9b0e..e172c4d90 100644 --- a/src/lib/AnnotationItem.js +++ b/src/lib/AnnotationItem.js @@ -23,6 +23,8 @@ export default class AnnotationItem { switch (typeof target) { case 'string': return target.replace(/#?xywh=(.*)$/, ''); + case 'object': + return target.id; default: return null; } @@ -61,6 +63,24 @@ export default class AnnotationItem { switch (typeof target) { case 'string': return target; + case 'object': + return target.selector; + default: + return null; + } + } + + /** */ + get svgSelector() { + const { selector } = this; + switch (typeof selector) { + case 'string': + return null; + case 'object': + if (selector.type && selector.type === 'SvgSelector') { + return selector; + } + return null; default: return null; } @@ -73,6 +93,8 @@ export default class AnnotationItem { switch (typeof selector) { case 'string': return selector.match(/xywh=(.*)$/)[1].split(',').map(str => parseInt(str, 10)); + case 'object': + return selector.value.match(/xywh=(.*)$/)[1].split(',').map(str => parseInt(str, 10)); default: return null; } -- GitLab