bfg-common 1.3.392 → 1.3.393

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 (89) hide show
  1. package/assets/img/icons/icons-sprite-dark-1-old.svg +1 -0
  2. package/assets/img/icons/icons-sprite-dark-1.svg +360 -1
  3. package/assets/img/icons/icons-sprite-dark-2-old.svg +1 -0
  4. package/assets/img/icons/icons-sprite-dark-2.svg +296 -1
  5. package/assets/img/icons/icons-sprite-dark-3-old.svg +1 -0
  6. package/assets/img/icons/icons-sprite-dark-3.svg +221 -1
  7. package/assets/img/icons/icons-sprite-dark-4-old.svg +1 -0
  8. package/assets/img/icons/icons-sprite-dark-4.svg +247 -1
  9. package/assets/img/icons/icons-sprite-dark-7.svg +8 -0
  10. package/assets/img/icons/icons-sprite-light-1-old.svg +1 -0
  11. package/assets/img/icons/icons-sprite-light-1.svg +360 -1
  12. package/assets/img/icons/icons-sprite-light-2-old.svg +1 -0
  13. package/assets/img/icons/icons-sprite-light-2.svg +296 -1
  14. package/assets/img/icons/icons-sprite-light-3-old.svg +1 -0
  15. package/assets/img/icons/icons-sprite-light-3.svg +221 -1
  16. package/assets/img/icons/icons-sprite-light-4-old.svg +1 -0
  17. package/assets/img/icons/icons-sprite-light-4.svg +247 -1
  18. package/assets/img/icons/icons-sprite-light-7.svg +8 -0
  19. package/assets/localization/local_be.json +1 -5
  20. package/assets/localization/local_en.json +1 -5
  21. package/assets/localization/local_hy.json +1 -5
  22. package/assets/localization/local_kk.json +1 -5
  23. package/assets/localization/local_ru.json +1 -5
  24. package/assets/localization/local_zh.json +1 -5
  25. package/assets/scss/common/icons/icons-7.scss +29 -0
  26. package/assets/scss/common/icons/icons.scss +1 -0
  27. package/components/atoms/loader/Loader.vue +30 -30
  28. package/components/atoms/loader/PreLoader.vue +38 -38
  29. package/components/atoms/switch/Switch.vue +111 -111
  30. package/components/atoms/table/compact/Compact.vue +526 -526
  31. package/components/common/adapterManager/ui/table/Header.vue +93 -93
  32. package/components/common/adapterManager/ui/table/Table.vue +162 -162
  33. package/components/common/context/Context.vue +99 -99
  34. package/components/common/lib/config/states.ts +126 -126
  35. package/components/common/pages/hardwareHealth/tableView/TableView.vue +42 -1
  36. package/components/common/pages/hardwareHealth/tableView/lib/config/alertWarningTable.ts +15 -8
  37. package/components/common/pages/hardwareHealth/tableView/lib/config/sensorTable.ts +1 -1
  38. package/components/common/pages/hardwareHealth/tableView/modal/sensorWarning.vue +63 -0
  39. package/components/common/resource/progressBlock/ProgressBlock.vue +142 -142
  40. package/components/common/split/horizontal/Horizontal.vue +307 -49
  41. package/components/common/vm/actions/add/Add.vue +602 -602
  42. package/components/common/vm/actions/clone/Clone.vue +518 -518
  43. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +273 -273
  44. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +697 -697
  45. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +256 -256
  46. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +458 -458
  47. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +304 -304
  48. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +167 -167
  49. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +82 -82
  50. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +32 -32
  51. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +182 -182
  52. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptions.vue +114 -114
  53. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +188 -188
  54. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/Tools.vue +72 -72
  55. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +164 -164
  56. package/components/common/vm/actions/common/select/name/Name.vue +235 -235
  57. package/components/common/vm/actions/common/select/storage/Storage.vue +198 -198
  58. package/components/common/vm/actions/editSettings/EditSettings.vue +316 -316
  59. package/components/common/weekSelect/lib/config/options.ts +10 -10
  60. package/components/common/wizards/datastore/add/Add.vue +436 -436
  61. package/components/common/wizards/datastore/add/lib/config/stepItems.ts +191 -191
  62. package/components/common/wizards/datastore/add/lib/models/interfaces.ts +38 -38
  63. package/components/common/wizards/datastore/add/lib/utils.ts +70 -70
  64. package/components/common/wizards/datastore/add/local/createName/CreateName.vue +160 -160
  65. package/components/common/wizards/datastore/add/nfs/Nfs.vue +112 -112
  66. package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +104 -104
  67. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/compatibleTable.ts +62 -62
  68. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/hostsTableItems.ts +53 -53
  69. package/components/common/wizards/datastore/add/readyComplete/ReadyComplete.vue +86 -86
  70. package/components/common/wizards/datastore/add/readyComplete/lib/config/propertiesDetails.ts +184 -184
  71. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/DeviceSelection.vue +459 -459
  72. package/components/common/wizards/datastore/add/types/Types.vue +80 -80
  73. package/components/common/wizards/datastore/add/types/lib/config/typeOptions.ts +49 -49
  74. package/composables/useAppVersion.ts +21 -21
  75. package/composables/useEnvLanguage.ts +20 -20
  76. package/lib/utils/sendTask.ts +72 -72
  77. package/minify.js +146 -146
  78. package/package.json +1 -1
  79. package/plugins/spice-console/spice.console.ts +147 -147
  80. package/public/spice-console/application/codec.js +263 -263
  81. package/public/spice-console/lib/rasterEngine.js +907 -907
  82. package/public/spice-console/network/spicechannel.js +375 -375
  83. package/store/main/lib/interfaces.ts +9 -9
  84. package/store/tasks/actions.ts +133 -133
  85. package/store/tasks/getters.ts +25 -25
  86. package/store/tasks/lib/models/interfaces.ts +18 -18
  87. package/store/tasks/mutations.ts +58 -58
  88. package/store/tasks/state.ts +16 -16
  89. package/components/common/split/horizontal/HorizontalOld.vue +0 -307
