bfg-common 1.5.764 → 1.5.766
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/assets/localization/local_be.json +3 -1
- package/assets/localization/local_en.json +3 -1
- package/assets/localization/local_hy.json +3 -1
- package/assets/localization/local_kk.json +3 -1
- package/assets/localization/local_ru.json +3 -1
- package/assets/localization/local_zh.json +3 -1
- package/components/common/backup/storage/actions/delete/Delete.vue +37 -15
- package/components/common/configure/securityProfile/SecurityProfile.vue +17 -17
- package/components/common/configure/securityProfile/lockdownMode/LockdownMode.vue +109 -97
- package/components/common/configure/securityProfile/lockdownMode/lib/utils/constructData.ts +27 -33
- package/components/common/configure/securityProfile/lockdownMode/modals/lockdownModeEdit/LockdownModeEdit.vue +61 -61
- package/components/common/configure/securityProfile/lockdownMode/modals/lockdownModeEdit/New.vue +5 -5
- package/components/common/configure/securityProfile/lockdownMode/modals/lockdownModeEdit/Old.vue +109 -109
- package/components/common/configure/securityProfile/lockdownMode/modals/lockdownModeEdit/exceptionUsers/ExceptionUsers.vue +28 -28
- package/components/common/configure/securityProfile/lockdownMode/modals/lockdownModeEdit/exceptionUsers/New.vue +5 -5
- package/components/common/configure/securityProfile/lockdownMode/modals/lockdownModeEdit/exceptionUsers/old/Old.vue +179 -179
- package/components/common/configure/securityProfile/lockdownMode/modals/lockdownModeEdit/exceptionUsers/old/lib/config/table.ts +64 -64
- package/components/common/configure/securityProfile/lockdownMode/modals/lockdownModeEdit/exceptionUsers/old/lib/config/tableKeys.ts +6 -6
- package/components/common/configure/securityProfile/lockdownMode/modals/lockdownModeEdit/exceptionUsers/old/lib/models/types.ts +1 -1
- package/components/common/configure/securityProfile/lockdownMode/modals/lockdownModeEdit/lib/config/tabs.ts +19 -19
- package/components/common/configure/securityProfile/lockdownMode/modals/lockdownModeEdit/lockdownMode/LockdownMode.vue +22 -22
- package/components/common/configure/securityProfile/lockdownMode/modals/lockdownModeEdit/lockdownMode/New.vue +5 -5
- package/components/common/configure/securityProfile/lockdownMode/modals/lockdownModeEdit/lockdownMode/Old.vue +76 -76
- package/components/common/configure/securityProfile/lockdownMode/tools/New.vue +5 -5
- package/components/common/configure/securityProfile/lockdownMode/tools/Old.vue +30 -30
- package/components/common/configure/securityProfile/lockdownMode/tools/Tools.vue +29 -29
- package/package.json +1 -1
- package/store/inventory/modules/configure/securityProfile/lib/models/interfaces.ts +12 -12
|
@@ -2575,7 +2575,8 @@
|
|
|
2575
2575
|
"lettersLengthError": "Увядзіце не больш за {0} літар",
|
|
2576
2576
|
"usbDevices": "USB-ушылар",
|
|
2577
2577
|
"migration": "Міграцыя",
|
|
2578
|
-
"mirror": "Люстэрка"
|
|
2578
|
+
"mirror": "Люстэрка",
|
|
2579
|
+
"confirmDeleteBackupStorageDesc": "Вы ўпэўнены, што жадаеце выдаліць сховішча рэзервовых копій «{0}»? Гэтая аперацыя беззваротна выдаліць усе рэзервовыя файлы і дадзеныя, захаваныя ў гэтым сховішчы."
|
|
2579
2580
|
},
|
|
2580
2581
|
"auth": {
|
|
2581
2582
|
"welcomeTo": "Сардэчна запрашаем у",
|
|
@@ -3612,6 +3613,7 @@
|
|
|
3612
3613
|
"serverPlaceholder": "Напрыклад: nas, nas.it.com або 192.168.0.1",
|
|
3613
3614
|
"storageReview": "Перагледзьце падрабязнасці перад стварэннем рэзервовага сховішча.",
|
|
3614
3615
|
"backupStorageName": "Назва рэзервовага сховішча",
|
|
3616
|
+
"backupStorageName1": "Назва сховішча",
|
|
3615
3617
|
"deleteBackupConfirmation": "Выдалення рэзервовай копіі",
|
|
3616
3618
|
"deleteBackupConfirmationDesc": "Вы ўпэўненыя, што хочаце выдаліць рэзервовую копію «{0}»?",
|
|
3617
3619
|
"deleteAllBackupsConfirmation": "Выдалення усіх рэзервовых копій",
|
|
@@ -2579,7 +2579,8 @@
|
|
|
2579
2579
|
"lettersLengthError": "Enter no more than {0} letters.",
|
|
2580
2580
|
"usbDevices": "USB Devices",
|
|
2581
2581
|
"migration": "Migration",
|
|
2582
|
-
"mirror": "Mirror"
|
|
2582
|
+
"mirror": "Mirror",
|
|
2583
|
+
"confirmDeleteBackupStorageDesc": "Are you sure you want to delete the backup storage “{0}”? This operation will permanently delete all backup files and data stored in this backup storage."
|
|
2583
2584
|
},
|
|
2584
2585
|
"auth": {
|
|
2585
2586
|
"welcomeTo": "Welcome to",
|
|
@@ -3616,6 +3617,7 @@
|
|
|
3616
3617
|
"serverPlaceholder": "E.g: nas, nas.it.com or 192.168.0.1",
|
|
3617
3618
|
"storageReview": "Review the details before the backup storage is created.",
|
|
3618
3619
|
"backupStorageName": "Backup Storage Name",
|
|
3620
|
+
"backupStorageName1": "Backup Storage Name",
|
|
3619
3621
|
"deleteBackupConfirmation": "Delete Backup",
|
|
3620
3622
|
"deleteBackupConfirmationDesc": "Are you sure you want to delete backup “{0}”?",
|
|
3621
3623
|
"deleteAllBackupsConfirmation": "Delete All Backups",
|
|
@@ -2579,7 +2579,8 @@
|
|
|
2579
2579
|
"lettersLengthError": "Խնդրում ենք մուտքագրել ոչ ավելի, քան {0} տառ",
|
|
2580
2580
|
"usbDevices": "USB սարքեր",
|
|
2581
2581
|
"migration": "Միգրացիա",
|
|
2582
|
-
"mirror": "Հայելի"
|
|
2582
|
+
"mirror": "Հայելի",
|
|
2583
|
+
"confirmDeleteBackupStorageDesc": "Վստա՞հ եք, որ ուզում եք ջնջել «{0}» պահուստային տեղադրությունը: Այս գործողությունը ընդմիշտ կջնջի այս տեղադրությունում պահված բոլոր պահուստային ֆայլերը և տվյալները:"
|
|
2583
2584
|
},
|
|
2584
2585
|
"auth": {
|
|
2585
2586
|
"welcomeTo": "Բարի գալուստ",
|
|
@@ -3616,6 +3617,7 @@
|
|
|
3616
3617
|
"serverPlaceholder": "Օրինակ՝ nas, nas.it.com կամ 192.168.0.1",
|
|
3617
3618
|
"storageReview": "Մինչ պահուստային պահեստի ստեղծումը, վերանայեք մանրամասները։",
|
|
3618
3619
|
"backupStorageName": "Պահուստային պահեստի անունը",
|
|
3620
|
+
"backupStorageName1": "Պահուստային պահեստի անունը",
|
|
3619
3621
|
"deleteBackupConfirmation": "Ջնջել պահուստային պատճեն",
|
|
3620
3622
|
"deleteBackupConfirmationDesc": "Համոզվա՞ծ եք, որ ուզում եք ջնջել «{0}» պահուստային պատճենը?",
|
|
3621
3623
|
"deleteAllBackupsConfirmation": "Ջնջել բոլոր պահուստային պատճենները",
|
|
@@ -2578,7 +2578,8 @@
|
|
|
2578
2578
|
"lettersLengthError": "{0} әріптен артық емес енгізіңіз",
|
|
2579
2579
|
"usbDevices": "USB-ушылар",
|
|
2580
2580
|
"migration": "Көші-қон",
|
|
2581
|
-
"mirror": "Aйна"
|
|
2581
|
+
"mirror": "Aйна",
|
|
2582
|
+
"confirmDeleteBackupStorageDesc": "«{0}» сақтық көшірме орнын жойғыңыз келетініне сенімдісіз бе? Бұл әрекет осы жерде сақталған барлық сақтық көшірме файлдары мен деректерді біржола жояды."
|
|
2582
2583
|
},
|
|
2583
2584
|
"auth": {
|
|
2584
2585
|
"welcomeTo": "Қош келдіңіз",
|
|
@@ -3615,6 +3616,7 @@
|
|
|
3615
3616
|
"serverPlaceholder": "Мысалы: nas, nas.it.com немесе 192.168.0.1",
|
|
3616
3617
|
"storageReview": "Резервтік сақтау орнын жасамас бұрын мәліметтерді қарап шығыңыз.",
|
|
3617
3618
|
"backupStorageName": "Резервтік сақтау атауы",
|
|
3619
|
+
"backupStorageName1": "Сақтау атауы",
|
|
3618
3620
|
"deleteBackupConfirmation": "Сақтық көшірмені жою",
|
|
3619
3621
|
"deleteBackupConfirmationDesc": "{0}» сақтық көшірмесін шынымен жойғыңыз келе ме?",
|
|
3620
3622
|
"deleteAllBackupsConfirmation": "Барлық сақтық көшірмелерді жойыңыз",
|
|
@@ -2578,7 +2578,8 @@
|
|
|
2578
2578
|
"lettersLengthError": "Введите не более {0} букв.",
|
|
2579
2579
|
"usbDevices": "USB-устройства",
|
|
2580
2580
|
"migration": "Миграция",
|
|
2581
|
-
"mirror": "Зеркало"
|
|
2581
|
+
"mirror": "Зеркало",
|
|
2582
|
+
"confirmDeleteBackupStorageDesc": "Вы уверены, что хотите удалить хранилище резервных копий «{0}»? Эта операция безвозвратно удалит все резервные файлы и данные, сохранённые в этом хранилище."
|
|
2582
2583
|
},
|
|
2583
2584
|
"auth": {
|
|
2584
2585
|
"welcomeTo": "Добро пожаловать в",
|
|
@@ -3615,6 +3616,7 @@
|
|
|
3615
3616
|
"serverPlaceholder": "Например: nas, nas.it.com или 192.168.0.1",
|
|
3616
3617
|
"storageReview": "Просмотрите информацию перед созданием хранилища резервных копий.",
|
|
3617
3618
|
"backupStorageName": "Имя хранилища резервных копий",
|
|
3619
|
+
"backupStorageName1": "Название хранилища",
|
|
3618
3620
|
"deleteBackupConfirmation": "Удалить резервную копию",
|
|
3619
3621
|
"deleteBackupConfirmationDesc": "Вы уверены, что хотите удалить резервную копию “{0}”?",
|
|
3620
3622
|
"deleteAllBackupsConfirmation": "Удалить все резервные копии",
|
|
@@ -2576,7 +2576,8 @@
|
|
|
2576
2576
|
"lettersLengthError": "请输入不超过 {0} 个字母",
|
|
2577
2577
|
"usbDevices": "USB 设备",
|
|
2578
2578
|
"migration": "迁移",
|
|
2579
|
-
"mirror": "镜像"
|
|
2579
|
+
"mirror": "镜像",
|
|
2580
|
+
"confirmDeleteBackupStorageDesc": "您确定要删除备份位置“{0}”吗?此操作将永久删除存储在此位置的所有备份文件和数据。"
|
|
2580
2581
|
},
|
|
2581
2582
|
"auth": {
|
|
2582
2583
|
"welcomeTo": "欢迎来到",
|
|
@@ -3613,6 +3614,7 @@
|
|
|
3613
3614
|
"serverPlaceholder": "例如:nas、nas.it.com 或 192.168.0.1",
|
|
3614
3615
|
"storageReview": "在创建备份存储之前,请查看详细信息。",
|
|
3615
3616
|
"backupStorageName": "备份存储名称",
|
|
3617
|
+
"backupStorageName1": "备份存储名称",
|
|
3616
3618
|
"deleteBackupConfirmation": "删除备份",
|
|
3617
3619
|
"deleteBackupConfirmationDesc": "您确定要删除备份“{0}”吗?",
|
|
3618
3620
|
"deleteAllBackupsConfirmation": "删除所有备份",
|
|
@@ -1,29 +1,28 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<common-modals-confirm-by-input
|
|
3
|
-
:title="localization.
|
|
3
|
+
:title="localization.zabbix.deleteConfirmation"
|
|
4
4
|
:sub-title="props.datastore?.name || ''"
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
:modal-texts="modalTexts"
|
|
6
|
+
:placeholder="localization.backup.backupStorageName1"
|
|
7
|
+
test-id="backup-storage-delete"
|
|
8
|
+
width="480px"
|
|
7
9
|
@hide="onHide"
|
|
8
10
|
@confirm="onDelete"
|
|
9
11
|
>
|
|
10
12
|
<template #content>
|
|
11
13
|
<p class="delete-group__text">
|
|
12
|
-
{{
|
|
14
|
+
{{ modalDescription }}
|
|
13
15
|
</p>
|
|
14
16
|
|
|
15
|
-
<p class="delete-group__text">
|
|
16
|
-
{{
|
|
17
|
-
</p>
|
|
18
|
-
|
|
19
|
-
<p class="delete-group__text">
|
|
20
|
-
{{ localization.common.confirmDeletionDatastoreBodyThird }}
|
|
17
|
+
<p v-if="isNewView" class="delete-group__text">
|
|
18
|
+
{{ modalConfirmText }}
|
|
21
19
|
</p>
|
|
22
20
|
</template>
|
|
23
21
|
</common-modals-confirm-by-input>
|
|
24
22
|
</template>
|
|
25
23
|
|
|
26
24
|
<script setup lang="ts">
|
|
25
|
+
import type { UI_I_ModalTexts } from '~/node_modules/bfg-uikit/components/ui/modal/models/interfaces'
|
|
27
26
|
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
28
27
|
import type { UI_I_DeleteItem } from '~/components/common/backup/storage/actions/delete/lib/models/interfaces'
|
|
29
28
|
import { getBackupTreeNodeIdByTypeFromRoute } from '~/components/common/pages/backups/lib/utils/getBackupOrBackupStorageId'
|
|
@@ -36,11 +35,35 @@ const emits = defineEmits<{
|
|
|
36
35
|
(event: 'hide'): void
|
|
37
36
|
}>()
|
|
38
37
|
|
|
38
|
+
const { $store }: any = useNuxtApp()
|
|
39
|
+
|
|
40
|
+
const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
|
|
41
|
+
|
|
39
42
|
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
40
43
|
|
|
44
|
+
const modalTexts = ref<UI_I_ModalTexts>({
|
|
45
|
+
button1: localization.value.common.cancel,
|
|
46
|
+
button2: localization.value.common.delete,
|
|
47
|
+
})
|
|
48
|
+
|
|
41
49
|
const targetId = computed<string>(() =>
|
|
42
50
|
getBackupTreeNodeIdByTypeFromRoute('last')
|
|
43
51
|
)
|
|
52
|
+
|
|
53
|
+
const modalDescription = computed<string>(() =>
|
|
54
|
+
localization.value.common.confirmDeleteBackupStorageDesc.replace(
|
|
55
|
+
'{0}',
|
|
56
|
+
props.datastore?.name || ''
|
|
57
|
+
)
|
|
58
|
+
)
|
|
59
|
+
|
|
60
|
+
const modalConfirmText = computed<string>(() =>
|
|
61
|
+
localization.value.common.toConfirmTypeFieldBelow.replace(
|
|
62
|
+
'{0}',
|
|
63
|
+
props.datastore?.name || ''
|
|
64
|
+
)
|
|
65
|
+
)
|
|
66
|
+
|
|
44
67
|
const onDelete = (): void => {
|
|
45
68
|
emits('delete', targetId.value)
|
|
46
69
|
}
|
|
@@ -51,14 +74,13 @@ const onHide = (): void => {
|
|
|
51
74
|
|
|
52
75
|
<style lang="scss" scoped>
|
|
53
76
|
@import '~/assets/scss/common/mixins.scss';
|
|
77
|
+
|
|
54
78
|
.delete-group__text {
|
|
55
|
-
@include text($fs:
|
|
56
|
-
font-size: 0.6rem;
|
|
79
|
+
@include text($fs: 14px, $fw: 400, $lh: 18px, $c: #9da6ad, $align: center);
|
|
57
80
|
letter-spacing: normal;
|
|
58
|
-
line-height: 1rem;
|
|
59
81
|
|
|
60
|
-
&:
|
|
61
|
-
margin-
|
|
82
|
+
&:last-of-type {
|
|
83
|
+
margin-top: 12px;
|
|
62
84
|
}
|
|
63
85
|
}
|
|
64
86
|
</style>
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<common-configure-security-profile-lockdown-mode
|
|
3
|
-
:active-node-name="props.activeNodeName"
|
|
4
|
-
:api-data="props.apiData"
|
|
5
|
-
/>
|
|
6
|
-
</template>
|
|
7
|
-
|
|
8
|
-
<script setup lang="ts">
|
|
9
|
-
import type { UI_I_SecurityProfileData } from '~/store/inventory/modules/configure/securityProfile/lib/models/interfaces'
|
|
10
|
-
|
|
11
|
-
const props = defineProps<{
|
|
12
|
-
activeNodeName: string
|
|
13
|
-
apiData: UI_I_SecurityProfileData
|
|
14
|
-
}>()
|
|
15
|
-
</script>
|
|
16
|
-
|
|
17
|
-
<style scoped lang="scss"></style>
|
|
1
|
+
<template>
|
|
2
|
+
<common-configure-security-profile-lockdown-mode
|
|
3
|
+
:active-node-name="props.activeNodeName"
|
|
4
|
+
:api-data="props.apiData"
|
|
5
|
+
/>
|
|
6
|
+
</template>
|
|
7
|
+
|
|
8
|
+
<script setup lang="ts">
|
|
9
|
+
import type { UI_I_SecurityProfileData } from '~/store/inventory/modules/configure/securityProfile/lib/models/interfaces'
|
|
10
|
+
|
|
11
|
+
const props = defineProps<{
|
|
12
|
+
activeNodeName: string
|
|
13
|
+
apiData: UI_I_SecurityProfileData | null
|
|
14
|
+
}>()
|
|
15
|
+
</script>
|
|
16
|
+
|
|
17
|
+
<style scoped lang="scss"></style>
|
|
@@ -1,97 +1,109 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="lockdown-mode">
|
|
3
|
-
<common-configure-security-profile-lockdown-mode-tools
|
|
4
|
-
@show-edit="isShowEdit = true"
|
|
5
|
-
/>
|
|
6
|
-
|
|
7
|
-
<div class="stack-view">
|
|
8
|
-
<atoms-stack-block
|
|
9
|
-
:has-children="false"
|
|
10
|
-
test-id="certificate-subject-stack-block"
|
|
11
|
-
>
|
|
12
|
-
<template #stackBlockKey>
|
|
13
|
-
<div class="flex-align-center">
|
|
14
|
-
<span data-id="certificate-subject">
|
|
15
|
-
{{ localization.common.lockdownMode }}
|
|
16
|
-
</span>
|
|
17
|
-
</div>
|
|
18
|
-
</template>
|
|
19
|
-
<template #stackBlockContent>
|
|
20
|
-
<span data-id="certificate-subject-value">
|
|
21
|
-
{{
|
|
22
|
-
</span>
|
|
23
|
-
</template>
|
|
24
|
-
</atoms-stack-block>
|
|
25
|
-
<atoms-stack-block
|
|
26
|
-
:has-children="false"
|
|
27
|
-
test-id="certificate-subject-stack-block"
|
|
28
|
-
>
|
|
29
|
-
<template #stackBlockKey>
|
|
30
|
-
<div class="flex-align-center">
|
|
31
|
-
<span data-id="certificate-subject">
|
|
32
|
-
{{ localization.configureSecurityProfile.exceptionUsers }}
|
|
33
|
-
</span>
|
|
34
|
-
</div>
|
|
35
|
-
</template>
|
|
36
|
-
<template #stackBlockContent>
|
|
37
|
-
<span data-id="certificate-subject-value">
|
|
38
|
-
{{ lockdownModeExceptionUsers }}
|
|
39
|
-
</span>
|
|
40
|
-
</template>
|
|
41
|
-
</atoms-stack-block>
|
|
42
|
-
</div>
|
|
43
|
-
</div>
|
|
44
|
-
|
|
45
|
-
<common-configure-security-profile-lockdown-mode-modals-lockdown-mode-edit
|
|
46
|
-
v-if="isShowEdit"
|
|
47
|
-
:active-node-name="props.activeNodeName"
|
|
48
|
-
:edit-data="securityProfileData.lockdownMode"
|
|
49
|
-
@hide="isShowEdit = false"
|
|
50
|
-
@submit="isShowEdit = false"
|
|
51
|
-
/>
|
|
52
|
-
</template>
|
|
53
|
-
|
|
54
|
-
<script setup lang="ts">
|
|
55
|
-
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
56
|
-
import type { UI_I_SecurityProfileData } from '~/store/inventory/modules/configure/securityProfile/lib/models/interfaces'
|
|
57
|
-
import { constructData } from '~/components/common/configure/securityProfile/lockdownMode/lib/utils/constructData'
|
|
58
|
-
|
|
59
|
-
const props = defineProps<{
|
|
60
|
-
activeNodeName: string
|
|
61
|
-
apiData: UI_I_SecurityProfileData
|
|
62
|
-
}>()
|
|
63
|
-
|
|
64
|
-
const { $store }: any = useNuxtApp()
|
|
65
|
-
|
|
66
|
-
const nodeId = useRoute().params.id
|
|
67
|
-
|
|
68
|
-
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
69
|
-
|
|
70
|
-
const securityProfileData = computed<UI_I_SecurityProfileData>(() =>
|
|
71
|
-
constructData(props.apiData
|
|
72
|
-
)
|
|
73
|
-
|
|
74
|
-
const lockdownModeExceptionUsers = computed<string>(() =>
|
|
75
|
-
securityProfileData.value.lockdownMode.exceptionUsers.join(', ')
|
|
76
|
-
)
|
|
77
|
-
|
|
78
|
-
const
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
1
|
+
<template>
|
|
2
|
+
<div class="lockdown-mode">
|
|
3
|
+
<common-configure-security-profile-lockdown-mode-tools
|
|
4
|
+
@show-edit="isShowEdit = true"
|
|
5
|
+
/>
|
|
6
|
+
|
|
7
|
+
<div class="stack-view">
|
|
8
|
+
<atoms-stack-block
|
|
9
|
+
:has-children="false"
|
|
10
|
+
test-id="certificate-subject-stack-block"
|
|
11
|
+
>
|
|
12
|
+
<template #stackBlockKey>
|
|
13
|
+
<div class="flex-align-center">
|
|
14
|
+
<span data-id="certificate-subject">
|
|
15
|
+
{{ localization.common.lockdownMode }}
|
|
16
|
+
</span>
|
|
17
|
+
</div>
|
|
18
|
+
</template>
|
|
19
|
+
<template #stackBlockContent>
|
|
20
|
+
<span data-id="certificate-subject-value">
|
|
21
|
+
{{ currentTextLockdownMode }}
|
|
22
|
+
</span>
|
|
23
|
+
</template>
|
|
24
|
+
</atoms-stack-block>
|
|
25
|
+
<atoms-stack-block
|
|
26
|
+
:has-children="false"
|
|
27
|
+
test-id="certificate-subject-stack-block"
|
|
28
|
+
>
|
|
29
|
+
<template #stackBlockKey>
|
|
30
|
+
<div class="flex-align-center">
|
|
31
|
+
<span data-id="certificate-subject">
|
|
32
|
+
{{ localization.configureSecurityProfile.exceptionUsers }}
|
|
33
|
+
</span>
|
|
34
|
+
</div>
|
|
35
|
+
</template>
|
|
36
|
+
<template #stackBlockContent>
|
|
37
|
+
<span data-id="certificate-subject-value">
|
|
38
|
+
{{ lockdownModeExceptionUsers }}
|
|
39
|
+
</span>
|
|
40
|
+
</template>
|
|
41
|
+
</atoms-stack-block>
|
|
42
|
+
</div>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
<common-configure-security-profile-lockdown-mode-modals-lockdown-mode-edit
|
|
46
|
+
v-if="isShowEdit"
|
|
47
|
+
:active-node-name="props.activeNodeName"
|
|
48
|
+
:edit-data="securityProfileData.lockdownMode"
|
|
49
|
+
@hide="isShowEdit = false"
|
|
50
|
+
@submit="isShowEdit = false"
|
|
51
|
+
/>
|
|
52
|
+
</template>
|
|
53
|
+
|
|
54
|
+
<script setup lang="ts">
|
|
55
|
+
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
56
|
+
import type { UI_I_SecurityProfileData } from '~/store/inventory/modules/configure/securityProfile/lib/models/interfaces'
|
|
57
|
+
import { constructData } from '~/components/common/configure/securityProfile/lockdownMode/lib/utils/constructData'
|
|
58
|
+
|
|
59
|
+
const props = defineProps<{
|
|
60
|
+
activeNodeName: string
|
|
61
|
+
apiData: UI_I_SecurityProfileData | null
|
|
62
|
+
}>()
|
|
63
|
+
|
|
64
|
+
const { $store }: any = useNuxtApp()
|
|
65
|
+
|
|
66
|
+
const nodeId = useRoute().params.id
|
|
67
|
+
|
|
68
|
+
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
69
|
+
|
|
70
|
+
const securityProfileData = computed<UI_I_SecurityProfileData>(() =>
|
|
71
|
+
constructData(props.apiData)
|
|
72
|
+
)
|
|
73
|
+
|
|
74
|
+
const lockdownModeExceptionUsers = computed<string>(() =>
|
|
75
|
+
securityProfileData.value.lockdownMode.exceptionUsers.join(', ')
|
|
76
|
+
)
|
|
77
|
+
|
|
78
|
+
const currentTextLockdownMode = computed<string>(() => {
|
|
79
|
+
let result = ''
|
|
80
|
+
|
|
81
|
+
switch (securityProfileData.value.lockdownMode.lockdownMode) {
|
|
82
|
+
case 'disabled':
|
|
83
|
+
result = localization.value.common.disabled
|
|
84
|
+
break
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
return result
|
|
88
|
+
})
|
|
89
|
+
|
|
90
|
+
const getData = (): void => {
|
|
91
|
+
$store.dispatch('securityProfile/A_GET_SECURITY_PROFILE', nodeId)
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
const isShowEdit = ref<boolean>(false)
|
|
95
|
+
|
|
96
|
+
onMounted(() => {
|
|
97
|
+
getData()
|
|
98
|
+
})
|
|
99
|
+
|
|
100
|
+
onUnmounted(() => {
|
|
101
|
+
$store.dispatch('main/A_PAUSE_GLOBAL_REFRESH', 'hostSystemSecurityProfile')
|
|
102
|
+
})
|
|
103
|
+
</script>
|
|
104
|
+
|
|
105
|
+
<style scoped lang="scss">
|
|
106
|
+
.stack-view {
|
|
107
|
+
margin-top: 10px;
|
|
108
|
+
}
|
|
109
|
+
</style>
|
|
@@ -1,33 +1,27 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
exceptionUsers: data?.lockdownMode.exceptionUsers || [],
|
|
29
|
-
},
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
return result
|
|
33
|
-
}
|
|
1
|
+
import type { UI_I_SecurityProfileData } from '~/store/inventory/modules/configure/securityProfile/lib/models/interfaces'
|
|
2
|
+
|
|
3
|
+
const getLockdownModeCurrentText = (data: string): string => {
|
|
4
|
+
switch (data) {
|
|
5
|
+
case 'disabled':
|
|
6
|
+
return 'disabled'
|
|
7
|
+
default:
|
|
8
|
+
return ''
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export const constructData = (
|
|
13
|
+
data: UI_I_SecurityProfileData | null
|
|
14
|
+
): UI_I_SecurityProfileData => {
|
|
15
|
+
let result: UI_I_SecurityProfileData | null = null
|
|
16
|
+
|
|
17
|
+
result = {
|
|
18
|
+
lockdownMode: {
|
|
19
|
+
lockdownMode: getLockdownModeCurrentText(
|
|
20
|
+
data?.lockdownMode.lockdownMode || ''
|
|
21
|
+
),
|
|
22
|
+
exceptionUsers: data?.lockdownMode.exceptionUsers || [],
|
|
23
|
+
},
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return result
|
|
27
|
+
}
|
|
@@ -1,61 +1,61 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<component
|
|
3
|
-
:is="currentComponent"
|
|
4
|
-
v-model:local-edit-data="localEditData"
|
|
5
|
-
:title="title"
|
|
6
|
-
:selected-tab="selectedTab"
|
|
7
|
-
:tab-items="tabItems"
|
|
8
|
-
@add-new-user="onAddNewUser"
|
|
9
|
-
/>
|
|
10
|
-
</template>
|
|
11
|
-
|
|
12
|
-
<script setup lang="ts">
|
|
13
|
-
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
14
|
-
import type { UI_I_VerticalTabs } from '~/components/atoms/tabs/lib/models/interfaces'
|
|
15
|
-
import type { UI_I_LockdownModeData } from '~/store/inventory/modules/configure/securityProfile/lib/models/interfaces'
|
|
16
|
-
import { navigateTabsFunc } from '~/components/common/configure/securityProfile/lockdownMode/modals/lockdownModeEdit/lib/config/tabs'
|
|
17
|
-
|
|
18
|
-
const props = defineProps<{
|
|
19
|
-
activeNodeName: string
|
|
20
|
-
editData: UI_I_LockdownModeData
|
|
21
|
-
}>()
|
|
22
|
-
|
|
23
|
-
const { $store }: any = useNuxtApp()
|
|
24
|
-
|
|
25
|
-
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
26
|
-
|
|
27
|
-
const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
|
|
28
|
-
const currentComponent = computed(() =>
|
|
29
|
-
isNewView.value
|
|
30
|
-
? defineAsyncComponent(() => import('./New.vue'))
|
|
31
|
-
: defineAsyncComponent(() => import('./Old.vue'))
|
|
32
|
-
)
|
|
33
|
-
|
|
34
|
-
const title = computed<string>(
|
|
35
|
-
() => props.activeNodeName + ' - ' + localization.value.common.lockdownMode
|
|
36
|
-
)
|
|
37
|
-
|
|
38
|
-
const selectedTab = ref<number>(1)
|
|
39
|
-
const tabItems = computed<UI_I_VerticalTabs[]>(() =>
|
|
40
|
-
navigateTabsFunc(localization.value)
|
|
41
|
-
)
|
|
42
|
-
|
|
43
|
-
const localEditData = ref<UI_I_LockdownModeData>({
|
|
44
|
-
lockdownMode: '',
|
|
45
|
-
exceptionUsers: [],
|
|
46
|
-
})
|
|
47
|
-
watch(
|
|
48
|
-
() => props.editData,
|
|
49
|
-
(newValue) => {
|
|
50
|
-
localEditData.value.lockdownMode = newValue.lockdownMode
|
|
51
|
-
localEditData.value.exceptionUsers = newValue.exceptionUsers
|
|
52
|
-
},
|
|
53
|
-
{ immediate: true, deep: true }
|
|
54
|
-
)
|
|
55
|
-
|
|
56
|
-
const onAddNewUser = (value: string): void => {
|
|
57
|
-
localEditData.value.exceptionUsers.push(value)
|
|
58
|
-
}
|
|
59
|
-
</script>
|
|
60
|
-
|
|
61
|
-
<style scoped lang="scss"></style>
|
|
1
|
+
<template>
|
|
2
|
+
<component
|
|
3
|
+
:is="currentComponent"
|
|
4
|
+
v-model:local-edit-data="localEditData"
|
|
5
|
+
:title="title"
|
|
6
|
+
:selected-tab="selectedTab"
|
|
7
|
+
:tab-items="tabItems"
|
|
8
|
+
@add-new-user="onAddNewUser"
|
|
9
|
+
/>
|
|
10
|
+
</template>
|
|
11
|
+
|
|
12
|
+
<script setup lang="ts">
|
|
13
|
+
import type { UI_I_Localization } from '~/lib/models/interfaces'
|
|
14
|
+
import type { UI_I_VerticalTabs } from '~/components/atoms/tabs/lib/models/interfaces'
|
|
15
|
+
import type { UI_I_LockdownModeData } from '~/store/inventory/modules/configure/securityProfile/lib/models/interfaces'
|
|
16
|
+
import { navigateTabsFunc } from '~/components/common/configure/securityProfile/lockdownMode/modals/lockdownModeEdit/lib/config/tabs'
|
|
17
|
+
|
|
18
|
+
const props = defineProps<{
|
|
19
|
+
activeNodeName: string
|
|
20
|
+
editData: UI_I_LockdownModeData
|
|
21
|
+
}>()
|
|
22
|
+
|
|
23
|
+
const { $store }: any = useNuxtApp()
|
|
24
|
+
|
|
25
|
+
const localization = computed<UI_I_Localization>(() => useLocal())
|
|
26
|
+
|
|
27
|
+
const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
|
|
28
|
+
const currentComponent = computed(() =>
|
|
29
|
+
isNewView.value
|
|
30
|
+
? defineAsyncComponent(() => import('./New.vue'))
|
|
31
|
+
: defineAsyncComponent(() => import('./Old.vue'))
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
const title = computed<string>(
|
|
35
|
+
() => props.activeNodeName + ' - ' + localization.value.common.lockdownMode
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
const selectedTab = ref<number>(1)
|
|
39
|
+
const tabItems = computed<UI_I_VerticalTabs[]>(() =>
|
|
40
|
+
navigateTabsFunc(localization.value)
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
const localEditData = ref<UI_I_LockdownModeData>({
|
|
44
|
+
lockdownMode: '',
|
|
45
|
+
exceptionUsers: [],
|
|
46
|
+
})
|
|
47
|
+
watch(
|
|
48
|
+
() => props.editData,
|
|
49
|
+
(newValue) => {
|
|
50
|
+
localEditData.value.lockdownMode = newValue.lockdownMode
|
|
51
|
+
localEditData.value.exceptionUsers = newValue.exceptionUsers
|
|
52
|
+
},
|
|
53
|
+
{ immediate: true, deep: true }
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
const onAddNewUser = (value: string): void => {
|
|
57
|
+
localEditData.value.exceptionUsers.push(value)
|
|
58
|
+
}
|
|
59
|
+
</script>
|
|
60
|
+
|
|
61
|
+
<style scoped lang="scss"></style>
|
package/components/common/configure/securityProfile/lockdownMode/modals/lockdownModeEdit/New.vue
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
<template>New</template>
|
|
2
|
-
|
|
3
|
-
<script setup lang="ts"></script>
|
|
4
|
-
|
|
5
|
-
<style scoped lang="scss"></style>
|
|
1
|
+
<template>New</template>
|
|
2
|
+
|
|
3
|
+
<script setup lang="ts"></script>
|
|
4
|
+
|
|
5
|
+
<style scoped lang="scss"></style>
|