bfg-common 1.6.65 → 1.6.66

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 (141) hide show
  1. package/components/atoms/dropdown/dropdown/Dropdown.vue +10 -8
  2. package/components/atoms/dropdown/dropdown/lib/models/interfaces.ts +1 -0
  3. package/components/common/adapterManager/AdapterManager.vue +473 -473
  4. package/components/common/adapterManager/AdapterManagerOld.vue +498 -498
  5. package/components/common/adapterManager/addAdapterModal/AddAdapterModal.vue +70 -70
  6. package/components/common/adapterManager/addAdapterModal/AddAdapterModalNew.vue +110 -110
  7. package/components/common/adapterManager/addAdapterModal/AddAdapterModalOld.vue +531 -531
  8. package/components/common/adapterManager/addAdapterWarningModal/AddAdapterWarningModal.vue +32 -32
  9. package/components/common/adapterManager/addAdapterWarningModal/AddAdapterWarningModalNew.vue +37 -37
  10. package/components/common/adapterManager/addAdapterWarningModal/AddAdapterWarningModalOld.vue +73 -73
  11. package/components/common/adapterManager/lib/config/index.ts +19 -19
  12. package/components/common/adapterManager/noActiveAdaptersModal/NoActiveAdaptersModal.vue +31 -31
  13. package/components/common/adapterManager/noActiveAdaptersModal/NoActiveAdaptersModalNew.vue +34 -34
  14. package/components/common/adapterManager/noActiveAdaptersModal/NoActiveAdaptersModalOld.vue +57 -57
  15. package/components/common/adapterManager/noConnectedActiveAdaptersModal/NoConnectedActiveAdaptersModal.vue +31 -31
  16. package/components/common/adapterManager/noConnectedActiveAdaptersModal/NoConnectedActiveAdaptersModalNew.vue +34 -34
  17. package/components/common/adapterManager/noConnectedActiveAdaptersModal/NoConnectedActiveAdaptersModalOld.vue +57 -57
  18. package/components/common/adapterManager/ui/actions/AddAdapterButton.vue +34 -34
  19. package/components/common/adapterManager/ui/actions/RemoveAdapterButton.vue +41 -41
  20. package/components/common/adapterManager/ui/actions/VerticalSeparator.vue +10 -10
  21. package/components/common/adapterManager/ui/actions/bar/BarOld.vue +95 -95
  22. package/components/common/adapterManager/ui/actions/moveDownAdapterButton/MoveDownAdapterButton.vue +28 -28
  23. package/components/common/adapterManager/ui/actions/moveDownAdapterButton/MoveDownAdapterButtonNew.vue +76 -76
  24. package/components/common/adapterManager/ui/actions/moveDownAdapterButton/MoveDownAdapterButtonOld.vue +33 -33
  25. package/components/common/adapterManager/ui/actions/moveUpAdapterButton/MoveUpAdapterButton.vue +28 -28
  26. package/components/common/adapterManager/ui/actions/moveUpAdapterButton/MoveUpAdapterButtonNew.vue +77 -77
  27. package/components/common/adapterManager/ui/actions/moveUpAdapterButton/MoveUpAdapterButtonOld.vue +33 -33
  28. package/components/common/adapterManager/ui/noSelectedAdapter/NoSelectedAdapter.vue +24 -24
  29. package/components/common/adapterManager/ui/noSelectedAdapter/NoSelectedAdapterNew.vue +18 -18
  30. package/components/common/adapterManager/ui/noSelectedAdapter/NoSelectedAdapterOld.vue +38 -38
  31. package/components/common/adapterManager/ui/secondTitle/SecondTitle.vue +31 -31
  32. package/components/common/adapterManager/ui/secondTitle/SecondTitleNew.vue +51 -51
  33. package/components/common/adapterManager/ui/secondTitle/SecondTitleOld.vue +35 -35
  34. package/components/common/adapterManager/ui/table/Table.vue +88 -88
  35. package/components/common/adapterManager/ui/table/TableNew.vue +137 -137
  36. package/components/common/adapterManager/ui/table/TableOld.vue +141 -141
  37. package/components/common/adapterManager/ui/table/adapters/Adapters.vue +44 -44
  38. package/components/common/adapterManager/ui/table/adapters/AdaptersNew.vue +187 -187
  39. package/components/common/adapterManager/ui/table/adapters/AdaptersOld.vue +87 -87
  40. package/components/common/adapterManager/ui/table/header/Header.vue +57 -57
  41. package/components/common/adapterManager/ui/table/header/HeaderNew.vue +81 -81
  42. package/components/common/adapterManager/ui/table/header/HeaderOld.vue +79 -79
  43. package/components/common/adapterManager/ui/table/lib/models/types.ts +1 -1
  44. package/components/common/diagramMain/Diagram.vue +459 -459
  45. package/components/common/diagramMain/DiagramMain.vue +929 -929
  46. package/components/common/diagramMain/adapter/Adapter.vue +123 -123
  47. package/components/common/diagramMain/adapter/AdapterItem.vue +438 -438
  48. package/components/common/diagramMain/adapter/AdapterItems.vue +61 -61
  49. package/components/common/diagramMain/adapter/Contents.vue +212 -212
  50. package/components/common/diagramMain/adapter/Lines.vue +81 -81
  51. package/components/common/diagramMain/adapter/block/Block.vue +27 -27
  52. package/components/common/diagramMain/adapter/block/BlockNew.vue +58 -58
  53. package/components/common/diagramMain/adapter/block/BlockOld.vue +50 -50
  54. package/components/common/diagramMain/adapter/secondBlock/SecondBlock.vue +27 -27
  55. package/components/common/diagramMain/adapter/secondBlock/SecondBlockNew.vue +60 -60
  56. package/components/common/diagramMain/adapter/secondBlock/SecondBlockOld.vue +51 -51
  57. package/components/common/diagramMain/header/Header.vue +49 -49
  58. package/components/common/diagramMain/header/HeaderNew.vue +155 -155
  59. package/components/common/diagramMain/header/HeaderOld.vue +234 -234
  60. package/components/common/diagramMain/highlights/Highlights.vue +151 -151
  61. package/components/common/diagramMain/highlights/HighlightsNew.vue +124 -124
  62. package/components/common/diagramMain/highlights/HighlightsOld.vue +107 -107
  63. package/components/common/diagramMain/lib/config/index.ts +81 -81
  64. package/components/common/diagramMain/lib/config/initial.ts +50 -50
  65. package/components/common/diagramMain/lib/config/positions.ts +194 -194
  66. package/components/common/diagramMain/lib/models/enums.ts +44 -44
  67. package/components/common/diagramMain/lib/models/interfaces.ts +760 -760
  68. package/components/common/diagramMain/lib/models/types.ts +21 -21
  69. package/components/common/diagramMain/lib/utils/utils.ts +331 -331
  70. package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +331 -331
  71. package/components/common/diagramMain/modals/Modals.vue +483 -483
  72. package/components/common/diagramMain/modals/lib/config/adapterModal.ts +147 -147
  73. package/components/common/diagramMain/modals/lib/config/diagramConfig.ts +66 -66
  74. package/components/common/diagramMain/modals/lib/config/index.ts +56 -56
  75. package/components/common/diagramMain/modals/lib/config/initial.ts +180 -180
  76. package/components/common/diagramMain/modals/lib/config/networkModal.ts +405 -405
  77. package/components/common/diagramMain/modals/lib/config/portModal.ts +253 -253
  78. package/components/common/diagramMain/modals/lib/config/switchModal.ts +245 -245
  79. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
  80. package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +90 -90
  81. package/components/common/diagramMain/modals/lib/mappers/mappers.ts +88 -88
  82. package/components/common/diagramMain/modals/migrateVmkernelAdapter/MigrateVmkernelAdapter.vue +541 -541
  83. package/components/common/diagramMain/modals/migrateVmkernelAdapter/lib/config/steps.ts +114 -114
  84. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +170 -170
  85. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/SelectVmkernelAdapter.vue +159 -159
  86. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/VmkernelAdapterReadyComplete.vue +49 -49
  87. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +19 -19
  88. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +137 -137
  89. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +52 -52
  90. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
  91. package/components/common/diagramMain/modals/remove/RemoveModal.vue +82 -82
  92. package/components/common/diagramMain/modals/remove/RemoveModalNew.vue +106 -106
  93. package/components/common/diagramMain/modals/remove/RemoveModalOld.vue +241 -241
  94. package/components/common/diagramMain/modals/viewSettings/info/Info.vue +57 -57
  95. package/components/common/diagramMain/modals/viewSettings/info/InfoNew.vue +174 -174
  96. package/components/common/diagramMain/modals/viewSettings/info/InfoOld.vue +141 -141
  97. package/components/common/diagramMain/modals/viewSettings/viewSettings/ViewSettings.vue +45 -45
  98. package/components/common/diagramMain/modals/viewSettings/viewSettings/ViewSettingsNew.vue +323 -323
  99. package/components/common/diagramMain/modals/viewSettings/viewSettings/ViewSettingsOld.vue +203 -203
  100. package/components/common/diagramMain/modals/viewSettings/viewSettingsModal/ViewSettingsModal.vue +60 -60
  101. package/components/common/diagramMain/modals/viewSettings/viewSettingsModal/ViewSettingsModalNew.vue +50 -50
  102. package/components/common/diagramMain/modals/viewSettings/viewSettingsModal/ViewSettingsModalOld.vue +70 -70
  103. package/components/common/diagramMain/modals/viewSettings/viewSettingsModal/lib/models/interfaces.ts +48 -48
  104. package/components/common/diagramMain/network/Contents.vue +497 -497
  105. package/components/common/diagramMain/network/Lines.vue +107 -107
  106. package/components/common/diagramMain/network/Network.vue +141 -141
  107. package/components/common/diagramMain/network/block/Block.vue +37 -37
  108. package/components/common/diagramMain/network/block/BlockNew.vue +68 -68
  109. package/components/common/diagramMain/network/block/BlockOld.vue +64 -64
  110. package/components/common/diagramMain/network/noNetwork/NoNetwork.vue +12 -12
  111. package/components/common/diagramMain/network/noNetwork/NoNetworkNew.vue +89 -89
  112. package/components/common/diagramMain/network/noNetwork/NoNetworkOld.vue +61 -61
  113. package/components/common/diagramMain/network/secondBlock/SecondBlock.vue +41 -41
  114. package/components/common/diagramMain/network/secondBlock/SecondBlockNew.vue +64 -64
  115. package/components/common/diagramMain/network/secondBlock/SecondBlockOld.vue +60 -60
  116. package/components/common/diagramMain/port/Port.vue +580 -580
  117. package/components/common/diagramMain/port/Ports.vue +47 -47
  118. package/components/common/diagramMain/skeleton/Header.vue +31 -31
  119. package/components/common/diagramMain/skeleton/Switch.vue +75 -75
  120. package/components/common/diagramMain/switch/Switch.vue +180 -180
  121. package/components/common/diagramMain/switch/SwitchSelected.vue +111 -111
  122. package/components/common/monitor/advanced/table/tableOld/TableOld.vue +93 -93
  123. package/components/common/monitor/utilization/Old.vue +65 -24
  124. package/components/common/monitor/utilization/Utilization.vue +22 -14
  125. package/components/common/monitor/utilization/infoBlock/InfoBlock.vue +125 -2
  126. package/components/common/monitor/utilization/infoBlock/New.vue +183 -3
  127. package/components/common/monitor/utilization/infoBlock/Old.vue +71 -66
  128. package/components/common/monitor/utilization/infoBlock/progressBar/New.vue +64 -0
  129. package/components/common/monitor/utilization/infoBlock/progressBar/Old.vue +65 -0
  130. package/components/common/monitor/utilization/infoBlock/progressBar/ProgressBar.vue +84 -0
  131. package/components/common/monitor/utilization/infoBlock/progressBar/lib/models/interfaces.ts +10 -0
  132. package/components/common/monitor/utilization/lib/models/enums.ts +4 -4
  133. package/components/common/monitor/utilization/lib/models/interfaces.ts +14 -12
  134. package/components/common/monitor/utilization/lib/models/types.ts +1 -0
  135. package/components/common/monitor/utilization/lib/utils/index.ts +64 -6
  136. package/components/common/monitor/utilization/new/New.vue +195 -0
  137. package/components/common/monitor/utilization/new/Portlet.vue +42 -0
  138. package/components/common/monitor/utilization/new/Skeleton.vue +120 -0
  139. package/components/common/monitor/utilization/new/lib/utils/newPortlet.ts +7 -0
  140. package/package.json +1 -1
  141. package/components/common/monitor/utilization/New.vue +0 -5
