bfg-common 1.5.715 → 1.5.716

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 (107) 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/vCenterModal.ts +48 -48
  16. package/components/common/diagramMain/port/Port.vue +580 -580
  17. package/components/common/layout/theHeader/TheHeader.vue +51 -37
  18. package/components/common/layout/theHeader/TheHeaderNew.vue +315 -305
  19. package/components/common/layout/theHeader/TheHeaderOld.vue +262 -252
  20. package/components/common/layout/theHeader/helpMenu/About.vue +79 -79
  21. package/components/common/layout/theHeader/helpMenu/aboutOld/AboutOld.vue +79 -79
  22. package/components/common/layout/theHeader/userMenu/UserMenu.vue +19 -9
  23. package/components/common/layout/theHeader/userMenu/modals/preferences/Preferences.vue +28 -13
  24. package/components/common/layout/theHeader/userMenu/modals/preferences/PreferencesNew.vue +16 -8
  25. package/components/common/layout/theHeader/userMenu/modals/preferences/PreferencesOld.vue +144 -136
  26. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/ChangeLanguage.vue +4 -10
  27. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/New.vue +28 -5
  28. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/Old.vue +28 -5
  29. package/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/DefaultConsole.vue +14 -1
  30. package/components/common/layout/theHeader/userMenu/modals/preferences/inventory/Inventory.vue +14 -1
  31. package/components/common/layout/theHeader/userMenu/modals/preferences/lib/models/types.ts +7 -7
  32. package/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/TimeFormat.vue +15 -2
  33. package/components/common/layout/theHeader/userMenu/modals/preferences/view/View.vue +15 -2
  34. package/components/common/pages/backups/DetailView.vue +52 -52
  35. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  36. package/components/common/pages/backups/modals/Modals.vue +243 -243
  37. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  38. package/components/common/pages/backups/modals/createBackup/lib/config/readyToCompleteOptions.ts +69 -69
  39. package/components/common/pages/backups/modals/lib/config/restore.ts +115 -115
  40. package/components/common/pages/backups/modals/lib/models/interfaces.ts +186 -186
  41. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  42. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  43. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  44. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  45. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  46. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  47. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  48. package/components/common/pages/tasks/Tasks.vue +125 -122
  49. package/components/common/pages/tasks/table/Table.vue +373 -370
  50. package/components/common/pages/tasks/table/lib/config/config.ts +279 -279
  51. package/components/common/pages/tasks/table/lib/models/interfaces.ts +6 -0
  52. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  53. package/components/common/select/radio/RadioGroup.vue +137 -137
  54. package/components/common/selectLanguage/SelectLanguage.vue +5 -5
  55. package/components/common/spiceConsole/Drawer.vue +420 -420
  56. package/components/common/spiceConsole/SpiceConsole.vue +184 -184
  57. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  58. package/components/common/tools/Actions.vue +207 -207
  59. package/components/common/treeView/TreeView.vue +52 -52
  60. package/components/common/vm/actions/clone/lib/config/steps.ts +295 -295
  61. package/components/common/vm/actions/clone/new/New.vue +438 -438
  62. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  63. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +283 -283
  64. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +156 -156
  65. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  66. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  67. package/components/common/vm/actions/common/select/options/New.vue +264 -264
  68. package/components/common/vm/actions/common/select/options/Options.vue +58 -58
  69. package/components/common/vm/actions/common/select/storage/Old.vue +125 -125
  70. package/components/common/vm/actions/common/select/storage/new/New.vue +311 -311
  71. package/components/common/vm/actions/common/select/storage/new/lib/models/interfaces.ts +5 -5
  72. package/components/common/vm/actions/common/select/storage/new/lib/utils/utils.ts +21 -21
  73. package/components/common/vm/actions/common/select/template/old/Old.vue +50 -50
  74. package/components/common/vm/actions/editSettings/new/Skeleton.vue +88 -88
  75. package/components/common/wizards/common/compatibility/Compatibility.vue +35 -35
  76. package/components/common/wizards/common/steps/computeResource/New.vue +93 -93
  77. package/components/common/wizards/common/steps/name/Name.vue +178 -178
  78. package/components/common/wizards/common/steps/name/New.vue +221 -221
  79. package/components/common/wizards/common/steps/name/Old.vue +121 -121
  80. package/components/common/wizards/common/steps/name/lib/models/interfaces.ts +4 -4
  81. package/components/common/wizards/common/steps/name/location/New.vue +40 -40
  82. package/components/common/wizards/datastore/add/Add.vue +228 -228
  83. package/components/common/wizards/datastore/add/lib/utils.ts +85 -85
  84. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  85. package/composables/useAppVersion.ts +21 -21
  86. package/composables/useLocal.ts +6 -6
  87. package/composables/useLocalCommon.ts +39 -39
  88. package/package.json +1 -1
  89. package/plugins/console.ts +21 -21
  90. package/plugins/mouse.ts +21 -21
  91. package/plugins/panelStates.ts +70 -70
  92. package/plugins/text.ts +59 -59
  93. package/public/spice-console/application/clientgui.js +854 -854
  94. package/public/spice-console/application/packetfactory.js +211 -211
  95. package/public/spice-console/application/virtualmouse.js +147 -147
  96. package/public/spice-console/lib/images/bitmap.js +203 -203
  97. package/public/spice-console/network/spicechannel.js +440 -440
  98. package/public/spice-console/process/cursorprocess.js +128 -128
  99. package/public/spice-console/process/inputprocess.js +227 -227
  100. package/public/spice-console/process/mainprocess.js +212 -212
  101. package/public/spice-console/run.js +210 -210
  102. package/store/main/mutations.ts +7 -7
  103. package/store/main/state.ts +7 -7
  104. package/store/tasks/actions.ts +1 -1
  105. package/store/tasks/mappers/recentTasks.ts +123 -123
  106. package/store/tasks/mappers/tasks.ts +8 -1
  107. package/store/tasks/mutations.ts +82 -82
