diff options
Diffstat (limited to 'src/client/views/collections/collectionSchema/CollectionSchemaView.tsx')
| -rw-r--r-- | src/client/views/collections/collectionSchema/CollectionSchemaView.tsx | 28 |
1 files changed, 12 insertions, 16 deletions
diff --git a/src/client/views/collections/collectionSchema/CollectionSchemaView.tsx b/src/client/views/collections/collectionSchema/CollectionSchemaView.tsx index 631ad7132..96d7627a3 100644 --- a/src/client/views/collections/collectionSchema/CollectionSchemaView.tsx +++ b/src/client/views/collections/collectionSchema/CollectionSchemaView.tsx @@ -200,7 +200,8 @@ export class CollectionSchemaView extends CollectionSubView() { } else { const shift: boolean = e.shiftKey; - this.selectCell(newDoc, this._selectedCol, shift); + const ctrl: boolean = e.ctrlKey; + this.selectCell(newDoc, this._selectedCol, shift, ctrl); this.scrollToDoc(newDoc, {}); } } @@ -220,8 +221,8 @@ export class CollectionSchemaView extends CollectionSubView() { this.deselectCell(curDoc); } else { const shift: boolean = e.shiftKey; - - this.selectCell(newDoc, this._selectedCol, shift); + const ctrl: boolean = e.ctrlKey; + this.selectCell(newDoc, this._selectedCol, shift, ctrl); this.scrollToDoc(newDoc, {}); } } @@ -233,14 +234,14 @@ export class CollectionSchemaView extends CollectionSubView() { if (this._selectedCells) { ++this._selectedCol; } else if (this._selectedDocs.length > 0) { - this.selectCell(this._selectedDocs[0], 0, false); + this.selectCell(this._selectedDocs[0], 0, false, false); } break; case 'ArrowLeft': if (this._selectedCells) { --this._selectedCol; } else if (this._selectedDocs.length > 0) { - this.selectCell(this._selectedDocs[0], 0, false); + this.selectCell(this._selectedDocs[0], 0, false, false); } break; case 'Backspace': { @@ -449,8 +450,9 @@ export class CollectionSchemaView extends CollectionSubView() { }; @action - selectCell = (doc: Doc, index: number, shiftKey: boolean) => { - !shiftKey && this.clearSelection(); + selectCell = (doc: Doc, index: number, shiftKey: boolean, ctrlKey: boolean) => { + console.log(ctrlKey); + (!shiftKey && !ctrlKey) && this.clearSelection(); !this._selectedCells && (this._selectedCells = []); this._selectedCells.push(doc); this._selectedCol = index; @@ -458,21 +460,15 @@ export class CollectionSchemaView extends CollectionSubView() { if (!this) return; const lastSelected = Array.from(this._selectedDocs).lastElement(); if (shiftKey && lastSelected) this.selectRows(doc, lastSelected); - else { - this.addDocToSelection(doc, false, this.rowIndex(doc)); - } - - let selectedIndexes: Array<Number> = this._selectedCells.map(doc => this.rowIndex(doc)); - + else if (ctrlKey) {this.addDocToSelection(doc, true, this.rowIndex(doc)); console.log("2")} + else this.addDocToSelection(doc, false, this.rowIndex(doc)); + }; @action deselectCell = (doc: Doc) => { if (this._selectedCells) this._selectedCells = this._selectedCells.filter(d => d !== doc); - if (this._selectedCells){ - let selectedIndexes: Array<Number> = this._selectedCells.map(doc => this.rowIndex(doc)); - } }; @action |
