bfg-common 1.2.45 → 1.2.47

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 (203) hide show
  1. package/components/atoms/alert/Notification.vue +167 -167
  2. package/components/atoms/autocomplete/Autocomplete.vue +236 -236
  3. package/components/atoms/datepicker/Datepicker.vue +612 -612
  4. package/components/atoms/list/SelectList.vue +62 -62
  5. package/components/atoms/nav/NavBar.vue +116 -116
  6. package/components/atoms/nav/VerticalNavBar.vue +89 -89
  7. package/components/atoms/notificationBar/NotificationBar.vue +175 -175
  8. package/components/atoms/perPage/PerPage.vue +52 -52
  9. package/components/atoms/popup/SimplePopup.vue +90 -90
  10. package/components/atoms/step/VerticalStep.vue +104 -104
  11. package/components/atoms/switch/Switch.vue +107 -107
  12. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +206 -206
  13. package/components/atoms/table/dataGrid/DataGridPage.vue +189 -189
  14. package/components/atoms/tabs/Tabs.vue +189 -189
  15. package/components/atoms/tooltip/Signpost.vue +224 -224
  16. package/components/common/BadBrowser.vue +114 -114
  17. package/components/common/adapterManager/AddAdapterWarningModal.vue +82 -82
  18. package/components/common/adapterManager/NoActiveAdaptersModal.vue +62 -62
  19. package/components/common/adapterManager/NoConnectedActiveAdaptersModal.vue +62 -62
  20. package/components/common/browse/Browse.vue +182 -182
  21. package/components/common/browse/blocks/Title.vue +66 -66
  22. package/components/common/diagramMain/Diagram.vue +186 -186
  23. package/components/common/diagramMain/DiagramMain.vue +986 -986
  24. package/components/common/diagramMain/adapter/AdapterItem.vue +227 -227
  25. package/components/common/diagramMain/adapter/AdapterItems.vue +57 -57
  26. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +339 -339
  27. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +202 -202
  28. package/components/common/diagramMain/modals/remove/RemoveModal.vue +226 -226
  29. package/components/common/diagramMain/network/Contents.vue +238 -238
  30. package/components/common/feedback/Buttons.vue +232 -232
  31. package/components/common/feedback/Message.vue +468 -468
  32. package/components/common/feedback/VisitPortal.vue +54 -54
  33. package/components/common/help/navbar/left/Left.vue +159 -159
  34. package/components/common/help/navbar/left/utils/constructAccordion.ts +27 -27
  35. package/components/common/mainNavigationPanel/MainNavigationPanel.vue +359 -359
  36. package/components/common/modals/Rename.vue +165 -165
  37. package/components/common/perPage/PerPage.vue +51 -51
  38. package/components/common/recursionTree/RecursionTree.vue +201 -201
  39. package/components/common/vm/actions/add/Add.vue +14 -14
  40. package/components/common/vm/actions/add/utils.ts +2 -2
  41. package/components/common/vm/actions/clone/Clone.vue +544 -545
  42. package/components/common/vm/actions/clone/select/options/Options.vue +65 -65
  43. package/components/common/vm/actions/clone/utils.ts +43 -43
  44. package/components/common/vm/actions/{add → common}/config/capabilities.ts +338 -338
  45. package/components/common/vm/actions/{add → common}/customizeHardware/CustomizeHardware.vue +7 -7
  46. package/components/common/vm/actions/{add → common}/customizeHardware/models/interfaces.ts +2 -2
  47. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/VirtualHardware.vue +657 -657
  48. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/browseView/BrowseView.vue +1 -1
  49. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/bus/Bus.vue +1 -1
  50. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +8 -8
  51. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/cpu/CoresPerSocket.vue +109 -109
  52. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/cpu/Cpu.vue +383 -383
  53. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/cpu/shares/Shares.vue +1 -1
  54. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/limit/Limit.vue +234 -234
  55. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/limit/config/options.ts +28 -28
  56. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/memory/Memory.vue +316 -316
  57. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/memory/config/memoryOptions.ts +35 -35
  58. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newHardDisk/Location.vue +1 -1
  59. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +445 -445
  60. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newHardDisk/cache/Cache.vue +1 -1
  61. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newHardDisk/limitIops/LimitIops.vue +1 -1
  62. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newHardDisk/mode/Mode.vue +1 -1
  63. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newHardDisk/provisioning/Provisioning.vue +1 -1
  64. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newHardDisk/sharing/Sharing.vue +1 -1
  65. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +288 -288
  66. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newNetwork/adapterType/AdapterType.vue +1 -1
  67. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +1 -1
  68. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +8 -8
  69. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +1 -1
  70. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +1 -1
  71. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/other/Other.vue +1 -1
  72. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/reservation/Reservation.vue +235 -235
  73. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/videoCard/VideoCard.vue +177 -177
  74. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/videoCard/model/Model.vue +1 -1
  75. package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +1 -1
  76. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/Vmoptions.vue +6 -6
  77. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/bootOptions/BootOptions.vue +7 -7
  78. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +1 -1
  79. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +1 -1
  80. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/bootOptions/order/Order.vue +197 -197
  81. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +181 -181
  82. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/CopyPaste.vue +51 -51
  83. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/RemoteConsoleOptions.vue +253 -253
  84. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/ImgCompression.vue +1 -1
  85. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/JpegCompression.vue +1 -1
  86. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +55 -55
  87. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/mouseMode/MouseMode.vue +1 -1
  88. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +2 -2
  89. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/sharePolicy/SharePolicy.vue +1 -1
  90. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/StreamingMode.vue +1 -1
  91. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/type/Type.vue +1 -1
  92. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +1 -1
  93. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/ZlibCompression.vue +1 -1
  94. package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/tools/Tools.vue +1 -1
  95. package/components/common/vm/actions/{add → common}/models/interfaces.ts +2 -2
  96. package/components/common/vm/actions/{add → common}/models/types.ts +3 -3
  97. package/components/common/vm/actions/{add → common}/select/computeResource/ComputeResource.vue +1 -1
  98. package/components/common/vm/actions/{add → common}/select/createType/CreateType.vue +1 -1
  99. package/components/common/vm/actions/{add → common}/select/models/types.ts +2 -0
  100. package/components/common/vm/actions/{add → common}/select/os/os.vue +1 -1
  101. package/components/common/vm/actions/{add → common}/select/storage/Storage.vue +1 -1
  102. package/components/common/vm/actions/{add → common}/select/storage/config/config.ts +154 -154
  103. package/components/common/vm/actions/editSettings/EditSettings.vue +4 -4
  104. package/components/common/vm/actions/editSettings/models/types.ts +2 -2
  105. package/components/common/vm/actions/editSettings/utils.ts +2 -5
  106. package/components/common/vm/actions/models/interfaces.ts +1 -1
  107. package/components/common/vm/actions/models/types.ts +1 -1
  108. package/components/common/vm/actions/utils.ts +5 -5
  109. package/components/common/wizards/datastore/add/nfs/Nfs.vue +94 -94
  110. package/components/common/wizards/datastore/add/nfs/configuration/Configuration.vue +377 -377
  111. package/components/common/wizards/datastore/add/nfs/configuration/serversList/ServersList.vue +123 -123
  112. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/KerberosAuthentication.vue +54 -54
  113. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/HostTable.vue +131 -131
  114. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/PartitionConfiguration.vue +230 -230
  115. package/composables/useLocal.ts +38 -38
  116. package/minify.js +146 -146
  117. package/models/store/interfaces.ts +37 -37
  118. package/models/store/storage/interfaces.ts +32 -32
  119. package/models/store/types.ts +32 -32
  120. package/models/store/vm/interfaces.ts +2 -2
  121. package/modules/fixContentBuild/utils/methods.ts +114 -114
  122. package/package.json +1 -1
  123. package/public/spice-console/application/codec.js +257 -257
  124. package/public/spice-console/lib/rasterEngine.js +907 -907
  125. package/public/spice-console/network/spicechannel.js +369 -369
  126. package/utils/contentBuild.ts +34 -34
  127. package/components/common/vm/actions/clone/readyToComplete/ReadyToComplete.vue +0 -15
  128. /package/components/common/vm/actions/{add → common}/customizeHardware/config/navItems.ts +0 -0
  129. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/browseView/models/interfaces.ts +0 -0
  130. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/bus/config/options.ts +0 -0
  131. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/cdDvdDrive/config/fileTypes.ts +0 -0
  132. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/cdDvdDrive/config/options.ts +0 -0
  133. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +0 -0
  134. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/cdDvdDrive/models/types.ts +0 -0
  135. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/config/binaryOptions.ts +0 -0
  136. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/config/dropdownItems.ts +0 -0
  137. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/cpu/CpuHotPlug.vue +0 -0
  138. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/cpu/CpuModel.vue +0 -0
  139. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/cpu/Hv.vue +0 -0
  140. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/cpu/Iommu.vue +0 -0
  141. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/cpu/MaxCpu.vue +0 -0
  142. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/cpu/Pc.vue +0 -0
  143. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/cpu/Sa.vue +0 -0
  144. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/cpu/config/cpuOptions.ts +0 -0
  145. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/cpu/shares/config/options.ts +0 -0
  146. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/cpu/tooltip/Tooltip.vue +0 -0
  147. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/memory/MemoryHotPlug.vue +0 -0
  148. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/models/interfaces.ts +0 -0
  149. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/models/types.ts +0 -0
  150. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newHardDisk/DiskFile.vue +0 -0
  151. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newHardDisk/MaximumSize.vue +0 -0
  152. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newHardDisk/cache/config/options.ts +0 -0
  153. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newHardDisk/limitIops/config/options.ts +0 -0
  154. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newHardDisk/mode/config/options.ts +0 -0
  155. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newHardDisk/provisioning/config/options.ts +0 -0
  156. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newHardDisk/sharing/config/options.ts +0 -0
  157. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newNetwork/Location.vue +0 -0
  158. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newNetwork/adapterType/config/options.ts +0 -0
  159. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newNetwork/macAddress/config/options.ts +0 -0
  160. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newPciDevice/config/options.ts +0 -0
  161. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIo.vue +0 -0
  162. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/config/options.ts +0 -0
  163. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +0 -0
  164. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +0 -0
  165. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelection.vue +0 -0
  166. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/newUsbController/config/options.ts +0 -0
  167. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/other/InputDevices.vue +0 -0
  168. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/reservation/config/options.ts +0 -0
  169. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/videoCard/Graphics.vue +0 -0
  170. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/videoCard/TotalVideoMemory.vue +0 -0
  171. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/videoCard/config/options.ts +0 -0
  172. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/videoCard/model/config/options.ts +0 -0
  173. /package/components/common/vm/actions/{add → common}/customizeHardware/virtualHardware/videoCard/numberDisplays/config/options.ts +0 -0
  174. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/bootOptions/Menu.vue +0 -0
  175. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/bootOptions/Secure.vue +0 -0
  176. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/bootOptions/delay/config/config.ts +0 -0
  177. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/bootOptions/firmware/config/config.ts +0 -0
  178. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/bootOptions/order/models/interfaces.ts +0 -0
  179. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/models/interfaces.ts +0 -0
  180. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/FileTransfer.vue +0 -0
  181. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/FolderSharing.vue +0 -0
  182. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/PlaybackCompression.vue +0 -0
  183. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/PowerControl.vue +0 -0
  184. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/config/config.ts +0 -0
  185. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/config/config.ts +0 -0
  186. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/keymap/config/config.ts +0 -0
  187. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/mouseMode/config/config.ts +0 -0
  188. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/password/models/interfaces.ts +0 -0
  189. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/password/utils.ts +0 -0
  190. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/sharePolicy/config/config.ts +0 -0
  191. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/config/config.ts +0 -0
  192. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/type/config/config.ts +0 -0
  193. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/config/config.ts +0 -0
  194. /package/components/common/vm/actions/{add → common}/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/config/config.ts +0 -0
  195. /package/components/common/vm/actions/{add → common}/models/enums.ts +0 -0
  196. /package/components/common/vm/actions/{add → common}/readyToComplete/ReadyToComplete.vue +0 -0
  197. /package/components/common/vm/actions/{add → common}/select/compatibility/Compatibility.vue +0 -0
  198. /package/components/common/vm/actions/{add → common}/select/computeResource/ComputeResource.spec.ts +0 -0
  199. /package/components/common/vm/actions/{add → common}/select/computeResource/TreeView.vue +0 -0
  200. /package/components/common/vm/actions/{add → common}/select/createType/config/items.ts +0 -0
  201. /package/components/common/vm/actions/{add → common}/select/models/interfaces.ts +0 -0
  202. /package/components/common/vm/actions/{add → common}/select/name/Name.vue +0 -0
  203. /package/components/common/vm/actions/{add → common}/select/storage/models/types.ts +0 -0
