bfg-common 1.4.799 → 1.4.801

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 (157) hide show
  1. package/assets/img/icons/icons-sprite-dark-1.svg +31 -14
  2. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  3. package/assets/img/icons/icons-sprite-dark-4.svg +6 -1
  4. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  5. package/assets/img/icons/icons-sprite-light-1.svg +30 -13
  6. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  7. package/assets/img/icons/icons-sprite-light-4.svg +6 -1
  8. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  9. package/assets/localization/local_be.json +33 -8
  10. package/assets/localization/local_en.json +33 -8
  11. package/assets/localization/local_hy.json +33 -8
  12. package/assets/localization/local_kk.json +34 -9
  13. package/assets/localization/local_ru.json +43 -18
  14. package/assets/localization/local_zh.json +33 -8
  15. package/assets/scss/clarity/local_ar.json +6 -3
  16. package/assets/scss/common/icons/icons-1.scss +4 -4
  17. package/components/atoms/autocomplete/Autocomplete.vue +68 -12
  18. package/components/atoms/select/TheSelect.vue +10 -1
  19. package/components/atoms/table/dataGrid/DataGrid.vue +12 -4
  20. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +4 -1
  21. package/components/atoms/table/dataGrid/lib/utils/export.ts +13 -13
  22. package/components/atoms/tabs/VerticalTabs.vue +11 -6
  23. package/components/common/browse/blocks/lib/models/types.ts +1 -1
  24. package/components/common/browse/lib/models/interfaces.ts +5 -5
  25. package/components/common/chartOptionsModal/counters/timespan/form/Form.vue +544 -544
  26. package/components/common/chartOptionsModal/counters/timespan/form/lib/config/dateForm.ts +116 -116
  27. package/components/common/context/Context.vue +16 -4
  28. package/components/common/context/recursion/Recursion.vue +2 -1
  29. package/components/common/context/recursion/RecursionNew.vue +57 -31
  30. package/components/common/context/recursion/RecursionOld.vue +33 -19
  31. package/components/common/diagramMain/Header.vue +211 -211
  32. package/components/common/diagramMain/adapter/AdapterItems.vue +61 -61
  33. package/components/common/diagramMain/lib/config/initial.ts +50 -50
  34. package/components/common/diagramMain/lib/models/types.ts +21 -21
  35. package/components/common/diagramMain/lib/utils/utils.ts +331 -331
  36. package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +330 -330
  37. package/components/common/diagramMain/modals/editSettings/ConfirmTeamingSettingsModal.vue +40 -40
  38. package/components/common/diagramMain/modals/editSettings/EditSettings.vue +497 -497
  39. package/components/common/diagramMain/modals/editSettings/EditSettingsModal.vue +812 -812
  40. package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +214 -214
  41. package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +189 -189
  42. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +163 -163
  43. package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +175 -175
  44. package/components/common/diagramMain/modals/editSettings/tabs/TrafficShaping.vue +7 -7
  45. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +346 -346
  46. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +205 -205
  47. package/components/common/diagramMain/modals/lib/config/diagramConfig.ts +23 -23
  48. package/components/common/diagramMain/modals/lib/config/initial.ts +180 -180
  49. package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +90 -90
  50. package/components/common/diagramMain/modals/lib/mappers/mappers.ts +87 -87
  51. package/components/common/diagramMain/modals/lib/utils/index.ts +24 -24
  52. package/components/common/diagramMain/modals/migrateVmkernelAdapter/lib/config/steps.ts +114 -114
  53. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +169 -169
  54. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/SelectVmkernelAdapter.vue +159 -159
  55. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +14 -14
  56. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +137 -137
  57. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +52 -52
  58. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
  59. package/components/common/diagramMain/port/Ports.vue +47 -47
  60. package/components/common/feedback/Buttons.vue +2 -2
  61. package/components/common/feedback/Message.vue +1 -0
  62. package/components/common/feedback/VisitPortal.vue +5 -1
  63. package/components/common/graph/Graph.vue +5 -11
  64. package/components/common/graph/GraphNew.vue +71 -0
  65. package/components/common/graph/GraphOld.vue +31 -0
  66. package/components/common/layout/theHeader/feedback/new/New.vue +29 -14
  67. package/components/common/layout/theHeader/feedback/new/additionalDetails/AdditionalDetails.vue +34 -9
  68. package/components/common/layout/theHeader/feedback/new/additionalDetails/Headline.vue +17 -6
  69. package/components/common/layout/theHeader/feedback/new/description/Description.vue +1 -0
  70. package/components/common/layout/theHeader/feedback/new/email/Email.vue +1 -1
  71. package/components/common/layout/theHeader/feedback/new/subtitle/Subtitle.vue +22 -6
  72. package/components/common/layout/theHeader/feedback/new/tabs/Tabs.vue +17 -15
  73. package/components/common/layout/theHeader/userMenu/modals/changePassword/ChangePasswordNew.vue +1 -1
  74. package/components/common/mainNavigationPanel/MainNavigationPanel.vue +3 -2
  75. package/components/common/mainNavigationPanel/MainNavigationPanelNew.vue +1 -1
  76. package/components/common/mainNavigationPanel/MainNavigationPanelOld.vue +1 -1
  77. package/components/common/monitor/advanced/tools/chartOptionsModal/Notification.vue +7 -7
  78. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/Timespan.vue +95 -95
  79. package/components/common/monitor/overview/Overview.vue +14 -28
  80. package/components/common/monitor/overview/OverviewNew.vue +138 -0
  81. package/components/common/monitor/overview/OverviewOld.vue +137 -0
  82. package/components/common/monitor/overview/filters/Filters.vue +35 -103
  83. package/components/common/monitor/overview/filters/FiltersNew.vue +122 -0
  84. package/components/common/monitor/overview/filters/FiltersOld.vue +151 -0
  85. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +1 -1
  86. package/components/common/pages/hardwareHealth/historyTestimony/Graph.vue +463 -456
  87. package/components/common/pages/hardwareHealth/historyTestimony/tools/Tools.vue +389 -387
  88. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/ChartOptionsModal.vue +8 -0
  89. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/counters/Counters.vue +94 -94
  90. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/counters/timespan/Timespan.vue +66 -66
  91. package/components/common/pages/home/headline/Headline.vue +3 -2
  92. package/components/common/pages/home/headline/HeadlineNew.vue +1 -1
  93. package/components/common/pages/home/headline/HeadlineOld.vue +5 -0
  94. package/components/common/pages/home/widgets/vms/VmsNew.vue +1 -1
  95. package/components/common/pages/packages/Packages.vue +208 -0
  96. package/components/common/pages/packages/lib/config/actions.ts +59 -0
  97. package/components/common/pages/packages/lib/models/types.ts +8 -0
  98. package/components/common/pages/packages/tableView/TableView.vue +120 -0
  99. package/components/common/pages/packages/tableView/lib/config/configTable.ts +136 -0
  100. package/components/common/pages/packages/tableView/lib/config/tableKey.ts +14 -0
  101. package/components/common/pages/packages/tableView/lib/models/types.ts +12 -0
  102. package/components/common/pages/shortcuts/Shortcuts.vue +1 -1
  103. package/components/common/pages/tasks/Tasks.vue +23 -8
  104. package/components/common/pages/tasks/table/Table.vue +66 -16
  105. package/components/common/pages/tasks/table/errorInfo/ErrorInfo.vue +27 -10
  106. package/components/common/pages/tasks/table/expandDetails/ExpandDetails.vue +28 -12
  107. package/components/common/pages/tasks/table/lib/config/config.ts +11 -11
  108. package/components/common/portlets/customAttributes/Portlet.vue +4 -4
  109. package/components/common/portlets/tag/TagAddNew.vue +4 -4
  110. package/components/common/select/radio/RadioGroup.vue +3 -3
  111. package/components/common/selectLanguage/SelectLanguage.vue +29 -25
  112. package/components/common/selectLanguage/lib/config/config.ts +1 -0
  113. package/components/common/split/horizontal/HorizontalNew.vue +42 -24
  114. package/components/common/split/horizontal/HorizontalOld.vue +43 -13
  115. package/components/common/vm/actions/add/Add.vue +6 -1
  116. package/components/common/vm/actions/clone/Clone.vue +8 -3
  117. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +4 -0
  118. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +6 -4
  119. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +26 -10
  120. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +12 -4
  121. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +6 -3
  122. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +4 -2
  123. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/config/dropdownItems.ts +6 -4
  124. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +9 -3
  125. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +3 -2
  126. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +3 -2
  127. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +87 -24
  128. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDeviceNew.vue +14 -8
  129. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDeviceOld.vue +9 -7
  130. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIo.vue +0 -4
  131. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +43 -12
  132. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +50 -25
  133. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +5 -7
  134. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +64 -28
  135. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +60 -19
  136. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/lib/config/options.ts +11 -4
  137. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +16 -1
  138. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +59 -8
  139. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +60 -7
  140. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelectionNew.vue +1 -1
  141. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelectionOld.vue +1 -1
  142. package/components/common/vm/actions/common/lib/config/capabilities.ts +1 -1
  143. package/components/common/vm/actions/editSettings/EditSettings.vue +4 -0
  144. package/components/common/vm/actions/editSettings/EditSettingsOld.vue +2 -0
  145. package/components/common/vm/actions/editSettings/new/New.vue +2 -0
  146. package/components/common/wizards/datastore/add/Add.vue +4 -4
  147. package/components/common/wizards/datastore/add/lib/config/steps.ts +14 -14
  148. package/components/common/wizards/datastore/add/lib/validations.ts +9 -9
  149. package/components/common/wizards/datastore/add/nfs/Nfs.vue +6 -9
  150. package/components/common/wizards/vm/migrate/Migrate.vue +12 -12
  151. package/components/common/wizards/vm/migrate/select/computeResource/ComputeResource.vue +1 -1
  152. package/composables/useLocal.ts +3 -1
  153. package/composables/useLocalStorage.ts +1 -1
  154. package/lib/models/store/vm/interfaces.ts +11 -0
  155. package/lib/models/table/interfaces.ts +1 -0
  156. package/package.json +3 -3
  157. package/store/tasks/actions.ts +2 -1
