bfg-common 1.2.25 → 1.2.26

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 (84) hide show
  1. package/assets/localization/local_be.json +2077 -2081
  2. package/assets/localization/local_en.json +2080 -2084
  3. package/assets/localization/local_hy.json +2080 -2084
  4. package/assets/localization/local_kk.json +2080 -2084
  5. package/assets/localization/local_ru.json +2080 -2084
  6. package/assets/localization/local_zh.json +2080 -2084
  7. package/components/atoms/TheIcon2.vue +355 -1137
  8. package/components/atoms/alert/Notification.vue +167 -167
  9. package/components/atoms/autocomplete/Autocomplete.vue +236 -236
  10. package/components/atoms/datepicker/Datepicker.vue +612 -612
  11. package/components/atoms/list/SelectList.vue +62 -62
  12. package/components/atoms/nav/NavBar.vue +116 -116
  13. package/components/atoms/nav/VerticalNavBar.vue +89 -89
  14. package/components/atoms/notificationBar/NotificationBar.vue +175 -175
  15. package/components/atoms/perPage/PerPage.vue +52 -52
  16. package/components/atoms/popup/SimplePopup.vue +90 -90
  17. package/components/atoms/step/VerticalStep.vue +104 -104
  18. package/components/atoms/switch/Switch.vue +107 -107
  19. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +206 -206
  20. package/components/atoms/table/dataGrid/DataGridPage.vue +189 -189
  21. package/components/atoms/tabs/Tabs.vue +189 -189
  22. package/components/atoms/tooltip/Signpost.vue +224 -224
  23. package/components/common/adapterManager/AddAdapterWarningModal.vue +82 -82
  24. package/components/common/adapterManager/NoActiveAdaptersModal.vue +62 -62
  25. package/components/common/adapterManager/NoConnectedActiveAdaptersModal.vue +62 -62
  26. package/components/common/browse/Browse.vue +182 -182
  27. package/components/common/browse/blocks/Title.vue +66 -66
  28. package/components/common/diagramMain/Diagram.vue +186 -186
  29. package/components/common/diagramMain/DiagramMain.vue +986 -986
  30. package/components/common/diagramMain/adapter/AdapterItem.vue +227 -227
  31. package/components/common/diagramMain/adapter/AdapterItems.vue +57 -57
  32. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +339 -339
  33. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +202 -202
  34. package/components/common/diagramMain/modals/remove/RemoveModal.vue +226 -226
  35. package/components/common/diagramMain/network/Contents.vue +238 -238
  36. package/components/common/feedback/Buttons.vue +232 -232
  37. package/components/common/feedback/Message.vue +468 -468
  38. package/components/common/feedback/VisitPortal.vue +54 -54
  39. package/components/common/help/navbar/left/Left.vue +159 -159
  40. package/components/common/help/navbar/left/utils/constructAccordion.ts +27 -27
  41. package/components/common/mainNavigationPanel/MainNavigationPanel.vue +359 -359
  42. package/components/common/modals/Rename.vue +165 -165
  43. package/components/common/perPage/PerPage.vue +51 -51
  44. package/components/common/recursionTree/RecursionTree.vue +201 -201
  45. package/components/common/vm/actions/add/config/capabilities.ts +338 -338
  46. package/components/common/vm/actions/add/customizeHardware/virtualHardware/VirtualHardware.vue +657 -657
  47. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/CoresPerSocket.vue +109 -109
  48. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/Cpu.vue +383 -383
  49. package/components/common/vm/actions/add/customizeHardware/virtualHardware/limit/Limit.vue +234 -234
  50. package/components/common/vm/actions/add/customizeHardware/virtualHardware/limit/config/options.ts +28 -28
  51. package/components/common/vm/actions/add/customizeHardware/virtualHardware/memory/Memory.vue +316 -316
  52. package/components/common/vm/actions/add/customizeHardware/virtualHardware/memory/config/memoryOptions.ts +35 -35
  53. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +445 -445
  54. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +288 -288
  55. package/components/common/vm/actions/add/customizeHardware/virtualHardware/reservation/Reservation.vue +235 -235
  56. package/components/common/vm/actions/add/customizeHardware/virtualHardware/videoCard/VideoCard.vue +177 -177
  57. package/components/common/vm/actions/add/customizeHardware/vmoptions/bootOptions/order/Order.vue +197 -197
  58. package/components/common/vm/actions/add/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +181 -181
  59. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/CopyPaste.vue +51 -51
  60. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/RemoteConsoleOptions.vue +253 -253
  61. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +55 -55
  62. package/components/common/vm/actions/add/select/storage/config/config.ts +154 -154
  63. package/components/common/vm/actions/clone/Clone.vue +544 -544
  64. package/components/common/vm/actions/clone/select/options/Options.vue +65 -65
  65. package/components/common/vm/actions/clone/utils.ts +43 -43
  66. package/components/common/wizards/datastore/add/nfs/configuration/Configuration.vue +373 -373
  67. package/components/common/wizards/datastore/add/nfs/configuration/serversList/ServersList.vue +123 -123
  68. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/KerberosAuthentication.vue +54 -54
  69. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/HostTable.vue +131 -131
  70. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/config/tableKeys.ts +2 -2
  71. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/models/types.ts +2 -2
  72. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/PartitionConfiguration.vue +230 -230
  73. package/composables/useLocal.ts +38 -38
  74. package/minify.js +146 -146
  75. package/models/store/interfaces.ts +37 -37
  76. package/models/store/storage/interfaces.ts +32 -32
  77. package/models/store/types.ts +32 -32
  78. package/modules/fixContentBuild/utils/methods.ts +114 -114
  79. package/package.json +1 -1
  80. package/public/spice-console/application/codec.js +257 -257
  81. package/public/spice-console/lib/rasterEngine.js +907 -907
  82. package/public/spice-console/network/spicechannel.js +369 -369
  83. package/utils/contentBuild.ts +34 -34
  84. package/components/common/BadBrowser.vue +0 -95
