bfg-common 1.5.706 → 1.5.708

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 (192) hide show
  1. package/CODE_STYLE.md +109 -109
  2. package/assets/img/icons/icons-sprite-dark-1.svg +3 -2
  3. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  4. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  5. package/assets/img/icons/icons-sprite-light-1.svg +4 -3
  6. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  7. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  8. package/assets/localization/local_be.json +3 -46
  9. package/assets/localization/local_en.json +3 -46
  10. package/assets/localization/local_hy.json +3 -46
  11. package/assets/localization/local_kk.json +3 -46
  12. package/assets/localization/local_ru.json +5 -48
  13. package/assets/localization/local_zh.json +3 -46
  14. package/assets/scss/common/icons/icons-1.scss +1 -1
  15. package/assets/scss/common/icons/icons-2.scss +0 -18
  16. package/assets/scss/common/theme.scss +0 -2
  17. package/assets/scss/components/auth.scss +5 -32
  18. package/components/atoms/TheIcon3.vue +50 -50
  19. package/components/atoms/collapse/CollapseNav.vue +170 -170
  20. package/components/atoms/dropdown/tree/Tree.vue +0 -2
  21. package/components/atoms/perPage/PerPage.vue +58 -58
  22. package/components/atoms/switch/Switch.vue +1 -7
  23. package/components/atoms/table/dataGrid/DataGrid.vue +1718 -1718
  24. package/components/atoms/table/dataGrid/DataGridPagination.vue +97 -97
  25. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  26. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  27. package/components/atoms/wizard/Wizard.vue +1 -1
  28. package/components/common/backup/storage/actions/add/lib/utils.ts +51 -51
  29. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  30. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
  31. package/components/common/diagramMain/port/Port.vue +580 -580
  32. package/components/common/help/navbar/left/lib/utils/constructAccordion.ts +1 -2
  33. package/components/common/help/navbar/right/Right.vue +1 -1
  34. package/components/common/layout/theHeader/TheHeaderNew.vue +315 -315
  35. package/components/common/layout/theHeader/TheHeaderOld.vue +262 -262
  36. package/components/common/layout/theHeader/helpMenu/About.vue +79 -79
  37. package/components/common/layout/theHeader/helpMenu/aboutOld/AboutOld.vue +79 -79
  38. package/components/common/layout/theHeader/modals/reconnect/ReconnectOld.vue +0 -2
  39. package/components/common/layout/theHeader/userMenu/modals/changePassword/ChangePassword.vue +21 -12
  40. package/components/common/layout/theHeader/userMenu/modals/changePassword/New.vue +43 -36
  41. package/components/common/layout/theHeader/userMenu/modals/changePassword/Old.vue +2 -0
  42. package/components/common/layout/theHeader/userMenu/modals/changePassword/lib/utils.ts +1 -1
  43. package/components/common/layout/theHeader/userMenu/modals/preferences/PreferencesNew.vue +0 -13
  44. package/components/common/layout/theHeader/userMenu/modals/preferences/PreferencesOld.vue +144 -144
  45. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/ChangeLanguage.vue +15 -8
  46. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/{New.vue → ChangeLanguageNew.vue} +2 -1
  47. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/{Old.vue → ChangeLanguageOld.vue} +2 -0
  48. package/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/DefaultConsole.vue +7 -8
  49. package/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/{New.vue → DefaultConsoleNew.vue} +3 -3
  50. package/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/{Old.vue → DefaultConsoleOld.vue} +2 -2
  51. package/components/common/layout/theHeader/userMenu/modals/preferences/inventory/Inventory.vue +8 -7
  52. package/components/common/layout/theHeader/userMenu/modals/preferences/inventory/{New.vue → InventoryNew.vue} +2 -3
  53. package/components/common/layout/theHeader/userMenu/modals/preferences/inventory/{Old.vue → InventoryOld.vue} +2 -2
  54. package/components/common/layout/theHeader/userMenu/modals/preferences/lib/models/types.ts +7 -7
  55. package/components/common/layout/theHeader/userMenu/modals/preferences/security/New.vue +12 -277
  56. package/components/common/layout/theHeader/userMenu/modals/preferences/security/Old.vue +56 -30
  57. package/components/common/layout/theHeader/userMenu/modals/preferences/security/Security.vue +6 -65
  58. package/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/TimeFormat.vue +8 -8
  59. package/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/{New.vue → TimeFormatNew.vue} +3 -3
  60. package/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/{Old.vue → TimeFormatOld.vue} +2 -2
  61. package/components/common/layout/theHeader/userMenu/modals/preferences/view/View.vue +7 -8
  62. package/components/common/layout/theHeader/userMenu/modals/preferences/view/{New.vue → ViewNew.vue} +3 -12
  63. package/components/common/layout/theHeader/userMenu/modals/preferences/view/{Old.vue → ViewOld.vue} +2 -2
  64. package/components/common/monitor/advanced/graphView/GraphView.vue +0 -8
  65. package/components/common/monitor/advanced/tools/Tools.vue +1 -5
  66. package/components/common/pages/backups/DetailView.vue +52 -52
  67. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  68. package/components/common/pages/backups/modals/Modals.vue +243 -243
  69. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  70. package/components/common/pages/backups/modals/createBackup/lib/config/readyToCompleteOptions.ts +69 -69
  71. package/components/common/pages/backups/modals/lib/config/restore.ts +115 -115
  72. package/components/common/pages/backups/modals/lib/models/interfaces.ts +186 -186
  73. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  74. package/components/common/pages/hardwareHealth/historyTestimony/tools/Tools.vue +2 -7
  75. package/components/common/pages/hardwareHealth/tableView/TableView.vue +0 -8
  76. package/components/common/pages/hardwareHealth/tableView/lib/config/sensorTable.ts +1 -13
  77. package/components/common/pages/hardwareHealth/toolsPanel/lib/config/actionsPanel.ts +4 -4
  78. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  79. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  80. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  81. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  82. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  83. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  84. package/components/common/qrcode/Qrcode.vue +56 -0
  85. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  86. package/components/common/select/radio/RadioGroup.vue +137 -137
  87. package/components/common/spiceConsole/Drawer.vue +420 -420
  88. package/components/common/spiceConsole/SpiceConsole.vue +184 -184
  89. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  90. package/components/common/split/horizontal/New.vue +2 -0
  91. package/components/common/split/vertical/New.vue +1 -2
  92. package/components/common/tools/Actions.vue +207 -207
  93. package/components/common/treeView/TreeView.vue +52 -52
  94. package/components/common/vm/actions/add/New.vue +1 -1
  95. package/components/common/vm/actions/add/Old.vue +1 -1
  96. package/components/common/vm/actions/clone/lib/config/steps.ts +295 -295
  97. package/components/common/vm/actions/clone/new/New.vue +438 -438
  98. package/components/common/vm/actions/clone/old/Old.vue +0 -1
  99. package/components/common/vm/actions/common/customizeHardware/virtualHardware/New.vue +34 -10
  100. package/components/common/vm/actions/common/customizeHardware/virtualHardware/Old.vue +37 -15
  101. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +50 -49
  102. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/coresPerSocket/CoresPerSocket.vue +3 -3
  103. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  104. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces.ts +1 -3
  105. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +283 -283
  106. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +7 -13
  107. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/New.vue +4 -7
  108. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +45 -52
  109. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/Old.vue +8 -5
  110. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIo.vue +3 -1
  111. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/New.vue +2 -2
  112. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/Old.vue +2 -2
  113. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +1 -1
  114. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/New.vue +2 -1
  115. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/Old.vue +2 -1
  116. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/New.vue +1 -1
  117. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +1 -1
  118. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/Old.vue +1 -1
  119. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +156 -156
  120. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  121. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  122. package/components/common/vm/actions/common/select/options/New.vue +264 -264
  123. package/components/common/vm/actions/common/select/options/Old.vue +2 -1
  124. package/components/common/vm/actions/common/select/options/Options.vue +58 -58
  125. package/components/common/vm/actions/common/select/storage/Old.vue +125 -125
  126. package/components/common/vm/actions/common/select/storage/new/New.vue +311 -311
  127. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  128. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  129. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  130. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  131. package/components/common/wizards/common/compatibility/Compatibility.vue +35 -35
  132. package/components/common/wizards/common/compatibility/New.vue +1 -1
  133. package/components/common/wizards/common/compatibility/Old.vue +1 -1
  134. package/components/common/wizards/common/steps/computeResource/New.vue +93 -93
  135. package/components/common/wizards/common/steps/name/Name.vue +178 -178
  136. package/components/common/wizards/common/steps/name/New.vue +221 -221
  137. package/components/common/wizards/common/steps/name/Old.vue +121 -121
  138. package/components/common/wizards/common/steps/name/lib/models/interfaces.ts +4 -4
  139. package/components/common/wizards/common/steps/name/location/New.vue +40 -40
  140. package/components/common/wizards/datastore/add/Add.vue +228 -228
  141. package/components/common/wizards/datastore/add/lib/config/createDatastore.ts +0 -1
  142. package/components/common/wizards/datastore/add/lib/models/interfaces.ts +0 -1
  143. package/components/common/wizards/datastore/add/lib/utils.ts +85 -85
  144. package/components/common/wizards/datastore/add/steps/nameAndDevice/NameAndDeviceNew.vue +0 -5
  145. package/components/common/wizards/datastore/add/steps/nameAndDevice/NameAndDeviceOld.vue +0 -5
  146. package/components/common/wizards/datastore/add/steps/nameAndDevice/table/old/Old.vue +3 -2
  147. package/components/common/wizards/datastore/add/steps/readyComplete/lib/config/propertiesDetails.ts +1 -8
  148. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  149. package/components/common/wizards/vm/migrate/lib/models/enums.ts +2 -2
  150. package/components/common/wizards/vm/migrate/steps/selectStorage/SelectStorage.vue +4 -4
  151. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/disk/table/new/lib/config/diskTable.ts +2 -6
  152. package/components/common/wizards/vm/migrate/steps/selectStorage/configure/disk/table/old/lib/config/diskTable.ts +12 -18
  153. package/composables/useAppVersion.ts +21 -21
  154. package/composables/useEnvLanguage.ts +8 -7
  155. package/composables/useLocal.ts +6 -6
  156. package/composables/useLocalCommon.ts +39 -39
  157. package/lib/models/interfaces.ts +0 -1
  158. package/package.json +4 -3
  159. package/plugins/console.ts +21 -21
  160. package/plugins/date.ts +37 -14
  161. package/plugins/mouse.ts +21 -21
  162. package/plugins/panelStates.ts +70 -70
  163. package/plugins/text.ts +59 -59
  164. package/public/spice-console/application/clientgui.js +854 -854
  165. package/public/spice-console/application/packetfactory.js +211 -211
  166. package/public/spice-console/application/virtualmouse.js +147 -147
  167. package/public/spice-console/lib/images/bitmap.js +203 -203
  168. package/public/spice-console/network/spicechannel.js +440 -440
  169. package/public/spice-console/process/cursorprocess.js +128 -128
  170. package/public/spice-console/process/inputprocess.js +227 -227
  171. package/public/spice-console/process/mainprocess.js +212 -212
  172. package/public/spice-console/run.js +210 -210
  173. package/store/main/getters.ts +2 -2
  174. package/store/main/mutations.ts +7 -7
  175. package/store/main/state.ts +7 -7
  176. package/store/tasks/mappers/recentTasks.ts +123 -123
  177. package/store/tasks/mutations.ts +82 -82
  178. package/components/common/certificate/Certificate.vue +0 -27
  179. package/components/common/certificate/CertificateInfo.vue +0 -139
  180. package/components/common/certificate/Tools.vue +0 -59
  181. package/components/common/certificate/lib/config/tabsPannel.ts +0 -22
  182. package/components/common/certificate/lib/models/interfaces.ts +0 -9
  183. package/components/common/certificate/lib/models/types.ts +0 -1
  184. package/components/common/certificate/modals/renew/New.vue +0 -64
  185. package/components/common/certificate/modals/renew/Old.vue +0 -122
  186. package/components/common/certificate/modals/renew/Renew.vue +0 -67
  187. package/components/common/pages/auth/TheFooter.vue +0 -104
  188. package/components/common/pages/files/lib/models/enums.ts +0 -10
  189. package/components/common/qr/Qr.vue +0 -69
  190. package/components/common/wizards/datastore/add/steps/nameAndDevice/advancedOptions/AdvancedOptions.vue +0 -43
  191. package/components/common/wizards/datastore/add/steps/nameAndDevice/advancedOptions/New.vue +0 -114
  192. package/components/common/wizards/datastore/add/steps/nameAndDevice/advancedOptions/Old.vue +0 -114
