bfg-common 1.0.52 → 1.0.53

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 (63) hide show
  1. package/assets/localization/local_be.json +1 -1
  2. package/assets/localization/local_en.json +1 -1
  3. package/assets/localization/local_hy.json +1 -1
  4. package/assets/localization/local_kk.json +1 -1
  5. package/assets/localization/local_ru.json +1 -1
  6. package/assets/localization/local_zh.json +1 -1
  7. package/components/atoms/alert/Notification.vue +167 -167
  8. package/components/atoms/autocomplete/Autocomplete.vue +236 -236
  9. package/components/atoms/datepicker/Datepicker.vue +612 -612
  10. package/components/atoms/list/SelectList.vue +62 -62
  11. package/components/atoms/modal/bySteps/BySteps.vue +234 -234
  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 +174 -174
  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/DataGrid.vue +40 -17
  20. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +204 -204
  21. package/components/atoms/table/dataGrid/DataGridPage.vue +189 -189
  22. package/components/atoms/table/dataGrid/DataGridPagination.vue +83 -83
  23. package/components/atoms/tabs/Tabs.vue +189 -189
  24. package/components/atoms/tooltip/Signpost.vue +224 -224
  25. package/components/common/accordion/Accordion.vue +3 -13
  26. package/components/common/accordion/Recursion.vue +16 -23
  27. package/components/common/accordion/models/interfaces.ts +0 -1
  28. package/components/common/adapterManager/AddAdapterWarningModal.vue +82 -82
  29. package/components/common/adapterManager/NoActiveAdaptersModal.vue +62 -62
  30. package/components/common/adapterManager/NoConnectedActiveAdaptersModal.vue +62 -62
  31. package/components/common/browse/Browse.vue +182 -182
  32. package/components/common/browse/blocks/Title.vue +66 -66
  33. package/components/common/diagramMain/adapter/AdapterItem.vue +227 -227
  34. package/components/common/diagramMain/adapter/AdapterItems.vue +57 -57
  35. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +339 -339
  36. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +202 -202
  37. package/components/common/diagramMain/modals/remove/RemoveModal.vue +226 -226
  38. package/components/common/diagramMain/modals/viewSettings/Info.vue +94 -94
  39. package/components/common/diagramMain/network/Contents.vue +238 -238
  40. package/components/common/feedback/Buttons.vue +232 -232
  41. package/components/common/feedback/Message.vue +468 -468
  42. package/components/common/feedback/VisitPortal.vue +54 -54
  43. package/components/common/mainNavigationPanel/MainNavigationPanel.vue +359 -359
  44. package/components/common/modals/Rename.vue +165 -165
  45. package/components/common/perPage/PerPage.vue +51 -51
  46. package/components/common/recursionTree/RecursionTree.vue +201 -201
  47. package/components/common/wizards/datastore/add/nfs/configuration/Configuration.vue +373 -373
  48. package/components/common/wizards/datastore/add/nfs/configuration/serversList/ServersList.vue +123 -123
  49. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/KerberosAuthentication.vue +54 -54
  50. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/HostTable.vue +131 -131
  51. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/PartitionConfiguration.vue +230 -230
  52. package/models/store/storage/interfaces.ts +32 -32
  53. package/package.json +1 -1
  54. package/public/spice-console/application/codec.js +257 -257
  55. package/public/spice-console/lib/rasterEngine.js +907 -907
  56. package/public/spice-console/network/spicechannel.js +369 -369
  57. package/public/spice-console-minify/lib/decoder/dixie.min.js +4 -4
  58. package/public/spice-console-minify/lib/jgestures.min.js +24 -24
  59. package/public/spice-console-minify/lib/jquery-2.0.3.min.js +24 -24
  60. package/public/spice-console-minify/lib/jquery-mousewheel.min.js +11 -11
  61. package/public/spice-console-minify/lib/jquery-visibility.min.js +1 -1
  62. package/public/spice-console-minify/lib/lodash.4.0.0.min.js +5 -5
  63. package/components/common/accordion/utils/accordion.ts +0 -31
@@ -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>