bfg-common 1.5.585 → 1.5.586

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/CODE_STYLE.md +109 -109
  2. package/assets/img/icons/icons-sprite-dark-3.svg +227 -227
  3. package/assets/img/icons/icons-sprite-dark-5.svg +488 -488
  4. package/assets/img/icons/icons-sprite-light-3.svg +227 -227
  5. package/assets/img/icons/icons-sprite-light-5.svg +488 -488
  6. package/components/atoms/TheIcon3.vue +50 -50
  7. package/components/atoms/collapse/CollapseNav.vue +170 -170
  8. package/components/atoms/perPage/PerPage.vue +58 -58
  9. package/components/atoms/table/dataGrid/DataGrid.vue +1718 -1718
  10. package/components/atoms/table/dataGrid/DataGridPagination.vue +97 -97
  11. package/components/atoms/table/dataGrid/lib/config/settingsTable.ts +94 -94
  12. package/components/atoms/table/dataGrid/lib/utils/export.ts +16 -16
  13. package/components/common/backup/storage/actions/add/lib/utils.ts +51 -51
  14. package/components/common/browse/blocks/contents/filesNew/Skeleton.vue +18 -18
  15. package/components/common/diagramMain/modals/lib/config/portModal.ts +251 -251
  16. package/components/common/diagramMain/modals/lib/config/vCenterModal.ts +48 -48
  17. package/components/common/diagramMain/port/Port.vue +580 -580
  18. package/components/common/layout/theHeader/helpMenu/About.vue +79 -79
  19. package/components/common/layout/theHeader/helpMenu/aboutOld/AboutOld.vue +79 -79
  20. package/components/common/pages/backups/DetailView.vue +52 -52
  21. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  22. package/components/common/pages/backups/modals/Modals.vue +243 -243
  23. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  24. package/components/common/pages/backups/modals/createBackup/lib/config/readyToCompleteOptions.ts +69 -69
  25. package/components/common/pages/backups/modals/lib/config/restore.ts +115 -115
  26. package/components/common/pages/backups/modals/lib/models/interfaces.ts +186 -186
  27. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  28. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  29. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  30. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  31. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  32. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  33. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  34. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  35. package/components/common/select/radio/RadioGroup.vue +137 -137
  36. package/components/common/spiceConsole/Drawer.vue +420 -420
  37. package/components/common/spiceConsole/SpiceConsole.vue +184 -184
  38. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  39. package/components/common/tools/Actions.vue +207 -207
  40. package/components/common/treeView/TreeView.vue +52 -52
  41. package/components/common/vm/actions/common/customizeHardware/CustomizeHardwareNew.vue +325 -324
  42. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardwareNew.vue +1 -1
  43. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +140 -140
  44. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  45. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryNew.vue +158 -158
  46. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryOld.vue +155 -155
  47. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/location/Location.vue +154 -154
  48. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +119 -119
  49. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +31 -31
  50. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +16 -16
  51. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +53 -53
  52. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +32 -32
  53. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +60 -60
  54. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +28 -28
  55. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  56. package/components/common/vm/actions/common/select/createType/CreateType.vue +38 -38
  57. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  58. package/components/common/vm/actions/common/select/os/New.vue +1 -1
  59. package/components/common/vm/actions/common/select/storage/Old.vue +125 -125
  60. package/components/common/vm/actions/common/select/storage/Storage.vue +178 -178
  61. package/components/common/vm/actions/common/select/storage/new/New.vue +311 -311
  62. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  63. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  64. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  65. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  66. package/components/common/vm/actions/register/Register.vue +352 -352
  67. package/components/common/vm/actions/register/lib/config/steps.ts +86 -86
  68. package/components/common/wizards/common/compatibility/Compatibility.vue +35 -35
  69. package/components/common/wizards/common/compatibility/New.vue +99 -99
  70. package/components/common/wizards/common/compatibility/Old.vue +53 -53
  71. package/components/common/wizards/common/steps/computeResource/ComputeResource.vue +86 -86
  72. package/components/common/wizards/common/steps/computeResource/New.vue +93 -93
  73. package/components/common/wizards/common/steps/name/Name.vue +178 -178
  74. package/components/common/wizards/common/steps/name/New.vue +221 -221
  75. package/components/common/wizards/common/steps/name/Old.vue +121 -121
  76. package/components/common/wizards/common/steps/name/lib/models/interfaces.ts +4 -4
  77. package/components/common/wizards/common/steps/name/location/Location.vue +85 -85
  78. package/components/common/wizards/common/steps/name/location/New.vue +40 -40
  79. package/components/common/wizards/datastore/add/Add.vue +228 -228
  80. package/components/common/wizards/datastore/add/lib/utils.ts +85 -85
  81. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  82. package/components/common/wizards/vm/migrate/select/computeResource/ComputeResource.vue +205 -205
  83. package/components/common/wizards/vm/migrate/select/network/Network.vue +103 -103
  84. package/composables/useAppVersion.ts +21 -21
  85. package/composables/useLocal.ts +6 -6
  86. package/composables/useLocalCommon.ts +39 -39
  87. package/lib/models/store/host/interfaces.ts +32 -0
  88. package/package.json +1 -1
  89. package/plugins/console.ts +21 -21
  90. package/plugins/date.ts +233 -233
  91. package/plugins/mouse.ts +21 -21
  92. package/plugins/panelStates.ts +70 -70
  93. package/plugins/text.ts +59 -59
  94. package/public/spice-console/application/clientgui.js +854 -854
  95. package/public/spice-console/application/packetfactory.js +211 -211
  96. package/public/spice-console/application/virtualmouse.js +147 -147
  97. package/public/spice-console/lib/images/bitmap.js +203 -203
  98. package/public/spice-console/network/spicechannel.js +440 -440
  99. package/public/spice-console/process/cursorprocess.js +121 -121
  100. package/public/spice-console/process/inputprocess.js +227 -227
  101. package/public/spice-console/process/mainprocess.js +210 -210
  102. package/public/spice-console/run.js +210 -210
  103. package/store/main/mutations.ts +7 -7
  104. package/store/main/state.ts +7 -7
