bfg-common 1.5.243 → 1.5.245

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 (190) hide show
  1. package/CODE_STYLE.md +109 -109
  2. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  3. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  4. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  5. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  6. package/assets/scss/common/icons/icons-1.scss +2 -2
  7. package/assets/scss/common/icons/icons-5.scss +5 -5
  8. package/assets/scss/common/icons/icons-6.scss +1 -1
  9. package/assets/scss/common/theme.scss +6 -0
  10. package/components/atoms/TheIcon3.vue +50 -50
  11. package/components/atoms/perPage/PerPage.vue +58 -58
  12. package/components/atoms/table/dataGrid/DataGrid.vue +1717 -1717
  13. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  14. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  15. package/components/atoms/tabs/VerticalTabs.vue +105 -105
  16. package/components/common/backup/actions/deleteBackup/DeleteBackup.vue +38 -0
  17. package/components/common/backup/storage/actions/add/Add.vue +250 -247
  18. package/components/common/backup/storage/actions/add/New.vue +283 -292
  19. package/components/common/backup/storage/actions/add/Old.vue +116 -114
  20. package/components/common/backup/storage/actions/add/lib/config/steps.ts +168 -168
  21. package/components/common/backup/storage/actions/add/steps/nameAndConfigure/NameAndConfigure.vue +41 -41
  22. package/components/common/backup/storage/actions/add/steps/nameAndConfigure/NameAndConfigureNew.vue +294 -314
  23. package/components/common/backup/storage/actions/add/steps/readyComplete/ReadyComplete.vue +45 -45
  24. package/components/common/backup/storage/actions/add/steps/readyComplete/lib/config/propertiesDetails.ts +242 -242
  25. package/components/common/backup/storage/actions/add/steps/typeMode/TypeModeNew.vue +3 -18
  26. package/components/common/backup/storage/actions/delete/Delete.vue +65 -65
  27. package/components/common/browse/BrowseNew.vue +8 -2
  28. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  29. package/components/common/context/lib/models/interfaces.ts +31 -31
  30. package/components/common/diagramMain/DiagramMain.vue +897 -897
  31. package/components/common/diagramMain/Header.vue +214 -214
  32. package/components/common/layout/theHeader/feedback/new/additionalDetails/Headline.vue +66 -76
  33. package/components/common/layout/theHeader/feedback/new/subtitle/Subtitle.vue +70 -80
  34. package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
  35. package/components/common/layout/theHeader/userMenu/modals/preferences/view/ViewOld.vue +112 -112
  36. package/components/common/monitor/overview/OverviewOld.vue +139 -139
  37. package/components/common/pages/home/headline/Headline.vue +45 -45
  38. package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
  39. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  40. package/components/common/pages/home/widgets/Widgets.vue +49 -49
  41. package/components/common/pages/home/widgets/WidgetsNew.vue +86 -86
  42. package/components/common/pages/home/widgets/WidgetsOld.vue +34 -34
  43. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  44. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  45. package/components/common/pages/home/widgets/vms/Vms.vue +26 -26
  46. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  47. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  48. package/components/common/pages/packages/Packages.vue +208 -208
  49. package/components/common/pages/shortcuts/block/BlockOld.vue +68 -68
  50. package/components/common/pages/tasks/table/Table.vue +7 -25
  51. package/components/common/pages/tasks/table/expandDetails/ExpandDetails.vue +9 -27
  52. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  53. package/components/common/recursionTree/RecursionTree.vue +223 -223
  54. package/components/common/select/button/ButtonDropdown.vue +108 -108
  55. package/components/common/spiceConsole/Drawer.vue +377 -377
  56. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  57. package/components/common/vm/actions/add/Add.vue +3 -0
  58. package/components/common/vm/actions/add/New.vue +4 -0
  59. package/components/common/vm/actions/add/Old.vue +4 -0
  60. package/components/common/vm/actions/add/folderTreeView/FolderTreeView.vue +72 -72
  61. package/components/common/vm/actions/add/folderTreeView/New.vue +40 -40
  62. package/components/common/vm/actions/add/folderTreeView/Old.vue +50 -50
  63. package/components/common/vm/actions/clone/Clone.vue +3 -0
  64. package/components/common/vm/actions/clone/lib/config/steps.ts +291 -291
  65. package/components/common/vm/actions/clone/toTemplate/ToTemplate.vue +3 -0
  66. package/components/common/vm/actions/clone/toTemplate/lib/config/steps.ts +116 -116
  67. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +3 -0
  68. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +7 -2
  69. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +2 -0
  70. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +3 -0
  71. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +9 -7
  72. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareOld.vue +321 -319
  73. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +219 -219
  74. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +100 -100
  75. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/BusNew.vue +95 -104
  76. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +232 -232
  77. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveNew.vue +4 -0
  78. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDriveOld.vue +168 -168
  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 +78 -78
  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/CpuNew.vue +8 -59
  83. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/model/ModelNew.vue +109 -132
  84. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  85. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/SharesNew.vue +6 -1
  86. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  87. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/tooltip/TooltipNew.vue +154 -154
  88. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +220 -220
  89. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +307 -307
  90. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryNew.vue +5 -1
  91. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/hotPlug/HotPlugNew.vue +8 -2
  92. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +385 -382
  93. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskNew.vue +6 -0
  94. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDiskOld.vue +2 -0
  95. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/file/FileNew.vue +8 -3
  96. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +154 -151
  97. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationNew.vue +75 -73
  98. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationOld.vue +85 -83
  99. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/StorageModal.vue +3 -0
  100. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/StorageModalNew.vue +2 -0
  101. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/StorageModalOld.vue +2 -0
  102. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/maximumSize/MaximumSizeNew.vue +8 -4
  103. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/provisioning/ProvisioningNew.vue +6 -1
  104. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/SharingNew.vue +6 -1
  105. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +288 -288
  106. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetworkNew.vue +1 -1
  107. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/New.vue +4 -3
  108. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/Table.vue +1 -0
  109. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/lib/config/config.ts +94 -94
  110. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  111. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +205 -205
  112. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
  113. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
  114. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  115. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
  116. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
  117. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
  118. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
  119. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
  120. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbControllerNew.vue +1 -0
  121. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  122. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/OtherNew.vue +8 -2
  123. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/inputDevices/InputDevicesNew.vue +40 -40
  124. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/ReservationNew.vue +5 -2
  125. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCardNew.vue +5 -2
  126. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +145 -145
  127. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptionsNew.vue +5 -1
  128. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +32 -32
  129. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +60 -60
  130. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +174 -174
  131. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/OrderNew.vue +4 -0
  132. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptionsNew.vue +1 -0
  133. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/New.vue +8 -2
  134. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/copyPaste/CopyPasteNew.vue +31 -31
  135. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/fileTransfer/FileTransferNew.vue +31 -31
  136. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
  137. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
  138. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/PasswordNew.vue +128 -128
  139. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  140. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionNew.vue +39 -39
  141. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
  142. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/ToolsNew.vue +5 -1
  143. package/components/common/vm/actions/common/lib/utils/capabilities.ts +52 -52
  144. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  145. package/components/common/vm/actions/common/select/computeResource/treeView/New.vue +44 -44
  146. package/components/common/vm/actions/common/select/computeResource/treeView/TreeView.vue +118 -118
  147. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  148. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  149. package/components/common/vm/actions/common/select/name/New.vue +69 -52
  150. package/components/common/vm/actions/common/select/os/Old.vue +152 -152
  151. package/components/common/vm/actions/common/select/os/Os.vue +139 -139
  152. package/components/common/vm/actions/common/select/storage/Old.vue +2 -0
  153. package/components/common/vm/actions/common/select/storage/Storage.vue +3 -0
  154. package/components/common/vm/actions/common/select/storage/new/New.vue +10 -5
  155. package/components/common/vm/actions/common/select/storage/new/lib/config/table.ts +2 -1
  156. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  157. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  158. package/components/common/vm/actions/editSettings/EditSettings.vue +3 -0
  159. package/components/common/vm/actions/editSettings/EditSettingsOld.vue +2 -0
  160. package/components/common/vm/actions/editSettings/new/New.vue +2 -0
  161. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  162. package/components/common/wizards/datastore/add/New.vue +3 -14
  163. package/components/common/wizards/datastore/add/steps/nameAndConfigure/NameAndConfigureNew.vue +6 -27
  164. package/components/common/wizards/datastore/add/steps/nameAndDevice/NameAndDeviceNew.vue +3 -15
  165. package/components/common/wizards/datastore/add/steps/typeMode/TypeModeNew.vue +3 -14
  166. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +220 -220
  167. package/components/common/wizards/vm/migrate/lib/config/steps.ts +157 -157
  168. package/components/common/wizards/vm/migrate/lib/validations.ts +68 -68
  169. package/components/common/wizards/vm/migrate/select/computeResource/tableView/TableView.vue +135 -137
  170. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  171. package/components/common/wizards/vm/migrate/select/network/table/network/lib/config/advancedTable.ts +91 -91
  172. package/composables/productNameLocal.ts +30 -30
  173. package/composables/useAppVersion.ts +21 -21
  174. package/lib/utils/utils.ts +14 -2
  175. package/package.json +2 -2
  176. package/plugins/cron.ts +75 -0
  177. package/plugins/date.ts +233 -233
  178. package/plugins/helpers.ts +18 -0
  179. package/plugins/number.ts +18 -0
  180. package/plugins/panelStates.ts +70 -0
  181. package/plugins/text.ts +59 -48
  182. package/plugins/time.ts +17 -0
  183. package/public/spice-console/lib/images/bitmap.js +203 -203
  184. package/public/spice-console/network/spicechannel.js +387 -387
  185. package/store/main/mutations.ts +7 -7
  186. package/store/main/state.ts +7 -7
  187. package/store/tasks/mappers/recentTasks.ts +64 -64
  188. package/components/common/tooltip/Help.vue +0 -181
  189. package/components/common/tooltip/lib/models/types.ts +0 -1
  190. /package/{components/common/split/horizontal/lib/models → lib/models/plugins/panelStates}/interfaces.ts +0 -0
