MCPcopy Create free account
hub / github.com/anvaka/pm / windowCollectionModel

Function windowCollectionModel

src/galaxy/windows/windowCollectionModel.js:6–46  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

4export default windowCollectionModel();
5
6function windowCollectionModel() {
7
8 appEvents.showNodeListWindow.on(showWindow);
9 appEvents.hideNodeListWindow.on(hideWindow);
10
11 var api = {
12 getWindows: getWindows
13 };
14
15 var registeredWindows = Object.create(null);
16 var allWindows = [];
17
18 eventify(api);
19
20 return api;
21
22 function getWindows() {
23 return allWindows;
24 }
25
26 function showWindow(viewModel, windowId) {
27 var windowIndex = registeredWindows[windowId];
28 if (windowIndex === undefined) {
29 allWindows.push(viewModel);
30 windowIndex = registeredWindows[windowId] = allWindows.length - 1;
31 } else {
32 allWindows[windowIndex] = viewModel;
33 }
34 api.fire('changed');
35 }
36
37 function hideWindow(windowId) {
38 var windowIndex = registeredWindows[windowId];
39 if (windowIndex !== undefined) {
40 delete registeredWindows[windowId];
41 allWindows.splice(windowIndex, 1);
42
43 api.fire('changed', windowIndex);
44 }
45 }
46}

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected