bfg-common 1.6.42 → 1.6.43

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 (21) hide show
  1. package/components/atoms/tooltip/TooltipError.vue +3 -0
  2. package/components/common/monitor/advanced/table/tableOld/TableOld.vue +93 -93
  3. package/components/common/pages/hardwareHealth/HardwareHealth.vue +0 -4
  4. package/components/common/pages/hardwareHealth/HardwareHealthNew.vue +2 -11
  5. package/components/common/pages/hardwareHealth/HardwareHealthOld.vue +0 -3
  6. package/components/common/pages/hardwareHealth/historyTestimony/Graph.vue +4 -4
  7. package/components/common/pages/hardwareHealth/historyTestimony/GraphNew.vue +2 -3
  8. package/components/common/pages/hardwareHealth/historyTestimony/GraphOld.vue +2 -3
  9. package/components/common/pages/hardwareHealth/historyTestimony/tools/Tools.vue +8 -30
  10. package/components/common/pages/hardwareHealth/historyTestimony/tools/ToolsNew.vue +16 -6
  11. package/components/common/pages/hardwareHealth/historyTestimony/tools/ToolsOld.vue +19 -7
  12. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/ChartOptionsModal.vue +4 -11
  13. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/actions/SaveOptionsModal.vue +81 -0
  14. package/components/common/pages/hardwareHealth/historyTestimony/tools/lib/config/toolbar.ts +3 -46
  15. package/components/common/wizards/network/add/lib/config/initialData.ts +2 -0
  16. package/components/common/wizards/network/add/lib/models/interfaces.ts +1 -0
  17. package/components/common/wizards/network/add/steps/connectionSettings/ConnectionSettingsOld.vue +5 -1
  18. package/components/common/wizards/network/add/steps/ipFourSettings/IpFourSettingsOld.vue +3 -0
  19. package/components/common/wizards/network/add/steps/portProperties/PortPropertiesOld.vue +6 -2
  20. package/components/common/wizards/network/add/steps/selectTargetDevice/SelectTargetDeviceOld.vue +4 -0
  21. package/package.json +1 -1
@@ -17,6 +17,7 @@
17
17
  { 'has-error': props.hasError },
18
18
  ]"
19
19
  :style="tooltipStyles"
20
+ :data-id="props.testId"
20
21
  >
21
22
  <slot name="content" />
22
23
  </div>
@@ -31,9 +32,11 @@ const props = withDefaults(
31
32
  defineProps<{
32
33
  hasError: boolean
33
34
  selector?: string
35
+ testId?: string
34
36
  }>(),
35
37
  {
36
38
  selector: undefined,
39
+ testId: '',
37
40
  }
38
41
  )