@@ -1,123 +1,123 @@
1
- <template>
2
- <div class="servers-list">
3
- <atoms-table-data-grid
4
- test-id="servers-list-table"
5
- v-model:selected-row="selectedDisk"
6
- v-model:page-size="pagination.pageSize"
7
- v-model:page="pagination.page"
8
- type="any"
9
- class="data-table"
10
- :head-items="headItems"
11
- :body-items="bodyItems"
12
- :total-items="1"
13
- :total-pages="1"
14
- off-select-by-row
15
- :loading="loading"
16
- hide-footer
17
- >
18
- <template #type="{ item }">
19
- <div class="data-table__action-icon">
20
- <atoms-popover
21
- test-id="servers-list"
22
- @click="onShowTooltipForRemove(item)"
23
- >
24
- <template #elem>
25
- <atoms-the-icon name="ellipsis-vertical" />
26
- </template>
27
- <template #content>
28
- <common-wizards-datastore-add-nfs-configuration-servers-list-delete-popover
29
- v-if="showTooltip && item[0].id === selectedServerForRemove"
30
- class="data-table__popover"
31
- @hide="showTooltip = false"
32
- @click-item="onRemoveServerFromList(item)"
33
- />
34
- </template>
35
- </atoms-popover>
36
- </div>
37
- </template>
38
- </atoms-table-data-grid>
39
- </div>
40
- </template>
41
-
42
- <script lang="ts" setup>
43
- import {
44
- UI_I_HeadItem,
45
- UI_I_BodyItem,
46
- } from '~/components/atoms/table/dataGrid/models/interfaces'
47
- import { UI_I_Localization, UI_I_Pagination } from '~/models/interfaces'
48
- import { UI_I_DataServersListItem } from '~/components/common/wizards/datastore/add/nfs/configuration/serversList/models/interfaces'
49
- import * as serversTable from '~/components/common/wizards/datastore/add/nfs/configuration/serversList/config/serversListConfig'
50
-
51
- const props = defineProps<{
52
- dataTable: UI_I_DataServersListItem[] | []
53
- loading?: boolean
54
- }>()
55
- const emits = defineEmits<{
56
- (event: 'update:data-table', value: UI_I_DataServersListItem[]): void
57
- }>()
58
-
59
- const localization = computed<UI_I_Localization>(() => useLocal())
60
-
61
- const selectedDisk = ref<number | null>(null)
62
-
63
- const pagination = ref<UI_I_Pagination>({
64
- page: 1,
65
- pageSize: 34,
66
- })
67
-
68
- // const columnKeys = ref<UI_I_ColumnKey[]>(serversTable.columnKeys(localization.value))
69
- const headItems = computed<UI_I_HeadItem[]>(() =>
70
- serversTable.headItems(localization.value)
71
- )
72
-
73
- const bodyItems = ref<UI_I_BodyItem[][]>([])
74
- watch(
75
- () => props.dataTable,
76
- (val) => {
77
- if (!val?.length) {
78
- bodyItems.value = []
79
- return
80
- }
81
-
82
- bodyItems.value = serversTable.bodyItems(val)
83
- },
84
- { deep: true, immediate: true }
85
- )
86
-
87
- const selectedServerForRemove = ref<number | null>(null)
88
- const showTooltip = ref<boolean>(false)
89
- const onShowTooltipForRemove = (server: UI_I_BodyItem[]): void => {
90
- selectedServerForRemove.value = server[0].id
91
- showTooltip.value = true
92
- }
93
- const onRemoveServerFromList = (removeItem: UI_I_BodyItem[]): void => {
94
- const { text } = removeItem[0]
95
-
96
- const serverList = props.dataTable.filter(
97
- (server: UI_I_DataServersListItem) => server.server_name !== text
98
- )
99
- emits('update:data-table', serverList)
100
- showTooltip.value = false
101
- }
102
- </script>
103
-
104
- <style lang="scss" scoped>
105
- .servers-list {
106
- height: inherit;
107
- .data-table {
108
- &__action-icon {
109
- width: 16px;
110
- height: 16px;
111
- cursor: pointer;
112
- position: relative;
113
- fill: var(--ellipsis-vertical-icon-color);
114
- }
115
-
116
- height: inherit;
117
- :deep(.datagrid-outer-wrapper) {
118
- height: inherit;
119
- padding-top: 0;
120
- }
121
- }
122
- }
123
- </style>
1
+ <template>
2
+ <div class="servers-list">
3
+ <atoms-table-data-grid
4
+ test-id="servers-list-table"
5
+ v-model:selected-row="selectedDisk"
6
+ v-model:page-size="pagination.pageSize"
7
+ v-model:page="pagination.page"
8
+ type="any"
9
+ class="data-table"
10
+ :head-items="headItems"
11
+ :body-items="bodyItems"
12
+ :total-items="1"
13
+ :total-pages="1"
14
+ off-select-by-row
15
+ :loading="loading"
16
+ hide-footer
17
+ >
18
+ <template #type="{ item }">
19
+ <div class="data-table__action-icon">
20
+ <atoms-popover
21
+ test-id="servers-list"
22
+ @click="onShowTooltipForRemove(item)"
23
+ >
24
+ <template #elem>
25
+ <atoms-the-icon name="ellipsis-vertical" />
26
+ </template>
27
+ <template #content>
28
+ <common-wizards-datastore-add-nfs-configuration-servers-list-delete-popover
29
+ v-if="showTooltip && item[0].id === selectedServerForRemove"
30
+ class="data-table__popover"
31
+ @hide="showTooltip = false"
32
+ @click-item="onRemoveServerFromList(item)"
33
+ />
34
+ </template>
35
+ </atoms-popover>
36
+ </div>
37
+ </template>
38
+ </atoms-table-data-grid>
39
+ </div>
40
+ </template>
41
+
42
+ <script lang="ts" setup>
43
+ import {
44
+ UI_I_HeadItem,
45
+ UI_I_BodyItem,
46
+ } from '~/components/atoms/table/dataGrid/models/interfaces'
47
+ import { UI_I_Localization, UI_I_Pagination } from '~/models/interfaces'
48
+ import { UI_I_DataServersListItem } from '~/components/common/wizards/datastore/add/nfs/configuration/serversList/models/interfaces'
49
+ import * as serversTable from '~/components/common/wizards/datastore/add/nfs/configuration/serversList/config/serversListConfig'
50
+
51
+ const props = defineProps<{
52
+ dataTable: UI_I_DataServersListItem[] | []
53
+ loading?: boolean
54
+ }>()
55
+ const emits = defineEmits<{
56
+ (event: 'update:data-table', value: UI_I_DataServersListItem[]): void
57
+ }>()
58
+
59
+ const localization = computed<UI_I_Localization>(() => useLocal())
60
+
61
+ const selectedDisk = ref<number | null>(null)
62
+
63
+ const pagination = ref<UI_I_Pagination>({
64
+ page: 1,
65
+ pageSize: 34,
66
+ })
67
+
68
+ // const columnKeys = ref<UI_I_ColumnKey[]>(serversTable.columnKeys(localization.value))
69
+ const headItems = computed<UI_I_HeadItem[]>(() =>
70
+ serversTable.headItems(localization.value)
71
+ )
72
+
73
+ const bodyItems = ref<UI_I_BodyItem[][]>([])
74
+ watch(
75
+ () => props.dataTable,
76
+ (val) => {
77
+ if (!val?.length) {
78
+ bodyItems.value = []
79
+ return
80
+ }
81
+
82
+ bodyItems.value = serversTable.bodyItems(val)
83
+ },
84
+ { deep: true, immediate: true }
85
+ )
86
+
87
+ const selectedServerForRemove = ref<number | null>(null)
88
+ const showTooltip = ref<boolean>(false)
89
+ const onShowTooltipForRemove = (server: UI_I_BodyItem[]): void => {
90
+ selectedServerForRemove.value = server[0].id
91
+ showTooltip.value = true
92
+ }
93
+ const onRemoveServerFromList = (removeItem: UI_I_BodyItem[]): void => {
94
+ const { text } = removeItem[0]
95
+
96
+ const serverList = props.dataTable.filter(
97
+ (server: UI_I_DataServersListItem) => server.server_name !== text
98
+ )
99
+ emits('update:data-table', serverList)
100
+ showTooltip.value = false
101
+ }
102
+ </script>
103
+
104
+ <style lang="scss" scoped>
105
+ .servers-list {
106
+ height: inherit;
107
+ .data-table {
108
+ &__action-icon {
109
+ width: 16px;
110
+ height: 16px;
111
+ cursor: pointer;
112
+ position: relative;
113
+ fill: var(--ellipsis-vertical-icon-color);
114
+ }
115
+
116
+ height: inherit;
117
+ :deep(.datagrid-outer-wrapper) {
118
+ height: inherit;
119
+ padding-top: 0;
120
+ }
121
+ }
122
+ }
123
+ </style>
@@ -1,54 +1,54 @@
1
- <template>
2
- <div class="kerberos-auth">
3
- <atoms-alert
4
- v-show="isShowAlert"
5
- test-id="kerberos-authentication"
6
- status="alert-warning"
7
- :items="[localization.kerberosAuthenticationAlert]"
8
- @remove="isShowAlert = false"
9
- />
10
-
11
- <div class="kerberos-auth__inner">
12
- <div v-for="item in kerberosTypes" :key="item.value" class="radio">
13
- <input
14
- :id="item.label"
15
- v-model="kerberosType"
16
- type="radio"
17
- :value="item.value"
18
- />
19
- <label :for="item.label">
20
- {{ item.label }}
21
- </label>
22
- </div>
23
- </div>
24
- </div>
25
- </template>
26
-
27
- <script lang="ts" setup>
28
- import { UI_I_Localization } from '~/models/interfaces'
29
- import { UI_I_RadioOption } from '~/components/common/select/radio/models/interfaces'
30
- import { UI_T_KerberosAuthentication } from '~/components/common/wizards/datastore/add/models/types'
31
- import { kerberosOptionsFunc } from '~/components/common/wizards/datastore/add/nfs/kerberosAuthentication/config/radioOptions'
32
-
33
- const localization = computed<UI_I_Localization>(() => useLocal())
34
-
35
- const kerberosType = ref<UI_T_KerberosAuthentication>('dont-use')
36
- const isShowAlert = ref<boolean>(true)
37
-
38
- const kerberosTypes = readonly<UI_I_RadioOption[]>(
39
- kerberosOptionsFunc(localization.value)
40
- )
41
- </script>
42
-
43
- <style lang="scss" scoped>
44
- .kerberos-auth {
45
- &__inner {
46
- margin-top: 12px;
47
- }
48
- }
49
-
50
- input[type='radio']:focus:checked + label::before,
51
- input[type='radio']:focus + label::before {
52
- box-shadow: inset 0 0 0 0.25rem #0094d2;
53
- }
54
- </style>
1
+ <template>
2
+ <div class="kerberos-auth">
3
+ <atoms-alert
4
+ v-show="isShowAlert"
5
+ test-id="kerberos-authentication"
6
+ status="alert-warning"
7
+ :items="[localization.kerberosAuthenticationAlert]"
8
+ @remove="isShowAlert = false"
9
+ />
10
+
11
+ <div class="kerberos-auth__inner">
12
+ <div v-for="item in kerberosTypes" :key="item.value" class="radio">
13
+ <input
14
+ :id="item.label"
15
+ v-model="kerberosType"
16
+ type="radio"
17
+ :value="item.value"
18
+ />
19
+ <label :for="item.label">
20
+ {{ item.label }}
21
+ </label>
22
+ </div>
23
+ </div>
24
+ </div>
25
+ </template>
26
+
27
+ <script lang="ts" setup>
28
+ import { UI_I_Localization } from '~/models/interfaces'
29
+ import { UI_I_RadioOption } from '~/components/common/select/radio/models/interfaces'
30
+ import { UI_T_KerberosAuthentication } from '~/components/common/wizards/datastore/add/models/types'
31
+ import { kerberosOptionsFunc } from '~/components/common/wizards/datastore/add/nfs/kerberosAuthentication/config/radioOptions'
32
+
33
+ const localization = computed<UI_I_Localization>(() => useLocal())
34
+
35
+ const kerberosType = ref<UI_T_KerberosAuthentication>('dont-use')
36
+ const isShowAlert = ref<boolean>(true)
37
+
38
+ const kerberosTypes = readonly<UI_I_RadioOption[]>(
39
+ kerberosOptionsFunc(localization.value)
40
+ )
41
+ </script>
42
+
43
+ <style lang="scss" scoped>
44
+ .kerberos-auth {
45
+ &__inner {
46
+ margin-top: 12px;
47
+ }
48
+ }
49
+
50
+ input[type='radio']:focus:checked + label::before,
51
+ input[type='radio']:focus + label::before {
52
+ box-shadow: inset 0 0 0 0.25rem #0094d2;
53
+ }
54
+ </style>
@@ -1,131 +1,131 @@
1
- <template>
2
- <div class="data-table-view">
3
- <atoms-table-data-grid
4
- test-id="host-table"
5
- v-model:selected-row="selectedDisk"
6
- v-model:column-keys="columnKeys"
7
- v-model:page-size="pagination.pageSize"
8
- v-model:page="pagination.page"
9
- type="checkbox"
10
- class="data-table"
11
- :head-items="headItems"
12
- :body-items="bodyItems"
13
- :total-items="props.totalItems"
14
- :total-pages="props.totalPages"
15
- :loading="loading"
16
- hide-page-size
17
- @filtering="filtering"
18
- @sorting="sorting"
19
- >
20
- <template #icon="{ item }">
21
- <span :class="['datagrid-cell-icon', item.data.iconClassName]" />
22
- <span class="text-ellipsis">
23
- {{ item.text }}
24
- </span>
25
- </template>
26
- </atoms-table-data-grid>
27
- </div>
28
- </template>
29
-
30
- <script lang="ts" setup>
31
- import {
32
- UI_I_HeadItem,
33
- UI_I_ColumnKey,
34
- UI_I_BodyItem,
35
- } from '~/components/atoms/table/dataGrid/models/interfaces'
36
- import { UI_I_Localization, UI_I_Pagination } from '~/models/interfaces'
37
- // import { optionsDefault as itemsPerPage } from '~/node_modules/nuxt-3-uikit/components/atoms/table/dataGrid/config'
38
- import { UI_I_CreateStorageLunDiskItem } from '~/components/common/wizards/datastore/add/sharedStorm/deviceSelection/models/interfaces'
39
- import * as hostsTable from '~/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/config/hostsTable'
40
-
41
- const props = defineProps<{
42
- dataTable: UI_I_CreateStorageLunDiskItem[]
43
- selected: number[] | null
44
- loading: boolean
45
- totalItems: number
46
- totalPages: number
47
- pagination: UI_I_Pagination
48
- }>()
49
- const emits = defineEmits<{
50
- (event: 'update:selected', value: number[] | null): void
51
- (event: 'pagination', value: UI_I_Pagination): void
52
- (event: 'sort', str: string): void
53
- }>()
54
-
55
- const localization = computed<UI_I_Localization>(() => useLocal())
56
-
57
- const selectedDisk = computed<number[] | null>({
58
- get() {
59
- return props.selected
60
- },
61
- set(value) {
62
- emits('update:selected', value)
63
- },
64
- })
65
-
66
- const filtering = (e: [string, string][]): void => {
67
- console.log(e, 111)
68
- }
69
- const sorting = (e: [number, boolean]): void => {
70
- const [column, status] = e
71
- const direction = status ? 'desc' : 'asc'
72
-
73
- const sort = `${column}.${direction}`
74
-
75
- emits('sort', sort)
76
- }
77
-
78
- const pagination = ref<UI_I_Pagination>({
79
- page: 1,
80
- pageSize: 1,
81
- })
82
- watch(
83
- () => props.pagination,
84
- (val) => {
85
- pagination.value = val
86
- },
87
- { immediate: true }
88
- )
89
- watch(
90
- pagination,
91
- (val) => {
92
- emits('pagination', val)
93
- },
94
- { deep: true, immediate: true }
95
- )
96
-
97
- const columnKeys = ref<UI_I_ColumnKey[]>(
98
- hostsTable.columnKeys(localization.value)
99
- )
100
-
101
- const headItems = computed<UI_I_HeadItem[]>(() =>
102
- hostsTable.headItems(localization.value)
103
- )
104
-
105
- const bodyItems = ref<UI_I_BodyItem[][]>([])
106
- watch(
107
- () => props.dataTable,
108
- (val) => {
109
- if (!val?.length) {
110
- bodyItems.value = []
111
- return
112
- }
113
-
114
- bodyItems.value = hostsTable.bodyItems(val)
115
- },
116
- { deep: true, immediate: true }
117
- )
118
- </script>
119
-
120
- <style lang="scss" scoped>
121
- .data-table-view {
122
- height: inherit;
123
- overflow: hidden;
124
- .data-table {
125
- height: inherit;
126
- :deep(.datagrid-outer-wrapper) {
127
- height: inherit;
128
- }
129
- }
130
- }
131
- </style>
1
+ <template>
2
+ <div class="data-table-view">
3
+ <atoms-table-data-grid
4
+ test-id="host-table"
5
+ v-model:selected-row="selectedDisk"
6
+ v-model:column-keys="columnKeys"
7
+ v-model:page-size="pagination.pageSize"
8
+ v-model:page="pagination.page"
9
+ type="checkbox"
10
+ class="data-table"
11
+ :head-items="headItems"
12
+ :body-items="bodyItems"
13
+ :total-items="props.totalItems"
14
+ :total-pages="props.totalPages"
15
+ :loading="loading"
16
+ hide-page-size
17
+ @filtering="filtering"
18
+ @sorting="sorting"
19
+ >
20
+ <template #icon="{ item }">
21
+ <span :class="['datagrid-cell-icon', item.data.iconClassName]" />
22
+ <span class="text-ellipsis">
23
+ {{ item.text }}
24
+ </span>
25
+ </template>
26
+ </atoms-table-data-grid>
27
+ </div>
28
+ </template>
29
+
30
+ <script lang="ts" setup>
31
+ import {
32
+ UI_I_HeadItem,
33
+ UI_I_ColumnKey,
34
+ UI_I_BodyItem,
35
+ } from '~/components/atoms/table/dataGrid/models/interfaces'
36
+ import { UI_I_Localization, UI_I_Pagination } from '~/models/interfaces'
37
+ // import { optionsDefault as itemsPerPage } from '~/node_modules/nuxt-3-uikit/components/atoms/table/dataGrid/config'
38
+ import { UI_I_CreateStorageLunDiskItem } from '~/components/common/wizards/datastore/add/sharedStorm/deviceSelection/models/interfaces'
39
+ import * as hostsTable from '~/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/config/hostsTable'
40
+
41
+ const props = defineProps<{
42
+ dataTable: UI_I_CreateStorageLunDiskItem[]
43
+ selected: number[] | null
44
+ loading: boolean
45
+ totalItems: number
46
+ totalPages: number
47
+ pagination: UI_I_Pagination
48
+ }>()
49
+ const emits = defineEmits<{
50
+ (event: 'update:selected', value: number[] | null): void
51
+ (event: 'pagination', value: UI_I_Pagination): void
52
+ (event: 'sort', str: string): void
53
+ }>()
54
+
55
+ const localization = computed<UI_I_Localization>(() => useLocal())
56
+
57
+ const selectedDisk = computed<number[] | null>({
58
+ get() {
59
+ return props.selected
60
+ },
61
+ set(value) {
62
+ emits('update:selected', value)
63
+ },
64
+ })
65
+
66
+ const filtering = (e: [string, string][]): void => {
67
+ console.log(e, 111)
68
+ }
69
+ const sorting = (e: [number, boolean]): void => {
70
+ const [column, status] = e
71
+ const direction = status ? 'desc' : 'asc'
72
+
73
+ const sort = `${column}.${direction}`
74
+
75
+ emits('sort', sort)
76
+ }
77
+
78
+ const pagination = ref<UI_I_Pagination>({
79
+ page: 1,
80
+ pageSize: 1,
81
+ })
82
+ watch(
83
+ () => props.pagination,
84
+ (val) => {
85
+ pagination.value = val
86
+ },
87
+ { immediate: true }
88
+ )
89
+ watch(
90
+ pagination,
91
+ (val) => {
92
+ emits('pagination', val)
93
+ },
94
+ { deep: true, immediate: true }
95
+ )
96
+
97
+ const columnKeys = ref<UI_I_ColumnKey[]>(
98
+ hostsTable.columnKeys(localization.value)
99
+ )
100
+
101
+ const headItems = computed<UI_I_HeadItem[]>(() =>
102
+ hostsTable.headItems(localization.value)
103
+ )
104
+
105
+ const bodyItems = ref<UI_I_BodyItem[][]>([])
106
+ watch(
107
+ () => props.dataTable,
108
+ (val) => {
109
+ if (!val?.length) {
110
+ bodyItems.value = []
111
+ return
112
+ }
113
+
114
+ bodyItems.value = hostsTable.bodyItems(val)
115
+ },
116
+ { deep: true, immediate: true }
117
+ )
118
+ </script>
119
+
120
+ <style lang="scss" scoped>
121
+ .data-table-view {
122
+ height: inherit;
123
+ overflow: hidden;
124
+ .data-table {
125
+ height: inherit;
126
+ :deep(.datagrid-outer-wrapper) {
127
+ height: inherit;
128
+ }
129
+ }
130
+ }
131
+ </style>
@@ -4,8 +4,8 @@ export const hostTableItemsKeys: UI_T_HostTableItemsKey[] = [
4
4
  'name',
5
5
  'identifier',
6
6
  'lun',
7
- 'amount',
7
+ 'capacity_mb',
8
8
  'hardware_acceleration',
9
- 'driveType',
9
+ 'drive_type',
10
10
  'sector_format',
11
11
  ]
@@ -2,9 +2,9 @@ export type UI_T_HostTableItemsKey =
2
2
  | 'name'
3
3
  | 'identifier'
4
4
  | 'lun'
5
- | 'amount'
5
+ | 'capacity_mb'
6
6
  | 'hardware_acceleration'
7
- | 'driveType'
7
+ | 'drive_type'
8
8
  | 'sector_format'
9
9
 
10
10
  // export type Ui_T_HostSelectedType = 'host-1' | 'host-2' | 'host-3' | 'host-4' | 'host-5'