@@ -1,136 +1,144 @@
1
- <template>
2
- <atoms-modal
3
- :title="localization.common.preferences"
4
- :modal-loading="isLoading || props.securityLoader"
5
- test-id="user-preferences-modal"
6
- width="580px"
7
- height="420px"
8
- show
9
- @hide="onHide"
10
- >
11
- <template #modalBody>
12
- <atoms-nav-bar
13
- v-model="selectedTab"
14
- :items="tabsItems"
15
- test-id="user-preferences-nav-bar"
16
- />
17
-
18
- <common-layout-the-header-user-menu-modals-preferences-time-format
19
- v-if="selectedTab === 'time-tab'"
20
- v-model:time-format="timeFormat"
21
- :new-view="props.newView"
22
- />
23
-
24
- <common-layout-the-header-user-menu-modals-preferences-change-language
25
- v-if="selectedTab === 'language-tab'"
26
- :new-view="props.newView"
27
- :selected-type="props.selectedLanguageType"
28
- :selected-language="props.selectedLanguage"
29
- @update-language="emits('update-language', $event)"
30
- @update-is-browser="emits('update-is-browser', $event)"
31
- />
32
-
33
- <common-layout-the-header-user-menu-modals-preferences-inventory
34
- v-if="selectedTab === 'inventory-tab' && isSphere"
35
- v-model="vmInHostsClusters"
36
- :new-view="props.newView"
37
- />
38
-
39
- <common-layout-the-header-user-menu-modals-preferences-default-console
40
- v-if="selectedTab === 'console-tab' && isSphere"
41
- v-model="consoleValue"
42
- :new-view="props.newView"
43
- />
44
-
45
- <common-layout-the-header-user-menu-modals-preferences-security
46
- v-if="selectedTab === 'security-tab'"
47
- v-model:security="security"
48
- :recovery="props.recovery"
49
- @confirm="emits('security-confirm', $event)"
50
- />
51
-
52
- <common-layout-the-header-user-menu-modals-preferences-view
53
- v-if="selectedTab === 'view-tab'"
54
- v-model:new-view-local="newViewLocal"
55
- :new-view="props.newView"
56
- />
57
- </template>
58
-
59
- <template #modalFooter>
60
- <button
61
- id="user-preferences-cancel-button"
62
- data-id="user-preferences-cancel-button"
63
- class="btn btn-outline"
64
- @click="onHide"
65
- >
66
- {{ localization.common.cancel }}
67
- </button>
68
- <button
69
- id="user-preferences-apply-button"
70
- data-id="user-preferences-apply-button"
71
- class="btn btn-primary"
72
- @click="onSubmit"
73
- >
74
- {{ localization.common.save }}
75
- </button>
76
- </template>
77
- </atoms-modal>
78
- </template>
79
-
80
- <script setup lang="ts">
81
- import type { UI_I_CollapseNavItem } from '~/components/atoms/collapse/lib/models/interfaces'
82
- import type { UI_I_Localization } from '~/lib/models/interfaces'
83
- import type { UI_T_LangValue, UI_T_Project } from '~/lib/models/types'
84
- import type { UI_T_UserPreferenceTab } from '~/components/common/layout/theHeader/userMenu/modals/preferences/lib/models/types'
85
- import type { UI_T_TimeValue } from '~/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/models/types'
86
- import type { UI_I_Recovery } from '~/components/common/layout/theHeader/userMenu/modals/preferences/security/lib/models/interfaces'
87
- import { preferencesTabs } from '~/components/common/layout/theHeader/userMenu/modals/preferences/lib/config/preferencesTabs'
88
-
89
- const security = defineModel<boolean>('security')
90
- const newViewLocal = defineModel<boolean>('newViewLocal')
91
- const timeFormat = defineModel<UI_T_TimeValue>('timeFormat')
92
- const consoleValue = defineModel<string>('consoleValue')
93
- const vmInHostsClusters = defineModel<boolean>('vmInHostsClusters')
94
-
95
- const props = defineProps<{
96
- project: UI_T_Project
97
- selectedLanguage: UI_T_LangValue
98
- selectedLanguageType: UI_T_LangValue
99
- newView: boolean
100
- securityLoader: boolean // для Сферы
101
- recovery: UI_I_Recovery | null // для Сферы
102
- }>()
103
- const emits = defineEmits<{
104
- (event: 'hide'): void
105
- (event: 'update-language', value: string): void
106
- (event: 'update-is-browser', value: string): void
107
- (event: 'security-confirm', value: boolean): void
108
- (event: 'submit'): void
109
- }>()
110
-
111
- // const { $store }: any = useNuxtApp()
112
-
113
- const localization = computed<UI_I_Localization>(() => useLocal())
114
-
115
- const isLoading = ref<boolean>(false)
116
-
117
- const isSphere = ref<boolean>(props.project === 'sphere')
118
- const selectedTab = ref<UI_T_UserPreferenceTab>('time-tab')
119
-
120
- const tabsItems = computed<UI_I_CollapseNavItem[]>(() =>
121
- preferencesTabs(localization.value, props.project)
122
- )
123
-
124
- const onSubmit = (): void => {
125
- isLoading.value = true
126
- emits('submit')
127
- }
128
-
129
- const onHide = (): void => {
130
- emits('hide')
131
-
132
- if (isSphere.value) {
133
- selectedTab.value = 'time-tab'
134
- }
135
- }
136
- </script>
1
+ <template>
2
+ <atoms-modal
3
+ :title="localization.common.preferences"
4
+ :modal-loading="isLoading || props.securityLoader"
5
+ test-id="user-preferences-modal"
6
+ width="580px"
7
+ height="420px"
8
+ show
9
+ @hide="onHide"
10
+ >
11
+ <template #modalBody>
12
+ <atoms-nav-bar
13
+ v-model="selectedTab"
14
+ :items="tabsItems"
15
+ test-id="user-preferences-nav-bar"
16
+ />
17
+
18
+ <common-layout-the-header-user-menu-modals-preferences-time-format
19
+ v-if="selectedTab === 'time-tab'"
20
+ :new-view="props.newView"
21
+ :time-format="props.timeFormat"
22
+ @update-time-format="emits('update-time-format', $event)"
23
+ />
24
+
25
+ <common-layout-the-header-user-menu-modals-preferences-change-language
26
+ v-if="selectedTab === 'language-tab'"
27
+ :new-view="props.newView"
28
+ :selected-type="props.selectedLanguageType"
29
+ :selected-language="props.selectedLanguage"
30
+ @update-language="emits('update-language', $event)"
31
+ @update-is-browser="emits('update-is-browser', $event)"
32
+ />
33
+
34
+ <common-layout-the-header-user-menu-modals-preferences-inventory
35
+ v-if="selectedTab === 'inventory-tab' && isSphere"
36
+ :new-view="props.newView"
37
+ :vm-cluster="props.vmCluster"
38
+ @update-vm-clusters="emits('update-vm-clusters', $event)"
39
+ />
40
+
41
+ <common-layout-the-header-user-menu-modals-preferences-default-console
42
+ v-if="selectedTab === 'console-tab' && isSphere"
43
+ :new-view="props.newView"
44
+ :remote-console="props.remoteConsole"
45
+ @update-remote-console="emits('update-remote-console', $event)"
46
+ />
47
+
48
+ <common-layout-the-header-user-menu-modals-preferences-security
49
+ v-if="selectedTab === 'security-tab'"
50
+ v-model:security="security"
51
+ :recovery="props.recovery"
52
+ @confirm="emits('security-confirm', $event)"
53
+ />
54
+
55
+ <common-layout-the-header-user-menu-modals-preferences-view
56
+ v-if="selectedTab === 'view-tab'"
57
+ :new-view="props.newView"
58
+ :new-view-local="props.newViewLocal"
59
+ @update-is-new-view="emits('update-is-new-view', $event)"
60
+ />
61
+ </template>
62
+
63
+ <template #modalFooter>
64
+ <button
65
+ id="user-preferences-cancel-button"
66
+ data-id="user-preferences-cancel-button"
67
+ class="btn btn-outline"
68
+ @click="onHide"
69
+ >
70
+ {{ localization.common.cancel }}
71
+ </button>
72
+ <button
73
+ id="user-preferences-apply-button"
74
+ data-id="user-preferences-apply-button"
75
+ class="btn btn-primary"
76
+ @click="onSubmit"
77
+ >
78
+ {{ localization.common.save }}
79
+ </button>
80
+ </template>
81
+ </atoms-modal>
82
+ </template>
83
+
84
+ <script setup lang="ts">
85
+ import type { UI_I_CollapseNavItem } from '~/components/atoms/collapse/lib/models/interfaces'
86
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
87
+ import type { UI_T_LangValue, UI_T_Project } from '~/lib/models/types'
88
+ import type { UI_T_UserPreferenceTab } from '~/components/common/layout/theHeader/userMenu/modals/preferences/lib/models/types'
89
+ import type { UI_T_TimeValue } from '~/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/models/types'
90
+ import type { UI_I_Recovery } from '~/components/common/layout/theHeader/userMenu/modals/preferences/security/lib/models/interfaces'
91
+ import { preferencesTabs } from '~/components/common/layout/theHeader/userMenu/modals/preferences/lib/config/preferencesTabs'
92
+
93
+ const security = defineModel<boolean>('security')
94
+
95
+ const props = defineProps<{
96
+ project: UI_T_Project
97
+ timeFormat: UI_T_TimeValue
98
+ selectedLanguage: UI_T_LangValue
99
+ selectedLanguageType: UI_T_LangValue
100
+ newView: boolean
101
+ newViewLocal: boolean
102
+ remoteConsole: string
103
+ vmCluster: boolean
104
+ securityLoader: boolean // для Сферы
105
+ recovery: UI_I_Recovery | null // для Сферы
106
+ }>()
107
+ const emits = defineEmits<{
108
+ (event: 'hide'): void
109
+ (event: 'update-time-format', value: UI_T_TimeValue): void
110
+ (event: 'update-language', value: string): void
111
+ (event: 'update-is-browser', value: string): void
112
+ (event: 'update-is-new-view', value: boolean): void
113
+ (event: 'update-remote-console', value: string): void
114
+ (event: 'update-vm-clusters', value: boolean): void
115
+ (event: 'security-confirm', value: boolean): void
116
+ (event: 'submit'): void
117
+ }>()
118
+
119
+ // const { $store }: any = useNuxtApp()
120
+
121
+ const localization = computed<UI_I_Localization>(() => useLocal())
122
+
123
+ const isLoading = ref<boolean>(false)
124
+
125
+ const isSphere = ref<boolean>(props.project === 'sphere')
126
+ const selectedTab = ref<UI_T_UserPreferenceTab>('time-tab')
127
+
128
+ const tabsItems = computed<UI_I_CollapseNavItem[]>(() =>
129
+ preferencesTabs(localization.value, props.project)
130
+ )
131
+
132
+ const onSubmit = (): void => {
133
+ isLoading.value = true
134
+ emits('submit')
135
+ }
136
+
137
+ const onHide = (): void => {
138
+ emits('hide')
139
+
140
+ if (isSphere.value) {
141
+ selectedTab.value = 'time-tab'
142
+ }
143
+ }
144
+ </script>
@@ -1,11 +1,13 @@
1
1
  <template>
