bfg-common 1.4.730 → 1.4.732

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 (153) hide show
  1. package/assets/localization/local_be.json +1 -0
  2. package/assets/localization/local_en.json +1 -0
  3. package/assets/localization/local_hy.json +1 -0
  4. package/assets/localization/local_kk.json +1 -0
  5. package/assets/localization/local_ru.json +1 -0
  6. package/assets/localization/local_zh.json +1 -0
  7. package/assets/scss/common/normalize.scss +361 -361
  8. package/components/atoms/TheIcon3.vue +50 -50
  9. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  10. package/components/atoms/select/TheSelect.vue +1 -10
  11. package/components/atoms/stack/StackBlock.vue +185 -185
  12. package/components/atoms/table/dataGrid/DataGrid.vue +1696 -1696
  13. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +222 -222
  14. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +91 -91
  15. package/components/common/browse/BrowseNew.vue +237 -237
  16. package/components/common/browse/BrowseOld.vue +217 -217
  17. package/components/common/browse/blocks/contents/Files.vue +37 -37
  18. package/components/common/browse/blocks/contents/FilesOld.vue +72 -72
  19. package/components/common/browse/blocks/contents/filesNew/FilesNew.vue +96 -96
  20. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  21. package/components/common/{monitor/advanced/tools/chartOptionsModal → chartOptionsModal}/counters/timespan/form/Form.vue +544 -539
  22. package/components/common/{pages/hardwareHealth/historyTestimony/tools/chartOptionsModal → chartOptionsModal}/counters/timespan/form/lib/config/dateForm.ts +116 -115
  23. package/components/common/context/lib/models/interfaces.ts +30 -30
  24. package/components/common/context/recursion/Recursion.vue +86 -86
  25. package/components/common/context/recursion/RecursionOld.vue +213 -213
  26. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  27. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +103 -103
  28. package/components/common/mainNavigationPanel/MainNavigationPanel.vue +150 -150
  29. package/components/common/mainNavigationPanel/MainNavigationPanelOld.vue +300 -300
  30. package/components/common/modals/confirmByInput/ConfirmByInput.vue +206 -206
  31. package/components/common/modals/unsavedChanges/UnsavedChanges.vue +56 -56
  32. package/components/common/monitor/advanced/Advanced.vue +5 -0
  33. package/components/common/monitor/advanced/tools/Tools.vue +9 -2
  34. package/components/common/monitor/advanced/tools/chartOptionsModal/ChartOptionsModal.vue +9 -2
  35. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/Counters.vue +2 -0
  36. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/Timespan.vue +95 -93
  37. package/components/common/monitor/overview/filters/Filters.vue +3 -0
  38. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +15 -5
  39. package/components/common/monitor/overview/filters/customIntervalModal/lib/config/dateChecker.ts +24 -14
  40. package/components/common/pages/hardwareHealth/HardwareHealth.vue +12 -5
  41. package/components/common/pages/hardwareHealth/historyTestimony/Graph.vue +456 -451
  42. package/components/common/pages/hardwareHealth/historyTestimony/tools/Tools.vue +387 -380
  43. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/ChartOptionsModal.vue +13 -6
  44. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/counters/Counters.vue +94 -94
  45. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/counters/timespan/Timespan.vue +66 -66
  46. package/components/common/pages/home/StatusContent.vue +49 -49
  47. package/components/common/pages/home/headline/Headline.vue +44 -44
  48. package/components/common/pages/home/headline/HeadlineNew.vue +71 -71
  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/HostsNew.vue +100 -100
  55. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  56. package/components/common/pages/home/widgets/services/lib/config/config.ts +108 -108
  57. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  58. package/components/common/pages/home/widgets/vms/VmsNew.vue +101 -101
  59. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  60. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  61. package/components/common/recursionTree/RecursionTree.vue +223 -223
  62. package/components/common/select/button/ButtonDropdown.vue +108 -108
  63. package/components/common/spiceConsole/Drawer.vue +370 -370
  64. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  65. package/components/common/split/vertical/Vertical.vue +160 -160
  66. package/components/common/vm/actions/add/Add.vue +0 -2
  67. package/components/common/vm/actions/clone/Clone.vue +0 -2
  68. package/components/common/vm/actions/clone/lib/config/steps.ts +129 -129
  69. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +0 -3
  70. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +0 -2
  71. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +0 -2
  72. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +1 -9
  73. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +2 -5
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +1 -3
  75. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  76. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +117 -117
  77. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +161 -161
  78. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +165 -165
  79. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  80. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +70 -70
  81. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  82. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +338 -338
  83. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/config/dropdownItems.ts +4 -6
  84. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  85. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeOld.vue +56 -56
  86. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +44 -44
  87. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +281 -281
  88. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +124 -124
  89. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/LocationOld.vue +134 -134
  90. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +63 -63
  91. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +95 -95
  92. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  93. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +69 -69
  94. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressOld.vue +83 -83
  95. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +6 -38
  96. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDeviceNew.vue +5 -31
  97. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDeviceOld.vue +5 -31
  98. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +35 -35
  99. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +2 -9
  100. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +48 -48
  101. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/lib/config/options.ts +4 -11
  102. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  103. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  104. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  105. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +30 -30
  106. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelectionNew.vue +1 -1
  107. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelectionOld.vue +1 -1
  108. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +56 -56
  109. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  110. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -30
  111. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +104 -104
  112. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +112 -112
  113. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +54 -54
  114. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  115. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  116. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  117. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  118. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  119. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +42 -42
  120. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +25 -25
  121. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  122. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  123. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +141 -141
  124. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  125. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  126. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  127. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +30 -30
  128. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  129. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +39 -39
  130. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  131. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +102 -102
  132. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordOld.vue +94 -94
  133. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  134. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +38 -38
  135. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  136. package/components/common/vm/actions/common/select/storage/Storage.vue +130 -130
  137. package/components/common/vm/actions/common/select/storage/StorageOld.vue +129 -129
  138. package/components/common/vm/actions/editSettings/EditSettings.vue +0 -3
  139. package/components/common/vm/actions/editSettings/EditSettingsOld.vue +0 -2
  140. package/components/common/vm/actions/editSettings/new/New.vue +0 -2
  141. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  142. package/composables/productNameLocal.ts +30 -30
  143. package/composables/useAppVersion.ts +21 -21
  144. package/package.json +1 -1
  145. package/plugins/date.ts +233 -233
  146. package/plugins/recursion.ts +311 -311
  147. package/public/spice-console/lib/images/bitmap.js +203 -203
  148. package/public/spice-console/network/spicechannel.js +383 -383
  149. package/store/main/mutations.ts +7 -7
  150. package/store/main/state.ts +7 -7
  151. package/store/tasks/mappers/recentTasks.ts +64 -64
  152. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/lib/config/dateForm.ts +0 -114
  153. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/counters/timespan/form/Form.vue +0 -539
