aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/collections/collectionFreeForm/MarqueeView.tsx
diff options
context:
space:
mode:
authorandrewdkim <adkim414@gmail.com>2020-02-12 20:28:44 -0500
committerandrewdkim <adkim414@gmail.com>2020-02-12 20:28:44 -0500
commite100f189047ee05aad0864064e4764da073cfc19 (patch)
tree0c3d05649c8b6329ffd3862bce30e77e86d61006 /src/client/views/collections/collectionFreeForm/MarqueeView.tsx
parentd1b9049fe50e401ac1a33177babd0cfa4b32f6a0 (diff)
parent33d5a12af14e1ed50e5c3164b363fbbc253506a0 (diff)
merge
Diffstat (limited to 'src/client/views/collections/collectionFreeForm/MarqueeView.tsx')
-rw-r--r--src/client/views/collections/collectionFreeForm/MarqueeView.tsx32
1 files changed, 28 insertions, 4 deletions
diff --git a/src/client/views/collections/collectionFreeForm/MarqueeView.tsx b/src/client/views/collections/collectionFreeForm/MarqueeView.tsx
index 8591144c0..d4faa4dc1 100644
--- a/src/client/views/collections/collectionFreeForm/MarqueeView.tsx
+++ b/src/client/views/collections/collectionFreeForm/MarqueeView.tsx
@@ -21,6 +21,7 @@ import MarqueeOptionsMenu from "./MarqueeOptionsMenu";
import { SubCollectionViewProps } from "../CollectionSubView";
import { CognitiveServices } from "../../../cognitive_services/CognitiveServices";
import { RichTextField } from "../../../../new_fields/RichTextField";
+import { InteractionUtils } from "../../../util/InteractionUtils";
interface MarqueeViewProps {
getContainerTransform: () => Transform;
@@ -383,16 +384,39 @@ export class MarqueeView extends React.Component<SubCollectionViewProps & Marque
});
const inkFields = inks.map(i => Cast(i.data, InkField));
CognitiveServices.Inking.Appliers.InterpretStrokes(inkFields.filter(i => i instanceof InkField).map(i => i!.inkData)).then((results) => {
+ // const wordResults = results.filter((r: any) => r.category === "inkWord");
+ // console.log(wordResults);
+ // console.log(results);
+ // for (const word of wordResults) {
+ // const indices: number[] = word.strokeIds;
+ // indices.forEach(i => {
+ // if (wordToColor.has(word.recognizedText.toLowerCase())) {
+ // inks[i].color = wordToColor.get(word.recognizedText.toLowerCase());
+ // }
+ // else {
+ // for (const alt of word.alternates) {
+ // if (wordToColor.has(alt.recognizedString.toLowerCase())) {
+ // inks[i].color = wordToColor.get(alt.recognizedString.toLowerCase());
+ // break;
+ // }
+ // }
+ // }
+ // })
+ // }
const wordResults = results.filter((r: any) => r.category === "inkWord");
- console.log(wordResults);
- console.log(results);
for (const word of wordResults) {
const indices: number[] = word.strokeIds;
indices.forEach(i => {
+ const otherInks: Doc[] = [];
+ indices.forEach(i2 => i2 !== i && otherInks.push(inks[i2]));
+ inks[i].relatedInks = new List<Doc>(otherInks);
+ const uniqueColors: string[] = [];
+ Array.from(wordToColor.values()).forEach(c => uniqueColors.indexOf(c) === -1 && uniqueColors.push(c));
+ inks[i].alternativeColors = new List<string>(uniqueColors);
if (wordToColor.has(word.recognizedText.toLowerCase())) {
inks[i].color = wordToColor.get(word.recognizedText.toLowerCase());
}
- else {
+ else if (word.alternates) {
for (const alt of word.alternates) {
if (wordToColor.has(alt.recognizedString.toLowerCase())) {
inks[i].color = wordToColor.get(alt.recognizedString.toLowerCase());
@@ -400,7 +424,7 @@ export class MarqueeView extends React.Component<SubCollectionViewProps & Marque
}
}
}
- })
+ });
}
});
}