@@ -1,111 +1,111 @@
1
- <template>
2
- <g v-if="props.isVisibleLine">
3
- <g v-if="isNewView && inNetworkLinesY.length > 0">
4
- <path :d="d1" class="selection-line" />
5
- <path :d="d2" class="selection-line" />
6
- </g>
7
- <line
8
- v-if="!isNewView"
9
- x1="362.5"
10
- :y1="props.selectedSwitchLineY.y1"
11
- x2="362.5"
12
- :y2="props.selectedSwitchLineY.y2"
13
- shape-rendering="geometricprecision"
14
- stroke-width="2"
15
- class="selection-line"
16
- />
17
- </g>
18
- </template>
19
-
20
- <script setup lang="ts">
21
- import type { UI_I_SwitchLine } from '~/components/common/diagramMain/lib/models/interfaces'
22
-
23
- const props = defineProps<{
24
- selectedSwitchLineY: UI_I_SwitchLine
25
- isVisibleLine: boolean
26
- adaptersPositionsY: number[]
27
- adapterLineY: number
28
- isHighlightedAdapterLine: boolean
29
- inNetworkLinesY: number[]
30
- }>()
31
-
32
- const { $store }: any = useNuxtApp()
33
-
34
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
35
-
36
- const firstAdapterY = computed<number>(() =>
37
- props.isHighlightedAdapterLine
38
- ? props.adapterLineY
39
- : props.adaptersPositionsY[0] + 7.5
40
- )
41
- const lastAdapterY = computed<number>(() =>
42
- props.isHighlightedAdapterLine
43
- ? props.adapterLineY
44
- : props.adaptersPositionsY[props.adaptersPositionsY.length - 1] + 7.5
45
- )
46
-
47
- const height = computed<number>(() =>
48
- Math.abs(
49
- Math.abs(props.selectedSwitchLineY.y1) -
50
- Math.abs(props.selectedSwitchLineY.y2)
51
- )
52
- )
53
-
54
- const firstLineIsNetwork = computed<boolean>(
55
- () => props.selectedSwitchLineY.y1 < firstAdapterY.value
56
- )
57
-
58
- const isNetworkHigherThenAdapter = computed<boolean>(
59
- () =>
60
- props.inNetworkLinesY[props.inNetworkLinesY.length - 1] < lastAdapterY.value
61
- )
62
-
63
- const difference1 = computed<number>(() =>
64
- Math.abs(
65
- props.inNetworkLinesY[props.inNetworkLinesY.length - 1] -
66
- firstAdapterY.value
67
- )
68
- )
69
-
70
- const difference2 = computed<number>(() =>
71
- Math.abs(lastAdapterY.value - props.inNetworkLinesY[0])
72
- )
73
-
74
- const radius1 = computed<number>(() => (difference1.value < 4 ? difference1.value / 2 : 2))
75
- const radius2 = computed<number>(() => (difference2.value < 4 ? difference2.value / 2 : 2))
76
-
77
- const d1 = computed<string>(
78
- () =>
79
- `M 362.5 ${props.selectedSwitchLineY.y2 - radius1.value} l 0 -${
80
- height.value - 2 * radius1.value
81
- } q 0,-${radius1.value} ${firstLineIsNetwork.value ? '-2' : '2'},-${radius1.value}`
82
- )
83
-
84
- const d2 = computed<string>(
85
- () =>
86
- `M 362.5 ${props.selectedSwitchLineY.y1 + radius2.value} l 0 ${
87
- height.value - 2 * radius2.value
88
- } q 0,${radius2.value} ${isNetworkHigherThenAdapter.value ? '2' : '-2'},${
89
- radius2.value
90
- }`
91
- )
92
- </script>
93
-
94
- <style scoped lang="scss">
95
- :root.dark-theme {
96
- .selection-line {
97
- stroke: #fdd006;
98
- }
99
- }
100
- :root.is-new-view {
101
- .selection-line {
102
- stroke: var(--diagram-highlight-line);
103
- fill: none;
104
- stroke-width: 1.5px;
105
- }
106
- }
107
-
108
- .selection-line {
109
- stroke: #f3bb00;
110
- }
111
- </style>
1
+ <template>
2
+ <g v-if="props.isVisibleLine">
3
+ <g v-if="isNewView && inNetworkLinesY.length > 0">
4
+ <path :d="d1" class="selection-line" />
5
+ <path :d="d2" class="selection-line" />
6
+ </g>
7
+ <line
8
+ v-if="!isNewView"
9
+ x1="362.5"
10
+ :y1="props.selectedSwitchLineY.y1"
11
+ x2="362.5"
12
+ :y2="props.selectedSwitchLineY.y2"
13
+ shape-rendering="geometricprecision"
14
+ stroke-width="2"
15
+ class="selection-line"
16
+ />
17
+ </g>
18
+ </template>
19
+
20
+ <script setup lang="ts">
21
+ import type { UI_I_SwitchLine } from '~/components/common/diagramMain/lib/models/interfaces'
22
+
23
+ const props = defineProps<{
24
+ selectedSwitchLineY: UI_I_SwitchLine
25
+ isVisibleLine: boolean
26
+ adaptersPositionsY: number[]
27
+ adapterLineY: number
28
+ isHighlightedAdapterLine: boolean
29
+ inNetworkLinesY: number[]
30
+ }>()
31
+
32
+ const { $store }: any = useNuxtApp()
33
+
34
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
35
+
36
+ const firstAdapterY = computed<number>(() =>
37
+ props.isHighlightedAdapterLine
38
+ ? props.adapterLineY
39
+ : props.adaptersPositionsY[0] + 7.5
40
+ )
41
+ const lastAdapterY = computed<number>(() =>
42
+ props.isHighlightedAdapterLine
43
+ ? props.adapterLineY
44
+ : props.adaptersPositionsY[props.adaptersPositionsY.length - 1] + 7.5
45
+ )
46
+
47
+ const height = computed<number>(() =>
48
+ Math.abs(
49
+ Math.abs(props.selectedSwitchLineY.y1) -
50
+ Math.abs(props.selectedSwitchLineY.y2)
51
+ )
52
+ )
53
+
54
+ const firstLineIsNetwork = computed<boolean>(
55
+ () => props.selectedSwitchLineY.y1 < firstAdapterY.value
56
+ )
57
+
58
+ const isNetworkHigherThenAdapter = computed<boolean>(
59
+ () =>
60
+ props.inNetworkLinesY[props.inNetworkLinesY.length - 1] < lastAdapterY.value
61
+ )
62
+
63
+ const difference1 = computed<number>(() =>
64
+ Math.abs(
65
+ props.inNetworkLinesY[props.inNetworkLinesY.length - 1] -
66
+ firstAdapterY.value
67
+ )
68
+ )
69
+
70
+ const difference2 = computed<number>(() =>
71
+ Math.abs(lastAdapterY.value - props.inNetworkLinesY[0])
72
+ )
73
+
74
+ const radius1 = computed<number>(() => (difference1.value < 4 ? difference1.value / 2 : 2))
75
+ const radius2 = computed<number>(() => (difference2.value < 4 ? difference2.value / 2 : 2))
76
+
77
+ const d1 = computed<string>(
78
+ () =>
79
+ `M 362.5 ${props.selectedSwitchLineY.y2 - radius1.value} l 0 -${
80
+ height.value - 2 * radius1.value
81
+ } q 0,-${radius1.value} ${firstLineIsNetwork.value ? '-2' : '2'},-${radius1.value}`
82
+ )
83
+
84
+ const d2 = computed<string>(
85
+ () =>
86
+ `M 362.5 ${props.selectedSwitchLineY.y1 + radius2.value} l 0 ${
87
+ height.value - 2 * radius2.value
88
+ } q 0,${radius2.value} ${isNetworkHigherThenAdapter.value ? '2' : '-2'},${
89
+ radius2.value
90
+ }`
91
+ )
92
+ </script>
93
+
94
+ <style scoped lang="scss">
95
+ :root.dark-theme {
96
+ .selection-line {
97
+ stroke: #fdd006;
98
+ }
99
+ }
100
+ :root.is-new-view {
101
+ .selection-line {
102
+ stroke: var(--diagram-highlight-line);
103
+ fill: none;
104
+ stroke-width: 1.5px;
105
+ }
106
+ }
107
+
108
+ .selection-line {
109
+ stroke: #f3bb00;
110
+ }
111
+ </style>
@@ -1,93 +1,93 @@
1
- <template>
2
- <div class="chart-legend">
3
- <span class="title">{{
4
- localization.inventoryMonitor.performanceChartLegend
5
- }}</span>
6
- <client-only>
7
- <atoms-table-data-grid
8
- v-model:selected-row="selectedRow"
9
- v-model:column-keys="columnKeys"
10
- v-model:page-size="pageSize"
11
- v-model:page="page"
12
- :head-items="headAInfo"
13
- :body-items="dataBody"
14
- :total-items="dataBody.length"
15
- :total-pages="1"
16
- type="checkbox"
17
- class="data-table"
18
- test-id="advances-table"
19
- hide-page-size
20
- >
21
- <template #col1="{ item }">
22
- <div
23
- :style="[{ backgroundColor: item.data.color }]"
24
- class="datagrid-column-color-block"
25
- ></div>
26
- </template>
27
- </atoms-table-data-grid>
28
- </client-only>
29
- </div>
30
- </template>
31
-
32
- <script setup lang="ts">
33
- import type { UI_I_Localization } from '~/lib/models/interfaces'
34
- import type {
35
- UI_I_HeadItem,
36
- UI_I_BodyItem,
37
- UI_I_ColumnKey,
38
- } from '~/components/atoms/table/dataGrid/lib/models/interfaces'
39
- import type { UI_I_PerformanceItem } from '~/components/common/monitor/advanced/table/lib/models/interfaces'
40
- import * as table from '~/components/common/monitor/advanced/table/tableOld/lib/config/performanceDatatable'
41
-
42
- const localization = computed<UI_I_Localization>(() => useLocal())
43
-
44
- const props = defineProps<{
45
- data: UI_I_PerformanceItem[]
46
- }>()
47
- const emits = defineEmits<{
48
- (event: 'select', value: number[]): void
49
- }>()
50
-
51
- const selectedRow = ref<number[]>([])
52
- const pageSize = ref<number>(100)
53
- const page = ref<number>(1)
54
- const headAInfo = computed<UI_I_HeadItem[]>(() =>
55
- table.headItems(localization.value)
56
- )
57
- const columnKeys = ref<UI_I_ColumnKey[]>(table.columnKeys(localization.value))
58
- watch(localization, () => {
59
- columnKeys.value = table.columnKeys(localization.value)
60
- })
61
- const dataBody = ref<UI_I_BodyItem[][]>([])
62
-
63
- watch(
64
- () => props.data,
65
- (newValue) => {
66
- if (!newValue) return
67
-
68
- dataBody.value = table.bodyItems(newValue)
69
- },
70
- { immediate: true }
71
- )
72
- watch(
73
- selectedRow,
74
- (newValue) => {
75
- emits('select', newValue)
76
- },
77
- { deep: true }
78
- )
79
- </script>
80
-
81
- <style scoped lang="scss">
82
- .chart-legend {
83
- .title {
84
- font-weight: 700;
85
- height: 20px;
86
- }
87
-
88
- .datagrid-column-color-block {
89
- width: 16px;
90
- height: 16px;
91
- }
92
- }
93
- </style>
1
+ <template>
2
+ <div class="chart-legend">
3
+ <span class="title">{{
4
+ localization.inventoryMonitor.performanceChartLegend
5
+ }}</span>
6
+ <client-only>
7
+ <atoms-table-data-grid
8
+ v-model:selected-row="selectedRow"
9
+ v-model:column-keys="columnKeys"
10
+ v-model:page-size="pageSize"
11
+ v-model:page="page"
12
+ :head-items="headAInfo"
13
+ :body-items="dataBody"
14
+ :total-items="dataBody.length"
15
+ :total-pages="1"
16
+ type="checkbox"
17
+ class="data-table"
18
+ test-id="advances-table"
19
+ hide-page-size
20
+ >
21
+ <template #col1="{ item }">
22
+ <div
23
+ :style="[{ backgroundColor: item.data.color }]"
24
+ class="datagrid-column-color-block"
25
+ ></div>
26
+ </template>
27
+ </atoms-table-data-grid>
28
+ </client-only>
29
+ </div>
30
+ </template>
31
+
32
+ <script setup lang="ts">
33
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
34
+ import type {
35
+ UI_I_HeadItem,
36
+ UI_I_BodyItem,
37
+ UI_I_ColumnKey,
38
+ } from '~/components/atoms/table/dataGrid/lib/models/interfaces'
39
+ import type { UI_I_PerformanceItem } from '~/components/common/monitor/advanced/table/lib/models/interfaces'
40
+ import * as table from '~/components/common/monitor/advanced/table/tableOld/lib/config/performanceDatatable'
41
+
42
+ const localization = computed<UI_I_Localization>(() => useLocal())
43
+
44
+ const props = defineProps<{
45
+ data: UI_I_PerformanceItem[]
46
+ }>()
47
+ const emits = defineEmits<{
48
+ (event: 'select', value: number[]): void
49
+ }>()
50
+
51
+ const selectedRow = ref<number[]>([])
52
+ const pageSize = ref<number>(100)
53
+ const page = ref<number>(1)
54
+ const headAInfo = computed<UI_I_HeadItem[]>(() =>
55
+ table.headItems(localization.value)
56
+ )
57
+ const columnKeys = ref<UI_I_ColumnKey[]>(table.columnKeys(localization.value))
58
+ watch(localization, () => {
59
+ columnKeys.value = table.columnKeys(localization.value)
60
+ })
61
+ const dataBody = ref<UI_I_BodyItem[][]>([])
62
+
63
+ watch(
64
+ () => props.data,
65
+ (newValue) => {
66
+ if (!newValue) return
67
+
68
+ dataBody.value = table.bodyItems(newValue)
69
+ },
70
+ { immediate: true }
71
+ )
72
+ watch(
73
+ selectedRow,
74
+ (newValue) => {
75
+ emits('select', newValue)
76
+ },
77
+ { deep: true }
78
+ )
79
+ </script>
80
+
81
+ <style scoped lang="scss">
82
+ .chart-legend {
83
+ .title {
84
+ font-weight: 700;
85
+ height: 20px;
86
+ }
87
+
88
+ .datagrid-column-color-block {
89
+ width: 16px;
90
+ height: 16px;
91
+ }
92
+ }
93
+ </style>
@@ -13,30 +13,26 @@
13
13
  </div>