@@ -1,206 +1,206 @@
1
- <template>
2
- <atoms-modal
3
- show
4
- :test-id="`${props.testId}-modal`"
5
- :width="props.width"
6
- class="confirm-by-input"
7
- :title="props.title"
8
- :second-title="props.subTitle"
9
- :loading="props.loading"
10
- is-hide-close-icon
11
- @submit="onConfirm"
12
- >
13
- <template #modalBody>
14
- <div class="confirm-by-input__body">
15
- <atoms-the-icon
16
- name="exclamation-triangle"
17
- class="confirm-by-input__icon"
18
- />
19
-
20
- <div>
21
- <slot name="content"></slot>
22
-
23
- <div class="form-group">
24
- <label class="no-selection" for="confirmation">{{
25
- confirmationText
26
- }}</label>
27
- <div class="form-group__input">
28
- <input
29
- id="confirmation"
30
- v-model="confirmationForm"
31
- data-id="confirmation-input"
32
- type="text"
33
- autocomplete="off"
34
- @keyup.enter="onConfirm"
35
- />
36
- <div v-show="!isValid && confirmationForm" class="form-validate">
37
- <atoms-tooltip :test-id="`${props.testId}-tooltip`">
38
- <template #elem>
39
- <atoms-the-icon
40
- class="is-error tooltip-trigger"
41
- name="info"
42
- width="28px"
43
- height="28px"
44
- />
45
- </template>
46
- <template #content>
47
- {{ confirmDeletionInputError }}
48
- </template>
49
- </atoms-tooltip>
50
- </div>
51
- </div>
52
- </div>
53
- </div>
54
- </div>
55
- </template>
56
- <template #modalFooter>
57
- <button
58
- id="confirm-by-input-modal-close-button"
59
- :data-id="`${props.testId}-modal-close-button`"
60
- class="btn btn-outline"
61
- @click="onHide"
62
- >
63
- {{ localization.common.no }}
64
- </button>
65
- <button
66
- id="confirm-by-input-modal-apply-button"
67
- :data-id="`${props.testId}-modal-apply-button`"
68
- class="btn btn-primary"
69
- :class="props.loading && 'modal-dialog__loader'"
70
- :disabled="!isValid || props.loading"
71
- @click="onConfirm"
72
- >
73
- <atoms-loader-pre-loader
74
- v-if="props.loading"
75
- id="loader"
76
- :show="props.loading"
77
- class="button__loading"
78
- :test-id="`${props.testId}-spinner`"
79
- />
80
- <span v-else>
81
- {{ localization.common.yes }}
82
- </span>
83
- </button>
84
- </template>
85
- </atoms-modal>
86
- </template>
87
-
88
- <script setup lang="ts">
89
- import type { UI_I_Localization } from '~/lib/models/interfaces'
90
-
91
- const props = defineProps<{
92
- title: string
93
- subTitle: string
94
- testId: string
95
- width: string
96
- loading?: boolean
97
- }>()
98
- const emits = defineEmits<{
99
- (event: 'confirm'): void
100
- (event: 'hide'): void
101
- }>()
102
-
103
- const localization = computed<UI_I_Localization>(() => useLocal())
104
-
105
- const confirmationForm = ref<string>('')
106
- const isValid = computed<boolean>(() => {
107
- return confirmationForm.value === props.subTitle
108
- })
109
-
110
- const confirmationText = localization.value.common.confirmDeletionInput.replace(
111
- '{title}',
112
- props.subTitle
113
- )
114
- const confirmDeletionInputError =
115
- localization.value.common.confirmDeletionInputError.replace(
116
- '{title}',
117
- props.subTitle
118
- )
119
-
120
- const onConfirm = async (): Promise<void> => {
121
- if (!isValid.value) return
122
-
123
- emits('confirm')
124
- }
125
-
126
- const onHide = (): void => {
127
- emits('hide')
128
- }
129
- </script>
130
-
131
- <style lang="scss" scoped>
132
- @import 'assets/scss/common/mixins.scss';
133
- .confirm-by-input {
134
- :deep(.modal-header) {
135
- display: flex;
136
- justify-content: space-between;
137
- align-items: flex-start;
138
-
139
- .modal-title {
140
- color: var(--main-color-mode);
141
- font-size: 24px;
142
- max-width: 65%;
143
- }
144
- .secondary-title {
145
- color: var(--modal-secondary-title);
146
- font-size: 0.75rem;
147
- font-weight: lighter;
148
- user-select: none;
149
- }
150
- .separator {
151
- content: '';
152
- border-left: 1px solid #ccc;
153
- margin: 0 18px;
154
- height: 22px;
155
- }
156
-
157
- .close-icon {
158
- fill: var(--close-icon);
159
- width: 24px;
160
- height: 24px;
161
- }
162
- }
163
-
164
- &__body {
165
- @include flex($align: flex-start);
166
-
167
- .form-group {
168
- margin-top: 20px;
169
-
170
- label {
171
- font-weight: bold;
172
- font-size: 0.6rem;
173
- user-select: none;
174
- }
175
-
176
- &:not(:first-child) input {
177
- width: 100%;
178
- }
179
- &__input {
180
- display: flex;
181
- width: 100%;
182
- min-height: 30px;
183
- }
184
- }
185
- }
186
-
187
- &__icon {
188
- min-width: 48px;
189
- height: 48px;
190
- margin-right: 20px;
191
- fill: #c27b00;
192
- }
193
-
194
- .button {
195
- &__loading {
196
- :deep(.spinner) {
197
- width: 25px;
198
- height: 25px;
199
- min-width: 25px;
200
- min-height: 25px;
201
- margin-top: 5px;
202
- }
203
- }
204
- }
205
- }
206
- </style>
1
+ <template>
2
+ <atoms-modal
3
+ show
4
+ :test-id="`${props.testId}-modal`"
5
+ :width="props.width"
6
+ class="confirm-by-input"
7
+ :title="props.title"
8
+ :second-title="props.subTitle"
9
+ :loading="props.loading"
10
+ is-hide-close-icon
11
+ @submit="onConfirm"
12
+ >
13
+ <template #modalBody>
14
+ <div class="confirm-by-input__body">
15
+ <atoms-the-icon
16
+ name="exclamation-triangle"
17
+ class="confirm-by-input__icon"
18
+ />
19
+
20
+ <div>
21
+ <slot name="content"></slot>
22
+
23
+ <div class="form-group">
24
+ <label class="no-selection" for="confirmation">{{
25
+ confirmationText
26
+ }}</label>
27
+ <div class="form-group__input">
28
+ <input
29
+ id="confirmation"
30
+ v-model="confirmationForm"
31
+ data-id="confirmation-input"
32
+ type="text"
33
+ autocomplete="off"
34
+ @keyup.enter="onConfirm"
35
+ />
36
+ <div v-show="!isValid && confirmationForm" class="form-validate">
37
+ <atoms-tooltip :test-id="`${props.testId}-tooltip`">
38
+ <template #elem>
39
+ <atoms-the-icon
40
+ class="is-error tooltip-trigger"
41
+ name="info"
42
+ width="28px"
43
+ height="28px"
44
+ />
45
+ </template>
46
+ <template #content>
47
+ {{ confirmDeletionInputError }}
48
+ </template>
49
+ </atoms-tooltip>
50
+ </div>
51
+ </div>
52
+ </div>
53
+ </div>
54
+ </div>
55
+ </template>
56
+ <template #modalFooter>
57
+ <button
58
+ id="confirm-by-input-modal-close-button"
59
+ :data-id="`${props.testId}-modal-close-button`"
60
+ class="btn btn-outline"
61
+ @click="onHide"
62
+ >
63
+ {{ localization.common.no }}
64
+ </button>
65
+ <button
66
+ id="confirm-by-input-modal-apply-button"
67
+ :data-id="`${props.testId}-modal-apply-button`"
68
+ class="btn btn-primary"
69
+ :class="props.loading && 'modal-dialog__loader'"
70
+ :disabled="!isValid || props.loading"
71
+ @click="onConfirm"
72
+ >
73
+ <atoms-loader-pre-loader
74
+ v-if="props.loading"
75
+ id="loader"
76
+ :show="props.loading"
77
+ class="button__loading"
78
+ :test-id="`${props.testId}-spinner`"
79
+ />
80
+ <span v-else>
81
+ {{ localization.common.yes }}
82
+ </span>
83
+ </button>
84
+ </template>
85
+ </atoms-modal>
86
+ </template>
87
+
88
+ <script setup lang="ts">
89
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
90
+
91
+ const props = defineProps<{
92
+ title: string
93
+ subTitle: string
94
+ testId: string
95
+ width: string
96
+ loading?: boolean
97
+ }>()
98
+ const emits = defineEmits<{
99
+ (event: 'confirm'): void
100
+ (event: 'hide'): void
101
+ }>()
102
+
103
+ const localization = computed<UI_I_Localization>(() => useLocal())
104
+
105
+ const confirmationForm = ref<string>('')
106
+ const isValid = computed<boolean>(() => {
107
+ return confirmationForm.value === props.subTitle
108
+ })
109
+
110
+ const confirmationText = localization.value.common.confirmDeletionInput.replace(
111
+ '{title}',
112
+ props.subTitle
113
+ )
114
+ const confirmDeletionInputError =
115
+ localization.value.common.confirmDeletionInputError.replace(
116
+ '{title}',
117
+ props.subTitle
118
+ )
119
+
120
+ const onConfirm = async (): Promise<void> => {
121
+ if (!isValid.value) return
122
+
123
+ emits('confirm')
124
+ }
125
+
126
+ const onHide = (): void => {
127
+ emits('hide')
128
+ }
129
+ </script>
130
+
131
+ <style lang="scss" scoped>
132
+ @import 'assets/scss/common/mixins.scss';
133
+ .confirm-by-input {
134
+ :deep(.modal-header) {
135
+ display: flex;
136
+ justify-content: space-between;
137
+ align-items: flex-start;
138
+
139
+ .modal-title {
140
+ color: var(--main-color-mode);
141
+ font-size: 24px;
142
+ max-width: 65%;
143
+ }
144
+ .secondary-title {
145
+ color: var(--modal-secondary-title);
146
+ font-size: 0.75rem;
147
+ font-weight: lighter;
148
+ user-select: none;
149
+ }
150
+ .separator {
151
+ content: '';
152
+ border-left: 1px solid #ccc;
153
+ margin: 0 18px;
154
+ height: 22px;
155
+ }
156
+
157
+ .close-icon {
158
+ fill: var(--close-icon);
159
+ width: 24px;
160
+ height: 24px;
161
+ }
162
+ }
163
+
164
+ &__body {
165
+ @include flex($align: flex-start);
166
+
167
+ .form-group {
168
+ margin-top: 20px;
169
+
170
+ label {
171
+ font-weight: bold;
172
+ font-size: 0.6rem;
173
+ user-select: none;
174
+ }
175
+
176
+ &:not(:first-child) input {
177
+ width: 100%;
178
+ }
179
+ &__input {
180
+ display: flex;
181
+ width: 100%;
182
+ min-height: 30px;
183
+ }
184
+ }
185
+ }
186
+
187
+ &__icon {
188
+ min-width: 48px;
189
+ height: 48px;
190
+ margin-right: 20px;
191
+ fill: #c27b00;
192
+ }
193
+
194
+ .button {
195
+ &__loading {
196
+ :deep(.spinner) {
197
+ width: 25px;
198
+ height: 25px;
199
+ min-width: 25px;
200
+ min-height: 25px;
201
+ margin-top: 5px;
202
+ }
203
+ }
204
+ }
205
+ }
206
+ </style>
@@ -1,56 +1,56 @@
1
- <template>
2
- <div class="absolute">
3
- <common-modals-confirmation
4
- v-if="show"
5
- is-new-view
6
- :headline="localization.common.unsavedChanges"
7
- :description="localization.common.unsavedChangesDescription"
8
- :modal-texts="modalTexts"
9
- @hide-modal="onHide"
10
- @confirm="onLeave"
11
- />
12
- </div>
13
- </template>
14
-
15
- <script setup lang="ts">
16
- import type { UI_I_ModalTexts } from 'bfg-uikit/components/ui/modal/models/interfaces'
17
- import type { UI_I_Localization } from '~/lib/models/interfaces'
18
-
19
- const emits = defineEmits<{
20
- (event: 'leave'): void
21
- }>()
22
-
23
- const localization = computed<UI_I_Localization>(() => useLocal())
24
-
25
- const modalTexts = ref<UI_I_ModalTexts>({
26
- resetToDefault: '',
27
- button1: localization.value.common.cancel,
28
- button2: localization.value.common.leave,
29
- })
30
-
31
- const show = defineModel<boolean>('show', { required: true })
32
-
33
- const onHide = (): void => {
34
- show.value = false
35
- }
36
- const onLeave = (): void => {
37
- emits('leave')
38
- }
39
- </script>
40
-
41
- <style>
42
- :root {
43
- --unsaved-changes-modal-bg-color: var(--modal-bg);
44
- }
45
- :root.dark-theme {
46
- --unsaved-changes-modal-bg-color: #334453;
47
- }
48
- </style>
49
- <style scoped lang="scss">
50
- :deep(.ui-popup_content) {
51
- background-color: var(--unsaved-changes-modal-bg-color);
52
- }
53
- :deep(.ui-popup_footer-transparent-block) {
54
- display: none;
55
- }
56
- </style>
1
+ <template>
2
+ <div class="absolute">
3
+ <common-modals-confirmation
4
+ v-if="show"
5
+ is-new-view
6
+ :headline="localization.common.unsavedChanges"
7
+ :description="localization.common.unsavedChangesDescription"
8
+ :modal-texts="modalTexts"
9
+ @hide-modal="onHide"
10
+ @confirm="onLeave"
11
+ />
12
+ </div>
13
+ </template>
14
+
15
+ <script setup lang="ts">
16
+ import type { UI_I_ModalTexts } from 'bfg-uikit/components/ui/modal/models/interfaces'
17
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
18
+
19
+ const emits = defineEmits<{
20
+ (event: 'leave'): void
21
+ }>()
22
+
23
+ const localization = computed<UI_I_Localization>(() => useLocal())
24
+
25
+ const modalTexts = ref<UI_I_ModalTexts>({
26
+ resetToDefault: '',
27
+ button1: localization.value.common.cancel,
28
+ button2: localization.value.common.leave,
29
+ })
30
+
31
+ const show = defineModel<boolean>('show', { required: true })
32
+
33
+ const onHide = (): void => {
34
+ show.value = false
35
+ }
36
+ const onLeave = (): void => {
37
+ emits('leave')
38
+ }
39
+ </script>
40
+
41
+ <style>
42
+ :root {
43
+ --unsaved-changes-modal-bg-color: var(--modal-bg);
44
+ }
45
+ :root.dark-theme {
46
+ --unsaved-changes-modal-bg-color: #334453;
47
+ }
48
+ </style>
49
+ <style scoped lang="scss">
50
+ :deep(.ui-popup_content) {
51
+ background-color: var(--unsaved-changes-modal-bg-color);
52
+ }
53
+ :deep(.ui-popup_footer-transparent-block) {
54
+ display: none;
55
+ }
56
+ </style>
@@ -15,6 +15,7 @@
15
15
  v-model:selected-timespan-type="localSelectedTimespanType"
