bfg-common 1.5.534 → 1.5.535

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 (133) 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_ru.json +1 -1
  7. package/components/atoms/TheIcon3.vue +50 -50
  8. package/components/atoms/collapse/CollapseNav.vue +170 -170
  9. package/components/atoms/perPage/PerPage.vue +58 -58
  10. package/components/atoms/table/dataGrid/DataGrid.vue +1718 -1718
  11. package/components/atoms/table/dataGrid/DataGridPagination.vue +97 -97
  12. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  13. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  14. package/components/common/backup/storage/actions/add/Add.vue +251 -251
  15. package/components/common/backup/storage/actions/add/lib/utils.ts +51 -51
  16. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  17. package/components/common/browse/blocks/lib/models/types.ts +1 -1
  18. package/components/common/browse/lib/models/interfaces.ts +5 -5
  19. package/components/common/diagramMain/network/Contents.vue +497 -497
  20. package/components/common/layout/theHeader/helpMenu/About.vue +79 -79
  21. package/components/common/layout/theHeader/helpMenu/aboutOld/AboutOld.vue +79 -79
  22. package/components/common/pages/backups/DetailView.vue +52 -52
  23. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  24. package/components/common/pages/backups/modals/Modals.vue +243 -243
  25. package/components/common/pages/backups/modals/createBackup/CreateBackup.vue +195 -195
  26. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  27. package/components/common/pages/backups/modals/createBackup/lib/config/readyToCompleteOptions.ts +69 -69
  28. package/components/common/pages/backups/modals/lib/config/restore.ts +115 -115
  29. package/components/common/pages/backups/modals/lib/models/interfaces.ts +186 -186
  30. package/components/common/pages/backups/modals/restore/disks/Disks.vue +27 -27
  31. package/components/common/pages/backups/modals/restore/disks/tableView/lib/config/table.ts +117 -117
  32. package/components/common/pages/backups/modals/restore/name/Name.vue +166 -166
  33. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  34. package/components/common/pages/backups/modals/restore/networks/Networks.vue +70 -67
  35. package/components/common/pages/backups/modals/restore/networks/table/Table.vue +214 -214
  36. package/components/common/pages/backups/modals/restore/types/lib/config/typeOptions.ts +25 -25
  37. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  38. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  39. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  40. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  41. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  42. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  43. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  44. package/components/common/select/radio/RadioGroup.vue +137 -137
  45. package/components/common/spiceConsole/Drawer.vue +420 -420
  46. package/components/common/spiceConsole/SpiceConsole.vue +184 -184
  47. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  48. package/components/common/tools/Actions.vue +207 -207
  49. package/components/common/treeView/TreeView.vue +52 -52
  50. package/components/common/vm/actions/add/Add.vue +945 -895
  51. package/components/common/vm/actions/add/New.vue +689 -695
  52. package/components/common/vm/actions/add/Old.vue +400 -414
  53. package/components/common/vm/actions/add/lib/config/steps.ts +347 -347
  54. package/components/common/vm/actions/clone/Clone.vue +806 -754
  55. package/components/common/vm/actions/clone/{cloneNew/CloneNew.vue → new/New.vue} +454 -434
  56. package/components/common/vm/actions/clone/{cloneOld/CloneOld.vue → old/Old.vue} +375 -382
  57. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +368 -368
  58. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  59. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  60. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +427 -427
  61. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +154 -154
  62. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/Table.vue +99 -93
  63. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  64. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  65. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  66. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +53 -53
  67. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +32 -32
  68. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +60 -60
  69. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +174 -174
  70. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  71. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  72. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  73. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  74. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  75. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  76. package/components/common/vm/actions/common/select/os/Old.vue +152 -152
  77. package/components/common/vm/actions/common/select/os/Os.vue +139 -139
  78. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  79. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  80. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  81. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  82. package/components/common/vm/actions/register/Register.vue +352 -285
  83. package/components/common/vm/actions/register/lib/config/steps.ts +86 -86
  84. package/components/common/wizards/common/steps/computeResource/ComputeResource.vue +85 -95
  85. package/components/common/wizards/common/steps/computeResource/New.vue +92 -88
  86. package/components/common/wizards/common/steps/computeResource/Old.vue +102 -81
  87. package/components/common/wizards/common/steps/computeResource/compatibility/Compatibility.vue +31 -0
  88. package/components/common/wizards/common/steps/computeResource/compatibility/New.vue +98 -0
  89. package/components/common/wizards/{vm/common/validation/compatibility/Compatibility.vue → common/steps/computeResource/compatibility/Old.vue} +54 -62
  90. package/components/common/wizards/common/steps/computeResource/compatibility/lib/models/enums.ts +6 -0
  91. package/components/common/wizards/common/steps/name/Name.vue +178 -178
  92. package/components/common/wizards/common/steps/name/New.vue +221 -221
  93. package/components/common/wizards/common/steps/name/Old.vue +121 -121
  94. package/components/common/wizards/common/steps/name/lib/models/interfaces.ts +4 -4
  95. package/components/common/wizards/common/steps/name/location/Location.vue +85 -85
  96. package/components/common/wizards/common/steps/name/location/New.vue +40 -40
  97. package/components/common/wizards/datastore/add/Add.vue +228 -228
  98. package/components/common/wizards/datastore/add/lib/utils.ts +85 -85
  99. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  100. package/components/common/wizards/vm/migrate/select/computeResource/ComputeResource.vue +6 -6
  101. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  102. package/components/common/wizards/vm/migrate/select/storage/Storage.vue +3 -3
  103. package/composables/useAppVersion.ts +21 -21
  104. package/composables/useLocal.ts +6 -6
  105. package/composables/useLocalCommon.ts +39 -39
  106. package/package.json +2 -2
  107. package/plugins/console.ts +21 -21
  108. package/plugins/date.ts +233 -233
  109. package/plugins/mouse.ts +21 -21
  110. package/plugins/panelStates.ts +70 -70
  111. package/plugins/text.ts +59 -59
  112. package/public/spice-console/application/clientgui.js +854 -854
  113. package/public/spice-console/application/packetfactory.js +211 -211
  114. package/public/spice-console/application/virtualmouse.js +147 -147
  115. package/public/spice-console/lib/images/bitmap.js +203 -203
  116. package/public/spice-console/network/spicechannel.js +440 -440
  117. package/public/spice-console/process/cursorprocess.js +121 -121
  118. package/public/spice-console/process/inputprocess.js +227 -227
  119. package/public/spice-console/process/mainprocess.js +210 -210
  120. package/public/spice-console/run.js +210 -210
  121. package/store/main/mutations.ts +7 -7
  122. package/store/main/state.ts +7 -7
  123. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +0 -143
  124. package/components/common/vm/actions/common/select/computeResource/New.vue +0 -184
  125. package/components/common/vm/actions/common/select/computeResource/Old.vue +0 -99
  126. package/components/common/vm/actions/common/select/computeResource/lib/ComputeResource.spec.ts +0 -479
  127. package/components/common/vm/actions/common/select/computeResource/treeView/New.vue +0 -51
  128. package/components/common/vm/actions/common/select/computeResource/treeView/Old.vue +0 -51
  129. package/components/common/vm/actions/common/select/computeResource/treeView/TreeView.vue +0 -131
  130. package/components/common/wizards/common/compatibility/Compatibility.vue +0 -13
  131. package/components/common/wizards/common/compatibility/New.vue +0 -10
  132. package/components/common/wizards/common/compatibility/Old.vue +0 -10
  133. package/components/common/wizards/vm/common/validation/lib/models/enums.ts +0 -5
