bfg-common 1.5.445 → 1.5.447

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 (126) 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/components/atoms/TheIcon3.vue +50 -50
  7. package/components/atoms/collapse/CollapseNav.vue +170 -170
  8. package/components/atoms/perPage/PerPage.vue +58 -58
  9. package/components/atoms/table/dataGrid/DataGrid.vue +1694 -1694
  10. package/components/atoms/table/dataGrid/DataGridPagination.vue +97 -97
  11. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  12. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  13. package/components/common/browse/blocks/Container.vue +235 -235
  14. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  15. package/components/common/context/lib/models/interfaces.ts +33 -33
  16. package/components/common/diagramMain/modals/lib/config/networkModal.ts +398 -398
  17. package/components/common/diagramMain/modals/lib/config/portModal.ts +251 -251
  18. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
  19. package/components/common/diagramMain/port/Port.vue +580 -580
  20. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  21. package/components/common/layout/theHeader/userMenu/UserMenu.vue +1 -1
  22. package/components/common/layout/theHeader/userMenu/modals/preferences/Preferences.vue +1 -1
  23. package/components/common/layout/theHeader/userMenu/modals/preferences/PreferencesOld.vue +1 -0
  24. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/ChangeLanguage.vue +4 -2
  25. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/ChangeLanguageOld.vue +5 -4
  26. package/components/common/pages/backups/Backups.vue +102 -102
  27. package/components/common/pages/backups/DetailView.vue +52 -52
  28. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  29. package/components/common/pages/backups/modals/createBackup/configuration/Configuration.vue +29 -29
  30. package/components/common/pages/backups/modals/createBackup/configuration/backupWindow/BackupWindow.vue +26 -26
  31. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/MaxBandwidth.vue +66 -66
  32. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  33. package/components/common/pages/backups/modals/createBackup/configuration/strategy/Strategy.vue +35 -35
  34. package/components/common/pages/backups/modals/createBackup/datastores/Datastores.vue +59 -59
  35. package/components/common/pages/backups/modals/createBackup/datastores/tableView/TableView.vue +95 -95
  36. package/components/common/pages/backups/modals/createBackup/disks/tableView/lib/config/table.ts +117 -117
  37. package/components/common/pages/backups/modals/createBackup/general/General.vue +135 -135
  38. package/components/common/pages/backups/modals/createBackup/lib/config/strategyOptions.ts +12 -12
  39. package/components/common/pages/backups/modals/lib/config/restore.ts +115 -115
  40. package/components/common/pages/backups/modals/lib/models/interfaces.ts +186 -186
  41. package/components/common/pages/backups/modals/restore/disks/Disks.vue +27 -27
  42. package/components/common/pages/backups/modals/restore/disks/tableView/TableView.vue +102 -102
  43. package/components/common/pages/backups/modals/restore/disks/tableView/lib/config/table.ts +117 -117
  44. package/components/common/pages/backups/modals/restore/name/Name.vue +160 -160
  45. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  46. package/components/common/pages/backups/modals/restore/networks/Networks.vue +67 -67
  47. package/components/common/pages/backups/modals/restore/networks/table/Table.vue +214 -214
  48. package/components/common/pages/backups/modals/restore/types/lib/config/typeOptions.ts +25 -25
  49. package/components/common/pages/backups/tools/Tools.vue +75 -75
  50. package/components/common/pages/backups/tools/lib/config/tabs.ts +36 -36
  51. package/components/common/pages/home/headline/Headline.vue +9 -4
  52. package/components/common/pages/home/headline/HeadlineNew.vue +9 -4
  53. package/components/common/pages/home/headline/HeadlineOld.vue +47 -42
  54. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  55. package/components/common/pages/home/widgets/Widgets.vue +1 -0
  56. package/components/common/pages/home/widgets/WidgetsOld.vue +7 -1
  57. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  58. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  59. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  60. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  61. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  62. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  63. package/components/common/select/radio/RadioGroup.vue +137 -137
  64. package/components/common/spiceConsole/Drawer.vue +381 -381
  65. package/components/common/spiceConsole/SpiceConsole.vue +127 -127
  66. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  67. package/components/common/split/vertical/VerticalOld.vue +6 -4
  68. package/components/common/tools/Actions.vue +207 -207
  69. package/components/common/treeView/TreeView.vue +52 -52
  70. package/components/common/vm/actions/add/folderTreeView/FolderTreeView.vue +72 -72
  71. package/components/common/vm/actions/add/folderTreeView/New.vue +40 -40
  72. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +2 -1
  73. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +78 -78
  75. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  76. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  77. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  78. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +154 -154
  79. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationOld.vue +85 -85
  80. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/maximumSize/MaximumSize.vue +23 -23
  81. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/Table.vue +99 -99
  82. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  83. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  84. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  85. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  86. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  87. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  88. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  89. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  90. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  91. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  92. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +53 -53
  93. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +32 -32
  94. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +60 -60
  95. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +174 -174
  96. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  97. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapOld.vue +44 -44
  98. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  99. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  100. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  101. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  102. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +143 -143
  103. package/components/common/vm/actions/common/select/computeResource/New.vue +184 -184
  104. package/components/common/vm/actions/common/select/computeResource/treeView/TreeView.vue +131 -131
  105. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  106. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  107. package/components/common/vm/actions/common/select/os/Old.vue +152 -152
  108. package/components/common/vm/actions/common/select/os/Os.vue +139 -139
  109. package/components/common/vm/actions/common/select/storage/new/New.vue +320 -320
  110. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  111. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  112. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  113. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  114. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  115. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  116. package/components/common/wizards/vm/migrate/select/type/lib/config/typeOptions.ts +45 -45
  117. package/composables/productNameLocal.ts +30 -30
  118. package/composables/useAppVersion.ts +21 -21
  119. package/package.json +2 -2
  120. package/plugins/date.ts +233 -233
  121. package/plugins/panelStates.ts +70 -70
  122. package/plugins/text.ts +59 -59
  123. package/public/spice-console/lib/images/bitmap.js +203 -203
  124. package/public/spice-console/network/spicechannel.js +390 -390
  125. package/store/main/mutations.ts +7 -7
  126. package/store/main/state.ts +7 -7