@@ -1,86 +1,86 @@
1
- import type { UI_I_WizardStep } from '~/node_modules/bfg-uikit/components/ui/wizard/lib/models/interfaces'
2
- import { UI_E_WIZARD_STATUS } from '~/node_modules/bfg-uikit/components/ui/wizard/lib/models/enums'
3
- import type { UI_I_Localization } from '~/lib/models/interfaces'
4
-
5
- export const dynamicSteps = {
6
- selectName: 0,
7
- selectNameFolder: 1,
8
- selectComputeResource: 2,
9
- readyComplete: 3,
10
- }
11
-
12
- export const stepsFunc = (
13
- localization: UI_I_Localization
14
- ): UI_I_WizardStep[] => {
15
- return [
16
- // Procurator
17
- {
18
- id: dynamicSteps.selectName,
19
- stepName: '',
20
- title: localization.common.selectName,
21
- subTitle: localization.common.specifyUniqueName,
22
- status: UI_E_WIZARD_STATUS.SELECTED,
23
- isValid: true,
24
- testId: 'vm-select-name',
25
- fields: {
26
- name: {
27
- field: '',
28
- alert: '',
29
- },
30
- },
31
- },
32
- // Sphere
33
- {
34
- id: dynamicSteps.selectNameFolder,
35
- stepName: '',
36
- title: localization.vmWizard.selectNameFolder,
37
- subTitle: localization.common.specifyUniqueNameTargetLocation,
38
- status: UI_E_WIZARD_STATUS.INACTIVE,
39
- isValid: true,
40
- testId: 'vm-select-name-folder',
41
- fields: {
42
- name: {
43
- field: '',
44
- alert: '',
45
- },
46
- },
47
- },
48
- // Sphere
49
- {
50
- id: dynamicSteps.selectComputeResource,
51
- stepName: '',
52
- title: localization.vmWizard.selectComputeResource,
53
- subTitle: localization.common.selectDestinationComputeResourceOperation,
54
- status: UI_E_WIZARD_STATUS.INACTIVE,
55
- isValid: true,
56
- testId: 'vm-select-compute-resource',
57
- fields: {
58
- computeResource: {
59
- field: '',
60
- alert: '',
61
- },
62
- },
63
- },
64
- {
65
- id: dynamicSteps.readyComplete,
66
- stepName: '',
67
- title: localization.vmWizard.readyComplete,
68
- subTitle: localization.vmWizard.lastCreateSubtitle,
69
- status: UI_E_WIZARD_STATUS.INACTIVE,
70
- isValid: true,
71
- testId: 'vm-ready-complete',
72
- fields: {},
73
- },
74
- ]
75
- }
76
-
77
- export const stepsSchemeInitial = [
78
- // 0 Procurator
79
- [dynamicSteps.selectName, dynamicSteps.readyComplete],
80
- // 1 Sphere
81
- [
82
- dynamicSteps.selectNameFolder,
83
- dynamicSteps.selectComputeResource,
84
- dynamicSteps.readyComplete,
85
- ],
86
- ]
1
+ import type { UI_I_WizardStep } from '~/node_modules/bfg-uikit/components/ui/wizard/lib/models/interfaces'
2
+ import { UI_E_WIZARD_STATUS } from '~/node_modules/bfg-uikit/components/ui/wizard/lib/models/enums'
3
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
4
+
5
+ export const dynamicSteps = {
6
+ selectName: 0,
7
+ selectNameFolder: 1,
8
+ selectComputeResource: 2,
9
+ readyComplete: 3,
10
+ }
11
+
12
+ export const stepsFunc = (
13
+ localization: UI_I_Localization
14
+ ): UI_I_WizardStep[] => {
15
+ return [
16
+ // Procurator
17
+ {
18
+ id: dynamicSteps.selectName,
19
+ stepName: '',
20
+ title: localization.common.selectName,
21
+ subTitle: localization.common.specifyUniqueName,
22
+ status: UI_E_WIZARD_STATUS.SELECTED,
23
+ isValid: true,
24
+ testId: 'vm-select-name',
25
+ fields: {
26
+ name: {
27
+ field: '',
28
+ alert: '',
29
+ },
30
+ },
31
+ },
32
+ // Sphere
33
+ {
34
+ id: dynamicSteps.selectNameFolder,
35
+ stepName: '',
36
+ title: localization.vmWizard.selectNameFolder,
37
+ subTitle: localization.common.specifyUniqueNameTargetLocation,
38
+ status: UI_E_WIZARD_STATUS.INACTIVE,
39
+ isValid: true,
40
+ testId: 'vm-select-name-folder',
41
+ fields: {
42
+ name: {
43
+ field: '',
44
+ alert: '',
45
+ },
46
+ },
47
+ },
48
+ // Sphere
49
+ {
50
+ id: dynamicSteps.selectComputeResource,
51
+ stepName: '',
52
+ title: localization.vmWizard.selectComputeResource,
53
+ subTitle: localization.common.selectDestinationComputeResourceOperation,
54
+ status: UI_E_WIZARD_STATUS.INACTIVE,
55
+ isValid: true,
56
+ testId: 'vm-select-compute-resource',
57
+ fields: {
58
+ computeResource: {
59
+ field: '',
60
+ alert: '',
61
+ },
62
+ },
63
+ },
64
+ {
65
+ id: dynamicSteps.readyComplete,
66
+ stepName: '',
67
+ title: localization.vmWizard.readyComplete,
68
+ subTitle: localization.vmWizard.lastCreateSubtitle,
69
+ status: UI_E_WIZARD_STATUS.INACTIVE,
70
+ isValid: true,
71
+ testId: 'vm-ready-complete',
72
+ fields: {},
73
+ },
74
+ ]
75
+ }
76
+
77
+ export const stepsSchemeInitial = [
78
+ // 0 Procurator
79
+ [dynamicSteps.selectName, dynamicSteps.readyComplete],
80
+ // 1 Sphere
81
+ [
82
+ dynamicSteps.selectNameFolder,
83
+ dynamicSteps.selectComputeResource,
84
+ dynamicSteps.readyComplete,
85
+ ],
86
+ ]
@@ -1,35 +1,35 @@
1
- <template>
2
- <common-wizards-common-compatibility-new
3
- v-if="isNewView"
4
- :status="props.status"
5
- :text="props.text"
6
- :loading="props.loading"
7
- />
8
- <common-wizards-common-compatibility-old
9
- v-else
10
- :status="props.status"
11
- :text="props.text"
12
- />
13
- </template>
14
-
15
- <script lang="ts" setup>
16
- import type {
17
- UI_T_CompatibilityStatus
18
- } from "~/components/common/wizards/common/compatibility/lib/models/types";
19
-
20
- const props = withDefaults(
21
- defineProps<{
22
- text: string
23
- status: UI_T_CompatibilityStatus
24
- loading?: boolean
25
- }>(),
26
- {
27
- loading: false,
28
- }
29
- )
30
-
31
- const { $store }: any = useNuxtApp()
32
- const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
33
- </script>
34
-
35
- <style lang="scss" scoped></style>
1
+ <template>
2
+ <common-wizards-common-compatibility-new
3
+ v-if="isNewView"
4
+ :status="props.status"
5
+ :text="props.text"
6
+ :loading="props.loading"
7
+ />
8
+ <common-wizards-common-compatibility-old
9
+ v-else
10
+ :status="props.status"
11
+ :text="props.text"
12
+ />
13
+ </template>
14
+
15
+ <script lang="ts" setup>
16
+ import type {
17
+ UI_T_CompatibilityStatus
18
+ } from "~/components/common/wizards/common/compatibility/lib/models/types";
19
+
20
+ const props = withDefaults(
21
+ defineProps<{
22
+ text: string
23
+ status: UI_T_CompatibilityStatus
24
+ loading?: boolean
25
+ }>(),
26
+ {
27
+ loading: false,
28
+ }
29
+ )
30
+
31
+ const { $store }: any = useNuxtApp()
32
+ const isNewView = computed<boolean>(() => $store.getters['main/getIsNewView'])
33
+ </script>
34
+
35
+ <style lang="scss" scoped></style>
@@ -1,99 +1,99 @@
1
- <template>
2
- <div class="compatibility-wrap">
3
- <p class="compatibility">
4
- {{ localization.inventorySummary.compatibility }}
5
- </p>
6
- <div class="compatibility-message flex-align-start">
7
- <ui-skeleton-item v-if="props.loading" width="160px" height="16px" />
8
- <template v-else-if="props.text">
9
- <ui-icon
10
- v-show="props.status === 'error'"
11
- name="error"
12
- width="16"
13
- height="16"
14
- class="icon-compatibility-alert"
15
- />
16
-
17
- <ui-icon
18
- v-show="props.status === 'success'"
19
- name="success-fill"
20
- width="16"
21
- height="16"
22
- class="icon-compatibility-alert"
23
- />
24
- <span
25
- :class="[
26
- 'compatibility-message-description',
27
- { 'not-selected': props.status === 'none' },
28
- ]"
29
- >{{ props.text }}</span
30
- >
31
- </template>
32
- </div>
33
- </div>
34
- </template>
35
-
36
- <script lang="ts" setup>
37
- import type { UI_I_Localization } from '~/lib/models/interfaces'
38
- import type { UI_T_CompatibilityStatus } from '~/components/common/wizards/common/compatibility/lib/models/types'
39
-
40
- const props = withDefaults(
41
- defineProps<{
42
- text: string
43
- status: UI_T_CompatibilityStatus
44
- loading?: boolean
45
- }>(),
46
- {
47
- loading: true,
48
- }
49
- )
50
-
51
- const localization = computed<UI_I_Localization>(() => useLocal())
52
- </script>
53
-
54
- <style>
55
- :root {
56
- --compatibility-border-color: #e9ebed;
57
- --compatibility-bg-color: #ffffff;
58
- --compatibility-title-color: #4d5d69;
59
- --compatibility-empty-escription-color: #9da6ad;
60
- --compatibility-description-color: #4d5d69;
61
- }
62
- :root.dark-theme {
63
- --compatibility-border-color: #e9ebed1f;
64
- --compatibility-bg-color: #1b2a371f;
65
- --compatibility-title-color: #e9eaec;
66
- --compatibility-empty-escription-color: #9da6ad;
67
- --compatibility-description-color: #e9eaec;
68
- }
69
- </style>
70
- <style lang="scss" scoped>
71
- .compatibility-wrap {
72
- .compatibility {
73
- font-size: 16px;
74
- font-weight: 500;
75
- color: var(--compatibility-title-color);
76
- margin-bottom: 16px;
77
- }
78
- .compatibility-message {
79
- border-radius: 8px;
80
- border: 1px solid var(--compatibility-border-color);
81
- padding: 12px;
82
- background-color: var(--compatibility-bg-color);
83
- gap: 10px;
84
-
85
- .icon-compatibility-alert {
86
- min-width: 16px;
87
- min-height: 16px;
88
- }
89
- .compatibility-message-description {
90
- font-size: 13px;
91
- color: var(--compatibility-description-color);
92
-
93
- &.not-selected {
94
- color: var(--compatibility-empty-escription-color);
95
- }
96
- }
97
- }
98
- }
99
- </style>
1
+ <template>
2
+ <div class="compatibility-wrap">
3
+ <p class="compatibility">
4
+ {{ localization.inventorySummary.compatibility }}
5
+ </p>
6
+ <div class="compatibility-message flex-align-start">
7
+ <ui-skeleton-item v-if="props.loading" width="160px" height="16px" />
8
+ <template v-else-if="props.text">
9
+ <ui-icon
10
+ v-show="props.status === 'error'"
11
+ name="error"
12
+ width="16"
13
+ height="16"
14
+ class="icon-compatibility-alert"
15
+ />
16
+
17
+ <ui-icon
18
+ v-show="props.status === 'success'"
19
+ name="success-fill"
20
+ width="16"
21
+ height="16"
22
+ class="icon-compatibility-alert"
23
+ />
24
+ <span
25
+ :class="[
26
+ 'compatibility-message-description',
27
+ { 'not-selected': props.status === 'none' },
28
+ ]"
29
+ >{{ props.text }}</span
30
+ >
31
+ </template>
32
+ </div>
33
+ </div>
34
+ </template>
35
+
36
+ <script lang="ts" setup>
37
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
38
+ import type { UI_T_CompatibilityStatus } from '~/components/common/wizards/common/compatibility/lib/models/types'
39
+
40
+ const props = withDefaults(
41
+ defineProps<{
42
+ text: string
43
+ status: UI_T_CompatibilityStatus
44
+ loading?: boolean
45
+ }>(),
46
+ {
47
+ loading: true,
48
+ }
49
+ )
50
+
51
+ const localization = computed<UI_I_Localization>(() => useLocal())
52
+ </script>
53
+
54
+ <style>
55
+ :root {
56
+ --compatibility-border-color: #e9ebed;
57
+ --compatibility-bg-color: #ffffff;
58
+ --compatibility-title-color: #4d5d69;
59
+ --compatibility-empty-escription-color: #9da6ad;
60
+ --compatibility-description-color: #4d5d69;
61
+ }
62
+ :root.dark-theme {
63
+ --compatibility-border-color: #e9ebed1f;
64
+ --compatibility-bg-color: #1b2a371f;
65
+ --compatibility-title-color: #e9eaec;
66
+ --compatibility-empty-escription-color: #9da6ad;
67
+ --compatibility-description-color: #e9eaec;
68
+ }
69
+ </style>
70
+ <style lang="scss" scoped>
71
+ .compatibility-wrap {
72
+ .compatibility {
73
+ font-size: 16px;
74
+ font-weight: 500;
75
+ color: var(--compatibility-title-color);
76
+ margin-bottom: 16px;
77
+ }
78
+ .compatibility-message {
79
+ border-radius: 8px;
80
+ border: 1px solid var(--compatibility-border-color);
81
+ padding: 12px;
82
+ background-color: var(--compatibility-bg-color);
83
+ gap: 10px;
84
+
85
+ .icon-compatibility-alert {
86
+ min-width: 16px;
87
+ min-height: 16px;
88
+ }
89
+ .compatibility-message-description {
90
+ font-size: 13px;
91
+ color: var(--compatibility-description-color);
92
+
93
+ &.not-selected {
94
+ color: var(--compatibility-empty-escription-color);
95
+ }
96
+ }
97
+ }
98
+ }
99
+ </style>
@@ -1,53 +1,53 @@
1
- <template>
2
- <div class="compatibility">
3
- <p class="compatibility__title">
4
- {{ localization.inventorySummary.compatibility }}
5
- </p>
6
- <div class="flex-align-center compatibility__content">
7
- <template v-if="props.text">
8
- <div class="compatibility__message">
9
- <div v-show="iconStatus" :class="['icon', iconStatus]" />
10
- <span>{{ props.text }}</span>
11
- </div>
12
- </template>
13
- </div>
14
- </div>
15
- </template>
16
-
17
- <script lang="ts" setup>
18
- import type { UI_I_Localization } from '~/lib/models/interfaces'
19
- import type { UI_T_CompatibilityStatus } from '~/components/common/wizards/common/compatibility/lib/models/types'
20
- import { UI_E_CompatibilityStatusIcon } from '~/components/common/wizards/common/compatibility/lib/models/enums'
21
-
22
- const props = defineProps<{
23
- text: string
24
- status: UI_T_CompatibilityStatus
25
- }>()
26
-
27
- const localization = computed<UI_I_Localization>(() => useLocal())
28
- const iconStatus = computed<string>(
29
- () => UI_E_CompatibilityStatusIcon[props.status]
30
- )
31
- </script>
32
-
33
- <style lang="scss" scoped>
34
- @import 'assets/scss/common/mixins';
35
- .compatibility {
36
- padding-top: 10px;
37
-
38
- &__content {
39
- align-items: self-start;
40
- border: 1px solid #000;
41
- padding-top: 5px;
42
- padding-left: 5px;
43
- overflow: auto;
44
- min-height: 75px;
45
- }
46
- &__message {
47
- @include flex($align: center);
48
- .icon {
49
- margin-right: 5px;
50
- }
51
- }
52
- }
53
- </style>
1
+ <template>
2
+ <div class="compatibility">
3
+ <p class="compatibility__title">
4
+ {{ localization.inventorySummary.compatibility }}
5
+ </p>
6
+ <div class="flex-align-center compatibility__content">
7
+ <template v-if="props.text">
8
+ <div class="compatibility__message">
9
+ <div v-show="iconStatus" :class="['icon', iconStatus]" />
10
+ <span>{{ props.text }}</span>
11
+ </div>
12
+ </template>
13
+ </div>
14
+ </div>
15
+ </template>
16
+
17
+ <script lang="ts" setup>
18
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
19
+ import type { UI_T_CompatibilityStatus } from '~/components/common/wizards/common/compatibility/lib/models/types'
20
+ import { UI_E_CompatibilityStatusIcon } from '~/components/common/wizards/common/compatibility/lib/models/enums'
21
+
22
+ const props = defineProps<{
23
+ text: string
24
+ status: UI_T_CompatibilityStatus
25
+ }>()
26
+
27
+ const localization = computed<UI_I_Localization>(() => useLocal())
28
+ const iconStatus = computed<string>(
29
+ () => UI_E_CompatibilityStatusIcon[props.status]
30
+ )
31
+ </script>
32
+
33
+ <style lang="scss" scoped>
34
+ @import 'assets/scss/common/mixins';
35
+ .compatibility {
36
+ padding-top: 10px;
37
+
38
+ &__content {
39
+ align-items: self-start;
40
+ border: 1px solid #000;
41
+ padding-top: 5px;
42
+ padding-left: 5px;
43
+ overflow: auto;
44
+ min-height: 75px;
45
+ }
46
+ &__message {
47
+ @include flex($align: center);
48
+ .icon {
49
+ margin-right: 5px;
50
+ }
51
+ }
52
+ }
53
+ </style>