@@ -1,95 +1,95 @@
1
- <template>
2
- <div class="timespan-objects-section-direction">
3
- <common-chart-options-modal-counters-timespan-form
4
- :language="props.language"
5
- :selected-chart-type="props.selectedChartType"
6
- :selected-timespan-type="props.selectedTimespanType"
7
- :units-count="props.unitsCount"
8
- :period-type="props.periodType"
9
- :selected-custom-time="props.selectedCustomTime"
10
- :custom-date-from="props.customDateFrom"
11
- :custom-date-to="props.customDateTo"
12
- :custom-time-from="props.customTimeFrom"
13
- :custom-time-to="props.customTimeTo"
14
- :valid-date-end="props.validDateEnd"
15
- @update-chart-type="emits('update-chart-type', $event)"
16
- @update-custom-time="emits('update-custom-time', $event)"
17
- @update-timespan-type="emits('update-timespan-type', $event)"
18
- @update-unit-count="emits('update-unit-count', $event)"
19
- @update-period-type="emits('update-period-type', $event)"
20
- @update-custom-date-from="emits('update-custom-date-from', $event)"
21
- @update-custom-date-to="emits('update-custom-date-to', $event)"
22
- @update-custom-time-from="emits('update-custom-time-from', $event)"
23
- @update-custom-time-to="emits('update-custom-time-to', $event)"
24
- />
25
- <common-monitor-advanced-tools-chart-options-modal-counters-timespan-object
26
- :type="props.type"
27
- :chart="props.chart"
28
- :total-cores="props.totalCores"
29
- :host-id="props.hostId"
30
- :selected-metrics-keys="props.selectedMetricsKeys"
31
- :total-metric-items="props.totalMetricItems"
32
- :selected-objects="props.selectedObjects"
33
- :loading="props.objectsLoading"
34
- :current-items="props.objectsData"
35
- @select-objects="emits('select-objects', $event)"
36
- />
37
- </div>
38
- </template>
39
-
40
- <script setup lang="ts">
41
- import type { UI_T_AdvancedType } from '~/components/common/monitor/advanced/lib/models/types'
42
- import type {
43
- UI_T_ChartHost,
44
- UI_T_ChartVm,
45
- } from '~/components/common/monitor/advanced/tools/chartOptionsModal/lib/models/types'
46
- import type { UI_I_ObjectItem } from '~/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/lib/models/interfaces'
47
-
48
- const props = defineProps<{
49
- type: UI_T_AdvancedType
50
- chart: UI_T_ChartHost | UI_T_ChartVm
51
- language: string
52
- selectedChartType: string
53
- selectedTimespanType: string
54
- unitsCount: number
55
- periodType: string
56
- selectedCustomTime: string
57
- customDateFrom: string
58
- customDateTo: string
59
- customTimeFrom: string
60
- customTimeTo: string
61
- totalCores: number
62
- hostId: string
63
- selectedMetricsKeys: number[]
64
- totalMetricItems: number
65
- selectedObjects: string
66
- objectsLoading: boolean
67
- objectsData: UI_I_ObjectItem[]
68
- validDateEnd: number
69
- }>()
70
-
71
- const emits = defineEmits<{
72
- (event: 'update-chart-type', value: string): void
73
- (event: 'update-custom-time', value: string): void
74
- (event: 'update-timespan-type', value: string): void
75
- (event: 'update-unit-count', value: number): void
76
- (event: 'update-period-type', value: string): void
77
- (event: 'update-custom-date-from', value: string): void
78
- (event: 'update-custom-date-to', value: string): void
79
- (event: 'update-custom-time-from', value: string): void
80
- (event: 'update-custom-time-to', value: string): void
81
- (event: 'select-objects', value: string): void
82
- }>()
83
- </script>
84
-
85
- <style scoped lang="scss">
86
- .timespan-objects-section-direction {
87
- display: flex;
88
- flex-direction: row;
89
- }
90
- @media (max-width: 1024px) {
91
- .timespan-objects-section-direction {
92
- flex-direction: column;
93
- }
94
- }
95
- </style>
1
+ <template>
2
+ <div class="timespan-objects-section-direction">
3
+ <common-chart-options-modal-counters-timespan-form
4
+ :language="props.language"
5
+ :selected-chart-type="props.selectedChartType"
6
+ :selected-timespan-type="props.selectedTimespanType"
7
+ :units-count="props.unitsCount"
8
+ :period-type="props.periodType"
9
+ :selected-custom-time="props.selectedCustomTime"
10
+ :custom-date-from="props.customDateFrom"
11
+ :custom-date-to="props.customDateTo"
12
+ :custom-time-from="props.customTimeFrom"
13
+ :custom-time-to="props.customTimeTo"
14
+ :valid-date-end="props.validDateEnd"
15
+ @update-chart-type="emits('update-chart-type', $event)"
16
+ @update-custom-time="emits('update-custom-time', $event)"
17
+ @update-timespan-type="emits('update-timespan-type', $event)"
18
+ @update-unit-count="emits('update-unit-count', $event)"
19
+ @update-period-type="emits('update-period-type', $event)"
20
+ @update-custom-date-from="emits('update-custom-date-from', $event)"
21
+ @update-custom-date-to="emits('update-custom-date-to', $event)"
22
+ @update-custom-time-from="emits('update-custom-time-from', $event)"
23
+ @update-custom-time-to="emits('update-custom-time-to', $event)"
24
+ />
25
+ <common-monitor-advanced-tools-chart-options-modal-counters-timespan-object
26
+ :type="props.type"
27
+ :chart="props.chart"
28
+ :total-cores="props.totalCores"
29
+ :host-id="props.hostId"
30
+ :selected-metrics-keys="props.selectedMetricsKeys"
31
+ :total-metric-items="props.totalMetricItems"
32
+ :selected-objects="props.selectedObjects"
33
+ :loading="props.objectsLoading"
34
+ :current-items="props.objectsData"
35
+ @select-objects="emits('select-objects', $event)"
36
+ />
37
+ </div>
38
+ </template>
39
+
40
+ <script setup lang="ts">
41
+ import type { UI_T_AdvancedType } from '~/components/common/monitor/advanced/lib/models/types'
42
+ import type {
43
+ UI_T_ChartHost,
44
+ UI_T_ChartVm,
45
+ } from '~/components/common/monitor/advanced/tools/chartOptionsModal/lib/models/types'
46
+ import type { UI_I_ObjectItem } from '~/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/lib/models/interfaces'
47
+
48
+ const props = defineProps<{
49
+ type: UI_T_AdvancedType
50
+ chart: UI_T_ChartHost | UI_T_ChartVm
51
+ language: string
52
+ selectedChartType: string
53
+ selectedTimespanType: string
54
+ unitsCount: number
55
+ periodType: string
56
+ selectedCustomTime: string
57
+ customDateFrom: string
58
+ customDateTo: string
59
+ customTimeFrom: string
60
+ customTimeTo: string
61
+ totalCores: number
62
+ hostId: string
63
+ selectedMetricsKeys: number[]
64
+ totalMetricItems: number
65
+ selectedObjects: string
66
+ objectsLoading: boolean
67
+ objectsData: UI_I_ObjectItem[]
68
+ validDateEnd: number
69
+ }>()
70
+
71
+ const emits = defineEmits<{
72
+ (event: 'update-chart-type', value: string): void
73
+ (event: 'update-custom-time', value: string): void
74
+ (event: 'update-timespan-type', value: string): void
75
+ (event: 'update-unit-count', value: number): void
76
+ (event: 'update-period-type', value: string): void
77
+ (event: 'update-custom-date-from', value: string): void
78
+ (event: 'update-custom-date-to', value: string): void
79
+ (event: 'update-custom-time-from', value: string): void
80
+ (event: 'update-custom-time-to', value: string): void
81
+ (event: 'select-objects', value: string): void
82
+ }>()
83
+ </script>
84
+
85
+ <style scoped lang="scss">
86
+ .timespan-objects-section-direction {
87
+ display: flex;
88
+ flex-direction: row;
89
+ }
90
+ @media (max-width: 1024px) {
91
+ .timespan-objects-section-direction {
92
+ flex-direction: column;
93
+ }
94
+ }
95
+ </style>
@@ -1,31 +1,16 @@
1
1
  <template>