@@ -1,99 +1,99 @@
1
- <template>
2
- <div
3
- :id="elementId"
4
- class="context-popup"
5
- :style="{
6
- top: currentContextMenuY,
7
- left: currentContextMenuX,
8
- }"
9
- >
10
- <common-context-recursion
11
- :action-loading="props.actionLoading"
12
- :items="props.contextMenu.items"
13
- @select-item="selectItem"
14
- />
15
- </div>
16
- </template>
17
-
18
- <script setup lang="ts">
19
- import {
20
- UI_I_ContextMenuItem,
21
- UI_I_ContextMenu,
22
- } from '~/components/common/context/lib/models/interfaces'
23
-
24
- const props = defineProps<{
25
- contextMenu: UI_I_ContextMenu
26
- actionLoading: string | null
27
- }>()
28
- const emits = defineEmits<{
29
- (event: 'select-item', value: UI_I_ContextMenuItem): void
30
- (event: 'hide'): void
31
- }>()
32
- const selectItem = (item: UI_I_ContextMenuItem): void => {
33
- emits('select-item', item)
34
- }
35
-
36
- const elementId = ref<string>(`context-${useUniqueId()}`)
37
-
38
- const currentContextMenuY = ref<string>('')
39
- const currentContextMenuX = ref<string>('')
40
- const setCurrentPositionsPopup = (): void => {
41
- const contextMenuY = props.contextMenu.y
42
- const contextMenuX = props.contextMenu.x
43
-
44
- const contextWrap: HTMLElement | null =
45
- document.querySelector(`#${elementId.value} .context-wrap`)
46
- const contextW = contextWrap?.offsetWidth || 0
47
- const contextH = contextWrap?.offsetHeight || 0
48
-
49
- const windowW = window.innerWidth
50
- const windowH = window.innerHeight
51
-
52
- if (contextMenuY + contextH >= windowH) {
53
- currentContextMenuY.value = 'auto'
54
- } else {
55
- currentContextMenuY.value = `${contextMenuY}px`
56
- }
57
-
58
- if (contextMenuX + contextW >= windowW) {
59
- const divisionW = windowW - contextW
60
- currentContextMenuX.value = `${divisionW}px`
61
- } else {
62
- currentContextMenuX.value = `${contextMenuX}px`
63
- }
64
- }
65
-
66
- const windowMousedown = (): void => {
67
- emits('hide')
68
- }
69
- watch(
70
- () => props.contextMenu.y,
71
- (newValue: number) => {
72
- if (!newValue) return
73
-
74
- if (newValue < 0) {
75
- window.removeEventListener('mousedown', windowMousedown)
76
- } else {
77
- window.addEventListener('mousedown', windowMousedown)
78
- }
79
-
80
- setTimeout(() => {
81
- setCurrentPositionsPopup()
82
- }, 0)
83
- }
84
- )
85
- </script>
86
-
87
- <style scoped lang="scss">
88
- .context-popup {
89
- top: -9999px;
90
- left: -9999px;
91
- bottom: 0;
92
- border: none;
93
- box-sizing: content-box;
94
- overflow: visible;
95
- display: block;
96
- position: fixed;
97
- z-index: 10002;
98
- }
99
- </style>
1
+ <template>
2
+ <div
3
+ :id="elementId"
4
+ class="context-popup"
5
+ :style="{
6
+ top: currentContextMenuY,
7
+ left: currentContextMenuX,
8
+ }"
9
+ >
10
+ <common-context-recursion
11
+ :action-loading="props.actionLoading"
12
+ :items="props.contextMenu.items"
13
+ @select-item="selectItem"
14
+ />
15
+ </div>
16
+ </template>
17
+
18
+ <script setup lang="ts">
19
+ import {
20
+ UI_I_ContextMenuItem,
21
+ UI_I_ContextMenu,
22
+ } from '~/components/common/context/lib/models/interfaces'
23
+
24
+ const props = defineProps<{
25
+ contextMenu: UI_I_ContextMenu
26
+ actionLoading: string | null
27
+ }>()
28
+ const emits = defineEmits<{
29
+ (event: 'select-item', value: UI_I_ContextMenuItem): void
30
+ (event: 'hide'): void
31
+ }>()
32
+ const selectItem = (item: UI_I_ContextMenuItem): void => {
33
+ emits('select-item', item)
34
+ }
35
+
36
+ const elementId = ref<string>(`context-${useUniqueId()}`)
37
+
38
+ const currentContextMenuY = ref<string>('')
39
+ const currentContextMenuX = ref<string>('')
40
+ const setCurrentPositionsPopup = (): void => {
41
+ const contextMenuY = props.contextMenu.y
42
+ const contextMenuX = props.contextMenu.x
43
+
44
+ const contextWrap: HTMLElement | null =
45
+ document.querySelector(`#${elementId.value} .context-wrap`)
46
+ const contextW = contextWrap?.offsetWidth || 0
47
+ const contextH = contextWrap?.offsetHeight || 0
48
+
49
+ const windowW = window.innerWidth
50
+ const windowH = window.innerHeight
51
+
52
+ if (contextMenuY + contextH >= windowH) {
53
+ currentContextMenuY.value = 'auto'
54
+ } else {
55
+ currentContextMenuY.value = `${contextMenuY}px`
56
+ }
57
+
58
+ if (contextMenuX + contextW >= windowW) {
59
+ const divisionW = windowW - contextW
60
+ currentContextMenuX.value = `${divisionW}px`
61
+ } else {
62
+ currentContextMenuX.value = `${contextMenuX}px`
63
+ }
64
+ }
65
+
66
+ const windowMousedown = (): void => {
67
+ emits('hide')
68
+ }
69
+ watch(
70
+ () => props.contextMenu.y,
71
+ (newValue: number) => {
72
+ if (!newValue) return
73
+
74
+ if (newValue < 0) {
75
+ window.removeEventListener('mousedown', windowMousedown)
76
+ } else {
77
+ window.addEventListener('mousedown', windowMousedown)
78
+ }
79
+
80
+ setTimeout(() => {
81
+ setCurrentPositionsPopup()
82
+ }, 0)
83
+ }
84
+ )
85
+ </script>
86
+
87
+ <style scoped lang="scss">
88
+ .context-popup {
89
+ top: -9999px;
90
+ left: -9999px;
91
+ bottom: 0;
92
+ border: none;
93
+ box-sizing: content-box;
94
+ overflow: visible;
95
+ display: block;
96
+ position: fixed;
97
+ z-index: 10002;
98
+ }
99
+ </style>
@@ -1,126 +1,126 @@
1
- export const clusterLocalizationByState = [
2
- 'unknown',
3
- 'connected',
4
- 'warning',
5
- 'error',
6
- ]
7
-
8
- export const clusterIconByState = [
9
- 'cluster-error',
10
- 'cluster',
11
- 'cluster-warning',
12
- 'cluster-error',
13
- // TODO Добавил на скорую руку нужно дополнить, если есть что добавить
14
- ]
15
-
16
- export const hostLocalizationByState = [
17
- 'unknown',
18
- 'connected',
19
- 'warning',
20
- 'error',
21
- 'maintenance',
22
- 'notResponding',
23
- 'disconnected',
24
- ]
25
-
26
- export const hostIconByState = [
27
- 'host-error',
28
- 'host',
29
- 'host-warning',
30
- 'host-error',
31
- 'host-maintenance',
32
- 'host-not-responding',
33
- 'host-disconnected',
34
- ]
35
-
36
- export const vmLocalizationByState = [
37
- 'unknown',
38
- 'powerOff',
39
- 'poweredOn',
40
- 'suspended',
41
- 'error',
42
- 'warning',
43
- 'pending',
44
- 'paused',
45
- 'blocked',
46
- 'shuttingDown',
47
- 'shuttingOff',
48
- ]
49
-
50
- export const vmIconByState = [
51
- 'vm-error',
52
- 'vm',
53
- 'vm-on',
54
- 'vm-suspended',
55
- 'vm-error',
56
- 'vm-warning',
57
- 'vm-warning',
58
- 'vm-suspended',
59
- 'vm-warning',
60
- 'vm-warning',
61
- 'vm-warning',
62
- ]
63
-
64
- export const datastoreLocalizationByState = [
65
- 'unknown',
66
- 'connected',
67
- 'warning',
68
- 'error',
69
- 'maintenance',
70
- 'inaccessible',
71
- 'disconnected',
72
- ]
73
-
74
- export const datastoreIconByState = [
75
- 'datastore-error',
76
- 'datastore',
77
- 'datastore-warning',
78
- 'datastore-error',
79
- 'datastore-maintenance',
80
- 'datastore-inaccessible',
81
- 'datastore-unmount', // 'datastore-disconnected',
82
- ]
83
-
84
- export const networkLocalizationByState = [
85
- 'unknown',
86
- 'connected',
87
- 'warning',
88
- 'error',
89
- ]
90
-
91
- export const networkIconByState = [
92
- 'network-error',
93
- 'network',
94
- 'network-warning',
95
- 'network-error',
96
- ]
97
-
98
- export const switchLocalizationByState = [
99
- 'unknown',
100
- 'connected',
101
- 'warning',
102
- 'error',
103
- ]
104
-
105
- export const switchIconByState = [
106
- 'switch-error',
107
- 'switch',
108
- 'switch-warning',
109
- 'switch-error',
110
- ]
111
-
112
- export const resourcePoolLocalizationByState = [
113
- 'unknown',
114
- 'normal',
115
- 'warning',
116
- 'error',
117
- 'alert',
118
- ]
119
-
120
- export const resourcePoolIconByState = [
121
- 'resourcePoolAlert',
122
- 'resource-pool',
123
- 'resourcePoolWarning',
124
- 'resourcePoolAlert',
125
- 'resourcePoolAlert',
126
- ]
1
+ export const clusterLocalizationByState = [
2
+ 'unknown',
3
+ 'connected',
4
+ 'warning',
5
+ 'error',
6
+ ]
7
+
8
+ export const clusterIconByState = [
9
+ 'cluster-error',
10
+ 'cluster',
11
+ 'cluster-warning',
12
+ 'cluster-error',
13
+ // TODO Добавил на скорую руку нужно дополнить, если есть что добавить
14
+ ]
15
+
16
+ export const hostLocalizationByState = [
17
+ 'unknown',
18
+ 'connected',
19
+ 'warning',
20
+ 'error',
21
+ 'maintenance',
22
+ 'notResponding',
23
+ 'disconnected',
24
+ ]
25
+
26
+ export const hostIconByState = [
27
+ 'host-error',
28
+ 'host',
29
+ 'host-warning',
30
+ 'host-error',
31
+ 'host-maintenance',
32
+ 'host-not-responding',
33
+ 'host-disconnected',
34
+ ]
35
+
36
+ export const vmLocalizationByState = [
37
+ 'unknown',
38
+ 'powerOff',
39
+ 'poweredOn',
40
+ 'suspended',
41
+ 'error',
42
+ 'warning',
43
+ 'pending',
44
+ 'paused',
45
+ 'blocked',
46
+ 'shuttingDown',
47
+ 'shuttingOff',
48
+ ]
49
+
50
+ export const vmIconByState = [
51
+ 'vm-error',
52
+ 'vm',
53
+ 'vm-on',
54
+ 'vm-suspended',
55
+ 'vm-error',
56
+ 'vm-warning',
57
+ 'vm-warning',
58
+ 'vm-suspended',
59
+ 'vm-warning',
60
+ 'vm-warning',
61
+ 'vm-warning',
62
+ ]
63
+
64
+ export const datastoreLocalizationByState = [
65
+ 'unknown',
66
+ 'connected',
67
+ 'warning',
68
+ 'error',
69
+ 'maintenance',
70
+ 'inaccessible',
71
+ 'disconnected',
72
+ ]
73
+
74
+ export const datastoreIconByState = [
75
+ 'datastore-error',
76
+ 'datastore',
77
+ 'datastore-warning',
78
+ 'datastore-error',
79
+ 'datastore-maintenance',
80
+ 'datastore-inaccessible',
81
+ 'datastore-unmount', // 'datastore-disconnected',
82
+ ]
83
+
84
+ export const networkLocalizationByState = [
85
+ 'unknown',
86
+ 'connected',
87
+ 'warning',
88
+ 'error',
89
+ ]
90
+
91
+ export const networkIconByState = [
92
+ 'network-error',
93
+ 'network',
94
+ 'network-warning',
95
+ 'network-error',
96
+ ]
97
+
98
+ export const switchLocalizationByState = [
99
+ 'unknown',
100
+ 'connected',
101
+ 'warning',
102
+ 'error',
103
+ ]
104
+
105
+ export const switchIconByState = [
106
+ 'switch-error',
107
+ 'switch',
108
+ 'switch-warning',
109
+ 'switch-error',
110
+ ]
111
+
112
+ export const resourcePoolLocalizationByState = [
113
+ 'unknown',
114
+ 'normal',
115
+ 'warning',
116
+ 'error',
117
+ 'alert',
118
+ ]
119
+
120
+ export const resourcePoolIconByState = [
121
+ 'resourcePoolAlert',
122
+ 'resource-pool',
123
+ 'resourcePoolWarning',
124
+ 'resourcePoolAlert',
125
+ 'resourcePoolAlert',
126
+ ]
@@ -40,10 +40,26 @@
40
40
  />