@@ -1,62 +1,62 @@
1
- <template>
2
- <select
3
- :id="`${props.testId}-select`"
4
- v-model="selectedItem"
5
- size="15"
6
- class="list"
7
- >
8
- <option
9
- v-for="(item, key) in props.items"
10
- :key="key"
11
- :disabled="item.disabled"
12
- class="item"
13
- :value="item.value"
14
- >
15
- <slot :name="`item${key}`">
16
- {{ item.text }}
17
- </slot>
18
- </option>
19
- </select>
20
- </template>
21
-
22
- <script setup lang="ts">
23
- import { UI_I_OptionItem } from '~/components/atoms/models/interfaces'
24
-
25
- const props = withDefaults(
26
- defineProps<{
27
- testId?: string
28
- items: UI_I_OptionItem[]
29
- modelValue: string
30
- }>(),
31
- { testId: 'ui-select-list' }
32
- )
33
- const emits = defineEmits<{
34
- (event: 'update:model-value', value: string): void
35
- }>()
36
-
37
- const selectedItem = computed<string>({
38
- get() {
39
- return props.modelValue
40
- },
41
- set(newValue) {
42
- emits('update:model-value', newValue)
43
- },
44
- })
45
- </script>
46
-
47
- <style scoped lang="scss">
48
- .list {
49
- outline: none;
50
-
51
- .item {
52
- padding: 3px 6px;
53
- color: #000;
54
-
55
- &:disabled {
56
- color: #565656;
57
- cursor: not-allowed;
58
- opacity: 0.4;
59
- }
60
- }
61
- }
62
- </style>
1
+ <template>
2
+ <select
3
+ :id="`${props.testId}-select`"
4
+ v-model="selectedItem"
5
+ size="15"
6
+ class="list"
7
+ >
8
+ <option
9
+ v-for="(item, key) in props.items"
10
+ :key="key"
11
+ :disabled="item.disabled"
12
+ class="item"
13
+ :value="item.value"
14
+ >
15
+ <slot :name="`item${key}`">
16
+ {{ item.text }}
17
+ </slot>
18
+ </option>
19
+ </select>
20
+ </template>
21
+
22
+ <script setup lang="ts">
23
+ import { UI_I_OptionItem } from '~/components/atoms/models/interfaces'
24
+
25
+ const props = withDefaults(
26
+ defineProps<{
27
+ testId?: string
28
+ items: UI_I_OptionItem[]
29
+ modelValue: string
30
+ }>(),
31
+ { testId: 'ui-select-list' }
32
+ )
33
+ const emits = defineEmits<{
34
+ (event: 'update:model-value', value: string): void
35
+ }>()
36
+
37
+ const selectedItem = computed<string>({
38
+ get() {
39
+ return props.modelValue
40
+ },
41
+ set(newValue) {
42
+ emits('update:model-value', newValue)
43
+ },
44
+ })
45
+ </script>
46
+
47
+ <style scoped lang="scss">
48
+ .list {
49
+ outline: none;
50
+
51
+ .item {
52
+ padding: 3px 6px;
53
+ color: #000;
54
+
55
+ &:disabled {
56
+ color: #565656;
57
+ cursor: not-allowed;
58
+ opacity: 0.4;
59
+ }
60
+ }
61
+ }
62
+ </style>
@@ -1,116 +1,116 @@
1
- <template>
2
- <nav :id="id" :class="['nav', { 'not-collapse': notCollapse }]">
3
- <ul>
4
- <li v-for="(item, key) in props.items" :key="key" class="nav-item">
5
- <atoms-collapse-nav-item
6
- :test-id="`${props.testId}-item-${key}`"
7
- :is-link="props.isLink"
8
- :item="item"
9
- :value="props.modelValue"
10
- btn-class="btn btn-link nav-link"
11
- @change="change"
12
- />
13
- </li>
14
- <atoms-collapse-nav
15
- v-show="collapsedItems.length && !notCollapse"
16
- :test-id="`${props.testId}-container`"
17
- :items="collapsedItems"
18
- :is-link="props.isLink"
19
- :value="props.modelValue"
20
- @change="change"
21
- />
22
- </ul>
23
- </nav>
24
- </template>
25
-
26
- <script setup lang="ts">
27
- import { UI_I_CollapseNavItem } from '~/components/atoms/collapse/models/interfaces'
28
-
29
- const props = withDefaults(
30
- defineProps<{
31
- testId?: string
32
- items: UI_I_CollapseNavItem[]
33
- modelValue?: number | string
34
- isLink?: boolean
35
- notCollapse?: boolean
36
- }>(),
37
- { testId: 'ui-nav-bar' }
38
- )
39
- const emits = defineEmits<{
40
- (event: 'update:model-value', num: number): void
41
- (event: 'change', num: number): void
42
- }>()
43
-
44
- const change = (value: number): void => {
45
- emits('update:model-value', value)
46
- emits('change', value)
47
- }
48
-
49
- const visibleCount = ref(props.items.length)
50
- const collapsedItems = computed<UI_I_CollapseNavItem[]>(() => {
51
- return props.items.filter((_, index) => {
52
- return index >= visibleCount.value
53
- })
54
- })
55
-
56
- let outputSize = (): void => {
57
- const el = document.getElementById(id.value)
58
- if (!el) return
59
-
60
- const elWidth = el.clientWidth
61
- const elItems = el.children[0].children
62
- const elItemsMarginLeft = parseInt(getComputedStyle(elItems[0]).marginLeft)
63
- const elItemsMarginRight = parseInt(getComputedStyle(elItems[0]).marginRight)
64
- const childrenMarginY = elItemsMarginLeft + elItemsMarginRight
65
-
66
- let childrenWidth = 0
67
- let count = 0
68
- for (let i = 0; i < elItems.length; i++) {
69
- childrenWidth += elItems[i].clientWidth + childrenMarginY
70
- const isWrap = elWidth < childrenWidth
71
-
72
- if (isWrap) break
73
- count++
74
- }
75
-
76
- visibleCount.value = count
77
- }
78
- outputSize = useThrottle(outputSize)
79
-
80
- const id = ref<string>('')
81
- const setResizeObserve = (): void => {
82
- const el = document.getElementById(id.value)
83
-
84
- if (!el) {
85
- setTimeout(setResizeObserve, 0)
86
- return
87
- }
88
-
89
- new ResizeObserver(outputSize).observe(el)
90
- }
91
- onMounted(() => {
92
- setResizeObserve()
93
- id.value = `nav-bar${useUniqueId()}`
94
- })
95
- </script>
96
-
97
- <style scoped lang="scss">
98
- .nav {
99
- box-shadow: inset 0 -0.05rem 0 var(--nav-panel-border-color);
100
- align-items: flex-start;
101
-
102
- &.not-collapse {
103
- ul {
104
- flex-wrap: nowrap;
105
- }
106
- }
107
-
108
- ul {
109
- position: relative;
110
- height: 36px;
111
- overflow: hidden;
112
- display: flex;
113
- flex-wrap: wrap;
114
- }
115
- }
116
- </style>
1
+ <template>
2
+ <nav :id="id" :class="['nav', { 'not-collapse': notCollapse }]">
3
+ <ul>
4
+ <li v-for="(item, key) in props.items" :key="key" class="nav-item">
5
+ <atoms-collapse-nav-item
6
+ :test-id="`${props.testId}-item-${key}`"
7
+ :is-link="props.isLink"
8
+ :item="item"
9
+ :value="props.modelValue"
10
+ btn-class="btn btn-link nav-link"
11
+ @change="change"
12
+ />
13
+ </li>
14
+ <atoms-collapse-nav
15
+ v-show="collapsedItems.length && !notCollapse"
16
+ :test-id="`${props.testId}-container`"
17
+ :items="collapsedItems"
18
+ :is-link="props.isLink"
19
+ :value="props.modelValue"
20
+ @change="change"
21
+ />
22
+ </ul>
23
+ </nav>
24
+ </template>
25
+
26
+ <script setup lang="ts">
27
+ import { UI_I_CollapseNavItem } from '~/components/atoms/collapse/models/interfaces'
28
+
29
+ const props = withDefaults(
30
+ defineProps<{
31
+ testId?: string
32
+ items: UI_I_CollapseNavItem[]
33
+ modelValue?: number | string
34
+ isLink?: boolean
35
+ notCollapse?: boolean
36
+ }>(),
37
+ { testId: 'ui-nav-bar' }
38
+ )
39
+ const emits = defineEmits<{
40
+ (event: 'update:model-value', num: number): void
41
+ (event: 'change', num: number): void
42
+ }>()
43
+
44
+ const change = (value: number): void => {
45
+ emits('update:model-value', value)
46
+ emits('change', value)
47
+ }
48
+
49
+ const visibleCount = ref(props.items.length)
50
+ const collapsedItems = computed<UI_I_CollapseNavItem[]>(() => {
51
+ return props.items.filter((_, index) => {
52
+ return index >= visibleCount.value
53
+ })
54
+ })
55
+
56
+ let outputSize = (): void => {
57
+ const el = document.getElementById(id.value)
58
+ if (!el) return
59
+
60
+ const elWidth = el.clientWidth
61
+ const elItems = el.children[0].children
62
+ const elItemsMarginLeft = parseInt(getComputedStyle(elItems[0]).marginLeft)
63
+ const elItemsMarginRight = parseInt(getComputedStyle(elItems[0]).marginRight)
64
+ const childrenMarginY = elItemsMarginLeft + elItemsMarginRight
65
+
66
+ let childrenWidth = 0
67
+ let count = 0
68
+ for (let i = 0; i < elItems.length; i++) {
69
+ childrenWidth += elItems[i].clientWidth + childrenMarginY
70
+ const isWrap = elWidth < childrenWidth
71
+
72
+ if (isWrap) break
73
+ count++
74
+ }
75
+
76
+ visibleCount.value = count
77
+ }
78
+ outputSize = useThrottle(outputSize)
79
+
80
+ const id = ref<string>('')
81
+ const setResizeObserve = (): void => {
82
+ const el = document.getElementById(id.value)
83
+
84
+ if (!el) {
85
+ setTimeout(setResizeObserve, 0)
86
+ return
87
+ }
88
+
89
+ new ResizeObserver(outputSize).observe(el)
90
+ }
91
+ onMounted(() => {
92
+ setResizeObserve()
93
+ id.value = `nav-bar${useUniqueId()}`
94
+ })
95
+ </script>
96
+
97
+ <style scoped lang="scss">
98
+ .nav {
99
+ box-shadow: inset 0 -0.05rem 0 var(--nav-panel-border-color);
100
+ align-items: flex-start;
101
+
102
+ &.not-collapse {
103
+ ul {
104
+ flex-wrap: nowrap;
105
+ }
106
+ }
107
+
108
+ ul {
109
+ position: relative;
110
+ height: 36px;
111
+ overflow: hidden;
112
+ display: flex;
113
+ flex-wrap: wrap;
114
+ }
115
+ }
116
+ </style>
@@ -1,89 +1,89 @@
1
- <template>
2
- <nav class="clr-vertical-nav">
3
- <NuxtLink
4
- v-for="(item, key) in props.items"
5
- :id="`${props.testId}-link-${key}`"
6
- :key="key"
7
- class="clr-treenode-link"
8
- :to="item.path"
9
- active-class="active"
10
- @contextmenu="showContextMenu($event, item)"
11
- >
12
- <span
13
- v-if="item.iconClassName"
14
- :class="['icon', item.iconClassName]"
15
- ></span>
16
- <span class="clr-treenode-item text-ellipsis">{{ item.text }}</span>
17
- </NuxtLink>
18
- </nav>
19
- </template>
20
-
21
- <script setup lang="ts">
22
- import { UI_I_NavItem } from '~/components/atoms/nav/models/interfaces'
23
-
24
- const props = withDefaults(
25
- defineProps<{
26
- testId?: string
27
- items: UI_I_NavItem[]
28
- }>(),
29
- { testId: 'ui-vertical-nav-bar' }
30
- )
31
- const emits = defineEmits<{
32
- (event: 'contextmenu', value: [Event, UI_I_NavItem]): void
33
- }>()
34
-
35
- const showContextMenu = (event: Event, item: UI_I_NavItem): void => {
36
- // navigateTo(item.path)
37
- emits('contextmenu', [event, item])
38
- }
39
- </script>
40
-
41
- <style scoped lang="scss">
42
- .clr-vertical-nav {
43
- padding-top: 0;
44
- width: 100%;
45
- background-color: transparent;
46
-
47
- .clr-treenode-link {
48
- display: flex;
49
- align-items: center;
50
- text-overflow: ellipsis;
51
- overflow: hidden;
52
- white-space: nowrap;
53
- padding: 2px 12px;
54
- border-radius: 0;
55
-
56
- &.active {
57
- background: var(--vertical-nav-active-bg-color);
58
- color: var(--vertical-nav-active-item-color);
59
- .clr-treenode-item {
60
- color: var(--vertical-nav-active-item-color);
61
- }
62
- }
63
- &:hover:not(.active) {
64
- background: var(--vertical-nav-hover-bg-color);
65
- color: var(--vertical-nav-hover-item-color);
66
- margin-bottom: -1px;
67
- border-bottom: 1px solid var(--row-hover-border-color);
68
-
69
- .clr-treenode-item {
70
- color: var(--vertical-nav-hover-item-color);
71
- }
72
- }
73
- .icon {
74
- margin: 1px 4px 0;
75
- }
76
- }
77
- }
78
- </style>
79
-
80
- <style>
81
- /* :root {
82
- --vertical-nav-active-item-color: #fff;
83
- --vertical-nav-active-bg-color: #29414e;
84
- }
85
- :root.dark-theme {
86
- --vertical-nav-active-item-color: #000;
87
- --vertical-nav-active-bg-color: #d8e3e9;
88
- } */
89
- </style>
1
+ <template>
2
+ <nav class="clr-vertical-nav">
3
+ <NuxtLink
4
+ v-for="(item, key) in props.items"
5
+ :id="`${props.testId}-link-${key}`"
6
+ :key="key"
7
+ class="clr-treenode-link"
8
+ :to="item.path"
9
+ active-class="active"
10
+ @contextmenu="showContextMenu($event, item)"
11
+ >
12
+ <span
13
+ v-if="item.iconClassName"
14
+ :class="['icon', item.iconClassName]"
15
+ ></span>
16
+ <span class="clr-treenode-item text-ellipsis">{{ item.text }}</span>
17
+ </NuxtLink>
18
+ </nav>
19
+ </template>
20
+
21
+ <script setup lang="ts">
22
+ import { UI_I_NavItem } from '~/components/atoms/nav/models/interfaces'
23
+
24
+ const props = withDefaults(
25
+ defineProps<{
26
+ testId?: string
27
+ items: UI_I_NavItem[]
28
+ }>(),
29
+ { testId: 'ui-vertical-nav-bar' }
30
+ )
31
+ const emits = defineEmits<{
32
+ (event: 'contextmenu', value: [Event, UI_I_NavItem]): void
33
+ }>()
34
+
35
+ const showContextMenu = (event: Event, item: UI_I_NavItem): void => {
36
+ // navigateTo(item.path)
37
+ emits('contextmenu', [event, item])
38
+ }
39
+ </script>
40
+
41
+ <style scoped lang="scss">
42
+ .clr-vertical-nav {
43
+ padding-top: 0;
44
+ width: 100%;
45
+ background-color: transparent;
46
+
47
+ .clr-treenode-link {
48
+ display: flex;
49
+ align-items: center;
50
+ text-overflow: ellipsis;
51
+ overflow: hidden;
52
+ white-space: nowrap;
53
+ padding: 2px 12px;
54
+ border-radius: 0;
55
+
56
+ &.active {
57
+ background: var(--vertical-nav-active-bg-color);
58
+ color: var(--vertical-nav-active-item-color);
59
+ .clr-treenode-item {
60
+ color: var(--vertical-nav-active-item-color);
61
+ }
62
+ }
63
+ &:hover:not(.active) {
64
+ background: var(--vertical-nav-hover-bg-color);
65
+ color: var(--vertical-nav-hover-item-color);
66
+ margin-bottom: -1px;
67
+ border-bottom: 1px solid var(--row-hover-border-color);
68
+
69
+ .clr-treenode-item {
70
+ color: var(--vertical-nav-hover-item-color);
71
+ }
72
+ }
73
+ .icon {
74
+ margin: 1px 4px 0;
75
+ }
76
+ }
77
+ }
78
+ </style>
79
+
80
+ <style>
81
+ /* :root {
82
+ --vertical-nav-active-item-color: #fff;
83
+ --vertical-nav-active-bg-color: #29414e;
84
+ }
85
+ :root.dark-theme {
86
+ --vertical-nav-active-item-color: #000;
87
+ --vertical-nav-active-bg-color: #d8e3e9;
88
+ } */
89
+ </style>