2
- <div class="charts-view">
3
- <div v-if="!allData.length" class="content-global-loading">
4
- {{ localization.common.loading }}...
5
- </div>
6
- <template v-else>
7
- <template v-for="(chartData, key) in allData" :key="chartData.title">
8
- <div :class="['chart-container', `graph-${chartData.title}`]">
9
- <div v-if="chartData.loader" class="graphic-loader-block">
10
- <div class="spinner"></div>
11
- <p>{{ localization.inventoryMonitor.retrievingData }}...</p>
12
- </div>
13
- <common-graph
14
- v-else-if="chartData.data"
15
- :data="chartData.data"
16
- :chart="charts[key]"
17
- :update="updateHelper"
18
- />
19
- <div v-else class="graph-empty-block">
20
- <div class="title">{{ chartData.title }}</div>
21
- <div class="body-block">
22
- {{ localization.common.emptyGraphText }}
23
- </div>
24
- </div>
25
- </div>
26
- </template>
27
- </template>
28
- </div>
2
+ <common-monitor-overview-new
3
+ v-if="isNewView"
4
+ :charts="props.charts"
5
+ :all-data="allData"
6
+ :update-helper="updateHelper"
7
+ />
8
+ <common-monitor-overview-old
9
+ v-else
10
+ :charts="props.charts"
11
+ :all-data="allData"
12
+ :update-helper="updateHelper"
13
+ />
29
14
  </template>