41
41
  <span v-else :class="['icon', item.data.iconClassName]"></span>
42
42
  {{ item.text }}
43
+
44
+ <a
45
+ v-if="false"
46
+ id="sensor-item-warning"
47
+ :data-id="item.data.testId"
48
+ href="javascript:void(0)"
49
+ class="row-details__text"
50
+ @click="onShowFieldWarning(item.data.error)"
51
+ >{{ localization.details }}...
52
+ </a>
43
53
  </template>
44
54
  </atoms-table-data-grid>
45
55
  </div>
46
56
  </div>
57
+
58
+ <common-pages-hardware-health-table-view-modal-sensor-warning
59
+ v-if="isShowSensorWarningDetails"
60
+ :error="sensorWarningError"
61
+ @close-modal="isShowSensorWarningDetails = false"
62
+ />
47
63
  </template>
48
64
 
49
65
  <script lang="ts" setup>
@@ -92,10 +108,32 @@ const headItems = computed<UI_I_HeadItem[]>(() =>
92
108
  )
93
109
 
94
110
  const bodyItems = computed<UI_I_BodyItem[][]>(() => {
95
- const tableData = ['sensor'].includes(props.tableMode) ? props.dataTable : [] // TODO временно так
111
+ // const tableData = ['sensor'].includes(props.tableMode) ? props.dataTable : [] // TODO временно так
112
+ let tableData = props.dataTable
113
+
114
+ switch (props.tableMode) {
115
+ case 'storage-sensor':
116
+ tableData = []
117
+ break
118
+ case 'alert-warning':
119
+ tableData = tableData.filter((sensor: UI_I_HardwareHealthSensors) =>
120
+ [2, 3].includes(sensor.status)
121
+ )
122
+ break
123
+ case 'system-log':
124
+ tableData = []
125
+ break
126
+ }
96
127
 
97
128
  return table[props.tableMode].bodyItems(tableData, localization.value)
98
129
  })
