bfg-common 1.4.584 → 1.4.586

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/assets/img/icons/icons-sprite-dark-1.svg +437 -407
  2. package/assets/img/icons/icons-sprite-dark-2.svg +347 -343
  3. package/assets/img/icons/icons-sprite-dark-4.svg +259 -255
  4. package/assets/img/icons/icons-sprite-dark-6.svg +94 -94
  5. package/assets/img/icons/icons-sprite-light-1.svg +437 -407
  6. package/assets/img/icons/icons-sprite-light-2.svg +347 -343
  7. package/assets/img/icons/icons-sprite-light-4.svg +259 -255
  8. package/assets/img/icons/icons-sprite-light-6.svg +94 -94
  9. package/assets/scss/common/icons/icons-6.scss +1 -1
  10. package/components/atoms/TheIcon3.vue +50 -50
  11. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  12. package/components/atoms/stack/StackBlock.vue +185 -185
  13. package/components/atoms/table/dataGrid/DataGrid.vue +1633 -1633
  14. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +222 -222
  15. package/components/common/browse/BrowseNew.vue +237 -237
  16. package/components/common/browse/BrowseOld.vue +217 -217
  17. package/components/common/browse/blocks/contents/Files.vue +35 -35
  18. package/components/common/browse/blocks/contents/FilesOld.vue +70 -70
  19. package/components/common/browse/blocks/contents/filesNew/FilesNew.vue +92 -92
  20. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  21. package/components/common/context/lib/models/interfaces.ts +30 -30
  22. package/components/common/context/recursion/Recursion.vue +86 -86
  23. package/components/common/context/recursion/RecursionNew.vue +199 -199
  24. package/components/common/context/recursion/RecursionOld.vue +213 -213
  25. package/components/common/layout/theHeader/helpMenu/About.vue +85 -85
  26. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +103 -103
  27. package/components/common/mainNavigationPanel/MainNavigationPanel.vue +152 -152
  28. package/components/common/pages/home/headline/HeadlineNew.vue +24 -1
  29. package/components/common/pages/home/resource/ResourceNew.vue +5 -0
  30. package/components/common/pages/home/widgets/WidgetsNew.vue +5 -0
  31. package/components/common/pages/shortcuts/block/BlockNew.vue +10 -1
  32. package/components/common/spiceConsole/Drawer.vue +370 -370
  33. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  34. package/components/common/split/vertical/Vertical.vue +160 -160
  35. package/components/common/vm/actions/add/Add.vue +617 -617
  36. package/components/common/vm/actions/clone/lib/config/steps.ts +129 -129
  37. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +267 -267
  38. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +264 -264
  39. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  40. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +118 -118
  41. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +161 -161
  42. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +165 -165
  43. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  44. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +55 -55
  45. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/config/dropdownItems.ts +147 -147
  46. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeOld.vue +55 -55
  47. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +44 -44
  48. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +124 -124
  49. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/LocationOld.vue +134 -134
  50. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +63 -63
  51. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/Table.vue +74 -74
  52. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +95 -95
  53. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  54. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +69 -69
  55. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressOld.vue +83 -83
  56. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDeviceNew.vue +85 -85
  57. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDeviceOld.vue +91 -91
  58. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +35 -35
  59. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +48 -48
  60. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  61. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  62. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  63. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +30 -30
  64. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelectionNew.vue +46 -46
  65. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +56 -56
  66. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  67. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +27 -27
  68. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +54 -54
  69. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  70. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  71. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  72. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  73. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  74. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +42 -42
  75. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +25 -25
  76. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  77. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  78. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +141 -141
  79. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  80. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  81. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  82. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +30 -30
  83. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  84. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +39 -39
  85. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +100 -100
  86. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +38 -38
  87. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  88. package/components/common/vm/actions/common/select/storage/Storage.vue +130 -130
  89. package/components/common/vm/actions/common/select/storage/StorageOld.vue +129 -129
  90. package/components/common/vm/actions/common/select/storage/new/New.vue +159 -159
  91. package/components/common/vm/actions/editSettings/EditSettings.vue +214 -214
  92. package/components/common/vm/actions/editSettings/EditSettingsOld.vue +182 -182
  93. package/components/common/vm/actions/editSettings/new/New.vue +176 -176
  94. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  95. package/composables/productNameLocal.ts +30 -30
  96. package/package.json +2 -2
  97. package/plugins/date.ts +233 -233
  98. package/plugins/recursion.ts +311 -311
  99. package/public/spice-console/lib/images/bitmap.js +203 -203
  100. package/public/spice-console/network/spicechannel.js +383 -383
  101. package/store/main/mutations.ts +7 -7
  102. package/store/main/state.ts +7 -7
