bfg-common 1.5.760 → 1.5.761

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 (102) 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 +7 -0
  7. package/assets/localization/local_en.json +7 -0
  8. package/assets/localization/local_hy.json +7 -0
  9. package/assets/localization/local_kk.json +7 -0
  10. package/assets/localization/local_ru.json +7 -0
  11. package/assets/localization/local_zh.json +8 -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/common/backup/storage/actions/add/lib/utils.ts +51 -51
  19. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  20. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
  21. package/components/common/diagramMain/port/Port.vue +580 -580
  22. package/components/common/layout/console/Console.vue +70 -70
  23. package/components/common/layout/theHeader/userMenu/modals/preferences/lib/models/types.ts +7 -7
  24. package/components/common/layout/theHeader/userMenu/modals/preferences/view/New.vue +64 -64
  25. package/components/common/pages/backups/DetailView.vue +52 -52
  26. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  27. package/components/common/pages/backups/modals/Modals.vue +243 -243
  28. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  29. package/components/common/pages/backups/modals/lib/config/restore.ts +116 -116
  30. package/components/common/pages/backups/modals/lib/models/interfaces.ts +187 -187
  31. package/components/common/pages/backups/modals/restore/Restore.vue +302 -302
  32. package/components/common/pages/backups/modals/restore/disks/Disks.vue +50 -50
  33. package/components/common/pages/backups/modals/restore/lib/config/readyToCompleteOptions.ts +94 -94
  34. package/components/common/pages/backups/modals/restore/lib/config/steps.ts +130 -130
  35. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  36. package/components/common/pages/backups/modals/restore/types/New.vue +95 -95
  37. package/components/common/pages/backups/modals/restore/types/Old.vue +62 -62
  38. package/components/common/pages/backups/modals/restore/types/Types.vue +31 -31
  39. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  40. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  41. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  42. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  43. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  44. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  45. package/components/common/pages/tasks/Tasks.vue +125 -125
  46. package/components/common/pages/tasks/table/Table.vue +373 -373
  47. package/components/common/pages/tasks/table/lib/config/config.ts +279 -279
  48. package/components/common/pages/tasks/table/lib/models/interfaces.ts +9 -9
  49. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  50. package/components/common/select/radio/RadioGroup.vue +137 -137
  51. package/components/common/spiceConsole/Drawer.vue +420 -420
  52. package/components/common/spiceConsole/SpiceConsole.vue +184 -184
  53. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  54. package/components/common/tools/Actions.vue +207 -207
  55. package/components/common/treeView/TreeView.vue +52 -52
  56. package/components/common/vm/actions/clone/lib/config/steps.ts +295 -295
  57. package/components/common/vm/actions/clone/new/New.vue +438 -438
  58. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  59. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +283 -283
  60. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +156 -156
  61. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  62. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  63. package/components/common/vm/actions/common/select/options/New.vue +264 -264
  64. package/components/common/vm/actions/common/select/options/Options.vue +58 -58
  65. package/components/common/vm/actions/common/select/storage/Old.vue +125 -125
  66. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  67. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  68. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  69. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  70. package/components/common/wizards/common/compatibility/Compatibility.vue +35 -35
  71. package/components/common/wizards/common/steps/name/Name.vue +178 -178
  72. package/components/common/wizards/common/steps/name/New.vue +221 -221
  73. package/components/common/wizards/common/steps/name/Old.vue +121 -121
  74. package/components/common/wizards/common/steps/name/lib/models/interfaces.ts +4 -4
  75. package/components/common/wizards/common/steps/name/location/New.vue +40 -40
  76. package/components/common/wizards/datastore/add/Add.vue +227 -227
  77. package/components/common/wizards/datastore/add/lib/utils.ts +85 -85
  78. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  79. package/composables/useAppVersion.ts +21 -21
  80. package/composables/useBrowse.ts +24 -24
  81. package/composables/useLocal.ts +6 -6
  82. package/composables/useLocalCommon.ts +39 -39
  83. package/lib/models/interfaces.ts +1 -0
  84. package/lib/models/types.ts +59 -59
  85. package/package.json +1 -1
  86. package/plugins/console.ts +21 -21
  87. package/plugins/mouse.ts +21 -21
  88. package/plugins/panelStates.ts +70 -70
  89. package/plugins/text.ts +59 -59
  90. package/public/spice-console/application/clientgui.js +854 -854
  91. package/public/spice-console/application/packetfactory.js +211 -211
  92. package/public/spice-console/application/virtualmouse.js +147 -147
  93. package/public/spice-console/lib/images/bitmap.js +203 -203
  94. package/public/spice-console/network/spicechannel.js +440 -440
  95. package/public/spice-console/process/cursorprocess.js +128 -128
  96. package/public/spice-console/process/inputprocess.js +227 -227
  97. package/public/spice-console/process/mainprocess.js +212 -212
  98. package/public/spice-console/run.js +210 -210
  99. package/store/main/mutations.ts +7 -7
  100. package/store/main/state.ts +7 -7
  101. package/store/tasks/mappers/recentTasks.ts +123 -123
  102. package/store/tasks/mutations.ts +82 -82
