bfg-common 1.5.512 → 1.5.513

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.
Files changed (128) hide show
  1. package/CODE_STYLE.md +109 -109
  2. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  3. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  4. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  5. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  6. package/assets/localization/local_be.json +1 -1
  7. package/assets/localization/local_en.json +1 -1
  8. package/assets/localization/local_hy.json +1 -1
  9. package/assets/localization/local_kk.json +1 -1
  10. package/assets/localization/local_ru.json +1 -1
  11. package/assets/localization/local_zh.json +1 -1
  12. package/components/atoms/TheIcon3.vue +50 -50
  13. package/components/atoms/collapse/CollapseNav.vue +170 -170
  14. package/components/atoms/perPage/PerPage.vue +58 -58
  15. package/components/atoms/table/dataGrid/DataGridPagination.vue +97 -97
  16. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  17. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  18. package/components/atoms/table/info/lib/models/interfaces.ts +1 -0
  19. package/components/common/backup/storage/actions/add/Add.vue +251 -251
  20. package/components/common/backup/storage/actions/add/lib/utils.ts +51 -51
  21. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  22. package/components/common/browse/blocks/lib/models/types.ts +1 -1
  23. package/components/common/browse/lib/models/interfaces.ts +5 -5
  24. package/components/common/countdownTimer/CountdownTimer.vue +11 -4
  25. package/components/common/countdownTimer/CountdownTimerNew.vue +13 -5
  26. package/components/common/diagramMain/network/Contents.vue +497 -497
  27. package/components/common/layout/theHeader/helpMenu/About.vue +79 -79
  28. package/components/common/layout/theHeader/helpMenu/aboutOld/AboutOld.vue +79 -79
  29. package/components/common/layout/theHeader/modals/reconnect/ReconnectNew.vue +1 -0
  30. package/components/common/pages/backups/DetailView.vue +52 -52
  31. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  32. package/components/common/pages/backups/modals/Modals.vue +243 -243
  33. package/components/common/pages/backups/modals/createBackup/configuration/Configuration.vue +29 -29
  34. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  35. package/components/common/pages/backups/modals/createBackup/datastores/tableView/TableView.vue +95 -95
  36. package/components/common/pages/backups/modals/createBackup/general/General.vue +141 -141
  37. package/components/common/pages/backups/modals/createBackup/lib/config/strategyOptions.ts +12 -12
  38. package/components/common/pages/backups/modals/lib/config/restore.ts +115 -115
  39. package/components/common/pages/backups/modals/lib/models/interfaces.ts +186 -186
  40. package/components/common/pages/backups/modals/restore/disks/Disks.vue +27 -27
  41. package/components/common/pages/backups/modals/restore/disks/tableView/lib/config/table.ts +117 -117
  42. package/components/common/pages/backups/modals/restore/name/Name.vue +166 -166
  43. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  44. package/components/common/pages/backups/modals/restore/networks/Networks.vue +67 -67
  45. package/components/common/pages/backups/modals/restore/networks/table/Table.vue +214 -214
  46. package/components/common/pages/backups/modals/restore/types/lib/config/typeOptions.ts +25 -25
  47. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  48. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  49. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  50. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  51. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  52. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  53. package/components/common/readyToComplete/New.vue +9 -0
  54. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  55. package/components/common/select/radio/RadioGroup.vue +137 -137
  56. package/components/common/spiceConsole/Drawer.vue +420 -392
  57. package/components/common/spiceConsole/SpiceConsole.vue +184 -184
  58. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  59. package/components/common/spiceConsole/lib/models/types.ts +1 -0
  60. package/components/common/tools/Actions.vue +207 -207
  61. package/components/common/treeView/TreeView.vue +52 -52
  62. package/components/common/vm/actions/add/Add.vue +895 -895
  63. package/components/common/vm/actions/add/New.vue +695 -695
  64. package/components/common/vm/actions/add/Old.vue +414 -414
  65. package/components/common/vm/actions/add/lib/config/steps.ts +347 -347
  66. package/components/common/vm/actions/clone/Clone.vue +863 -863
  67. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +368 -368
  68. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  69. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  70. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +154 -154
  71. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/Table.vue +99 -99
  72. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  73. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  75. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +53 -53
  76. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +32 -32
  77. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +60 -60
  78. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +174 -174
  79. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  80. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  81. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  82. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  83. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +143 -143
  84. package/components/common/vm/actions/common/select/computeResource/New.vue +184 -184
  85. package/components/common/vm/actions/common/select/computeResource/treeView/TreeView.vue +131 -131
  86. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  87. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  88. package/components/common/vm/actions/common/select/os/Old.vue +152 -152
  89. package/components/common/vm/actions/common/select/os/Os.vue +139 -139
  90. package/components/common/vm/actions/common/select/storage/new/New.vue +320 -320
  91. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  92. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  93. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  94. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  95. package/components/common/vm/actions/register/Register.vue +285 -285
  96. package/components/common/vm/actions/register/lib/config/steps.ts +86 -86
  97. package/components/common/wizards/common/steps/name/Name.vue +179 -179
  98. package/components/common/wizards/common/steps/name/New.vue +221 -221
  99. package/components/common/wizards/common/steps/name/Old.vue +121 -121
  100. package/components/common/wizards/common/steps/name/lib/models/interfaces.ts +4 -4
  101. package/components/common/wizards/common/steps/name/location/Location.vue +85 -85
  102. package/components/common/wizards/common/steps/name/location/New.vue +40 -40
  103. package/components/common/wizards/datastore/add/Add.vue +228 -228
  104. package/components/common/wizards/datastore/add/lib/utils.ts +85 -85
  105. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  106. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  107. package/composables/useAppVersion.ts +21 -21
  108. package/composables/useLocal.ts +6 -6
  109. package/composables/useLocalCommon.ts +39 -39
  110. package/package.json +1 -1
  111. package/plugins/console.ts +21 -22
  112. package/plugins/date.ts +233 -233
  113. package/plugins/mouse.ts +21 -0
  114. package/plugins/panelStates.ts +70 -70
  115. package/plugins/text.ts +59 -59
  116. package/public/spice-console/application/clientgui.js +854 -849
  117. package/public/spice-console/application/packetfactory.js +211 -206
  118. package/public/spice-console/application/virtualmouse.js +146 -109
  119. package/public/spice-console/lib/images/bitmap.js +203 -203
  120. package/public/spice-console/network/spicechannel.js +440 -440
  121. package/public/spice-console/process/cursorprocess.js +121 -111
  122. package/public/spice-console/process/inputprocess.js +227 -203
  123. package/public/spice-console/process/mainprocess.js +210 -78
  124. package/public/spice-console/run.js +210 -210
  125. package/public/spice-console/spiceobjects/spiceobjects.js +49 -28
  126. package/public/spice-console-minify/run.min.js +1 -1
  127. package/store/main/mutations.ts +7 -7
  128. package/store/main/state.ts +7 -7