2
2
  <component
3
3
  :is="currentComponent"
4
- v-model:language-mode="languageMode"
5
- v-model:selected-language="selectedLanguageLocal"
4
+ :selected-language="selectedLanguageLocal"
6
5
  :description="description"
7
6
  :radio-options="radioOptions"
7
+ :language-mode="languageMode"
8
8
  :locales="locales"
9
+ @update-language="onSelectLang"
10
+ @update-is-browser="onUpdateIsBrowser"
9
11
  />
10
12
  </template>
11
13
 
@@ -103,12 +105,4 @@ watch(
103
105
  },
104
106
  { immediate: true }
105
107
  )
106
-
107
- watch(languageMode, (newValue) => {
108
- onUpdateIsBrowser(newValue)
109
- })
110
-
111
- watch(selectedLanguageLocal, (newValue) => {
112
- onSelectLang(newValue)
113
- })
114
108
  </script>
@@ -15,7 +15,7 @@
15
15
 
16
16
  <div v-for="(item, key) in radioOptions" :key="key" class="radio flex">
17
17
  <ui-radio
18
- v-model="languageMode"
18
+ v-model="languageModeLocal"
19
19
  :test-id="item.testId"
20
20
  :label="item.label"
21
21
  :value="item.value"
@@ -24,9 +24,9 @@
24
24
 
