aboutsummaryrefslogtreecommitdiff
path: root/src/client/util/SelectionManager.ts
diff options
context:
space:
mode:
authorbob <bcz@cs.brown.edu>2019-04-04 14:13:29 -0400
committerbob <bcz@cs.brown.edu>2019-04-04 14:13:29 -0400
commitb78aff5115862cbfa5e704422cb738aa7fd73c64 (patch)
treeb6610e3f6b39ad3d1477e4c6503981b4a66ddf94 /src/client/util/SelectionManager.ts
parent52dade42e61a1d147bf43ece7f2b1d7b3d7b6b6a (diff)
fixed a number of smaller issues related to linking
Diffstat (limited to 'src/client/util/SelectionManager.ts')
-rw-r--r--src/client/util/SelectionManager.ts74
1 files changed, 36 insertions, 38 deletions
diff --git a/src/client/util/SelectionManager.ts b/src/client/util/SelectionManager.ts
index 438659108..958c14491 100644
--- a/src/client/util/SelectionManager.ts
+++ b/src/client/util/SelectionManager.ts
@@ -3,48 +3,46 @@ import { DocumentView } from "../views/nodes/DocumentView";
import { Document } from "../../fields/Document";
export namespace SelectionManager {
- class Manager {
- @observable
- SelectedDocuments: Array<DocumentView> = [];
-
- @action
- SelectDoc(doc: DocumentView, ctrlPressed: boolean): void {
- // if doc is not in SelectedDocuments, add it
- if (!ctrlPressed) {
- manager.SelectedDocuments = [];
- }
-
- if (manager.SelectedDocuments.indexOf(doc) === -1) {
- manager.SelectedDocuments.push(doc);
- }
+ class Manager {
+ @observable
+ SelectedDocuments: Array<DocumentView> = [];
+
+ @action
+ SelectDoc(doc: DocumentView, ctrlPressed: boolean): void {
+ // if doc is not in SelectedDocuments, add it
+ if (!ctrlPressed) {
+ manager.SelectedDocuments = [];
+ }
+
+ if (manager.SelectedDocuments.indexOf(doc) === -1) {
+ manager.SelectedDocuments.push(doc);
+ }
+ }
}
- }
- const manager = new Manager();
+ const manager = new Manager();
- export function SelectDoc(doc: DocumentView, ctrlPressed: boolean): void {
- if (!doc.isMinimized()) {
- manager.SelectDoc(doc, ctrlPressed);
+ export function SelectDoc(doc: DocumentView, ctrlPressed: boolean): void {
+ manager.SelectDoc(doc, ctrlPressed);
}
- }
-
- export function IsSelected(doc: DocumentView): boolean {
- return manager.SelectedDocuments.indexOf(doc) !== -1;
- }
-
- 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;
- }
+
+ export function IsSelected(doc: DocumentView): boolean {
+ return manager.SelectedDocuments.indexOf(doc) !== -1;
+ }
+
+ 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;
+ }
+ }
+ manager.SelectedDocuments.length = 0;
+ if (found) manager.SelectedDocuments.push(found);
}
- manager.SelectedDocuments.length = 0;
- if (found) manager.SelectedDocuments.push(found);
- }
- export function SelectedDocuments(): Array<DocumentView> {
- return manager.SelectedDocuments;
- }
+ export function SelectedDocuments(): Array<DocumentView> {
+ return manager.SelectedDocuments;
+ }
}