From e7e5bbc43feaf00140b42da67a3c001fc8babec7 Mon Sep 17 00:00:00 2001
From: bobzel <zzzman@gmail.com>
Date: Wed, 10 Jul 2024 09:21:12 -0400
Subject: fixed undoing bringToFront selections - made longPress observable
 work.  made ink  strokes keep Z index by default when clicked.

---
 src/client/views/nodes/CollectionFreeFormDocumentView.tsx | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

(limited to 'src/client/views/nodes/CollectionFreeFormDocumentView.tsx')

diff --git a/src/client/views/nodes/CollectionFreeFormDocumentView.tsx b/src/client/views/nodes/CollectionFreeFormDocumentView.tsx
index 034a38e9c..29a499035 100644
--- a/src/client/views/nodes/CollectionFreeFormDocumentView.tsx
+++ b/src/client/views/nodes/CollectionFreeFormDocumentView.tsx
@@ -20,6 +20,11 @@ import { DocumentView, DocumentViewProps } from './DocumentView';
 import { FieldViewProps } from './FieldView';
 import { OpenWhere } from './OpenWhere';
 
+export enum GroupActive { // flags for whether a view is activate because of its relationship to a group
+    group = 'group', // this is a group that is activated because it's on an active canvas, but is not part of some other group
+    child = 'child', // this is a group child that is activated because its containing group is activated
+    inactive = 'inactive', // this is a group child but it is not active
+}
 /// Ugh, typescript has no run-time way of iterating through the keys of an interface.  so we need
 /// manaully keep this list of keys in synch wih the fields of the freeFormProps interface
 const freeFormPropsKeys = ['x', 'y', 'z', 'zIndex', 'rotation', 'opacity', 'backgroundColor', 'color', 'highlight', 'width', 'height', 'autoDim', 'transition'];
@@ -274,7 +279,9 @@ export class CollectionFreeFormDocumentView extends DocComponent<CollectionFreeF
         if (this._props.isAnyChildContentActive()) return undefined;
         const backColor = this.BackgroundColor;
         const isGroup = this.dataDoc.isGroup && (!backColor || backColor === 'transparent');
-        return isGroup ? (this._props.isDocumentActive?.() ? 'group' : this._props.isGroupActive?.() ? 'child' : 'inactive') : this._props.isGroupActive?.() ? 'child' : undefined;
+        return isGroup ? (this._props.isDocumentActive?.() ? GroupActive.group : 
+                          this._props.isGroupActive?.() ? GroupActive.child : GroupActive.inactive) : 
+               this._props.isGroupActive?.() ? GroupActive.child : undefined; // prettier-ignore
     };
     localRotation = () => this._props.rotation;
     render() {
-- 
cgit v1.2.3-70-g09d2

