bfg-common 1.3.21 → 1.3.23

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 (792) hide show
  1. package/.eslintrc.js +21 -21
  2. package/.idea/inspectionProfiles/Project_Default.xml +48 -48
  3. package/.idea/modules.xml +7 -7
  4. package/.idea/prettier.xml +5 -5
  5. package/.idea/uikit.iml +11 -11
  6. package/.idea/vcs.xml +5 -5
  7. package/.prettierrc +4 -4
  8. package/PROJECT_STRUCTURE.md +42 -42
  9. package/README.md +42 -42
  10. package/assets/img/icons/icon-hcs.svg +3 -3
  11. package/assets/img/icons/icon-life-m-dark.svg +3 -3
  12. package/assets/img/icons/icon-life-m-light.svg +3 -3
  13. package/assets/img/icons/icon-ro-dark.svg +1 -1
  14. package/assets/img/icons/icon-ro-light.svg +2 -2
  15. package/assets/img/icons/icons-sprite-dark-6.svg +1 -1
  16. package/assets/img/icons/icons-sprite-light-6.svg +1 -1
  17. package/assets/img/icons/info.svg +8 -8
  18. package/assets/img/icons/vc.svg +52 -52
  19. package/assets/img/logo copy.svg +50 -50
  20. package/assets/img/logo.svg +51 -51
  21. package/assets/localization/local_be.json +2170 -2170
  22. package/assets/localization/local_en.json +2173 -2173
  23. package/assets/localization/local_hy.json +2174 -2174
  24. package/assets/localization/local_kk.json +2173 -2173
  25. package/assets/localization/local_ru.json +2173 -2173
  26. package/assets/localization/local_zh.json +2173 -2173
  27. package/assets/scss/clarity/clr-ui.min.css +8 -8
  28. package/assets/scss/common/animations.scss +28 -28
  29. package/assets/scss/common/global.scss +189 -189
  30. package/assets/scss/common/icons/icons-1.scss +236 -236
  31. package/assets/scss/common/icons/icons-3.scss +203 -203
  32. package/assets/scss/common/icons/icons-4.scss +185 -185
  33. package/assets/scss/common/icons/icons-5.scss +59 -59
  34. package/assets/scss/common/icons/icons-6.scss +29 -29
  35. package/assets/scss/common/icons/icons.scss +16 -16
  36. package/assets/scss/common/icons/lib-icons.scss +23 -23
  37. package/assets/scss/common/mixins.scss +39 -39
  38. package/assets/scss/common/normalize.scss +320 -320
  39. package/assets/scss/common/theme.scss +232 -232
  40. package/assets/scss/common/utilities.scss +20 -20
  41. package/assets/scss/common/variables.scss +43 -43
  42. package/assets/scss/main.scss +13 -13
  43. package/components/atoms/DiagramIcon.vue +356 -356
  44. package/components/atoms/TheIcon.vue +1687 -1687
  45. package/components/atoms/TheIcon2.vue +1136 -1136
  46. package/components/atoms/alert/Alert.vue +84 -84
  47. package/components/atoms/alert/Notification.vue +167 -167
  48. package/components/atoms/alert/lib/Alert.spec.ts +38 -38
  49. package/components/atoms/alert/lib/Notification.spec.ts +34 -34
  50. package/components/atoms/alert/lib/models/enums.ts +12 -12
  51. package/components/atoms/alert/lib/models/interfaces.ts +27 -27
  52. package/components/atoms/alert/lib/models/types.ts +7 -7
  53. package/components/atoms/autocomplete/Autocomplete.vue +236 -236
  54. package/components/atoms/collapse/CollapseNav.vue +164 -164
  55. package/components/atoms/collapse/CollapseNavItem.vue +190 -190
  56. package/components/atoms/collapse/lib/models/interfaces.ts +10 -10
  57. package/components/atoms/combobox/Combobox.vue +147 -147
  58. package/components/atoms/datepicker/Datepicker.vue +612 -612
  59. package/components/atoms/datepicker/lib/config/allShortMonths.ts +103 -103
  60. package/components/atoms/datepicker/lib/config/datapicker.ts +43 -43
  61. package/components/atoms/datepicker/lib/models/interfaces.ts +8 -8
  62. package/components/atoms/dropdown/Portlet.vue +111 -111
  63. package/components/atoms/dropdown/dropdown/Dropdown.vue +148 -148
  64. package/components/atoms/dropdown/dropdown/lib/models/interfaces.ts +8 -8
  65. package/components/atoms/dropdown/lib/Portlet.spec.ts +26 -26
  66. package/components/atoms/dropdown/tree/Tree.vue +134 -134
  67. package/components/atoms/dropdown/tree/lib/models/interfaces.ts +9 -9
  68. package/components/atoms/input/Search.vue +16 -16
  69. package/components/atoms/lib/models/interfaces.ts +12 -12
  70. package/components/atoms/list/SelectList.vue +62 -62
  71. package/components/atoms/list/SimpleList.vue +29 -29
  72. package/components/atoms/list/dragDropList/DragDropList.vue +139 -139
  73. package/components/atoms/list/dragDropList/lib/config/events.ts +4 -4
  74. package/components/atoms/loader/BarLoader.vue +27 -27
  75. package/components/atoms/loader/Loader.vue +26 -26
  76. package/components/atoms/loader/PreLoader.vue +35 -35
  77. package/components/atoms/loader/lib/Preloader.spec.ts +24 -24
  78. package/components/atoms/modal/Modal.vue +244 -244
  79. package/components/atoms/modal/bySteps/BySteps.vue +247 -247
  80. package/components/atoms/modal/bySteps/lib/BySteps.spec.ts +66 -66
  81. package/components/atoms/modal/byStepsSecond/ByStepsSecond.vue +175 -175
  82. package/components/atoms/modal/lib/Modal.spec.ts +55 -55
  83. package/components/atoms/nav/NavBar.vue +140 -140
  84. package/components/atoms/nav/VerticalNavBar.vue +89 -89
  85. package/components/atoms/nav/lib/NavBar.spec.ts +34 -34
  86. package/components/atoms/nav/lib/models/interfaces.ts +5 -5
  87. package/components/atoms/notificationBar/NotificationBar.vue +170 -170
  88. package/components/atoms/notificationBar/lib/models/enums.ts +13 -13
  89. package/components/atoms/notificationBar/lib/models/interfaces.ts +6 -6
  90. package/components/atoms/notificationBar/lib/models/types.ts +1 -1
  91. package/components/atoms/perPage/PerPage.vue +52 -52
  92. package/components/atoms/popover/Popover.vue +61 -61
  93. package/components/atoms/popup/SimplePopup.vue +90 -90
  94. package/components/atoms/select/TheSelect.vue +175 -175
  95. package/components/atoms/select/lib/models/interfaces.ts +4 -4
  96. package/components/atoms/stack/StackBlock.vue +179 -179
  97. package/components/atoms/stack/StackContent.vue +63 -63
  98. package/components/atoms/step/VerticalStep.vue +104 -104
  99. package/components/atoms/step/lib/VerticalStep.spec.ts +68 -68
  100. package/components/atoms/step/lib/models/verticalStepItem.ts +7 -7
  101. package/components/atoms/table/compact/Compact.vue +526 -526
  102. package/components/atoms/table/compact/lib/models/interfaces.ts +10 -10
  103. package/components/atoms/table/dataGrid/DataGrid.vue +1522 -1522
  104. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +206 -206
  105. package/components/atoms/table/dataGrid/DataGridPage.vue +191 -191
  106. package/components/atoms/table/dataGrid/DataGridPagination.vue +89 -89
  107. package/components/atoms/table/dataGrid/lib/DataGrid.spec.ts +61 -61
  108. package/components/atoms/table/dataGrid/lib/config/itemsPerPage.ts +20 -20
  109. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +28 -28
  110. package/components/atoms/table/dataGrid/lib/models/interfaces.ts +25 -25
  111. package/components/atoms/table/dataGrid/lib/models/types.ts +5 -5
  112. package/components/atoms/table/dataGrid/lib/utils/constructDataTable.ts +32 -32
  113. package/components/atoms/table/info/Info.vue +60 -60
  114. package/components/atoms/table/info/lib/models/interfaces.ts +9 -9
  115. package/components/atoms/table/simpleEvent/SimpleEvent.vue +98 -98
  116. package/components/atoms/table/simpleEvent/lib/models/interfaces.ts +9 -9
  117. package/components/atoms/table/simpleInfo/SimpleInfo.vue +68 -68
  118. package/components/atoms/table/simpleInfo/lib/models/interfaces.ts +4 -4
  119. package/components/atoms/table/simpleTable/SimpleTable.vue +296 -296
  120. package/components/atoms/table/simpleTable/lib/models/interfaces.ts +10 -10
  121. package/components/atoms/tabs/Tabs.vue +215 -215
  122. package/components/atoms/tabs/VerticalTabs.vue +87 -87
  123. package/components/atoms/tabs/lib/models/interfaces.ts +4 -4
  124. package/components/atoms/tabs/lib/models/types.ts +1 -1
  125. package/components/atoms/tooltip/Signpost.vue +225 -225
  126. package/components/atoms/tooltip/Text.vue +37 -37
  127. package/components/atoms/tooltip/Tooltip.vue +57 -57
  128. package/components/atoms/tooltip/TooltipError.vue +113 -113
  129. package/components/atoms/tooltip/lib/models/interfaces.ts +4 -4
  130. package/components/atoms/wizard/Wizard.vue +443 -443
  131. package/components/atoms/wizard/lib/models/enums.ts +8 -8
  132. package/components/atoms/wizard/lib/models/interfaces.ts +48 -48
  133. package/components/atoms/wizard/lib/utils/utils.ts +568 -568
  134. package/components/atoms/wizard/step/Step.vue +112 -112
  135. package/components/common/BadBrowser.vue +114 -114
  136. package/components/common/accordion/Accordion.vue +176 -176
  137. package/components/common/accordion/Recursion.vue +216 -216
  138. package/components/common/accordion/lib/models/enums.ts +5 -5
  139. package/components/common/accordion/lib/models/interfaces.ts +15 -15
  140. package/components/common/accordion/lib/models/types.ts +1 -1
  141. package/components/common/accordion/lib/utils/accordion.ts +31 -31
  142. package/components/common/adapterManager/AdapterManager.vue +715 -715
  143. package/components/common/adapterManager/AddAdapterModal.vue +555 -555
  144. package/components/common/adapterManager/AddAdapterWarningModal.vue +82 -82
  145. package/components/common/adapterManager/NoActiveAdaptersModal.vue +62 -62
  146. package/components/common/adapterManager/NoConnectedActiveAdaptersModal.vue +62 -62
  147. package/components/common/adapterManager/lib/config/index.ts +19 -19
  148. package/components/common/adapterManager/ui/NoSelectedAdapter.vue +39 -39
  149. package/components/common/adapterManager/ui/SecondTitle.vue +37 -37
  150. package/components/common/adapterManager/ui/actions/ActionsBar.vue +93 -93
  151. package/components/common/adapterManager/ui/actions/AddAdapterButton.vue +28 -28
  152. package/components/common/adapterManager/ui/actions/MoveDownAdapterButton.vue +33 -33
  153. package/components/common/adapterManager/ui/actions/MoveUpAdapterButton.vue +33 -33
  154. package/components/common/adapterManager/ui/actions/RemoveAdapterButton.vue +34 -34
  155. package/components/common/adapterManager/ui/actions/VerticalSeparator.vue +10 -10
  156. package/components/common/adapterManager/ui/table/Adapters.vue +91 -91
  157. package/components/common/adapterManager/ui/table/Header.vue +89 -89
  158. package/components/common/adapterManager/ui/table/Table.vue +167 -167
  159. package/components/common/browse/Browse.vue +182 -182
  160. package/components/common/browse/blocks/Container.vue +102 -102
  161. package/components/common/browse/blocks/contents/Files.vue +68 -68
  162. package/components/common/browse/blocks/info/Date.vue +21 -21
  163. package/components/common/browse/blocks/info/Size.vue +17 -17
  164. package/components/common/browse/blocks/info/Text.vue +16 -16
  165. package/components/common/browse/blocks/lib/models/types.ts +1 -1
  166. package/components/common/browse/lib/models/interfaces.ts +5 -5
  167. package/components/common/context/Context.vue +97 -97
  168. package/components/common/context/ContextRecursion.vue +251 -251
  169. package/components/common/context/lib/Context.spec.ts +20 -20
  170. package/components/common/context/lib/ContextRecursion.spec.ts +55 -55
  171. package/components/common/context/lib/models/interfaces.ts +26 -26
  172. package/components/common/details/DetailsItem.vue +106 -106
  173. package/components/common/details/DetailsList.vue +23 -23
  174. package/components/common/details/lib/models/interfaces.ts +9 -9
  175. package/components/common/diagramMain/Diagram.vue +192 -192
  176. package/components/common/diagramMain/DiagramMain.vue +954 -954
  177. package/components/common/diagramMain/Header.vue +190 -190
  178. package/components/common/diagramMain/Highlights.vue +124 -124
  179. package/components/common/diagramMain/adapter/Adapter.vue +114 -114
  180. package/components/common/diagramMain/adapter/AdapterItem.vue +246 -246
  181. package/components/common/diagramMain/adapter/AdapterItems.vue +59 -59
  182. package/components/common/diagramMain/adapter/Block.vue +48 -48
  183. package/components/common/diagramMain/adapter/Contents.vue +110 -110
  184. package/components/common/diagramMain/adapter/Lines.vue +58 -58
  185. package/components/common/diagramMain/adapter/SecondBlock.vue +49 -49
  186. package/components/common/diagramMain/lib/config/index.ts +51 -51
  187. package/components/common/diagramMain/lib/config/initial.ts +38 -38
  188. package/components/common/diagramMain/lib/models/enums.ts +26 -26
  189. package/components/common/diagramMain/lib/models/interfaces.ts +564 -564
  190. package/components/common/diagramMain/lib/models/types.ts +8 -8
  191. package/components/common/diagramMain/lib/utils/utils.ts +218 -218
  192. package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +236 -236
  193. package/components/common/diagramMain/modals/editSettings/ConfirmTeamingSettingsModal.vue +41 -41
  194. package/components/common/diagramMain/modals/editSettings/EditSettings.vue +491 -491
  195. package/components/common/diagramMain/modals/editSettings/EditSettingsModal.vue +825 -825
  196. package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +211 -211
  197. package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +183 -183
  198. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +161 -161
  199. package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +166 -166
  200. package/components/common/diagramMain/modals/editSettings/tabs/TrafficShaping.vue +393 -393
  201. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +339 -339
  202. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +202 -202
  203. package/components/common/diagramMain/modals/lib/config/adapterModal.ts +111 -111
  204. package/components/common/diagramMain/modals/lib/config/diagramConfig.ts +17 -17
  205. package/components/common/diagramMain/modals/lib/config/index.ts +51 -51
  206. package/components/common/diagramMain/modals/lib/config/initial.ts +181 -181
  207. package/components/common/diagramMain/modals/lib/config/networkModal.ts +343 -343
  208. package/components/common/diagramMain/modals/lib/config/portModal.ts +209 -209
  209. package/components/common/diagramMain/modals/lib/config/switchModal.ts +172 -172
  210. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +34 -34
  211. package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +90 -90
  212. package/components/common/diagramMain/modals/lib/utils/index.ts +9 -9
  213. package/components/common/diagramMain/modals/migrateVmkernelAdapter/MigrateVmkernelAdapter.vue +531 -531
  214. package/components/common/diagramMain/modals/migrateVmkernelAdapter/lib/config/steps.ts +114 -114
  215. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/ConnectionSettings.vue +161 -161
  216. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/SelectVmkernelAdapter.vue +158 -158
  217. package/components/common/diagramMain/modals/migrateVmkernelAdapter/steps/VmkernelAdapterReadyComplete.vue +49 -49
  218. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +14 -14
  219. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/connectionSettings.ts +141 -141
  220. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/selectVmkernelAdapter.ts +52 -52
  221. package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
  222. package/components/common/diagramMain/modals/remove/RemoveModal.vue +226 -226
  223. package/components/common/diagramMain/modals/viewSettings/Info.vue +123 -123
  224. package/components/common/diagramMain/modals/viewSettings/ViewSettings.vue +171 -171
  225. package/components/common/diagramMain/modals/viewSettings/ViewSettingsModal.vue +93 -93
  226. package/components/common/diagramMain/network/Block.vue +62 -62
  227. package/components/common/diagramMain/network/Contents.vue +253 -253
  228. package/components/common/diagramMain/network/Lines.vue +71 -71
  229. package/components/common/diagramMain/network/Network.vue +124 -124
  230. package/components/common/diagramMain/network/NoNetwork.vue +53 -53
  231. package/components/common/diagramMain/network/SecondBlock.vue +58 -58
  232. package/components/common/diagramMain/port/Port.vue +320 -320
  233. package/components/common/diagramMain/port/Ports.vue +41 -41
  234. package/components/common/diagramMain/switch/Switch.vue +82 -82
  235. package/components/common/diagramMain/switch/SwitchSelected.vue +35 -35
  236. package/components/common/feedback/Buttons.vue +227 -227
  237. package/components/common/feedback/Feedback.vue +261 -261
  238. package/components/common/feedback/Message.vue +509 -509
  239. package/components/common/feedback/VisitPortal.vue +53 -53
  240. package/components/common/feedback/lib/config/drawingPanel.ts +31 -31
  241. package/components/common/feedback/lib/config/feedbackTabs.ts +24 -24
  242. package/components/common/feedback/lib/models/interfaces.ts +19 -19
  243. package/components/common/feedback/lib/models/types.ts +1 -1
  244. package/components/common/graph/Graph.vue +109 -109
  245. package/components/common/graph/lib/utils/renderGraph.ts +389 -389
  246. package/components/common/headline/Headline.vue +32 -32
  247. package/components/common/help/navbar/left/Left.vue +164 -164
  248. package/components/common/help/navbar/left/lib/models/interfaces.ts +6 -6
  249. package/components/common/help/navbar/left/lib/utils/constructAccordion.ts +27 -27
  250. package/components/common/help/navbar/right/Right.vue +139 -139
  251. package/components/common/help/navbar/right/lib/models/interfaces.ts +4 -4
  252. package/components/common/home/Card.vue +63 -63
  253. package/components/common/home/ResourceBlock.vue +117 -117
  254. package/components/common/home/StatusContent.vue +47 -47
  255. package/components/common/home/alertsTable/AlertsTable.vue +105 -105
  256. package/components/common/home/alertsTable/lib/config/config.ts +61 -61
  257. package/components/common/home/alertsTable/lib/models/enums.ts +11 -11
  258. package/components/common/home/alertsTable/lib/models/interfaces.ts +19 -19
  259. package/components/common/home/alertsTable/lib/models/types.ts +18 -18
  260. package/components/common/home/lib/config/configResourceMeterBlock.ts +25 -25
  261. package/components/common/home/lib/models/interfaces.ts +59 -59
  262. package/components/common/home/lib/models/types.ts +18 -18
  263. package/components/common/home/servicesTable/ServicesTable.vue +79 -79
  264. package/components/common/home/servicesTable/lib/config/config.ts +62 -62
  265. package/components/common/lib/config/states.ts +81 -81
  266. package/components/common/mainNavigationPanel/MainNavigationPanel.vue +359 -359
  267. package/components/common/mainNavigationPanel/lib/models/interfaces.ts +6 -6
  268. package/components/common/mainNavigationPanel/lib/models/types.ts +1 -1
  269. package/components/common/modals/Confirmation.vue +97 -97
  270. package/components/common/modals/Rename.vue +165 -165
  271. package/components/common/modals/lib/config/defaultForm.ts +18 -18
  272. package/components/common/modals/lib/config/renameLabelWidth.ts +3 -3
  273. package/components/common/modals/lib/models/interfaces.ts +5 -5
  274. package/components/common/monitor/advanced/Advanced.vue +243 -243
  275. package/components/common/monitor/advanced/GraphView.vue +180 -180
  276. package/components/common/monitor/advanced/lib/models/interfaces.ts +8 -8
  277. package/components/common/monitor/advanced/lib/models/types.ts +1 -1
  278. package/components/common/monitor/advanced/table/Table.vue +90 -90
  279. package/components/common/monitor/advanced/table/lib/config/performanceDatatable.ts +116 -116
  280. package/components/common/monitor/advanced/table/lib/models/interfaces.ts +12 -12
  281. package/components/common/monitor/advanced/table/lib/models/types.ts +10 -10
  282. package/components/common/monitor/advanced/tools/Tools.vue +436 -436
  283. package/components/common/monitor/advanced/tools/chartOptionsModal/ChartOptionsModal.vue +502 -502
  284. package/components/common/monitor/advanced/tools/chartOptionsModal/Notification.vue +33 -33
  285. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/Actions.vue +150 -150
  286. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/lib/utils/optionsActions.ts +25 -25
  287. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/saveOptionsModal/SaveOptionsModal.vue +76 -76
  288. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/Counters.vue +104 -104
  289. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/Table.vue +136 -136
  290. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/config/tableConfig.ts +71 -71
  291. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/config/utils.ts +689 -689
  292. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/models/interfaces.ts +28 -28
  293. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/models/types.ts +5 -5
  294. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/Timespan.vue +83 -83
  295. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/Form.vue +501 -501
  296. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/lib/config/dateForm.ts +59 -59
  297. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/Object.vue +197 -197
  298. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/lib/config/objectTable.ts +54 -54
  299. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/lib/models/interfaces.ts +4 -4
  300. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/lib/models/types.ts +1 -1
  301. package/components/common/monitor/advanced/tools/chartOptionsModal/lib/models/interfaces.ts +19 -19
  302. package/components/common/monitor/advanced/tools/chartOptionsModal/lib/models/types.ts +3 -3
  303. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/Metrics.vue +42 -42
  304. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/lib/config/optionsMetrics.ts +116 -116
  305. package/components/common/monitor/advanced/tools/lib/config/advancedToolbar.ts +125 -125
  306. package/components/common/monitor/advanced/tools/lib/models/interfaces.ts +4 -4
  307. package/components/common/monitor/advanced/tools/lib/utils/countCores.ts +7 -7
  308. package/components/common/monitor/lib/config/getValidDateByOption.ts +76 -76
  309. package/components/common/monitor/lib/models/interfaces.ts +23 -23
  310. package/components/common/monitor/overview/Overview.vue +470 -470
  311. package/components/common/monitor/overview/filters/Filters.vue +221 -221
  312. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +241 -241
  313. package/components/common/monitor/overview/filters/customIntervalModal/lib/config/dateChecker.ts +37 -37
  314. package/components/common/monitor/overview/filters/lib/config/filterOptions.ts +81 -81
  315. package/components/common/monitor/overview/filters/lib/models/interfaces.ts +7 -7
  316. package/components/common/monitor/overview/filters/lib/models/types.ts +3 -3
  317. package/components/common/perPage/PerPage.vue +51 -51
  318. package/components/common/recursionTree/RecursionTree.vue +4 -2
  319. package/components/common/recursionTree/lib/models/interfaces.ts +19 -19
  320. package/components/common/resource/lib/models/interfaces.ts +9 -9
  321. package/components/common/resource/lib/models/types.ts +1 -1
  322. package/components/common/resource/lib/utils.ts +33 -33
  323. package/components/common/resource/progressBlock/ProgressBlock.vue +105 -105
  324. package/components/common/resource/simple/Simple.vue +58 -58
  325. package/components/common/resource/simple/lib/models/enums.ts +5 -5
  326. package/components/common/select/button/ButtonDropdown.vue +100 -100
  327. package/components/common/select/button/lib/models/interfaces.ts +6 -6
  328. package/components/common/select/input/Input.vue +90 -90
  329. package/components/common/select/input/lib/models/interfaces.ts +5 -5
  330. package/components/common/select/radio/RadioGroup.vue +108 -108
  331. package/components/common/select/radio/lib/models/interfaces.ts +8 -8
  332. package/components/common/shortcuts/Block.vue +83 -83
  333. package/components/common/shortcuts/Category.vue +40 -40
  334. package/components/common/shortcuts/Shortcuts.vue +44 -44
  335. package/components/common/shortcuts/lib/models/interfaces.ts +10 -10
  336. package/components/common/spiceConsole/Drawer.vue +241 -241
  337. package/components/common/spiceConsole/SpiceConsole.vue +83 -83
  338. package/components/common/spiceConsole/keyboard/Keyboard.vue +402 -402
  339. package/components/common/spiceConsole/keyboard/lib/config/keyboardRows.ts +891 -891
  340. package/components/common/spiceConsole/keyboard/lib/models/interfaces.ts +17 -17
  341. package/components/common/spiceConsole/lib/models/types.ts +1 -1
  342. package/components/common/split/horizontal/Horizontal.vue +306 -306
  343. package/components/common/split/horizontal/lib/models/interfaces.ts +5 -5
  344. package/components/common/split/vertical/Vertical.vue +213 -213
  345. package/components/common/split/vertical/lib/models/interfaces.ts +3 -3
  346. package/components/common/tools/Actions.vue +167 -167
  347. package/components/common/tools/lib/models/interfaces.ts +6 -6
  348. package/components/common/tools/viewSettings/ViewSettings.vue +86 -86
  349. package/components/common/tools/viewSettings/lib/models/interfaces.ts +9 -9
  350. package/components/common/vm/actions/add/Add.vue +579 -579
  351. package/components/common/vm/actions/add/FolderTreeView.vue +83 -83
  352. package/components/common/vm/actions/add/lib/config/steps.ts +130 -130
  353. package/components/common/vm/actions/add/lib/utils.ts +102 -102
  354. package/components/common/vm/actions/clone/Clone.vue +545 -545
  355. package/components/common/vm/actions/clone/lib/models/interfaces.ts +7 -7
  356. package/components/common/vm/actions/clone/lib/utils.ts +43 -43
  357. package/components/common/vm/actions/clone/select/options/Options.vue +65 -65
  358. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +269 -269
  359. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareOld.vue +267 -267
  360. package/components/common/vm/actions/common/customizeHardware/lib/config/navItems.ts +19 -19
  361. package/components/common/vm/actions/common/customizeHardware/lib/models/interfaces.ts +7 -7
  362. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +681 -681
  363. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +203 -203
  364. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/lib/models/interfaces.ts +8 -8
  365. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +130 -130
  366. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/lib/config/options.ts +20 -20
  367. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +247 -247
  368. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/lib/config/fileTypes.ts +9 -9
  369. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/lib/config/options.ts +11 -11
  370. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/lib/models/types.ts +1 -1
  371. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +55 -55
  372. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CoresPerSocket.vue +109 -109
  373. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +394 -394
  374. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuHotPlug.vue +49 -49
  375. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuModel.vue +220 -220
  376. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Hv.vue +93 -93
  377. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Iommu.vue +54 -54
  378. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/MaxCpu.vue +105 -105
  379. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Pc.vue +54 -54
  380. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Sa.vue +104 -104
  381. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/lib/config/cpuOptions.ts +19 -19
  382. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +155 -155
  383. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  384. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/tooltip/Tooltip.vue +58 -58
  385. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/config/binaryOptions.ts +12 -12
  386. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/config/dropdownItems.ts +52 -52
  387. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/interfaces.ts +125 -125
  388. package/components/common/vm/actions/common/customizeHardware/virtualHardware/lib/models/types.ts +4 -4
  389. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +234 -234
  390. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/lib/config/options.ts +28 -28
  391. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +316 -316
  392. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryHotPlug.vue +53 -53
  393. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/lib/config/memoryOptions.ts +35 -35
  394. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/DiskFile.vue +24 -24
  395. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/Location.vue +171 -171
  396. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/MaximumSize.vue +27 -27
  397. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +447 -447
  398. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/cache/Cache.vue +80 -80
  399. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/cache/lib/config/options.ts +7 -7
  400. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/limitIops/LimitIops.vue +151 -151
  401. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/limitIops/lib/config/options.ts +28 -28
  402. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/Mode.vue +87 -87
  403. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/lib/config/options.ts +18 -18
  404. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/provisioning/Provisioning.vue +87 -87
  405. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/provisioning/lib/config/options.ts +15 -15
  406. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/Sharing.vue +85 -85
  407. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/lib/config/options.ts +12 -12
  408. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/Location.vue +141 -141
  409. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +288 -288
  410. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/adapterType/AdapterType.vue +86 -86
  411. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/adapterType/lib/config/options.ts +9 -9
  412. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +140 -140
  413. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/lib/config/options.ts +11 -11
  414. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +157 -157
  415. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIo.vue +44 -44
  416. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +49 -49
  417. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/lib/config/options.ts +10 -10
  418. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/lib/config/options.ts +7 -7
  419. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +27 -27
  420. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +41 -41
  421. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelection.vue +56 -56
  422. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +77 -77
  423. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/lib/config/options.ts +6 -6
  424. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/InputDevices.vue +21 -21
  425. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +27 -27
  426. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/Reservation.vue +235 -235
  427. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/lib/config/options.ts +33 -33
  428. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/Graphics.vue +45 -45
  429. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/TotalVideoMemory.vue +120 -120
  430. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +177 -177
  431. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/lib/config/options.ts +11 -11
  432. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/model/Model.vue +57 -57
  433. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/model/lib/config/options.ts +10 -10
  434. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +82 -82
  435. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/lib/config/options.ts +14 -14
  436. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +181 -181
  437. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptions.vue +110 -110
  438. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/Menu.vue +45 -45
  439. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/Secure.vue +45 -45
  440. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +50 -50
  441. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/lib/config/config.ts +14 -14
  442. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +83 -83
  443. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/lib/config/config.ts +11 -11
  444. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +197 -197
  445. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/lib/models/interfaces.ts +8 -8
  446. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +181 -181
  447. package/components/common/vm/actions/common/customizeHardware/vmoptions/lib/models/interfaces.ts +34 -34
  448. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/CopyPaste.vue +51 -51
  449. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/FileTransfer.vue +51 -51
  450. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/FolderSharing.vue +50 -50
  451. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/PlaybackCompression.vue +51 -51
  452. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/PowerControl.vue +49 -49
  453. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/RemoteConsoleOptions.vue +253 -253
  454. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/ImgCompression.vue +84 -84
  455. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/lib/config/config.ts +14 -14
  456. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/JpegCompression.vue +84 -84
  457. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/lib/config/config.ts +12 -12
  458. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +55 -55
  459. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/lib/config/config.ts +6 -6
  460. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/mouseMode/MouseMode.vue +52 -52
  461. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/mouseMode/lib/config/config.ts +11 -11
  462. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +136 -136
  463. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/lib/models/interfaces.ts +5 -5
  464. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/lib/utils.ts +12 -12
  465. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/sharePolicy/SharePolicy.vue +52 -52
  466. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/sharePolicy/lib/config/config.ts +11 -11
  467. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/StreamingMode.vue +84 -84
  468. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/lib/config/config.ts +12 -12
  469. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/type/Type.vue +84 -84
  470. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/type/lib/config/config.ts +7 -7
  471. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +56 -56
  472. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/lib/config/config.ts +14 -14
  473. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/ZlibCompression.vue +84 -84
  474. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/lib/config/config.ts +12 -12
  475. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/Tools.vue +63 -63
  476. package/components/common/vm/actions/common/lib/config/capabilities.ts +339 -339
  477. package/components/common/vm/actions/common/lib/models/enums.ts +89 -89
  478. package/components/common/vm/actions/common/lib/models/interfaces.ts +139 -139
  479. package/components/common/vm/actions/common/lib/models/types.ts +65 -65
  480. package/components/common/vm/actions/common/readyToComplete/ReadyToComplete.vue +15 -15
  481. package/components/common/vm/actions/common/select/compatibility/Compatibility.vue +151 -151
  482. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +170 -170
  483. package/components/common/vm/actions/common/select/computeResource/TreeView.vue +126 -126
  484. package/components/common/vm/actions/common/select/computeResource/lib/ComputeResource.spec.ts +479 -479
  485. package/components/common/vm/actions/common/select/createType/CreateType.vue +61 -61
  486. package/components/common/vm/actions/common/select/createType/lib/config/items.ts +26 -26
  487. package/components/common/vm/actions/common/select/lib/models/interfaces.ts +32 -32
  488. package/components/common/vm/actions/common/select/lib/models/types.ts +46 -46
  489. package/components/common/vm/actions/common/select/name/Name.vue +220 -220
  490. package/components/common/vm/actions/common/select/name/NameOld.vue +215 -215
  491. package/components/common/vm/actions/common/select/os/os.vue +221 -221
  492. package/components/common/vm/actions/common/select/storage/Storage.vue +196 -196
  493. package/components/common/vm/actions/common/select/storage/StorageOld.vue +194 -194
  494. package/components/common/vm/actions/common/select/storage/lib/config/config.ts +154 -154
  495. package/components/common/vm/actions/common/select/storage/lib/models/types.ts +15 -15
  496. package/components/common/vm/actions/editSettings/EditSettings.vue +316 -316
  497. package/components/common/vm/actions/editSettings/lib/models/types.ts +23 -23
  498. package/components/common/vm/actions/editSettings/lib/utils.ts +45 -45
  499. package/components/common/vm/actions/lib/models/interfaces.ts +6 -6
  500. package/components/common/vm/actions/lib/models/types.ts +11 -11
  501. package/components/common/vm/actions/lib/utils.ts +244 -244
  502. package/components/common/vm/lib/models/interfaces.ts +9 -9
  503. package/components/common/vm/lib/utils/powerActions.ts +55 -55
  504. package/components/common/wizards/datastore/add/Add.vue +383 -383
  505. package/components/common/wizards/datastore/add/lib/config/stepItems.ts +160 -160
  506. package/components/common/wizards/datastore/add/lib/models/interfaces.ts +35 -35
  507. package/components/common/wizards/datastore/add/lib/models/types.ts +14 -14
  508. package/components/common/wizards/datastore/add/lib/utils.ts +67 -67
  509. package/components/common/wizards/datastore/add/local/Local.vue +67 -67
  510. package/components/common/wizards/datastore/add/local/createName/CreateName.vue +159 -159
  511. package/components/common/wizards/datastore/add/local/createName/lib/config/defaultForm.ts +15 -15
  512. package/components/common/wizards/datastore/add/nfs/Nfs.vue +94 -94
  513. package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +95 -95
  514. package/components/common/wizards/datastore/add/nfs/accessibility/lib/config/tabsPannel.ts +24 -24
  515. package/components/common/wizards/datastore/add/nfs/accessibility/lib/models/interfaces.ts +9 -9
  516. package/components/common/wizards/datastore/add/nfs/accessibility/lib/models/types.ts +5 -5
  517. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/TablesView.vue +141 -141
  518. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/compatibleTable.ts +54 -54
  519. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/hostsTableItems.ts +75 -75
  520. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/incompatibleTable.ts +68 -68
  521. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/lib/config/tableKeys.ts +15 -15
  522. package/components/common/wizards/datastore/add/nfs/configuration/Configuration.vue +377 -377
  523. package/components/common/wizards/datastore/add/nfs/configuration/lib/config/defaultForm.ts +33 -33
  524. package/components/common/wizards/datastore/add/nfs/configuration/lib/models/interfaces.ts +12 -12
  525. package/components/common/wizards/datastore/add/nfs/configuration/serversList/DeletePopover.vue +97 -97
  526. package/components/common/wizards/datastore/add/nfs/configuration/serversList/ServersList.vue +123 -123
  527. package/components/common/wizards/datastore/add/nfs/configuration/serversList/lib/config/serversListConfig.ts +41 -41
  528. package/components/common/wizards/datastore/add/nfs/configuration/serversList/lib/config/tableKeys.ts +3 -3
  529. package/components/common/wizards/datastore/add/nfs/configuration/serversList/lib/models/interfaces.ts +11 -11
  530. package/components/common/wizards/datastore/add/nfs/configuration/serversList/lib/models/types.ts +1 -1
  531. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/KerberosAuthentication.vue +54 -54
  532. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/lib/config/radioOptions.ts +24 -24
  533. package/components/common/wizards/datastore/add/nfs/version/Version.vue +42 -42
  534. package/components/common/wizards/datastore/add/nfs/version/lib/config/versionOptions.ts +20 -20
  535. package/components/common/wizards/datastore/add/readyComplete/ReadyComplete.vue +78 -78
  536. package/components/common/wizards/datastore/add/readyComplete/lib/config/propertiesDetails.ts +165 -165
  537. package/components/common/wizards/datastore/add/readyComplete/lib/models/interfaces.ts +4 -4
  538. package/components/common/wizards/datastore/add/sharedStorm/SharedStorm.vue +85 -85
  539. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/DeviceSelection.vue +447 -447
  540. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/HostTable.vue +131 -131
  541. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/lib/config/hostsTable.ts +87 -87
  542. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/lib/config/tableKeys.ts +11 -11
  543. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/config/defaultForm.ts +18 -18
  544. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/config/selectOptions.ts +14 -14
  545. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/models/interfaces.ts +55 -55
  546. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/lib/models/types.ts +14 -14
  547. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/PartitionConfiguration.vue +230 -230
  548. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/graphicTooltip/graphicTooltip.vue +64 -64
  549. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/lib/config/selectOptions.ts +46 -46
  550. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/sizeGraphic/sizeGraphic.vue +225 -225
  551. package/components/common/wizards/datastore/add/sharedStorm/version/Version.vue +39 -39
  552. package/components/common/wizards/datastore/add/sharedStorm/version/lib/config/versionOptions.ts +21 -21
  553. package/components/common/wizards/datastore/add/types/Types.vue +77 -77
  554. package/components/common/wizards/datastore/add/types/lib/config/typeOptions.ts +39 -39
  555. package/components/common/wizards/network/add/Add.vue +880 -880
  556. package/components/common/wizards/network/add/lib/config/index.ts +33 -33
  557. package/components/common/wizards/network/add/lib/config/initialData.ts +63 -63
  558. package/components/common/wizards/network/add/lib/config/portPropertiesStep.ts +31 -31
  559. package/components/common/wizards/network/add/lib/config/selectSwitch.ts +19 -19
  560. package/components/common/wizards/network/add/lib/config/sendData.ts +102 -102
  561. package/components/common/wizards/network/add/lib/config/steps.ts +485 -485
  562. package/components/common/wizards/network/add/lib/models/enums.ts +17 -17
  563. package/components/common/wizards/network/add/lib/models/interfaces.ts +201 -201
  564. package/components/common/wizards/network/add/lib/models/types.ts +2 -2
  565. package/components/common/wizards/network/add/lib/utils/index.ts +4 -4
  566. package/components/common/wizards/network/add/mappers/mappers.ts +166 -166
  567. package/components/common/wizards/network/add/modals/SelectNetwork.vue +149 -149
  568. package/components/common/wizards/network/add/modals/SelectStandardSwitch.vue +125 -125
  569. package/components/common/wizards/network/add/modals/SelectSwitch.vue +114 -114
  570. package/components/common/wizards/network/add/steps/ConnectionSettings.vue +148 -148
  571. package/components/common/wizards/network/add/steps/CreateStandardSwitch.vue +84 -84
  572. package/components/common/wizards/network/add/steps/IpFourSettings.vue +245 -245
  573. package/components/common/wizards/network/add/steps/PhysicalAdapter.vue +13 -13
  574. package/components/common/wizards/network/add/steps/PortProperties.vue +369 -369
  575. package/components/common/wizards/network/add/steps/ReadyComplete.vue +20 -20
  576. package/components/common/wizards/network/add/steps/SelectConnectionType.vue +99 -99
  577. package/components/common/wizards/network/add/steps/SelectedTargetDevice.vue +451 -451
  578. package/components/common/wizards/network/add/validations/common.ts +26 -26
  579. package/components/common/wizards/network/add/validations/connectionSettings.ts +70 -70
  580. package/components/common/wizards/network/add/validations/createStandardSwitch.ts +58 -58
  581. package/components/common/wizards/network/add/validations/ipFourSettings.ts +182 -182
  582. package/components/common/wizards/network/add/validations/networkValidation.ts +81 -81
  583. package/components/common/wizards/network/add/validations/portProperties.ts +83 -83
  584. package/components/common/wizards/network/add/validations/targetDevice.ts +109 -109
  585. package/components/common/wizards/network/add/validations/validations.ts +43 -43
  586. package/components/common/wizards/vm/common/computeResource/TreeView.vue +61 -61
  587. package/components/common/wizards/vm/common/readyComplete/ReadyComplete.vue +15 -15
  588. package/components/common/wizards/vm/common/tooltip/Tooltip.vue +82 -82
  589. package/components/common/wizards/vm/common/validation/compatibility/Compatibility.vue +62 -62
  590. package/components/common/wizards/vm/common/validation/lib/models/enums.ts +5 -5
  591. package/components/common/wizards/vm/migrate/Migrate.vue +270 -270
  592. package/components/common/wizards/vm/migrate/contentHeading/ContentHeading.vue +106 -106
  593. package/components/common/wizards/vm/migrate/contentHeading/lib/models/interfaces.ts +7 -7
  594. package/components/common/wizards/vm/migrate/lib/config/constructDataReady.ts +100 -100
  595. package/components/common/wizards/vm/migrate/lib/models/enums.ts +6 -6
  596. package/components/common/wizards/vm/migrate/lib/models/interfaces.ts +24 -24
  597. package/components/common/wizards/vm/migrate/lib/models/types.ts +5 -5
  598. package/components/common/wizards/vm/migrate/lib/utils.ts +80 -80
  599. package/components/common/wizards/vm/migrate/select/computeResource/ComputeResource.vue +219 -219
  600. package/components/common/wizards/vm/migrate/select/computeResource/lib/config/tabsPannel.ts +28 -28
  601. package/components/common/wizards/vm/migrate/select/computeResource/lib/models/enums.ts +6 -6
  602. package/components/common/wizards/vm/migrate/select/computeResource/lib/models/interfaces.ts +30 -30
  603. package/components/common/wizards/vm/migrate/select/computeResource/lib/models/types.ts +12 -12
  604. package/components/common/wizards/vm/migrate/select/computeResource/tableView/TableView.vue +142 -142
  605. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/config/clusterTable.ts +113 -113
  606. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/config/hostTable.ts +124 -124
  607. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/config/resourcePoolTable.ts +115 -115
  608. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/config/tableKeys.ts +65 -65
  609. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/config/vappsTable.ts +66 -66
  610. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/models/interfaces.ts +50 -50
  611. package/components/common/wizards/vm/migrate/select/computeResource/tableView/lib/models/types.ts +60 -60
  612. package/components/common/wizards/vm/migrate/select/network/Network.vue +51 -51
  613. package/components/common/wizards/vm/migrate/select/network/table/disk/Disk.vue +84 -84
  614. package/components/common/wizards/vm/migrate/select/network/table/disk/lib/config/advancedTable.ts +77 -77
  615. package/components/common/wizards/vm/migrate/select/network/table/disk/lib/config/basicTable.ts +71 -71
  616. package/components/common/wizards/vm/migrate/select/network/table/disk/lib/config/tableKeys.ts +10 -10
  617. package/components/common/wizards/vm/migrate/select/network/table/disk/lib/models/interfaces.ts +1 -1
  618. package/components/common/wizards/vm/migrate/select/network/table/disk/lib/models/types.ts +12 -12
  619. package/components/common/wizards/vm/migrate/select/priority/Priority.vue +39 -39
  620. package/components/common/wizards/vm/migrate/select/priority/lib/config/typeOptions.ts +21 -21
  621. package/components/common/wizards/vm/migrate/select/priority/lib/models/types.ts +1 -1
  622. package/components/common/wizards/vm/migrate/select/storage/Storage.vue +202 -202
  623. package/components/common/wizards/vm/migrate/select/storage/configure/batch/Batch.vue +76 -76
  624. package/components/common/wizards/vm/migrate/select/storage/configure/disk/Disk.vue +86 -86
  625. package/components/common/wizards/vm/migrate/select/storage/diskFormat/DiskFormat.vue +68 -68
  626. package/components/common/wizards/vm/migrate/select/storage/diskFormat/lib/config/formatOptions.ts +26 -26
  627. package/components/common/wizards/vm/migrate/select/storage/lib/config/tabsPannel.ts +18 -18
  628. package/components/common/wizards/vm/migrate/select/storage/lib/models/enums.ts +6 -6
  629. package/components/common/wizards/vm/migrate/select/storage/lib/models/interfaces.ts +14 -14
  630. package/components/common/wizards/vm/migrate/select/storage/lib/models/types.ts +9 -9
  631. package/components/common/wizards/vm/migrate/select/storage/policy/Policy.vue +83 -83
  632. package/components/common/wizards/vm/migrate/select/storage/selectedPerDisk/SelectedPerDisk.vue +87 -87
  633. package/components/common/wizards/vm/migrate/select/storage/table/datastore/Datastore.vue +113 -113
  634. package/components/common/wizards/vm/migrate/select/storage/table/datastore/lib/config/config.ts +154 -154
  635. package/components/common/wizards/vm/migrate/select/storage/table/datastore/lib/models/types.ts +15 -15
  636. package/components/common/wizards/vm/migrate/select/storage/table/disk/Disk.vue +84 -84
  637. package/components/common/wizards/vm/migrate/select/storage/table/disk/lib/config/config.ts +123 -123
  638. package/components/common/wizards/vm/migrate/select/storage/table/disk/lib/config/tableKeys.ts +15 -15
  639. package/components/common/wizards/vm/migrate/select/storage/table/disk/lib/models/interfaces.ts +24 -24
  640. package/components/common/wizards/vm/migrate/select/storage/table/disk/lib/models/types.ts +13 -13
  641. package/components/common/wizards/vm/migrate/select/targetServer/lib/config/tabsPannel.ts +18 -18
  642. package/components/common/wizards/vm/migrate/select/targetServer/lib/models/types.ts +1 -1
  643. package/components/common/wizards/vm/migrate/select/targetServer/new/New.vue +287 -287
  644. package/components/common/wizards/vm/migrate/select/targetServer/new/lib/config/defaultForm.ts +33 -33
  645. package/components/common/wizards/vm/migrate/select/targetServer/saved/Saved.vue +27 -27
  646. package/components/common/wizards/vm/migrate/select/targetServer/targetServer.vue +41 -41
  647. package/components/common/wizards/vm/migrate/select/type/Type.vue +38 -38
  648. package/components/common/wizards/vm/migrate/select/type/lib/config/typeOptions.ts +41 -41
  649. package/components/common/wizards/vm/migrate/select/type/lib/models/interfaces.ts +5 -5
  650. package/components/content/Hint.vue +24 -24
  651. package/components/layout/theHeader/lib/models/enums.ts +9 -9
  652. package/components/layout/theHeader/lib/utils/localization.ts +32 -32
  653. package/components/lib/models/interfaces.ts +14 -14
  654. package/composables/deepCopy.ts +21 -21
  655. package/composables/useDiff.ts +15 -15
  656. package/composables/useLocalStorage.ts +45 -45
  657. package/composables/useThrottle.ts +32 -32
  658. package/composables/useUniqueId.ts +5 -5
  659. package/eslint/index.js +15 -15
  660. package/eslint/no-import-type.js +17 -17
  661. package/eslint/no-invalid-type-prefix.js +32 -32
  662. package/lib/config/regExp.ts +13 -13
  663. package/lib/models/composables/useMyFetch/interfaces.ts +25 -25
  664. package/lib/models/composables/useMyFetch/types.ts +1 -1
  665. package/lib/models/enums.ts +21 -21
  666. package/lib/models/interfaces.ts +50 -50
  667. package/lib/models/plugins/date/interfaces.ts +5 -5
  668. package/lib/models/plugins/date/types.ts +1 -1
  669. package/lib/models/plugins/validation/interfaces.ts +21 -21
  670. package/lib/models/plugins/validation/types.ts +1 -1
  671. package/lib/models/store/host/interfaces.ts +38 -38
  672. package/lib/models/store/interfaces.ts +37 -37
  673. package/lib/models/store/network/interfaces.ts +13 -13
  674. package/lib/models/store/storage/interfaces.ts +32 -32
  675. package/lib/models/store/types.ts +43 -43
  676. package/lib/models/store/vm/interfaces.ts +213 -213
  677. package/lib/models/types.ts +15 -15
  678. package/lib/utils/base64.ts +34 -34
  679. package/lib/utils/contentBuild.ts +34 -34
  680. package/lib/utils/notification.ts +22 -22
  681. package/lib/utils/sendTask.ts +77 -77
  682. package/modules/fixContentBuild/index.ts +92 -92
  683. package/modules/fixContentBuild/lib/utils/methods.ts +114 -114
  684. package/modules/fixSpiceConsoleBuild/index.ts +28 -28
  685. package/modules/replaceEnv/index.ts +40 -40
  686. package/nuxt.config.ts +8 -8
  687. package/package.json +41 -41
  688. package/plugins/binary.ts +122 -122
  689. package/plugins/date.ts +179 -179
  690. package/plugins/recursion.ts +230 -230
  691. package/plugins/spice-console/spice.console.ts +18 -18
  692. package/plugins/text.ts +48 -48
  693. package/plugins/validation.ts +172 -172
  694. package/public/spice-console/application/WorkerProcess.js +3350 -3350
  695. package/public/spice-console/application/WorkerProcess_back.js +3144 -3144
  696. package/public/spice-console/application/WorkerProcess_meta.js +3103 -3103
  697. package/public/spice-console/application/WorkerProcess_reverse.js +3214 -3214
  698. package/public/spice-console/application/agent.js +175 -175
  699. package/public/spice-console/application/application.js +641 -641
  700. package/public/spice-console/application/checkActivity.js +50 -50
  701. package/public/spice-console/application/clientgui.js +842 -842
  702. package/public/spice-console/application/clipboard/clipboarddataparser.js +92 -92
  703. package/public/spice-console/application/clipboard/local/localClipboard.js +110 -110
  704. package/public/spice-console/application/clipboard.js +82 -82
  705. package/public/spice-console/application/imagecache.js +81 -81
  706. package/public/spice-console/application/inputmanager.js +270 -270
  707. package/public/spice-console/application/packetfactory.js +202 -202
  708. package/public/spice-console/application/packetfilter.js +103 -103
  709. package/public/spice-console/application/packetprocess.js +75 -75
  710. package/public/spice-console/application/rasteroperation.js +118 -118
  711. package/public/spice-console/application/spiceconnection.js +197 -197
  712. package/public/spice-console/application/stream.js +67 -67
  713. package/public/spice-console/application/virtualmouse.js +109 -109
  714. package/public/spice-console/keymaps/keyevent.js +36 -36
  715. package/public/spice-console/keymaps/keymap.js +229 -229
  716. package/public/spice-console/keymaps/keymapes.js +375 -375
  717. package/public/spice-console/keymaps/keymapesObj.js +316 -316
  718. package/public/spice-console/keymaps/keymapus.js +317 -317
  719. package/public/spice-console/keymaps/scanCodeObjModifier.js +65 -65
  720. package/public/spice-console/keymaps/scanCodeObjProvider.js +60 -60
  721. package/public/spice-console/lib/AsyncConsumer.js +204 -204
  722. package/public/spice-console/lib/AsyncWorker.js +60 -60
  723. package/public/spice-console/lib/CollisionDetector.js +27 -27
  724. package/public/spice-console/lib/DataLogger.js +197 -197
  725. package/public/spice-console/lib/GenericObjectPool.js +152 -152
  726. package/public/spice-console/lib/GlobalPool.js +114 -114
  727. package/public/spice-console/lib/ImageUncompressor.js +138 -138
  728. package/public/spice-console/lib/IntegrationBenchmark.js +64 -64
  729. package/public/spice-console/lib/PacketWorkerIdentifier.js +107 -107
  730. package/public/spice-console/lib/SyncAsyncHandler.js +46 -46
  731. package/public/spice-console/lib/base64.js +298 -298
  732. package/public/spice-console/lib/biginteger.js +1640 -1640
  733. package/public/spice-console/lib/bowser.js +276 -276
  734. package/public/spice-console/lib/decoder/dixie.js +7930 -7930
  735. package/public/spice-console/lib/decoder/jmuxer.js +2815 -2815
  736. package/public/spice-console/lib/displayRouter.js +83 -83
  737. package/public/spice-console/lib/encrypt.js +191 -191
  738. package/public/spice-console/lib/flipper.js +39 -39
  739. package/public/spice-console/lib/graphic.js +1230 -1230
  740. package/public/spice-console/lib/graphicdebug.js +223 -223
  741. package/public/spice-console/lib/images/bitmap.js +194 -194
  742. package/public/spice-console/lib/images/jsquic_family.js +83 -83
  743. package/public/spice-console/lib/images/jsquic_rgba.js +342 -342
  744. package/public/spice-console/lib/images/jsquic_uncompress.js +529 -529
  745. package/public/spice-console/lib/images/lz.js +717 -717
  746. package/public/spice-console/lib/images/png.js +275 -275
  747. package/public/spice-console/lib/jgestures.min.js +43 -43
  748. package/public/spice-console/lib/jquery-2.0.3.js +8829 -8829
  749. package/public/spice-console/lib/jquery-mousewheel.js +83 -83
  750. package/public/spice-console/lib/jquery-visibility.min.js +1 -1
  751. package/public/spice-console/lib/jsbn.js +578 -578
  752. package/public/spice-console/lib/jsbn2.js +675 -675
  753. package/public/spice-console/lib/lodash.4.0.0.min.js +136 -136
  754. package/public/spice-console/lib/modernizr.js +39 -39
  755. package/public/spice-console/lib/pixastic.js +3244 -3244
  756. package/public/spice-console/lib/prettyprint.js +794 -794
  757. package/public/spice-console/lib/prng4.js +64 -64
  758. package/public/spice-console/lib/queue.js +259 -259
  759. package/public/spice-console/lib/rng.js +87 -87
  760. package/public/spice-console/lib/runqueue.js +103 -103
  761. package/public/spice-console/lib/sha1.js +124 -124
  762. package/public/spice-console/lib/stuckkeyshandler.js +122 -122
  763. package/public/spice-console/lib/timelapsedetector.js +62 -62
  764. package/public/spice-console/lib/utils.js +327 -327
  765. package/public/spice-console/lib/virtualjoystick.js +370 -370
  766. package/public/spice-console/network/busconnection.js +195 -195
  767. package/public/spice-console/network/clusternodechooser.js +49 -49
  768. package/public/spice-console/network/connectioncontrol.js +60 -60
  769. package/public/spice-console/network/packetcontroller.js +62 -62
  770. package/public/spice-console/network/packetextractor.js +73 -73
  771. package/public/spice-console/network/packetlinkfactory.js +64 -64
  772. package/public/spice-console/network/packetreassembler.js +77 -77
  773. package/public/spice-console/network/reassemblerfactory.js +39 -39
  774. package/public/spice-console/network/sizedefiner.js +86 -86
  775. package/public/spice-console/network/socket.js +120 -120
  776. package/public/spice-console/network/socketqueue.js +95 -95
  777. package/public/spice-console/network/websocketwrapper.js +75 -75
  778. package/public/spice-console/process/busprocess.js +309 -309
  779. package/public/spice-console/process/cursorprocess.js +110 -110
  780. package/public/spice-console/process/displaypreprocess.js +152 -152
  781. package/public/spice-console/process/displayprocess.js +210 -210
  782. package/public/spice-console/process/inputprocess.js +203 -203
  783. package/public/spice-console/process/mainprocess.js +78 -78
  784. package/public/spice-console/process/playbackprocess.js +233 -233
  785. package/public/spice-console/run.js +180 -180
  786. package/public/spice-console/spiceobjects/generated/protocol.js +537 -537
  787. package/public/spice-console/spiceobjects/spiceobjects.js +3474 -3474
  788. package/public/spice-console/swcanvas/swcanvas.js +82 -82
  789. package/public/spice-console/tools/generate.php +269 -269
  790. package/public/spice-console/tools/generateKeyboardLayout.php +63 -63
  791. package/public/spice-console/tools/generateSpiceObject.php +81 -81
  792. package/tsconfig.json +4 -4