25
25
  <span v-if="item.selectLang" class="select-language">
26
26
  <common-select-language
27
- v-model="selectedLanguage"
27
+ v-model="selectedLanguageLocal"
28
28
  :normalize-lang="props.locales"
29
- :disabled="languageMode === 'BROWSER'"
29
+ :disabled="languageModeLocal === 'BROWSER'"
30
30
  width="max-content"
31
31
  size="xs"
32
32
  />
@@ -43,15 +43,38 @@ import type { UI_T_SelectedRadio } from '~/components/common/layout/theHeader/us
43
43
  import type { UI_I_Localization } from '~/lib/models/interfaces'
44
44
  import type { UI_I_RadioItemLang } from '~/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/lib/models/interfaces'
45
45
 
46
- const languageMode = defineModel<UI_T_SelectedRadio>('languageMode')
47
- const selectedLanguage = defineModel<UI_I_Dropdown>('selectedLanguage')
48
46
  const props = defineProps<{
47
+ selectedLanguage: UI_I_Dropdown
49
48
  description: string
50
49
  radioOptions: UI_I_RadioItemLang[]
50
+ languageMode: UI_T_SelectedRadio
51
51
  locales: UI_I_Dropdown[]
52
52
  }>()
53
53
 
54
+ const emits = defineEmits<{
55
+ (event: 'update-language', value: UI_I_Dropdown): void
56
+ (event: 'update-is-browser', value: string): void
57
+ }>()
58
+
54
59
  const localization = computed<UI_I_Localization>(() => useLocal())