@@ -1,85 +1,85 @@
1
- <template>
2
- <div class="">
3
- <atoms-stack-block :has-children="false">
4
- <template #stackBlockKey>
5
- {{ localization.common.location }}
6
- </template>
7
- <template #stackBlockContent>
8
- <atoms-tooltip-error
9
- :has-error="!!props.apiError"
10
- :selector="`.vm-wizard-disk-device-target-field-${props.index}`"
11
- @remove="emits('remove-validation-error')"
12
- >
13
- <template #elem>
14
- <div class="select">
15
- <select
16
- :id="`vm-wizard-disk-device-target-field-${props.index}`"
17
- v-model="selectedLocation"
18
- :data-id="`vm-wizard-disk-device-target-field-${props.index}`"
19
- :class="`vm-wizard-disk-device-target-field-${props.index}`"
20
- @change="emits('change-location', $event)"
21
- >
22
- <option
23
- v-for="(item, key) in props.locationOptions"
24
- :key="key"
25
- :value="item.value"
26
- >
27
- {{ item.text }}
28
- </option>
29
- </select>
30
- </div>
31
- </template>
32
- <template #content>{{ props.apiError }}</template>
33
- </atoms-tooltip-error>
34
- </template>
35
- </atoms-stack-block>
36
-
37
- <Teleport to="body">
38
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-hard-disk-location-storage-modal
39
- :storage-modal-is-show="props.storageModalIsShow"
40
- :storage-submit="props.storageSubmit"
41
- :datastore="props.datastore"
42
- :is-datastore-loading="props.isDatastoreLoading"
43
- :get-datastore-table-func="props.getDatastoreTableFunc"
44
- @change-storage="emits('change-storage', $event)"
45
- @hide="emits('hide-storage-modal')"
46
- @submit="emits('submit-storage-modal')"
47
- />
48
- </Teleport>
49
- </div>
50
- </template>
51
-
52
- <script setup lang="ts">
53
- import type {
54
- UI_I_HTMLSelectElement,
55
- UI_I_Localization,
56
- } from '~/lib/models/interfaces'
57
- import type { UI_I_DatastoreTableItem } from '~/lib/models/store/storage/interfaces'
58
- import type { UI_I_TablePayload } from '~/lib/models/table/interfaces'
59
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
60
-
61
- const selectedLocation = defineModel<string>('selectedLocation', {
62
- required: true,
63
- })
64
- const props = defineProps<{
65
- index: number
66
- datastore: UI_I_DatastoreTableItem[]
67
- isDatastoreLoading: boolean
68
- getDatastoreTableFunc: (payload: UI_I_TablePayload) => Promise<void>
69
- apiError: string
70
- locationOptions: UI_I_OptionItem[]
71
- storageModalIsShow: boolean
72
- storageSubmit: null | Function
73
- }>()
74
- const emits = defineEmits<{
75
- (event: 'change-location', value: UI_I_HTMLSelectElement): void
76
- (event: 'change-storage', value: UI_I_DatastoreTableItem): void
77
- (event: 'hide-storage-modal'): void
78
- (event: 'submit-storage-modal'): void
79
- (event: 'remove-validation-error'): void
80
- }>()
81
-
82
- const localization = computed<UI_I_Localization>(() => useLocal())
83
- </script>
84
-
85
- <style scoped lang="scss"></style>
1
+ <template>
2
+ <div class="">
3
+ <atoms-stack-block :has-children="false">
4
+ <template #stackBlockKey>
5
+ {{ localization.common.location }}
6
+ </template>
7
+ <template #stackBlockContent>
8
+ <atoms-tooltip-error
9
+ :has-error="!!props.apiError"
10
+ :selector="`.vm-wizard-disk-device-target-field-${props.index}`"
11
+ @remove="emits('remove-validation-error')"
12
+ >
13
+ <template #elem>
14
+ <div class="select">
15
+ <select
16
+ :id="`vm-wizard-disk-device-target-field-${props.index}`"
17
+ v-model="selectedLocation"
18
+ :data-id="`vm-wizard-disk-device-target-field-${props.index}`"
19
+ :class="`vm-wizard-disk-device-target-field-${props.index}`"
20
+ @change="emits('change-location', $event)"
21
+ >
22
+ <option
23
+ v-for="(item, key) in props.locationOptions"
24
+ :key="key"
25
+ :value="item.value"
26
+ >
27
+ {{ item.text }}
28
+ </option>
29
+ </select>
30
+ </div>
31
+ </template>
32
+ <template #content>{{ props.apiError }}</template>
33
+ </atoms-tooltip-error>
34
+ </template>
35
+ </atoms-stack-block>
36
+
37
+ <Teleport to="body">
38
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-hard-disk-location-storage-modal
39
+ :storage-modal-is-show="props.storageModalIsShow"
40
+ :storage-submit="props.storageSubmit"
41
+ :datastore="props.datastore"
42
+ :is-datastore-loading="props.isDatastoreLoading"
43
+ :get-datastore-table-func="props.getDatastoreTableFunc"
44
+ @change-storage="emits('change-storage', $event)"
45
+ @hide="emits('hide-storage-modal')"
46
+ @submit="emits('submit-storage-modal')"
47
+ />
48
+ </Teleport>
49
+ </div>
50
+ </template>
51
+
52
+ <script setup lang="ts">
53
+ import type {
54
+ UI_I_HTMLSelectElement,
55
+ UI_I_Localization,
56
+ } from '~/lib/models/interfaces'
57
+ import type { UI_I_DatastoreTableItem } from '~/lib/models/store/storage/interfaces'
58
+ import type { UI_I_TablePayload } from '~/lib/models/table/interfaces'
59
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
60
+
61
+ const selectedLocation = defineModel<string>('selectedLocation', {
62
+ required: true,
63
+ })
64
+ const props = defineProps<{
65
+ index: number
66
+ datastore: UI_I_DatastoreTableItem[]
67
+ isDatastoreLoading: boolean
68
+ getDatastoreTableFunc: (payload: UI_I_TablePayload) => Promise<void>
69
+ apiError: string
70
+ locationOptions: UI_I_OptionItem[]
71
+ storageModalIsShow: boolean
72
+ storageSubmit: null | Function
73
+ }>()
74
+ const emits = defineEmits<{
75
+ (event: 'change-location', value: UI_I_HTMLSelectElement): void
76
+ (event: 'change-storage', value: UI_I_DatastoreTableItem): void
77
+ (event: 'hide-storage-modal'): void
78
+ (event: 'submit-storage-modal'): void
79
+ (event: 'remove-validation-error'): void
80
+ }>()
81
+
82
+ const localization = computed<UI_I_Localization>(() => useLocal())
83
+ </script>
84
+
85
+ <style scoped lang="scss"></style>
@@ -1,23 +1,23 @@
1
- <template>
2
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-hard-disk-maximum-size-new
3
- v-if="isNewView"
4
- :free-gb="freeGb"
5
- />
6
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-hard-disk-maximum-size-old
7
- v-else
8
- :free-gb="freeGb"
9
- />
10
- </template>
11
-
12
- <script setup lang="ts">
13
- const props = defineProps<{
14
- freeMb: number
15
- }>()
16
-
17
- const { $store, $binary }: any = useNuxtApp()
18
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
19
-
20
- const freeGb = computed<number>(() => $binary.round(props.freeMb))
21
- </script>
22
-
23
- <style scoped></style>
1
+ <template>
2
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-hard-disk-maximum-size-new
3
+ v-if="isNewView"
4
+ :free-gb="freeGb"
5
+ />
6
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-hard-disk-maximum-size-old
7
+ v-else
8
+ :free-gb="freeGb"
9
+ />
10
+ </template>
11
+
12
+ <script setup lang="ts">
13
+ const props = defineProps<{
14
+ freeMb: number
15
+ }>()
16
+
17
+ const { $store, $binary }: any = useNuxtApp()
18
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
19
+
20
+ const freeGb = computed<number>(() => $binary.round(props.freeMb))
21
+ </script>
22
+
23
+ <style scoped></style>
@@ -1,99 +1,99 @@
1
- <template>
2
- <div class="table-wrap">
3
- <ui-data-table
4
- :data="data"
5
- :options="options"
6
- :texts="tableTexts"
7
- :default-layout="false"
8
- size="sm"
9
- test-id="data-table-main"
10
- class="network-table"
11
- server-off
12
- @select-row="onSelect"
13
- >
14
- <template #icon="{ item }">
15
- <span class="flex-align-center">
16
- <span :class="['icon', item.data.icon]" />
17
-
18
- <span class="network-name" :data-id="item.data.testId">
19
- {{ item.text }}
20
- </span>
21
- </span>
22
- </template>
23
- </ui-data-table>
24
- </div>
25
- </template>
26
-
27
- <script setup lang="ts">
28
- import type {
29
- UI_I_DataTable,
30
- UI_I_DataTableHeader,
31
- UI_I_DataTableBody,
32
- UI_I_TableTexts,
33
- } from '~/node_modules/bfg-uikit/components/ui/dataTable/models/interfaces'
34
- import type { UI_I_Localization } from '~/lib/models/interfaces'
35
- import type { UI_I_NetworkTableItem } from '~/lib/models/store/network/interfaces'
36
- import {
37
- options,
38
- getHeaderDataFunc,
39
- getBodyDataFunc,
40
- } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config'
41
- import { tableTextsFunc } from '~/lib/config/uiTable'
42
-
43
- const props = defineProps<{
44
- networksTable: UI_I_NetworkTableItem[]
45
- }>()
46
- const emits = defineEmits<{
47
- (event: 'select', value: string): void
48
- }>()
49
-
50
- const localization = computed<UI_I_Localization>(() => useLocal())
51
-
52
- const tableTexts = computed<UI_I_TableTexts>(() =>
53
- tableTextsFunc(localization.value)
54
- )
55
-
56
- const data = computed<UI_I_DataTable>(() => ({
57
- id: 'new-network-location',
58
- header: headItems.value,
59
- body: bodyItems.value,
60
- }))
61
-
62
- const headItems = computed<UI_I_DataTableHeader[]>(() =>
63
- getHeaderDataFunc(localization.value)
64
- )
65
-
66
- const bodyItems = ref<UI_I_DataTableBody[]>([])
67
- watch(
68
- () => props.networksTable,
69
- (newValue: UI_I_NetworkTableItem[]) => {
70
- if (!newValue?.length) return
71
-
72
- bodyItems.value = getBodyDataFunc(newValue)
73
- },
74
- { deep: true, immediate: true }
75
- )
76
- const onSelect = (value: UI_I_DataTableBody[]): void => {
77
- emits('select', value[0].data[0].text.toString())
78
- }
79
- </script>
80
-
81
- <style scoped lang="scss">
82
- .table-wrap {
83
- .icon {
84
- margin-right: 4px;
85
- }
86
- .network-name {
87
- font-size: 12px;
88
- }
89
- :deep(.column-manager-button) span {
90
- font-weight: 500;
91
- }
92
- }
93
- </style>
94
- <style lang="scss">
95
- .ui-main-no-items-found svg {
96
- width: 24px;
97
- height: 24px;
98
- }
99
- </style>
1
+ <template>
2
+ <div class="table-wrap">
3
+ <ui-data-table
4
+ :data="data"
5
+ :options="options"
6
+ :texts="tableTexts"
7
+ :default-layout="false"
8
+ size="sm"
9
+ test-id="data-table-main"
10
+ class="network-table"
11
+ server-off
12
+ @select-row="onSelect"
13
+ >
14
+ <template #icon="{ item }">
15
+ <span class="flex-align-center">
16
+ <span :class="['icon', item.data.icon]" />
17
+
18
+ <span class="network-name" :data-id="item.data.testId">
19
+ {{ item.text }}
20
+ </span>
21
+ </span>
22
+ </template>
23
+ </ui-data-table>
24
+ </div>
25
+ </template>
26
+
27
+ <script setup lang="ts">
28
+ import type {
29
+ UI_I_DataTable,
30
+ UI_I_DataTableHeader,
31
+ UI_I_DataTableBody,
32
+ UI_I_TableTexts,
33
+ } from '~/node_modules/bfg-uikit/components/ui/dataTable/models/interfaces'
34
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
35
+ import type { UI_I_NetworkTableItem } from '~/lib/models/store/network/interfaces'
36
+ import {
37
+ options,
38
+ getHeaderDataFunc,
39
+ getBodyDataFunc,
40
+ } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config'
41
+ import { tableTextsFunc } from '~/lib/config/uiTable'
42
+
43
+ const props = defineProps<{
44
+ networksTable: UI_I_NetworkTableItem[]
45
+ }>()
46
+ const emits = defineEmits<{
47
+ (event: 'select', value: string): void
48
+ }>()
49
+
50
+ const localization = computed<UI_I_Localization>(() => useLocal())
51
+
52
+ const tableTexts = computed<UI_I_TableTexts>(() =>
53
+ tableTextsFunc(localization.value)
54
+ )
55
+
56
+ const data = computed<UI_I_DataTable>(() => ({
57
+ id: 'new-network-location',
58
+ header: headItems.value,
59
+ body: bodyItems.value,
60
+ }))
61
+
62
+ const headItems = computed<UI_I_DataTableHeader[]>(() =>
63
+ getHeaderDataFunc(localization.value)
64
+ )
65
+
66
+ const bodyItems = ref<UI_I_DataTableBody[]>([])
67
+ watch(
68
+ () => props.networksTable,
69
+ (newValue: UI_I_NetworkTableItem[]) => {
70
+ if (!newValue?.length) return
71
+
72
+ bodyItems.value = getBodyDataFunc(newValue)
73
+ },
74
+ { deep: true, immediate: true }
75
+ )
76
+ const onSelect = (value: UI_I_DataTableBody[]): void => {
77
+ emits('select', value[0].data[0].text.toString())
78
+ }
79
+ </script>
80
+
81
+ <style scoped lang="scss">
82
+ .table-wrap {
83
+ .icon {
84
+ margin-right: 4px;
85
+ }
86
+ .network-name {
87
+ font-size: 12px;
88
+ }
89
+ :deep(.column-manager-button) span {
90
+ font-weight: 500;
91
+ }
92
+ }
93
+ </style>
94
+ <style lang="scss">
95
+ .ui-main-no-items-found svg {
96
+ width: 24px;
97
+ height: 24px;
98
+ }
99
+ </style>
@@ -1,119 +1,119 @@
1
- <template>
2
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-network-mac-address-new
3
- v-if="isNewView"
4
- v-model:mac-address="macAddress"
5
- v-model:mac-address-type="macAddressType"
6
- :index="index"
7
- :disabled="disabled"
8
- :error-text="macAddressLocalAndApiErrorsTexts"
9
- :mac-address-local-error-text="macAddressLocalErrorText"
10
- :mac-address-options="macAddressOptions"
11
- @remove-error="onRemoveValidationError"
12
- />
13
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-network-mac-address-old
14
- v-else
15
- v-model:mac-address="macAddress"
16
- v-model:mac-address-type="macAddressType"
17
- :index="index"
18
- :disabled="disabled"
19
- :error-text="macAddressLocalAndApiErrorsTexts"
20
- :mac-address-local-error-text="macAddressLocalErrorText"
21
- :mac-address-options="macAddressOptions"
22
- @remove-error="onRemoveValidationError"
23
- />
24
- </template>
25
-
26
- <script setup lang="ts">
27
- import type {
28
- UI_I_Localization,
29
- } from '~/lib/models/interfaces'
30
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
31
- import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
32
- import { macAddressOptionsFunc } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/lib/config/options'
33
-
34
- const macAddress = defineModel<string>('macAddress', { required: true })
35
- const macAddressType = defineModel<string>('macAddressType', {
36
- required: true,
37
- })
38
-
39
- const props = defineProps<{
40
- index: number
41
- disabled: boolean
42
- errorValidationFields: UI_I_ErrorValidationField[]
43
- }>()
44
- const emits = defineEmits<{
45
- (event: 'invalid', value: boolean): void
46
- (event: 'remove-error-by-title', value: string): void
47
- }>()
48
-
49
- const { $store }: any = useNuxtApp()
50
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
51
-
52
- const localization = computed<UI_I_Localization>(() => useLocal())
53
-
54
- const macAddressOptions = ref<UI_I_OptionItem[]>(
55
- macAddressOptionsFunc(localization.value)
56
- )
57
-
58
- watch(macAddressType, (newValue) => {
59
- macAddress.value = newValue === 'manual' ? '00:50:56:' : ''
60
- })
61
- // const onChangeMacAddressType = (): void => {
62
- // // emits('update:mac-address-type', event.target.value)
63
- //
64
- // // emits(
65
- // // 'update:mac-address',
66
- // // event.target.value === 'manual' ? '00:50:56:' : ''
67
- // // )
68
- // }
69
- // const onChangeMacAddress = (event: Event): void => {
70
- // const target = event.target as HTMLInputElement
71
- // emits('update:mac-address', target.value)
72
- // }
73
-
74
- const macAddressLocalErrorText = computed<string>(() => {
75
- /* eslint-disable no-useless-escape */
76
- const isValidMacAddress =
77
- /^[0-9a-f]{1,2}([\.:-])(?:[0-9a-f]{1,2}\1){4}[0-9a-f]{1,2}$/.test(
78
- macAddress.value
79
- )
80
-
81
- return macAddressType.value === 'manual' && !isValidMacAddress
82
- ? localization.value.common.invalidMacAddress
83
- : ''
84
- })
85
- watch(macAddressLocalErrorText, (newValue) => {
86
- emits('invalid', !!newValue.length)
87
- })
88
-
89
- const typeError = computed<string>(
90
- () => `network_devices[${props.index}].mac_address`
91
- )
92
-
93
- const apiErrorLocal = computed<string>(() => {
94
- return (
95
- props.errorValidationFields?.find(
96
- (message) => message.field === typeError.value
97
- )?.error_message || ''
98
- )
99
- })
100
-
101
- const macAddressLocalAndApiErrorsTexts = computed<string>(() => {
102
- const localError = macAddressLocalErrorText.value
103
- const apiError = apiErrorLocal.value
104
-
105
- let result = ''
106
- if (localError && !apiError) result = localError
107
- if (!localError && apiError) result = apiError
108
- if (localError && apiError) result = localError + ', ' + apiError
109
- if (!localError && apiError) result = apiError
110
-
111
- return result
112
- })
113
-
114
- const onRemoveValidationError = (): void => {
115
- emits('remove-error-by-title', typeError.value)
116
- }
117
- </script>
118
-
119
- <style scoped lang="scss"></style>
1
+ <template>
2
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-network-mac-address-new
3
+ v-if="isNewView"
4
+ v-model:mac-address="macAddress"
5
+ v-model:mac-address-type="macAddressType"
6
+ :index="index"
7
+ :disabled="disabled"
8
+ :error-text="macAddressLocalAndApiErrorsTexts"
9
+ :mac-address-local-error-text="macAddressLocalErrorText"
10
+ :mac-address-options="macAddressOptions"
11
+ @remove-error="onRemoveValidationError"
12
+ />
13
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-network-mac-address-old
14
+ v-else
15
+ v-model:mac-address="macAddress"
16
+ v-model:mac-address-type="macAddressType"
17
+ :index="index"
18
+ :disabled="disabled"
19
+ :error-text="macAddressLocalAndApiErrorsTexts"
20
+ :mac-address-local-error-text="macAddressLocalErrorText"
21
+ :mac-address-options="macAddressOptions"
22
+ @remove-error="onRemoveValidationError"
23
+ />
24
+ </template>
25
+
26
+ <script setup lang="ts">
27
+ import type {
28
+ UI_I_Localization,
29
+ } from '~/lib/models/interfaces'
30
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
31
+ import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
32
+ import { macAddressOptionsFunc } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/lib/config/options'
33
+
34
+ const macAddress = defineModel<string>('macAddress', { required: true })
35
+ const macAddressType = defineModel<string>('macAddressType', {
36
+ required: true,
37
+ })
38
+
39
+ const props = defineProps<{
40
+ index: number
41
+ disabled: boolean
42
+ errorValidationFields: UI_I_ErrorValidationField[]
43
+ }>()
44
+ const emits = defineEmits<{
45
+ (event: 'invalid', value: boolean): void
46
+ (event: 'remove-error-by-title', value: string): void
47
+ }>()
48
+
49
+ const { $store }: any = useNuxtApp()
50
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
51
+
52
+ const localization = computed<UI_I_Localization>(() => useLocal())
53
+
54
+ const macAddressOptions = ref<UI_I_OptionItem[]>(
55
+ macAddressOptionsFunc(localization.value)
56
+ )
57
+
58
+ watch(macAddressType, (newValue) => {
59
+ macAddress.value = newValue === 'manual' ? '00:50:56:' : ''
60
+ })
61
+ // const onChangeMacAddressType = (): void => {
62
+ // // emits('update:mac-address-type', event.target.value)
63
+ //
64
+ // // emits(
65
+ // // 'update:mac-address',
66
+ // // event.target.value === 'manual' ? '00:50:56:' : ''
67
+ // // )
68
+ // }
69
+ // const onChangeMacAddress = (event: Event): void => {
70
+ // const target = event.target as HTMLInputElement
71
+ // emits('update:mac-address', target.value)
72
+ // }
73
+
74
+ const macAddressLocalErrorText = computed<string>(() => {
75
+ /* eslint-disable no-useless-escape */
76
+ const isValidMacAddress =
77
+ /^[0-9a-f]{1,2}([\.:-])(?:[0-9a-f]{1,2}\1){4}[0-9a-f]{1,2}$/.test(
78
+ macAddress.value
79
+ )
80
+
81
+ return macAddressType.value === 'manual' && !isValidMacAddress
82
+ ? localization.value.common.invalidMacAddress
83
+ : ''
84
+ })
85
+ watch(macAddressLocalErrorText, (newValue) => {
86
+ emits('invalid', !!newValue.length)
87
+ })
88
+
89
+ const typeError = computed<string>(
90
+ () => `network_devices[${props.index}].mac_address`
91
+ )
92
+
93
+ const apiErrorLocal = computed<string>(() => {
94
+ return (
95
+ props.errorValidationFields?.find(
96
+ (message) => message.field === typeError.value
97
+ )?.error_message || ''
98
+ )
99
+ })
100
+
101
+ const macAddressLocalAndApiErrorsTexts = computed<string>(() => {
102
+ const localError = macAddressLocalErrorText.value
103
+ const apiError = apiErrorLocal.value
104
+
105
+ let result = ''
106
+ if (localError && !apiError) result = localError
107
+ if (!localError && apiError) result = apiError
108
+ if (localError && apiError) result = localError + ', ' + apiError
109
+ if (!localError && apiError) result = apiError
110
+
111
+ return result
112
+ })
113
+
114
+ const onRemoveValidationError = (): void => {
115
+ emits('remove-error-by-title', typeError.value)
116
+ }
117
+ </script>
118
+
119
+ <style scoped lang="scss"></style>