30
15
 
31
16
  <script setup lang="ts">
@@ -51,7 +36,8 @@ const props = defineProps<{
51
36
  graphType: string
52
37
  }>()
53
38
 
54
- const { $formattedDatetime } = useNuxtApp()
39
+ const { $formattedDatetime, $store }: any = useNuxtApp()
40
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
55
41
 
56
42
  const localization = computed<UI_I_Localization>(() => useLocal())
57
43
 
@@ -0,0 +1,138 @@
1
+ <template>
2
+ <div class="charts-view">
3
+ <div v-if="!props.allData.length" class="content-global-loading">
4
+ {{ localization.common.loading }}...
5
+ </div>
6
+ <template v-else>
7
+ <template v-for="(chartData, key) in props.allData" :key="chartData.title">
8
+ <div :class="['chart-container', `graph-${chartData.title}`]">
9
+ <div v-if="chartData.loader" class="graphic-loader-block">
10
+ <div class="spinner"></div>
11
+ <p>{{ localization.inventoryMonitor.retrievingData }}...</p>
12
+ </div>
13
+ <common-graph
14
+ v-else-if="chartData.data"
15
+ :data="chartData.data"
16
+ :chart="props.charts[key]"
17
+ :update="props.updateHelper"
18
+ />
19
+ <div v-else class="graph-empty-block">
20
+ <div class="title">{{ chartData.title }}</div>
21
+ <div class="body-block">
22
+ {{ localization.common.emptyGraphText }}
23
+ </div>
24
+ </div>
25
+ </div>
26
+ </template>
27
+ </template>
28
+ </div>
29
+ </template>
30
+
31
+ <script setup lang="ts">
32
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
33
+ import type { UI_I_GraphDataSettingItem } from '~/components/common/monitor/lib/models/interfaces'
34
+
35
+ const props = defineProps<{
36
+ charts: (UI_I_GraphDataSettingItem | null)[]
37
+ allData: UI_I_GraphDataSettingItem[]
38
+ updateHelper: number
39
+ }>()
40
+
41
+ const localization = computed<UI_I_Localization>(() => useLocal())
42
+
43
+ </script>
44
+
45
+ <style>
46
+ :root {
47
+ --loader-bg-color: #ffffff;
48
+ }
49
+ :root.dark-theme {
50
+ --loader-bg-color: #22343c;
51
+ }
52
+ </style>
53
+
54
+ <style scoped lang="scss">
55
+ .charts-view {
56
+ position: relative;
57
+ display: flex;
58
+ flex-direction: row;
59
+ flex-wrap: wrap;
60
+ justify-content: space-between;
61
+ overflow: auto;
62
+ height: 100%;
63
+ gap: 16px;
64
+
65
+ .graphic-loader-block {
66
+ background-color: var(--loader-bg-color);
67
+ height: 100%;
68
+ display: flex;
69
+ flex-direction: column;
70
+ align-items: center;
71
+ justify-content: center;
72
+ }
73
+
74
+ .graph-empty-block {
75
+ display: flex;
76
+ flex-direction: column;
77
+ height: 100%;
78
+ background-color: var(--loader-bg-color);
79
+
80
+ .title {
81
+ text-align: center;
82
+ font-size: 18px;
83
+ margin-top: 10px;
84
+ color: var(--global-font-color);
85
+ }
86
+
87
+ .body-block {
88
+ height: 100%;
89
+ display: flex;
90
+ justify-content: center;
91
+ text-align: center;
92
+ align-items: center;
93
+ color: var(--global-font-color);
94
+ }
95
+ }
96
+
97
+ .chart-container {
98
+ box-sizing: border-box;
99
+ flex-grow: 1;
100
+ padding: 5px;
101
+ min-height: 300px;
102
+ height: 100%;
103
+ min-width: 300px;
104
+ width: 100%;
105
+ position: relative;
106
+
107
+ &:first-child:last-child {
108
+ height: 100%;
109
+ width: 100%;
110
+ }
111
+
112
+ &:first-child:nth-last-child(2),
113
+ &:nth-child(2):last-child {
114
+ width: 50%;
115
+ height: 100%;
116
+ }
117
+ }
118
+
119
+ .content-global-loading {
120
+ width: 100%;
121
+ height: 100%;
122
+ display: flex;
123
+ align-items: center;
124
+ justify-content: center;
125
+ color: var(--global-font-color);
126
+ }
127
+ }
128
+ @media (min-width: 1280px) {
129
+ .charts-view .chart-container {
130
+ width: 50%;
131
+ }
132
+ }
133
+ @media (min-height: 800px) {
134
+ .charts-view .chart-container {
135
+ height: 50%;
136
+ }
137
+ }
138
+ </style>
@@ -0,0 +1,137 @@
1
+ <template>
2
+ <div class="charts-view">
3
+ <div v-if="!props.allData.length" class="content-global-loading">
4
+ {{ localization.common.loading }}...
5
+ </div>
6
+ <template v-else>
7
+ <template v-for="(chartData, key) in props.allData" :key="chartData.title">
8
+ <div :class="['chart-container', `graph-${chartData.title}`]">
9
+ <div v-if="chartData.loader" class="graphic-loader-block">
10
+ <div class="spinner"></div>
11
+ <p>{{ localization.inventoryMonitor.retrievingData }}...</p>
12
+ </div>
13
+ <common-graph
14
+ v-else-if="chartData.data"
15
+ :data="chartData.data"
16
+ :chart="props.charts[key]"
17
+ :update="props.updateHelper"
18
+ />
19
+ <div v-else class="graph-empty-block">
20
+ <div class="title">{{ chartData.title }}</div>
21
+ <div class="body-block">
22
+ {{ localization.common.emptyGraphText }}
23
+ </div>
24
+ </div>
25
+ </div>
26
+ </template>
27
+ </template>
28
+ </div>
29
+ </template>
30
+
31
+ <script setup lang="ts">
32
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
33
+ import type { UI_I_GraphDataSettingItem } from '~/components/common/monitor/lib/models/interfaces'
34
+
35
+ const props = defineProps<{
36
+ charts: (UI_I_GraphDataSettingItem | null)[]
37
+ allData: UI_I_GraphDataSettingItem[]
38
+ updateHelper: number
39
+ }>()
40
+
41
+ const localization = computed<UI_I_Localization>(() => useLocal())
42
+
43
+ </script>
44
+
45
+ <style>
46
+ :root {
47
+ --loader-bg-color: #ffffff;
48
+ }
49
+ :root.dark-theme {
50
+ --loader-bg-color: #22343c;
51
+ }
52
+ </style>
53
+
54
+ <style scoped lang="scss">
55
+ .charts-view {
56
+ position: relative;
57
+ display: flex;
58
+ flex-direction: row;
59
+ flex-wrap: wrap;
60
+ justify-content: space-between;
61
+ overflow: auto;
62
+ height: 100%;
63
+
64
+ .graphic-loader-block {
65
+ background-color: var(--loader-bg-color);
66
+ height: 100%;
67
+ display: flex;
68
+ flex-direction: column;
69
+ align-items: center;
70
+ justify-content: center;
71
+ }
72
+
73
+ .graph-empty-block {
74
+ display: flex;
75
+ flex-direction: column;
76
+ height: 100%;
77
+ background-color: var(--loader-bg-color);
78
+
79
+ .title {
80
+ text-align: center;
81
+ font-size: 18px;
82
+ margin-top: 10px;
83
+ color: var(--global-font-color);
84
+ }
85
+
86
+ .body-block {
87
+ height: 100%;
88
+ display: flex;
89
+ justify-content: center;
90
+ text-align: center;
91
+ align-items: center;
92
+ color: var(--global-font-color);
93
+ }
94
+ }
95
+
96
+ .chart-container {
97
+ box-sizing: border-box;
98
+ flex-grow: 1;
99
+ padding: 5px;
100
+ min-height: 300px;
101
+ height: 100%;
102
+ min-width: 300px;
103
+ width: 100%;
104
+ position: relative;
105
+
106
+ &:first-child:last-child {
107
+ height: 100%;
108
+ width: 100%;
109
+ }
110
+
111
+ &:first-child:nth-last-child(2),
112
+ &:nth-child(2):last-child {
113
+ width: 50%;
114
+ height: 100%;
115
+ }
116
+ }
117
+
118
+ .content-global-loading {
119
+ width: 100%;
120
+ height: 100%;
121
+ display: flex;
122
+ align-items: center;
123
+ justify-content: center;
124
+ color: var(--global-font-color);
125
+ }
126
+ }
127
+ @media (min-width: 1280px) {
128
+ .charts-view .chart-container {
129
+ width: 50%;
130
+ }
131
+ }
132
+ @media (min-height: 800px) {
133
+ .charts-view .chart-container {
134
+ height: 50%;
135
+ }
136
+ }
137
+ </style>
@@ -1,64 +1,39 @@
1
1
  <template>