@@ -1,227 +1,227 @@
1
- /*
2
- Copyright (c) 2016 eyeOS
3
-
4
- This file is part of Open365.
5
-
6
- Open365 is free software: you can redistribute it and/or modify
7
- it under the terms of the GNU Affero General Public License as
8
- published by the Free Software Foundation, either version 3 of the
9
- License, or (at your option) any later version.
10
-
11
- This program is distributed in the hope that it will be useful,
12
- but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
- GNU Affero General Public License for more details.
15
-
16
- You should have received a copy of the GNU Affero General Public License
17
- along with this program. If not, see <http://www.gnu.org/licenses/>.
18
- */
19
-
20
- wdi.InputProcess = $.spcExtend(wdi.EventObject.prototype, {
21
- clientGui: null,
22
- spiceConnection: null,
23
- capsLockPressed: false,
24
- numLockPressed: false,
25
- shiftPressed: false,
26
- mouseLastX: -1,
27
- mouseLastY: -1,
28
-
29
- init: function (c) {
30
- this.superInit()
31
- this.clientGui = c.clientGui
32
- this.spiceConnection = c.spiceConnection
33
- },
34
-
35
- dispose: function () {
36
- this.clearEvents()
37
- this.clientGui = null
38
- this.spiceConnection = null
39
- },
40
-
41
- process: function (spiceMessage) {
42
- switch (spiceMessage.messageType) {
43
- case wdi.SpiceVars.SPICE_MSG_INPUTS_MOUSE_MOTION_ACK:
44
- this.clientGui.motion_ack()
45
- break
46
- }
47
- },
48
-
49
- send: function (data, type) {
50
- var packet, scanCodes, i
51
-
52
- const { $mouse } = useNuxtApp()
53
- if (type == 'mousemove') {
54
- if (
55
- $mouse.mode.value === wdi.SpiceMouseModeTypes.SPICE_MOUSE_MODE_CLIENT
56
- ) {
57
- packet = new wdi.SpiceMessage({
58
- messageType: wdi.SpiceVars.SPICE_MSGC_INPUTS_MOUSE_POSITION,
59
- channel: wdi.SpiceVars.SPICE_CHANNEL_INPUTS,
60
- args: new wdi.RedcMousePosition({
61
- x: data[1][0] + wdi.VirtualMouse.hotspot.x,
62
- y: data[1][1] + wdi.VirtualMouse.hotspot.y,
63
- buttons_state: data[1][2],
64
- display_id: 0,
65
- }),
66
- })
67
- } else if (
68
- $mouse.mode.value === wdi.SpiceMouseModeTypes.SPICE_MOUSE_MODE_SERVER
69
- ) {
70
- const dx = this.mouseLastX !== -1 ? data[1][0] - this.mouseLastX : 0
71
- const dy = this.mouseLastY !== -1 ? data[1][1] - this.mouseLastY : 0
72
- packet = new wdi.SpiceMessage({
73
- messageType: wdi.SpiceVars.SPICE_MSGC_INPUTS_MOUSE_MOTION,
74
- channel: wdi.SpiceVars.SPICE_CHANNEL_INPUTS,
75
- args: new wdi.RedcMouseMotion({
76
- x: dx,
77
- y: dy,
78
- buttons_state: 0,
79
- }),
80
- })
81
- this.mouseLastX = data[1][0]
82
- this.mouseLastY = data[1][1]
83
- }
84
-
85
- this.spiceConnection.send(packet)
86
- } else if (type == 'mousedown') {
87
- packet = new wdi.SpiceMessage({
88
- messageType: wdi.SpiceVars.SPICE_MSGC_INPUTS_MOUSE_PRESS,
89
- channel: wdi.SpiceVars.SPICE_CHANNEL_INPUTS,
90
- args: new wdi.RedcMousePress({
91
- button_id: data[1] + 1,
92
- buttons_state: 1 << data[1],
93
- }),
94
- })
95
- this.spiceConnection.send(packet)
96
- } else if (type == 'mouseup') {
97
- packet = new wdi.SpiceMessage({
98
- messageType: wdi.SpiceVars.SPICE_MSGC_INPUTS_MOUSE_RELEASE,
99
- channel: wdi.SpiceVars.SPICE_CHANNEL_INPUTS,
100
- args: new wdi.RedcMousePress({
101
- button_id: data[1] + 1,
102
- buttons_state: 0,
103
- }),
104
- })
105
- this.spiceConnection.send(packet)
106
- } else if (type == 'keydown' || type == 'keypress') {
107
- scanCodes = wdi.Keymap.getScanCodes(data[1][0])
108
-
109
- const originalEvent = data[1][0].originalEvent
110
-
111
- if (
112
- type == 'keydown' &&
113
- data[1][0].keyCode !== 20 &&
114
- ((!wdi.Keymap.isVirtualKeyboard &&
115
- originalEvent &&
116
- originalEvent.getModifierState &&
117
- wdi.Keymap.capsLock !== originalEvent.getModifierState('CapsLock')) ||
118
- (wdi.Keymap.isVirtualKeyboard &&
119
- wdi.Keymap.isVirtualCapsLockOn !== wdi.Keymap.capsLock))
120
- ) {
121
- const capsLockPacket = new wdi.SpiceMessage({
122
- messageType: wdi.SpiceVars.SPICE_MSGC_INPUTS_KEY_DOWN,
123
- channel: wdi.SpiceVars.SPICE_CHANNEL_INPUTS,
124
- args: new wdi.SpiceScanCode([58, 0, 0]),
125
- })
126
- this.capsLockPressed = true
127
- this.spiceConnection.send(capsLockPacket)
128
- }
129
-
130
- if (
131
- type == 'keydown' &&
132
- originalEvent &&
133
- originalEvent.getModifierState &&
134
- data[1][0].keyCode !== 144 &&
135
- wdi.Keymap.numLock !== originalEvent.getModifierState('NumLock')
136
- ) {
137
- const numLockPacket = new wdi.SpiceMessage({
138
- messageType: wdi.SpiceVars.SPICE_MSGC_INPUTS_KEY_DOWN,
139
- channel: wdi.SpiceVars.SPICE_CHANNEL_INPUTS,
140
- args: new wdi.SpiceScanCode([69, 0, 0]),
141
- })
142
- this.numLockPressed = true
143
- this.spiceConnection.send(numLockPacket)
144
- }
145
-
146
- for (i = 0; i < scanCodes.length; i++) {
147
- packet = new wdi.SpiceMessage({
148
- messageType: wdi.SpiceVars.SPICE_MSGC_INPUTS_KEY_DOWN,
149
- channel: wdi.SpiceVars.SPICE_CHANNEL_INPUTS,
150
- args: new wdi.SpiceScanCode(scanCodes[i]),
151
- })
152
-
153
- if (scanCodes[0] && scanCodes[0][0] === 42) {
154
- this.shiftPressed = true
155
- }
156
- this.spiceConnection.send(packet)
157
- }
158
- } else if (type == 'keyup') {
159
- scanCodes = wdi.Keymap.getScanCodes(data[1][0])
160
-
161
- if (
162
- scanCodes &&
163
- scanCodes[0] &&
164
- scanCodes[0][0] === 199 &&
165
- scanCodes[0][1] === 0 &&
166
- scanCodes[0][2] === 0
167
- ) {
168
- scanCodes = [[224, 199, 0, 0]]
169
- }
170
-
171
- if (this.capsLockPressed) {
172
- const capsLockPacket = new wdi.SpiceMessage({
173
- messageType: wdi.SpiceVars.SPICE_MSGC_INPUTS_KEY_UP,
174
- channel: wdi.SpiceVars.SPICE_CHANNEL_INPUTS,
175
- args: new wdi.SpiceScanCode([186, 0, 0]),
176
- })
177
- this.spiceConnection.send(capsLockPacket)
178
- this.capsLockPressed = false
179
- }
180
-
181
- if (this.numLockPressed) {
182
- const numLockPacket = new wdi.SpiceMessage({
183
- messageType: wdi.SpiceVars.SPICE_MSGC_INPUTS_KEY_UP,
184
- channel: wdi.SpiceVars.SPICE_CHANNEL_INPUTS,
185
- args: new wdi.SpiceScanCode([197, 0, 0]),
186
- })
187
- this.spiceConnection.send(numLockPacket)
188
- this.numLockPressed = false
189
- }
190
-
191
- if (scanCodes[0] && scanCodes[0][0] === 142) {
192
- this.shiftPressed = false
193
- }
194
-
195
- for (i = 0; i < scanCodes.length; i++) {
196
- packet = new wdi.SpiceMessage({
197
- messageType: wdi.SpiceVars.SPICE_MSGC_INPUTS_KEY_UP,
198
- channel: wdi.SpiceVars.SPICE_CHANNEL_INPUTS,
199
- args: new wdi.SpiceScanCode(scanCodes[i]),
200
- })
201
-
202
- this.spiceConnection.send(packet)
203
- }
204
- this.clientGui.inputManager.input.val('_')
205
- } else if (type == 'joystick') {
206
- packet = new wdi.SpiceMessage({
207
- messageType: wdi.SpiceVars.SPICE_MSGC_INPUTS_MOUSE_MOTION,
208
- channel: wdi.SpiceVars.SPICE_CHANNEL_INPUTS,
209
- args: new wdi.RedcMouseMotion({
210
- x: data[1][0],
211
- y: data[1][1],
212
- buttons_state: 0,
213
- }),
214
- })
215
- this.spiceConnection.send(packet)
216
- }
217
- },
218
-
219
- isKeyboardShortcut: function (type, event) {
220
- if (type === 'keydown') {
221
- var keycode = event['keyCode']
222
- wdi.Keymap.controlPressed(keycode, type, event)
223
- var ctrlShortcut = wdi.Keymap.handledByCtrlKeyCode(type, keycode, true)
224
- return ctrlShortcut
225
- }
226
- },
227
- })
1
+ /*
2
+ Copyright (c) 2016 eyeOS
3
+
4
+ This file is part of Open365.
5
+
6
+ Open365 is free software: you can redistribute it and/or modify
7
+ it under the terms of the GNU Affero General Public License as
8
+ published by the Free Software Foundation, either version 3 of the
9
+ License, or (at your option) any later version.
10
+
11
+ This program is distributed in the hope that it will be useful,
12
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ GNU Affero General Public License for more details.
15
+
16
+ You should have received a copy of the GNU Affero General Public License
17
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
18
+ */
19
+
20
+ wdi.InputProcess = $.spcExtend(wdi.EventObject.prototype, {
21
+ clientGui: null,
22
+ spiceConnection: null,
23
+ capsLockPressed: false,
24
+ numLockPressed: false,
25
+ shiftPressed: false,
26
+ mouseLastX: -1,
27
+ mouseLastY: -1,
28
+
29
+ init: function (c) {
30
+ this.superInit()
31
+ this.clientGui = c.clientGui
32
+ this.spiceConnection = c.spiceConnection
33
+ },
34
+
35
+ dispose: function () {
36
+ this.clearEvents()
37
+ this.clientGui = null
38
+ this.spiceConnection = null
39
+ },
40
+
41
+ process: function (spiceMessage) {
42
+ switch (spiceMessage.messageType) {
43
+ case wdi.SpiceVars.SPICE_MSG_INPUTS_MOUSE_MOTION_ACK:
44
+ this.clientGui.motion_ack()
45
+ break
46
+ }
47
+ },
48
+
49
+ send: function (data, type) {
50
+ var packet, scanCodes, i
51
+
52
+ const { $mouse } = useNuxtApp()
53
+ if (type == 'mousemove') {
54
+ if (
55
+ $mouse.mode.value === wdi.SpiceMouseModeTypes.SPICE_MOUSE_MODE_CLIENT
56
+ ) {
57
+ packet = new wdi.SpiceMessage({
58
+ messageType: wdi.SpiceVars.SPICE_MSGC_INPUTS_MOUSE_POSITION,
59
+ channel: wdi.SpiceVars.SPICE_CHANNEL_INPUTS,
60
+ args: new wdi.RedcMousePosition({
61
+ x: data[1][0] + wdi.VirtualMouse.hotspot.x,
62
+ y: data[1][1] + wdi.VirtualMouse.hotspot.y,
63
+ buttons_state: data[1][2],
64
+ display_id: 0,
65
+ }),
66
+ })
67
+ } else if (
68
+ $mouse.mode.value === wdi.SpiceMouseModeTypes.SPICE_MOUSE_MODE_SERVER
69
+ ) {
70
+ const dx = this.mouseLastX !== -1 ? data[1][0] - this.mouseLastX : 0
71
+ const dy = this.mouseLastY !== -1 ? data[1][1] - this.mouseLastY : 0
72
+ packet = new wdi.SpiceMessage({
73
+ messageType: wdi.SpiceVars.SPICE_MSGC_INPUTS_MOUSE_MOTION,
74
+ channel: wdi.SpiceVars.SPICE_CHANNEL_INPUTS,
75
+ args: new wdi.RedcMouseMotion({
76
+ x: dx,
77
+ y: dy,
78
+ buttons_state: 0,
79
+ }),
80
+ })
81
+ this.mouseLastX = data[1][0]
82
+ this.mouseLastY = data[1][1]
83
+ }
84
+
85
+ this.spiceConnection.send(packet)
86
+ } else if (type == 'mousedown') {
87
+ packet = new wdi.SpiceMessage({
88
+ messageType: wdi.SpiceVars.SPICE_MSGC_INPUTS_MOUSE_PRESS,
89
+ channel: wdi.SpiceVars.SPICE_CHANNEL_INPUTS,
90
+ args: new wdi.RedcMousePress({
91
+ button_id: data[1] + 1,
92
+ buttons_state: 1 << data[1],
93
+ }),
94
+ })
95
+ this.spiceConnection.send(packet)
96
+ } else if (type == 'mouseup') {
97
+ packet = new wdi.SpiceMessage({
98
+ messageType: wdi.SpiceVars.SPICE_MSGC_INPUTS_MOUSE_RELEASE,
99
+ channel: wdi.SpiceVars.SPICE_CHANNEL_INPUTS,
100
+ args: new wdi.RedcMousePress({
101
+ button_id: data[1] + 1,
102
+ buttons_state: 0,
103
+ }),
104
+ })
105
+ this.spiceConnection.send(packet)
106
+ } else if (type == 'keydown' || type == 'keypress') {
107
+ scanCodes = wdi.Keymap.getScanCodes(data[1][0])
108
+
109
+ const originalEvent = data[1][0].originalEvent
110
+
111
+ if (
112
+ type == 'keydown' &&
113
+ data[1][0].keyCode !== 20 &&
114
+ ((!wdi.Keymap.isVirtualKeyboard &&
115
+ originalEvent &&
116
+ originalEvent.getModifierState &&
117
+ wdi.Keymap.capsLock !== originalEvent.getModifierState('CapsLock')) ||
118
+ (wdi.Keymap.isVirtualKeyboard &&
119
+ wdi.Keymap.isVirtualCapsLockOn !== wdi.Keymap.capsLock))
120
+ ) {
121
+ const capsLockPacket = new wdi.SpiceMessage({
122
+ messageType: wdi.SpiceVars.SPICE_MSGC_INPUTS_KEY_DOWN,
123
+ channel: wdi.SpiceVars.SPICE_CHANNEL_INPUTS,
124
+ args: new wdi.SpiceScanCode([58, 0, 0]),
125
+ })
126
+ this.capsLockPressed = true
127
+ this.spiceConnection.send(capsLockPacket)
128
+ }
129
+
130
+ if (
131
+ type == 'keydown' &&
132
+ originalEvent &&
133
+ originalEvent.getModifierState &&
134
+ data[1][0].keyCode !== 144 &&
135
+ wdi.Keymap.numLock !== originalEvent.getModifierState('NumLock')
136
+ ) {
137
+ const numLockPacket = new wdi.SpiceMessage({
138
+ messageType: wdi.SpiceVars.SPICE_MSGC_INPUTS_KEY_DOWN,
139
+ channel: wdi.SpiceVars.SPICE_CHANNEL_INPUTS,
140
+ args: new wdi.SpiceScanCode([69, 0, 0]),
141
+ })
142
+ this.numLockPressed = true
143
+ this.spiceConnection.send(numLockPacket)
144
+ }
145
+
146
+ for (i = 0; i < scanCodes.length; i++) {
147
+ packet = new wdi.SpiceMessage({
148
+ messageType: wdi.SpiceVars.SPICE_MSGC_INPUTS_KEY_DOWN,
149
+ channel: wdi.SpiceVars.SPICE_CHANNEL_INPUTS,
150
+ args: new wdi.SpiceScanCode(scanCodes[i]),
151
+ })
152
+
153
+ if (scanCodes[0] && scanCodes[0][0] === 42) {
154
+ this.shiftPressed = true
155
+ }
156
+ this.spiceConnection.send(packet)
157
+ }
158
+ } else if (type == 'keyup') {
159
+ scanCodes = wdi.Keymap.getScanCodes(data[1][0])
160
+
161
+ if (
162
+ scanCodes &&
163
+ scanCodes[0] &&
164
+ scanCodes[0][0] === 199 &&
165
+ scanCodes[0][1] === 0 &&
166
+ scanCodes[0][2] === 0
167
+ ) {
168
+ scanCodes = [[224, 199, 0, 0]]
169
+ }
170
+
171
+ if (this.capsLockPressed) {
172
+ const capsLockPacket = new wdi.SpiceMessage({
173
+ messageType: wdi.SpiceVars.SPICE_MSGC_INPUTS_KEY_UP,
174
+ channel: wdi.SpiceVars.SPICE_CHANNEL_INPUTS,
175
+ args: new wdi.SpiceScanCode([186, 0, 0]),
176
+ })
177
+ this.spiceConnection.send(capsLockPacket)
178
+ this.capsLockPressed = false
179
+ }
180
+
181
+ if (this.numLockPressed) {
182
+ const numLockPacket = new wdi.SpiceMessage({
183
+ messageType: wdi.SpiceVars.SPICE_MSGC_INPUTS_KEY_UP,
184
+ channel: wdi.SpiceVars.SPICE_CHANNEL_INPUTS,
185
+ args: new wdi.SpiceScanCode([197, 0, 0]),
186
+ })
187
+ this.spiceConnection.send(numLockPacket)
188
+ this.numLockPressed = false
189
+ }
190
+
191
+ if (scanCodes[0] && scanCodes[0][0] === 142) {
192
+ this.shiftPressed = false
193
+ }
194
+
195
+ for (i = 0; i < scanCodes.length; i++) {
196
+ packet = new wdi.SpiceMessage({
197
+ messageType: wdi.SpiceVars.SPICE_MSGC_INPUTS_KEY_UP,
198
+ channel: wdi.SpiceVars.SPICE_CHANNEL_INPUTS,
199
+ args: new wdi.SpiceScanCode(scanCodes[i]),
200
+ })
201
+
202
+ this.spiceConnection.send(packet)
203
+ }
204
+ this.clientGui.inputManager.input.val('_')
205
+ } else if (type == 'joystick') {
206
+ packet = new wdi.SpiceMessage({
207
+ messageType: wdi.SpiceVars.SPICE_MSGC_INPUTS_MOUSE_MOTION,
208
+ channel: wdi.SpiceVars.SPICE_CHANNEL_INPUTS,
209
+ args: new wdi.RedcMouseMotion({
210
+ x: data[1][0],
211
+ y: data[1][1],
212
+ buttons_state: 0,
213
+ }),
214
+ })
215
+ this.spiceConnection.send(packet)
216
+ }
217
+ },
218
+
219
+ isKeyboardShortcut: function (type, event) {
220
+ if (type === 'keydown') {
221
+ var keycode = event['keyCode']
222
+ wdi.Keymap.controlPressed(keycode, type, event)
223
+ var ctrlShortcut = wdi.Keymap.handledByCtrlKeyCode(type, keycode, true)
224
+ return ctrlShortcut
225
+ }
226
+ },
227
+ })