From 01ef278b60020d4dafc8f7a217d6de0bf2b3bf89 Mon Sep 17 00:00:00 2001
From: bobzel <zzzman@gmail.com>
Date: Thu, 23 Mar 2023 20:18:22 -0400
Subject: fixed schema view to not let its contents be active
 (selectable/draggable) unless schema itself is active.

---
 .../collectionSchema/CollectionSchemaView.tsx            | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

(limited to 'src/client/views/collections/collectionSchema/CollectionSchemaView.tsx')

diff --git a/src/client/views/collections/collectionSchema/CollectionSchemaView.tsx b/src/client/views/collections/collectionSchema/CollectionSchemaView.tsx
index 28e0b07a4..a5f5ca2ae 100644
--- a/src/client/views/collections/collectionSchema/CollectionSchemaView.tsx
+++ b/src/client/views/collections/collectionSchema/CollectionSchemaView.tsx
@@ -881,6 +881,10 @@ export class CollectionSchemaView extends CollectionSubView() {
         );
     }
 
+    tableWidthFunc = () => this.tableWidth;
+    rowHeightFunc = () => CollectionSchemaView._rowHeight;
+    rowClickScriptFunc = () => this.rowOnClickScript;
+    isContentActive = () => this.props.isSelected() || this.props.isContentActive();
     render() {
         return (
             <div
@@ -892,6 +896,9 @@ export class CollectionSchemaView extends CollectionSubView() {
                 onDrop={this.onExternalDrop.bind(this)}>
                 <div
                     className="schema-table"
+                    style={{
+                        pointerEvents: this.isContentActive() ? 'all' : 'none',
+                    }}
                     onPointerDown={action(() => {
                         this.clearSelection();
                     })}>
@@ -941,8 +948,8 @@ export class CollectionSchemaView extends CollectionSubView() {
                                         DataDoc={dataDoc}
                                         ContainingCollectionView={this.props.CollectionView}
                                         ContainingCollectionDoc={this.Document}
-                                        PanelWidth={() => this.tableWidth}
-                                        PanelHeight={() => CollectionSchemaView._rowHeight}
+                                        PanelWidth={this.tableWidthFunc}
+                                        PanelHeight={this.rowHeightFunc}
                                         styleProvider={DefaultStyleProvider}
                                         focus={this.focusDocument}
                                         docFilters={this.childDocFilters}
@@ -951,13 +958,14 @@ export class CollectionSchemaView extends CollectionSubView() {
                                         rootSelected={this.rootSelected}
                                         ScreenToLocalTransform={Transform.Identity}
                                         bringToFront={emptyFunction}
-                                        isContentActive={this.isChildContentActive}
+                                        isDocumentActive={this.isContentActive}
+                                        isContentActive={emptyFunction}
                                         hideDecorations={true}
                                         hideTitle={true}
                                         hideDocumentButtonBar={true}
                                         hideLinkAnchors={true}
                                         fitWidth={returnTrue}
-                                        onClick={() => this.rowOnClickScript}
+                                        onClick={this.rowClickScriptFunc}
                                         scriptContext={this}
                                     />
                                 </div>
-- 
cgit v1.2.3-70-g09d2