2
- <div class="horizontal-flex-container overview-chart-title-bar">
3
- <div class="horizontal-flex-container">
4
- <label for="periodSelect" class="label-select"
5
- >{{ localization.inventoryMonitor.period }}:</label
6
- >
7
- <div v-if="!disabledPeriodOptions" class="select">
8
- <select
9
- id="periodSelect"
10
- v-model="selectedPeriod"
11
- data-id="period-select"
12
- >
13
- <option
14
- v-for="(item, index) in periodOptions"
15
- :key="index"
16
- :value="item.value"
17
- >
18
- {{ item.text }}
19
- </option>
20
- </select>
21
- </div>
22
- <span v-else class="single-option">{{ periodOptions[0].text }}</span>
23
- </div>
24
- <div v-show="isShowCustomIntervalButton">
25
- <a
26
- id="show-interval-modal-button"
27
- data-id="show-interval-modal-button"
28
- @click="onShowIntervalModal"
29
- >{{ localization.inventoryMonitor.changeCustomInterval }}</a
30
- >
31
- </div>
32
- <div v-if="!disabledPeriodOptions" class="chart-title">
33
- {{ chartTitleDate }}
34
- </div>
35
- <div class="view-select-label horizontal-flex-container">
36
- <label for="viewSelect" class="label-select"
37
- >{{ localization.common.view }}:</label
38
- >
39
- <div class="select">
40
- <select id="viewSelect" v-model="selectedView" data-id="view-select">
41
- <option
42
- v-for="(item, index) in viewOptions"
43
- :key="index"
44
- :value="item.value"
45
- >
46
- {{ item.text }}
47
- </option>
48
- </select>
49
- </div>
50
- </div>
51
- </div>
52
-
53
- <common-monitor-overview-filters-custom-interval-modal
54
- v-if="props.validDateEnd"
55
- v-show="isShowIntervalModal"
2
+ <common-monitor-overview-filters-new
3
+ v-if="isNewView"
4
+ v-model:selected-period="selectedPeriod"
5
+ v-model:selected-view="selectedView"
6
+ :disabled-period-options="disabledPeriodOptions"
7
+ :period-options="periodOptions"
8
+ :is-show-custom-interval-button="isShowCustomIntervalButton"
9
+ :chart-title-date="chartTitleDate"
10
+ :view-options="viewOptions"
11
+ :valid-date-end="props.validDateEnd"
12
+ :is-show-interval-modal="isShowIntervalModal"
56
13
  :selected-periods="props.selectedPeriods"