@@ -1,124 +1,124 @@
1
- <template>
2
- <ui-stack-block
3
- :has-children="true"
4
- :removable="props.isRemovable"
5
- :test-id="`network-stack-block-${props.index}`"
6
- @remove="emits('remove')"
7
- >
8
- <template #stackBlockKey>
9
- <div
10
- :id="`vm-wizard-toggle-block-network-${props.index}`"
11
- :data-id="`vm-wizard-toggle-block-network-${props.index}`"
12
- class="vm-wizard-toggle-block-network flex-align-center"
13
- >
14
- <span class="title">{{ props.label }}</span>
15
- <ui-icon
16
- v-show="newNetworkInvalid"
17
- width="18px"
18
- height="18px"
19
- name="error-outline"
20
- />
21
- </div>
22
- </template>
23
- <template #stackBlockContent>
24
- <ui-select
25
- :id="`vm-wizard-network-field-${props.index}`"
26
- v-model="selectedLocation"
27
- width="auto"
28
- :items="props.locationOptions"
29
- :disabled="props.type === 'edit' && props.state !== 1"
30
- :test-id="`vm-wizard-network-field-${props.index}`"
31
- :class="`vm-wizard-network-field-${props.index} network-select`"
32
- :error-text="props.errorText"
33
- @change="onChangeLocation"
34
- @click.stop
35
- />
36
- </template>
37
- <template #stackChildren>
38
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-network-adapter-type
39
- v-model:adapter-type="adapterType"
40
- :index="props.index"
41
- :disabled="props.type === 'edit' || props.isRunning"
42
- :error-validation-fields="props.errorValidationFields"
43
- @remove-error-by-title="emits('remove-error-by-title', $event)"
44
- />
45
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-network-mac-address
46
- v-model:mac-address="macAddress"
47
- v-model:mac-address-type="macAddressType"
48
- :index="props.index"
49
- :disabled="props.type === 'edit'"
50
- :error-validation-fields="props.errorValidationFields"
51
- @invalid="newNetworkInvalid = $event"
52
- @remove-error-by-title="emits('remove-error-by-title', $event)"
53
- />
54
- </template>
55
- </ui-stack-block>
56
-
57
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-network-location
58
- v-if="props.locationModalIsShow"
59
- :location-modal-is-show="props.locationModalIsShow"
60
- :networks-table="props.networksTable"
61
- @hide="emits('hide-location-modal')"
62
- @select="emits('select-location', $event)"
63
- />
64
- </template>
65
-
66
- <script setup lang="ts">
67
- import type { UI_I_NetworkTableItem } from '~/lib/models/store/network/interfaces'
68
- import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
69
- import type { UI_T_NetworkType } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/types'
70
- import type {
71
- UI_I_HTMLSelectElement,
72
- } from '~/lib/models/interfaces'
73
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
74
-
75
- const selectedLocation = defineModel<string>('selectedLocation')
76
- const adapterType = defineModel<string>('adapterType', { required: true })
77
- const macAddress = defineModel<string>('macAddress', { required: true })
78
- const macAddressType = defineModel<string>('macAddressType', {
79
- required: true,
80
- })
81
- const newNetworkInvalid = defineModel<boolean>('newNetworkInvalid', {
82
- required: true,
83
- })
84
-
85
- const props = defineProps<{
86
- index: number
87
- type: UI_T_NetworkType
88
- networksTable: UI_I_NetworkTableItem[]
89
- errorValidationFields: UI_I_ErrorValidationField[]
90
- isRemovable: boolean
91
- label: string
92
- errorText: string
93
- typeError: string
94
- locationOptions: UI_I_OptionItem[]
95
- isRunning: boolean
96
- locationModalIsShow: boolean
97
- state?: string | number
98
- }>()
99
-
100
- const emits = defineEmits<{
101
- (event: 'remove'): void
102
- (event: 'remove-error-by-title', value: string): void
103
- (event: 'change-location', value: UI_I_HTMLSelectElement): void
104
- (event: 'hide-location-modal'): void
105
- (event: 'select-location', value: UI_I_NetworkTableItem): void
106
- }>()
107
-
108
- const onChangeLocation = (data: UI_T_SelectedValue): void => {
109
- emits('change-location', { target: { value: data } })
110
- }
111
- </script>
112
-
113
- <style scoped lang="scss">
114
- .title {
115
- margin-right: 10px;
116
- }
117
-
118
- :deep(.network-select .ui-main-select-toggle) {
119
- display: flex;
120
- justify-content: space-between;
121
- width: 196px;
122
- //background-color: #ffffff;
123
- }
124
- </style>
1
+ <template>
2
+ <ui-stack-block
3
+ :has-children="true"
4
+ :removable="props.isRemovable"
5
+ :test-id="`network-stack-block-${props.index}`"
6
+ @remove="emits('remove')"
7
+ >
8
+ <template #stackBlockKey>
9
+ <div
10
+ :id="`vm-wizard-toggle-block-network-${props.index}`"
11
+ :data-id="`vm-wizard-toggle-block-network-${props.index}`"
12
+ class="vm-wizard-toggle-block-network flex-align-center"
13
+ >
14
+ <span class="title">{{ props.label }}</span>
15
+ <ui-icon
16
+ v-show="newNetworkInvalid"
17
+ width="18px"
18
+ height="18px"
19
+ name="error-outline"
20
+ />
21
+ </div>
22
+ </template>
23
+ <template #stackBlockContent>
24
+ <ui-select
25
+ :id="`vm-wizard-network-field-${props.index}`"
26
+ v-model="selectedLocation"
27
+ width="auto"
28
+ :items="props.locationOptions"
29
+ :disabled="props.type === 'edit' && props.state !== 1"
30
+ :test-id="`vm-wizard-network-field-${props.index}`"
31
+ :class="`vm-wizard-network-field-${props.index} network-select`"
32
+ :error-text="props.errorText"
33
+ @change="onChangeLocation"
34
+ @click.stop
35
+ />
36
+ </template>
37
+ <template #stackChildren>
38
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-network-adapter-type
39
+ v-model:adapter-type="adapterType"
40
+ :index="props.index"
41
+ :disabled="props.type === 'edit' || props.isRunning"
42
+ :error-validation-fields="props.errorValidationFields"
43
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
44
+ />
45
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-network-mac-address
46
+ v-model:mac-address="macAddress"
47
+ v-model:mac-address-type="macAddressType"
48
+ :index="props.index"
49
+ :disabled="props.type === 'edit'"
50
+ :error-validation-fields="props.errorValidationFields"
51
+ @invalid="newNetworkInvalid = $event"
52
+ @remove-error-by-title="emits('remove-error-by-title', $event)"
53
+ />
54
+ </template>
55
+ </ui-stack-block>
56
+
57
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-network-location
58
+ v-if="props.locationModalIsShow"
59
+ :location-modal-is-show="props.locationModalIsShow"
60
+ :networks-table="props.networksTable"
61
+ @hide="emits('hide-location-modal')"
62
+ @select="emits('select-location', $event)"
63
+ />
64
+ </template>
65
+
66
+ <script setup lang="ts">
67
+ import type { UI_I_NetworkTableItem } from '~/lib/models/store/network/interfaces'
68
+ import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
69
+ import type { UI_T_NetworkType } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/types'
70
+ import type {
71
+ UI_I_HTMLSelectElement,
72
+ } from '~/lib/models/interfaces'
73
+ import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
74
+
75
+ const selectedLocation = defineModel<string>('selectedLocation')
76
+ const adapterType = defineModel<string>('adapterType', { required: true })
77
+ const macAddress = defineModel<string>('macAddress', { required: true })
78
+ const macAddressType = defineModel<string>('macAddressType', {
79
+ required: true,
80
+ })
81
+ const newNetworkInvalid = defineModel<boolean>('newNetworkInvalid', {
82
+ required: true,
83
+ })
84
+
85
+ const props = defineProps<{
86
+ index: number
87
+ type: UI_T_NetworkType
88
+ networksTable: UI_I_NetworkTableItem[]
89
+ errorValidationFields: UI_I_ErrorValidationField[]
90
+ isRemovable: boolean
91
+ label: string
92
+ errorText: string
93
+ typeError: string
94
+ locationOptions: UI_I_OptionItem[]
95
+ isRunning: boolean
96
+ locationModalIsShow: boolean
97
+ state?: string | number
98
+ }>()
99
+
100
+ const emits = defineEmits<{
101
+ (event: 'remove'): void
102
+ (event: 'remove-error-by-title', value: string): void
103
+ (event: 'change-location', value: UI_I_HTMLSelectElement): void
104
+ (event: 'hide-location-modal'): void
105
+ (event: 'select-location', value: UI_I_NetworkTableItem): void
106
+ }>()
107
+
108
+ const onChangeLocation = (data: UI_T_SelectedValue): void => {
109
+ emits('change-location', { target: { value: data } })
110
+ }
111
+ </script>
112
+
113
+ <style scoped lang="scss">
114
+ .title {
115
+ margin-right: 10px;
116
+ }
117
+
118
+ :deep(.network-select .ui-main-select-toggle) {
119
+ display: flex;
120
+ justify-content: space-between;
121
+ width: 196px;
122
+ //background-color: #ffffff;
123
+ }
124
+ </style>
@@ -1,134 +1,134 @@
1
- <template>
2
- <div>
3
- <Teleport to="body">
4
- <atoms-modal
5
- class="network-modal"
6
- :show="props.locationModalIsShow"
7
- :title="localization.common.selectNetwork"
8
- test-id="select-network-modal"
9
- @submit="emits('submit')"
10
- @hide="emits('hide')"
11
- >
12
- <template #modalBody>
13
- <atoms-alert
14
- v-show="props.errors.length"
15
- status="alert-danger"
16
- :items="props.errors"
17
- test-id="location-alert"
18
- @remove="emits('remove-errors')"
19
- />
20
- <div class="network-select-dialog-content">
21
- <div class="k-header k-grid-toolbar flex-justify-end">
22
- <div class="filter-input pull-right flex">
23
- <button
24
- id="location-filter-button"
25
- data-id="location-filter-button"
26
- class="nav-icon fa fa-filter filter-button"
27
- >
28
- <atoms-the-icon
29
- class="filter-icon"
30
- fill="#4c5356"
31
- name="filter"
32
- />
33
- </button>
34
- <input
35
- id="location-filter"
36
- v-model="locationFilter"
37
- data-id="location-filter-input"
38
- type="text"
39
- :placeholder="localization.common.filter"
40
- />
41
- </div>
42
- </div>
43
- <atoms-table-simple-table
44
- :head-items="headItems"
45
- :body-items="bodyItems"
46
- editable
47
- @select="onSelect"
48
- />
49
- </div>
50
- </template>
51
- </atoms-modal>
52
- </Teleport>
53
- </div>
54
- </template>
55
-
56
- <script setup lang="ts">
57
- import type { UI_I_Localization } from '~/lib/models/interfaces'
58
- import type { UI_I_NetworkTableItem } from '~/lib/models/store/network/interfaces'
59
- import type {
60
- UI_I_TableHeadItem,
61
- UI_I_TableBodyItem,
62
- } from '~/components/atoms/table/simpleTable/lib/models/interfaces'
63
-
64
- const locationFilter = defineModel<string>('locationFilter', {
65
- required: true,
66
- })
67
-
68
- const props = defineProps<{
69
- locationModalIsShow: boolean
70
- networksTable: UI_I_NetworkTableItem[]
71
- errors: string[]
72
- }>()
73
- const emits = defineEmits<{
74
- (event: 'submit'): void
75
- (event: 'select', value: string): void
76
- (event: 'remove-errors'): void
77
- (event: 'hide'): void
78
- }>()
79
-
80
- const localization = computed<UI_I_Localization>(() => useLocal())
81
-
82
- const headItems = ref<UI_I_TableHeadItem[]>([
83
- { text: localization.value.common.name },
84
- { text: localization.value.common.nsxPortGroupId },
85
- { text: localization.value.common.distributedSwitch },
86
- ])
87
- const bodyItemsDefault = ref<UI_I_TableBodyItem[][]>([])
88
- const bodyItems = computed<UI_I_TableBodyItem[][]>(() => {
89
- const term = locationFilter.value.trim().toLowerCase()
90
- return bodyItemsDefault.value.filter((row) => {
91
- return row.some((item) => item.text.trim().toLowerCase().includes(term))
92
- })
93
- })
94
- watch(
95
- () => props.networksTable,
96
- (newValue) => {
97
- bodyItemsDefault.value = []
98
- newValue?.forEach((network) => {
99
- bodyItemsDefault.value.push([
100
- {
101
- text: network.name,
102
- editable: false,
103
- testId: `network-${network.name}`,
104
- },
105
- { text: '--', editable: false },
106
- { text: '--', editable: false },
107
- ])
108
- })
109
- },
110
- { immediate: true }
111
- )
112
-
113
- const onSelect = (_key: number, value: UI_I_TableBodyItem[]): void => {
114
- emits('select', value[0].text)
115
- }
116
- </script>
117
-
118
- <style scoped lang="scss">
119
- .network-select-dialog-content {
120
- min-height: 300px;
121
- margin-top: 10px;
122
-
123
- .filter-button {
124
- border-style: none;
125
- background-color: transparent;
126
- padding: 0;
127
-
128
- .filter-icon {
129
- width: 18px;
130
- height: 18px;
131
- }
132
- }
133
- }
134
- </style>
1
+ <template>
2
+ <div>
3
+ <Teleport to="body">
4
+ <atoms-modal
5
+ class="network-modal"
6
+ :show="props.locationModalIsShow"
7
+ :title="localization.common.selectNetwork"
8
+ test-id="select-network-modal"
9
+ @submit="emits('submit')"
10
+ @hide="emits('hide')"
11
+ >
12
+ <template #modalBody>
13
+ <atoms-alert
14
+ v-show="props.errors.length"
15
+ status="alert-danger"
16
+ :items="props.errors"
17
+ test-id="location-alert"
18
+ @remove="emits('remove-errors')"
19
+ />
20
+ <div class="network-select-dialog-content">
21
+ <div class="k-header k-grid-toolbar flex-justify-end">
22
+ <div class="filter-input pull-right flex">
23
+ <button
24
+ id="location-filter-button"
25
+ data-id="location-filter-button"
26
+ class="nav-icon fa fa-filter filter-button"
27
+ >
28
+ <atoms-the-icon
29
+ class="filter-icon"
30
+ fill="#4c5356"
31
+ name="filter"
32
+ />
33
+ </button>
34
+ <input
35
+ id="location-filter"
36
+ v-model="locationFilter"
37
+ data-id="location-filter-input"
38
+ type="text"
39
+ :placeholder="localization.common.filter"
40
+ />
41
+ </div>
42
+ </div>
43
+ <atoms-table-simple-table
44
+ :head-items="headItems"
45
+ :body-items="bodyItems"
46
+ editable
47
+ @select="onSelect"
48
+ />
49
+ </div>
50
+ </template>
51
+ </atoms-modal>
52
+ </Teleport>
53
+ </div>
54
+ </template>
55
+
56
+ <script setup lang="ts">
57
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
58
+ import type { UI_I_NetworkTableItem } from '~/lib/models/store/network/interfaces'
59
+ import type {
60
+ UI_I_TableHeadItem,
61
+ UI_I_TableBodyItem,
62
+ } from '~/components/atoms/table/simpleTable/lib/models/interfaces'
63
+
64
+ const locationFilter = defineModel<string>('locationFilter', {
65
+ required: true,
66
+ })
67
+
68
+ const props = defineProps<{
69
+ locationModalIsShow: boolean
70
+ networksTable: UI_I_NetworkTableItem[]
71
+ errors: string[]
72
+ }>()
73
+ const emits = defineEmits<{
74
+ (event: 'submit'): void
75
+ (event: 'select', value: string): void
76
+ (event: 'remove-errors'): void
77
+ (event: 'hide'): void
78
+ }>()
79
+
80
+ const localization = computed<UI_I_Localization>(() => useLocal())
81
+
82
+ const headItems = ref<UI_I_TableHeadItem[]>([
83
+ { text: localization.value.common.name },
84
+ { text: localization.value.common.nsxPortGroupId },
85
+ { text: localization.value.common.distributedSwitch },
86
+ ])
87
+ const bodyItemsDefault = ref<UI_I_TableBodyItem[][]>([])
88
+ const bodyItems = computed<UI_I_TableBodyItem[][]>(() => {
89
+ const term = locationFilter.value.trim().toLowerCase()
90
+ return bodyItemsDefault.value.filter((row) => {
91
+ return row.some((item) => item.text.trim().toLowerCase().includes(term))
92
+ })
93
+ })
94
+ watch(
95
+ () => props.networksTable,
96
+ (newValue) => {
97
+ bodyItemsDefault.value = []
98
+ newValue?.forEach((network) => {
99
+ bodyItemsDefault.value.push([
100
+ {
101
+ text: network.name,
102
+ editable: false,
103
+ testId: `network-${network.name}`,
104
+ },
105
+ { text: '--', editable: false },
106
+ { text: '--', editable: false },
107
+ ])
108
+ })
109
+ },
110
+ { immediate: true }
111
+ )
112
+
113
+ const onSelect = (_key: number, value: UI_I_TableBodyItem[]): void => {
114
+ emits('select', value[0].text)
115
+ }
116
+ </script>
117
+
118
+ <style scoped lang="scss">
119
+ .network-select-dialog-content {
120
+ min-height: 300px;
121
+ margin-top: 10px;
122
+
123
+ .filter-button {
124
+ border-style: none;
125
+ background-color: transparent;
126
+ padding: 0;
127
+
128
+ .filter-icon {
129
+ width: 18px;
130
+ height: 18px;
131
+ }
132
+ }
133
+ }
134
+ </style>
@@ -1,63 +1,63 @@
1
- <template>
2
- <div>
3
- <Teleport to="body">
4
- <ui-modal
5
- show
6
- :title="localization.common.selectNetwork"
7
- test-id="select-network-modal"
8
- size="sm"
9
- width="656px"
10
- :texts="modalTexts"
11
- @submit="emits('submit')"
12
- @hide="emits('hide')"
13
- >
14
- <template #content>
15
- <atoms-alert
16
- v-show="props.errors.length"
17
- status="alert-danger"
18
- :items="props.errors"
19
- test-id="location-alert"
20
- @remove="emits('remove-errors')"
21
- />
22
- <div class="network-select-dialog-content">
23
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-network-location-new-table
24
- :networks-table="props.networksTable"
25
- @select="emits('select', $event)"
26
- />
27
- </div>
28
- </template>
29
- <template #footerLeftContent>
30
- <span></span>
31
- </template>
32
- </ui-modal>
33
- </Teleport>
34
- </div>
35
- </template>
36
-
37
- <script setup lang="ts">
38
- import type { UI_I_ModalTexts } from 'bfg-uikit/components/ui/modal/models/interfaces'
39
- import type { UI_I_NetworkTableItem } from '~/lib/models/store/network/interfaces'
40
- import type { UI_I_Localization } from '~/lib/models/interfaces'
41
-
42
- const props = defineProps<{
43
- locationModalIsShow: boolean
44
- networksTable: UI_I_NetworkTableItem[]
45
- errors: string[]
46
- }>()
47
- const emits = defineEmits<{
48
- (event: 'submit'): void
49
- (event: 'select', value: string): void
50
- (event: 'remove-errors'): void
51
- (event: 'hide'): void
52
- }>()
53
-
54
- const localization = computed<UI_I_Localization>(() => useLocal())
55
-
56
- const modalTexts = ref<UI_I_ModalTexts>({
57
- resetToDefault: '',
58
- button1: localization.value.common.cancel,
59
- button2: localization.value.common.select,
60
- })
61
- </script>
62
-
63
- <style scoped lang="scss"></style>
1
+ <template>
2
+ <div>
3
+ <Teleport to="body">
4
+ <ui-modal
5
+ show
6
+ :title="localization.common.selectNetwork"
7
+ test-id="select-network-modal"
8
+ size="sm"
9
+ width="656px"
10
+ :texts="modalTexts"
11
+ @submit="emits('submit')"
12
+ @hide="emits('hide')"
13
+ >
14
+ <template #content>
15
+ <atoms-alert
16
+ v-show="props.errors.length"
17
+ status="alert-danger"
18
+ :items="props.errors"
19
+ test-id="location-alert"
20
+ @remove="emits('remove-errors')"
21
+ />
22
+ <div class="network-select-dialog-content">
23
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-network-location-new-table
24
+ :networks-table="props.networksTable"
25
+ @select="emits('select', $event)"
26
+ />
27
+ </div>
28
+ </template>
29
+ <template #footerLeftContent>
30
+ <span></span>
31
+ </template>
32
+ </ui-modal>
33
+ </Teleport>
34
+ </div>
35
+ </template>
36
+
37
+ <script setup lang="ts">
38
+ import type { UI_I_ModalTexts } from 'bfg-uikit/components/ui/modal/models/interfaces'
39
+ import type { UI_I_NetworkTableItem } from '~/lib/models/store/network/interfaces'
40
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
41
+
42
+ const props = defineProps<{
43
+ locationModalIsShow: boolean
44
+ networksTable: UI_I_NetworkTableItem[]
45
+ errors: string[]
46
+ }>()
47
+ const emits = defineEmits<{
48
+ (event: 'submit'): void
49
+ (event: 'select', value: string): void
50
+ (event: 'remove-errors'): void
51
+ (event: 'hide'): void
52
+ }>()
53
+
54
+ const localization = computed<UI_I_Localization>(() => useLocal())
55
+
56
+ const modalTexts = ref<UI_I_ModalTexts>({
57
+ resetToDefault: '',
58
+ button1: localization.value.common.cancel,
59
+ button2: localization.value.common.select,
60
+ })
61
+ </script>
62
+
63
+ <style scoped lang="scss"></style>