bfg-common 1.5.748 → 1.5.750
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 +6 -4
- package/assets/localization/local_en.json +6 -4
- package/assets/localization/local_hy.json +5 -3
- package/assets/localization/local_kk.json +5 -3
- package/assets/localization/local_ru.json +6 -4
- package/assets/localization/local_zh.json +6 -4
- 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/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/backup/storage/actions/add/lib/utils.ts +51 -51
- package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
- package/components/common/diagramMain/Header.vue +4 -0
- package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
- package/components/common/diagramMain/port/Port.vue +580 -580
- package/components/common/layout/console/Console.vue +70 -70
- package/components/common/layout/theHeader/userMenu/modals/preferences/lib/models/types.ts +7 -7
- 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/Modals.vue +243 -243
- package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
- package/components/common/pages/backups/modals/createBackup/lib/config/readyToCompleteOptions.ts +69 -69
- package/components/common/pages/backups/modals/lib/config/restore.ts +116 -116
- package/components/common/pages/backups/modals/lib/models/interfaces.ts +187 -187
- package/components/common/pages/backups/modals/restore/Restore.vue +302 -302
- package/components/common/pages/backups/modals/restore/disks/Disks.vue +50 -50
- package/components/common/pages/backups/modals/restore/lib/config/readyToCompleteOptions.ts +94 -94
- package/components/common/pages/backups/modals/restore/lib/config/steps.ts +130 -130
- package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
- package/components/common/pages/backups/modals/restore/types/New.vue +95 -95
- package/components/common/pages/backups/modals/restore/types/Old.vue +62 -62
- package/components/common/pages/backups/modals/restore/types/Types.vue +31 -31
- 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/pages/tasks/Tasks.vue +125 -125
- package/components/common/pages/tasks/table/Table.vue +373 -373
- package/components/common/pages/tasks/table/lib/config/config.ts +279 -279
- package/components/common/pages/tasks/table/lib/models/interfaces.ts +9 -9
- package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
- package/components/common/select/radio/RadioGroup.vue +137 -137
- package/components/common/spiceConsole/Drawer.vue +420 -420
- package/components/common/spiceConsole/SpiceConsole.vue +184 -184
- 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/clone/lib/config/steps.ts +295 -295
- package/components/common/vm/actions/clone/new/New.vue +438 -438
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
- package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +283 -283
- package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +156 -156
- package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
- package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
- package/components/common/vm/actions/common/select/options/New.vue +264 -264
- package/components/common/vm/actions/common/select/options/Options.vue +58 -58
- package/components/common/vm/actions/common/select/storage/Old.vue +125 -125
- package/components/common/vm/actions/common/select/storage/new/New.vue +311 -311
- 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/vm/snapshots/modals/confirm/New.vue +5 -0
- package/components/common/vm/snapshots/modals/confirm/lib/models/enums.ts +2 -2
- package/components/common/vm/snapshots/modals/takeOrEdit/new/New.vue +23 -7
- package/components/common/vm/snapshots/new/New.vue +96 -13
- package/components/common/vm/snapshots/new/Skeleton.vue +112 -0
- package/components/common/vm/snapshots/new/contextMenuView/ContextMenuView.vue +17 -10
- package/components/common/vm/snapshots/new/lib/utils/details.ts +1 -1
- package/components/common/wizards/common/compatibility/Compatibility.vue +35 -35
- package/components/common/wizards/common/steps/computeResource/New.vue +93 -93
- package/components/common/wizards/common/steps/name/Name.vue +178 -178
- package/components/common/wizards/common/steps/name/New.vue +221 -221
- package/components/common/wizards/common/steps/name/Old.vue +121 -121
- package/components/common/wizards/common/steps/name/lib/models/interfaces.ts +4 -4
- package/components/common/wizards/common/steps/name/location/New.vue +40 -40
- package/components/common/wizards/datastore/add/Add.vue +227 -227
- package/components/common/wizards/datastore/add/lib/utils.ts +85 -85
- package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
- package/components/common/wizards/network/add/Add.vue +25 -5
- package/components/common/wizards/network/add/lib/config/config.ts +1 -1
- package/components/common/wizards/network/add/lib/config/initialData.ts +5 -3
- package/components/common/wizards/network/add/lib/config/selectConnectionTypeStep.ts +1 -0
- package/components/common/wizards/network/add/steps/selectTargetDevice/SelectTargetDeviceNew.vue +2 -1
- package/components/common/wizards/network/add/steps/selectTargetDevice/SelectTargetDeviceOld.vue +18 -6
- package/composables/useAppVersion.ts +21 -21
- package/composables/useBrowse.ts +24 -24
- package/composables/useLocal.ts +6 -6
- package/composables/useLocalCommon.ts +39 -39
- package/lib/models/types.ts +59 -59
- package/package.json +2 -2
- package/plugins/console.ts +21 -21
- package/plugins/mouse.ts +21 -21
- package/plugins/panelStates.ts +70 -70
- package/plugins/text.ts +59 -59
- package/public/spice-console/application/clientgui.js +854 -854
- package/public/spice-console/application/packetfactory.js +211 -211
- package/public/spice-console/application/virtualmouse.js +147 -147
- package/public/spice-console/lib/images/bitmap.js +203 -203
- package/public/spice-console/network/spicechannel.js +440 -440
- package/public/spice-console/process/cursorprocess.js +128 -128
- package/public/spice-console/process/inputprocess.js +227 -227
- package/public/spice-console/process/mainprocess.js +212 -212
- package/public/spice-console/run.js +210 -210
- package/store/main/mutations.ts +7 -7
- package/store/main/state.ts +7 -7
- package/store/tasks/mappers/recentTasks.ts +123 -123
- package/store/tasks/mutations.ts +82 -82
|
@@ -3248,11 +3248,10 @@
|
|
|
3248
3248
|
"deleteLastSnapshotsDescription": "Папярэджанне! Выдаленне апошняга здымка прывядзе да аўтаматычнага выключэння віртуальнай машыны.",
|
|
3249
3249
|
"deleteAllSnapshotsDescription": "Папярэджанне! Калі ўсе здымкі віртуальнай машыны будуць выдалены, машына аўтаматычна выключыцца.",
|
|
3250
3250
|
"revertToSelectedSnapshot": "Вярнуцца да абранага здымку",
|
|
3251
|
-
"
|
|
3251
|
+
"revertToSnapshot": "Вярнуцца да здымка",
|
|
3252
3252
|
"revertToSnapshotDescription": "Вы ўпэўненыя, што хочаце вярнуць бягучы стан віртуальнай машыны да здымка “{0}”? Бягучы стан будзе страчаны, калі яго не захаваць у выглядзе здымка.",
|
|
3253
|
-
"deleteSnapshot": "Выдаліць маментальны здымак",
|
|
3254
3253
|
"deleteSnapshotDescription": "Гэта дзеянне з'яўляецца сталым і не можа быць адноўлена.",
|
|
3255
|
-
"
|
|
3254
|
+
"deleteSnapshot": "Выдаліць здымак",
|
|
3256
3255
|
"deleteSnapshotConfirmationDescription": "Вы ўпэўненыя, што хочаце выдаліць здымак «0}»? Гэта дзеянне незваротнае і не можа быць адноўлена.",
|
|
3257
3256
|
"timestamp": "Адзнака часу",
|
|
3258
3257
|
"snapshotListEmpty": "Спіс здымкаў пусты",
|
|
@@ -3262,7 +3261,10 @@
|
|
|
3262
3261
|
"snapshotDetails": "Падрабязнасці здымка",
|
|
3263
3262
|
"snapshotVMMemory": "Зрабіць здымак памяці віртуальнай машыны",
|
|
3264
3263
|
"quiesceGuestFileSystem": "Прыглушыць гасцявую файлавую сістэму",
|
|
3265
|
-
"snapshotHasNoDescriptionYet": "Гэты здымак яшчэ не мае апісання."
|
|
3264
|
+
"snapshotHasNoDescriptionYet": "Гэты здымак яшчэ не мае апісання.",
|
|
3265
|
+
"takeSnapshot": "Зрабіце здымак",
|
|
3266
|
+
"newSnapshot": "Новы здымак",
|
|
3267
|
+
"editSnapshot": "Рэдагаваць здымак"
|
|
3266
3268
|
},
|
|
3267
3269
|
"importVms": {
|
|
3268
3270
|
"selectSourceTooltipDesc": "Правы карыстальніка esxi павінны адпавядаць ролях Administrator, крэдыт прымаюцца ад esxi і vSphere",
|
|
@@ -3252,11 +3252,10 @@
|
|
|
3252
3252
|
"deleteLastSnapshotsDescription": "Warning: Deleting the last snapshot will cause the virtual machine to automatically shut down.",
|
|
3253
3253
|
"deleteAllSnapshotsDescription": "Warning: Deleting all snapshots of this virtual machine will cause it to automatically shut down.",
|
|
3254
3254
|
"revertToSelectedSnapshot": "Revert to selected snapshot",
|
|
3255
|
-
"
|
|
3255
|
+
"revertToSnapshot": "Revert to Snapshot",
|
|
3256
3256
|
"revertToSnapshotDescription": "Are you sure you want to revert the current state of the virtual machine to snapshot “{0}”? The current state will be lost unless saved in a snapshot.",
|
|
3257
|
-
"deleteSnapshot": "Delete snapshot",
|
|
3258
3257
|
"deleteSnapshotDescription": "This action is permanent and cannot be recovered.",
|
|
3259
|
-
"
|
|
3258
|
+
"deleteSnapshot": "Delete Snapshot",
|
|
3260
3259
|
"deleteSnapshotConfirmationDescription": "Are you sure you want to delete snapshot “{0}”? This action is permanent and cannot be recovered.",
|
|
3261
3260
|
"timestamp": "Timestamp",
|
|
3262
3261
|
"snapshotListEmpty": "The Snapshot list is empty",
|
|
@@ -3266,7 +3265,10 @@
|
|
|
3266
3265
|
"snapshotDetails": "Snapshot Details",
|
|
3267
3266
|
"snapshotVMMemory": "Snapshot the virtual machine memory",
|
|
3268
3267
|
"quiesceGuestFileSystem": "Quiesce Guest File System",
|
|
3269
|
-
"snapshotHasNoDescriptionYet": "This snapshot has no description yet."
|
|
3268
|
+
"snapshotHasNoDescriptionYet": "This snapshot has no description yet.",
|
|
3269
|
+
"takeSnapshot": "Take Snapshot",
|
|
3270
|
+
"newSnapshot": "New Snapshot",
|
|
3271
|
+
"editSnapshot": "Edit snapshot"
|
|
3270
3272
|
},
|
|
3271
3273
|
"importVms": {
|
|
3272
3274
|
"selectSourceTooltipDesc": "No Trusted infrastructure Administrator, credits are accepted from esxi and vSphere",
|
|
@@ -3252,11 +3252,10 @@
|
|
|
3252
3252
|
"deleteLastSnapshotsDescription": "Զգուշացում. Վերջին նկարը ջնջելու դեպքում վիրտուալ մեքենան ինքնաբերաբար կանջատվի:",
|
|
3253
3253
|
"deleteAllSnapshotsDescription": "Զգուշացում. Երբ վիրտուալ մեքենայի բոլոր նկարները ջնջվեն, մեքենան ինքնաբերաբար կանջատվի:",
|
|
3254
3254
|
"revertToSelectedSnapshot": "Վերադառնալ ընտրված Snap-ին",
|
|
3255
|
-
"
|
|
3255
|
+
"revertToSnapshot": "Վերադառնալ լուսանկարից",
|
|
3256
3256
|
"revertToSnapshotDescription": "Վստա՞հ եք, որ ցանկանում եք վերադարձնել վիրտուալ մեքենայի ներկայիս վիճակը «{0}» պատկերին: Ներկայիս վիճակը կկորչի, եթե այն չպահպանվի պատկերում:",
|
|
3257
3257
|
"deleteSnapshot": "Ջնջել նկարը",
|
|
3258
3258
|
"deleteSnapshotDescription": "Այս գործողությունը մշտական է և չի կարող վերականգնվել:",
|
|
3259
|
-
"deleteSnapshotConfirmation": "Ջնջել Snapshot-ի հաստատումը",
|
|
3260
3259
|
"deleteSnapshotConfirmationDescription": "Վստա՞հ եք, որ ուզում եք ջնջել «{0}» լուսանկարը։ Այս գործողությունը մշտական է և չի կարող վերականգնվել։",
|
|
3261
3260
|
"timestamp": "Ժամանակի դրոշմ",
|
|
3262
3261
|
"snapshotListEmpty": "Snapshot ցուցակը դատարկ է",
|
|
@@ -3266,7 +3265,10 @@
|
|
|
3266
3265
|
"snapshotDetails": "Պահպանումի մանրամասներ",
|
|
3267
3266
|
"snapshotVMMemory": "Պահպանել վիրտուալ մեքենայի հիշողությունը",
|
|
3268
3267
|
"quiesceGuestFileSystem": "Կասեցնել հյուրընկալ օպերացիոն համակարգի ֆայլային համակարգը",
|
|
3269
|
-
"snapshotHasNoDescriptionYet": "Այս պահպանումը դեռևս չունի նկարագրություն։"
|
|
3268
|
+
"snapshotHasNoDescriptionYet": "Այս պահպանումը դեռևս չունի նկարագրություն։",
|
|
3269
|
+
"takeSnapshot": "Ակնթարթ նկար",
|
|
3270
|
+
"newSnapshot": "Նոր սքրինշոթ",
|
|
3271
|
+
"editSnapshot": "Խմբագրել սքրինշոթը"
|
|
3270
3272
|
},
|
|
3271
3273
|
"importVms": {
|
|
3272
3274
|
"selectSourceTooltipDesc": "Esxi օգտագործողի իրավունքները պետք է համապատասխանեն Administrator-ի դերերին, կրեդիտներն ընդունվում են esxi-ից և vSphere-ից",
|
|
@@ -3251,11 +3251,10 @@
|
|
|
3251
3251
|
"deleteLastSnapshotsDescription": "Ескерту! Соңғы суретті жою виртуалды машинаның автоматты түрде жабылуына әкеледі.",
|
|
3252
3252
|
"deleteAllSnapshotsDescription": "Ескерту! Виртуалды машинаның барлық суреттері жойылғанда, құрылғы автоматты түрде өшеді.",
|
|
3253
3253
|
"revertToSelectedSnapshot": "Таңдалған суретке оралу",
|
|
3254
|
-
"
|
|
3254
|
+
"revertToSnapshot": "Снимокқа қайтару",
|
|
3255
3255
|
"revertToSnapshotDescription": "Виртуалды машинаның ағымдағы күйін \"{0}\" суретіне қайтарғыңыз келетініне сенімдісіз бе? Ағымдағы күй суретте сақталмаса, жоғалады.",
|
|
3256
3256
|
"deleteSnapshot": "Суретті жою",
|
|
3257
3257
|
"deleteSnapshotDescription": "Бұл әрекет тұрақты және оны қалпына келтіру мүмкін емес.",
|
|
3258
|
-
"deleteSnapshotConfirmation": "Суретті растауды жою",
|
|
3259
3258
|
"deleteSnapshotConfirmationDescription": "\"{0}\" суретін шынымен жойғыңыз келе ме? Бұл әрекет тұрақты және оны қалпына келтіру мүмкін емес.",
|
|
3260
3259
|
"timestamp": "Уақыт белгісі",
|
|
3261
3260
|
"snapshotListEmpty": "Суреттер тізімі бос",
|
|
@@ -3265,7 +3264,10 @@
|
|
|
3265
3264
|
"snapshotDetails": "Суреттің егжей-тегжейі",
|
|
3266
3265
|
"snapshotVMMemory": "Виртуалды машинаның жадын суретке түсіру",
|
|
3267
3266
|
"quiesceGuestFileSystem": "Қонақ операциялық жүйенің файлдық жүйесін тыныштандыру",
|
|
3268
|
-
"snapshotHasNoDescriptionYet": "Бұл суретке әлі сипаттама қосылмаған."
|
|
3267
|
+
"snapshotHasNoDescriptionYet": "Бұл суретке әлі сипаттама қосылмаған.",
|
|
3268
|
+
"takeSnapshot": "сурет",
|
|
3269
|
+
"newSnapshot": "Жаңа снимок",
|
|
3270
|
+
"editSnapshot": "Снимокты өңдеу"
|
|
3269
3271
|
},
|
|
3270
3272
|
"importVms": {
|
|
3271
3273
|
"selectSourceTooltipDesc": "Esxi пайдаланушы құқықтары әкімші рөлдеріне сәйкес келуі керек, несиелер esxi және vSphere - ден алынады",
|
|
@@ -3251,11 +3251,10 @@
|
|
|
3251
3251
|
"deleteLastSnapshotsDescription": "Предупреждение: Удаление последнего снимка приведёт к автоматическому завершению работы виртуальной машины.",
|
|
3252
3252
|
"deleteAllSnapshotsDescription": "Предупреждение: Удаление всех снимков этой виртуальной машины приведёт к её автоматическому завершению работы.",
|
|
3253
3253
|
"revertToSelectedSnapshot": "Вернуться к выбранному снимку",
|
|
3254
|
-
"
|
|
3254
|
+
"revertToSnapshot": "Вернуться к снимку",
|
|
3255
3255
|
"revertToSnapshotDescription": "Вы уверены, что хотите вернуть текущее состояние виртуальной машины к снимку «{0}»? Текущее состояние будет потеряно, если его не сохранить в отдельный снимок.",
|
|
3256
|
-
"deleteSnapshot": "Удалить моментальный снимок",
|
|
3257
3256
|
"deleteSnapshotDescription": "Это действие является постоянным и не может быть восстановлено.",
|
|
3258
|
-
"
|
|
3257
|
+
"deleteSnapshot": "Удалить снимок",
|
|
3259
3258
|
"deleteSnapshotConfirmationDescription": "Вы уверены, что хотите удалить снимок “{0}”? Это действие является окончательным и не может быть восстановлено.",
|
|
3260
3259
|
"timestamp": "Время создания",
|
|
3261
3260
|
"snapshotListEmpty": "Список моментальных снимков пуст",
|
|
@@ -3265,7 +3264,10 @@
|
|
|
3265
3264
|
"snapshotDetails": "Подробности снимка",
|
|
3266
3265
|
"snapshotVMMemory": "Сделать снимок памяти виртуальной машины",
|
|
3267
3266
|
"quiesceGuestFileSystem": "Заморозить файловую систему гостевой ОС",
|
|
3268
|
-
"snapshotHasNoDescriptionYet": "У этого снимка пока нет описания."
|
|
3267
|
+
"snapshotHasNoDescriptionYet": "У этого снимка пока нет описания.",
|
|
3268
|
+
"takeSnapshot": "Сделать снимок",
|
|
3269
|
+
"newSnapshot": "Новый снимок",
|
|
3270
|
+
"editSnapshot": "Редактировать снимок"
|
|
3269
3271
|
},
|
|
3270
3272
|
"importVms": {
|
|
3271
3273
|
"selectSourceTooltipDesc": "Права пользователя vmware дожны соответствовать ролям Administrator, креды принимаются от esxi и vSphere",
|
|
@@ -3249,11 +3249,10 @@
|
|
|
3249
3249
|
"deleteLastSnapshotsDescription": "警告!删除最后一个快照将导致虚拟机自动关闭。",
|
|
3250
3250
|
"deleteAllSnapshotsDescription": "警告!当虚拟机的所有快照被删除后,该机器将自动关闭。",
|
|
3251
3251
|
"revertToSelectedSnapshot": "恢复到选定的快照",
|
|
3252
|
-
"
|
|
3252
|
+
"revertToSnapshot": "恢复到快照",
|
|
3253
3253
|
"revertToSnapshotDescription": "确定要将虚拟机的当前状态恢复到快照“{0}”吗?除非将其保存在快照中,否则当前状态将会丢失。",
|
|
3254
|
-
"deleteSnapshot": "删除快照",
|
|
3255
3254
|
"deleteSnapshotDescription": "此操作是永久性的,无法恢复。",
|
|
3256
|
-
"
|
|
3255
|
+
"deleteSnapshot": "删除快照",
|
|
3257
3256
|
"deleteSnapshotConfirmationDescription": "确定要删除快照“{0}”吗?此操作是永久性的,无法恢复。",
|
|
3258
3257
|
"timestamp": "时间戳",
|
|
3259
3258
|
"snapshotListEmpty": "快照列表为空",
|
|
@@ -3263,7 +3262,10 @@
|
|
|
3263
3262
|
"snapshotDetails": "快照详情",
|
|
3264
3263
|
"snapshotVMMemory": "为虚拟机内存创建快照",
|
|
3265
3264
|
"quiesceGuestFileSystem": "使来宾文件系统静止",
|
|
3266
|
-
"snapshotHasNoDescriptionYet": "此快照尚无描述。"
|
|
3265
|
+
"snapshotHasNoDescriptionYet": "此快照尚无描述。",
|
|
3266
|
+
"takeSnapshot": "快照",
|
|
3267
|
+
"newSnapshot": "新快照",
|
|
3268
|
+
"editSnapshot": "编辑快照"
|
|
3267
3269
|
},
|
|
3268
3270
|
"importVms": {
|
|
3269
3271
|
"selectSourceTooltipDesc": "Esxi用户权限必须对应于管理员角色. esxi和vSphere接受积分",
|
|
@@ -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>
|