From 73ad6da5a54d2c0f0ab852d6a0d99a9d87a99183 Mon Sep 17 00:00:00 2001 From: Victor Soares Date: Mon, 25 Mar 2024 09:41:22 -0300 Subject: [PATCH] fix: update annotation not work when annotation is not rendered --- package.json | 2 +- src/annotations.js | 26 ++++++++++++++++++++------ 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index c885b64..4d968e8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@victorsoares96/epubjs", - "version": "0.3.96", + "version": "0.3.97", "description": "Parse and Render Epubs", "main": "lib/index.js", "module": "src/index.js", diff --git a/src/annotations.js b/src/annotations.js index d51853e..0e414fb 100644 --- a/src/annotations.js +++ b/src/annotations.js @@ -242,28 +242,42 @@ class Annotation { if (!this.styles) this.styles = {}; if (styles?.stroke) { - this.mark.attributes.stroke = styles.stroke; + if (this.mark?.attributes?.stroke) { + this.mark.attributes.stroke = styles.stroke; + } + this.styles.stroke = styles.stroke; } if (styles?.["stroke-opacity"]) { - this.mark.attributes["stroke-opacity"] = styles["stroke-opacity"]; + if (this.mark?.attributes?.["stroke-opacity"]) { + this.mark.attributes["stroke-opacity"] = styles["stroke-opacity"]; + } + this.styles["stroke-opacity"] = styles["stroke-opacity"]; } if (styles?.["stroke-width"]) { - this.mark.attributes["stroke-width"] = styles["stroke-width"]; + if (this.mark?.attributes?.["stroke-width"]) { + this.mark.attributes["stroke-width"] = styles["stroke-width"]; + } + this.styles["stroke-width"] = styles["stroke-width"]; } if (styles?.fill) { - this.mark.attributes.fill = styles.fill; - this.mark.attributes.background = "red"; + if (this.mark?.attributes?.fill) { + this.mark.attributes.fill = styles.fill; + } + this.styles.fill = styles.fill; } if (styles?.["fill-opacity"]) { - this.mark.attributes["fill-opacity"] = styles["fill-opacity"]; + if (this.mark?.attributes?.["fill-opacity"]) { + this.mark.attributes["fill-opacity"] = styles["fill-opacity"]; + } + this.styles["fill-opacity"] = styles["fill-opacity"]; } }