@@ -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)
@@ -1,7 +1,7 @@
1
- import type { UI_I_MainState } from '~/store/main/lib/interfaces'
2
-
3
- export default {
4
- M_MENU_PINED(state: UI_I_MainState, payload: boolean): void {
5
- state.isMenuPined = payload
6
- },
7
- }
1
+ import type { UI_I_MainState } from '~/store/main/lib/interfaces'
2
+
3
+ export default {
4
+ M_MENU_PINED(state: UI_I_MainState, payload: boolean): void {
5
+ state.isMenuPined = payload
6
+ },
7
+ }
@@ -1,7 +1,7 @@
1
- import type {UI_I_MainState} from "~/store/main/lib/interfaces";
2
-
3
- const state: UI_I_MainState = {
4
- isMenuPined: false,
5
- }
6
-
7
- export default state
1
+ import type {UI_I_MainState} from "~/store/main/lib/interfaces";
2
+
3
+ const state: UI_I_MainState = {
4
+ isMenuPined: false,
5
+ }
6
+
7
+ export default state
@@ -1,143 +0,0 @@
1
- <template>
2
- <common-vm-actions-common-select-compute-resource-new
3
- v-if="isNewView"
4
- v-model="selectedNode"
5
- :data-center="props.dataCenter"
6
- :compute-resource="props.computeResource"
7
- :compute-resource-tree="props.computeResourceTree"
8
- :errors="errors"
9
- :compatibility-text="compatibilityText"
10
- @get-compute-resource-tree="emits('get-compute-resource-tree', $event)"
11
- @show-compute-resource-tree="emits('show-compute-resource-tree', $event)"
12
- @select-compute-resource-tree="
13
- emits('select-compute-resource-tree', $event)
14
- "
15
- @clear-compute-resource-tree="emits('clear-compute-resource-tree')"
16
- @remove-validation-errors="onRemoveValidationErrors"
17
- />
18
- <common-vm-actions-common-select-compute-resource-old
19
- v-else
20
- v-model="selectedNode"
21
- :data-center="props.dataCenter"
22
- :compute-resource="props.computeResource"
23
- :compute-resource-tree="props.computeResourceTree"
24
- :errors="errors"
25
- :compatibility-text="compatibilityText"
26
- @get-compute-resource-tree="emits('get-compute-resource-tree', $event)"
27
- @show-compute-resource-tree="emits('show-compute-resource-tree', $event)"
28
- @select-compute-resource-tree="
29
- emits('select-compute-resource-tree', $event)
30
- "
31
- @clear-compute-resource-tree="emits('clear-compute-resource-tree')"
32
- @remove-validation-errors="onRemoveValidationErrors"
33
- />
34
- </template>
35
-
36
- <script setup lang="ts">
37
- import type { UI_I_Localization } from '~/lib/models/interfaces'
38
- import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
39
-
40
- const props = defineProps<{
41
- computeResourceSubmit: null | Function
42
- dataCenter: UI_I_TreeNode | null
43
- computeResource: UI_I_TreeNode
44
- computeResourceTree: UI_I_TreeNode[]
45
- }>()
46
-
47
- const emits = defineEmits<{
48
- (event: 'submit', value: UI_I_TreeNode): void
49
- (
50
- event: 'get-compute-resource-tree',
51
- value: { id: string | number; cb: () => void }
52
- ): void
53
- (event: 'show-compute-resource-tree', value: UI_I_TreeNode): void
54
- (event: 'select-compute-resource-tree', value: UI_I_TreeNode): void
55
- (event: 'clear-compute-resource-tree'): void
56
- (event: 'has-errors', value: boolean): void
57
- }>()
58
-
59
- const { $store }: any = useNuxtApp()
60
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
61
-
62
- const localization = computed<UI_I_Localization>(() => useLocal())
63
-
64
- watch(
65
- () => props.computeResourceSubmit,
66
- (newValue: null | Function) => {
67
- newValue && submit(newValue)
68
- }
69
- )
70
- const submit = (cb: Function): void => {
71
- if (
72
- !selectedNode.value ||
73
- // !compatibilityText.value[1] ||
74
- compatibilityText.value[0] !== 1 ||
75
- selectedNode.value.type === 'datacenter' ||
76
- selectedNode.value.type === 'folder' ||
77
- (selectedNode.value.type === 'cluster' && !selectedNode.value.nodes.length)
78
- ) {
79
- showValidationErrors(
80
- localization.value.common.specifyValidClusterOrHostDestination
81
- )
82
- cb(false)
83
- return
84
- }
85
-
86
- onRemoveValidationErrors()
87
- emits('submit', selectedNode.value)
88
- cb(true)
89
- }
90
-
91
- const errors = ref<string[]>([])
92
- const showValidationErrors = (text: string): void => {
93
- errors.value = [text]
94
- }
95
- const onRemoveValidationErrors = (): void => {
96
- errors.value = []
97
- }
98
- watch(
99
- errors,
100
- (newValue) => {
101
- emits('has-errors', !newValue.length)
102
- },
103
- { immediate: true, deep: true }
104
- )
105
-
106
- const selectedNode = defineModel<UI_I_TreeNode | null>('modelValue')
107
-
108
- const compatibilityText = computed<[number, string]>(() => {
109
- if (!selectedNode.value)
110
- return [0, localization.value.vmWizard.noDestinationComputeResourceSelected]
111
-
112
- let res: [number, string] = [
113
- 1,
114
- localization.value.common.compatibilityChecksSucceeded,
115
- ]
116
-
117
- if (
118
- !['cluster', 'host', 'resource_pool'].includes(selectedNode.value?.type)
119
- ) {
120
- res = [2, localization.value.common.selectValidClusterOrHostDestination]
121
- }
122
- if (selectedNode.value?.type === 'cluster') {
123
- const hasHost = !!selectedNode.value.nodes.length
124
- if (!hasHost) {
125
- res = [2, localization.value.common.clusterNotContainAnyHosts]
126
- }
127
- }
128
-
129
- if (selectedNode.value?.type === 'host') {
130
- if (selectedNode.value.state === 'Error') {
131
- // TODO check Maintenance Mode
132
- res = [
133
- 2,
134
- localization.value.common.selectedHostDisconnectedMaintenanceMode,
135
- ]
136
- }
137
- }
138
-
139
- return res
140
- })
141
- </script>
142
-
143
- <style scoped lang="scss"></style>