57
14
  :format-date="props.formatDate"
58
15
  :current-lang="props.currentLang"
16
+ @submit-interval-modal="onSubmitIntervalModal"
17
+ @show-interval-modal="onShowIntervalModal"
18
+ @hide-interval-modal="onHideIntervalModal"
19
+ />
20
+ <common-monitor-overview-filters-old
21
+ v-else
22
+ v-model:selected-period="selectedPeriod"
23
+ v-model:selected-view="selectedView"
24
+ :disabled-period-options="disabledPeriodOptions"
25
+ :period-options="periodOptions"
26
+ :is-show-custom-interval-button="isShowCustomIntervalButton"
27
+ :chart-title-date="chartTitleDate"
28
+ :view-options="viewOptions"
59
29
  :valid-date-end="props.validDateEnd"
60
- @hide="onHideIntervalModal"
61
- @submit="onSubmitIntervalModal"
30
+ :is-show-interval-modal="isShowIntervalModal"
31
+ :selected-periods="props.selectedPeriods"
32
+ :format-date="props.formatDate"
33
+ :current-lang="props.currentLang"
34
+ @submit-interval-modal="onSubmitIntervalModal"
35
+ @show-interval-modal="onShowIntervalModal"
36
+ @hide-interval-modal="onHideIntervalModal"
62
37
  />
