Skip to content

Commit

Permalink
Merge pull request #376 from d-i-t-a/bugfix/cisl-readaloud-5
Browse files Browse the repository at this point in the history
CISL read-aloud fixes
  • Loading branch information
aferditamuriqi authored Aug 6, 2022
2 parents 2bca6a4 + eefe600 commit 1077754
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 16 deletions.
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@d-i-t-a/reader",
"version": "2.1.0-beta.1",
"version": "2.1.0-beta.2",
"description": "A viewer application for EPUB files.",
"repository": "https://github.com/d-i-t-a/R2D2BC",
"license": "Apache-2.0",
Expand Down
10 changes: 5 additions & 5 deletions src/modules/TTS/TTSModule2.ts
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,7 @@ export class TTSModule2 implements ReaderModule {
var restOfTheText;
if (ttsQueueItem && selectionInfo && selectionInfo.cleanText) {
const sentence = getTtsQueueItemRefText(ttsQueueItem);
let startIndex = sentence.indexOf(selectionInfo.cleanText);
let startIndex = selectionInfo.rangeInfo.startOffset;
let textToBeSpoken = selectionInfo.cleanText;

if (ttsQueueItemEnd && idx + 1 === idxEnd) {
Expand All @@ -301,14 +301,14 @@ export class TTSModule2 implements ReaderModule {
.replace(textToBeSpoken, "")
.trim();
} else if (idxEnd > idx) {
let mergedSentenses = "";
let mergedSentences = "";
for (let i = idx + 1; i < idxEnd; i++) {
const ttsQueueItemInBetween = getTtsQueueItemRef(ttsQueue, i);
if (ttsQueueItemInBetween) {
const sentenceInBetween = getTtsQueueItemRefText(
ttsQueueItemInBetween
);
mergedSentenses += sentenceInBetween;
mergedSentences += sentenceInBetween;
restOfTheText = selectionInfo.cleanText.replace(
sentenceInBetween,
""
Expand All @@ -318,9 +318,9 @@ export class TTSModule2 implements ReaderModule {

if (ttsQueueItemEnd) {
const sentenceEnd = getTtsQueueItemRefText(ttsQueueItemEnd);
mergedSentenses += " " + sentenceEnd;
mergedSentences += " " + sentenceEnd;
}
startIndex = (sentence + " " + mergedSentenses).indexOf(
startIndex = (sentence + " " + mergedSentences).indexOf(
selectionInfo.cleanText
);

Expand Down
20 changes: 12 additions & 8 deletions src/modules/highlight/TextHighlighter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -909,16 +909,20 @@ export class TextHighlighter {

// Use short timeout to let the selection updated to 'finish', otherwise some
// browsers can get wrong or incomplete selection data.
toolboxShowDelayed(ev: any) {
let self = this;
setTimeout(function () {
if (!self.isAndroid()) {
self.snapSelectionToWord(ev.detail === 1);
}
self.toolboxShow();
}, 100);
toolboxShowDelayed(event: TouchEvent | MouseEvent) {
this.showTool(event.detail === 1);
}

showTool = debounce(
(b: boolean) => {
if (!this.isAndroid()) {
this.snapSelectionToWord(b);
}
this.toolboxShow();
},
navigator.userAgent.toLowerCase().indexOf("firefox") > -1 ? 200 : 100
);

snapSelectionToWord(trimmed: boolean = false) {
let self = this;
let doc = this.delegate.iframes[0].contentDocument;
Expand Down

0 comments on commit 1077754

Please sign in to comment.