bfg-common 1.4.791 → 1.4.793

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 (171) hide show
  1. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  2. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  3. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  4. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  5. package/assets/scss/common/normalize.scss +361 -361
  6. package/components/atoms/TheIcon3.vue +50 -50
  7. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  8. package/components/atoms/stack/StackBlock.vue +185 -185
  9. package/components/atoms/table/dataGrid/DataGrid.vue +1704 -1704
  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/common/browse/BrowseNew.vue +237 -237
  14. package/components/common/browse/BrowseOld.vue +217 -217
  15. package/components/common/browse/blocks/contents/Files.vue +37 -37
  16. package/components/common/browse/blocks/contents/FilesOld.vue +72 -72
  17. package/components/common/browse/blocks/contents/filesNew/FilesNew.vue +96 -96
  18. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  19. package/components/common/browse/blocks/lib/models/types.ts +1 -1
  20. package/components/common/browse/lib/models/interfaces.ts +5 -5
  21. package/components/common/context/Context.vue +111 -111
  22. package/components/common/context/lib/models/interfaces.ts +30 -30
  23. package/components/common/context/recursion/Recursion.vue +87 -87
  24. package/components/common/context/recursion/RecursionNew.vue +237 -237
  25. package/components/common/context/recursion/RecursionOld.vue +227 -227
  26. package/components/common/details/DetailsItem.vue +109 -109
  27. package/components/common/diagramMain/Header.vue +211 -211
  28. package/components/common/diagramMain/adapter/AdapterItems.vue +61 -61
  29. package/components/common/diagramMain/lib/config/initial.ts +50 -50
  30. package/components/common/diagramMain/lib/models/types.ts +21 -21
  31. package/components/common/diagramMain/lib/utils/utils.ts +331 -331
  32. package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +330 -330
  33. package/components/common/diagramMain/modals/editSettings/ConfirmTeamingSettingsModal.vue +40 -40
  34. package/components/common/diagramMain/modals/editSettings/EditSettings.vue +497 -497
  35. package/components/common/diagramMain/modals/editSettings/EditSettingsModal.vue +812 -812
  36. package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +214 -214
  37. package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +189 -189
  38. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +163 -163
  39. package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +175 -175
  40. package/components/common/diagramMain/modals/editSettings/tabs/TrafficShaping.vue +398 -398
  41. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +346 -346
  42. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +205 -205
  43. package/components/common/diagramMain/modals/lib/config/diagramConfig.ts +23 -23
  44. package/components/common/diagramMain/modals/lib/config/initial.ts +180 -180
  45. package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +90 -90
  46. package/components/common/diagramMain/modals/lib/mappers/mappers.ts +87 -87
  47. package/components/common/diagramMain/modals/lib/utils/index.ts +24 -24
  48. package/components/common/diagramMain/modals/migrateVmkernelAdapter/lib/config/steps.ts +114 -114
  49. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +169 -169
  50. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/SelectVmkernelAdapter.vue +159 -159
  51. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +14 -14
  52. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +137 -137
  53. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +52 -52
  54. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
  55. package/components/common/diagramMain/port/Ports.vue +47 -47
  56. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  57. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +103 -103
  58. package/components/common/mainNavigationPanel/MainNavigationPanel.vue +151 -151
  59. package/components/common/mainNavigationPanel/MainNavigationPanelOld.vue +300 -300
  60. package/components/common/modals/confirmByInput/ConfirmByInput.vue +206 -206
  61. package/components/common/modals/unsavedChanges/UnsavedChanges.vue +56 -56
  62. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +250 -250
  63. package/components/common/pages/home/StatusContent.vue +49 -49
  64. package/components/common/pages/home/headline/Headline.vue +45 -45
  65. package/components/common/pages/home/headline/HeadlineNew.vue +71 -71
  66. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  67. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  68. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  69. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  70. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  71. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  72. package/components/common/pages/home/widgets/hosts/HostsNew.vue +100 -100
  73. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  74. package/components/common/pages/home/widgets/services/lib/config/config.ts +108 -108
  75. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  76. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  77. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  78. package/components/common/pages/packages/Packages.vue +208 -208
  79. package/components/common/pages/tasks/Tasks.vue +1 -0
  80. package/components/common/pages/tasks/table/Table.vue +46 -30
  81. package/components/common/pages/tasks/table/errorInfo/ErrorInfo.vue +17 -4
  82. package/components/common/pages/tasks/table/expandDetails/ExpandDetails.vue +12 -0
  83. package/components/common/pages/tasks/table/lib/config/config.ts +5 -5
  84. package/components/common/recursionTree/RecursionTree.vue +223 -223
  85. package/components/common/select/button/ButtonDropdown.vue +108 -108
  86. package/components/common/spiceConsole/Drawer.vue +370 -370
  87. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  88. package/components/common/split/horizontal/HorizontalNew.vue +376 -376
  89. package/components/common/split/horizontal/HorizontalOld.vue +337 -337
  90. package/components/common/split/vertical/Vertical.vue +160 -160
  91. package/components/common/vm/actions/add/Add.vue +621 -621
  92. package/components/common/vm/actions/clone/Clone.vue +639 -639
  93. package/components/common/vm/actions/clone/lib/config/steps.ts +129 -129
  94. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +271 -271
  95. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +271 -271
  96. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +174 -174
  97. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  98. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +117 -117
  99. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +161 -161
  100. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +165 -165
  101. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
  102. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +70 -70
  103. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
  104. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +338 -338
  105. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  106. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +357 -357
  107. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/ModeOld.vue +56 -56
  108. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +44 -44
  109. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +281 -281
  110. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +124 -124
  111. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/LocationOld.vue +134 -134
  112. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +63 -63
  113. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +95 -95
  114. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  115. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressNew.vue +69 -69
  116. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddressOld.vue +83 -83
  117. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +205 -205
  118. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  119. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  120. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  121. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoNew.vue +84 -84
  122. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  123. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  124. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  125. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  126. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +41 -41
  127. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridNew.vue +81 -81
  128. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  129. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +56 -56
  130. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  131. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +30 -30
  132. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +104 -104
  133. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardOld.vue +112 -112
  134. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/totalVideoMemory/TotalVideoMemoryNew.vue +54 -54
  135. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  136. package/components/common/vm/actions/common/customizeHardware/vmoptions/VmoptionsNew.vue +102 -102
  137. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +75 -75
  138. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +26 -26
  139. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +57 -57
  140. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/FirmwareNew.vue +42 -42
  141. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/menu/MenuNew.vue +25 -25
  142. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +171 -171
  143. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +50 -50
  144. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +141 -141
  145. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +140 -140
  146. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +30 -30
  147. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +30 -30
  148. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/folderSharing/FolderSharingNew.vue +30 -30
  149. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  150. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapNew.vue +39 -39
  151. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  152. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +102 -102
  153. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordOld.vue +94 -94
  154. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  155. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +38 -38
  156. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  157. package/components/common/vm/actions/common/select/storage/Storage.vue +130 -130
  158. package/components/common/vm/actions/common/select/storage/StorageOld.vue +129 -129
  159. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  160. package/components/common/wizards/datastore/add/lib/config/steps.ts +138 -138
  161. package/components/common/wizards/vm/migrate/Migrate.vue +288 -288
  162. package/composables/productNameLocal.ts +30 -30
  163. package/composables/useAppVersion.ts +21 -21
  164. package/package.json +2 -2
  165. package/plugins/date.ts +233 -233
  166. package/plugins/recursion.ts +311 -311
  167. package/public/spice-console/lib/images/bitmap.js +203 -203
  168. package/public/spice-console/network/spicechannel.js +383 -383
  169. package/store/main/mutations.ts +7 -7
  170. package/store/main/state.ts +7 -7
  171. package/store/tasks/mappers/recentTasks.ts +64 -64
@@ -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>