bfg-common 1.5.30 → 1.5.31

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 (170) hide show
  1. package/CODE_STYLE.md +109 -109
  2. package/assets/localization/local_ru.json +5 -5
  3. package/assets/scss/common/normalize.scss +339 -339
  4. package/components/atoms/TheIcon3.vue +50 -50
  5. package/components/atoms/collapse/CollapseNav.vue +165 -165
  6. package/components/atoms/dropdown/dropdown/Dropdown.vue +168 -168
  7. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  8. package/components/atoms/perPage/PerPage.vue +58 -58
  9. package/components/atoms/stack/StackBlock.vue +185 -185
  10. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +222 -222
  11. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  12. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  13. package/components/atoms/tabs/VerticalTabs.vue +105 -105
  14. package/components/atoms/tooltip/Signpost.vue +227 -227
  15. package/components/atoms/tooltip/Signpost.vue~ +229 -229
  16. package/components/common/accordion/Recursion.vue +222 -222
  17. package/components/common/browse/BrowseNew.vue +237 -237
  18. package/components/common/browse/BrowseOld.vue +217 -217
  19. package/components/common/browse/blocks/contents/Files.vue +37 -37
  20. package/components/common/browse/blocks/contents/FilesOld.vue +72 -72
  21. package/components/common/browse/blocks/contents/filesNew/FilesNew.vue +96 -96
  22. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  23. package/components/common/context/Context.vue +111 -111
  24. package/components/common/context/lib/models/interfaces.ts +31 -31
  25. package/components/common/context/recursion/Recursion.vue +87 -87
  26. package/components/common/context/recursion/RecursionNew.vue +238 -238
  27. package/components/common/context/recursion/RecursionOld.vue +228 -228
  28. package/components/common/details/DetailsItem.vue +109 -109
  29. package/components/common/diagramMain/DiagramMain.vue +897 -897
  30. package/components/common/diagramMain/Header.vue +214 -214
  31. package/components/common/graph/Graph.vue +120 -104
  32. package/components/common/graph/Graph.vue~ +104 -0
  33. package/components/common/graph/graphNew/GraphNew.vue +194 -0
  34. package/components/common/graph/graphNew/lib/models/enums.ts +9 -0
  35. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  36. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +103 -103
  37. package/components/common/layout/theHeader/userMenu/modals/preferences/view/ViewOld.vue +112 -112
  38. package/components/common/mainNavigationPanel/MainNavigationPanelNew.vue +336 -336
  39. package/components/common/mainNavigationPanel/MainNavigationPanelOld.vue +311 -311
  40. package/components/common/modals/confirmByInput/ConfirmByInputNew.vue +1 -1
  41. package/components/common/modals/unsavedChanges/UnsavedChanges.vue +56 -56
  42. package/components/common/monitor/advanced/graphView/GraphView.vue +2 -2
  43. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/config/utils.ts +1040 -1040
  44. package/components/common/monitor/overview/Overview.vue +5 -3
  45. package/components/common/monitor/overview/OverviewOld.vue +139 -139
  46. package/components/common/pages/home/StatusContent.vue +49 -49
  47. package/components/common/pages/home/headline/Headline.vue +45 -45
  48. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  49. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  50. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  51. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  52. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  53. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  54. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  55. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  56. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  57. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  58. package/components/common/pages/packages/Packages.vue +208 -208
  59. package/components/common/pages/shortcuts/block/BlockNew.vue +96 -96
  60. package/components/common/pages/shortcuts/block/BlockOld.vue +68 -68
  61. package/components/common/portlets/customAttributes/Portlet.vue +667 -667
  62. package/components/common/portlets/tag/Portlet.vue +433 -433
  63. package/components/common/recursionTree/RecursionTree.vue +223 -223
  64. package/components/common/select/button/ButtonDropdown.vue +108 -108
  65. package/components/common/spiceConsole/Drawer.vue +370 -370
  66. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  67. package/components/common/split/horizontal/HorizontalNew.vue +376 -376
  68. package/components/common/split/horizontal/HorizontalOld.vue +337 -337
  69. package/components/common/split/vertical/Vertical.vue +160 -160
  70. package/components/common/tools/Actions.vue +188 -188
  71. package/components/common/vm/actions/add/Add.vue +622 -622
  72. package/components/common/vm/actions/clone/Clone.vue +639 -639
  73. package/components/common/vm/actions/clone/lib/config/steps.ts +129 -129
  74. package/components/common/vm/actions/clone/toTemplate/ToTemplate.vue +634 -634
  75. package/components/common/vm/actions/clone/toTemplate/lib/config/steps.ts +116 -116
  76. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +275 -275
  77. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +274 -274
  78. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +177 -177
  79. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +698 -698
  80. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +410 -410
  81. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +319 -319
  82. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  83. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +99 -99
  84. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +117 -117
  85. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +232 -232
  86. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +164 -164
  87. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +168 -168
  88. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  89. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +70 -70
  90. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  91. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +338 -338
  92. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  93. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +368 -368
  94. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +232 -232
  95. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +250 -250
  96. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeOld.vue +56 -56
  97. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +44 -44
  98. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +286 -286
  99. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +124 -124
  100. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/LocationOld.vue +134 -134
  101. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +63 -63
  102. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +95 -95
  103. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  104. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +69 -69
  105. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressOld.vue +83 -83
  106. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +205 -205
  107. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  108. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  109. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  110. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +84 -84
  111. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  112. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  113. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  114. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  115. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +41 -41
  116. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +81 -81
  117. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  118. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +56 -56
  119. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  120. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -30
  121. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +104 -104
  122. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +112 -112
  123. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +54 -54
  124. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  125. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  126. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  127. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  128. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  129. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +42 -42
  130. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +25 -25
  131. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  132. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  133. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +141 -141
  134. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  135. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  136. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  137. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +30 -30
  138. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  139. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +39 -39
  140. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  141. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +102 -102
  142. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordOld.vue +94 -94
  143. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  144. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +38 -38
  145. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  146. package/components/common/vm/actions/common/select/storage/Storage.vue +130 -130
  147. package/components/common/vm/actions/common/select/storage/StorageOld.vue +129 -129
  148. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  149. package/components/common/wizards/datastore/add/lib/config/steps.ts +138 -138
  150. package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +60 -60
  151. package/components/common/wizards/datastore/add/readyComplete/ReadyComplete.vue +92 -92
  152. package/components/common/wizards/network/add/steps/SelectConnectionType.vue +105 -105
  153. package/components/common/wizards/vm/migrate/Migrate.vue +302 -302
  154. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +220 -220
  155. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  156. package/components/common/wizards/vm/migrate/select/network/table/network/Network.vue +150 -150
  157. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable.ts +91 -91
  158. package/components/common/wizards/vm/migrate/select/priority/Priority.vue +43 -43
  159. package/composables/productNameLocal.ts +30 -30
  160. package/composables/useAppVersion.ts +21 -21
  161. package/package.json +3 -3
  162. package/package.json~ +3 -3
  163. package/plugins/date.ts +233 -233
  164. package/plugins/directives.ts +24 -24
  165. package/public/spice-console/lib/images/bitmap.js +203 -203
  166. package/public/spice-console/network/spicechannel.js +383 -383
  167. package/store/main/mutations.ts +7 -7
  168. package/store/main/state.ts +7 -7
  169. package/store/tasks/mappers/recentTasks.ts +64 -64
  170. package/components/common/graph/GraphNew.vue +0 -179