14
14
 
15
15
  <div class="utilization-column-manage-container relative">
16
- <ui-icon
17
- name="settings"
18
- width="24px"
19
- height="24px"
20
- @click="isShowColumnManage = !isShowColumnManage"
21
- />
22
-
23
- <atoms-popup-simple-popup
24
- v-model="isShowColumnManage"
25
- test-id="utilization-column-manage-popup"
26
- top="0"
27
- right="0"
16
+ <atoms-dropdown
17
+ :drop-menu="dropdownMenu"
18
+ test-id="help-menu-dropdown"
19
+ @select="onDropdownMenuItem"
28
20
  >
29
- <li v-for="(item, key) in allDataLocal" :key="key" class="list-item">
30
- <input
31
- v-model="item.isShow"
32
- :id="`utilization-column-manage-${item.id}`"
33
- type="checkbox"
34
- />
35
- <label :for="`utilization-column-manage-${item.id}`">{{
36
- item.title
37
- }}</label>
38
- </li>
39
- </atoms-popup-simple-popup>
21
+ <template #icon>
22
+ <ui-icon name="settings" width="24px" height="24px" />
23
+ </template>
24
+ <template #item="{ data }">
25
+ <label
26
+ :for="`utilization-column-manage-${data.action}`"
27
+ class="utilization-column-manage-item"
28
+ ><input
29
+ v-model="data.data.isShow"
30
+ :id="`utilization-column-manage-${data.action}`"
31
+ type="checkbox"
32
+ />{{ data.text }}</label
33
+ >
34
+ </template>
35
+ </atoms-dropdown>
40
36
  </div>