@@ -1,210 +1,210 @@
1
- const getURLParameter = (parameter) => {
2
- const regex = new RegExp(`${parameter}=([^&]+)`)
3
- const match = regex.exec(window.location.pathname)
4
- return match && match[1]
5
- }
6
-
7
- let vmHost = window.location.hostname
8
- if (vmHost === 'localhost') {
9
- vmHost = '10.10.101.107' // Для разработки
10
- }
11
- const vmId = getURLParameter('id')
12
- const vmPort = window.config.public.PORT
13
-
14
- window.app = new Application({
15
- supportHighDPI: false,
16
- })
17
-
18
- // Custom code
19
- let vmWidth = -1
20
- let vmHeight = -1
21
- window.addEventListener('resize', () => {
22
- if (vmWidth !== -1 && vmHeight !== -1) setVmPosition(vmWidth, vmHeight)
23
- })
24
- const setVmPosition = (width, height) => {
25
- // Делаем выравнивание по центру
26
- vmWidth = width
27
- vmHeight = height
28
- const left = Math.max((window.innerWidth - width) / 2, 0)
29
- const top = Math.max((window.innerHeight - height) / 2, 0)
30
- document.getElementById('canvas_0').style.left = left + 'px'
31
- document.getElementById('eventLayer').style.left = left + 'px'
32
- document.getElementById('canvas_0').style.top = top + 'px'
33
- document.getElementById('eventLayer').style.top = top + 'px'
34
- }
35
- // Custom code end
36
-
37
- function start() {
38
- wdi.graphicDebug = new wdi.GraphicDebug({ debugMode: false })
39
- let cancelReconnection = false
40
- let cancelFreezeTimer, cancelReconnectionTimer
41
-
42
- const handleWindowAction = function (action, params) {
43
- if (action === 'windowClosed') {
44
- $(params.canvas).remove()
45
- $(params.eventLayer).remove()
46
- } else if (action === 'windowMoved') {
47
- $(params.canvas).css({
48
- top: params.info.top + 'px',
49
- left: params.info.left + 'px',
50
- })
51
- $(params.eventLayer).css({
52
- top: params.info.top + 'px',
53
- left: params.info.left + 'px',
54
- })
55
- } else if (action === 'init' || action === 'windowCreated') {
56
- let item = null
57
- let canvas = null
58
- let eventlayer = null
59
- const body = $('body')
60
-
61
- for (let i in params) {
62
- item = params[i]
63
- const position = item.position * 2
64
- canvas = $(item.canvas).css({
65
- zIndex: 10000 - position - 1,
66
- position: 'absolute',
67
- top: item.info.top + 'px',
68
- left: item.info.left + 'px',
69
- })
70
- eventlayer = $(item.eventLayer).css({
71
- top: item.info.top + 'px',
72
- left: item.info.left + 'px',
73
- zIndex: 10000 - position,
74
- })
75
- body.append(canvas)
76
- body.append(eventlayer)
77
- }
78
- } else if (action === 'ready') {
79
- app.setReconnecting(false)
80
- if (cancelReconnectionTimer?.clearTimeout) {
81
- cancelReconnectionTimer()
82
- cancelReconnectionTimer = false
83
- }
84
- const width = $(window).width()
85
- const height = $(window).height()
86
-
87
- app.sendCommand(
88
- 'setResolution',
89
- app.toSpiceResolution({
90
- width: width,
91
- height: height,
92
- })
93
- )
94
- if (wdi.IntegrationBenchmarkEnabled) {
95
- $('#integrationBenchmark').css({ display: 'inline' })
96
- $('#launchWordButton').prop('disabled', false)
97
- }
98
- } else if (action === 'resolution') {
99
- // Делаем выравнивание по центру
100
- const { 0: width, 1: height } = params
101
- setVmPosition(width, height)
102
- } else if (action === 'windowResized') {
103
- // Делаем выравнивание по центру
104
- const { 0: width } = params
105
- const left = (window.innerWidth - width) / 2
106
- if (left >= 0) {
107
- document.getElementById('canvas_0').style.left = left + 'px'
108
- document.getElementById('eventLayer').style.left = left + 'px'
109
- }
110
- } else if (action === 'windowMinimized') {
111
- $(params.canvas).css({ display: 'none' })
112
- $(params.eventLayer).css({ display: 'none' })
113
- } else if (action === 'windowMaximized') {
114
- $(params.canvas).css({
115
- top: params.info.top + 'px',
116
- left: params.info.left + 'px',
117
- })
118
- $(params.eventLayer).css({
119
- top: params.info.top + 'px',
120
- left: params.info.left + 'px',
121
- })
122
- } else if (action === 'windowRestored') {
123
- $(params.canvas).css({ display: 'block' })
124
- $(params.eventLayer).css({ display: 'block' })
125
- $(params.canvas).css({
126
- top: params.info.top + 'px',
127
- left: params.info.left + 'px',
128
- })
129
- $(params.eventLayer).css({
130
- top: params.info.top + 'px',
131
- left: params.info.left + 'px',
132
- })
133
- } else if (action === 'windowFocused') {
134
- //debugger; //eyeos should move the window to front!
135
- } else if (action === 'timeLapseDetected') {
136
- wdi.Debug.log('Detected time lapse of ', params, 'seconds')
137
- } else if (action === 'error') {
138
- if (!app.getReconnecting()) {
139
- if (!cancelFreezeTimer) {
140
- cancelFreezeTimer = setTimeout(function () {
141
- console.log('cancelFreeze')
142
- app.cancelFreeze()
143
- }, 10000)
144
- }
145
- if (!cancelReconnectionTimer) {
146
- cancelReconnectionTimer = setTimeout(function () {
147
- console.log('cancel reconnection')
148
- cancelReconnection = true
149
- }, 60000)
150
- }
151
- }
152
-
153
- setTimeout(function () {
154
- if (!cancelReconnection) {
155
- console.log('Trying reconnect ', Date.now())
156
- app.reconnect({
157
- freeze: true,
158
- })
159
- }
160
- }, 1000)
161
- }
162
- }
163
-
164
- $(window)['resize'](function () {
165
- app.sendCommand(
166
- 'setResolution',
167
- app.toSpiceResolution({
168
- width: $(window).width(),
169
- height: $(window).height(),
170
- })
171
- )
172
- })
173
-
174
- const runParams = {
175
- callback: handleWindowAction,
176
- context: this,
177
- host: vmHost,
178
- port: vmPort,
179
- protocol: 'wss',
180
- // 'vmToken': getURLParameter('vmtoken') || '',
181
- token: 'password',
182
- vmHost: vmHost,
183
- vmPort: vmPort,
184
- vmid: vmId,
185
- useBus: false,
186
- busHost: 'localhost',
187
- busPort: 61613,
188
- busSubscriptions: ['/topic/00000000-0000-0000-0000-000000000000'],
189
- busUser: '00000000-0000-0000-0000-000000000000',
190
- busPass: 'potato',
191
- layout: 'es',
192
- useWorkers: true,
193
- seamlessDesktopIntegration: false,
194
- connectionControl: false,
195
- heartbeatToken: 'heartbeat',
196
- heartbeatTimeout: 4000, //miliseconds
197
- externalClipboardHandling: false,
198
- disableClipboard: false,
199
- layer: document.getElementById('vmw'),
200
- // vmInfoToken: getURLParameter('vmInfoToken'),
201
- disableMessageBuffering: true,
202
- clientOffset: {
203
- x: 0,
204
- y: 0,
205
- },
206
- }
207
- app.run(runParams)
208
- }
209
-
210
- $(document).ready(start)
1
+ const getURLParameter = (parameter) => {
2
+ const regex = new RegExp(`${parameter}=([^&]+)`)
3
+ const match = regex.exec(window.location.pathname)
4
+ return match && match[1]
5
+ }
6
+
7
+ let vmHost = window.location.hostname
8
+ if (vmHost === 'localhost') {
9
+ vmHost = '10.10.101.107' // Для разработки
10
+ }
11
+ const vmId = getURLParameter('id')
12
+ const vmPort = window.config.public.PORT
13
+
14
+ window.app = new Application({
15
+ supportHighDPI: false,
16
+ })
17
+
18
+ // Custom code
19
+ let vmWidth = -1
20
+ let vmHeight = -1
21
+ window.addEventListener('resize', () => {
22
+ if (vmWidth !== -1 && vmHeight !== -1) setVmPosition(vmWidth, vmHeight)
23
+ })
24
+ const setVmPosition = (width, height) => {
25
+ // Делаем выравнивание по центру
26
+ vmWidth = width
27
+ vmHeight = height
28
+ const left = Math.max((window.innerWidth - width) / 2, 0)
29
+ const top = Math.max((window.innerHeight - height) / 2, 0)
30
+ document.getElementById('canvas_0').style.left = left + 'px'
31
+ document.getElementById('eventLayer').style.left = left + 'px'
32
+ document.getElementById('canvas_0').style.top = top + 'px'
33
+ document.getElementById('eventLayer').style.top = top + 'px'
34
+ }
35
+ // Custom code end
36
+
37
+ function start() {
38
+ wdi.graphicDebug = new wdi.GraphicDebug({ debugMode: false })
39
+ let cancelReconnection = false
40
+ let cancelFreezeTimer, cancelReconnectionTimer
41
+
42
+ const handleWindowAction = function (action, params) {
43
+ if (action === 'windowClosed') {
44
+ $(params.canvas).remove()
45
+ $(params.eventLayer).remove()
46
+ } else if (action === 'windowMoved') {
47
+ $(params.canvas).css({
48
+ top: params.info.top + 'px',
49
+ left: params.info.left + 'px',
50
+ })
51
+ $(params.eventLayer).css({
52
+ top: params.info.top + 'px',
53
+ left: params.info.left + 'px',
54
+ })
55
+ } else if (action === 'init' || action === 'windowCreated') {
56
+ let item = null
57
+ let canvas = null
58
+ let eventlayer = null
59
+ const body = $('body')
60
+
61
+ for (let i in params) {
62
+ item = params[i]
63
+ const position = item.position * 2
64
+ canvas = $(item.canvas).css({
65
+ zIndex: 10000 - position - 1,
66
+ position: 'absolute',
67
+ top: item.info.top + 'px',
68
+ left: item.info.left + 'px',
69
+ })
70
+ eventlayer = $(item.eventLayer).css({
71
+ top: item.info.top + 'px',
72
+ left: item.info.left + 'px',
73
+ zIndex: 10000 - position,
74
+ })
75
+ body.append(canvas)
76
+ body.append(eventlayer)
77
+ }
78
+ } else if (action === 'ready') {
79
+ app.setReconnecting(false)
80
+ if (cancelReconnectionTimer?.clearTimeout) {
81
+ cancelReconnectionTimer()
82
+ cancelReconnectionTimer = false
83
+ }
84
+ const width = $(window).width()
85
+ const height = $(window).height()
86
+
87
+ app.sendCommand(
88
+ 'setResolution',
89
+ app.toSpiceResolution({
90
+ width: width,
91
+ height: height,
92
+ })
93
+ )
94
+ if (wdi.IntegrationBenchmarkEnabled) {
95
+ $('#integrationBenchmark').css({ display: 'inline' })
96
+ $('#launchWordButton').prop('disabled', false)
97
+ }
98
+ } else if (action === 'resolution') {
99
+ // Делаем выравнивание по центру
100
+ const { 0: width, 1: height } = params
101
+ setVmPosition(width, height)
102
+ } else if (action === 'windowResized') {
103
+ // Делаем выравнивание по центру
104
+ const { 0: width } = params
105
+ const left = (window.innerWidth - width) / 2
106
+ if (left >= 0) {
107
+ document.getElementById('canvas_0').style.left = left + 'px'
108
+ document.getElementById('eventLayer').style.left = left + 'px'
109
+ }
110
+ } else if (action === 'windowMinimized') {
111
+ $(params.canvas).css({ display: 'none' })
112
+ $(params.eventLayer).css({ display: 'none' })
113
+ } else if (action === 'windowMaximized') {
114
+ $(params.canvas).css({
115
+ top: params.info.top + 'px',
116
+ left: params.info.left + 'px',
117
+ })
118
+ $(params.eventLayer).css({
119
+ top: params.info.top + 'px',
120
+ left: params.info.left + 'px',
121
+ })
122
+ } else if (action === 'windowRestored') {
123
+ $(params.canvas).css({ display: 'block' })
124
+ $(params.eventLayer).css({ display: 'block' })
125
+ $(params.canvas).css({
126
+ top: params.info.top + 'px',
127
+ left: params.info.left + 'px',
128
+ })
129
+ $(params.eventLayer).css({
130
+ top: params.info.top + 'px',
131
+ left: params.info.left + 'px',
132
+ })
133
+ } else if (action === 'windowFocused') {
134
+ //debugger; //eyeos should move the window to front!
135
+ } else if (action === 'timeLapseDetected') {
136
+ wdi.Debug.log('Detected time lapse of ', params, 'seconds')
137
+ } else if (action === 'error') {
138
+ if (!app.getReconnecting()) {
139
+ if (!cancelFreezeTimer) {
140
+ cancelFreezeTimer = setTimeout(function () {
141
+ console.log('cancelFreeze')
142
+ app.cancelFreeze()
143
+ }, 10000)
144
+ }
145
+ if (!cancelReconnectionTimer) {
146
+ cancelReconnectionTimer = setTimeout(function () {
147
+ console.log('cancel reconnection')
148
+ cancelReconnection = true
149
+ }, 60000)
150
+ }
151
+ }
152
+
153
+ setTimeout(function () {
154
+ if (!cancelReconnection) {
155
+ console.log('Trying reconnect ', Date.now())
156
+ app.reconnect({
157
+ freeze: true,
158
+ })
159
+ }
160
+ }, 1000)
161
+ }
162
+ }
163
+
164
+ $(window)['resize'](function () {
165
+ app.sendCommand(
166
+ 'setResolution',
167
+ app.toSpiceResolution({
168
+ width: $(window).width(),
169
+ height: $(window).height(),
170
+ })
171
+ )
172
+ })
173
+
174
+ const runParams = {
175
+ callback: handleWindowAction,
176
+ context: this,
177
+ host: vmHost,
178
+ port: vmPort,
179
+ protocol: 'wss',
180
+ // 'vmToken': getURLParameter('vmtoken') || '',
181
+ token: 'password',
182
+ vmHost: vmHost,
183
+ vmPort: vmPort,
184
+ vmid: vmId,
185
+ useBus: false,
186
+ busHost: 'localhost',
187
+ busPort: 61613,
188
+ busSubscriptions: ['/topic/00000000-0000-0000-0000-000000000000'],
189
+ busUser: '00000000-0000-0000-0000-000000000000',
190
+ busPass: 'potato',
191
+ layout: 'es',
192
+ useWorkers: true,
193
+ seamlessDesktopIntegration: false,
194
+ connectionControl: false,
195
+ heartbeatToken: 'heartbeat',
196
+ heartbeatTimeout: 4000, //miliseconds
197
+ externalClipboardHandling: false,
198
+ disableClipboard: false,
199
+ layer: document.getElementById('vmw'),
200
+ // vmInfoToken: getURLParameter('vmInfoToken'),
201
+ disableMessageBuffering: true,
202
+ clientOffset: {
203
+ x: 0,
204
+ y: 0,
205
+ },
206
+ }
207
+ app.run(runParams)
208
+ }
209
+
210
+ $(document).ready(start)
@@ -2257,17 +2257,17 @@ wdi.RedCursor = $.spcExtend(wdi.SpiceObject, {
2257
2257
 
2258
2258
 
2259
2259
  marshall: function () {
2260
- this.rawData = [];
2261
- this.rawData = this.rawData.concat(
2262
- this.numberTo16(this.flags)
2263
- );
2264
- if(!(this.flags & 1)){
2265
- this.rawData = this.rawData.concat(
2266
- this.header.marshall(),
2267
- this.data
2268
- );
2269
- }
2270
- return this.rawData;
2260
+ this.rawData = [];
2261
+ this.rawData = this.rawData.concat(
2262
+ this.numberTo16(this.flags)
2263
+ );
2264
+ if(!(this.flags & 1)){
2265
+ this.rawData = this.rawData.concat(
2266
+ this.header.marshall(),
2267
+ this.data
2268
+ );
2269
+ }
2270
+ return this.rawData;
2271
2271
  },
2272
2272
 
2273
2273
  demarshall: function (queue, expSize) {
@@ -2292,16 +2292,16 @@ wdi.RedCursorHeader = $.spcExtend(wdi.SpiceObject, {
2292
2292
 
2293
2293
 
2294
2294
  marshall: function () {
2295
- this.rawData = [];
2296
- this.rawData = this.rawData.concat(
2297
- this.numberTo64(this.unique),
2298
- this.numberTo8(this.type),
2299
- this.numberTo16(this.width),
2300
- this.numberTo16(this.height),
2301
- this.numberTo16(this.hot_spot_x),
2302
- this.numberTo16(this.hot_spot_y)
2303
- );
2304
- return this.rawData;
2295
+ this.rawData = [];
2296
+ this.rawData = this.rawData.concat(
2297
+ this.numberTo64(this.unique),
2298
+ this.numberTo8(this.type),
2299
+ this.numberTo16(this.width),
2300
+ this.numberTo16(this.height),
2301
+ this.numberTo16(this.hot_spot_x),
2302
+ this.numberTo16(this.hot_spot_y)
2303
+ );
2304
+ return this.rawData;
2305
2305
  },
2306
2306
 
2307
2307
  demarshall: function (queue, expSize) {
@@ -2323,13 +2323,13 @@ wdi.RedCursorSet = $.spcExtend(wdi.SpiceObject, {
2323
2323
  objectSize: 5,
2324
2324
 
2325
2325
  marshall: function () {
2326
- this.rawData = [];
2327
- this.rawData = this.rawData.concat(
2328
- this.position.marshall(),
2329
- this.numberTo8(this.visible),
2330
- this.cursor.marshall()
2331
- );
2332
- return this.rawData;
2326
+ this.rawData = [];
2327
+ this.rawData = this.rawData.concat(
2328
+ this.position.marshall(),
2329
+ this.numberTo8(this.visible),
2330
+ this.cursor.marshall()
2331
+ );
2332
+ return this.rawData;
2333
2333
  },
2334
2334
 
2335
2335
  demarshall: function (queue, expSize) {
@@ -2343,6 +2343,27 @@ wdi.RedCursorSet = $.spcExtend(wdi.SpiceObject, {
2343
2343
  }
2344
2344
  });
2345
2345
 
2346
+ // Custom code
2347
+ wdi.RedCursorMove = $.spcExtend(wdi.SpiceObject, {
2348
+ objectSize: 4,
2349
+
2350
+ marshall: function () {
2351
+ this.rawData = [];
2352
+ this.rawData = this.rawData.concat(
2353
+ this.position.marshall(),
2354
+ );
2355
+ return this.rawData;
2356
+ },
2357
+
2358
+ demarshall: function (queue, expSize) {
2359
+ this.expectedSize = expSize || this.objectSize;
2360
+ if (queue.getLength() < this.expectedSize) throw new wdi.Exception({message: 'Not enough queue to read', errorCode: 3});
2361
+ this.position = new wdi.SpicePoint16().demarshall(queue);
2362
+ return this;
2363
+ }
2364
+ });
2365
+ // Custom code end
2366
+
2346
2367
  wdi.RedCursorHide = $.spcExtend(wdi.SpiceObject, {
2347
2368
  objectSize: 5,
2348
2369