60
+
61
+ const selectedLanguageLocal = computed<UI_I_Dropdown>({
62
+ get() {
63
+ return props.selectedLanguage
64
+ },
65
+ set(newValue: UI_I_Dropdown) {
66
+ emits('update-language', newValue)
67
+ },
68
+ })
69
+
70
+ const languageModeLocal = computed<UI_T_SelectedRadio>({
71
+ get() {
72
+ return props.languageMode
73
+ },
74
+ set(newValue: UI_T_SelectedRadio) {
75
+ emits('update-is-browser', newValue)
76
+ },
77
+ })
55
78
  </script>
56
79
 
57
80
  <style lang="scss" scoped>
@@ -7,7 +7,7 @@
7
7
  <div v-for="(item, key) in props.radioOptions" :key="key" class="radio">
8
8
  <input
9
9
  :id="item.label"
10
- v-model="languageMode"
10
+ v-model="languageModeLocal"
11
11
  :data-id="item.testId"
12
12
  :value="item.value"
13
13
  type="radio"
@@ -17,8 +17,8 @@
17
17
  <span v-if="item.selectLang" class="select select-lang">
18
18
  <select
19
19
  id="language-select"
20
- v-model="selectedLanguage"
21
- :disabled="languageMode !== item.value"
20
+ v-model="selectedLanguageLocal"
21
+ :disabled="languageModeLocal !== item.value"
22
22
  data-id="language-select"
