goblin-desktop 2.0.21 → 2.0.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.editorconfig +9 -9
- package/.eslintrc.js +28 -28
- package/.zou-flow +3 -3
- package/README.md +108 -108
- package/builders/builders.js +3 -3
- package/builders/wizard.js +457 -457
- package/contexts.js +13 -13
- package/desktop-manager.js +10 -10
- package/desktop-window.js +13 -13
- package/desktop.js +13 -13
- package/lib/service.js +137 -137
- package/package.json +36 -36
- package/password-wizard.js +13 -13
- package/quest-run-wizard.js +13 -13
- package/taskbar.js +13 -13
- package/widgets/audio/sfx.js +177 -177
- package/widgets/board/view.js +37 -37
- package/widgets/board/widget.js +65 -65
- package/widgets/contexts/logic-handlers.js +36 -36
- package/widgets/contexts/service.js +40 -40
- package/widgets/contexts/view.js +22 -22
- package/widgets/contexts/widget.js +147 -147
- package/widgets/datagrid/datagrid-entity.js +82 -82
- package/widgets/datagrid/datagrid-headers.js +272 -272
- package/widgets/datagrid/styles.js +13 -13
- package/widgets/datagrid/widget.js +192 -192
- package/widgets/datagrid-cell/styles.js +52 -52
- package/widgets/datagrid-cell/widget.js +41 -41
- package/widgets/datagrid-item/styles.js +15 -15
- package/widgets/datagrid-item/widget.js +74 -74
- package/widgets/default/view.js +95 -91
- package/widgets/desktop/compensator.js +9 -9
- package/widgets/desktop/logic-handlers.js +237 -237
- package/widgets/desktop/reducer.js +35 -35
- package/widgets/desktop/service.js +828 -828
- package/widgets/desktop/styles.js +28 -28
- package/widgets/desktop/widget.js +175 -175
- package/widgets/desktop-clock/styles.js +69 -69
- package/widgets/desktop-clock/widget.js +387 -387
- package/widgets/desktop-clock-clock/styles.js +56 -56
- package/widgets/desktop-clock-clock/widget.js +96 -96
- package/widgets/desktop-clock-menu/styles.js +129 -129
- package/widgets/desktop-clock-menu/widget.js +63 -63
- package/widgets/desktop-connection-status/reducer.js +15 -15
- package/widgets/desktop-connection-status/styles.js +44 -44
- package/widgets/desktop-connection-status/widget.js +129 -129
- package/widgets/desktop-content/widget.js +68 -68
- package/widgets/desktop-footer/reducer.js +31 -31
- package/widgets/desktop-footer/styles.js +36 -36
- package/widgets/desktop-footer/widget.js +52 -52
- package/widgets/desktop-monitors/styles.js +155 -155
- package/widgets/desktop-monitors/widget.js +272 -272
- package/widgets/desktop-notebook/styles.js +155 -155
- package/widgets/desktop-notebook/widget.js +252 -252
- package/widgets/desktop-notifications/styles.js +147 -147
- package/widgets/desktop-notifications/widget.js +231 -231
- package/widgets/desktop-scale/reducer.js +15 -15
- package/widgets/desktop-scale/styles.js +48 -48
- package/widgets/desktop-scale/widget.js +172 -172
- package/widgets/desktop-state-monitor/styles.js +72 -72
- package/widgets/desktop-state-monitor/widget.js +123 -123
- package/widgets/desktop-taskbar/widget.js +57 -57
- package/widgets/desktop-themes-menu/widget.js +121 -121
- package/widgets/desktop-topbar/widget.js +201 -201
- package/widgets/desktop-window/service.js +56 -56
- package/widgets/desktop-window/styles.js +22 -22
- package/widgets/desktop-window/widget.js +70 -70
- package/widgets/detail/compensator.js +17 -17
- package/widgets/detail/view.js +40 -40
- package/widgets/detail/widget.js +125 -125
- package/widgets/editor/widget.js +84 -80
- package/widgets/entity-alerts/styles.js +77 -77
- package/widgets/entity-alerts/widget.js +328 -328
- package/widgets/entity-list/styles.js +66 -66
- package/widgets/entity-list/view.js +36 -36
- package/widgets/entity-list/widget.js +209 -209
- package/widgets/entity-list-item/widget.js +68 -68
- package/widgets/entity-row/styles.js +105 -105
- package/widgets/entity-row/widget.js +524 -524
- package/widgets/entity-row-button/styles.js +46 -46
- package/widgets/entity-row-button/widget.js +57 -57
- package/widgets/entity-view/reducer.js +20 -20
- package/widgets/entity-view/styles.js +90 -90
- package/widgets/entity-view/widget.js +516 -516
- package/widgets/facet-checkbox/styles.js +17 -17
- package/widgets/facet-checkbox/widget.js +43 -43
- package/widgets/facet-filter/widget.js +94 -94
- package/widgets/facet-filter-add/styles.js +30 -30
- package/widgets/facet-filter-add/widget.js +105 -105
- package/widgets/facet-filter-button/styles.js +74 -74
- package/widgets/facet-filter-button/widget.js +214 -214
- package/widgets/facet-filter-list-dialog/styles.js +59 -59
- package/widgets/facet-filter-list-dialog/widget.js +253 -253
- package/widgets/facet-filter-list-dialog-footer/styles.js +22 -22
- package/widgets/facet-filter-list-dialog-footer/widget.js +105 -105
- package/widgets/facet-filter-range-dialog/styles.js +82 -82
- package/widgets/facet-filter-range-dialog/widget.js +399 -399
- package/widgets/facet-filter-range-dialog-footer/styles.js +22 -22
- package/widgets/facet-filter-range-dialog-footer/widget.js +182 -182
- package/widgets/gamepad/widget.js +75 -75
- package/widgets/helpers/facet-helpers.js +105 -105
- package/widgets/hinter/reducer.js +35 -35
- package/widgets/hinter/styles.js +79 -79
- package/widgets/hinter/view.js +31 -31
- package/widgets/hinter/widget.js +291 -291
- package/widgets/junction/styles.js +22 -22
- package/widgets/junction/widget.js +50 -50
- package/widgets/main-tab-menu/styles.js +17 -17
- package/widgets/main-tab-menu/widget.js +136 -136
- package/widgets/map/view.js +49 -49
- package/widgets/map/widget.js +65 -65
- package/widgets/monitor/reducer.js +15 -15
- package/widgets/monitor/widget.js +66 -66
- package/widgets/navigating-layer/widget.js +25 -25
- package/widgets/notifications-button/widget.js +44 -44
- package/widgets/password-wizard/service.js +53 -53
- package/widgets/password-wizard/ui.js +66 -66
- package/widgets/plugin/reducer.js +19 -19
- package/widgets/plugin/styles.js +294 -294
- package/widgets/plugin/widget.js +637 -636
- package/widgets/quest-run-wizard/service.js +49 -49
- package/widgets/quest-run-wizard/ui.js +25 -25
- package/widgets/search/styles.js +80 -80
- package/widgets/search/widget.js +285 -285
- package/widgets/simple/view.js +29 -29
- package/widgets/status-filters/widget.js +121 -121
- package/widgets/tab/styles.js +16 -16
- package/widgets/tab/widget.js +89 -89
- package/widgets/tab-content/widget.js +35 -35
- package/widgets/tabs/widget.js +48 -48
- package/widgets/taskbar/service.js +99 -99
- package/widgets/taskbar/view.js +24 -24
- package/widgets/taskbar/widget.js +167 -167
- package/widgets/widget-doc-caller/reducer.js +15 -15
- package/widgets/widget-doc-caller/styles.js +20 -20
- package/widgets/widget-doc-caller/widget.js +55 -55
- package/widgets/wizard/widget.js +299 -299
- package/widgets/wizard-buttons/widget.js +111 -107
- package/widgets/workitem/styles.js +281 -281
- package/widgets/workitem/view.js +62 -62
- package/widgets/workitem/widget.js +971 -971
- package/widgets/workitem-dialog/widget.js +86 -86
- package/widgets/workitem-fields/widget.js +63 -63
package/contexts.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Retrieve the list of available commands.
|
|
5
|
-
*
|
|
6
|
-
* @returns {Object} The list and definitions of commands.
|
|
7
|
-
*/
|
|
8
|
-
exports.xcraftCommands = function () {
|
|
9
|
-
return require(`./widgets/${require('path').basename(
|
|
10
|
-
__filename,
|
|
11
|
-
'.js'
|
|
12
|
-
)}/service.js`);
|
|
13
|
-
};
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Retrieve the list of available commands.
|
|
5
|
+
*
|
|
6
|
+
* @returns {Object} The list and definitions of commands.
|
|
7
|
+
*/
|
|
8
|
+
exports.xcraftCommands = function () {
|
|
9
|
+
return require(`./widgets/${require('path').basename(
|
|
10
|
+
__filename,
|
|
11
|
+
'.js'
|
|
12
|
+
)}/service.js`);
|
|
13
|
+
};
|
package/desktop-manager.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Retrieve the list of available commands.
|
|
5
|
-
*
|
|
6
|
-
* @returns {Object} The list and definitions of commands.
|
|
7
|
-
*/
|
|
8
|
-
exports.xcraftCommands = function () {
|
|
9
|
-
return require('./lib/service.js');
|
|
10
|
-
};
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Retrieve the list of available commands.
|
|
5
|
+
*
|
|
6
|
+
* @returns {Object} The list and definitions of commands.
|
|
7
|
+
*/
|
|
8
|
+
exports.xcraftCommands = function () {
|
|
9
|
+
return require('./lib/service.js');
|
|
10
|
+
};
|
package/desktop-window.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Retrieve the list of available commands.
|
|
5
|
-
*
|
|
6
|
-
* @returns {Object} The list and definitions of commands.
|
|
7
|
-
*/
|
|
8
|
-
exports.xcraftCommands = function () {
|
|
9
|
-
return require(`./widgets/${require('path').basename(
|
|
10
|
-
__filename,
|
|
11
|
-
'.js'
|
|
12
|
-
)}/service.js`);
|
|
13
|
-
};
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Retrieve the list of available commands.
|
|
5
|
+
*
|
|
6
|
+
* @returns {Object} The list and definitions of commands.
|
|
7
|
+
*/
|
|
8
|
+
exports.xcraftCommands = function () {
|
|
9
|
+
return require(`./widgets/${require('path').basename(
|
|
10
|
+
__filename,
|
|
11
|
+
'.js'
|
|
12
|
+
)}/service.js`);
|
|
13
|
+
};
|
package/desktop.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Retrieve the list of available commands.
|
|
5
|
-
*
|
|
6
|
-
* @returns {Object} The list and definitions of commands.
|
|
7
|
-
*/
|
|
8
|
-
exports.xcraftCommands = function () {
|
|
9
|
-
return require(`./widgets/${require('path').basename(
|
|
10
|
-
__filename,
|
|
11
|
-
'.js'
|
|
12
|
-
)}/service.js`);
|
|
13
|
-
};
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Retrieve the list of available commands.
|
|
5
|
+
*
|
|
6
|
+
* @returns {Object} The list and definitions of commands.
|
|
7
|
+
*/
|
|
8
|
+
exports.xcraftCommands = function () {
|
|
9
|
+
return require(`./widgets/${require('path').basename(
|
|
10
|
+
__filename,
|
|
11
|
+
'.js'
|
|
12
|
+
)}/service.js`);
|
|
13
|
+
};
|
package/lib/service.js
CHANGED
|
@@ -1,137 +1,137 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const path = require('path');
|
|
4
|
-
const goblinName = path.basename(module.parent.filename, '.js');
|
|
5
|
-
|
|
6
|
-
const T = require('goblin-nabu/widgets/helpers/t.js');
|
|
7
|
-
const Goblin = require('xcraft-core-goblin');
|
|
8
|
-
|
|
9
|
-
// Define initial logic values
|
|
10
|
-
const logicState = {
|
|
11
|
-
id: goblinName,
|
|
12
|
-
serverTick: 0,
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
// Define logic handlers according rc.json
|
|
16
|
-
const logicHandlers = {
|
|
17
|
-
tick: (state) => {
|
|
18
|
-
return state.set('serverTick', Date.now());
|
|
19
|
-
},
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
Goblin.registerQuest(goblinName, 'tick', function (quest) {
|
|
23
|
-
quest.do();
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
Goblin.registerQuest(goblinName, '_createDesktop', function* (
|
|
27
|
-
quest,
|
|
28
|
-
sessionDesktopId,
|
|
29
|
-
clientSessionId,
|
|
30
|
-
labId,
|
|
31
|
-
session,
|
|
32
|
-
username,
|
|
33
|
-
configuration,
|
|
34
|
-
mainGoblin
|
|
35
|
-
) {
|
|
36
|
-
const desk = yield quest.createFor(
|
|
37
|
-
'desktop',
|
|
38
|
-
sessionDesktopId,
|
|
39
|
-
sessionDesktopId,
|
|
40
|
-
{
|
|
41
|
-
id: sessionDesktopId,
|
|
42
|
-
desktopId: sessionDesktopId,
|
|
43
|
-
clientSessionId,
|
|
44
|
-
labId,
|
|
45
|
-
session,
|
|
46
|
-
username,
|
|
47
|
-
configuration,
|
|
48
|
-
mainGoblin,
|
|
49
|
-
}
|
|
50
|
-
);
|
|
51
|
-
|
|
52
|
-
const exSession = quest.goblin.getX(`${sessionDesktopId}.session`);
|
|
53
|
-
if (!exSession) {
|
|
54
|
-
const mainGoblinAPI = quest.getAPI(mainGoblin);
|
|
55
|
-
if (mainGoblinAPI.configureNewDesktopSession) {
|
|
56
|
-
yield mainGoblinAPI.configureNewDesktopSession({
|
|
57
|
-
desktopId: sessionDesktopId,
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
} else {
|
|
61
|
-
yield desk.setLabId({labId});
|
|
62
|
-
yield desk.addNotification({
|
|
63
|
-
notificationId: `userconnected`,
|
|
64
|
-
color: 'green',
|
|
65
|
-
glyph: 'solid/eye',
|
|
66
|
-
message: T('{user} entre dans la session', '', {user: username}),
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
if (configuration && configuration.defaultContextId) {
|
|
71
|
-
yield desk.setNavToDefault({
|
|
72
|
-
defaultContextId: configuration.defaultContextId,
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
Goblin.registerQuest(goblinName, 'open', function* (
|
|
78
|
-
quest,
|
|
79
|
-
clientSessionId,
|
|
80
|
-
labId,
|
|
81
|
-
sessionDesktopId,
|
|
82
|
-
session,
|
|
83
|
-
username,
|
|
84
|
-
mainGoblin,
|
|
85
|
-
configuration,
|
|
86
|
-
next
|
|
87
|
-
) {
|
|
88
|
-
const busClient = require('xcraft-core-busclient').getGlobal();
|
|
89
|
-
|
|
90
|
-
let serverTick = quest.goblin.getState().get('serverTick');
|
|
91
|
-
if (serverTick === 0) {
|
|
92
|
-
quest.dispatch('tick');
|
|
93
|
-
const serverTickInterval = setInterval(() => {
|
|
94
|
-
const resp = busClient.newResponse('desktop-manager', 'token');
|
|
95
|
-
resp.command.nestedSend('desktop-manager.tick');
|
|
96
|
-
}, 60000);
|
|
97
|
-
quest.goblin.defer(() => clearInterval(serverTickInterval));
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
quest.log.dbg(`${username} opening desktop...`);
|
|
101
|
-
|
|
102
|
-
/* CREATE A DESKTOP
|
|
103
|
-
* It uses the global busClient with a dedicated orcName in order to
|
|
104
|
-
* keep ARP entries for multicasting when the portal is going out.
|
|
105
|
-
* If we use the orcName provided by portal, then the entries are
|
|
106
|
-
* removed (linesIds too) when the socket is closed. It's necessary in
|
|
107
|
-
* the case of the desktop because the desktop is the session and the
|
|
108
|
-
* session can lives without portal.
|
|
109
|
-
*/
|
|
110
|
-
const resp = busClient.newResponse('desktop-manager', 'token');
|
|
111
|
-
resp.msgContext = {_goblinUser: quest.user._goblinUser};
|
|
112
|
-
yield resp.command.send(
|
|
113
|
-
`desktop-manager._createDesktop`,
|
|
114
|
-
{
|
|
115
|
-
sessionDesktopId,
|
|
116
|
-
clientSessionId,
|
|
117
|
-
labId,
|
|
118
|
-
session,
|
|
119
|
-
username,
|
|
120
|
-
configuration,
|
|
121
|
-
mainGoblin,
|
|
122
|
-
},
|
|
123
|
-
next
|
|
124
|
-
);
|
|
125
|
-
|
|
126
|
-
quest.log.dbg(`${username} opening desktop...[DONE]`);
|
|
127
|
-
return {desktopId: sessionDesktopId};
|
|
128
|
-
});
|
|
129
|
-
|
|
130
|
-
Goblin.registerQuest(goblinName, 'close', function* (quest, sessionDesktopId) {
|
|
131
|
-
quest.evt(`${sessionDesktopId}.closed`); /* for laboratory cleaning */
|
|
132
|
-
yield quest.warehouse.unsubscribe({feed: sessionDesktopId});
|
|
133
|
-
});
|
|
134
|
-
|
|
135
|
-
module.exports = Goblin.configure(goblinName, logicState, logicHandlers);
|
|
136
|
-
|
|
137
|
-
Goblin.createSingle(goblinName);
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const path = require('path');
|
|
4
|
+
const goblinName = path.basename(module.parent.filename, '.js');
|
|
5
|
+
|
|
6
|
+
const T = require('goblin-nabu/widgets/helpers/t.js');
|
|
7
|
+
const Goblin = require('xcraft-core-goblin');
|
|
8
|
+
|
|
9
|
+
// Define initial logic values
|
|
10
|
+
const logicState = {
|
|
11
|
+
id: goblinName,
|
|
12
|
+
serverTick: 0,
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
// Define logic handlers according rc.json
|
|
16
|
+
const logicHandlers = {
|
|
17
|
+
tick: (state) => {
|
|
18
|
+
return state.set('serverTick', Date.now());
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
Goblin.registerQuest(goblinName, 'tick', function (quest) {
|
|
23
|
+
quest.do();
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
Goblin.registerQuest(goblinName, '_createDesktop', function* (
|
|
27
|
+
quest,
|
|
28
|
+
sessionDesktopId,
|
|
29
|
+
clientSessionId,
|
|
30
|
+
labId,
|
|
31
|
+
session,
|
|
32
|
+
username,
|
|
33
|
+
configuration,
|
|
34
|
+
mainGoblin
|
|
35
|
+
) {
|
|
36
|
+
const desk = yield quest.createFor(
|
|
37
|
+
'desktop',
|
|
38
|
+
sessionDesktopId,
|
|
39
|
+
sessionDesktopId,
|
|
40
|
+
{
|
|
41
|
+
id: sessionDesktopId,
|
|
42
|
+
desktopId: sessionDesktopId,
|
|
43
|
+
clientSessionId,
|
|
44
|
+
labId,
|
|
45
|
+
session,
|
|
46
|
+
username,
|
|
47
|
+
configuration,
|
|
48
|
+
mainGoblin,
|
|
49
|
+
}
|
|
50
|
+
);
|
|
51
|
+
|
|
52
|
+
const exSession = quest.goblin.getX(`${sessionDesktopId}.session`);
|
|
53
|
+
if (!exSession) {
|
|
54
|
+
const mainGoblinAPI = quest.getAPI(mainGoblin);
|
|
55
|
+
if (mainGoblinAPI.configureNewDesktopSession) {
|
|
56
|
+
yield mainGoblinAPI.configureNewDesktopSession({
|
|
57
|
+
desktopId: sessionDesktopId,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
} else {
|
|
61
|
+
yield desk.setLabId({labId});
|
|
62
|
+
yield desk.addNotification({
|
|
63
|
+
notificationId: `userconnected`,
|
|
64
|
+
color: 'green',
|
|
65
|
+
glyph: 'solid/eye',
|
|
66
|
+
message: T('{user} entre dans la session', '', {user: username}),
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
if (configuration && configuration.defaultContextId) {
|
|
71
|
+
yield desk.setNavToDefault({
|
|
72
|
+
defaultContextId: configuration.defaultContextId,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
Goblin.registerQuest(goblinName, 'open', function* (
|
|
78
|
+
quest,
|
|
79
|
+
clientSessionId,
|
|
80
|
+
labId,
|
|
81
|
+
sessionDesktopId,
|
|
82
|
+
session,
|
|
83
|
+
username,
|
|
84
|
+
mainGoblin,
|
|
85
|
+
configuration,
|
|
86
|
+
next
|
|
87
|
+
) {
|
|
88
|
+
const busClient = require('xcraft-core-busclient').getGlobal();
|
|
89
|
+
|
|
90
|
+
let serverTick = quest.goblin.getState().get('serverTick');
|
|
91
|
+
if (serverTick === 0) {
|
|
92
|
+
quest.dispatch('tick');
|
|
93
|
+
const serverTickInterval = setInterval(() => {
|
|
94
|
+
const resp = busClient.newResponse('desktop-manager', 'token');
|
|
95
|
+
resp.command.nestedSend('desktop-manager.tick');
|
|
96
|
+
}, 60000);
|
|
97
|
+
quest.goblin.defer(() => clearInterval(serverTickInterval));
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
quest.log.dbg(`${username} opening desktop...`);
|
|
101
|
+
|
|
102
|
+
/* CREATE A DESKTOP
|
|
103
|
+
* It uses the global busClient with a dedicated orcName in order to
|
|
104
|
+
* keep ARP entries for multicasting when the portal is going out.
|
|
105
|
+
* If we use the orcName provided by portal, then the entries are
|
|
106
|
+
* removed (linesIds too) when the socket is closed. It's necessary in
|
|
107
|
+
* the case of the desktop because the desktop is the session and the
|
|
108
|
+
* session can lives without portal.
|
|
109
|
+
*/
|
|
110
|
+
const resp = busClient.newResponse('desktop-manager', 'token');
|
|
111
|
+
resp.msgContext = {_goblinUser: quest.user._goblinUser};
|
|
112
|
+
yield resp.command.send(
|
|
113
|
+
`desktop-manager._createDesktop`,
|
|
114
|
+
{
|
|
115
|
+
sessionDesktopId,
|
|
116
|
+
clientSessionId,
|
|
117
|
+
labId,
|
|
118
|
+
session,
|
|
119
|
+
username,
|
|
120
|
+
configuration,
|
|
121
|
+
mainGoblin,
|
|
122
|
+
},
|
|
123
|
+
next
|
|
124
|
+
);
|
|
125
|
+
|
|
126
|
+
quest.log.dbg(`${username} opening desktop...[DONE]`);
|
|
127
|
+
return {desktopId: sessionDesktopId};
|
|
128
|
+
});
|
|
129
|
+
|
|
130
|
+
Goblin.registerQuest(goblinName, 'close', function* (quest, sessionDesktopId) {
|
|
131
|
+
quest.evt(`${sessionDesktopId}.closed`); /* for laboratory cleaning */
|
|
132
|
+
yield quest.warehouse.unsubscribe({feed: sessionDesktopId});
|
|
133
|
+
});
|
|
134
|
+
|
|
135
|
+
module.exports = Goblin.configure(goblinName, logicState, logicHandlers);
|
|
136
|
+
|
|
137
|
+
Goblin.createSingle(goblinName);
|
package/package.json
CHANGED
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "goblin-desktop",
|
|
3
|
-
"version": "2.0.
|
|
4
|
-
"description": "Goblin Desktop",
|
|
5
|
-
"main": "./builders/builders.js",
|
|
6
|
-
"scripts": {
|
|
7
|
-
"test": "echo \"Error: no test specified\" && exit 1"
|
|
8
|
-
},
|
|
9
|
-
"author": "",
|
|
10
|
-
"license": "MIT",
|
|
11
|
-
"config": {
|
|
12
|
-
"xcraft": {
|
|
13
|
-
"commands": true
|
|
14
|
-
}
|
|
15
|
-
},
|
|
16
|
-
"dependencies": {
|
|
17
|
-
"goblin-theme": "^2.0.0",
|
|
18
|
-
"immutable": "4.0.0-rc.14",
|
|
19
|
-
"uuid": "^8.3.2",
|
|
20
|
-
"xcraft-core-goblin": "^5.0.0",
|
|
21
|
-
"xcraft-core-shredder": "^5.0.0",
|
|
22
|
-
"xcraft-core-utils": "^4.0.0"
|
|
23
|
-
},
|
|
24
|
-
"devDependencies": {
|
|
25
|
-
"prettier": "2.0.4",
|
|
26
|
-
"prop-types": "^15.5.10",
|
|
27
|
-
"mousetrap": "^1.6.1",
|
|
28
|
-
"react": "^17.0.1",
|
|
29
|
-
"react-dom": "^17.0.1",
|
|
30
|
-
"@fortawesome/react-fontawesome": "^0.1.9",
|
|
31
|
-
"scroll-into-view-if-needed": "^1.4.0",
|
|
32
|
-
"xcraft-dev-prettier": "^2.0.0",
|
|
33
|
-
"xcraft-dev-rules": "^2.0.0"
|
|
34
|
-
},
|
|
35
|
-
"prettier": "xcraft-dev-prettier"
|
|
36
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "goblin-desktop",
|
|
3
|
+
"version": "2.0.24",
|
|
4
|
+
"description": "Goblin Desktop",
|
|
5
|
+
"main": "./builders/builders.js",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"test": "echo \"Error: no test specified\" && exit 1"
|
|
8
|
+
},
|
|
9
|
+
"author": "",
|
|
10
|
+
"license": "MIT",
|
|
11
|
+
"config": {
|
|
12
|
+
"xcraft": {
|
|
13
|
+
"commands": true
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"dependencies": {
|
|
17
|
+
"goblin-theme": "^2.0.0",
|
|
18
|
+
"immutable": "4.0.0-rc.14",
|
|
19
|
+
"uuid": "^8.3.2",
|
|
20
|
+
"xcraft-core-goblin": "^5.0.0",
|
|
21
|
+
"xcraft-core-shredder": "^5.0.0",
|
|
22
|
+
"xcraft-core-utils": "^4.0.0"
|
|
23
|
+
},
|
|
24
|
+
"devDependencies": {
|
|
25
|
+
"prettier": "2.0.4",
|
|
26
|
+
"prop-types": "^15.5.10",
|
|
27
|
+
"mousetrap": "^1.6.1",
|
|
28
|
+
"react": "^17.0.1",
|
|
29
|
+
"react-dom": "^17.0.1",
|
|
30
|
+
"@fortawesome/react-fontawesome": "^0.1.9",
|
|
31
|
+
"scroll-into-view-if-needed": "^1.4.0",
|
|
32
|
+
"xcraft-dev-prettier": "^2.0.0",
|
|
33
|
+
"xcraft-dev-rules": "^2.0.0"
|
|
34
|
+
},
|
|
35
|
+
"prettier": "xcraft-dev-prettier"
|
|
36
|
+
}
|
package/password-wizard.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Retrieve the list of available commands.
|
|
5
|
-
*
|
|
6
|
-
* @returns {Object} The list and definitions of commands.
|
|
7
|
-
*/
|
|
8
|
-
exports.xcraftCommands = function () {
|
|
9
|
-
return require(`./widgets/${require('path').basename(
|
|
10
|
-
__filename,
|
|
11
|
-
'.js'
|
|
12
|
-
)}/service.js`);
|
|
13
|
-
};
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Retrieve the list of available commands.
|
|
5
|
+
*
|
|
6
|
+
* @returns {Object} The list and definitions of commands.
|
|
7
|
+
*/
|
|
8
|
+
exports.xcraftCommands = function () {
|
|
9
|
+
return require(`./widgets/${require('path').basename(
|
|
10
|
+
__filename,
|
|
11
|
+
'.js'
|
|
12
|
+
)}/service.js`);
|
|
13
|
+
};
|
package/quest-run-wizard.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Retrieve the list of available commands.
|
|
5
|
-
*
|
|
6
|
-
* @returns {Object} The list and definitions of commands.
|
|
7
|
-
*/
|
|
8
|
-
exports.xcraftCommands = function () {
|
|
9
|
-
return require(`./widgets/${require('path').basename(
|
|
10
|
-
__filename,
|
|
11
|
-
'.js'
|
|
12
|
-
)}/service.js`);
|
|
13
|
-
};
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Retrieve the list of available commands.
|
|
5
|
+
*
|
|
6
|
+
* @returns {Object} The list and definitions of commands.
|
|
7
|
+
*/
|
|
8
|
+
exports.xcraftCommands = function () {
|
|
9
|
+
return require(`./widgets/${require('path').basename(
|
|
10
|
+
__filename,
|
|
11
|
+
'.js'
|
|
12
|
+
)}/service.js`);
|
|
13
|
+
};
|
package/taskbar.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Retrieve the list of available commands.
|
|
5
|
-
*
|
|
6
|
-
* @returns {Object} The list and definitions of commands.
|
|
7
|
-
*/
|
|
8
|
-
exports.xcraftCommands = function () {
|
|
9
|
-
return require(`./widgets/${require('path').basename(
|
|
10
|
-
__filename,
|
|
11
|
-
'.js'
|
|
12
|
-
)}/service.js`);
|
|
13
|
-
};
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Retrieve the list of available commands.
|
|
5
|
+
*
|
|
6
|
+
* @returns {Object} The list and definitions of commands.
|
|
7
|
+
*/
|
|
8
|
+
exports.xcraftCommands = function () {
|
|
9
|
+
return require(`./widgets/${require('path').basename(
|
|
10
|
+
__filename,
|
|
11
|
+
'.js'
|
|
12
|
+
)}/service.js`);
|
|
13
|
+
};
|