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,206 +1,206 @@
1
- <template>
2
- <div class="column-switch-wrap flex-align-center relative" @click.stop>
3
- <button :id="columnSwitchId" class="column-switch-btn" @click.stop="toggle">
4
- <atoms-the-icon
5
- name="column-switch"
6
- width="16px"
7
- height="16px"
8
- class="toggle-icon"
9
- />
10
- </button>
11
-
12
- <div v-show="open" :style="dropdownStyles" class="dropdown-menu">
13
- <div class="column-switch">
14
- <div class="switch-header">
15
- {{ localization.showColumns }}
16
- </div>
17
- <ul class="switch-content list-unstyled">
18
- <li
19
- v-for="(item, key) in columnKeysPresent"
20
- :key="`${item.key}_${key}`"
21
- >
22
- <div class="clr-checkbox-wrapper">
23
- <input
24
- :id="`${props.testId}-${item.id}`"
25
- v-model="item.show"
26
- :disabled="isLast && item.show"
27
- type="checkbox"
28
- @change="change($event, key)"
29
- />
30
- <label
31
- :for="`${props.testId}-${item.id}`"
32
- class="clr-control-label"
33
- >{{ item.text }}</label
34
- >
35
- </div>
36
- </li>
37
- </ul>
38
- <div class="switch-footer">
39
- <button
40
- :id="`${props.testId}-select-all-button`"
41
- class="btn btn-sm btn-link switch-button export-link"
42
- @click="selectAll"
43
- >
44
- {{ localization.selectAll }}
45
- </button>
46
- </div>
47
- </div>
48
- </div>
49
- </div>
50
- </template>
51
-
52
- <script setup lang="ts">
53
- import { UI_I_HTMLSelectElement } from '~/models/interfaces'
54
- import { UI_I_ColumnKey } from '~/components/atoms/table/dataGrid/models/interfaces'
55
-
56
- const props = withDefaults(
57
- defineProps<{
58
- columnKeys: UI_I_ColumnKey[]
59
- testId?: string
60
- }>(),
61
- { testId: 'ui-data-grid-column-switch' }
62
- )
63
- const emits = defineEmits<{
64
- (event: 'update:column-keys', value: UI_I_ColumnKey[]): void
65
- }>()
66
-
67
- const columnKeysPresent = computed<UI_I_ColumnKey[]>(() => {
68
- return props.columnKeys.map((item): UI_I_ColumnKey => {
69
- return { ...item, id: useUniqueId() }
70
- })
71
- })
72
-
73
- const localization = computed(() => useLocal())
74
-
75
- const columnSwitchId = ref('')
76
-
77
- const isLast = computed<boolean>(
78
- () => props.columnKeys.filter((columnKey) => columnKey.show).length === 1
79
- )
80
-
81
- const change = (e: UI_I_HTMLSelectElement, key: number): void => {
82
- const newColumnKeys = props.columnKeys.map((columnKey, i) => {
83
- if (i !== key) {
84
- return columnKey
85
- }
86
-
87
- columnKey.show = e.target.checked
88
- return columnKey
89
- })
90
- emits('update:column-keys', newColumnKeys)
91
- }
92
- const selectAll = (): void => {
93
- const newColumnKeys = props.columnKeys.map((columnKey) => {
94
- columnKey.show = true
95
- return columnKey
96
- })
97
- emits('update:column-keys', newColumnKeys)
98
- }
99
-
100
- const windowClick = () => {
101
- hide()
102
- }
103
- onMounted(() => {
104
- window.addEventListener('click', windowClick)
105
- columnSwitchId.value = `column-switch-${useUniqueId()}`
106
- setDropdownStyle()
107
- })
108
- onUnmounted(() => {
109
- window.removeEventListener('click', windowClick)
110
- })
111
-
112
- const open = ref(false)
113
- const hide = (): void => {
114
- open.value = false
115
- }
116
- const toggle = (): void => {
117
- open.value = !open.value
118
- if (!open.value) {
119
- return
120
- }
121
-
122
- setDropdownStyle()
123
- }
124
-
125
- const dropdownStyles = ref({})
126
- const setDropdownStyle = (): void => {
127
- const elem = document.getElementById(columnSwitchId.value)
128
- if (!elem) {
129
- setTimeout(() => setDropdownStyle(), 0)
130
- return
131
- }
132
- const { x, y } = elem.getBoundingClientRect()
133
-
134
- dropdownStyles.value = {
135
- top: `${y - 10}px`,
136
- left: `${x}px`,
137
- }
138
- }
139
- </script>
140
-
141
- <style scoped lang="scss">
142
- .column-switch-wrap {
143
- .column-switch-btn {
144
- cursor: pointer;
145
- padding: 0;
146
- border: 0;
147
- display: flex;
148
- background-color: transparent;
149
-
150
- .toggle-icon {
151
- fill: #575757;
152
- }
153
- &:hover {
154
- .toggle-icon {
155
- fill: #0079b8;
156
- }
157
- }
158
- }
159
-
160
- .dropdown-menu {
161
- position: fixed;
162
- z-index: 1000;
163
- visibility: unset;
164
- transform: translateY(-100%);
165
- background-color: var(--block-view-bg-color);
166
- border-color: var(--global-border-color);
167
-
168
- .column-switch {
169
- border-style: none;
170
- box-shadow: none;
171
- height: 85%;
172
- max-height: calc(15rem + 100px);
173
- padding: 18px;
174
- width: 250px;
175
- display: flex;
176
- flex-direction: column;
177
-
178
- .switch-header {
179
- font-size: 16px;
180
- color: #565656;
181
- padding-bottom: 12px;
182
- }
183
-
184
- .switch-content {
185
- overflow-y: auto;
186
- .clr-control-label {
187
- white-space: normal;
188
- }
189
- }
190
-
191
- .switch-footer {
192
- button {
193
- padding: 0;
194
- margin: 0;
195
- font-size: 12px;
196
- letter-spacing: 1px;
197
- color: #0079b8;
198
- text-transform: uppercase;
199
- display: flex;
200
- align-items: center;
201
- }
202
- }
203
- }
204
- }
205
- }
206
- </style>
1
+ <template>
2
+ <div class="column-switch-wrap flex-align-center relative" @click.stop>
3
+ <button :id="columnSwitchId" class="column-switch-btn" @click.stop="toggle">
4
+ <atoms-the-icon
5
+ name="column-switch"
6
+ width="16px"
7
+ height="16px"
8
+ class="toggle-icon"
9
+ />
10
+ </button>
11
+
12
+ <div v-show="open" :style="dropdownStyles" class="dropdown-menu">
13
+ <div class="column-switch">
14
+ <div class="switch-header">
15
+ {{ localization.showColumns }}
16
+ </div>
17
+ <ul class="switch-content list-unstyled">
18
+ <li
19
+ v-for="(item, key) in columnKeysPresent"
20
+ :key="`${item.key}_${key}`"
21
+ >
22
+ <div class="clr-checkbox-wrapper">
23
+ <input
24
+ :id="`${props.testId}-${item.id}`"
25
+ v-model="item.show"
26
+ :disabled="isLast && item.show"
27
+ type="checkbox"
28
+ @change="change($event, key)"
29
+ />
30
+ <label
31
+ :for="`${props.testId}-${item.id}`"
32
+ class="clr-control-label"
33
+ >{{ item.text }}</label
34
+ >
35
+ </div>
36
+ </li>
37
+ </ul>
38
+ <div class="switch-footer">
39
+ <button
40
+ :id="`${props.testId}-select-all-button`"
41
+ class="btn btn-sm btn-link switch-button export-link"
42
+ @click="selectAll"
43
+ >
44
+ {{ localization.selectAll }}
45
+ </button>
46
+ </div>
47
+ </div>
48
+ </div>
49
+ </div>
50
+ </template>
51
+
52
+ <script setup lang="ts">
53
+ import { UI_I_HTMLSelectElement } from '~/models/interfaces'
54
+ import { UI_I_ColumnKey } from '~/components/atoms/table/dataGrid/models/interfaces'
55
+
56
+ const props = withDefaults(
57
+ defineProps<{
58
+ columnKeys: UI_I_ColumnKey[]
59
+ testId?: string
60
+ }>(),
61
+ { testId: 'ui-data-grid-column-switch' }
62
+ )
63
+ const emits = defineEmits<{
64
+ (event: 'update:column-keys', value: UI_I_ColumnKey[]): void
65
+ }>()
66
+
67
+ const columnKeysPresent = computed<UI_I_ColumnKey[]>(() => {
68
+ return props.columnKeys.map((item): UI_I_ColumnKey => {
69
+ return { ...item, id: useUniqueId() }
70
+ })
71
+ })
72
+
73
+ const localization = computed(() => useLocal())
74
+
75
+ const columnSwitchId = ref('')
76
+
77
+ const isLast = computed<boolean>(
78
+ () => props.columnKeys.filter((columnKey) => columnKey.show).length === 1
79
+ )
80
+
81
+ const change = (e: UI_I_HTMLSelectElement, key: number): void => {
82
+ const newColumnKeys = props.columnKeys.map((columnKey, i) => {
83
+ if (i !== key) {
84
+ return columnKey
85
+ }
86
+
87
+ columnKey.show = e.target.checked
88
+ return columnKey
89
+ })
90
+ emits('update:column-keys', newColumnKeys)
91
+ }
92
+ const selectAll = (): void => {
93
+ const newColumnKeys = props.columnKeys.map((columnKey) => {
94
+ columnKey.show = true
95
+ return columnKey
96
+ })
97
+ emits('update:column-keys', newColumnKeys)
98
+ }
99
+
100
+ const windowClick = () => {
101
+ hide()
102
+ }
103
+ onMounted(() => {
104
+ window.addEventListener('click', windowClick)
105
+ columnSwitchId.value = `column-switch-${useUniqueId()}`
106
+ setDropdownStyle()
107
+ })
108
+ onUnmounted(() => {
109
+ window.removeEventListener('click', windowClick)
110
+ })
111
+
112
+ const open = ref(false)
113
+ const hide = (): void => {
114
+ open.value = false
115
+ }
116
+ const toggle = (): void => {
117
+ open.value = !open.value
118
+ if (!open.value) {
119
+ return
120
+ }
121
+
122
+ setDropdownStyle()
123
+ }
124
+
125
+ const dropdownStyles = ref({})
126
+ const setDropdownStyle = (): void => {
127
+ const elem = document.getElementById(columnSwitchId.value)
128
+ if (!elem) {
129
+ setTimeout(() => setDropdownStyle(), 0)
130
+ return
131
+ }
132
+ const { x, y } = elem.getBoundingClientRect()
133
+
134
+ dropdownStyles.value = {
135
+ top: `${y - 10}px`,
136
+ left: `${x}px`,
137
+ }
138
+ }
139
+ </script>
140
+
141
+ <style scoped lang="scss">
142
+ .column-switch-wrap {
143
+ .column-switch-btn {
144
+ cursor: pointer;
145
+ padding: 0;
146
+ border: 0;
147
+ display: flex;
148
+ background-color: transparent;
149
+
150
+ .toggle-icon {
151
+ fill: #575757;
152
+ }
153
+ &:hover {
154
+ .toggle-icon {
155
+ fill: #0079b8;
156
+ }
157
+ }
158
+ }
159
+
160
+ .dropdown-menu {
161
+ position: fixed;
162
+ z-index: 1000;
163
+ visibility: unset;
164
+ transform: translateY(-100%);
165
+ background-color: var(--block-view-bg-color);
166
+ border-color: var(--global-border-color);
167
+
168
+ .column-switch {
169
+ border-style: none;
170
+ box-shadow: none;
171
+ height: 85%;
172
+ max-height: calc(15rem + 100px);
173
+ padding: 18px;
174
+ width: 250px;
175
+ display: flex;
176
+ flex-direction: column;
177
+
178
+ .switch-header {
179
+ font-size: 16px;
180
+ color: #565656;
181
+ padding-bottom: 12px;
182
+ }
183
+
184
+ .switch-content {
185
+ overflow-y: auto;
186
+ .clr-control-label {
187
+ white-space: normal;
188
+ }
189
+ }
190
+
191
+ .switch-footer {
192
+ button {
193
+ padding: 0;
194
+ margin: 0;
195
+ font-size: 12px;
196
+ letter-spacing: 1px;
197
+ color: #0079b8;
198
+ text-transform: uppercase;
199
+ display: flex;
200
+ align-items: center;
201
+ }
202
+ }
203
+ }
204
+ }
205
+ }
206
+ </style>