@@ -1,612 +1,612 @@
1
- <template>
2
- <div class="container-datepicker">
3
- <atoms-the-icon
4
- name="calendar"
5
- :class="[`btn-show-calendar calendar-id-${uniqueId}`]"
6
- @click.stop="showHideCalendar"
7
- />
8
- <div
9
- v-show="isShowCalendar"
10
- class="the-datepicer"
11
- :style="[{ top: calendarTop + 'px' }, { left: calendarLeft + 'px' }]"
12
- @click.stop
13
- >
14
- <div v-show="showAllMonths" class="content-month">
15
- <div class="all-months">
16
- <div
17
- v-for="(item, key) in allMonths"
18
- :key="key"
19
- :class="['calendar-btn', item.class]"
20
- @click="selectMonth(key)"
21
- >
22
- {{ item.text }}
23
- </div>
24
- </div>
25
- </div>
26
- <div v-show="showAllYears" class="content-years">
27
- <div class="content-buttons-arrow">
28
- <button
29
- :id="`${props.testId}-prev-button`"
30
- class="calendar-btn"
31
- title="Previous decade"
32
- @click="prevYear"
33
- >
34
- <atoms-the-icon
35
- name="arrow"
36
- fill="#0095d3"
37
- class="arrow-btn prev"
38
- />
39
- </button>
40
- <button
41
- :id="`${props.testId}-current-year-button`"
42
- class="calendar-btn set-current-data"
43
- title="Current decade"
44
- @click="setCurrentYear"
45
- >
46
- <atoms-the-icon name="calendar-current-date" class="current-btn" />
47
- </button>
48
- <button
49
- :id="`${props.testId}-next-button`"
50
- class="calendar-btn"
51
- title="Next decade"
52
- @click="nextYear"
53
- >
54
- <atoms-the-icon
55
- name="arrow"
56
- fill="#0095d3"
57
- class="arrow-btn next"
58
- />
59
- </button>
60
- </div>
61
- <div class="all-years">
62
- <div
63
- v-for="(item, key) in allYears"
64
- :key="key"
65
- :class="['calendar-btn', item.class]"
66
- @click="selectYear(item.text)"
67
- >
68
- {{ item.text }}
69
- </div>
70
- </div>
71
- </div>
72
- <div v-if="!showAllMonths && !showAllYears" class="main-content">
73
- <div class="the-month">
74
- <div class="date top-menu">
75
- <button
76
- :id="`${props.testId}-current-month-button`"
77
- class="calendar-btn show-all-months"
78
- title="Select Month"
79
- @click="showAllMonths = true"
80
- >
81
- {{ currentMonth }}
82
- </button>
83
- <button
84
- :id="`${props.testId}-current-year-button`"
85
- class="calendar-btn current-year"
86
- title="Select Year"
87
- @click="showAllYears = true"
88
- >
89
- {{ currentYear }}
90
- </button>
91
- </div>
92
- <div class="content-buttons-arrow">
93
- <button
94
- :id="`${props.testId}-prev-month-button`"
95
- class="calendar-btn"
96
- title="Previous Month"
97
- @click="prevMonth"
98
- >
99
- <atoms-the-icon
100
- name="arrow"
101
- fill="#0095d3"
102
- class="arrow-btn prev"
103
- />
104
- </button>
105
- <button
106
- :id="`${props.testId}-current-date-button`"
107
- class="calendar-btn set-current-data"
108
- title="Current Month"
109
- @click="setCurrentDate"
110
- >
111
- <atoms-the-icon
112
- name="calendar-current-date"
113
- class="current-btn"
114
- />
115
- </button>
116
- <button
117
- :id="`${props.testId}-next-month-icon`"
118
- class="calendar-btn"
119
- title="Next Month"
120
- @click="nextMonth"
121
- >
122
- <atoms-the-icon
123
- name="arrow"
124
- fill="#0095d3"
125
- class="arrow-btn next"
126
- />
127
- </button>
128
- </div>
129
- </div>
130
- <div class="bottom-panel">
131
- <div class="weekdays">
132
- <div v-for="(item, key) in weekdays" :key="key">{{ item }}</div>
133
- </div>
134
- <div class="days">
135
- <div
136
- v-for="(item, key) in days"
137
- :key="key"
138
- :class="['item-day', item.class]"
139
- @click="selectDay(item.text, item.class)"
140
- >
141
- {{ item.text }}
142
- </div>
143
- </div>
144
- </div>
145
- </div>
146
- </div>
147
- </div>
148
- </template>
149
-
150
- <script setup lang="ts">
151
- import { UI_I_Localization } from '~/lib/models/interfaces'
152
- import { UI_I_Items } from '~/components/atoms/datepicker/lib/models/interfaces'
153
- import {
154
- getMonthsFunc,
155
- getWeekdaysFunc,
156
- } from '~/components/atoms/datepicker/lib/config/datapicker'
157
- import { getShortMonths } from '~/components/atoms/datepicker/lib/config/allShortMonths'
158
-
159
- const { $isDate } = useNuxtApp()
160
-
161
- const localization = computed<UI_I_Localization>(() => useLocal())
162
-
163
- const props = withDefaults(
164
- defineProps<{
165
- modelValue: number
166
- lang: string
167
- testId?: string
168
- }>(),
169
- { testId: 'ui-datepicker' }
170
- )
171
- const emits = defineEmits<{
172
- (event: 'update:model-value', value: number): void
173
- (event: 'update', value: number): void
174
- }>()
175
-
176
- const interfaceLang = computed<string>(() => props.lang)
177
-
178
- let isEnabledEmit = false
179
- const checkingDate = computed<Date>({
180
- get() {
181
- return new Date(props.modelValue)
182
- },
183
- set(newValue) {
184
- if (isEnabledEmit) {
185
- const newDate = new Date(newValue).getTime()
186
- emits('update:model-value', newDate)
187
- emits('update', newDate)
188
- isEnabledEmit = false
189
- if ($isDate(newValue.toString())) {
190
- renderCalendar()
191
- }
192
- }
193
- },
194
- })
195
-
196
- const currentYear = ref<number>()
197
- const currentMonth = ref<string>()
198
- const showAllYears = ref<boolean>(false)
199
- const showAllMonths = ref<boolean>(false)
200
- const selectedMonth = ref<number>(new Date().getMonth())
201
-
202
- const days = ref<UI_I_Items[]>([])
203
- const months = computed<string[]>(() => getMonthsFunc(localization.value))
204
- const weekdays = computed<string[]>(() => {
205
- const language = interfaceLang.value
206
- return getWeekdaysFunc(localization.value, language)
207
- })
208
-
209
- const renderCalendar = (): void => {
210
- checkingDate.value.setDate(1)
211
- days.value = []
212
-
213
- const lastDay = new Date(
214
- checkingDate.value.getFullYear(),
215
- checkingDate.value.getMonth() + 1,
216
- 0
217
- ).getDate()
218
-
219
- const prevLastDay = new Date(
220
- checkingDate.value.getFullYear(),
221
- checkingDate.value.getMonth(),
222
- 0
223
- ).getDate()
224
-
225
- const firstDayIndex = checkingDate.value.getDay()
226
- const language = interfaceLang.value
227
- const firstDayIndexByLanguage =
228
- language === 'en_US' ? firstDayIndex : firstDayIndex - 1
229
-
230
- const shortMonths = getShortMonths(language)
231
-
232
- currentMonth.value = shortMonths[checkingDate.value.getMonth()]
233
-
234
- currentYear.value = checkingDate.value.getFullYear()
235
-
236
- for (let x = firstDayIndexByLanguage; x > 0; x--) {
237
- const result = prevLastDay - x + 1
238
- days.value.push({
239
- text: result,
240
- class: 'prev-date',
241
- })
242
- }
243
- const indexCurrentMonth = shortMonths.findIndex(
244
- (x) => x === currentMonth.value
245
- )
246
-
247
- for (let i = 1; i <= lastDay; i++) {
248
- if (
249
- i === new Date(props.modelValue).getDate() &&
250
- new Date(props.modelValue).getMonth() === indexCurrentMonth &&
251
- new Date(props.modelValue).getFullYear() === currentYear.value
252
- ) {
253
- days.value.push({
254
- text: i,
255
- class: 'active',
256
- })
257
- } else if (
258
- i === new Date().getDate() &&
259
- indexCurrentMonth === new Date().getMonth() &&
260
- currentYear.value === new Date().getFullYear()
261
- ) {
262
- days.value.push({
263
- text: i,
264
- class: 'today',
265
- })
266
- } else {
267
- days.value.push({ text: i, class: '' })
268
- }
269
- }
270
-
271
- const x = 42 - days.value.length
272
- for (let j = 1; j <= x; j++) {
273
- days.value.push({
274
- text: j,
275
- class: 'next-date',
276
- })
277
- }
278
- }
279
-
280
- const allMonths = computed<UI_I_Items[]>(() => {
281
- const result = []
282
- for (let i = 0; i < months.value.length; i++) {
283
- const active = i + 1 === selectedMonth.value + 1 ? 'active' : ''
284
- result.push({
285
- text: months.value[i],
286
- class: active,
287
- })
288
- }
289
- return result
290
- })
291
-
292
- const firstYear = ref<number>(
293
- Number(checkingDate.value.getFullYear().toString().slice(0, 3) + 0)
294
- )
295
- const allYears = computed<UI_I_Items[]>(() => {
296
- const result = []
297
- for (let i = firstYear.value; i < firstYear.value + 10; i++) {
298
- const active = i === currentYear.value ? 'active' : ''
299
- result.push({
300
- text: i,
301
- class: active,
302
- })
303
- }
304
- return result
305
- })
306
- const prevYear = (): void => {
307
- firstYear.value = firstYear.value - 10
308
- }
309
- const nextYear = (): void => {
310
- firstYear.value = firstYear.value + 10
311
- }
312
- const setCurrentYear = (): void => {
313
- firstYear.value = Number(
314
- checkingDate.value.getFullYear().toString().slice(0, 3) + 0
315
- )
316
- }
317
- const selectYear = (value: number): void => {
318
- checkingDate.value = new Date(checkingDate.value.setFullYear(value))
319
- renderCalendar()
320
- showAllYears.value = false
321
- }
322
-
323
- const prevMonth = (): void => {
324
- checkingDate.value.setMonth(checkingDate.value.getMonth() - 1)
325
-
326
- renderCalendar()
327
- }
328
- const nextMonth = (): void => {
329
- checkingDate.value.setMonth(checkingDate.value.getMonth() + 1)
330
-
331
- renderCalendar()
332
- }
333
- const setCurrentDate = (): void => {
334
- isEnabledEmit = true
335
- checkingDate.value = new Date()
336
-
337
- setTimeout(() => {
338
- renderCalendar()
339
- }, 0)
340
- }
341
-
342
- const selectMonth = (value: number): void => {
343
- checkingDate.value = new Date(checkingDate.value.setMonth(value))
344
- selectedMonth.value = value
345
- showAllMonths.value = false
346
-
347
- renderCalendar()
348
- }
349
- const selectDay = (value: number | string, type: string): void => {
350
- isEnabledEmit = true
351
- if (type === 'prev-date') {
352
- checkingDate.value = new Date(
353
- checkingDate.value.setMonth(checkingDate.value.getMonth() - 1)
354
- )
355
- } else if (type === 'next-date') {
356
- checkingDate.value = new Date(
357
- checkingDate.value.setMonth(checkingDate.value.getMonth() + 1)
358
- )
359
- }
360
- checkingDate.value = new Date(checkingDate.value.setDate(+value))
361
-
362
- isShowCalendar.value = false
363
- }
364
-
365
- const isShowCalendar = ref<boolean>(false)
366
-
367
- const uniqueId = ref<number>(0)
368
- const calendarTop = ref<number>()
369
- const calendarLeft = ref<number>()
370
- const showHideCalendar = (): void => {
371
- const allDatePickers = document.querySelectorAll('.the-datepicer')
372
- allDatePickers.forEach((element: any) => (element.style.display = 'none'))
373
- const element = document.querySelector(
374
- `.calendar-id-${uniqueId.value}`
375
- ) as HTMLElement
376
-
377
- calendarTop.value = element.getBoundingClientRect().y - 314 + 2
378
- calendarLeft.value = element.getBoundingClientRect().x - 278 / 2
379
-
380
- isShowCalendar.value = !isShowCalendar.value
381
- }
382
-
383
- const windowClick = (): void => {
384
- isShowCalendar.value = false
385
- }
386
-
387
- const bodyScroll = (): void => {
388
- isShowCalendar.value = false
389
- }
390
-
391
- onMounted(() => {
392
- renderCalendar()
393
- window.addEventListener('click', windowClick)
394
- uniqueId.value = useUniqueId()
395
- })
396
- onUnmounted(() => {
397
- window.removeEventListener('scroll', windowClick)
398
- })
399
-
400
- watch(isShowCalendar, (newValue) => {
401
- if (newValue) {
402
- checkingDate.value.setMonth(new Date(props.modelValue).getMonth())
403
- checkingDate.value.setFullYear(new Date(props.modelValue).getFullYear())
404
- renderCalendar()
405
- window.addEventListener('scroll', bodyScroll, true)
406
- } else window.removeEventListener('scroll', bodyScroll, true)
407
- })
408
- </script>
409
-
410
- <style scoped lang="scss">
411
- .item-day {
412
- font-size: 13px;
413
- width: 36px;
414
- height: 36px;
415
- display: flex;
416
- justify-content: center;
417
- align-items: center;
418
- transition: background-color 0.2s;
419
- cursor: pointer;
420
- border-radius: 0.15rem;
421
- }
422
- .container-datepicker {
423
- background: unset;
424
-
425
- .the-datepicer {
426
- width: 278px;
427
- height: 314px;
428
- border: 1px solid var(--vertical-nav-hover-bg-color);
429
- border-radius: 0.15rem;
430
- box-shadow: 0 1px 2.4px hsl(0deg 0% 45% / 25%);
431
- padding: 12px;
432
- position: fixed;
433
- z-index: 1050;
434
- background-color: var(--modal-other-bg-color);
435
-
436
- .content-month {
437
- .all-months {
438
- display: grid;
439
- grid-template-columns: 1fr 1fr;
440
-
441
- .calendar-btn {
442
- width: 100%;
443
- height: 48px;
444
- display: flex;
445
- justify-content: center;
446
- align-items: center;
447
- color: var(--checkbox-label-color);
448
- }
449
- .active {
450
- background: var(--vertical-nav-hover-bg-color);
451
- color: var(--form-input-color);
452
- }
453
- }
454
- }
455
- .content-years {
456
- .content-buttons-arrow {
457
- max-width: 108px;
458
- margin: 0 auto;
459
- }
460
- .all-years {
461
- display: grid;
462
- grid-template-columns: 1fr 1fr;
463
-
464
- .calendar-btn {
465
- width: 100%;
466
- height: 48px;
467
- color: var(--checkbox-label-color);
468
- display: flex;
469
- justify-content: center;
470
- align-items: center;
471
- }
472
- .active {
473
- background: var(--vertical-nav-hover-bg-color);
474
- color: var(--form-input-color);
475
- }
476
- }
477
- }
478
- .main-content {
479
- .the-month {
480
- height: 36px;
481
- display: flex;
482
- justify-content: space-between;
483
- align-items: center;
484
- text-align: center;
485
-
486
- i {
487
- font-size: 29px;
488
- cursor: pointer;
489
- }
490
- h1 {
491
- font-size: 3rem;
492
- font-weight: 400;
493
- text-transform: uppercase;
494
- letter-spacing: 0.2rem;
495
- margin-bottom: 1rem;
496
- }
497
- p {
498
- font-size: 1.6rem;
499
- }
500
-
501
- .top-menu {
502
- display: flex;
503
- align-items: center;
504
- }
505
- }
506
-
507
- .bottom-panel {
508
- .weekdays {
509
- display: flex;
510
- align-items: center;
511
-
512
- div {
513
- font-size: 12px;
514
- font-weight: bold;
515
- letter-spacing: 0.1rem;
516
- width: 36px;
517
- height: 36px;
518
- display: flex;
519
- justify-content: center;
520
- align-items: center;
521
- color: var(--checkbox-label-color);
522
- }
523
- }
524
- .days {
525
- width: 100%;
526
- display: flex;
527
- flex-wrap: wrap;
528
-
529
- .item-day {
530
- font-size: 13px;
531
- width: 36px;
532
- height: 36px;
533
- display: flex;
534
- justify-content: center;
535
- align-items: center;
536
- transition: background-color 0.2s;
537
- cursor: pointer;
538
- border-radius: 0.15rem;
539
- color: var(--checkbox-label-color);
540
-
541
- &:not(.prev-date):not(.today):hover {
542
- background: #eee;
543
- }
544
- &.active {
545
- background: #d9e4ea;
546
- color: #000;
547
- font-weight: bold;
548
- }
549
- &.today {
550
- color: var(--blue-950);
551
- font-weight: bold;
552
- }
553
- &.prev-date,
554
- &.next-date {
555
- opacity: 0.5;
556
- }
557
- }
558
- }
559
- }
560
- }
561
- }
562
-
563
- .calendar-btn {
564
- width: 48px;
565
- height: 36px;
566
- color: #0095d3;
567
- text-align: center;
568
- white-space: nowrap;
569
- overflow: hidden;
570
- text-overflow: ellipsis;
571
- background: unset;
572
- border: none;
573
- cursor: pointer;
574
- font-size: 18px;
575
- border-radius: 3px;
576
-
577
- &:hover {
578
- background: #eee;
579
- }
580
- }
581
-
582
- .content-buttons-arrow {
583
- display: flex;
584
- align-items: center;
585
- justify-content: space-between;
586
-
587
- .icons {
588
- color: #0095d3;
589
- }
590
-
591
- .calendar-btn {
592
- width: 40px;
593
- height: 40px;
594
- display: flex;
595
- align-items: center;
596
- justify-content: center;
597
- }
598
- }
599
-
600
- .arrow-btn {
601
- width: 18px;
602
- height: 18px;
603
-
604
- &.prev {
605
- transform: rotate(-90deg);
606
- }
607
- &.next {
608
- transform: rotate(90deg);
609
- }
610
- }
611
- }
612
- </style>
1
+ <template>
2
+ <div class="container-datepicker">
3
+ <atoms-the-icon
4
+ name="calendar"
5
+ :class="[`btn-show-calendar calendar-id-${uniqueId}`]"
6
+ @click.stop="showHideCalendar"
7
+ />
8
+ <div
9
+ v-show="isShowCalendar"
10
+ class="the-datepicer"
11
+ :style="[{ top: calendarTop + 'px' }, { left: calendarLeft + 'px' }]"
12
+ @click.stop
13
+ >
14
+ <div v-show="showAllMonths" class="content-month">
15
+ <div class="all-months">
16
+ <div
17
+ v-for="(item, key) in allMonths"
18
+ :key="key"
19
+ :class="['calendar-btn', item.class]"
20
+ @click="selectMonth(key)"
21
+ >
22
+ {{ item.text }}
23
+ </div>
24
+ </div>
25
+ </div>
26
+ <div v-show="showAllYears" class="content-years">
27
+ <div class="content-buttons-arrow">
28
+ <button
29
+ :id="`${props.testId}-prev-button`"
30
+ class="calendar-btn"
31
+ title="Previous decade"
32
+ @click="prevYear"
33
+ >
34
+ <atoms-the-icon
35
+ name="arrow"
36
+ fill="#0095d3"
37
+ class="arrow-btn prev"
38
+ />
39
+ </button>
40
+ <button
41
+ :id="`${props.testId}-current-year-button`"
42
+ class="calendar-btn set-current-data"
43
+ title="Current decade"
44
+ @click="setCurrentYear"
45
+ >
46
+ <atoms-the-icon name="calendar-current-date" class="current-btn" />
47
+ </button>
48
+ <button
49
+ :id="`${props.testId}-next-button`"
50
+ class="calendar-btn"
51
+ title="Next decade"
52
+ @click="nextYear"
53
+ >
54
+ <atoms-the-icon
55
+ name="arrow"
56
+ fill="#0095d3"
57
+ class="arrow-btn next"
58
+ />
59
+ </button>
60
+ </div>
61
+ <div class="all-years">
62
+ <div
63
+ v-for="(item, key) in allYears"
64
+ :key="key"
65
+ :class="['calendar-btn', item.class]"
66
+ @click="selectYear(item.text)"
67
+ >
68
+ {{ item.text }}
69
+ </div>
70
+ </div>
71
+ </div>
72
+ <div v-if="!showAllMonths && !showAllYears" class="main-content">
73
+ <div class="the-month">
74
+ <div class="date top-menu">
75
+ <button
76
+ :id="`${props.testId}-current-month-button`"
77
+ class="calendar-btn show-all-months"
78
+ title="Select Month"
79
+ @click="showAllMonths = true"
80
+ >
81
+ {{ currentMonth }}
82
+ </button>
83
+ <button
84
+ :id="`${props.testId}-current-year-button`"
85
+ class="calendar-btn current-year"
86
+ title="Select Year"
87
+ @click="showAllYears = true"
88
+ >
89
+ {{ currentYear }}
90
+ </button>
91
+ </div>
92
+ <div class="content-buttons-arrow">
93
+ <button
94
+ :id="`${props.testId}-prev-month-button`"
95
+ class="calendar-btn"
96
+ title="Previous Month"
97
+ @click="prevMonth"
98
+ >
99
+ <atoms-the-icon
100
+ name="arrow"
101
+ fill="#0095d3"
102
+ class="arrow-btn prev"
103
+ />
104
+ </button>
105
+ <button
106
+ :id="`${props.testId}-current-date-button`"
107
+ class="calendar-btn set-current-data"
108
+ title="Current Month"
109
+ @click="setCurrentDate"
110
+ >
111
+ <atoms-the-icon
112
+ name="calendar-current-date"
113
+ class="current-btn"
114
+ />
115
+ </button>
116
+ <button
117
+ :id="`${props.testId}-next-month-icon`"
118
+ class="calendar-btn"
119
+ title="Next Month"
120
+ @click="nextMonth"
121
+ >
122
+ <atoms-the-icon
123
+ name="arrow"
124
+ fill="#0095d3"
125
+ class="arrow-btn next"
126
+ />
127
+ </button>
128
+ </div>
129
+ </div>
130
+ <div class="bottom-panel">
131
+ <div class="weekdays">
132
+ <div v-for="(item, key) in weekdays" :key="key">{{ item }}</div>
133
+ </div>
134
+ <div class="days">
135
+ <div
136
+ v-for="(item, key) in days"
137
+ :key="key"
138
+ :class="['item-day', item.class]"
139
+ @click="selectDay(item.text, item.class)"
140
+ >
141
+ {{ item.text }}
142
+ </div>
143
+ </div>
144
+ </div>
145
+ </div>
146
+ </div>
147
+ </div>
148
+ </template>
149
+
150
+ <script setup lang="ts">
151
+ import { UI_I_Localization } from '~/lib/models/interfaces'
152
+ import { UI_I_Items } from '~/components/atoms/datepicker/lib/models/interfaces'
153
+ import {
154
+ getMonthsFunc,
155
+ getWeekdaysFunc,
156
+ } from '~/components/atoms/datepicker/lib/config/datapicker'
157
+ import { getShortMonths } from '~/components/atoms/datepicker/lib/config/allShortMonths'
158
+
159
+ const { $isDate } = useNuxtApp()
160
+
161
+ const localization = computed<UI_I_Localization>(() => useLocal())
162
+
163
+ const props = withDefaults(
164
+ defineProps<{
165
+ modelValue: number
166
+ lang: string
167
+ testId?: string
168
+ }>(),
169
+ { testId: 'ui-datepicker' }
170
+ )
171
+ const emits = defineEmits<{
172
+ (event: 'update:model-value', value: number): void
173
+ (event: 'update', value: number): void
174
+ }>()
175
+
176
+ const interfaceLang = computed<string>(() => props.lang)
177
+
178
+ let isEnabledEmit = false
179
+ const checkingDate = computed<Date>({
180
+ get() {
181
+ return new Date(props.modelValue)
182
+ },
183
+ set(newValue) {
184
+ if (isEnabledEmit) {
185
+ const newDate = new Date(newValue).getTime()
186
+ emits('update:model-value', newDate)
187
+ emits('update', newDate)
188
+ isEnabledEmit = false
189
+ if ($isDate(newValue.toString())) {
190
+ renderCalendar()
191
+ }
192
+ }
193
+ },
194
+ })
195
+
196
+ const currentYear = ref<number>()
197
+ const currentMonth = ref<string>()
198
+ const showAllYears = ref<boolean>(false)
199
+ const showAllMonths = ref<boolean>(false)
200
+ const selectedMonth = ref<number>(new Date().getMonth())
201
+
202
+ const days = ref<UI_I_Items[]>([])
203
+ const months = computed<string[]>(() => getMonthsFunc(localization.value))
204
+ const weekdays = computed<string[]>(() => {
205
+ const language = interfaceLang.value
206
+ return getWeekdaysFunc(localization.value, language)
207
+ })
208
+
209
+ const renderCalendar = (): void => {
210
+ checkingDate.value.setDate(1)
211
+ days.value = []
212
+
213
+ const lastDay = new Date(
214
+ checkingDate.value.getFullYear(),
215
+ checkingDate.value.getMonth() + 1,
216
+ 0
217
+ ).getDate()
218
+
219
+ const prevLastDay = new Date(
220
+ checkingDate.value.getFullYear(),
221
+ checkingDate.value.getMonth(),
222
+ 0
223
+ ).getDate()
224
+
225
+ const firstDayIndex = checkingDate.value.getDay()
226
+ const language = interfaceLang.value
227
+ const firstDayIndexByLanguage =
228
+ language === 'en_US' ? firstDayIndex : firstDayIndex - 1
229
+
230
+ const shortMonths = getShortMonths(language)
231
+
232
+ currentMonth.value = shortMonths[checkingDate.value.getMonth()]
233
+
234
+ currentYear.value = checkingDate.value.getFullYear()
235
+
236
+ for (let x = firstDayIndexByLanguage; x > 0; x--) {
237
+ const result = prevLastDay - x + 1
238
+ days.value.push({
239
+ text: result,
240
+ class: 'prev-date',
241
+ })
242
+ }
243
+ const indexCurrentMonth = shortMonths.findIndex(
244
+ (x) => x === currentMonth.value
245
+ )
246
+
247
+ for (let i = 1; i <= lastDay; i++) {
248
+ if (
249
+ i === new Date(props.modelValue).getDate() &&
250
+ new Date(props.modelValue).getMonth() === indexCurrentMonth &&
251
+ new Date(props.modelValue).getFullYear() === currentYear.value
252
+ ) {
253
+ days.value.push({
254
+ text: i,
255
+ class: 'active',
256
+ })
257
+ } else if (
258
+ i === new Date().getDate() &&
259
+ indexCurrentMonth === new Date().getMonth() &&
260
+ currentYear.value === new Date().getFullYear()
261
+ ) {
262
+ days.value.push({
263
+ text: i,
264
+ class: 'today',
265
+ })
266
+ } else {
267
+ days.value.push({ text: i, class: '' })
268
+ }
269
+ }
270
+
271
+ const x = 42 - days.value.length
272
+ for (let j = 1; j <= x; j++) {
273
+ days.value.push({
274
+ text: j,
275
+ class: 'next-date',
276
+ })
277
+ }
278
+ }
279
+
280
+ const allMonths = computed<UI_I_Items[]>(() => {
281
+ const result = []
282
+ for (let i = 0; i < months.value.length; i++) {
283
+ const active = i + 1 === selectedMonth.value + 1 ? 'active' : ''
284
+ result.push({
285
+ text: months.value[i],
286
+ class: active,
287
+ })
288
+ }
289
+ return result
290
+ })
291
+
292
+ const firstYear = ref<number>(
293
+ Number(checkingDate.value.getFullYear().toString().slice(0, 3) + 0)
294
+ )
295
+ const allYears = computed<UI_I_Items[]>(() => {
296
+ const result = []
297
+ for (let i = firstYear.value; i < firstYear.value + 10; i++) {
298
+ const active = i === currentYear.value ? 'active' : ''
299
+ result.push({
300
+ text: i,
301
+ class: active,
302
+ })
303
+ }
304
+ return result
305
+ })
306
+ const prevYear = (): void => {
307
+ firstYear.value = firstYear.value - 10
308
+ }
309
+ const nextYear = (): void => {
310
+ firstYear.value = firstYear.value + 10
311
+ }
312
+ const setCurrentYear = (): void => {
313
+ firstYear.value = Number(
314
+ checkingDate.value.getFullYear().toString().slice(0, 3) + 0
315
+ )
316
+ }
317
+ const selectYear = (value: number): void => {
318
+ checkingDate.value = new Date(checkingDate.value.setFullYear(value))
319
+ renderCalendar()
320
+ showAllYears.value = false
321
+ }
322
+
323
+ const prevMonth = (): void => {
324
+ checkingDate.value.setMonth(checkingDate.value.getMonth() - 1)
325
+
326
+ renderCalendar()
327
+ }
328
+ const nextMonth = (): void => {
329
+ checkingDate.value.setMonth(checkingDate.value.getMonth() + 1)
330
+
331
+ renderCalendar()
332
+ }
333
+ const setCurrentDate = (): void => {
334
+ isEnabledEmit = true
335
+ checkingDate.value = new Date()
336
+
337
+ setTimeout(() => {
338
+ renderCalendar()
339
+ }, 0)
340
+ }
341
+
342
+ const selectMonth = (value: number): void => {
343
+ checkingDate.value = new Date(checkingDate.value.setMonth(value))
344
+ selectedMonth.value = value
345
+ showAllMonths.value = false
346
+
347
+ renderCalendar()
348
+ }
349
+ const selectDay = (value: number | string, type: string): void => {
350
+ isEnabledEmit = true
351
+ if (type === 'prev-date') {
352
+ checkingDate.value = new Date(
353
+ checkingDate.value.setMonth(checkingDate.value.getMonth() - 1)
354
+ )
355
+ } else if (type === 'next-date') {
356
+ checkingDate.value = new Date(
357
+ checkingDate.value.setMonth(checkingDate.value.getMonth() + 1)
358
+ )
359
+ }
360
+ checkingDate.value = new Date(checkingDate.value.setDate(+value))
361
+
362
+ isShowCalendar.value = false
363
+ }
364
+
365
+ const isShowCalendar = ref<boolean>(false)
366
+
367
+ const uniqueId = ref<number>(0)
368
+ const calendarTop = ref<number>()
369
+ const calendarLeft = ref<number>()
370
+ const showHideCalendar = (): void => {
371
+ const allDatePickers = document.querySelectorAll('.the-datepicer')
372
+ allDatePickers.forEach((element: any) => (element.style.display = 'none'))
373
+ const element = document.querySelector(
374
+ `.calendar-id-${uniqueId.value}`
375
+ ) as HTMLElement
376
+
377
+ calendarTop.value = element.getBoundingClientRect().y - 314 + 2
378
+ calendarLeft.value = element.getBoundingClientRect().x - 278 / 2
379
+
380
+ isShowCalendar.value = !isShowCalendar.value
381
+ }
382
+
383
+ const windowClick = (): void => {
384
+ isShowCalendar.value = false
385
+ }
386
+
387
+ const bodyScroll = (): void => {
388
+ isShowCalendar.value = false
389
+ }
390
+
391
+ onMounted(() => {
392
+ renderCalendar()
393
+ window.addEventListener('click', windowClick)
394
+ uniqueId.value = useUniqueId()
395
+ })
396
+ onUnmounted(() => {
397
+ window.removeEventListener('scroll', windowClick)
398
+ })
399
+
400
+ watch(isShowCalendar, (newValue) => {
401
+ if (newValue) {
402
+ checkingDate.value.setMonth(new Date(props.modelValue).getMonth())
403
+ checkingDate.value.setFullYear(new Date(props.modelValue).getFullYear())
404
+ renderCalendar()
405
+ window.addEventListener('scroll', bodyScroll, true)
406
+ } else window.removeEventListener('scroll', bodyScroll, true)
407
+ })
408
+ </script>
409
+
410
+ <style scoped lang="scss">
411
+ .item-day {
412
+ font-size: 13px;
413
+ width: 36px;
414
+ height: 36px;
415
+ display: flex;
416
+ justify-content: center;
417
+ align-items: center;
418
+ transition: background-color 0.2s;
419
+ cursor: pointer;
420
+ border-radius: 0.15rem;
421
+ }
422
+ .container-datepicker {
423
+ background: unset;
424
+
425
+ .the-datepicer {
426
+ width: 278px;
427
+ height: 314px;
428
+ border: 1px solid var(--vertical-nav-hover-bg-color);
429
+ border-radius: 0.15rem;
430
+ box-shadow: 0 1px 2.4px hsl(0deg 0% 45% / 25%);
431
+ padding: 12px;
432
+ position: fixed;
433
+ z-index: 1050;
434
+ background-color: var(--modal-other-bg-color);
435
+
436
+ .content-month {
437
+ .all-months {
438
+ display: grid;
439
+ grid-template-columns: 1fr 1fr;
440
+
441
+ .calendar-btn {
442
+ width: 100%;
443
+ height: 48px;
444
+ display: flex;
445
+ justify-content: center;
446
+ align-items: center;
447
+ color: var(--checkbox-label-color);
448
+ }
449
+ .active {
450
+ background: var(--vertical-nav-hover-bg-color);
451
+ color: var(--form-input-color);
452
+ }
453
+ }
454
+ }
455
+ .content-years {
456
+ .content-buttons-arrow {
457
+ max-width: 108px;
458
+ margin: 0 auto;
459
+ }
460
+ .all-years {
461
+ display: grid;
462
+ grid-template-columns: 1fr 1fr;
463
+
464
+ .calendar-btn {
465
+ width: 100%;
466
+ height: 48px;
467
+ color: var(--checkbox-label-color);
468
+ display: flex;
469
+ justify-content: center;
470
+ align-items: center;
471
+ }
472
+ .active {
473
+ background: var(--vertical-nav-hover-bg-color);
474
+ color: var(--form-input-color);
475
+ }
476
+ }
477
+ }
478
+ .main-content {
479
+ .the-month {
480
+ height: 36px;
481
+ display: flex;
482
+ justify-content: space-between;
483
+ align-items: center;
484
+ text-align: center;
485
+
486
+ i {
487
+ font-size: 29px;
488
+ cursor: pointer;
489
+ }
490
+ h1 {
491
+ font-size: 3rem;
492
+ font-weight: 400;
493
+ text-transform: uppercase;
494
+ letter-spacing: 0.2rem;
495
+ margin-bottom: 1rem;
496
+ }
497
+ p {
498
+ font-size: 1.6rem;
499
+ }
500
+
501
+ .top-menu {
502
+ display: flex;
503
+ align-items: center;
504
+ }
505
+ }
506
+
507
+ .bottom-panel {
508
+ .weekdays {
509
+ display: flex;
510
+ align-items: center;
511
+
512
+ div {
513
+ font-size: 12px;
514
+ font-weight: bold;
515
+ letter-spacing: 0.1rem;
516
+ width: 36px;
517
+ height: 36px;
518
+ display: flex;
519
+ justify-content: center;
520
+ align-items: center;
521
+ color: var(--checkbox-label-color);
522
+ }
523
+ }
524
+ .days {
525
+ width: 100%;
526
+ display: flex;
527
+ flex-wrap: wrap;
528
+
529
+ .item-day {
530
+ font-size: 13px;
531
+ width: 36px;
532
+ height: 36px;
533
+ display: flex;
534
+ justify-content: center;
535
+ align-items: center;
536
+ transition: background-color 0.2s;
537
+ cursor: pointer;
538
+ border-radius: 0.15rem;
539
+ color: var(--checkbox-label-color);
540
+
541
+ &:not(.prev-date):not(.today):hover {
542
+ background: #eee;
543
+ }
544
+ &.active {
545
+ background: #d9e4ea;
546
+ color: #000;
547
+ font-weight: bold;
548
+ }
549
+ &.today {
550
+ color: var(--blue-950);
551
+ font-weight: bold;
552
+ }
553
+ &.prev-date,
554
+ &.next-date {
555
+ opacity: 0.5;
556
+ }
557
+ }
558
+ }
559
+ }
560
+ }
561
+ }
562
+
563
+ .calendar-btn {
564
+ width: 48px;
565
+ height: 36px;
566
+ color: #0095d3;
567
+ text-align: center;
568
+ white-space: nowrap;
569
+ overflow: hidden;
570
+ text-overflow: ellipsis;
571
+ background: unset;
572
+ border: none;
573
+ cursor: pointer;
574
+ font-size: 18px;
575
+ border-radius: 3px;
576
+
577
+ &:hover {
578
+ background: #eee;
579
+ }
580
+ }
581
+
582
+ .content-buttons-arrow {
583
+ display: flex;
584
+ align-items: center;
585
+ justify-content: space-between;
586
+
587
+ .icons {
588
+ color: #0095d3;
589
+ }
590
+
591
+ .calendar-btn {
592
+ width: 40px;
593
+ height: 40px;
594
+ display: flex;
595
+ align-items: center;
596
+ justify-content: center;
597
+ }
598
+ }
599
+
600
+ .arrow-btn {
601
+ width: 18px;
602
+ height: 18px;
603
+
604
+ &.prev {
605
+ transform: rotate(-90deg);
606
+ }
607
+ &.next {
608
+ transform: rotate(90deg);
609
+ }
610
+ }
611
+ }
612
+ </style>