bfg-common 1.5.443 → 1.5.445
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.
- package/CODE_STYLE.md +109 -109
- package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
- package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
- package/assets/img/icons/icons-sprite-light-3.svg +227 -227
- package/assets/img/icons/icons-sprite-light-5.svg +488 -488
- package/assets/localization/local_be.json +1 -0
- package/assets/localization/local_en.json +3 -2
- package/assets/localization/local_hy.json +1 -0
- package/assets/localization/local_kk.json +1 -0
- package/assets/localization/local_ru.json +1 -0
- package/assets/localization/local_zh.json +1 -0
- package/components/atoms/TheIcon3.vue +50 -50
- package/components/atoms/collapse/CollapseNav.vue +170 -170
- package/components/atoms/perPage/PerPage.vue +58 -58
- package/components/atoms/table/dataGrid/DataGrid.vue +1694 -1694
- package/components/atoms/table/dataGrid/DataGridPagination.vue +97 -97
- package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
- package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
- package/components/common/browse/blocks/Container.vue +235 -235
- package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
- package/components/common/browse/blocks/lib/models/types.ts +1 -1
- package/components/common/browse/lib/models/interfaces.ts +5 -5
- package/components/common/context/lib/models/interfaces.ts +33 -33
- package/components/common/countdownTimer/CountdownTimer.vue +15 -26
- package/components/common/countdownTimer/CountdownTimerNew.vue +53 -0
- package/components/common/countdownTimer/CountdownTimerOld.vue +33 -0
- package/components/common/diagramMain/lib/config/initial.ts +50 -50
- package/components/common/diagramMain/lib/models/types.ts +21 -21
- package/components/common/diagramMain/lib/utils/utils.ts +331 -331
- package/components/common/diagramMain/modals/lib/config/networkModal.ts +398 -398
- package/components/common/diagramMain/modals/lib/config/portModal.ts +251 -251
- package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
- package/components/common/diagramMain/modals/lib/config/vmKernelAdapter.ts +90 -90
- package/components/common/diagramMain/modals/lib/mappers/mappers.ts +87 -87
- package/components/common/diagramMain/modals/lib/utils/index.ts +24 -24
- package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/common.ts +14 -14
- package/components/common/diagramMain/modals/migrateVmkernelAdapter/validations/validations.ts +19 -19
- package/components/common/diagramMain/port/Port.vue +580 -580
- package/components/common/diagramMain/port/Ports.vue +47 -47
- package/components/common/layout/theHeader/helpMenu/About.vue +82 -82
- package/components/common/layout/theHeader/modals/{Reconnect.vue → reconnect/Reconnect.vue} +43 -56
- package/components/common/layout/theHeader/modals/reconnect/ReconnectNew.vue +74 -0
- package/components/common/layout/theHeader/modals/reconnect/ReconnectOld.vue +67 -0
- package/components/common/pages/backups/Backups.vue +102 -102
- package/components/common/pages/backups/DetailView.vue +52 -52
- package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
- package/components/common/pages/backups/modals/createBackup/configuration/Configuration.vue +29 -29
- package/components/common/pages/backups/modals/createBackup/configuration/backupWindow/BackupWindow.vue +26 -26
- package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/MaxBandwidth.vue +66 -66
- package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
- package/components/common/pages/backups/modals/createBackup/configuration/strategy/Strategy.vue +35 -35
- package/components/common/pages/backups/modals/createBackup/datastores/Datastores.vue +59 -59
- package/components/common/pages/backups/modals/createBackup/datastores/tableView/TableView.vue +95 -95
- package/components/common/pages/backups/modals/createBackup/disks/tableView/lib/config/table.ts +117 -117
- package/components/common/pages/backups/modals/createBackup/general/General.vue +135 -135
- package/components/common/pages/backups/modals/createBackup/lib/config/strategyOptions.ts +12 -12
- package/components/common/pages/backups/modals/lib/config/restore.ts +115 -115
- package/components/common/pages/backups/modals/lib/models/interfaces.ts +186 -186
- package/components/common/pages/backups/modals/restore/disks/Disks.vue +27 -27
- package/components/common/pages/backups/modals/restore/disks/tableView/TableView.vue +102 -102
- package/components/common/pages/backups/modals/restore/disks/tableView/lib/config/table.ts +117 -117
- package/components/common/pages/backups/modals/restore/name/Name.vue +160 -160
- package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
- package/components/common/pages/backups/modals/restore/networks/Networks.vue +67 -67
- package/components/common/pages/backups/modals/restore/networks/table/Table.vue +214 -214
- package/components/common/pages/backups/modals/restore/types/lib/config/typeOptions.ts +25 -25
- package/components/common/pages/backups/tools/Tools.vue +75 -75
- package/components/common/pages/backups/tools/lib/config/tabs.ts +36 -36
- package/components/common/pages/home/headline/HeadlineOld.vue +42 -42
- package/components/common/pages/home/lib/models/interfaces.ts +48 -48
- package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
- package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
- package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
- package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
- package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
- package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
- package/components/common/select/radio/RadioGroup.vue +137 -137
- package/components/common/spiceConsole/Drawer.vue +381 -381
- package/components/common/spiceConsole/SpiceConsole.vue +127 -127
- package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
- package/components/common/tools/Actions.vue +207 -207
- package/components/common/treeView/TreeView.vue +52 -52
- package/components/common/vm/actions/add/folderTreeView/FolderTreeView.vue +72 -72
- package/components/common/vm/actions/add/folderTreeView/New.vue +40 -40
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +2 -1
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +25 -25
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaNew.vue +78 -78
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/MediaOld.vue +50 -50
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +2 -0
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +154 -154
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/LocationOld.vue +85 -85
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/location/new/table/Table.vue +99 -99
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoNew.vue +66 -66
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIoOld.vue +62 -62
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIoOld.vue +76 -76
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +15 -15
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteNew.vue +42 -42
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/NoteOld.vue +30 -30
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGridOld.vue +84 -84
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +53 -53
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +32 -32
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +60 -60
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +174 -174
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +32 -32
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/KeymapOld.vue +44 -44
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +103 -103
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
- package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirectionOld.vue +44 -44
- package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
- package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +143 -143
- package/components/common/vm/actions/common/select/computeResource/New.vue +184 -184
- package/components/common/vm/actions/common/select/computeResource/treeView/TreeView.vue +131 -131
- package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
- package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
- package/components/common/vm/actions/common/select/os/Old.vue +152 -152
- package/components/common/vm/actions/common/select/os/Os.vue +139 -139
- package/components/common/vm/actions/common/select/storage/new/New.vue +320 -320
- package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
- package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
- package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
- package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
- package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
- package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
- package/components/common/wizards/vm/migrate/select/type/lib/config/typeOptions.ts +45 -45
- package/composables/productNameLocal.ts +30 -30
- package/composables/useAppVersion.ts +21 -21
- package/package.json +1 -1
- package/plugins/date.ts +233 -233
- package/plugins/panelStates.ts +70 -70
- package/plugins/text.ts +59 -59
- package/public/spice-console/lib/images/bitmap.js +203 -203
- package/public/spice-console/network/spicechannel.js +390 -390
- package/store/main/mutations.ts +7 -7
- package/store/main/state.ts +7 -7
@@ -1233,6 +1233,7 @@
|
|
1233
1233
|
"recommendations": "Рэкамендацыі",
|
1234
1234
|
"recommended": "рэкамендуецца",
|
1235
1235
|
"reconnect": "Паўторна падлучыцца",
|
1236
|
+
"reconnectDesc": "Ваша сесія скончыцца праз:",
|
1236
1237
|
"redirectUrls": "URL-адрасы перанакіравання",
|
1237
1238
|
"reduceEnergyConsumptionAtTheRisk": "Скароціце спажыванне энергіі з рызыкай зніжэння прадукцыйнасці",
|
1238
1239
|
"reduceEnergyConsumptionWithMin": "Паменшыце спажыванне энергіі з мінімальным кампрамісам у прадукцыйнасці",
|
@@ -1193,7 +1193,7 @@
|
|
1193
1193
|
"preferred": "Preferred",
|
1194
1194
|
"preferredDnsServer": "Preferred DNS server",
|
1195
1195
|
"prefixLength": "Prefix Length",
|
1196
|
-
"primaryServerUrl": "Primary
|
1196
|
+
"primaryServerUrl": "Primary Server URL",
|
1197
1197
|
"primaryServerUrlTooltip": "Primary domain controller LDAP server for the domain. Use the format ldap://hostname:port or ldaps://hostname:port. The port is typically 389 for LDAP connections and 636 for LDAPS connections. For Active Directory multi-domain controller deployments, the port is typically 3268 for LDAP and 3269 for LDAPS. A certificate that establishes trust for the LDAPS endpoint of the Active Directory server is required when you use ldaps:// in the primary or secondary LDAP URL.",
|
1198
1198
|
"printChart": "Print chart",
|
1199
1199
|
"priorityClass": "Priority Class",
|
@@ -1232,6 +1232,7 @@
|
|
1232
1232
|
"recommendations": "Recommendations",
|
1233
1233
|
"recommended": "recommended",
|
1234
1234
|
"reconnect": "Reconnect",
|
1235
|
+
"reconnectDesc": "Your session is about to expire after:",
|
1235
1236
|
"redirectUrls": "Redirect URLs",
|
1236
1237
|
"reduceEnergyConsumptionAtTheRisk": "Reduce energy consumption at the risk of lower performance",
|
1237
1238
|
"reduceEnergyConsumptionWithMin": "Reduce energy consumption with minimal performance compromise",
|
@@ -1329,7 +1330,7 @@
|
|
1329
1330
|
"search": "Search",
|
1330
1331
|
"searchDomains": "Search domains",
|
1331
1332
|
"searchEntireDatastore": "Search in the entire datastore",
|
1332
|
-
"secondaryServerUrl": "Secondary
|
1333
|
+
"secondaryServerUrl": "Secondary Server URL",
|
1333
1334
|
"seconds": "seconds",
|
1334
1335
|
"sectorFormat": "Sector Format",
|
1335
1336
|
"secureBoot": "Secure Boot",
|
@@ -1232,6 +1232,7 @@
|
|
1232
1232
|
"recommendations": "Առաջարկություններ",
|
1233
1233
|
"recommended": "խորհուրդ է տրվում",
|
1234
1234
|
"reconnect": "Կրկին Միացեք",
|
1235
|
+
"reconnectDesc": "Ձեր սեսիան կավարտվի հետո՝",
|
1235
1236
|
"redirectUrls": "Վերահղման URL-ներ",
|
1236
1237
|
"reduceEnergyConsumptionAtTheRisk": "Նվազեցնել էներգիայի սպառումը ցածր արդյունավետության վտանգի դեպքում",
|
1237
1238
|
"reduceEnergyConsumptionWithMin": "Նվազեցնել էներգիայի սպառումը նվազագույն կատարողականի փոխզիջումով",
|
@@ -1232,6 +1232,7 @@
|
|
1232
1232
|
"recommendations": "Ұсыныстар",
|
1233
1233
|
"recommended": "ұсынылады",
|
1234
1234
|
"reconnect": "Қайта қосылу",
|
1235
|
+
"reconnectDesc": "Сіздің сессияңыз мына уақыттан кейін аяқталады:",
|
1235
1236
|
"redirectUrls": "Қайта бағыттау URL мекенжайлары",
|
1236
1237
|
"reduceEnergyConsumptionAtTheRisk": "Төмен өнімділік қаупімен қуат тұтынуды азайтыңыз",
|
1237
1238
|
"reduceEnergyConsumptionWithMin": "Өнімділіктің ең аз төмендеуімен қуат тұтынуды азайтыңыз",
|
@@ -1232,6 +1232,7 @@
|
|
1232
1232
|
"recommendations": "Рекомендации",
|
1233
1233
|
"recommended": "рекомендуемый",
|
1234
1234
|
"reconnect": "Повторно подключиться",
|
1235
|
+
"reconnectDesc": "Ваша сессия завершится через:",
|
1235
1236
|
"redirectUrls": "URL-адреса перенаправления",
|
1236
1237
|
"reduceEnergyConsumptionAtTheRisk": "Снижение энергопотребления с риском снижения производительности",
|
1237
1238
|
"reduceEnergyConsumptionWithMin": "Снижение энергопотребления с минимальным снижением производительности",
|
@@ -1231,6 +1231,7 @@
|
|
1231
1231
|
"recommendations": "建议",
|
1232
1232
|
"recommended": "受到推崇的",
|
1233
1233
|
"reconnect": "重新连接",
|
1234
|
+
"reconnectDesc": "您的会话将在以下时间后过期:",
|
1234
1235
|
"redirectUrls": "重定向 URL",
|
1235
1236
|
"reduceEnergyConsumptionAtTheRisk": "以降低性能的風險降低能耗",
|
1236
1237
|
"reduceEnergyConsumptionWithMin": "以最小的性能妥協降低能耗",
|
@@ -1,50 +1,50 @@
|
|
1
|
-
<template>
|
2
|
-
<template v-if="props.name === 'zabbix'">
|
3
|
-
<svg
|
4
|
-
xmlns="http://www.w3.org/2000/svg"
|
5
|
-
width="80"
|
6
|
-
height="22"
|
7
|
-
viewBox="0 0 80 22"
|
8
|
-
fill="none"
|
9
|
-
>
|
10
|
-
<g clip-path="url(#clip0_2691_29714)">
|
11
|
-
<path d="M0 0.522461H80V21.477H0V0.522461Z" fill="#D40000" />
|
12
|
-
<path
|
13
|
-
d="M3.42089 3.71582H14.9889V5.2187L5.6782 16.625H15.2164V18.2836H3.19336V16.7807L12.504 5.37438H3.42089V3.71582ZM23.0402 5.65779L20.3378 12.9087H25.7526L23.0402 5.65779ZM21.9145 3.71582H24.1738L29.7862 18.2836H27.7145L26.3753 14.5473H19.735L18.3938 18.2836H16.2922L21.9145 3.71582ZM33.9176 11.326V16.663H37.113C38.1848 16.663 38.9791 16.4434 39.496 16.0043C40.013 15.5652 40.2704 14.8926 40.2704 13.9905C40.2704 13.0804 40.013 12.4078 39.496 11.9747C38.9791 11.5436 38.1848 11.326 37.113 11.326H33.9176ZM33.9176 5.33446V9.72535H36.8675C37.8415 9.72535 38.566 9.54373 39.043 9.18447C39.52 8.82322 39.7575 8.27237 39.7575 7.5319C39.7575 6.79743 39.518 6.24657 39.043 5.88332C38.566 5.52008 37.8415 5.33646 36.8675 5.33646H33.9176V5.33446ZM31.9257 3.71582H37.0152C38.534 3.71582 39.7056 4.02717 40.5259 4.65188C41.3482 5.27658 41.7573 6.16474 41.7573 7.31635C41.7573 8.2065 41.5478 8.91703 41.1266 9.44393C40.7055 9.97084 40.0868 10.3002 39.2725 10.4299C40.2525 10.6375 41.0129 11.0706 41.5558 11.7312C42.0986 12.3918 42.3701 13.2161 42.3701 14.2041C42.3701 15.5054 41.923 16.5093 41.0289 17.2198C40.1347 17.9283 38.8614 18.2836 37.2128 18.2836H31.9257V3.71582ZM47.5573 11.326V16.663H50.7547C51.8265 16.663 52.6208 16.4434 53.1357 16.0043C53.6527 15.5652 53.9101 14.8926 53.9101 13.9905C53.9101 13.0804 53.6527 12.4078 53.1357 11.9747C52.6188 11.5436 51.8245 11.326 50.7547 11.326H47.5573ZM47.5573 5.33446V9.72535H50.5072C51.4812 9.72535 52.2057 9.54373 52.6827 9.18447C53.1597 8.82322 53.3972 8.27237 53.3972 7.5319C53.3972 6.79743 53.1597 6.24657 52.6827 5.88332C52.2057 5.52008 51.4812 5.33646 50.5072 5.33646H47.5573V5.33446ZM45.5654 3.71582H50.6549C52.1737 3.71582 53.3453 4.02717 54.1656 4.65188C54.9879 5.27658 55.399 6.16474 55.399 7.31635C55.399 8.2065 55.1895 8.91703 54.7683 9.44393C54.3472 9.97084 53.7285 10.3002 52.9142 10.4299C53.8942 10.6375 54.6546 11.0706 55.1975 11.7312C55.7403 12.3918 56.0118 13.2161 56.0118 14.2041C56.0118 15.5054 55.5647 16.5093 54.6706 17.2198C53.7764 17.9283 52.503 18.2836 50.8545 18.2836H45.5654V3.71582ZM64.9732 3.71582H67.1646L70.6274 8.94697L74.1242 3.71582H76.2418L71.6833 10.5397L76.8086 18.2836H74.6172L70.5835 12.1882L66.51 18.2836H64.3924L69.5297 10.5955L64.9732 3.71582ZM59.2031 3.71582H61.195V18.2836H59.2031V3.71582Z"
|
14
|
-
fill="white"
|
15
|
-
/>
|
16
|
-
</g>
|
17
|
-
<defs>
|
18
|
-
<clipPath id="clip0_2691_29714">
|
19
|
-
<rect
|
20
|
-
width="80"
|
21
|
-
height="20.96"
|
22
|
-
fill="white"
|
23
|
-
transform="translate(0 0.519531)"
|
24
|
-
/>
|
25
|
-
</clipPath>
|
26
|
-
</defs>
|
27
|
-
</svg>
|
28
|
-
</template>
|
29
|
-
<template v-else><span></span></template>
|
30
|
-
</template>
|
31
|
-
|
32
|
-
<script setup lang="ts">
|
33
|
-
const props = withDefaults(
|
34
|
-
defineProps<{
|
35
|
-
name: string
|
36
|
-
type?: string
|
37
|
-
color?: string
|
38
|
-
width?: string
|
39
|
-
height?: string
|
40
|
-
}>(),
|
41
|
-
{
|
42
|
-
type: '',
|
43
|
-
color: 'currentColor',
|
44
|
-
width: '24',
|
45
|
-
height: '24',
|
46
|
-
}
|
47
|
-
)
|
48
|
-
</script>
|
49
|
-
|
50
|
-
<style scoped lang="scss"></style>
|
1
|
+
<template>
|
2
|
+
<template v-if="props.name === 'zabbix'">
|
3
|
+
<svg
|
4
|
+
xmlns="http://www.w3.org/2000/svg"
|
5
|
+
width="80"
|
6
|
+
height="22"
|
7
|
+
viewBox="0 0 80 22"
|
8
|
+
fill="none"
|
9
|
+
>
|
10
|
+
<g clip-path="url(#clip0_2691_29714)">
|
11
|
+
<path d="M0 0.522461H80V21.477H0V0.522461Z" fill="#D40000" />
|
12
|
+
<path
|
13
|
+
d="M3.42089 3.71582H14.9889V5.2187L5.6782 16.625H15.2164V18.2836H3.19336V16.7807L12.504 5.37438H3.42089V3.71582ZM23.0402 5.65779L20.3378 12.9087H25.7526L23.0402 5.65779ZM21.9145 3.71582H24.1738L29.7862 18.2836H27.7145L26.3753 14.5473H19.735L18.3938 18.2836H16.2922L21.9145 3.71582ZM33.9176 11.326V16.663H37.113C38.1848 16.663 38.9791 16.4434 39.496 16.0043C40.013 15.5652 40.2704 14.8926 40.2704 13.9905C40.2704 13.0804 40.013 12.4078 39.496 11.9747C38.9791 11.5436 38.1848 11.326 37.113 11.326H33.9176ZM33.9176 5.33446V9.72535H36.8675C37.8415 9.72535 38.566 9.54373 39.043 9.18447C39.52 8.82322 39.7575 8.27237 39.7575 7.5319C39.7575 6.79743 39.518 6.24657 39.043 5.88332C38.566 5.52008 37.8415 5.33646 36.8675 5.33646H33.9176V5.33446ZM31.9257 3.71582H37.0152C38.534 3.71582 39.7056 4.02717 40.5259 4.65188C41.3482 5.27658 41.7573 6.16474 41.7573 7.31635C41.7573 8.2065 41.5478 8.91703 41.1266 9.44393C40.7055 9.97084 40.0868 10.3002 39.2725 10.4299C40.2525 10.6375 41.0129 11.0706 41.5558 11.7312C42.0986 12.3918 42.3701 13.2161 42.3701 14.2041C42.3701 15.5054 41.923 16.5093 41.0289 17.2198C40.1347 17.9283 38.8614 18.2836 37.2128 18.2836H31.9257V3.71582ZM47.5573 11.326V16.663H50.7547C51.8265 16.663 52.6208 16.4434 53.1357 16.0043C53.6527 15.5652 53.9101 14.8926 53.9101 13.9905C53.9101 13.0804 53.6527 12.4078 53.1357 11.9747C52.6188 11.5436 51.8245 11.326 50.7547 11.326H47.5573ZM47.5573 5.33446V9.72535H50.5072C51.4812 9.72535 52.2057 9.54373 52.6827 9.18447C53.1597 8.82322 53.3972 8.27237 53.3972 7.5319C53.3972 6.79743 53.1597 6.24657 52.6827 5.88332C52.2057 5.52008 51.4812 5.33646 50.5072 5.33646H47.5573V5.33446ZM45.5654 3.71582H50.6549C52.1737 3.71582 53.3453 4.02717 54.1656 4.65188C54.9879 5.27658 55.399 6.16474 55.399 7.31635C55.399 8.2065 55.1895 8.91703 54.7683 9.44393C54.3472 9.97084 53.7285 10.3002 52.9142 10.4299C53.8942 10.6375 54.6546 11.0706 55.1975 11.7312C55.7403 12.3918 56.0118 13.2161 56.0118 14.2041C56.0118 15.5054 55.5647 16.5093 54.6706 17.2198C53.7764 17.9283 52.503 18.2836 50.8545 18.2836H45.5654V3.71582ZM64.9732 3.71582H67.1646L70.6274 8.94697L74.1242 3.71582H76.2418L71.6833 10.5397L76.8086 18.2836H74.6172L70.5835 12.1882L66.51 18.2836H64.3924L69.5297 10.5955L64.9732 3.71582ZM59.2031 3.71582H61.195V18.2836H59.2031V3.71582Z"
|
14
|
+
fill="white"
|
15
|
+
/>
|
16
|
+
</g>
|
17
|
+
<defs>
|
18
|
+
<clipPath id="clip0_2691_29714">
|
19
|
+
<rect
|
20
|
+
width="80"
|
21
|
+
height="20.96"
|
22
|
+
fill="white"
|
23
|
+
transform="translate(0 0.519531)"
|
24
|
+
/>
|
25
|
+
</clipPath>
|
26
|
+
</defs>
|
27
|
+
</svg>
|
28
|
+
</template>
|
29
|
+
<template v-else><span></span></template>
|
30
|
+
</template>
|
31
|
+
|
32
|
+
<script setup lang="ts">
|
33
|
+
const props = withDefaults(
|
34
|
+
defineProps<{
|
35
|
+
name: string
|
36
|
+
type?: string
|
37
|
+
color?: string
|
38
|
+
width?: string
|
39
|
+
height?: string
|
40
|
+
}>(),
|
41
|
+
{
|
42
|
+
type: '',
|
43
|
+
color: 'currentColor',
|
44
|
+
width: '24',
|
45
|
+
height: '24',
|
46
|
+
}
|
47
|
+
)
|
48
|
+
</script>
|
49
|
+
|
50
|
+
<style scoped lang="scss"></style>
|
@@ -1,170 +1,170 @@
|
|
1
|
-
<template>
|
2
|
-
<div class="tabs-overflow bottom-right">
|
3
|
-
<button
|
4
|
-
:id="collapsedBtnId"
|
5
|
-
:class="[
|
6
|
-
'btn btn-link nav-link dropdown-toggle',
|
7
|
-
{ active: collapsedBtnActive },
|
8
|
-
]"
|
9
|
-
:data-id="`${props.testId}-toggle-button`"
|
10
|
-
@mouseenter="hover = true"
|
11
|
-
@mouseleave="hover = false"
|
12
|
-
@mousedown="showMenu"
|
13
|
-
>
|
14
|
-
<atoms-the-icon
|
15
|
-
:class="['collapse-icon', { active: open }]"
|
16
|
-
name="ellipsis-horizontal"
|
17
|
-
width="16px"
|
18
|
-
height="16px"
|
19
|
-
/>
|
20
|
-
</button>
|
21
|
-
|
22
|
-
<Teleport to="body">
|
23
|
-
<ul
|
24
|
-
v-show="open"
|
25
|
-
:class="['navbar-dropdown-menu', props.popupClass]"
|
26
|
-
:style="dropdownMenuStyles"
|
27
|
-
>
|
28
|
-
<li
|
29
|
-
v-for="(item, key) in props.items"
|
30
|
-
:key="key"
|
31
|
-
v-permission="item.permission"
|
32
|
-
:title="item.title"
|
33
|
-
class="navbar-dropdown-menu-item"
|
34
|
-
@mousedown.stop
|
35
|
-
>
|
36
|
-
<div
|
37
|
-
v-if="item.separate"
|
38
|
-
class="navbar-dropdown-menu-separator"
|
39
|
-
></div>
|
40
|
-
<atoms-collapse-nav-item
|
41
|
-
v-else
|
42
|
-
:is-link="props.isLink"
|
43
|
-
:item="item"
|
44
|
-
:value="value"
|
45
|
-
btn-class="btn"
|
46
|
-
@change="change"
|
47
|
-
@select-file="onSelectFile($event, key)"
|
48
|
-
/>
|
49
|
-
</li>
|
50
|
-
</ul>
|
51
|
-
</Teleport>
|
52
|
-
</div>
|
53
|
-
</template>
|
54
|
-
|
55
|
-
<script setup lang="ts">
|
56
|
-
import type { UI_I_CollapseNavItem } from '~/components/atoms/collapse/lib/models/interfaces'
|
57
|
-
|
58
|
-
const props = withDefaults(
|
59
|
-
defineProps<{
|
60
|
-
items: UI_I_CollapseNavItem[]
|
61
|
-
isLink?: boolean
|
62
|
-
value?: number | string
|
63
|
-
popupClass?: string
|
64
|
-
closeAfterClick?: boolean
|
65
|
-
testId?: string
|
66
|
-
}>(),
|
67
|
-
{
|
68
|
-
isLink: undefined,
|
69
|
-
value: undefined,
|
70
|
-
popupClass: undefined,
|
71
|
-
closeAfterClick: undefined,
|
72
|
-
testId: '',
|
73
|
-
}
|
74
|
-
)
|
75
|
-
const emits = defineEmits<{
|
76
|
-
(event: 'change', value: number): void
|
77
|
-
(event: 'select-file', value1: Event, value2: string, value3: number): void
|
78
|
-
}>()
|
79
|
-
|
80
|
-
const change = (value: number): void => {
|
81
|
-
emits('change', value)
|
82
|
-
props.closeAfterClick && (open.value = false)
|
83
|
-
}
|
84
|
-
const onSelectFile = (event: Event, type: string, key: number): void => {
|
85
|
-
emits('select-file', event, type, key)
|
86
|
-
}
|
87
|
-
|
88
|
-
const collapsedBtnId = ref<string>('')
|
89
|
-
|
90
|
-
const route = useRoute()
|
91
|
-
const collapsedBtnActive = computed<boolean>(() => {
|
92
|
-
if (props.isLink)
|
93
|
-
return props.items.some((item) => route.path.includes(item.path || ''))
|
94
|
-
|
95
|
-
return props.items.some((item) => item.value === props.value)
|
96
|
-
})
|
97
|
-
|
98
|
-
const open = ref<boolean>(false)
|
99
|
-
const hover = ref<boolean>(false)
|
100
|
-
const dropdownMenuStyles = ref<any>({})
|
101
|
-
const showMenu = (): void => {
|
102
|
-
if (open.value) {
|
103
|
-
hideMenu(true)
|
104
|
-
return
|
105
|
-
}
|
106
|
-
|
107
|
-
open.value = true
|
108
|
-
|
109
|
-
const btn = document.querySelector(`#${collapsedBtnId.value}`)
|
110
|
-
const { top, height, right } = btn!.getBoundingClientRect()
|
111
|
-
dropdownMenuStyles.value = {
|
112
|
-
top: `${top + height}px`,
|
113
|
-
left: `${right}px`,
|
114
|
-
}
|
115
|
-
}
|
116
|
-
const hideMenu = (force?: boolean): void => {
|
117
|
-
if (hover.value && !force) return
|
118
|
-
|
119
|
-
open.value = false
|
120
|
-
}
|
121
|
-
|
122
|
-
const windowClick = (): void => {
|
123
|
-
hideMenu()
|
124
|
-
}
|
125
|
-
const windowResize = (): void => {
|
126
|
-
hideMenu(true)
|
127
|
-
}
|
128
|
-
onMounted(() => {
|
129
|
-
collapsedBtnId.value = `collapsed-btn${useUniqueId()}`
|
130
|
-
window.addEventListener('mousedown', windowClick)
|
131
|
-
window.addEventListener('resize', windowResize)
|
132
|
-
})
|
133
|
-
onUnmounted(() => {
|
134
|
-
window.removeEventListener('mousedown', windowClick)
|
135
|
-
window.removeEventListener('resize', windowResize)
|
136
|
-
})
|
137
|
-
</script>
|
138
|
-
|
139
|
-
<style scoped lang="scss">
|
140
|
-
.tabs-overflow {
|
141
|
-
position: absolute;
|
142
|
-
top: 0;
|
143
|
-
right: 24px;
|
144
|
-
|
145
|
-
.dropdown-toggle {
|
146
|
-
.collapse-icon {
|
147
|
-
fill: var(--main-color-mode);
|
148
|
-
|
149
|
-
&.active {
|
150
|
-
fill: #0077b8;
|
151
|
-
}
|
152
|
-
}
|
153
|
-
}
|
154
|
-
}
|
155
|
-
|
156
|
-
.navbar-dropdown-menu {
|
157
|
-
position: fixed;
|
158
|
-
z-index: var(--z-dropdown);
|
159
|
-
transform: translateX(-100%);
|
160
|
-
border: 1px solid var(--global-border-color);
|
161
|
-
border-radius: 3px;
|
162
|
-
margin-top: 2px;
|
163
|
-
background-color: var(--global-bg-color);
|
164
|
-
padding: 12px 0;
|
165
|
-
}
|
166
|
-
.navbar-dropdown-menu-separator {
|
167
|
-
margin: 6px 0;
|
168
|
-
border-bottom: 0.8px solid #e8e8e8;
|
169
|
-
}
|
170
|
-
</style>
|
1
|
+
<template>
|
2
|
+
<div class="tabs-overflow bottom-right">
|
3
|
+
<button
|
4
|
+
:id="collapsedBtnId"
|
5
|
+
:class="[
|
6
|
+
'btn btn-link nav-link dropdown-toggle',
|
7
|
+
{ active: collapsedBtnActive },
|
8
|
+
]"
|
9
|
+
:data-id="`${props.testId}-toggle-button`"
|
10
|
+
@mouseenter="hover = true"
|
11
|
+
@mouseleave="hover = false"
|
12
|
+
@mousedown="showMenu"
|
13
|
+
>
|
14
|
+
<atoms-the-icon
|
15
|
+
:class="['collapse-icon', { active: open }]"
|
16
|
+
name="ellipsis-horizontal"
|
17
|
+
width="16px"
|
18
|
+
height="16px"
|
19
|
+
/>
|
20
|
+
</button>
|
21
|
+
|
22
|
+
<Teleport to="body">
|
23
|
+
<ul
|
24
|
+
v-show="open"
|
25
|
+
:class="['navbar-dropdown-menu', props.popupClass]"
|
26
|
+
:style="dropdownMenuStyles"
|
27
|
+
>
|
28
|
+
<li
|
29
|
+
v-for="(item, key) in props.items"
|
30
|
+
:key="key"
|
31
|
+
v-permission="item.permission"
|
32
|
+
:title="item.title"
|
33
|
+
class="navbar-dropdown-menu-item"
|
34
|
+
@mousedown.stop
|
35
|
+
>
|
36
|
+
<div
|
37
|
+
v-if="item.separate"
|
38
|
+
class="navbar-dropdown-menu-separator"
|
39
|
+
></div>
|
40
|
+
<atoms-collapse-nav-item
|
41
|
+
v-else
|
42
|
+
:is-link="props.isLink"
|
43
|
+
:item="item"
|
44
|
+
:value="value"
|
45
|
+
btn-class="btn"
|
46
|
+
@change="change"
|
47
|
+
@select-file="onSelectFile($event, key)"
|
48
|
+
/>
|
49
|
+
</li>
|
50
|
+
</ul>
|
51
|
+
</Teleport>
|
52
|
+
</div>
|
53
|
+
</template>
|
54
|
+
|
55
|
+
<script setup lang="ts">
|
56
|
+
import type { UI_I_CollapseNavItem } from '~/components/atoms/collapse/lib/models/interfaces'
|
57
|
+
|
58
|
+
const props = withDefaults(
|
59
|
+
defineProps<{
|
60
|
+
items: UI_I_CollapseNavItem[]
|
61
|
+
isLink?: boolean
|
62
|
+
value?: number | string
|
63
|
+
popupClass?: string
|
64
|
+
closeAfterClick?: boolean
|
65
|
+
testId?: string
|
66
|
+
}>(),
|
67
|
+
{
|
68
|
+
isLink: undefined,
|
69
|
+
value: undefined,
|
70
|
+
popupClass: undefined,
|
71
|
+
closeAfterClick: undefined,
|
72
|
+
testId: '',
|
73
|
+
}
|
74
|
+
)
|
75
|
+
const emits = defineEmits<{
|
76
|
+
(event: 'change', value: number): void
|
77
|
+
(event: 'select-file', value1: Event, value2: string, value3: number): void
|
78
|
+
}>()
|
79
|
+
|
80
|
+
const change = (value: number): void => {
|
81
|
+
emits('change', value)
|
82
|
+
props.closeAfterClick && (open.value = false)
|
83
|
+
}
|
84
|
+
const onSelectFile = (event: Event, type: string, key: number): void => {
|
85
|
+
emits('select-file', event, type, key)
|
86
|
+
}
|
87
|
+
|
88
|
+
const collapsedBtnId = ref<string>('')
|
89
|
+
|
90
|
+
const route = useRoute()
|
91
|
+
const collapsedBtnActive = computed<boolean>(() => {
|
92
|
+
if (props.isLink)
|
93
|
+
return props.items.some((item) => route.path.includes(item.path || ''))
|
94
|
+
|
95
|
+
return props.items.some((item) => item.value === props.value)
|
96
|
+
})
|
97
|
+
|
98
|
+
const open = ref<boolean>(false)
|
99
|
+
const hover = ref<boolean>(false)
|
100
|
+
const dropdownMenuStyles = ref<any>({})
|
101
|
+
const showMenu = (): void => {
|
102
|
+
if (open.value) {
|
103
|
+
hideMenu(true)
|
104
|
+
return
|
105
|
+
}
|
106
|
+
|
107
|
+
open.value = true
|
108
|
+
|
109
|
+
const btn = document.querySelector(`#${collapsedBtnId.value}`)
|
110
|
+
const { top, height, right } = btn!.getBoundingClientRect()
|
111
|
+
dropdownMenuStyles.value = {
|
112
|
+
top: `${top + height}px`,
|
113
|
+
left: `${right}px`,
|
114
|
+
}
|
115
|
+
}
|
116
|
+
const hideMenu = (force?: boolean): void => {
|
117
|
+
if (hover.value && !force) return
|
118
|
+
|
119
|
+
open.value = false
|
120
|
+
}
|
121
|
+
|
122
|
+
const windowClick = (): void => {
|
123
|
+
hideMenu()
|
124
|
+
}
|
125
|
+
const windowResize = (): void => {
|
126
|
+
hideMenu(true)
|
127
|
+
}
|
128
|
+
onMounted(() => {
|
129
|
+
collapsedBtnId.value = `collapsed-btn${useUniqueId()}`
|
130
|
+
window.addEventListener('mousedown', windowClick)
|
131
|
+
window.addEventListener('resize', windowResize)
|
132
|
+
})
|
133
|
+
onUnmounted(() => {
|
134
|
+
window.removeEventListener('mousedown', windowClick)
|
135
|
+
window.removeEventListener('resize', windowResize)
|
136
|
+
})
|
137
|
+
</script>
|
138
|
+
|
139
|
+
<style scoped lang="scss">
|
140
|
+
.tabs-overflow {
|
141
|
+
position: absolute;
|
142
|
+
top: 0;
|
143
|
+
right: 24px;
|
144
|
+
|
145
|
+
.dropdown-toggle {
|
146
|
+
.collapse-icon {
|
147
|
+
fill: var(--main-color-mode);
|
148
|
+
|
149
|
+
&.active {
|
150
|
+
fill: #0077b8;
|
151
|
+
}
|
152
|
+
}
|
153
|
+
}
|
154
|
+
}
|
155
|
+
|
156
|
+
.navbar-dropdown-menu {
|
157
|
+
position: fixed;
|
158
|
+
z-index: var(--z-dropdown);
|
159
|
+
transform: translateX(-100%);
|
160
|
+
border: 1px solid var(--global-border-color);
|
161
|
+
border-radius: 3px;
|
162
|
+
margin-top: 2px;
|
163
|
+
background-color: var(--global-bg-color);
|
164
|
+
padding: 12px 0;
|
165
|
+
}
|
166
|
+
.navbar-dropdown-menu-separator {
|
167
|
+
margin: 6px 0;
|
168
|
+
border-bottom: 0.8px solid #e8e8e8;
|
169
|
+
}
|
170
|
+
</style>
|
@@ -1,58 +1,58 @@
|
|
1
|
-
<template>
|
2
|
-
<div class="page-size">
|
3
|
-
{{ selectLabel }}
|
4
|
-
|
5
|
-
<div class="clr-select-wrapper">
|
6
|
-
<select
|
7
|
-
:id="`${props.testId}-select`"
|
8
|
-
v-development="props.development"
|
9
|
-
:data-id="`${props.testId}-select`"
|
10
|
-
:value="props.pageSize"
|
11
|
-
class="clr-page-size-select"
|
12
|
-
@change="change"
|
13
|
-
>
|
14
|
-
<option
|
15
|
-
v-for="(item, key) in props.options"
|
16
|
-
:key="key"
|
17
|
-
:value="item.value"
|
18
|
-
>
|
19
|
-
{{ item.text }}
|
20
|
-
</option>
|
21
|
-
</select>
|
22
|
-
</div>
|
23
|
-
</div>
|
24
|
-
</template>
|
25
|
-
|
26
|
-
<script setup lang="ts">
|
27
|
-
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
28
|
-
import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
|
29
|
-
|
30
|
-
const props = withDefaults(
|
31
|
-
defineProps<{
|
32
|
-
pageSize: number
|
33
|
-
options: UI_I_OptionItem[]
|
34
|
-
label?: string
|
35
|
-
testId?: string
|
36
|
-
development?: boolean
|
37
|
-
}>(),
|
38
|
-
{
|
39
|
-
testId: 'ui-per-page',
|
40
|
-
label: 'itemsPerPage',
|
41
|
-
development: false,
|
42
|
-
}
|
43
|
-
)
|
44
|
-
const emits = defineEmits<{
|
45
|
-
(event: 'change', value: number): void
|
46
|
-
}>()
|
47
|
-
|
48
|
-
const localization = computed<UI_I_Localization>(() => useLocal())
|
49
|
-
const selectLabel = computed<string>(
|
50
|
-
() => localization.value.common[props.label]
|
51
|
-
)
|
52
|
-
|
53
|
-
const change = (event: InputEvent): void => {
|
54
|
-
emits('change', +(event.target as HTMLInputElement).value)
|
55
|
-
}
|
56
|
-
</script>
|
57
|
-
|
58
|
-
<style scoped></style>
|
1
|
+
<template>
|
2
|
+
<div class="page-size">
|
3
|
+
{{ selectLabel }}
|
4
|
+
|
5
|
+
<div class="clr-select-wrapper">
|
6
|
+
<select
|
7
|
+
:id="`${props.testId}-select`"
|
8
|
+
v-development="props.development"
|
9
|
+
:data-id="`${props.testId}-select`"
|
10
|
+
:value="props.pageSize"
|
11
|
+
class="clr-page-size-select"
|
12
|
+
@change="change"
|
13
|
+
>
|
14
|
+
<option
|
15
|
+
v-for="(item, key) in props.options"
|
16
|
+
:key="key"
|
17
|
+
:value="item.value"
|
18
|
+
>
|
19
|
+
{{ item.text }}
|
20
|
+
</option>
|
21
|
+
</select>
|
22
|
+
</div>
|
23
|
+
</div>
|
24
|
+
</template>
|
25
|
+
|
26
|
+
<script setup lang="ts">
|
27
|
+
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
28
|
+
import type { UI_I_OptionItem } from '~/components/atoms/lib/models/interfaces'
|
29
|
+
|
30
|
+
const props = withDefaults(
|
31
|
+
defineProps<{
|
32
|
+
pageSize: number
|
33
|
+
options: UI_I_OptionItem[]
|
34
|
+
label?: string
|
35
|
+
testId?: string
|
36
|
+
development?: boolean
|
37
|
+
}>(),
|
38
|
+
{
|
39
|
+
testId: 'ui-per-page',
|
40
|
+
label: 'itemsPerPage',
|
41
|
+
development: false,
|
42
|
+
}
|
43
|
+
)
|
44
|
+
const emits = defineEmits<{
|
45
|
+
(event: 'change', value: number): void
|
46
|
+
}>()
|
47
|
+
|
48
|
+
const localization = computed<UI_I_Localization>(() => useLocal())
|
49
|
+
const selectLabel = computed<string>(
|
50
|
+
() => localization.value.common[props.label]
|
51
|
+
)
|
52
|
+
|
53
|
+
const change = (event: InputEvent): void => {
|
54
|
+
emits('change', +(event.target as HTMLInputElement).value)
|
55
|
+
}
|
56
|
+
</script>
|
57
|
+
|
58
|
+
<style scoped></style>
|