aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/search
diff options
context:
space:
mode:
authorbobzel <zzzman@gmail.com>2024-09-30 11:22:45 -0400
committerbobzel <zzzman@gmail.com>2024-09-30 11:22:45 -0400
commit04f1047d81bba00f9258543a8171683bce5272bb (patch)
tree2e09704251382f554b0ea7e7c92e1e3a92b1b838 /src/client/views/search
parentb08befda6d7ec07a0e6653ccf5040474886dcd44 (diff)
parent22c1885a7469a6d5e94fff279225665a1ef1448b (diff)
merged with master
Diffstat (limited to 'src/client/views/search')
-rw-r--r--src/client/views/search/FaceRecognitionHandler.tsx9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/client/views/search/FaceRecognitionHandler.tsx b/src/client/views/search/FaceRecognitionHandler.tsx
index 4f6f5d314..6f70e96ab 100644
--- a/src/client/views/search/FaceRecognitionHandler.tsx
+++ b/src/client/views/search/FaceRecognitionHandler.tsx
@@ -30,6 +30,7 @@ import { DocumentManager } from '../../util/DocumentManager';
* face_annos - a list of face annotations, where each anno has
*/
export class FaceRecognitionHandler {
+ // eslint-disable-next-line no-use-before-define
static _instance: FaceRecognitionHandler;
private _apiModelReady = false;
private _pendingAPIModelReadyDocs: Doc[] = [];
@@ -119,8 +120,7 @@ export class FaceRecognitionHandler {
* @param faceDoc - unique face Doc
*/
public static UniqueFaceRemoveFaceImage = (faceAnno: Doc, faceDoc: Doc) => {
- Doc.RemoveDocFromList(faceDoc[DocData], 'face_annos', faceAnno);
- faceAnno.face = undefined;
+ FaceRecognitionHandler.ImageDocFaceAnnos(faceAnno).forEach(face => Doc.RemoveDocFromList(faceDoc[DocData], 'face_annos', face) && (face.face = undefined));
};
constructor() {
@@ -221,7 +221,8 @@ export class FaceRecognitionHandler {
.then(imgDocFaceDescriptions => { // For each face detected, find a match.
const annos = [] as Doc[];
const scale = NumCast(imgDoc.data_nativeWidth) / img.width;
- imgDocFaceDescriptions.forEach((fd, i) => {
+ const showTags= imgDocFaceDescriptions.length > 1;
+ imgDocFaceDescriptions.forEach(fd => {
const faceDescriptor = new List<number>(Array.from(fd.descriptor));
const matchedUniqueFace = this.findMatchingFaceDoc(fd.descriptor) ?? this.createUniqueFaceDoc(activeDashboard);
const faceAnno = Docs.Create.FreeformDocument([], {
@@ -234,12 +235,14 @@ export class FaceRecognitionHandler {
y: fd.alignedRect.box.top * scale,
_width: fd.alignedRect.box.width * scale,
_height: fd.alignedRect.box.height * scale,
+ _layout_showTags: showTags
})
FaceRecognitionHandler.UniqueFaceAddFaceImage(faceAnno, matchedUniqueFace); // add image/faceDescriptor to matched unique face
annos.push(faceAnno);
});
imgDoc[DocData].data_annotations = new List<Doc>(annos);
+ imgDoc._layout_showTags = annos.length > 0;
return imgDocFaceDescriptions;
})
); // prettier-ignore