41
37
  </div>
42
38
  </div>
@@ -45,12 +41,51 @@
45
41
  <script setup lang="ts">
46
42
  import type { UI_I_UtilizationDataItem } from '~/components/common/monitor/utilization/lib/models/interfaces'
47
43
  import type { UI_I_Localization } from '~/lib/models/interfaces'
44
+ import type { UI_I_DropMenu } from '~/components/atoms/dropdown/dropdown/lib/models/interfaces'
48
45
 
49
46
  const allDataLocal = defineModel<UI_I_UtilizationDataItem[]>('all-data')
50
47
 
48
+ const emits = defineEmits<{
49
+ (event: 'set-items-show-settings'): void
50
+ }>()
51
+
51
52
  const localization = computed<UI_I_Localization>(() => useLocal())
52
53
 
53
- const isShowColumnManage = ref<boolean>(false)
54
+ const dropdownMenu = ref<UI_I_DropMenu<string>[]>([])
55
+
56
+ watch(
57
+ allDataLocal,
58
+ (newValue) => {
59
+ if (!newValue) return
60
+
61
+ dropdownMenu.value = []
62
+
63
+ newValue.forEach((item) => {
64
+ dropdownMenu.value.push({
65
+ text: item.title,
66
+ action: item.id,
67
+ closeAfterClick: false,
68
+ testId: `utilization-dropdown-${item.id}`,
69
+ data: {
70
+ isShow: item.isShow,
71
+ },
72
+ })
73
+ })
74
+ },
75
+ { immediate: true, deep: true }
76
+ )
77
+
78
+ const onDropdownMenuItem = (value: UI_I_DropMenu<string>): void => {
79
+ if (!allDataLocal.value) return
80
+
81
+ allDataLocal.value = allDataLocal.value.map((item) => {
82
+ return {
83
+ ...item,
84
+ isShow: value.action === item.id ? !value.data.isShow : item.isShow,
85
+ }
86
+ })
87
+ emits('set-items-show-settings')
88
+ }
54
89
  </script>
