You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@annotator.apache.org by ge...@apache.org on 2020/07/18 15:09:56 UTC

[incubator-annotator] branch demo-empty-quote created (now 8800720)

This is an automated email from the ASF dual-hosted git repository.

gerben pushed a change to branch demo-empty-quote
in repository https://gitbox.apache.org/repos/asf/incubator-annotator.git.


      at 8800720  Support empty ranges in highlighter & demo

This branch includes the following new commits:

     new 8800720  Support empty ranges in highlighter & demo

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[incubator-annotator] 01/01: Support empty ranges in highlighter & demo

Posted by ge...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gerben pushed a commit to branch demo-empty-quote
in repository https://gitbox.apache.org/repos/asf/incubator-annotator.git

commit 8800720efcc99548341ee76d33d0db6988371e66
Author: Gerben <ge...@treora.com>
AuthorDate: Thu Jun 25 22:10:56 2020 +0200

    Support empty ranges in highlighter & demo
---
 packages/dom/src/highlight-range.ts |  3 ---
 web/demo/index.js                   | 18 ++++--------------
 web/style.css                       |  2 +-
 3 files changed, 5 insertions(+), 18 deletions(-)

diff --git a/packages/dom/src/highlight-range.ts b/packages/dom/src/highlight-range.ts
index e18a6a4..091c24f 100644
--- a/packages/dom/src/highlight-range.ts
+++ b/packages/dom/src/highlight-range.ts
@@ -55,9 +55,6 @@ export function highlightRange(
 
 // Return an array of the text nodes in the range. Split the start and end nodes if required.
 function textNodesInRange(range: Range): Text[] {
-  // If the range is empty, avoid creating and returning an empty text node.
-  if (range.collapsed) return [];
-
   // If the start or end node is a text node and only partly in the range, split it.
   if (
     isTextNode(range.startContainer) &&
diff --git a/web/demo/index.js b/web/demo/index.js
index 88b9a06..a1688b0 100644
--- a/web/demo/index.js
+++ b/web/demo/index.js
@@ -120,22 +120,12 @@ async function anchor(selector) {
   info.innerText = JSON.stringify(selector, null, 2);
 }
 
-async function describeSelection() {
+async function onSelectionChange() {
+  cleanup();
   const selection = document.getSelection();
-  if (selection.type !== 'Range') return;
-
   const range = selection.getRangeAt(0);
-  if (range.collapsed) return;
-
-  return describeTextQuote(range, source);
-}
-
-async function onSelectionChange() {
-  const selector = await describeSelection();
-  if (selector) {
-    cleanup();
-    anchor(selector);
-  }
+  const selector = await describeTextQuote(range, source);
+  anchor(selector);
 }
 
 function onSelectorExampleClick(event) {
diff --git a/web/style.css b/web/style.css
index 29fef4d..4ef867d 100644
--- a/web/style.css
+++ b/web/style.css
@@ -56,7 +56,7 @@ li {
 
 mark {
   background-color: rgba(255, 255, 0, 0.5);
-  outline: 0.1px solid rgba(255, 100, 0, 0.8);
+  outline: 1px solid rgba(255, 100, 0, 0.8);
 }
 
 .columns {