39
42
  const emits = defineEmits<{
@@ -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>
@@ -19,7 +19,6 @@
19
19
  :selected-host-name="props.selectedHostName"
20
20
  :hardware-health-tabs="tabItems"
21
21
  :generated-alert-text="generateAlertTextWithLink"
22
- :project="props.project"
23
22
  @update-history-testimony-tools="
24
23
  emits('update-history-testimony-tools', $event)
25
24
  "
@@ -44,7 +43,6 @@
44
43
  :selected-host-name="props.selectedHostName"
45
44
  :hardware-health-tabs="hardwareHealthTabs"
46
45
  :generated-alert-text="generateAlertTextWithLink"
47
- :project="props.project"
48
46
  @update-history-testimony-tools="
49
47
  emits('update-history-testimony-tools', $event)
50
48
  "
@@ -60,7 +58,6 @@ import type { UI_I_HardwareHealthSensors } from '~/components/common/pages/hardw
60
58
  import type { UI_T_HardwareHealthTabMode } from '~/components/common/pages/hardwareHealth/lib/models/types'
61
59
  import type { UI_I_CollapseNavItem } from '~/components/atoms/collapse/lib/models/interfaces'
62
60
  import type { UI_I_StorageSensorsAlert } from '~/components/common/pages/hardwareHealth/lib/models/interfaces'
63
- import type { UI_T_Project } from '~/lib/models/types'
64
61
  import {
65
62
  hardwareHealthTabsFunc,
66
63
  hardwareHealthTabsNewFunc,
@@ -80,7 +77,6 @@ const props = defineProps<{
80
77
  validDateEnd: number
81
78
  formatDate: string
82
79
  selectedHostName: string
83
- project: UI_T_Project
84
80
  }>()
85
81
 
86
82
  const emits = defineEmits<{
@@ -78,16 +78,10 @@
78
78
  :main-selected-row="mainSelectedRow"
79
79
  :counters-table-data="props.data"
80
80
  :selected-host-name="props.selectedHostName"
81
- :project="props.project"
82
81
  @update-tools="emits('update-history-testimony-tools', $event)"
83
82
  />
84
83
 
85
- <div
86
- :class="[
87
- 'table-content pt-4 h-full overflow-hidden px-[6px]',
88
- activeTab,
89
- ]"
90
- >
84
+ <div :class="['table-content pt-4 h-full overflow-hidden px-[6px]', activeTab ]">
91
85
  <common-pages-hardware-health-table-view-new
92
86
  :table-data="tableData || []"
93
87
  :total-items="tableData?.length || 0"
@@ -110,7 +104,6 @@ import type { UI_I_HardwareHealthSensors } from '~/components/common/pages/hardw
110
104
  import type { UI_I_StorageSensorsAlert } from '~/components/common/pages/hardwareHealth/lib/models/interfaces'
111
105
  import type { UI_I_HardwareHealthHistoryTestimonyTools } from '~/components/common/pages/hardwareHealth/historyTestimony/lib/models/interfaces'
112
106
  import type { UI_I_IndicatorAlerts } from '~/components/common/pages/hardwareHealth/indicators/lib/models/interfaces'
113
- import type { UI_T_Project } from '~/lib/models/types'
114
107
 
115
108
  const activeTab = defineModel<UI_T_HardwareHealthTabMode>('activeTab', {
116
109
  required: true,
@@ -138,7 +131,6 @@ const props = defineProps<{
138
131
  selectedHostName: string
139
132
  hardwareHealthTabs: UI_I_TabItem[]
140
133
  generatedAlertText: UI_I_StorageSensorsAlert
141
- project: UI_T_Project
142
134
  }>()
143
135
  const emits = defineEmits<{
144
136
  (
@@ -242,8 +234,7 @@ const statusCounts = computed<UI_I_IndicatorAlerts>(() => {
242
234
  }
243
235
 
244
236
  .table-content {
245
- &.alert-warning,
246
- &.history-testimony {
237
+ &.alert-warning, &.history-testimony {
247
238
  :deep(.data-table-header th:not(:last-child)) {
248
239
  min-width: max-content !important;
249
240
  }
@@ -54,7 +54,6 @@
54
54
  :valid-date-end="props.validDateEnd"
55
55
  :format-date="props.formatDate"
56
56
  :selected-host-name="props.selectedHostName"
57
- :project="props.project"
58
57
  @update-tools="emits('update-history-testimony-tools', $event)"
59
58
  />
60
59
 
@@ -80,7 +79,6 @@ import type { UI_I_CollapseNavItem } from '~/components/atoms/collapse/lib/model
80
79
  import type { UI_I_StorageSensorsAlert } from '~/components/common/pages/hardwareHealth/lib/models/interfaces'
81
80
  import type { UI_T_HardwareHealthTabMode } from '~/components/common/pages/hardwareHealth/lib/models/types'
82
81
  import type { UI_I_HardwareHealthHistoryTestimonyTools } from '~/components/common/pages/hardwareHealth/historyTestimony/lib/models/interfaces'
83
- import type { UI_T_Project } from '~/lib/models/types'
84
82
 
85
83
  const activeTab = defineModel<UI_T_HardwareHealthTabMode>('activeTab', {
86
84
  required: true,
@@ -108,7 +106,6 @@ const props = defineProps<{
108
106
  selectedHostName: string
109
107
  hardwareHealthTabs: UI_I_CollapseNavItem[]
110
108
  generatedAlertText: UI_I_StorageSensorsAlert
111
- project: UI_T_Project
112
109
  }>()
113
110
 
114
111
  const emits = defineEmits<{
@@ -40,7 +40,6 @@
40
40
  :timespan-period-type="timespanPeriodType"
41
41
  :selected-row-power="selectedRowPower"
42
42
  :selected-row-temperature="selectedRowTemperature"
43
- :project="props.project"
44
43
  @show-chart-modal="isShowChartModal = true"
45
44
  @hide-chart-modal="isShowChartModal = false"
46
45
  @update-tools="onUpdateTools"
@@ -48,6 +47,7 @@
48
47
  @power-selected-rows-local="powerSelectedRowsLocal = $event"
49
48
  @temperature-selected-rows-local="temperatureSelectedRowsLocal = $event"
50
49
  @update-period-type="timespanPeriodType = $event"
50
+ @delete-option="onDeleteOption"
51
51
  @submit-options="onSubmitOptions"
52
52
  />
53
53
  <common-pages-hardware-health-history-testimony-graph-old
@@ -91,7 +91,6 @@
91
91
  :timespan-period-type="timespanPeriodType"
92
92
  :selected-row-power="selectedRowPower"
93
93
  :selected-row-temperature="selectedRowTemperature"
94
- :project="props.project"
95
94
  @show-chart-modal="isShowChartModal = true"
96
95
  @hide-chart-modal="isShowChartModal = false"
97
96
  @update-tools="onUpdateTools"
@@ -99,6 +98,7 @@
99
98
  @power-selected-rows-local="powerSelectedRowsLocal = $event"
100
99
  @temperature-selected-rows-local="temperatureSelectedRowsLocal = $event"
101
100
  @update-period-type="timespanPeriodType = $event"
101
+ @delete-option="onDeleteOption"
102
102
  @submit-options="onSubmitOptions"
103
103
  />
104
104
  </template>
@@ -117,7 +117,6 @@ import type {
117
117
  import type { UI_T_Chart } from '~/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/lib/models/types'
118
118
  import type { UI_I_SensorsGraphPayload } from '~/components/common/pages/hardwareHealth/historyTestimony/tools/lib/models/interfaces'
119
119
  import type { UI_I_OptionsForm } from '~/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/lib/models/interfaces'
120
- import type { UI_T_Project } from '~/lib/models/types'
121
120
 
122
121
  const selectedView = defineModel<string>('selectedView')
123
122
 
@@ -134,7 +133,6 @@ const props = defineProps<{
134
133
  mainSelectedRow: number[]
135
134
  validDateEnd: number
136
135
  formatDate: string
137
- project: UI_T_Project
138
136
  selectedHostName?: string
139
137
  }>()
140
138
  const emits = defineEmits<{
@@ -405,5 +403,7 @@ const onSubmitOptions = (data: UI_I_OptionsForm): void => {
405
403
  data
406
404
  )
407
405
  }
406
+
407
+ const onDeleteOption = (): void => {}
408
408
  </script>
409
409
  <style scoped lang="scss"></style>
@@ -25,7 +25,6 @@
25
25
  :valid-date-end="props.validDateEnd"
26
26
  :format-date="props.formatDate"
27
27
  :selected-host-name="props.selectedHostName"
28
- :project="props.project"
29
28
  @show-chart-modal="emits('show-chart-modal')"
30
29
  @hide-chart-modal="emits('hide-chart-modal')"
31
30
  @update-tools="emits('update-tools', $event)"
@@ -35,6 +34,7 @@
35
34
  emits('temperature-selected-rows-local', $event)
36
35
  "
37
36
  @update-period-type="emits('update-period-type', $event)"
37
+ @delete-option="emits('delete-option')"
38
38
  @submit-options="emits('submit-options', $event)"
39
39
  />
40
40
 
@@ -88,7 +88,6 @@ import type { UI_I_HardwareHealthSensors } from '~/components/common/pages/hardw
88
88
  import type { UI_I_HardwareHealthSensorsGraph } from '~/components/common/pages/hardwareHealth/historyTestimony/lib/models/interfaces'
89
89
  import type { UI_I_SensorsGraphPayload } from '~/components/common/pages/hardwareHealth/historyTestimony/tools/lib/models/interfaces'
90
90
  import type { UI_I_OptionsForm } from '~/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/lib/models/interfaces'
91
- import type { UI_T_Project } from '~/lib/models/types'
92
91
 
93
92
  const selectedView = defineModel<string>('selectedView', { required: true })
94
93
 
@@ -131,7 +130,6 @@ const props = defineProps<{
131
130
  timespanPeriodType: string
132
131
  selectedRowPower: number[]
133
132
  selectedRowTemperature: number[]
134
- project: UI_T_Project
135
133
  }>()
136
134
  const emits = defineEmits<{
137
135
  (event: 'show-chart-modal'): void
@@ -147,6 +145,7 @@ const emits = defineEmits<{
147
145
  value: UI_I_HardwareHealthSensorsGraph[]
148
146
  ): void
149
147
  (event: 'update-period-type', value: string): void
148
+ (event: 'delete-option'): void
150
149
  (event: 'submit-options', value: UI_I_OptionsForm): void
151
150
  }>()
152
151
  </script>
@@ -25,7 +25,6 @@
25
25
  :valid-date-end="props.validDateEnd"
26
26
  :format-date="props.formatDate"
27
27
  :selected-host-name="props.selectedHostName"
28
- :project="props.project"
29
28
  @show-chart-modal="emits('show-chart-modal')"
30
29
  @hide-chart-modal="emits('hide-chart-modal')"
31
30
  @update-tools="emits('update-tools', $event)"
@@ -35,6 +34,7 @@
35
34
  emits('temperature-selected-rows-local', $event)
36
35
  "
37
36
  @update-period-type="emits('update-period-type', $event)"
37
+ @delete-option="emits('delete-option')"
38
38
  @submit-options="emits('submit-options', $event)"
39
39
  />
40
40
  <div
@@ -88,7 +88,6 @@ import type { UI_I_HardwareHealthSensors } from '~/components/common/pages/hardw
88
88
  import type { UI_I_HardwareHealthSensorsGraph } from '~/components/common/pages/hardwareHealth/historyTestimony/lib/models/interfaces'
89
89
  import type { UI_I_SensorsGraphPayload } from '~/components/common/pages/hardwareHealth/historyTestimony/tools/lib/models/interfaces'
90
90
  import { containerMediumSize } from '~/components/common/pages/hardwareHealth/historyTestimony/lib/config/containerSizes'
91
- import type { UI_T_Project } from '~/lib/models/types'
92
91
 
93
92
  const selectedView = defineModel<string>('selectedView', { required: true })
94
93
 
@@ -131,7 +130,6 @@ const props = defineProps<{
131
130
  timespanPeriodType: string
132
131
  selectedRowPower: number[]
133
132
  selectedRowTemperature: number[]
134
- project: UI_T_Project
135
133
  }>()
136
134
  const emits = defineEmits<{
137
135
  (event: 'show-chart-modal'): void
@@ -147,6 +145,7 @@ const emits = defineEmits<{
147
145
  value: UI_I_HardwareHealthSensorsGraph[]
148
146
  ): void
149
147
  (event: 'update-period-type', value: string): void
148
+ (event: 'delete-option'): void
150
149
  (event: 'submit-options', value: UI_I_OptionsForm): void
151
150
  }>()
152
151
 
@@ -27,7 +27,6 @@
27
27
  :period-options="periodOptions"
28
28
  :selected-timespan-type="props.selectedTimespanType"
29
29
  :selected-host-name="props.selectedHostName"
30
- :options-names="optionsNames"
31
30
  @show-chart-modal="emits('show-chart-modal')"
32
31
  @hide-chart-modal="emits('hide-chart-modal')"
33
32
  @update-tools="onUpdateTools"
@@ -37,9 +36,8 @@
37
36
  emits('temperature-selected-rows-local', $event)
38
37
  "
39
38
  @update-period-type="emits('update-period-type', $event)"
39
+ @delete-option="emits('delete-option')"
40
40
  @submit-options="emits('submit-options', $event)"
41
- @save-option-name="onSaveOptionName"
42
- @delete-option="onDeleteOption"
43
41
  />
44
42
  <common-pages-hardware-health-history-testimony-tools-old
45
43
  v-else
@@ -69,7 +67,6 @@
69
67
  :period-options="periodOptions"
70
68
  :selected-timespan-type="props.selectedTimespanType"
71
69
  :selected-host-name="props.selectedHostName"
72
- :options-names="optionsNames"
73
70
  @show-chart-modal="emits('show-chart-modal')"
74
71
  @hide-chart-modal="emits('hide-chart-modal')"
75
72
  @update-tools="onUpdateTools"
@@ -79,23 +76,20 @@
79
76
  emits('temperature-selected-rows-local', $event)
80
77
  "
81
78
  @update-period-type="emits('update-period-type', $event)"
79
+ @delete-option="emits('delete-option')"
82
80
  @submit-options="emits('submit-options', $event)"
83
- @save-option-name="onSaveOptionName"
84
- @delete-option="onDeleteOption"
85
81
  />
86
82
  </template>
87
83
  <script setup lang="ts">
88
84
  import type { UI_I_Localization } from '~/lib/models/interfaces'
85
+ import { periodFunc } from '~/components/common/pages/hardwareHealth/historyTestimony/tools/lib/config/toolbar'
86
+ import { getValidDateByOptionFunc } from '~/components/common/monitor/lib/config/getValidDateByOption'
87
+ import { checkDateFunc } from '~/components/common/monitor/overview/filters/customIntervalModal/lib/config/dateChecker'
89
88
  import type { UI_T_Chart } from '~/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/lib/models/types'
90
89
  import type { UI_I_HardwareHealthSensorsGraph } from '~/components/common/pages/hardwareHealth/historyTestimony/lib/models/interfaces'
91
90
  import type { UI_I_SensorsGraphPayload } from '~/components/common/pages/hardwareHealth/historyTestimony/tools/lib/models/interfaces'
92
91
  import type { UI_I_OptionsForm } from '~/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/lib/models/interfaces'
93
92
  import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
94
- import type { UI_T_Project } from '~/lib/models/types'
95
- import { periodFunc } from '~/components/common/pages/hardwareHealth/historyTestimony/tools/lib/config/toolbar'
96
- import { getValidDateByOptionFunc } from '~/components/common/monitor/lib/config/getValidDateByOption'
97
- import { checkDateFunc } from '~/components/common/monitor/overview/filters/customIntervalModal/lib/config/dateChecker'
98
- import { getCurrentOptionsStorageFunc } from '~/components/common/pages/hardwareHealth/historyTestimony/tools/lib/config/toolbar'
99
93
 
100
94
  const selectedView = defineModel<string>('selectedView', { required: true })
101
95
 
@@ -124,7 +118,6 @@ const props = defineProps<{
124
118
  validDateEnd: number
125
119
  formatDate: string
126
120
  selectedHostName: string
127
- project: UI_T_Project
128
121
  }>()
129
122
  const emits = defineEmits<{
130
123
  (event: 'show-chart-modal'): void
@@ -140,6 +133,7 @@ const emits = defineEmits<{
140
133
  value: UI_I_HardwareHealthSensorsGraph[]
141
134
  ): void
142
135
  (event: 'update-period-type', value: string): void
136
+ (event: 'delete-option'): void
143
137
  (event: 'submit-options', value: UI_I_OptionsForm): void
144
138
  }>()
145
139
 
@@ -172,9 +166,8 @@ const onUpdateTools = (): void => {
172
166
  const periodValue = selectedPeriod.value
173
167
  const viewValue = selectedView.value
174
168
  const selectedValue = useLocalStorage(
175
- 'ChartOptionsSensors' + viewValue,
176
- undefined,
177
- props.project === 'sphere'
169
+ viewValue + 'ChartOptionsSensors',
170
+ undefined
178
171
  )
179
172
 
180
173
  const fields = selectedValue
@@ -221,20 +214,5 @@ const onUpdateTools = (): void => {
221
214
 
222
215
  emits('update-tools', tools)
223
216
  }
224
-
225
- const optionsNames = ref<string[]>([])
226
-
227
- const onSaveOptionName = (): void => {
228
- optionsNames.value = getCurrentOptionsStorageFunc()
229
- }
230
-
231
- const onDeleteOption = (): void => {
232
- optionsNames.value = getCurrentOptionsStorageFunc()
233
- }
234
-
235
- onMounted(() => {
236
- optionsNames.value = getCurrentOptionsStorageFunc()
237
- onUpdateTools()
238
- })
239
217
  </script>
240
218
  <style scoped lang="scss"></style>
@@ -78,12 +78,13 @@
78
78
  "
79
79
  @update-period-type="emits('update-period-type', $event)"
80
80
  @delete-option="emits('delete-option')"
81
- @save-option-name="emits('save-option-name')"
81
+ @save-option-name="onSaveOptionName"
82
82
  @submit-options="emits('submit-options', $event)"
83
83
  />
84
84
  </template>
85
85
  <script setup lang="ts">
86
86
  import { viewFunc } from '~/components/common/pages/hardwareHealth/historyTestimony/tools/lib/config/toolbar'
87
+ import { getCurrentOptionsStorageFunc } from '~/components/common/pages/hardwareHealth/historyTestimony/tools/lib/config/toolbar'
87
88
  import type { UI_T_Chart } from '~/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/lib/models/types'
88
89
  import type { UI_I_HardwareHealthSensorsGraph } from '~/components/common/pages/hardwareHealth/historyTestimony/lib/models/interfaces'
89
90
  import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
@@ -118,7 +119,6 @@ const props = defineProps<{
118
119
  chartTitleDate: string
119
120
  periodOptions: UI_I_OptionItem[]
120
121
  selectedHostName: string
121
- optionsNames: string[]
122
122
  }>()
123
123
  const emits = defineEmits<{
124
124
  (event: 'show-chart-modal'): void
@@ -134,15 +134,16 @@ const emits = defineEmits<{
134
134
  value: UI_I_HardwareHealthSensorsGraph[]
135
135
  ): void
136
136
  (event: 'update-period-type', value: string): void
137
- (event: 'submit-options', value: UI_I_OptionsForm): void
138
- (event: 'save-option-name'): void
139
137
  (event: 'delete-option'): void
138
+ (event: 'submit-options', value: UI_I_OptionsForm): void
140
139
  }>()
141
140
 
142
141
  const localization = computed<UI_I_Localization>(() => useLocal())
143
142
 
143
+ const optionsNames = ref<string[]>([])
144
+
144
145
  const viewOptions = computed<UI_I_OptionItem[]>(() =>
145
- viewFunc(localization.value, props.optionsNames)
146
+ viewFunc(localization.value, optionsNames.value)
146
147
  )
147
148
 
148
149
  watch(
@@ -153,7 +154,7 @@ watch(
153
154
  if (newValue) currentValue = newValue
154
155
  else if (
155
156
  selectedView.value &&
156
- props.optionsNames.includes(selectedView.value)
157
+ optionsNames.value.includes(selectedView.value)
157
158
  )
158
159
  currentValue = selectedView.value
159
160
  else currentValue = selectedView.value || viewOptions.value[0]?.value
@@ -162,6 +163,15 @@ watch(
162
163
  },
163
164
  { immediate: true }
164
165
  )
166
+
167
+ const onSaveOptionName = (): void => {
168
+ optionsNames.value = getCurrentOptionsStorageFunc()
169
+ }
170
+
171
+ onMounted(() => {
172
+ optionsNames.value = getCurrentOptionsStorageFunc()
173
+ emits('update-tools')
174
+ })
165
175
  </script>
166
176
  <style scoped lang="scss">
167
177
  .advanced-filters {
@@ -91,7 +91,7 @@
91
91
  "
92
92
  @update-period-type="emits('update-period-type', $event)"
93
93
  @delete-option="emits('delete-option')"
94
- @save-option-name="emits('save-option-name')"
94
+ @save-option-name="onSaveOptionName"
95
95
  @submit-options="emits('submit-options', $event)"
96
96
  />
97
97
  </template>
@@ -102,7 +102,10 @@ import type { UI_I_HardwareHealthSensorsGraph } from '~/components/common/pages/
102
102
  import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
103
103
  import type { UI_I_OptionsForm } from '~/components/common/monitor/advanced/tools/chartOptionsModal/lib/models/interfaces'
104
104
  import type { UI_T_Chart } from '~/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/lib/models/types'
105
- import { viewFunc } from '~/components/common/pages/hardwareHealth/historyTestimony/tools/lib/config/toolbar'
105
+ import {
106
+ getCurrentOptionsStorageFunc,
107
+ viewFunc,
108
+ } from '~/components/common/pages/hardwareHealth/historyTestimony/tools/lib/config/toolbar'
106
109
 
107
110
  const selectedView = defineModel<string>('selectedView', { required: true })
108
111
  const selectedPeriod = defineModel<string>('selectedPeriod', { required: true })
@@ -132,7 +135,6 @@ const props = defineProps<{
132
135
  chartTitleDate: string
133
136
  periodOptions: UI_I_OptionItem[]
134
137
  selectedHostName: string
135
- optionsNames: string[]
136
138
  }>()
137
139
 
138
140
  const emits = defineEmits<{
@@ -149,15 +151,16 @@ const emits = defineEmits<{
149
151
  value: UI_I_HardwareHealthSensorsGraph[]
150
152
  ): void
151
153
  (event: 'update-period-type', value: string): void
152
- (event: 'submit-options', value: UI_I_OptionsForm): void
153
- (event: 'save-option-name'): void
154
154
  (event: 'delete-option'): void
155
+ (event: 'submit-options', value: UI_I_OptionsForm): void
155
156
  }>()
156
157
 
157
158
  const localization = computed<UI_I_Localization>(() => useLocal())
158
159
 
160
+ const optionsNames = ref<string[]>([])
161
+
159
162
  const viewOptions = computed<UI_I_OptionItem[]>(() =>
160
- viewFunc(localization.value, props.optionsNames)
163
+ viewFunc(localization.value, optionsNames.value)
161
164
  )
162
165
 
163
166
  watch(
@@ -167,7 +170,7 @@ watch(
167
170
  if (newValue) currentValue = newValue
168
171
  else if (
169
172
  selectedView.value &&
170
- props.optionsNames.includes(selectedView.value)
173
+ optionsNames.value.includes(selectedView.value)
171
174
  )
172
175
  currentValue = selectedView.value
173
176
  else currentValue = selectedView.value || viewOptions.value[0]?.value
@@ -176,6 +179,15 @@ watch(
176
179
  },
177
180
  { immediate: true }
178
181
  )
182
+
183
+ const onSaveOptionName = (): void => {
184
+ optionsNames.value = getCurrentOptionsStorageFunc()
185
+ }
186
+
187
+ onMounted(() => {
188
+ optionsNames.value = getCurrentOptionsStorageFunc()
189
+ emits('update-tools')
190
+ })
179
191
  </script>
180
192
 
181
193
  <style scoped lang="scss">
@@ -94,11 +94,7 @@ import type { UI_I_HardwareHealthSensorsGraph } from '~/components/common/pages/
94
94
  import { metricsFunc } from '~/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/lib/config/optionsMetrics'
95
95
  import { checkDateFunc } from '~/components/common/monitor/overview/filters/customIntervalModal/lib/config/dateChecker'
96
96
  import { getValidDateByOptionFunc } from '~/components/common/monitor/lib/config/getValidDateByOption'
97
- import {
98
- getCurrentOptionsStorageFunc,
99
- removeSelectedOptionsFromStorageFunc,
100
- getSelectedOptionsValueFromStorageFunc,
101
- } from '~/components/common/pages/hardwareHealth/historyTestimony/tools/lib/config/toolbar'
97
+ import { getCurrentOptionsStorageFunc } from '~/components/common/pages/hardwareHealth/historyTestimony/tools/lib/config/toolbar'
102
98
 
103
99
  const props = defineProps<{
104
100
  selectedChartOptionName: string
@@ -145,7 +141,6 @@ const { $store }: any = useNuxtApp()
145
141
  const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
146
142
 
147
143
  const routeType = '' + useRoute().params.type
148
- const routeId = '' + useRoute().params.id
149
144
 
150
145
  const localization = computed<UI_I_Localization>(() => useLocal())
151
146
 
@@ -394,8 +389,6 @@ const onSaveOptions = (name: string): void => {
394
389
  chartType,
395
390
  counters,
396
391
  metric: selectedMetric.value,
397
- validShowName: name,
398
- nodeId: routeId,
399
392
  timespan: {
400
393
  periodType: localTimespanPeriodType.value,
401
394
  units: localCustomTime.value,
@@ -403,7 +396,7 @@ const onSaveOptions = (name: string): void => {
403
396
  type: timespanType.value,
404
397
  },
405
398
  }
406
- useLocalStorage(`ChartOptionsSensors${name}`, saveOptionsData)
399
+ useLocalStorage(`${name}ChartOptionsSensors`, saveOptionsData)
407
400
  optionsNames.value = getCurrentOptionsStorageFunc()
408
401
  localSelectedChartOptionName.value = name
409
402
  emits('save-option-name')
@@ -425,7 +418,7 @@ const setDefaultOptions = (): void => {
425
418
  }
426
419
 
427
420
  const setCustomOptions = (name: string): void => {
428
- const selectedValue = getSelectedOptionsValueFromStorageFunc(name, routeId)
421
+ const selectedValue = useLocalStorage(name + 'ChartOptionsSensors', undefined)
429
422
 
430
423
  if (selectedValue.routeType !== routeType) return
431
424
 
@@ -469,7 +462,7 @@ watch(
469
462
  )
470
463
 
471
464
  const onDeleteChartName = (name: string): void => {
472
- removeSelectedOptionsFromStorageFunc(name, routeId)
465
+ window.localStorage.removeItem(name + 'ChartOptionsSensors')
473
466
  optionsNames.value = getCurrentOptionsStorageFunc()
474
467
  setSelectOptions()
475
468
  emits('delete-option')
@@ -0,0 +1,81 @@
1
+ <template>
2
+ <atoms-modal
3
+ :title="localization.inventoryMonitor.saveOptionsAs"
4
+ width="575px"
5
+ show
6
+ @hide="onHide"
7
+ @submit="onSave"
8
+ >
9
+ <template #modalBody>
10
+ <common-pages-hardware-health-history-testimony-tools-chart-options-modal-actions-save-options-modal
11
+ v-show="isShowAlerts"
12
+ :alerts="alerts"
13
+ @remove="onRemoveAlerts"
14
+ />
15
+ <div class="form-control">
16
+ <label class="save-option-name-label" for="chartOptionsName"
17
+ >{{ localization.common.chartOptionsName }}:</label
18
+ >
19
+ <input
20
+ id="chartOptionsName"
21
+ v-model="name"
22
+ data-id="chart-options-name"
23
+ type="text"
24
+ />
25
+ </div>
26
+ </template>
27
+ </atoms-modal>
28
+ </template>
29
+
30
+ <script setup lang="ts">
31
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
32
+
33
+ const emits = defineEmits<{
34
+ (event: 'hide'): void
35
+ (event: 'save', value: string): void
36
+ }>()
37
+
38
+ const localization = computed<UI_I_Localization>(() => useLocal())
39
+
40
+ const name = ref<string>('')
41
+ const isShowAlerts = ref<boolean>(false)
42
+ const alerts = ref<string[]>([])
43
+
44
+ const onHide = (): void => {
45
+ emits('hide')
46
+ }
47
+ const onSave = (): void => {
48
+ if (!name.value) {
49
+ alerts.value = [localization.value.common.settingsNameErrorDesc]
50
+ isShowAlerts.value = true
51
+
52
+ return
53
+ }
54
+
55
+ emits('save', name.value)
56
+ }
57
+
58
+ const onRemoveAlerts = (): void => {
59
+ isShowAlerts.value = false
60
+ alerts.value = []
61
+ }
62
+ </script>
63
+
64
+ <style scoped lang="scss">
65
+ :deep(.modal-dialog) {
66
+ .alert {
67
+ margin-bottom: 20px;
68
+ }
69
+
70
+ .form-control {
71
+ display: flex;
72
+
73
+ .save-option-name-label {
74
+ white-space: nowrap;
75
+ }
76
+ #chartOptionsName {
77
+ width: 100%;
78
+ }
79
+ }
80
+ }
81
+ </style>
@@ -70,56 +70,13 @@ export const viewFunc = (
70
70
  }
71
71
 
72
72
  export const getCurrentOptionsStorageFunc = (): string[] => {
73
- const routeId = useRoute().params.id
74
- const routeType = useRoute().params.type
75
-
76
73
  const optionsNames = []
77
74
  for (const key of Object.entries(localStorage)) {
78
75
  if (key[0].includes('ChartOptionsSensors')) {
79
- const values = JSON.parse(key[1])
80
-
81
- if (
82
- values.value.routeType === routeType &&
83
- values.value.nodeId === routeId
84
- )
85
- optionsNames.push(values.value.validShowName)
76
+ if (key[0].includes('ChartOptionsSensors')) {
77
+ optionsNames.push(key[0].replace('ChartOptionsSensors', ''))
78
+ }
86
79
  }
87
80
  }
88
81
  return optionsNames
89
82
  }
90
-
91
- export const removeSelectedOptionsFromStorageFunc = (
92
- selectedName: string,
93
- routeId: string
94
- ): void => {
95
- for (const key of Object.entries(localStorage)) {
96
- if (key[0].includes('ChartOptionsSensors')) {
97
- let values = JSON.parse(key[1])
98
-
99
- if (
100
- values.value.validShowName === selectedName &&
101
- values.value.nodeId === routeId
102
- )
103
- window.localStorage.removeItem(key[0])
104
- }
105
- }
106
- }
107
-
108
- export const getSelectedOptionsValueFromStorageFunc = (
109
- selectedName: string,
110
- routeId: string
111
- ): string[] => {
112
- let result = null
113
- for (const key of Object.entries(localStorage)) {
114
- if (key[0].includes('ChartOptionsSensors')) {
115
- let values = JSON.parse(key[1])
116
-
117
- if (
118
- values.value.validShowName === selectedName &&
119
- values.value.nodeId === routeId
120
- )
121
- result = values.value
122
- }
123
- }
124
- return result
125
- }
@@ -71,10 +71,12 @@ export const vlanIdSelectDataFunc = (
71
71
  {
72
72
  text: `${localization.common.none2} (0)`,
73
73
  value: `${localization.common.none2} (0)`,
74
+ testId: 'vlan-id-start'
74
75
  },
75
76
  {
76
77
  text: `${localization.common.all} (4095)`,
77
78
  value: `${localization.common.all} (4095)`,
79
+ testId: 'vlan-id-end'
78
80
  },
79
81
  ]
80
82
 
@@ -177,6 +177,7 @@ export interface UI_I_AddNetworkingFourthOrFifthSchemeDataSend {
177
177
  export interface UI_I_VlanIdData {
178
178
  text: string
179
179
  value: string
180
+ testId?: string
180
181
  }
181
182
 
182
183
  export interface UI_I_NetworkValidation {
@@ -18,6 +18,7 @@
18
18
  <fieldset>
19
19
  <atoms-tooltip-error
20
20
  :has-error="!!props.messagesFields.name.field"
21
+ test-id="network-label-error"
21
22
  >
22
23
  <template #elem>
23
24
  <input
@@ -72,7 +73,10 @@
72
73
  class="is-error tooltip-trigger"
73
74
  name="info"
74
75
  />
75
- <div class="tooltip-top-left tooltip-content error">
76
+ <div
77
+ class="tooltip-top-left tooltip-content error"
78
+ data-id="vlan-id-error"
79
+ >
76
80
  {{ props.messagesFields.vlan.field }}
77
81
  </div>
78
82
  </div>
@@ -53,6 +53,7 @@
53
53
  :has-error="
54
54
  !!props.messagesFields['ipv4_settings.ipv4'].field
55
55
  "
56
+ test-id="address-error"
56
57
  >
57
58
  <template #elem>
58
59
  <input
@@ -88,6 +89,7 @@
88
89
  :has-error="
89
90
  !!props.messagesFields['ipv4_settings.mask'].field
90
91
  "
92
+ test-id="mask-error"
91
93
  >
92
94
  <template #elem>
93
95
  <input
@@ -142,6 +144,7 @@
142
144
  :has-error="
143
145
  !!props.messagesFields['ipv4_settings.gateway'].field
144
146
  "
147
+ test-id="gateway-error"
145
148
  >
146
149
  <template #elem>
147
150
  <input
@@ -22,6 +22,7 @@
22
22
  <fieldset>
23
23
  <atoms-tooltip-error
24
24
  :has-error="!!props.messagesFields.network_name.field"
25
+ test-id="network-label-error"
25
26
  >
26
27
  <template #elem>
27
28
  <input
@@ -77,7 +78,7 @@
77
78
  class="is-error tooltip-trigger"
78
79
  name="info"
79
80
  />
80
- <div class="tooltip-top-left tooltip-content error">
81
+ <div class="tooltip-top-left tooltip-content error" data-id="vlan-id-error">
81
82
  {{ props.messagesFields['new_network.vlan'].field }}
82
83
  </div>
83
84
  </div>
@@ -111,6 +112,7 @@
111
112
  </div>
112
113
  <atoms-tooltip-error
113
114
  :has-error="!!props.messagesFields.mtu.field"
115
+ test-id="invalid-mtu-error"
114
116
  >
115
117
  <template #elem>
116
118
  <input
@@ -239,7 +241,9 @@ const emits = defineEmits<{
239
241
  }>()
240
242
 
241
243
  const localization = computed<UI_I_Localization>(() => useLocal())
242
- const vlanIdSelectDataLocal = computed<UI_I_Localization>(() => vlanIdSelectDataFunc(localization.value))
244
+ const vlanIdSelectDataLocal = computed<UI_I_Localization>(() =>
245
+ vlanIdSelectDataFunc(localization.value)
246
+ )
243
247
 
244
248
  const fields = computed({
245
249
  get(): UI_I_PortProperties {
@@ -34,6 +34,7 @@
34
34
  fieldsLocal.selected === '0' &&
35
35
  !!props.messagesFields.network.field
36
36
  "
37
+ test-id="existing-network-error"
37
38
  >
38
39
  <template #elem>
39
40
  <fieldset class="fieldset-block">
@@ -97,6 +98,7 @@
97
98
  fieldsLocal.selected === '1' &&
98
99
  !!props.messagesFields.switch.field
99
100
  "
101
+ test-id="existing-standard-switch-error"
100
102
  >
101
103
  <template #elem>
102
104
  <fieldset class="fieldset-block">
@@ -160,6 +162,7 @@
160
162
  fieldsLocal.selected === '2' &&
161
163
  !!props.messagesFields.switch2.field
162
164
  "
165
+ test-id="standard-switch-error"
163
166
  >
164
167
  <template #elem>
165
168
  <fieldset class="fieldset-block">
@@ -229,6 +232,7 @@
229
232
  :has-error="
230
233
  !!props.messagesFields['new_switch.mtu'].field
231
234
  "
235
+ test-id="invalid-mtu-error"
232
236
  >
233
237
  <template #elem>
234
238
  <input
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bfg-common",
3
3
  "private": false,
4
- "version": "1.6.42",
4
+ "version": "1.6.43",
5
5
  "scripts": {
6
6
  "build": "nuxt build",
7
7
  "dev": "nuxt dev --port=3002",