@@ -1,214 +1,214 @@
1
- <template>
2
- <template v-if="!props.inPortlet">
3
- <div class="diagram-header">
4
- <div class="diagram-header-left">
5
- <atoms-the-icon
6
- name="angle"
7
- :class="[
8
- 'diagram-header__arrow-icon',
9
- {
10
- open: props.isShowDiagram,
11
- },
12
- ]"
13
- :data-id="`${props.testId}-toggle-icon`"
14
- @click="onToggleDiagram"
15
- />
16
- <a>
17
- <span>
18
- {{ localization.common.standardSwitch }}:
19
- {{ props.diagramName }}
20
- </span>
21
- </a>
22
- </div>
23
- <div v-if="props.isShowDiagram" class="diagram-header__btn-container">
24
- <span class="vertical-separator"></span>
25
- <button
26
- id="add-networking-button"
27
- :data-id="`${props.testId}-add-networking-button`"
28
- type="button"
29
- @click="onShowModal('add-networking', props.diagramName)"
30
- >
31
- {{ localization.common.addNetworking }}
32
- </button>
33
- <button
34
- id="switch-edit-button"
35
- :data-id="`${props.testId}-edit-button`"
36
- type="button"
37
- @click="onShowModal('switch-edit')"
38
- >
39
- {{ localization.common.edit }}
40
- </button>
41
- <button
42
- id="switch-manage-physical-adapters-button"
43
- v-development="props.project === 'sphere'"
44
- :data-id="`${props.testId}-manage-physical-adapters-button`"
45
- type="button"
46
- @click="onShowModal('switch-manage-physical-adapters')"
47
- >
48
- {{ localization.common.managePhysicalAdapters }}
49
- </button>
50
- <div class="diagram-main-actions-dots">
51
- <atoms-collapse-nav
52
- popup-class="diagram-main-actions__popup"
53
- :close-after-click="true"
54
- :items="switchMainNavigation"
55
- :test-id="`${props.testId}-actions`"
56
- @change="onShowModal"
57
- />
58
- </div>
59
- </div>
60
- </div>
61
- <hr class="horizontal-separator" />
62
- </template>
63
- </template>
64
-
65
- <script setup lang="ts">
66
- import type { UI_I_Localization } from '~/lib/models/interfaces'
67
- import type {
68
- UI_I_NavigationItem,
69
- UI_I_ModalsInitialData,
70
- } from '~/components/common/diagramMain/lib/models/interfaces'
71
- import type { UI_T_Project } from '~/lib/models/types'
72
- import { switchMainNavigationFunc } from '~/components/common/diagramMain/modals/lib/config'
73
-
74
- const props = defineProps<{
75
- inPortlet: boolean
76
- isShowDiagram: boolean
77
- diagramName: string
78
- testId: string
79
- project?: UI_T_Project
80
- }>()
81
-
82
- const emits = defineEmits<{
83
- (event: 'toggle-diagram'): void
84
- (
85
- event: 'show-modal',
86
- modalName: string,
87
- properties?: UI_I_ModalsInitialData
88
- ): void
89
- }>()
90
-
91
- const localization = computed<UI_I_Localization>(() => useLocal())
92
-
93
- const switchMainNavigation = computed<UI_I_NavigationItem[]>(() =>
94
- switchMainNavigationFunc(localization.value, props.testId)
95
- )
96
-
97
- const onToggleDiagram = () => emits('toggle-diagram')
98
-
99
- const onShowModal = (modalName: string, diagramName?: string) =>
100
- diagramName
101
- ? emits('show-modal', modalName, { switch_name: diagramName })
102
- : emits('show-modal', modalName)
103
- </script>
104
-
105
- <style scoped lang="scss">
106
- :root.dark-theme {
107
- .diagram-header {
108
- &-left {
109
- a {
110
- span {
111
- color: #79c6e6;
112
-
113
- &:hover {
114
- color: #49afd9;
115
- }
116
- }
117
- }
118
- }
119
-
120
- &__btn-container {
121
- button {
122
- color: #89cbdf;
123
-
124
- &:hover {
125
- color: #57c8ea;
126
- }
127
- }
128
- }
129
- }
130
- }
131
-
132
- .diagram-header {
133
- display: flex;
134
- padding-left: 8px;
135
- a {
136
- color: #0072a3;
137
- cursor: pointer;
138
- font-weight: 700;
139
- user-select: none;
140
- line-height: 20px;
141
- span {
142
- font-weight: 700;
143
- }
144
- }
145
-
146
- &-left {
147
- display: flex;
148
- flex-wrap: nowrap;
149
- color: #49afd9;
150
- }
151
-
152
- &__arrow-icon {
153
- width: 16px;
154
- height: 16px;
155
- margin-right: 4px;
156
- transform: rotate(90deg);
157
- align-self: center;
158
- fill: var(--triger-icon-color);
159
- cursor: pointer;
160
- &.open {
161
- transform: rotate(180deg);
162
- }
163
- }
164
-
165
- &__btn-container {
166
- display: flex;
167
-
168
- button {
169
- font-size: 11px;
170
- height: 24px;
171
- border: none;
172
- background: none;
173
- margin-right: 0;
174
- cursor: pointer;
175
- display: inline-block;
176
- white-space: nowrap;
177
- text-align: center;
178
- text-transform: uppercase;
179
- color: #49afd9;
180
- line-height: 20px;
181
- max-height: 16.8px;
182
- padding: 0 14px;
183
- font-weight: 500;
184
- letter-spacing: 1px;
185
-
186
- &:hover {
187
- color: #004d8a;
188
- }
189
- }
190
- }
191
- }
192
-
193
- .diagram-main-actions-dots {
194
- position: relative;
195
- transform: translate(62px, -11px);
196
- }
197
-
198
- .horizontal-separator {
199
- margin: 5px 10px 10px;
200
- border-left: 0;
201
- border-right: 0;
202
- border-color: #ddd;
203
- box-sizing: content-box;
204
- height: 0;
205
- overflow: visible;
206
- border-top: 0px solid #eee;
207
- }
208
-
209
- .vertical-separator {
210
- border: 1px solid #ddd;
211
- border-left: none;
212
- margin: 0 3px 0 14px;
213
- }
214
- </style>
1
+ <template>
2
+ <template v-if="!props.inPortlet">
3
+ <div class="diagram-header">
4
+ <div class="diagram-header-left">
5
+ <atoms-the-icon
6
+ name="angle"
7
+ :class="[
8
+ 'diagram-header__arrow-icon',
9
+ {
10
+ open: props.isShowDiagram,
11
+ },
12
+ ]"
13
+ :data-id="`${props.testId}-toggle-icon`"
14
+ @click="onToggleDiagram"
15
+ />
16
+ <a>
17
+ <span>
18
+ {{ localization.common.standardSwitch }}:
19
+ {{ props.diagramName }}
20
+ </span>
21
+ </a>
22
+ </div>
23
+ <div v-if="props.isShowDiagram" class="diagram-header__btn-container">
24
+ <span class="vertical-separator"></span>
25
+ <button
26
+ id="add-networking-button"
27
+ :data-id="`${props.testId}-add-networking-button`"
28
+ type="button"
29
+ @click="onShowModal('add-networking', props.diagramName)"
30
+ >
31
+ {{ localization.common.addNetworking }}
32
+ </button>
33
+ <button
34
+ id="switch-edit-button"
35
+ :data-id="`${props.testId}-edit-button`"
36
+ type="button"
37
+ @click="onShowModal('switch-edit')"
38
+ >
39
+ {{ localization.common.edit }}
40
+ </button>
41
+ <button
42
+ id="switch-manage-physical-adapters-button"
43
+ v-development="props.project === 'sphere'"
44
+ :data-id="`${props.testId}-manage-physical-adapters-button`"
45
+ type="button"
46
+ @click="onShowModal('switch-manage-physical-adapters')"
47
+ >
48
+ {{ localization.common.managePhysicalAdapters }}
49
+ </button>
50
+ <div class="diagram-main-actions-dots">
51
+ <atoms-collapse-nav
52
+ popup-class="diagram-main-actions__popup"
53
+ :close-after-click="true"
54
+ :items="switchMainNavigation"
55
+ :test-id="`${props.testId}-actions`"
56
+ @change="onShowModal"
57
+ />
58
+ </div>
59
+ </div>
60
+ </div>
61
+ <hr class="horizontal-separator" />
62
+ </template>
63
+ </template>
64
+
65
+ <script setup lang="ts">
66
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
67
+ import type {
68
+ UI_I_NavigationItem,
69
+ UI_I_ModalsInitialData,
70
+ } from '~/components/common/diagramMain/lib/models/interfaces'
71
+ import type { UI_T_Project } from '~/lib/models/types'
72
+ import { switchMainNavigationFunc } from '~/components/common/diagramMain/modals/lib/config'
73
+
74
+ const props = defineProps<{
75
+ inPortlet: boolean
76
+ isShowDiagram: boolean
77
+ diagramName: string
78
+ testId: string
79
+ project?: UI_T_Project
80
+ }>()
81
+
82
+ const emits = defineEmits<{
83
+ (event: 'toggle-diagram'): void
84
+ (
85
+ event: 'show-modal',
86
+ modalName: string,
87
+ properties?: UI_I_ModalsInitialData
88
+ ): void
89
+ }>()
90
+
91
+ const localization = computed<UI_I_Localization>(() => useLocal())
92
+
93
+ const switchMainNavigation = computed<UI_I_NavigationItem[]>(() =>
94
+ switchMainNavigationFunc(localization.value, props.testId)
95
+ )
96
+
97
+ const onToggleDiagram = () => emits('toggle-diagram')
98
+
99
+ const onShowModal = (modalName: string, diagramName?: string) =>
100
+ diagramName
101
+ ? emits('show-modal', modalName, { switch_name: diagramName })
102
+ : emits('show-modal', modalName)
103
+ </script>
104
+
105
+ <style scoped lang="scss">
106
+ :root.dark-theme {
107
+ .diagram-header {
108
+ &-left {
109
+ a {
110
+ span {
111
+ color: #79c6e6;
112
+
113
+ &:hover {
114
+ color: #49afd9;
115
+ }
116
+ }
117
+ }
118
+ }
119
+
120
+ &__btn-container {
121
+ button {
122
+ color: #89cbdf;
123
+
124
+ &:hover {
125
+ color: #57c8ea;
126
+ }
127
+ }
128
+ }
129
+ }
130
+ }
131
+
132
+ .diagram-header {
133
+ display: flex;
134
+ padding-left: 8px;
135
+ a {
136
+ color: #0072a3;
137
+ cursor: pointer;
138
+ font-weight: 700;
139
+ user-select: none;
140
+ line-height: 20px;
141
+ span {
142
+ font-weight: 700;
143
+ }
144
+ }
145
+
146
+ &-left {
147
+ display: flex;
148
+ flex-wrap: nowrap;
149
+ color: #49afd9;
150
+ }
151
+
152
+ &__arrow-icon {
153
+ width: 16px;
154
+ height: 16px;
155
+ margin-right: 4px;
156
+ transform: rotate(90deg);
157
+ align-self: center;
158
+ fill: var(--triger-icon-color);
159
+ cursor: pointer;
160
+ &.open {
161
+ transform: rotate(180deg);
162
+ }
163
+ }
164
+
165
+ &__btn-container {
166
+ display: flex;
167
+
168
+ button {
169
+ font-size: 11px;
170
+ height: 24px;
171
+ border: none;
172
+ background: none;
173
+ margin-right: 0;
174
+ cursor: pointer;
175
+ display: inline-block;
176
+ white-space: nowrap;
177
+ text-align: center;
178
+ text-transform: uppercase;
179
+ color: #49afd9;
180
+ line-height: 20px;
181
+ max-height: 16.8px;
182
+ padding: 0 14px;
183
+ font-weight: 500;
184
+ letter-spacing: 1px;
185
+
186
+ &:hover {
187
+ color: #004d8a;
188
+ }
189
+ }
190
+ }
191
+ }
192
+
193
+ .diagram-main-actions-dots {
194
+ position: relative;
195
+ transform: translate(62px, -11px);
196
+ }
197
+
198
+ .horizontal-separator {
199
+ margin: 5px 10px 10px;
200
+ border-left: 0;
201
+ border-right: 0;
202
+ border-color: #ddd;
203
+ box-sizing: content-box;
204
+ height: 0;
205
+ overflow: visible;
206
+ border-top: 0px solid #eee;
207
+ }
208
+
209
+ .vertical-separator {
210
+ border: 1px solid #ddd;
211
+ border-left: none;
212
+ margin: 0 3px 0 14px;
213
+ }
214
+ </style>
@@ -1,104 +1,120 @@
1
- <template>
2
- <common-graph-new v-if="isNewView" :chart-options="chartOptions" />
3
- <common-graph-old v-else :chart-options="chartOptions" />
4
- </template>
5
-
6
- <script setup lang="ts">
7
- import type {
8
- I_LineGraph,
9
- I_DiskGraph,
10
- } from 'bfg-nuxt-3-graph/graph/lib/models/interfaces'
11
-
12
- const props = defineProps<{
13
- chart?: any
14
- data: I_LineGraph | I_DiskGraph
15
- update: number
16
- exportType?: string
17
- selectedRow?: number[]
18
- }>()
19
-
20
- const { $store }: any = useNuxtApp()
21
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
22
-
23
- let localChart: any = null
24
- const exportChart = (type: string): void => {
25
- if (type === 'png') {
26
- localChart.exportChart({
27
- type: 'image/png',
28
- })
29
- } else if (type === 'jpeg') {
30
- localChart.exportChart({
31
- type: 'image/jpeg',
32
- })
33
- } else if (type === 'svg') {
34
- localChart.exportChart({
35
- type: 'image/svg+xml',
36
- })
37
- } else if (type === 'csv') {
38
- localChart.downloadCSV()
39
- }
40
- }
41
-
42
- const chartOptions = ref<I_LineGraph | I_DiskGraph | null>(null)
43
- const initGraph = (): void => {
44
- if (!props.data) return
45
- setTimeout(() => {
46
- chartOptions.value = props.data
47
- }, 500)
48
- }
49
-
50
- watch(
51
- () => props.update,
52
- (newValue) => {
53
- newValue && initGraph()
54
- },
55
- { immediate: true }
56
- )
57
-
58
- watch(
59
- () => props.exportType,
60
- (newValue) => {
61
- if (!newValue) return
62
-
63
- exportChart(newValue)
64
- }
65
- )
66
-
67
- watch(
68
- () => props.chart,
69
- (newValue) => {
70
- if (newValue.series) localChart = newValue
71
- },
72
- { deep: true }
73
- )
74
-
75
- const updateSeriesStrokeWidth = (data: number[]): void => {
76
- if (!localChart) return
77
-
78
- const newChartOptions = chartOptions.value
79
- newChartOptions.series.forEach((_: any, key: number) => {
80
- newChartOptions.series[key].lineWidth = 1.5
81
-
82
- if (data.includes(key)) newChartOptions.series[key].lineWidth = 3
83
- })
84
-
85
- chartOptions.value = newChartOptions
86
- }
87
-
88
- watch(
89
- () => props.selectedRow,
90
- (newValue) => newValue && updateSeriesStrokeWidth(newValue)
91
- )
92
- </script>
93
-
94
- <style scoped lang="scss">
95
- .graph-content {
96
- width: 100%;
97
- //height: inherit;
98
- height: 100%;
99
-
100
- .graph-block {
101
- height: 100%;
102
- }
103
- }
104
- </style>
1
+ <template>
2
+ <common-graph-graph-new
3
+ v-if="isNewView"
4
+ :chart-options="chartOptions"
5
+ @select-item="onSelectNewViewExportItem"
6
+ />
7
+ <common-graph-old v-else :chart-options="chartOptions" />
8
+ </template>
9
+
10
+ <script setup lang="ts">
11
+ import type {
12
+ I_LineGraph,
13
+ I_DiskGraph,
14
+ } from 'bfg-nuxt-3-graph/graph/lib/models/interfaces'
15
+
16
+ const props = defineProps<{
17
+ chart?: any
18
+ data: I_LineGraph | I_DiskGraph
19
+ update: number
20
+ exportType?: string
21
+ selectedRow?: number[]
22
+ }>()
23
+
24
+ const { $store }: any = useNuxtApp()
25
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
26
+
27
+ let localChart: any = null
28
+ const exportChart = (type: string): void => {
29
+ if (type === 'png') {
30
+ localChart.exportChart({
31
+ type: 'image/png',
32
+ })
33
+ } else if (type === 'jpeg') {
34
+ localChart.exportChart({
35
+ type: 'image/jpeg',
36
+ })
37
+ } else if (type === 'svg') {
38
+ localChart.exportChart({
39
+ type: 'image/svg+xml',
40
+ })
41
+ } else if (type === 'csv') {
42
+ localChart.downloadCSV()
43
+ } else if (type === 'print') {
44
+ localChart.print()
45
+ }
46
+ }
47
+
48
+ const onSelectNewViewExportItem = (value: string): void => {
49
+ switch (value) {
50
+ case 'downloadPNG':
51
+ exportChart('png')
52
+ break
53
+ case 'downloadJPEG':
54
+ exportChart('jpeg')
55
+ break
56
+ case 'downloadSVG':
57
+ exportChart('svg')
58
+ break
59
+ case 'downloadCSV':
60
+ exportChart('csv')
61
+ break
62
+ case 'printChart':
63
+ exportChart('print')
64
+ break
65
+ }
66
+ }
67
+
68
+ const chartOptions = ref<I_LineGraph | I_DiskGraph | null>(null)
69
+ const initGraph = (): void => {
70
+ if (!props.data) return
71
+ setTimeout(() => {
72
+ chartOptions.value = props.data
73
+ }, 500)
74
+ }
75
+
76
+ watch(
77
+ () => props.update,
78
+ (newValue) => {
79
+ newValue && initGraph()
80
+ },
81
+ { immediate: true }
82
+ )
83
+
84
+ watch(
85
+ () => props.exportType,
86
+ (newValue) => {
87
+ if (!newValue) return
88
+
89
+ exportChart(newValue)
90
+ }
91
+ )
92
+
93
+ watch(
94
+ () => props.chart,
95
+ (newValue) => {
96
+ if (newValue.series) localChart = newValue
97
+ },
98
+ { deep: true }
99
+ )
100
+
101
+ const updateSeriesStrokeWidth = (data: number[]): void => {
102
+ if (!localChart) return
103
+
104
+ const newChartOptions = chartOptions.value
105
+ newChartOptions.series.forEach((_: any, key: number) => {
106
+ newChartOptions.series[key].lineWidth = 1.5
107
+
108
+ if (data.includes(key)) newChartOptions.series[key].lineWidth = 3
109
+ })
110
+
111
+ chartOptions.value = newChartOptions
112
+ }
113
+
114
+ watch(
115
+ () => props.selectedRow,
116
+ (newValue) => newValue && updateSeriesStrokeWidth(newValue)
117
+ )
118
+ </script>
119
+
120
+ <style scoped lang="scss"></style>