bfg-common 1.4.499 → 1.4.501

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 (114) hide show
  1. package/assets/img/icons/icons-sprite-dark-1.svg +407 -407
  2. package/assets/img/icons/icons-sprite-dark-2.svg +343 -343
  3. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  4. package/assets/img/icons/icons-sprite-dark-4.svg +255 -255
  5. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  6. package/assets/img/icons/icons-sprite-dark-6.svg +94 -94
  7. package/assets/img/icons/icons-sprite-light-1.svg +407 -407
  8. package/assets/img/icons/icons-sprite-light-2.svg +343 -343
  9. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  10. package/assets/img/icons/icons-sprite-light-4.svg +255 -255
  11. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  12. package/assets/img/icons/icons-sprite-light-6.svg +94 -94
  13. package/components/atoms/TheIcon3.vue +50 -50
  14. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  15. package/components/atoms/stack/StackBlock.vue +185 -185
  16. package/components/atoms/table/dataGrid/DataGrid.vue +1633 -1633
  17. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +222 -222
  18. package/components/common/browse/blocks/lib/models/types.ts +1 -1
  19. package/components/common/browse/lib/models/interfaces.ts +5 -5
  20. package/components/common/context/lib/models/interfaces.ts +30 -30
  21. package/components/common/context/recursion/Recursion.vue +86 -86
  22. package/components/common/context/recursion/RecursionNew.vue +199 -199
  23. package/components/common/context/recursion/RecursionOld.vue +213 -213
  24. package/components/common/diagramMain/Header.vue +211 -211
  25. package/components/common/diagramMain/adapter/AdapterItems.vue +61 -61
  26. package/components/common/diagramMain/lib/config/initial.ts +50 -50
  27. package/components/common/diagramMain/lib/models/enums.ts +44 -44
  28. package/components/common/diagramMain/lib/models/types.ts +21 -21
  29. package/components/common/diagramMain/lib/utils/utils.ts +331 -331
  30. package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +330 -330
  31. package/components/common/diagramMain/modals/editSettings/ConfirmTeamingSettingsModal.vue +40 -40
  32. package/components/common/diagramMain/modals/editSettings/EditSettings.vue +497 -497
  33. package/components/common/diagramMain/modals/editSettings/EditSettingsModal.vue +812 -812
  34. package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +214 -214
  35. package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +189 -189
  36. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +163 -163
  37. package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +175 -175
  38. package/components/common/diagramMain/modals/editSettings/tabs/TrafficShaping.vue +398 -398
  39. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +346 -346
  40. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +205 -205
  41. package/components/common/diagramMain/modals/lib/config/diagramConfig.ts +23 -23
  42. package/components/common/diagramMain/modals/lib/config/initial.ts +180 -180
  43. package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +90 -90
  44. package/components/common/diagramMain/modals/lib/mappers/mappers.ts +87 -87
  45. package/components/common/diagramMain/modals/lib/utils/index.ts +24 -24
  46. package/components/common/diagramMain/modals/migrateVmkernelAdapter/MigrateVmkernelAdapter.vue +537 -537
  47. package/components/common/diagramMain/modals/migrateVmkernelAdapter/lib/config/steps.ts +114 -114
  48. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +169 -169
  49. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/SelectVmkernelAdapter.vue +159 -159
  50. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +14 -14
  51. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +137 -137
  52. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +52 -52
  53. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
  54. package/components/common/diagramMain/port/Ports.vue +47 -47
  55. package/components/common/modals/confirmation/Confirmation.vue +70 -70
  56. package/components/common/vm/actions/add/Add.vue +617 -617
  57. package/components/common/vm/actions/clone/lib/config/steps.ts +129 -129
  58. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +267 -267
  59. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +254 -204
  60. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +118 -118
  61. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +163 -164
  62. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  63. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +55 -55
  64. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuNew.vue +0 -1
  65. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/config/dropdownItems.ts +147 -147
  66. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryNew.vue +0 -1
  67. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +0 -1
  68. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +44 -44
  69. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +124 -125
  70. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkOld.vue +2 -2
  71. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/Location.vue +71 -0
  72. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/{Location.vue → location/LocationOld.vue} +134 -145
  73. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +63 -0
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/Table.vue +74 -0
  75. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +95 -0
  76. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  77. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +69 -69
  78. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressOld.vue +83 -84
  79. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +56 -53
  80. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  81. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +27 -27
  82. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +0 -1
  83. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +54 -54
  84. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  85. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  86. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  87. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  88. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  89. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +42 -42
  90. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +25 -25
  91. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  92. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  93. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +141 -141
  94. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  95. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  96. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  97. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +30 -30
  98. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  99. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +39 -39
  100. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +100 -100
  101. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +38 -38
  102. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  103. package/components/common/vm/actions/common/select/storage/Storage.vue +130 -130
  104. package/components/common/vm/actions/common/select/storage/StorageOld.vue +129 -129
  105. package/components/common/vm/actions/common/select/storage/new/New.vue +159 -159
  106. package/components/common/vm/actions/editSettings/EditSettings.vue +214 -214
  107. package/components/common/vm/actions/editSettings/EditSettingsOld.vue +182 -182
  108. package/components/common/wizards/network/add/lib/config/steps.ts +464 -464
  109. package/composables/productNameLocal.ts +30 -30
  110. package/package.json +1 -1
  111. package/plugins/date.ts +233 -233
  112. package/plugins/recursion.ts +311 -311
  113. package/public/spice-console/lib/images/bitmap.js +203 -203
  114. package/public/spice-console/network/spicechannel.js +383 -383