55
90
 
56
91
  <style scoped lang="scss">
@@ -74,6 +109,12 @@ const isShowColumnManage = ref<boolean>(false)
74
109
  align-items: center;
75
110
  gap: 5px;
76
111
  }
112
+ .utilization-column-manage-item {
113
+ pointer-events: none;
114
+ display: flex;
115
+ align-items: center;
116
+ grid-gap: 8px;
117
+ }
77
118
  }
78
119
  }
79
120
  </style>
@@ -1,5 +1,10 @@
1
1
  <template>
2
- <component :is="currentComponent" v-model:all-data="constructedData" />
2
+ <component
3
+ :is="currentComponent"
4
+ v-model:all-data="constructedData"
5
+ :is-loading="props.isLoading"
6
+ @set-items-show-settings="onSetItemsShowSettings"
7
+ />
3
8
  </template>
4
9
 
5
10
  <script setup lang="ts">
@@ -11,7 +16,8 @@ import type { UI_I_Localization } from '~/lib/models/interfaces'
11
16
  import { constructApiData } from '~/components/common/monitor/utilization/lib/utils'
12
17
 
13
18
  const props = defineProps<{
14
- apiData: API_UI_I_UtilizationData
19
+ apiData: API_UI_I_UtilizationData | null
20
+ isLoading: boolean
15
21
  }>()