63
38
  </template>
64
39
 
@@ -73,8 +48,8 @@ import {
73
48
  } from '~/components/common/monitor/overview/filters/lib/config/filterOptions'
74
49
  import { getValidDateByOptionFunc } from '~/components/common/monitor/lib/config/getValidDateByOption'
75
50
 
76
- const localization = computed<UI_I_Localization>(() => useLocal())
77
- const { $formattedDatetime } = useNuxtApp()
51
+ const { $formattedDatetime, $store }: any = useNuxtApp()
52
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
78
53
 
79
54
  const props = defineProps<{
80
55
  startDate: number
@@ -93,6 +68,8 @@ const emits = defineEmits<{
93
68
  (event: 'update-custom-date', value: number[]): void
94
69
  }>()
95
70
 
71
+ const localization = computed<UI_I_Localization>(() => useLocal())
72
+
96
73
  const selectedPeriod = ref<string>('')
97
74
  const periodOptions = computed<UI_I_OptionItem[]>(() =>
98
75
  periodFunc(localization.value)
@@ -187,49 +164,4 @@ watch(
187
164
  </script>
188
165
 
189
166
  <style scoped lang="scss">
190
- .horizontal-flex-container {
191
- display: flex;
192
- flex-direction: row;
193
- align-items: center;
194
- line-height: 20px;
195
- flex-shrink: 0;
196
- padding-top: 5px;
197
-
198
- .select {
199
- position: relative;
200
-
201
- select {
202
- height: 20px;
203
- margin: 5px;
204
- color: var(--global-font-color);
205
- }
206
- }
207
- .single-option {
208
- margin-left: 5px;
209
- }
210
-
211
- .chart-title {
212
- color: var(--global-font-color);
213
- text-overflow: ellipsis;
214
- white-space: nowrap;
215
- overflow: hidden;
216
- margin: 6px;
217
- font-weight: 700;
218
- text-transform: uppercase;
219
- }
220
-
221
- #show-interval-modal-button {
222
- cursor: pointer;
223
- color: var(--dropdown-item-color);
224
- }
225
-
226
- .view-select-label {
227
- margin-left: auto;
228
- padding-right: 7px;
229
- padding-left: 7px;
230
- text-overflow: ellipsis;
231
- white-space: nowrap;
232
- align-items: center;
233
- }
234
- }
235
167
  </style>