16
16
  :type="props.type"
17
17
  :start-date="props.data?.pointStart || 0"
18
+ :end-date="props.data?.pointEnd || 0"
18
19
  :chart-title="props.data?.groupName || ''"
19
20
  :language="props.language"
20
21
  :selected-counters-keys="props.selectedCountersKeys"
@@ -37,6 +38,8 @@
37
38
  :project="props.project"
38
39
  :objects-loading="props.objectsLoading"
39
40
  :objects-data="props.objectsData"
41
+ :valid-date-end="props.validDateEnd"
42
+ :format-date="props.formatDate"
40
43
  @update-tools="emits('update-tools', $event)"
41
44
  @exporting="onExporting"
42
45
  @open-advanced-page="onGetEmptyPage"
@@ -130,6 +133,8 @@ const props = defineProps<{
130
133
  project: UI_T_Project
131
134
  objectsLoading: boolean
132
135
  objectsData: UI_I_ObjectItem[]
136
+ validDateEnd: number
137
+ formatDate: string
133
138
  disabledPeriod?: boolean
134
139
  disabledView?: boolean
135
140
  isEmpty?: boolean
@@ -114,6 +114,8 @@
114
114
  :project="props.project"
115
115
  :objects-loading="props.objectsLoading"
116
116
  :objects-data="props.objectsData"
117
+ :valid-date-end="props.validDateEnd"
118
+ :format-date="props.formatDate"
117
119
  @hide="isShowModal = false"
118
120
  @select-row="emits('select-row', $event)"
119
121
  @select-metric-local="emits('select-metric-local', $event)"
@@ -154,6 +156,7 @@ import { checkDateFunc } from '~/components/common/monitor/overview/filters/cust
154
156
  const props = defineProps<{
155
157
  type: UI_T_AdvancedType
156
158
  startDate: number
159
+ endDate: number
157
160
  chartTitle: string
158
161
  language: string
159
162
  selectedCountersKeys: number[]
@@ -175,6 +178,8 @@ const props = defineProps<{
175
178
  project: UI_T_Project
176
179
  objectsLoading: boolean
177
180
  objectsData: UI_I_ObjectItem[]
181
+ validDateEnd: number
182
+ formatDate: string
178
183
  disabledPeriod?: boolean
179
184
  disabledView?: boolean
180
185
  }>()
@@ -278,7 +283,9 @@ const updateTools = (): void => {
278
283
  props.customDateFrom,
279
284
  props.customDateTo,
280
285
  props.customTimeFrom,
281
- props.customTimeTo
286
+ props.customTimeTo,
287
+ props.validDateEnd,
288
+ props.formatDate
282
289
  )
283
290
  if (Array.isArray(checkDateResult)) {
284
291
  period[0] = Math.round(checkDateResult[0] / 1000)
@@ -310,7 +317,7 @@ const chartTitleDate = computed<string>(() => {
310
317
  if (!props.startDate) return ''
311
318
 
312
319
  const start = $formattedDatetime(props.startDate, '', true)
313
- const end = $formattedDatetime(new Date(), '', true)
320
+ const end = $formattedDatetime(props.endDate, '', true)
314
321
  return `${start} - ${end}`
315
322
  })
316
323
 
@@ -50,6 +50,7 @@
50
50
  :selected-objects="props.selectedObjects"
51
51
  :objects-loading="props.objectsLoading"
52
52
  :objects-data="props.objectsData"
53
+ :valid-date-end="props.validDateEnd"
53
54
  @select-row="selectedRows = $event"
54
55
  @update-chart-type="selectedChartTypeLocal = $event"
55
56
  @update-custom-time="localCustomTime = $event"
@@ -109,6 +110,8 @@ const props = defineProps<{
109
110
  project: UI_T_Project
110
111
  objectsLoading: boolean
111
112
  objectsData: UI_I_ObjectItem[]
113
+ validDateEnd: number
114
+ formatDate: string
112
115
  }>()
113
116
 
114
117
  const emits = defineEmits<{
@@ -232,7 +235,9 @@ const checkValidations = (): boolean => {
232
235
  localCustomDateFrom.value,
233
236
  localCustomDateTo.value,
234
237
  localCustomTimeFrom.value,
235
- localCustomTimeTo.value
238
+ localCustomTimeTo.value,
239
+ props.validDateEnd,
240
+ props.formatDate
236
241
  )
237
242
 
238
243
  if (isDisabledSubmit.value) {
@@ -315,7 +320,9 @@ const onSubmit = (): void => {
315
320
  localCustomDateFrom.value,
316
321
  localCustomDateTo.value,
317
322
  localCustomTimeFrom.value,
318
- localCustomTimeTo.value
323
+ localCustomTimeTo.value,
324
+ props.validDateEnd,
325
+ props.formatDate
319
326
  )
320
327
  if (Array.isArray(checkDateResult)) {
321
328
  validPeriod[0] = Math.round(checkDateResult[0] / 1000)
@@ -28,6 +28,7 @@
28
28
  :selected-objects="props.selectedObjects"
29
29
  :objects-loading="props.objectsLoading"
30
30
  :objects-data="props.objectsData"
31
+ :valid-date-end="props.validDateEnd"
31
32
  @update-chart-type="emits('update-chart-type', $event)"
32
33
  @update-custom-time="emits('update-custom-time', $event)"
33
34
  @update-timespan-type="emits('update-timespan-type', $event)"
@@ -71,6 +72,7 @@ const props = defineProps<{
71
72
  selectedObjects: string
72
73
  objectsLoading: boolean
73
74
  objectsData: UI_I_ObjectItem[]
75
+ validDateEnd: number
74
76
  }>()
75
77
 
76
78
  const emits = defineEmits<{