16
22
 
17
23
  const { $store }: any = useNuxtApp()
@@ -20,7 +26,7 @@ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
20
26
 
21
27
  const currentComponent = computed(() =>
22
28
  isNewView.value
23
- ? defineAsyncComponent(() => import('./New.vue'))
29
+ ? defineAsyncComponent(() => import('./new/New.vue'))
24
30
  : defineAsyncComponent(() => import('./Old.vue'))
25
31
  )
26
32
 
@@ -29,23 +35,25 @@ const localization = computed<UI_I_Localization>(() => useLocal())
29
35
  const constructedData = ref<UI_I_UtilizationDataItem[]>([])
30
36
 
31
37
  watch(
32
- () => props.apiData,
38
+ [localization, () => props.apiData],
33
39
  () => {
34
- !constructedData.value.length &&
35
- (constructedData.value = constructApiData(
40
+ if (props.apiData) {
41
+ constructedData.value = constructApiData(
36
42
  props.apiData,
37
43
  localization.value
38
- ))
44
+ )
45
+ }
39
46
  },
40
47
  { immediate: true, deep: true }
41
48
  )
42
- watch(
43
- () => localization.value,
44
- () => {
45
- constructedData.value = constructApiData(props.apiData, localization.value)
46
- },
47
- { deep: true }
48
- )
49
+
50
+ const onSetItemsShowSettings = (): void => {
51
+ const showBlocksId: string[] = []
52
+ constructedData.value.forEach((item) => {
53
+ if (item.isShow) showBlocksId.push(item.id)
54
+ })
55
+ useLocalStorage('utilization-portlets-show', showBlocksId)
56
+ }
49
57
  </script>
50
58
 
51
59
  <style scoped lang="scss"></style>