23
23
  >
24
24
  <option
@@ -40,13 +40,36 @@ import type { UI_T_LangValue } from '~/lib/models/types'
40
40
  import type { UI_T_SelectedRadio } from '~/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/lib/models/types'
41
41
  import type { UI_I_RadioItemLang } from '~/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/lib/models/interfaces'
42
42
 
43
- const languageMode = defineModel<UI_T_SelectedRadio>('languageMode')
44
- const selectedLanguage = defineModel<UI_T_LangValue>('selectedLanguage')
45
43
  const props = defineProps<{
44
+ selectedLanguage: UI_T_LangValue
46
45
  description: string
47
46
  radioOptions: UI_I_RadioItemLang[]
47
+ languageMode: UI_T_SelectedRadio
48
48
  locales: UI_I_Dropdown[]
49
49
  }>()
50
+
51
+ const emits = defineEmits<{
52
+ (event: 'update-language', value: UI_T_LangValue): void
53
+ (event: 'update-is-browser', value: string): void
54
+ }>()
55
+
56
+ const selectedLanguageLocal = computed<UI_T_LangValue>({
57
+ get() {
58
+ return props.selectedLanguage
59
+ },
60
+ set(newValue: UI_T_LangValue) {
61
+ emits('update-language', newValue)
62
+ },
63
+ })
64
+
65
+ const languageModeLocal = computed<UI_T_SelectedRadio>({
66
+ get() {
67
+ return props.languageMode
68
+ },
69
+ set(newValue: UI_T_SelectedRadio) {
70
+ emits('update-is-browser', newValue)
71
+ },
72
+ })
50
73
  </script>
51
74
 
52
75
  <style lang="scss" scoped>
@@ -11,11 +11,15 @@ import type { UI_I_Localization } from '~/lib/models/interfaces'
11
11
  import type { UI_I_RadioItemConsole } from '~/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/lib/models/interfaces'
12
12
  import { consoleOptionsFunc } from '~/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/lib/config/consoleOptions'
13
13
 
14
- const consoleValue = defineModel<string>()
15
14
  const props = defineProps<{
15
+ remoteConsole: string
16
16
  newView: boolean
17
17
  }>()
18
18
 
