diff options
author | Bob Zeleznik <zzzman@gmail.com> | 2019-04-09 08:53:24 -0400 |
---|---|---|
committer | Bob Zeleznik <zzzman@gmail.com> | 2019-04-09 08:53:24 -0400 |
commit | 37763de22835e3a4a7ad995eb089d23054109c3d (patch) | |
tree | b84bb1453328b3158a0473fc53126846c0b061ac /src/client/util/SelectionManager.ts | |
parent | 78e098c4ecb95b90482e7d27fd82fb857de96bb4 (diff) | |
parent | cf86d1b7917f0317af550293344f784a341bd7b9 (diff) |
Merge branch 'master' of https://github.com/browngraphicslab/Dash-Web
Diffstat (limited to 'src/client/util/SelectionManager.ts')
-rw-r--r-- | src/client/util/SelectionManager.ts | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/src/client/util/SelectionManager.ts b/src/client/util/SelectionManager.ts index 79d4ceb25..5ddaafc72 100644 --- a/src/client/util/SelectionManager.ts +++ b/src/client/util/SelectionManager.ts @@ -12,13 +12,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(); @@ -34,13 +41,13 @@ export namespace SelectionManager { export function DeselectAll(except?: Document): void { let found: DocumentView | undefined = undefined; if (except) { - for (let i = 0; i < manager.SelectedDocuments.length; i++) { - let view = manager.SelectedDocuments[i]; - if (view.props.Document == except) found = view; + for (const view of manager.SelectedDocuments) { + if (view.props.Document === except) found = view; } } - manager.SelectedDocuments.length = 0; - if (found) manager.SelectedDocuments.push(found); + + manager.DeselectAll(); + if (found) manager.SelectDoc(found, false); Main.Instance.SetTextDoc(undefined, undefined); } |