@@ -1,125 +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
- theme="light"
34
- @change="onChangeLocation"
35
- @click.stop
36
- />
37
- </template>
38
- <template #stackChildren>
39
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-network-adapter-type
40
- v-model:adapter-type="adapterType"
41
- :index="props.index"
42
- :disabled="props.type === 'edit' || props.isRunning"
43
- :error-validation-fields="props.errorValidationFields"
44
- @remove-error-by-title="emits('remove-error-by-title', $event)"
45
- />
46
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-network-mac-address
47
- v-model:mac-address="macAddress"
48
- v-model:mac-address-type="macAddressType"
49
- :index="props.index"
50
- :disabled="props.type === 'edit'"
51
- :error-validation-fields="props.errorValidationFields"
52
- @invalid="newNetworkInvalid = $event"
53
- @remove-error-by-title="emits('remove-error-by-title', $event)"
54
- />
55
- </template>
56
- </ui-stack-block>
57
-
58
- <common-vm-actions-common-customize-hardware-virtual-hardware-new-network-location
59
- v-if="props.locationModalIsShow"
60
- :location-modal-is-show="props.locationModalIsShow"
61
- :networks-table="props.networksTable"
62
- @hide="emits('hide-location-modal')"
63
- @select="emits('select-location')"
64
- />
65
- </template>
66
-
67
- <script setup lang="ts">
68
- import type { UI_I_NetworkTableItem } from '~/lib/models/store/network/interfaces'
69
- import type { UI_I_ErrorValidationField } from '~/lib/models/store/interfaces'
70
- import type { UI_T_NetworkType } from '~/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/types'
71
- import type {
72
- UI_I_HTMLSelectElement,
73
- } from '~/lib/models/interfaces'
74
- import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
75
-
76
- const selectedLocation = defineModel<string>('selected-location')
77
- const adapterType = defineModel<string>('adapter-type', { required: true })
78
- const macAddress = defineModel<string>('mac-address', { required: true })
79
- const macAddressType = defineModel<string>('mac-address-type', {
80
- required: true,
81
- })
82
- const newNetworkInvalid = defineModel<boolean>('new-network-invalid', {
83
- required: true,
84
- })
85
-
86
- const props = defineProps<{
87
- index: number
88
- type: UI_T_NetworkType
89
- networksTable: UI_I_NetworkTableItem[]
90
- errorValidationFields: UI_I_ErrorValidationField[]
91
- isRemovable: boolean
92
- label: string
93
- errorText: string
94
- typeError: string
95
- locationOptions: UI_I_OptionItem[]
96
- isRunning: boolean
97
- locationModalIsShow: boolean
98
- state?: string | number
99
- }>()
100
-
101
- const emits = defineEmits<{
102
- (event: 'remove'): void
103
- (event: 'remove-error-by-title', value: string): void
104
- (event: 'change-location', value: UI_I_HTMLSelectElement): void
105
- (event: 'hide-location-modal'): void
106
- (event: 'select-location'): void
107
- }>()
108
-
109
- const onChangeLocation = (data: UI_T_SelectedValue): void => {
110
- emits('change-location', { target: { value: data } })
111
- }
112
- </script>
113
-
114
- <style scoped lang="scss">
115
- .title {
116
- margin-right: 10px;
117
- }
118
-
119
- :deep(.network-select .ui-main-select-toggle) {
120
- display: flex;
121
- justify-content: space-between;
122
- width: 196px;
123
- //background-color: #ffffff;
124
- }
125
- </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>('selected-location')
76
+ const adapterType = defineModel<string>('adapter-type', { required: true })
77
+ const macAddress = defineModel<string>('mac-address', { required: true })
78
+ const macAddressType = defineModel<string>('mac-address-type', {
79
+ required: true,
80
+ })
81
+ const newNetworkInvalid = defineModel<boolean>('new-network-invalid', {
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>
@@ -79,7 +79,7 @@
79
79
  :location-modal-is-show="props.locationModalIsShow"
80
80
  :networks-table="props.networksTable"
81
81
  @hide="emits('hide-location-modal')"
82
- @select="emits('select-location')"
82
+ @select="emits('select-location', $event)"
83
83
  />
84
84
  </div>
85
85
  </template>
@@ -119,7 +119,7 @@ const emits = defineEmits<{
119
119
  (event: 'remove-error-by-title', value: string): void
120
120
  (event: 'change-location', value: UI_I_HTMLSelectElement): void
121
121
  (event: 'hide-location-modal'): void
122
- (event: 'select-location'): void
122
+ (event: 'select-location', value: UI_I_NetworkTableItem): void
123
123
  }>()
124
124
 
125
125
  </script>
@@ -0,0 +1,71 @@
1
+ <template>
2
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-network-location-new
3
+ v-if="isNewView"
4
+ :location-modal-is-show="props.locationModalIsShow"
5
+ :networks-table="props.networksTable"
6
+ :errors="errors"
7
+ @submit="onSubmitLocationModal"
8
+ @select="onSelectLocation"
9
+ @remove-errors="onRemoveValidationErrors"
10
+ @hide="onHideLocationModal"
11
+ />
12
+ <common-vm-actions-common-customize-hardware-virtual-hardware-new-network-location-old
13
+ v-else
14
+ v-model:location-filter="locationFilter"
15
+ :location-modal-is-show="props.locationModalIsShow"
16
+ :networks-table="props.networksTable"
17
+ :errors="errors"
18
+ @submit="onSubmitLocationModal"
19
+ @select="onSelectLocation"
20
+ @remove-errors="onRemoveValidationErrors"
21
+ @hide="onHideLocationModal"
22
+ />
23
+ </template>
24
+
25
+ <script setup lang="ts">
26
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
27
+ import type { UI_I_NetworkTableItem } from '~/lib/models/store/network/interfaces'
28
+
29
+ const props = defineProps<{
30
+ locationModalIsShow: boolean
31
+ networksTable: UI_I_NetworkTableItem[]
32
+ }>()
33
+ const emits = defineEmits<{
34
+ (event: 'hide'): void
35
+ (event: 'select', value: UI_I_NetworkTableItem): void
36
+ }>()
37
+
38
+ const { $store }: any = useNuxtApp()
39
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
40
+
41
+ const localization = computed<UI_I_Localization>(() => useLocal())
42
+
43
+ const onSubmitLocationModal = (): void => {
44
+ if (selectedLocation.value === null) {
45
+ errors.value = [localization.value.common.noNetworkSelected]
46
+ return
47
+ }
48
+ emits('select', selectedLocation.value)
49
+ }
50
+ const onHideLocationModal = (): void => {
51
+ emits('hide')
52
+ }
53
+
54
+ const locationFilter = ref<string>('')
55
+
56
+ const selectedLocation = ref<UI_I_NetworkTableItem | null>(null)
57
+ const getNetworkByName = (name: string): UI_I_NetworkTableItem | null => {
58
+ return props.networksTable?.find((network) => network.name === name) || null
59
+ }
60
+ const onSelectLocation = (name: string): void => {
61
+ selectedLocation.value = getNetworkByName(name)
62
+ }
63
+
64
+ const errors = ref<string[]>([])
65
+ const onRemoveValidationErrors = (): void => {
66
+ errors.value = []
67
+ }
68
+ </script>
69
+
70
+ <style scoped lang="scss">
71
+ </style>
@@ -1,145 +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="onSubmitLocationModal"
10
- @hide="onHideLocationModal"
11
- >
12
- <template #modalBody>
13
- <atoms-alert
14
- v-show="errors.length"
15
- status="alert-danger"
16
- :items="errors"
17
- test-id="location-alert"
18
- @remove="onRemoveValidationErrors"
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="tagsHeadItems"
45
- :body-items="tagsBodyItems"
46
- editable
47
- @select="onSelectLocation"
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_NetworkTableItem } from '~/lib/models/store/network/interfaces'
58
- import type { UI_I_Localization } from '~/lib/models/interfaces'
59
- import type {
60
- UI_I_TableHeadItem,
61
- UI_I_TableBodyItem,
62
- } from '~/components/atoms/table/simpleTable/lib/models/interfaces'
63
-
64
- const localization = computed<UI_I_Localization>(() => useLocal())
65
-
66
- const props = defineProps<{
67
- locationModalIsShow: boolean
68
- networksTable: UI_I_NetworkTableItem[]
69
- }>()
70
- const emits = defineEmits<{
71
- (event: 'hide'): void
72
- (event: 'select', value: UI_I_NetworkTableItem): void
73
- }>()
74
-
75
- const onSubmitLocationModal = (): void => {
76
- if (selectedLocation.value === null) {
77
- errors.value = [localization.value.common.noNetworkSelected]
78
- return
79
- }
80
- emits('select', selectedLocation.value)
81
- }
82
- const onHideLocationModal = (): void => {
83
- emits('hide')
84
- }
85
-
86
- const locationFilter = ref<string>('')
87
- const tagsHeadItems = ref<UI_I_TableHeadItem[]>([
88
- { text: localization.value.common.name },
89
- { text: localization.value.common.nsxPortGroupId },
90
- { text: localization.value.common.distributedSwitch },
91
- ])
92
- const tagsBodyItemsDefault = ref<UI_I_TableBodyItem[][]>([])
93
- const tagsBodyItems = computed<UI_I_TableBodyItem[][]>(() => {
94
- const term = locationFilter.value.trim().toLowerCase()
95
- return tagsBodyItemsDefault.value.filter((row) => {
96
- return row.some((item) => item.text.trim().toLowerCase().includes(term))
97
- })
98
- })
99
- watch(
100
- () => props.networksTable,
101
- (newValue) => {
102
- tagsBodyItemsDefault.value = []
103
- newValue?.forEach((network) => {
104
- tagsBodyItemsDefault.value.push([
105
- { text: network.name, editable: false, testId: `network-${network.name}` },
106
- { text: '--', editable: false },
107
- { text: '--', editable: false },
108
- ])
109
- })
110
- },
111
- { immediate: true }
112
- )
113
-
114
- const selectedLocation = ref<UI_I_NetworkTableItem | null>(null)
115
- const getNetworkByName = (name: string): UI_I_NetworkTableItem | null => {
116
- return props.networksTable?.find((network) => network.name === name) || null
117
- }
118
- const onSelectLocation = (_key: number, value: UI_I_TableBodyItem[]): void => {
119
- const networkName = value[0].text
120
- selectedLocation.value = getNetworkByName(networkName)
121
- }
122
-
123
- const errors = ref<string[]>([])
124
- const onRemoveValidationErrors = (): void => {
125
- errors.value = []
126
- }
127
- </script>
128
-
129
- <style scoped lang="scss">
130
- .network-select-dialog-content {
131
- min-height: 300px;
132
- margin-top: 10px;
133
-
134
- .filter-button {
135
- border-style: none;
136
- background-color: transparent;
137
- padding: 0;
138
-
139
- .filter-icon {
140
- width: 18px;
141
- height: 18px;
142
- }
143
- }
144
- }
145
- </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>('location-filter', {
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>