diff options
author | Tyler Schicke <tyler_schicke@brown.edu> | 2019-04-03 20:12:06 -0400 |
---|---|---|
committer | Tyler Schicke <tyler_schicke@brown.edu> | 2019-04-03 20:12:06 -0400 |
commit | c10b9ca57e13c8de8b35f01e6c6ce82706319e4d (patch) | |
tree | 8309da408515969da55846b38a60aad724a30728 /src/client/util/SelectionManager.ts | |
parent | 5889bf159ee0a0f6567683b2bb8c2475feccf9ec (diff) | |
parent | c406c8d123ce0aa9d63fb8a4dd90adfe83d2889d (diff) |
Merge and it compiles
Diffstat (limited to 'src/client/util/SelectionManager.ts')
-rw-r--r-- | src/client/util/SelectionManager.ts | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/client/util/SelectionManager.ts b/src/client/util/SelectionManager.ts index 6d6ae26fc..05810b61c 100644 --- a/src/client/util/SelectionManager.ts +++ b/src/client/util/SelectionManager.ts @@ -11,13 +11,20 @@ export namespace SelectionManager { SelectDoc(doc: DocumentView, ctrlPressed: boolean): void { // if doc is not in SelectedDocuments, add it if (!ctrlPressed) { - manager.SelectedDocuments = []; + this.DeselectAll(); } if (manager.SelectedDocuments.indexOf(doc) === -1) { manager.SelectedDocuments.push(doc) + doc.props.onActiveChanged(true); } } + + @action + DeselectAll(): void { + manager.SelectedDocuments.map(dv => dv.props.onActiveChanged(false)) + manager.SelectedDocuments = []; + } } const manager = new Manager; @@ -39,7 +46,10 @@ export namespace SelectionManager { found = view; } } - manager.SelectedDocuments.length = 0; + + manager.DeselectAll() + if (found) + manager.SelectDoc(found, false); } export function SelectedDocuments(): Array<DocumentView> { |