@@ -1,314 +1,294 @@
1
- <template>
2
- <div class="basics-step">
3
- <ui-alert
4
- v-show="isShowAlertInfo"
5
- test-id="configure-information-alert"
6
- :messages="[localization.common.nameAndConfigurationAlertInfo]"
7
- type="info"
8
- class="mb-4"
9
- @remove="isShowAlertInfo = false"
10
- />
11
-
12
- <div class="basics-step-row">
13
- <div class="basics-step-row-title">
14
- <span class="basics-step-row-title-text">
15
- {{ localization.common.name }}
16
- </span>
17
- </div>
18
- <div class="basics-step-row-content">
19
- <ui-input
20
- id="configuration-name-input"
21
- v-model="formModelLocal.name"
22
- test-id="configuration-name-input"
23
- is-focused
24
- :placeholder="localization.common.name"
25
- :error="nameErrorText"
26
- @blur="initValidation(true, ['name'])"
27
- @input="initValidation(false, ['name'])"
28
- />
29
- </div>
30
- </div>
31
-
32
- <div class="basics-step-line"></div>
33
-
34
- <div class="basics-step-row">
35
- <div class="basics-step-row-title">
36
- <span class="basics-step-row-title-text">
37
- {{ localization.common.folder }}
38
- </span>
39
- <common-tooltip-help
40
- test-id="backup-storage-folder-help"
41
- help-id="backup-storage-folder-icon"
42
- :title="localization.common.information"
43
- :help-text="'Specify the folder path - for example, /vols/vol0/datastore-001'"
44
- dropdown-width="272px"
45
- dropdown-left
46
- dropdown-top
47
- />
48
- <!-- // TODO Удалить компонент если не используется? -->
49
-
50
- <!-- <common-backup-storage-actions-add-steps-common-tooltip-info-->
51
- <!-- :id="'option.testId'"-->
52
- <!-- :description="'Specify the folder path - for example, /vols/vol0/datastore-001'"-->
53
- <!-- />-->
54
- </div>
55
- <div class="basics-step-row-content">
56
- <ui-input
57
- id="configuration-folder-input"
58
- v-model="formModelLocal.folder"
59
- test-id="configuration-folder-input"
60
- placeholder="E.g: /vols/vol0/datastore-001"
61
- :error="folderErrorText"
62
- @blur="initValidation(true, ['folder'])"
63
- @input="initValidation(false, ['folder'])"
64
- />
65
- </div>
66
- </div>
67
-
68
- <div class="basics-step-line"></div>
69
-
70
- <div class="basics-step-row">
71
- <div class="basics-step-row-title">
72
- <span class="basics-step-row-title-text">
73
- {{ localization.common.server }}
74
- </span>
75
- <common-tooltip-help
76
- test-id="backup-storage-server-help"
77
- help-id="backup-storage-server-icon"
78
- :title="localization.common.information"
79
- :help-text="'Specify the server address - for example, nas, nas.it.com or 192.168.0.1.'"
80
- dropdown-width="272px"
81
- dropdown-left
82
- dropdown-top
83
- />
84
- <!-- <common-backup-storage-actions-add-steps-common-tooltip-info-->
85
- <!-- :id="'option.testIdserver'"-->
86
- <!-- :description="'Specify the server address - for example, nas, nas.it.com or 192.168.0.1.'"-->
87
- <!-- />-->
88
- </div>
89
- <div class="basics-step-row-content">
90
- <ui-input
91
- id="configuration-server-input"
92
- v-model="formModelLocal.server"
93
- test-id="configuration-server-input"
94
- placeholder="E.g: nas, nas.it.com or 192.168.0.1"
95
- :error="serverErrorText"
96
- @blur="initValidation(true, ['server'])"
97
- @input="initValidation(false, ['server'])"
98
- />
99
- </div>
100
- </div>
101
-
102
- <div class="basics-step-line"></div>
103
-
104
- <div class="basics-step-row">
105
- <div class="basics-step-row-title">
106
- <span class="basics-step-row-title-text">
107
- {{ localization.auth.username }}
108
- </span>
109
- </div>
110
- <div class="basics-step-row-content">
111
- <ui-input
112
- id="configuration-username-input"
113
- v-model="formModelLocal.user"
114
- test-id="configuration-username-input"
115
- :placeholder="localization.auth.username"
116
- :error="usernameErrorText"
117
- @blur="initValidation(true, ['user'])"
118
- @input="initValidation(false, ['user'])"
119
- />
120
- </div>
121
- </div>
122
-
123
- <div class="basics-step-line"></div>
124
-
125
- <div class="basics-step-row">
126
- <div class="basics-step-row-title">
127
- <span class="basics-step-row-title-text">
128
- {{ localization.auth.password }}
129
- </span>
130
- </div>
131
- <div class="basics-step-row-content">
132
- <ui-input
133
- id="configuration-password-input"
134
- v-model="formModelLocal.password"
135
- type="password"
136
- test-id="configuration-password-input"
137
- :placeholder="localization.auth.password"
138
- :error="passwordErrorText"
139
- @blur="initValidation(true, ['password'])"
140
- @input="initValidation(false, ['password'])"
141
- />
142
- </div>
143
- </div>
144
- </div>
145
- </template>
146
-
147
- <script setup lang="ts">
148
- import type { UI_I_Localization } from '~/lib/models/interfaces'
149
- import type { UI_I_WizardStep } from '~/components/atoms/wizard/lib/models/interfaces'
150
- import type { UI_I_CreateDatastoreForm } from '~/components/common/backup/storage/actions/add/lib/models/interfaces'
151
- import type { UI_I_InitialValidationFields } from '~/components/common/backup/storage/actions/add/steps/nameAndConfigure/lib/models/interfaces'
152
- import type { UI_T_InitialValidationFields } from '~/components/common/backup/storage/actions/add/steps/nameAndConfigure/lib/models/types'
153
-
154
- const formModelLocal = defineModel<UI_I_CreateDatastoreForm>({ required: true })
155
- const isShowAlertInfo = defineModel<boolean>('alertInfo', { required: true })
156
-
157
- const props = defineProps<{
158
- messagesFields: UI_I_WizardStep['fields']
159
- }>()
160
- const emits = defineEmits<{
161
- (event: 'remove-errors'): void
162
- }>()
163
-
164
- const localization = computed<UI_I_Localization>(() => useLocal())
165
-
166
- const initValidationFields = ref<UI_I_InitialValidationFields>({
167
- name: false,
168
- folder: false,
169
- server: false,
170
- user: false,
171
- password: false,
172
- })
173
- const initValidation = (
174
- onlyBlur = false,
175
- types: UI_T_InitialValidationFields[]
176
- ): void => {
177
- onlyBlur && types.forEach((type) => (initValidationFields.value[type] = true))
178
- }
179
-
180
- /* Validation error text for Name input field */
181
- const nameErrorText = computed<string>(() => {
182
- if (props.messagesFields?.name?.field && !formModelLocal.value.name) {
183
- return props.messagesFields.name.field
184
- }
185
-
186
- if (!initValidationFields.value.name) return ''
187
- return !formModelLocal.value.name
188
- ? localization.value.common.fieldRequired
189
- : ''
190
- })
191
-
192
- /* Validation error text for Folder input field */
193
- const folderErrorText = computed<string>(() => {
194
- if (props.messagesFields.folder?.field && !formModelLocal.value.folder) {
195
- return props.messagesFields.folder.field
196
- }
197
-
198
- if (!initValidationFields.value.folder) return ''
199
- return !formModelLocal.value.folder
200
- ? localization.value.common.fieldRequired
201
- : ''
202
- })
203
-
204
- /* Validation error text for Server input field */
205
- const serverErrorText = computed<string>(() => {
206
- if (props.messagesFields.server?.field && !formModelLocal.value.server) {
207
- return props.messagesFields.server.field
208
- }
209
-
210
- if (!initValidationFields.value.server) return ''
211
- return !formModelLocal.value.server
212
- ? localization.value.common.fieldRequired
213
- : ''
214
- })
215
-
216
- /* Validation error text for Username input field */
217
- const usernameErrorText = computed<string>(() => {
218
- if (props.messagesFields.user?.field && !formModelLocal.value.user) {
219
- return props.messagesFields.user.field
220
- }
221
-
222
- if (!initValidationFields.value.user) return ''
223
- return !formModelLocal.value.user
224
- ? localization.value.common.fieldRequired
225
- : ''
226
- })
227
-
228
- /* Validation error text for Password input field */
229
- const passwordErrorText = computed<string>(() => {
230
- if (props.messagesFields.password?.field && !formModelLocal.value.password) {
231
- return props.messagesFields.password.field
232
- }
233
-
234
- if (!initValidationFields.value.password) return ''
235
- return !formModelLocal.value.password
236
- ? localization.value.common.fieldRequired
237
- : ''
238
- })
239
- </script>
240
-
241
- <style scoped lang="scss">
242
- .basics-step {
243
- padding: 16px 0 16px;
244
-
245
- &-row {
246
- min-height: 36px;
247
- width: 100%;
248
- display: flex;
249
- column-gap: 16px;
250
- align-items: center;
251
-
252
- &-title {
253
- padding-top: 8px;
254
- max-width: 240px;
255
- width: 100%;
256
- display: flex;
257
- align-items: center;
258
- column-gap: 8px;
259
- font-weight: 400;
260
- font-size: 13px;
261
- line-height: 20px;
262
- letter-spacing: 0;
263
- vertical-align: middle;
264
- align-self: flex-start;
265
- color: var(--wizard-content-title);
266
- white-space: nowrap;
267
- text-overflow: ellipsis;
268
- overflow: hidden;
269
-
270
- &-text {
271
- display: block;
272
- white-space: nowrap;
273
- text-overflow: ellipsis;
274
- overflow: hidden;
275
- }
276
- }
277
-
278
- &-content {
279
- max-width: 480px;
280
- width: 100%;
281
- font-weight: 400;
282
- font-size: 13px;
283
- line-height: 20px;
284
- letter-spacing: 0;
285
- vertical-align: middle;
286
- color: var(--wizard-content-value);
287
-
288
- &-text {
289
- display: flex;
290
- column-gap: 8px;
291
- align-items: center;
292
-
293
- &-icon {
294
- width: 20px;
295
- min-width: 20px;
296
- height: 20px;
297
- min-height: 20px;
298
- }
299
- }
300
-
301
- &-switch-container {
302
- width: fit-content;
303
- }
304
- }
305
- }
306
-
307
- &-line {
308
- height: 0;
309
- width: 100%;
310
- border-bottom: 1px solid var(--wizard-content-line);
311
- margin: 16px 0;
312
- }
313
- }
314
- </style>
1
+ <template>
2
+ <div class="basics-step">
3
+ <ui-alert
4
+ v-show="isShowAlertInfo"
5
+ test-id="configure-information-alert"
6
+ :messages="[localization.common.nameAndConfigurationAlertInfo]"
7
+ type="info"
8
+ class="mb-4"
9
+ @remove="isShowAlertInfo = false"
10
+ />
11
+
12
+ <div class="basics-step-row">
13
+ <div class="basics-step-row-title">
14
+ <span class="basics-step-row-title-text">
15
+ {{ localization.common.name }}
16
+ </span>
17
+ </div>
18
+ <div class="basics-step-row-content">
19
+ <ui-input
20
+ id="configuration-name-input"
21
+ v-model="formModelLocal.name"
22
+ test-id="configuration-name-input"
23
+ is-focused
24
+ :placeholder="localization.common.name"
25
+ :error="nameErrorText"
26
+ @blur="initValidation(true, ['name'])"
27
+ @input="initValidation(false, ['name'])"
28
+ />
29
+ </div>
30
+ </div>
31
+
32
+ <div class="basics-step-line"></div>
33
+
34
+ <div class="basics-step-row">
35
+ <div class="basics-step-row-title">
36
+ <span class="basics-step-row-title-text">
37
+ {{ localization.common.folder }}
38
+ </span>
39
+ <common-backup-storage-actions-add-steps-common-tooltip-info
40
+ :id="'option.testId'"
41
+ :description="'Specify the folder path - for example, /vols/vol0/datastore-001'"
42
+ />
43
+ </div>
44
+ <div class="basics-step-row-content">
45
+ <ui-input
46
+ id="configuration-folder-input"
47
+ v-model="formModelLocal.folder"
48
+ test-id="configuration-folder-input"
49
+ placeholder="E.g: /vols/vol0/datastore-001"
50
+ :error="folderErrorText"
51
+ @blur="initValidation(true, ['folder'])"
52
+ @input="initValidation(false, ['folder'])"
53
+ />
54
+ </div>
55
+ </div>
56
+
57
+ <div class="basics-step-line"></div>
58
+
59
+ <div class="basics-step-row">
60
+ <div class="basics-step-row-title">
61
+ <span class="basics-step-row-title-text">
62
+ {{ localization.common.server }}
63
+ </span>
64
+ <common-backup-storage-actions-add-steps-common-tooltip-info
65
+ :id="'option.testIdserver'"
66
+ :description="'Specify the server address - for example, nas, nas.it.com or 192.168.0.1.'"
67
+ />
68
+ </div>
69
+ <div class="basics-step-row-content">
70
+ <ui-input
71
+ id="configuration-server-input"
72
+ v-model="formModelLocal.server"
73
+ test-id="configuration-server-input"
74
+ placeholder="E.g: nas, nas.it.com or 192.168.0.1"
75
+ :error="serverErrorText"
76
+ @blur="initValidation(true, ['server'])"
77
+ @input="initValidation(false, ['server'])"
78
+ />
79
+ </div>
80
+ </div>
81
+
82
+ <div class="basics-step-line"></div>
83
+
84
+ <div class="basics-step-row">
85
+ <div class="basics-step-row-title">
86
+ <span class="basics-step-row-title-text">
87
+ {{ localization.auth.username }}
88
+ </span>
89
+ </div>
90
+ <div class="basics-step-row-content">
91
+ <ui-input
92
+ id="configuration-username-input"
93
+ v-model="formModelLocal.user"
94
+ test-id="configuration-username-input"
95
+ :placeholder="localization.auth.username"
96
+ :error="usernameErrorText"
97
+ @blur="initValidation(true, ['user'])"
98
+ @input="initValidation(false, ['user'])"
99
+ />
100
+ </div>
101
+ </div>
102
+
103
+ <div class="basics-step-line"></div>
104
+
105
+ <div class="basics-step-row">
106
+ <div class="basics-step-row-title">
107
+ <span class="basics-step-row-title-text">
108
+ {{ localization.auth.password }}
109
+ </span>
110
+ </div>
111
+ <div class="basics-step-row-content">
112
+ <ui-input
113
+ id="configuration-password-input"
114
+ v-model="formModelLocal.password"
115
+ type="password"
116
+ test-id="configuration-password-input"
117
+ :placeholder="localization.auth.password"
118
+ :error="passwordErrorText"
119
+ @blur="initValidation(true, ['password'])"
120
+ @input="initValidation(false, ['password'])"
121
+ />
122
+ </div>
123
+ </div>
124
+ </div>
125
+ </template>
126
+
127
+ <script setup lang="ts">
128
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
129
+ import type { UI_I_WizardStep } from '~/components/atoms/wizard/lib/models/interfaces'
130
+ import type { UI_I_CreateDatastoreForm } from '~/components/common/backup/storage/actions/add/lib/models/interfaces'
131
+ import type { UI_I_InitialValidationFields } from '~/components/common/backup/storage/actions/add/steps/nameAndConfigure/lib/models/interfaces'
132
+ import type { UI_T_InitialValidationFields } from '~/components/common/backup/storage/actions/add/steps/nameAndConfigure/lib/models/types'
133
+
134
+ const formModelLocal = defineModel<UI_I_CreateDatastoreForm>({ required: true })
135
+ const isShowAlertInfo = defineModel<boolean>('alertInfo', { required: true })
136
+
137
+ const props = defineProps<{
138
+ messagesFields: UI_I_WizardStep['fields']
139
+ }>()
140
+ const emits = defineEmits<{
141
+ (event: 'remove-errors'): void
142
+ }>()
143
+
144
+ const localization = computed<UI_I_Localization>(() => useLocal())
145
+
146
+ const initValidationFields = ref<UI_I_InitialValidationFields>({
147
+ name: false,
148
+ folder: false,
149
+ server: false,
150
+ user: false,
151
+ password: false,
152
+ })
153
+ const initValidation = (
154
+ onlyBlur = false,
155
+ types: UI_T_InitialValidationFields[]
156
+ ): void => {
157
+ onlyBlur && types.forEach((type) => (initValidationFields.value[type] = true))
158
+ }
159
+
160
+ /* Validation error text for Name input field */
161
+ const nameErrorText = computed<string>(() => {
162
+ if (props.messagesFields?.name?.field && !formModelLocal.value.name) {
163
+ return props.messagesFields.name.field
164
+ }
165
+
166
+ if (!initValidationFields.value.name) return ''
167
+ return !formModelLocal.value.name
168
+ ? localization.value.common.fieldRequired
169
+ : ''
170
+ })
171
+
172
+ /* Validation error text for Folder input field */
173
+ const folderErrorText = computed<string>(() => {
174
+ if (props.messagesFields.folder?.field && !formModelLocal.value.folder) {
175
+ return props.messagesFields.folder.field
176
+ }
177
+
178
+ if (!initValidationFields.value.folder) return ''
179
+ return !formModelLocal.value.folder
180
+ ? localization.value.common.fieldRequired
181
+ : ''
182
+ })
183
+
184
+ /* Validation error text for Server input field */
185
+ const serverErrorText = computed<string>(() => {
186
+ if (props.messagesFields.server?.field && !formModelLocal.value.server) {
187
+ return props.messagesFields.server.field
188
+ }
189
+
190
+ if (!initValidationFields.value.server) return ''
191
+ return !formModelLocal.value.server
192
+ ? localization.value.common.fieldRequired
193
+ : ''
194
+ })
195
+
196
+ /* Validation error text for Username input field */
197
+ const usernameErrorText = computed<string>(() => {
198
+ if (props.messagesFields.user?.field && !formModelLocal.value.user) {
199
+ return props.messagesFields.user.field
200
+ }
201
+
202
+ if (!initValidationFields.value.user) return ''
203
+ return !formModelLocal.value.user
204
+ ? localization.value.common.fieldRequired
205
+ : ''
206
+ })
207
+
208
+ /* Validation error text for Password input field */
209
+ const passwordErrorText = computed<string>(() => {
210
+ if (props.messagesFields.password?.field && !formModelLocal.value.password) {
211
+ return props.messagesFields.password.field
212
+ }
213
+
214
+ if (!initValidationFields.value.password) return ''
215
+ return !formModelLocal.value.password
216
+ ? localization.value.common.fieldRequired
217
+ : ''
218
+ })
219
+ </script>
220
+
221
+ <style scoped lang="scss">
222
+ .basics-step {
223
+ padding: 16px 0 16px;
224
+
225
+ &-row {
226
+ min-height: 36px;
227
+ width: 100%;
228
+ display: flex;
229
+ column-gap: 16px;
230
+ align-items: center;
231
+
232
+ &-title {
233
+ padding-top: 8px;
234
+ max-width: 240px;
235
+ width: 100%;
236
+ display: flex;
237
+ align-items: center;
238
+ column-gap: 8px;
239
+ font-weight: 400;
240
+ font-size: 13px;
241
+ line-height: 20px;
242
+ letter-spacing: 0;
243
+ vertical-align: middle;
244
+ align-self: flex-start;
245
+ color: var(--wizard-content-title);
246
+ white-space: nowrap;
247
+ text-overflow: ellipsis;
248
+ overflow: hidden;
249
+
250
+ &-text {
251
+ display: block;
252
+ white-space: nowrap;
253
+ text-overflow: ellipsis;
254
+ overflow: hidden;
255
+ }
256
+ }
257
+
258
+ &-content {
259
+ max-width: 480px;
260
+ width: 100%;
261
+ font-weight: 400;
262
+ font-size: 13px;
263
+ line-height: 20px;
264
+ letter-spacing: 0;
265
+ vertical-align: middle;
266
+ color: var(--wizard-content-value);
267
+
268
+ &-text {
269
+ display: flex;
270
+ column-gap: 8px;
271
+ align-items: center;
272
+
273
+ &-icon {
274
+ width: 20px;
275
+ min-width: 20px;
276
+ height: 20px;
277
+ min-height: 20px;
278
+ }
279
+ }
280
+
281
+ &-switch-container {
282
+ width: fit-content;
283
+ }
284
+ }
285
+ }
286
+
287
+ &-line {
288
+ height: 0;
289
+ width: 100%;
290
+ border-bottom: 1px solid var(--wizard-content-line);
291
+ margin: 16px 0;
292
+ }
293
+ }
294
+ </style>