130
+
131
+ const isShowSensorWarningDetails = ref<boolean>(false)
132
+ const sensorWarningError = ref<string | null>(null)
133
+ const onShowFieldWarning = (error: string): void => {
134
+ isShowSensorWarningDetails.value = true
135
+ sensorWarningError.value = error
136
+ }
99
137
  </script>
100
138
 
101
139
  <style lang="scss" scoped>
@@ -126,6 +164,9 @@ const bodyItems = computed<UI_I_BodyItem[][]>(() => {
126
164
  margin-top: 5px;
127
165
  }
128
166
  }
167
+ &__text {
168
+ margin-left: 8px;
169
+ }
129
170
  }
130
171
  .icon {
131
172
  width: 18px;
@@ -9,8 +9,11 @@ import {
9
9
  constructColumnKey,
10
10
  } from '~/components/atoms/table/dataGrid/lib/utils/constructDataTable'
11
11
  import type { UI_I_HardwareHealthAlertWarnings } from '~/components/common/pages/hardwareHealth/tableView/lib/models/interfaces'
12
- // import { E_HostStatusIcon } from '~/components/templates/inventory/treeView/lib/models/enums'
13
12
  import { hardwareHealthAlertWarningTableKeys } from '~/components/common/pages/hardwareHealth/tableView/lib/config/tableKeys'
13
+ import {
14
+ sensorsLocalizationByStatus,
15
+ sensorsIconByStatus,
16
+ } from '~/components/common/pages/hardwareHealth/lib/config/status'
14
17
 
15
18
  const getItems = (
16
19
  localization: UI_I_Localization
@@ -68,7 +71,8 @@ export const headItems = (localization: UI_I_Localization): UI_I_HeadItem[] => {
68
71
  }
69
72
 
70
73
  export const bodyItems = (
71
- data: UI_I_HardwareHealthAlertWarnings[]
74
+ data: UI_I_HardwareHealthAlertWarnings[],
75
+ localization: UI_I_Localization
72
76
  ): UI_I_BodyItem[][] => {
73
77
  const bodyItems: UI_I_BodyItem[][] = []
74
78
  data.forEach((sensor: UI_I_HardwareHealthAlertWarnings, key) => {
@@ -81,13 +85,16 @@ export const bodyItems = (
81
85
  },
82
86
  {
83
87
  key: 'icon',
84
- text: sensor[hardwareHealthAlertWarningTableKeys[1]],
88
+ text: localization[
89
+ sensorsLocalizationByStatus[
90
+ sensor[hardwareHealthAlertWarningTableKeys[1]]
91
+ ]
92
+ ],
85
93
  id: key,
86
- // data: {
87
- // iconClassName:
88
- // E_HostStatusIcon[sensor[hardwareHealthAlertWarningTableKeys[1]]],
89
- // },
90
- data: {},
94
+ data: {
95
+ iconClassName: sensorsIconByStatus[sensor.status],
96
+ isSprite: false,
97
+ },
91
98
  testId: `table-item-${key}`,
92
99
  },
93
100
  {
@@ -21,7 +21,7 @@ const getItems = (
21
21
  ): [string, boolean, string, string][] => {
22
22
  return [
23
23
  [localization.sensors, true, '330px', hardwareHealthSensorTableKeys[0]],
24
- [localization.status, true, '110px', hardwareHealthSensorTableKeys[1]],
24
+ [localization.status, true, '140px', hardwareHealthSensorTableKeys[1]],
25
25
  [localization.reading, true, '115px', hardwareHealthSensorTableKeys[2]],
26
26
  [localization.categories, true, '130px', hardwareHealthSensorTableKeys[3]],
27
27
  [localization.lastUpdated, true, '195px', hardwareHealthSensorTableKeys[4]],
@@ -0,0 +1,63 @@
1
+ <template>
2
+ <atoms-modal
3
+ show
4
+ width="580px"
5
+ class="feedback-field"
6
+ :title="localization.theOperationFailed"
7
+ test-id="feedback-filed-modal"
8
+ @hide="onCloseModal"
9
+ >
10
+ <template #modalBody>
11
+ <div class="feedback-field__body">
12
+ <atoms-the-icon name="info" class="feedback-field__icon" />
13
+
14
+ <p class="feedback-field__text">
15
+ {{ props.error }}
16
+ </p>
17
+ </div>
18
+ </template>
19
+
20
+ <template #modalFooter>
21
+ <button
22
+ id="sensor-feedback-field-apply-button"
23
+ data-id="sensor-feedback-field-apply-button"
24
+ class="btn btn-primary"
25
+ @click="onCloseModal"
26
+ >
27
+ {{ localization.ok }}
28
+ </button>
29
+ </template>
30
+ </atoms-modal>
31
+ </template>
32
+
33
+ <script setup lang="ts">
34
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
35
+
36
+ const props = defineProps<{
37
+ error: string
38
+ }>()
39
+ const localization = computed<UI_I_Localization>(() => useLocal())
40
+ const emits = defineEmits<{
41
+ (event: 'close-modal'): void
42
+ }>()
43
+ const onCloseModal = (): void => {
44
+ emits('close-modal')
45
+ }
46
+ </script>
47
+
48
+ <style lang="scss" scoped>
49
+ @import 'assets/scss/common/mixins.scss';
50
+ .feedback-field {
51
+ &__body {
52
+ @include flex($align: center);
53
+ }
54
+ &__icon {
55
+ min-width: 40px;
56
+ height: 40px;
57
+ margin-right: 20px;
58
+ }
59
+ &__text {
60
+ @include text($fs: 14px, $fw: 300);
61
+ }
62
+ }
63
+ </style>