@@ -1,70 +1,70 @@
1
- <template>
2
- <atoms-window
3
- v-if="consoleInWindow?.isShow"
4
- :top="consoleInWindow.top"
5
- :left="consoleInWindow.left"
6
- :width="consoleInWindow.width"
7
- :height="consoleInWindow.height"
8
- :title="consoleInWindow.name"
9
- :loading="consoleInWindow.isLoading"
10
- @hide="onHide"
11
- >
12
- <template #header>
13
- <div class="flex-align-center gap-2 overflow-hidden">
14
- <ui-icon name="monitor" width="16" height="16" class="monitor-icon" />
15
- <span class="text-ellipsis">{{ consoleInWindow.name }}</span>
16
- </div>
17
- </template>
18
- <embed
19
- id="embed"
20
- type="text/html"
21
- width="100%"
22
- height="100%"
23
- :src="consoleInWindow.url"
24
- @load="onLoad"
25
- />
26
- </atoms-window>
27
- </template>
28
-
29
- <script setup lang="ts">
30
- import type { UI_I_ConsoleInWindow } from '~/components/common/layout/console/lib/models/interfaces'
31
-
32
- const { $store }: any = useNuxtApp()
33
-
34
- const onLoad = (): void => {
35
- $store.dispatch('main/A_CHANGE_CONSOLE_IN_WINDOW_LOADING', false)
36
- }
37
-
38
- const consoleInWindow = computed<UI_I_ConsoleInWindow | null>(() => {
39
- return $store.getters['main/getConsoleInWindow']
40
- })
41
- watch(
42
- consoleInWindow,
43
- (newValue, oldValue) => {
44
- if (newValue?.url === oldValue?.url) {
45
- $store.dispatch('main/A_CHANGE_CONSOLE_IN_WINDOW_LOADING', false)
46
- }
47
- },
48
- { deep: true }
49
- )
50
-
51
- const onHide = (): void => {
52
- $store.dispatch('main/A_SHOW_CONSOLE_IN_WINDOW', {
53
- width: -1,
54
- height: -1,
55
- top: -1,
56
- left: -1,
57
- name: '',
58
- isShow: false,
59
- isLoading: false,
60
- url: '',
61
- })
62
- }
63
- </script>
64
-
65
- <style scoped lang="scss">
66
- .monitor-icon {
67
- min-width: 16px;
68
- min-height: 16px;
69
- }
70
- </style>
1
+ <template>
2
+ <atoms-window
3
+ v-if="consoleInWindow?.isShow"
4
+ :top="consoleInWindow.top"
5
+ :left="consoleInWindow.left"
6
+ :width="consoleInWindow.width"
7
+ :height="consoleInWindow.height"
8
+ :title="consoleInWindow.name"
9
+ :loading="consoleInWindow.isLoading"
10
+ @hide="onHide"
11
+ >
12
+ <template #header>
13
+ <div class="flex-align-center gap-2 overflow-hidden">
14
+ <ui-icon name="monitor" width="16" height="16" class="monitor-icon" />
15
+ <span class="text-ellipsis">{{ consoleInWindow.name }}</span>
16
+ </div>
17
+ </template>
18
+ <embed
19
+ id="embed"
20
+ type="text/html"
21
+ width="100%"
22
+ height="100%"
23
+ :src="consoleInWindow.url"
24
+ @load="onLoad"
25
+ />
26
+ </atoms-window>
27
+ </template>
28
+
29
+ <script setup lang="ts">
30
+ import type { UI_I_ConsoleInWindow } from '~/components/common/layout/console/lib/models/interfaces'
31
+
32
+ const { $store }: any = useNuxtApp()
33
+
34
+ const onLoad = (): void => {
35
+ $store.dispatch('main/A_CHANGE_CONSOLE_IN_WINDOW_LOADING', false)
36
+ }
37
+
38
+ const consoleInWindow = computed<UI_I_ConsoleInWindow | null>(() => {
39
+ return $store.getters['main/getConsoleInWindow']
40
+ })
41
+ watch(
42
+ consoleInWindow,
43
+ (newValue, oldValue) => {
44
+ if (newValue?.url === oldValue?.url) {
45
+ $store.dispatch('main/A_CHANGE_CONSOLE_IN_WINDOW_LOADING', false)
46
+ }
47
+ },
48
+ { deep: true }
49
+ )
50
+
51
+ const onHide = (): void => {
52
+ $store.dispatch('main/A_SHOW_CONSOLE_IN_WINDOW', {
53
+ width: -1,
54
+ height: -1,
55
+ top: -1,
56
+ left: -1,
57
+ name: '',
58
+ isShow: false,
59
+ isLoading: false,
60
+ url: '',
61
+ })
62
+ }
63
+ </script>
64
+
65
+ <style scoped lang="scss">
66
+ .monitor-icon {
67
+ min-width: 16px;
68
+ min-height: 16px;
69
+ }
70
+ </style>
@@ -1,7 +1,7 @@
1
- export type UI_T_UserPreferenceTab =
2
- | 'time-tab'
3
- | 'language-tab'
4
- | 'console-tab'
5
- | 'inventory-tab'
6
- | 'security-tab'
7
- | 'view-tab'
1
+ export type UI_T_UserPreferenceTab =
2
+ | 'time-tab'
3
+ | 'language-tab'
4
+ | 'console-tab'
5
+ | 'inventory-tab'
6
+ | 'security-tab'
7
+ | 'view-tab'
@@ -1,64 +1,64 @@
1
- <template>
2
- <form id="view-form">
3
- <!-- TODO Shorten code by the new component for the form -->
4
- <div class="flex">
5
- <ui-modal-icon>
6
- <ui-icon-icon3 name="eye-open" width="20" height="20" />
7
- </ui-modal-icon>
8
- <div>
9
- <div class="form-first-title">
10
- {{ localization.common.view }}
11
- </div>
12
- <div class="form-second-title">
13
- {{ props.description }}
14
- </div>
15
-
16
- <div class="flex-align-center new-view-switch-container">
17
- <ui-switch
18
- v-model="newViewLocal"
19
- :label="localization.common.newView"
20
- test-id="view-switch"
21
- />
22
- </div>
23
- </div>
24
- </div>
25
- <div class="flex mt-4">
26
- <div style="width: 38px" class="mr-3"></div>
27
- <div>
28
- <div class="form-second-title">
29
- {{ localization.myPreferences.showNotificationDescription }}
30
- </div>
31
-
32
- <div class="flex-align-center new-view-switch-container">
33
- <ui-switch
34
- v-model="isShowNotification"
35
- :label="localization.myPreferences.showNotification"
36
- test-id="show-notification-switch"
37
- />
38
- </div>
39
- </div>
40
- </div>
41
- </form>
42
- </template>
43
-
44
- <script setup lang="ts">
45
- import type { UI_I_Localization } from '~/lib/models/interfaces'
46
-
47
- const newViewLocal = defineModel<boolean>()
48
- const isShowNotification = defineModel<boolean>('isShowNotification')
49
-
50
- const props = defineProps<{
51
- description: string
52
- }>()
53
-
54
- const localization = computed<UI_I_Localization>(() => useLocal())
55
- </script>
56
-
57
- <style lang="scss" scoped>
58
- .new-view-switch-container {
59
- :deep(.switch-content .switch-label) {
60
- font-size: 13px;
61
- font-weight: 400;
62
- }
63
- }
64
- </style>
1
+ <template>
2
+ <form id="view-form">
3
+ <!-- TODO Shorten code by the new component for the form -->
4
+ <div class="flex">
5
+ <ui-modal-icon>
6
+ <ui-icon-icon3 name="eye-open" width="20" height="20" />
7
+ </ui-modal-icon>
8
+ <div>
9
+ <div class="form-first-title">
10
+ {{ localization.common.view }}
11
+ </div>
12
+ <div class="form-second-title">
13
+ {{ props.description }}
14
+ </div>
15
+
16
+ <div class="flex-align-center new-view-switch-container">
17
+ <ui-switch
18
+ v-model="newViewLocal"
19
+ :label="localization.common.newView"
20
+ test-id="view-switch"
21
+ />
22
+ </div>
23
+ </div>
24
+ </div>
25
+ <div class="flex mt-4">
26
+ <div style="width: 38px" class="mr-3"></div>
27
+ <div>
28
+ <div class="form-second-title">
29
+ {{ localization.myPreferences.showNotificationDescription }}
30
+ </div>
31
+
32
+ <div class="flex-align-center new-view-switch-container">
33
+ <ui-switch
34
+ v-model="isShowNotification"
35
+ :label="localization.myPreferences.showNotification"
36
+ test-id="show-notification-switch"
37
+ />
38
+ </div>
39
+ </div>
40
+ </div>
41
+ </form>
42
+ </template>
43
+
44
+ <script setup lang="ts">
45
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
46
+
47
+ const newViewLocal = defineModel<boolean>()
48
+ const isShowNotification = defineModel<boolean>('isShowNotification')
49
+
50
+ const props = defineProps<{
51
+ description: string
52
+ }>()
53
+
54
+ const localization = computed<UI_I_Localization>(() => useLocal())
55
+ </script>
56
+
57
+ <style lang="scss" scoped>
58
+ .new-view-switch-container {
59
+ :deep(.switch-content .switch-label) {
60
+ font-size: 13px;
61
+ font-weight: 400;
62
+ }
63
+ }
64
+ </style>
@@ -1,52 +1,52 @@
1
- <template>
2
- <div class="detail-view overflow-auto py-0 px-6">
3
- <table v-if="detailData" class="table table-noborder">
4
- <tbody>
5
- <tr>
6
- <td class="left">{{ localization.common.name }}</td>
7
- <td class="left backup-name-label">{{ detailData.name }}</td>
8
- </tr>
9
- <tr>
10
- <td class="left">{{ localization.common.description }}</td>
11
- <td class="left backup-name-label">{{ detailData.description }}</td>
12
- </tr>
13
- <tr>
14
- <td class="left">{{ localization.common.timestamp }}</td>
15
- <td class="left backup-name-label">{{ detailData.timestamp }}</td>
16
- </tr>
17
- </tbody>
18
- </table>
19
- </div>
20
- </template>
21
-
22
- <script setup lang="ts">
23
- import type { UI_I_Localization } from '~/lib/models/interfaces'
24
- import type { UI_I_BackupsTreeNode } from '~/components/common/pages/backups/lib/models/interfaces'
25
-
26
- const props = defineProps<{
27
- detail: UI_I_BackupsTreeNode | null
28
- }>()
29
-
30
- const localization = computed<UI_I_Localization>(() => useLocal())
31
-
32
- const detailData = ref<UI_I_BackupsTreeNode | null>(null)
33
- watch(
34
- () => props.detail,
35
- (newValue) => {
36
- detailData.value = newValue
37
- },
38
- { immediate: true, deep: true }
39
- )
40
- </script>
41
-
42
- <style scoped lang="scss">
43
- .detail-view {
44
- width: 50%;
45
-
46
- .table {
47
- .left:not(.backup-name-label) {
48
- width: 320px;
49
- }
50
- }
51
- }
52
- </style>
1
+ <template>
2
+ <div class="detail-view overflow-auto py-0 px-6">
3
+ <table v-if="detailData" class="table table-noborder">
4
+ <tbody>
5
+ <tr>
6
+ <td class="left">{{ localization.common.name }}</td>
7
+ <td class="left backup-name-label">{{ detailData.name }}</td>
8
+ </tr>
9
+ <tr>
10
+ <td class="left">{{ localization.common.description }}</td>
11
+ <td class="left backup-name-label">{{ detailData.description }}</td>
12
+ </tr>
13
+ <tr>
14
+ <td class="left">{{ localization.common.timestamp }}</td>
15
+ <td class="left backup-name-label">{{ detailData.timestamp }}</td>
16
+ </tr>
17
+ </tbody>
18
+ </table>
19
+ </div>
20
+ </template>
21
+
22
+ <script setup lang="ts">
23
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
24
+ import type { UI_I_BackupsTreeNode } from '~/components/common/pages/backups/lib/models/interfaces'
25
+
26
+ const props = defineProps<{
27
+ detail: UI_I_BackupsTreeNode | null
28
+ }>()
29
+
30
+ const localization = computed<UI_I_Localization>(() => useLocal())
31
+
32
+ const detailData = ref<UI_I_BackupsTreeNode | null>(null)
33
+ watch(
34
+ () => props.detail,
35
+ (newValue) => {
36
+ detailData.value = newValue
37
+ },
38
+ { immediate: true, deep: true }
39
+ )
40
+ </script>
41
+
42
+ <style scoped lang="scss">
43
+ .detail-view {
44
+ width: 50%;
45
+
46
+ .table {
47
+ .left:not(.backup-name-label) {
48
+ width: 320px;
49
+ }
50
+ }
51
+ }
52
+ </style>
@@ -1,36 +1,36 @@
1
- import type { API_UI_I_DataTable } from '~/lib/models/table/interfaces'
2
- import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
3
- import type { UI_T_BackupActionType } from '~/components/common/pages/backups/lib/models/types'
4
-
5
- export interface API_UI_I_Backup {
6
- creation_time: number
7
- creation_type: number
8
- description: string
9
- kind: number // TODO
10
- msg: string
11
- name: string
12
- state: number // TODO
13
- uuid: string
14
- vm_name: string
15
- vmid: string
16
- storage_id: string
17
- storage_name: string
18
- }
19
-
20
- export interface UI_I_Backup extends API_UI_I_Backup {}
21
-
22
- export interface UI_I_BackupsTreeNode
23
- extends UI_I_TreeNode<UI_I_BackupsTreeNode> {
24
- parent_id: string
25
- timestamp: string
26
- description: string
27
- }
28
-
29
- export interface UI_I_BackupAction {
30
- action: UI_T_BackupActionType | ''
31
- id?: string
32
- name?: string
33
- backupId?: string
34
- bucketId?: string
35
- storageId?: string
36
- }
1
+ import type { API_UI_I_DataTable } from '~/lib/models/table/interfaces'
2
+ import type { UI_I_TreeNode } from '~/components/common/recursionTree/lib/models/interfaces'
3
+ import type { UI_T_BackupActionType } from '~/components/common/pages/backups/lib/models/types'
4
+
5
+ export interface API_UI_I_Backup {
6
+ creation_time: number
7
+ creation_type: number
8
+ description: string
9
+ kind: number // TODO
10
+ msg: string
11
+ name: string
12
+ state: number // TODO
13
+ uuid: string
14
+ vm_name: string
15
+ vmid: string
16
+ storage_id: string
17
+ storage_name: string
18
+ }
19
+
20
+ export interface UI_I_Backup extends API_UI_I_Backup {}
21
+
22
+ export interface UI_I_BackupsTreeNode
23
+ extends UI_I_TreeNode<UI_I_BackupsTreeNode> {
24
+ parent_id: string
25
+ timestamp: string
26
+ description: string
27
+ }
28
+
29
+ export interface UI_I_BackupAction {
30
+ action: UI_T_BackupActionType | ''
31
+ id?: string
32
+ name?: string
33
+ backupId?: string
34
+ bucketId?: string
35
+ storageId?: string
36
+ }