19
+ const emits = defineEmits<{
20
+ (event: 'update-remote-console', value: string): void
21
+ }>()
22
+
19
23
  const currentComponent = computed(() =>
20
24
  props.newView
21
25
  ? defineAsyncComponent(() => import('./New.vue'))
@@ -27,4 +31,13 @@ const localization = computed<UI_I_Localization>(() => useLocal())
27
31
  const consoleOptions = readonly<UI_I_RadioItemConsole[]>(
28
32
  consoleOptionsFunc(localization.value)
29
33
  )
34
+
35
+ const consoleValue = computed<string>({
36
+ get() {
37
+ return props.remoteConsole
38
+ },
39
+ set(newValue: string) {
40
+ emits('update-remote-console', newValue)
41
+ },
42
+ })
30
43
  </script>
@@ -3,16 +3,29 @@
3
3
  </template>
4
4
 
5
5
  <script setup lang="ts">
6
- const vmInHostsClusters = defineModel<boolean>()
7
6
  const props = defineProps<{
7
+ vmCluster: boolean
8
8
  newView: boolean
9
9
  }>()
10
10
 
11
+ const emits = defineEmits<{
12
+ (event: 'update-vm-clusters', value: boolean): void
13
+ }>()
14
+
11
15
  const currentComponent = computed(() =>
12
16
  props.newView
13
17
  ? defineAsyncComponent(() => import('./New.vue'))
14
18
  : defineAsyncComponent(() => import('./Old.vue'))
15
19
  )
20
+
21
+ const vmInHostsClusters = computed<boolean>({
22
+ get() {
23
+ return props.vmCluster
24
+ },
25
+ set(newValue: boolean) {
26
+ emits('update-vm-clusters', newValue)
27
+ },
28
+ })
16
29
  </script>
17
30
 
18
31
  <style lang="scss" scoped></style>
@@ -1,7 +1,7 @@
1
- export type UI_T_UserPreferenceTab =
2
- | 'time-tab'
3
- | 'language-tab'
4
- | 'console-tab'
5
- | 'inventory-tab'
6
- | 'security-tab'
7
- | 'view-tab'
1
+ export type UI_T_UserPreferenceTab =
2
+ | 'time-tab'
3
+ | 'language-tab'
4
+ | 'console-tab'
5
+ | 'inventory-tab'
6
+ | 'security-tab'
7
+ | 'view-tab'
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <component
3
3
  :is="currentComponent"
4
- v-model="timeFormat"
4
+ v-model="timeItem"
5
5
  :description="description"
6
6
  :format-options="formatOptions"
7
7
  />
@@ -13,11 +13,15 @@ import type { UI_I_RadioItem } from '~/components/common/layout/theHeader/userMe
13
13
  import type { UI_T_TimeValue } from '~/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/models/types'
14
14
  import { formatOptionsFunc } from '~/components/common/layout/theHeader/userMenu/modals/preferences/timeFormat/lib/config/formatOptions'
15
15
 
16
- const timeFormat = defineModel<UI_T_TimeValue>('timeFormat')
17
16
  const props = defineProps<{
17
+ timeFormat: UI_T_TimeValue
18
18
  newView: boolean
19
19
  }>()
20
20
 
21
+ const emits = defineEmits<{
22
+ (event: 'update-time-format', value: UI_T_TimeValue): void
23
+ }>()
24
+
21
25
  const currentComponent = computed(() =>
22
26
  props.newView
23
27
  ? defineAsyncComponent(() => import('./New.vue'))
@@ -38,4 +42,13 @@ const description = computed<string>(() =>
38
42
  const formatOptions = readonly<UI_I_RadioItem[]>(
39
43
  formatOptionsFunc(localization.value)
40
44
  )
45
+
46
+ const timeItem = computed<UI_T_TimeValue>({
47
+ get() {
48
+ return props.timeFormat
49
+ },
50
+ set(newValue: UI_T_TimeValue) {
51
+ emits('update-time-format', newValue)
52
+ },
53
+ })
41
54
  </script>
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <component
3
3
  :is="currentComponent"
4
- v-model="newViewLocal"
4
+ v-model="model"
5
5
  :description="description"
6
6
  />
7
7
  </template>
@@ -9,9 +9,13 @@
9
9
  <script setup lang="ts">
10
10
  import type { UI_I_Localization } from '~/lib/models/interfaces'
11
11
 
12
- const newViewLocal = defineModel<boolean>('newViewLocal')
13
12
  const props = defineProps<{
14
13
  newView: boolean
14
+ newViewLocal: boolean
15
+ }>()
16
+
17
+ const emits = defineEmits<{
18
+ (event: 'update-is-new-view', value: boolean): void
15
19
  }>()
16
20
 
17
21
  const config = useRuntimeConfig()
@@ -30,4 +34,13 @@ const description = computed<string>(() => {
30
34
  String(config.public[`TRADEMARK_${useEnvLanguage()}`])
31
35
  )
32
36
  })
37
+
38
+ const model = computed<boolean>({
39
+ get() {
40
+ return props.newViewLocal
41
+ },
42
+ set(newValue: boolean) {
43
+ emits('update-is-new-view', newValue)
44
+ },
45
+ })
33
46
  </script>