bfg-common 1.5.657 → 1.5.659

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 (99) 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/TheHeaderNew.vue +315 -315
  18. package/components/common/layout/theHeader/TheHeaderOld.vue +262 -262
  19. package/components/common/layout/theHeader/helpMenu/About.vue +79 -79
  20. package/components/common/layout/theHeader/helpMenu/aboutOld/AboutOld.vue +79 -79
  21. package/components/common/layout/theHeader/userMenu/modals/changePassword/ChangePassword.vue +99 -99
  22. package/components/common/layout/theHeader/userMenu/modals/changePassword/New.vue +193 -193
  23. package/components/common/layout/theHeader/userMenu/modals/preferences/PreferencesOld.vue +144 -144
  24. package/components/common/layout/theHeader/userMenu/modals/preferences/lib/models/types.ts +7 -7
  25. package/components/common/layout/theHeader/userMenu/modals/preferences/security/Old.vue +210 -210
  26. package/components/common/layout/theHeader/userMenu/modals/preferences/security/Security.vue +31 -31
  27. package/components/common/pages/backups/DetailView.vue +52 -52
  28. package/components/common/pages/backups/lib/models/interfaces.ts +36 -36
  29. package/components/common/pages/backups/modals/Modals.vue +243 -243
  30. package/components/common/pages/backups/modals/createBackup/configuration/maxBandwidth/lib/config/options.ts +6 -6
  31. package/components/common/pages/backups/modals/createBackup/lib/config/readyToCompleteOptions.ts +69 -69
  32. package/components/common/pages/backups/modals/lib/config/restore.ts +115 -115
  33. package/components/common/pages/backups/modals/lib/models/interfaces.ts +186 -186
  34. package/components/common/pages/backups/modals/restore/name/lib/models/interfaces.ts +6 -6
  35. package/components/common/pages/hardwareHealth/toolsPanel/lib/config/actionsPanel.ts +34 -34
  36. package/components/common/pages/home/lib/models/interfaces.ts +48 -48
  37. package/components/common/pages/home/widgets/hosts/Hosts.vue +27 -27
  38. package/components/common/pages/home/widgets/hosts/lib/config/items.ts +23 -23
  39. package/components/common/pages/home/widgets/vms/VmsOld.vue +35 -35
  40. package/components/common/pages/home/widgets/vms/lib/config/items.ts +19 -19
  41. package/components/common/pages/scheduledTasks/lib/utils/utils.ts +84 -84
  42. package/components/common/qrcode/Qrcode.vue +56 -56
  43. package/components/common/readyToComplete/ReadyToComplete.vue +17 -17
  44. package/components/common/select/radio/RadioGroup.vue +137 -137
  45. package/components/common/spiceConsole/Drawer.vue +420 -420
  46. package/components/common/spiceConsole/SpiceConsole.vue +184 -184
  47. package/components/common/spiceConsole/lib/models/interfaces.ts +5 -5
  48. package/components/common/tools/Actions.vue +207 -207
  49. package/components/common/treeView/TreeView.vue +52 -52
  50. package/components/common/vm/actions/clone/lib/config/steps.ts +295 -295
  51. package/components/common/vm/actions/clone/new/New.vue +438 -438
  52. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/lib/config/options.ts +28 -28
  53. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +283 -283
  54. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +156 -156
  55. package/components/common/vm/actions/common/select/compatibility/Old.vue +107 -107
  56. package/components/common/vm/actions/common/select/createType/lib/models/interfaces.ts +5 -5
  57. package/components/common/vm/actions/common/select/options/New.vue +264 -264
  58. package/components/common/vm/actions/common/select/options/Old.vue +110 -110
  59. package/components/common/vm/actions/common/select/options/Options.vue +58 -58
  60. package/components/common/vm/actions/common/select/storage/Old.vue +125 -125
  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/wizards/common/compatibility/Compatibility.vue +35 -35
  67. package/components/common/wizards/common/compatibility/New.vue +99 -99
  68. package/components/common/wizards/common/compatibility/Old.vue +53 -53
  69. package/components/common/wizards/common/steps/computeResource/New.vue +93 -93
  70. package/components/common/wizards/common/steps/name/Name.vue +178 -178
  71. package/components/common/wizards/common/steps/name/New.vue +221 -221
  72. package/components/common/wizards/common/steps/name/Old.vue +121 -121
  73. package/components/common/wizards/common/steps/name/lib/models/interfaces.ts +4 -4
  74. package/components/common/wizards/common/steps/name/location/New.vue +40 -40
  75. package/components/common/wizards/datastore/add/Add.vue +228 -228
  76. package/components/common/wizards/datastore/add/lib/utils.ts +85 -85
  77. package/components/common/wizards/datastore/add/steps/typeMode/lib/config/typeOptions.ts +43 -43
  78. package/composables/useAppVersion.ts +21 -21
  79. package/composables/useLocal.ts +6 -6
  80. package/composables/useLocalCommon.ts +39 -39
  81. package/package.json +1 -1
  82. package/plugins/console.ts +21 -21
  83. package/plugins/mouse.ts +21 -21
  84. package/plugins/panelStates.ts +70 -70
  85. package/plugins/text.ts +59 -59
  86. package/public/spice-console/application/clientgui.js +854 -854
  87. package/public/spice-console/application/packetfactory.js +211 -211
  88. package/public/spice-console/application/virtualmouse.js +147 -147
  89. package/public/spice-console/lib/images/bitmap.js +203 -203
  90. package/public/spice-console/network/spicechannel.js +440 -440
  91. package/public/spice-console/process/cursorprocess.js +128 -128
  92. package/public/spice-console/process/inputprocess.js +227 -227
  93. package/public/spice-console/process/mainprocess.js +212 -212
  94. package/public/spice-console/run.js +210 -210
  95. package/store/main/mutations.ts +7 -7
  96. package/store/main/state.ts +7 -7
  97. package/store/tasks/actions.ts +165 -165
  98. package/store/tasks/mappers/recentTasks.ts +123 -123
  99. package/store/tasks/mutations.ts +82 -82
@@ -1,85 +1,85 @@
1
- import Wizard from '~/node_modules/bfg-uikit/components/ui/wizard/lib/utils/utils'
2
- import type { API_UI_I_Error } from '~/lib/models/store/interfaces'
3
- import type { UI_T_Project } from '~/lib/models/types'
4
- import { UI_E_Kind } from '~/lib/models/enums'
5
-
6
- export const checkValidityName = async ({
7
- name,
8
- wizard,
9
- project,
10
- sendMessage,
11
- datacenterId,
12
- }: {
13
- name: string
14
- wizard: Wizard
15
- project: UI_T_Project
16
- sendMessage: (message: string) => void
17
- datacenterId?: string
18
- }): Promise<void> => {
19
- wizard.setLoader(true)
20
- const url = buildValidationUrl(name, project, datacenterId)
21
-
22
- const { error } = await useMyFetch<null, API_UI_I_Error>(url, {
23
- method: 'GET',
24
- })
25
-
26
- wizard.setLoader(false)
27
-
28
- if (error.value && error.value.data.error_code !== 0) {
29
- const existError = error.value.data?.error_message || error.value.data
30
- sendMessage(existError)
31
- return
32
- }
33
- sendMessage('')
34
- }
35
-
36
- const buildValidationUrl = (
37
- name: string,
38
- project: UI_T_Project,
39
- datacenterId?: string
40
- ): string => {
41
- if (project === 'procurator') {
42
- const params = new URLSearchParams({ name })
43
- return `/ui/ds/validate?${params.toString()}`
44
- }
45
-
46
- const params = new URLSearchParams()
47
- params.set('name', name)
48
- params.set('kind', String(UI_E_Kind.STORAGE_VALIDATION_NAME))
49
- if (datacenterId) params.set('datacenter', datacenterId)
50
-
51
- return `/ui/object/validate_name_datacenter?${params.toString()}`
52
- }
53
-
54
- export const validateNameAndGenerateDataId = (
55
- name: string,
56
- _errorMessage: string,
57
- defaultDataId?: string
58
- ): string => {
59
- let baseDataId = defaultDataId || 'storage-name-alert-error'
60
-
61
- const patterns = [
62
- {
63
- regex: /^[a-zA-Z0-9_\-\.]+$/,
64
- error_message:
65
- /invalid name, must only contain letters, numbers, and '_', '-' '.' symbols/,
66
- suffix: '-invalid-name-symbols',
67
- },
68
- {
69
- regex: /^.{3,64}$/,
70
- error_message:
71
- /invalid name length, must be between: \d+ and \d+ characters/,
72
- suffix: '-invalid-name-length',
73
- },
74
- ]
75
-
76
- // Проверка error_message на соответствие шаблонам
77
-
78
- for (const pattern of patterns) {
79
- if (!pattern.regex.test(name)) {
80
- return `${baseDataId}${pattern.suffix}`
81
- }
82
- }
83
-
84
- return baseDataId
85
- }
1
+ import Wizard from '~/node_modules/bfg-uikit/components/ui/wizard/lib/utils/utils'
2
+ import type { API_UI_I_Error } from '~/lib/models/store/interfaces'
3
+ import type { UI_T_Project } from '~/lib/models/types'
4
+ import { UI_E_Kind } from '~/lib/models/enums'
5
+
6
+ export const checkValidityName = async ({
7
+ name,
8
+ wizard,
9
+ project,
10
+ sendMessage,
11
+ datacenterId,
12
+ }: {
13
+ name: string
14
+ wizard: Wizard
15
+ project: UI_T_Project
16
+ sendMessage: (message: string) => void
17
+ datacenterId?: string
18
+ }): Promise<void> => {
19
+ wizard.setLoader(true)
20
+ const url = buildValidationUrl(name, project, datacenterId)
21
+
22
+ const { error } = await useMyFetch<null, API_UI_I_Error>(url, {
23
+ method: 'GET',
24
+ })
25
+
26
+ wizard.setLoader(false)
27
+
28
+ if (error.value && error.value.data.error_code !== 0) {
29
+ const existError = error.value.data?.error_message || error.value.data
30
+ sendMessage(existError)
31
+ return
32
+ }
33
+ sendMessage('')
34
+ }
35
+
36
+ const buildValidationUrl = (
37
+ name: string,
38
+ project: UI_T_Project,
39
+ datacenterId?: string
40
+ ): string => {
41
+ if (project === 'procurator') {
42
+ const params = new URLSearchParams({ name })
43
+ return `/ui/ds/validate?${params.toString()}`
44
+ }
45
+
46
+ const params = new URLSearchParams()
47
+ params.set('name', name)
48
+ params.set('kind', String(UI_E_Kind.STORAGE_VALIDATION_NAME))
49
+ if (datacenterId) params.set('datacenter', datacenterId)
50
+
51
+ return `/ui/object/validate_name_datacenter?${params.toString()}`
52
+ }
53
+
54
+ export const validateNameAndGenerateDataId = (
55
+ name: string,
56
+ _errorMessage: string,
57
+ defaultDataId?: string
58
+ ): string => {
59
+ let baseDataId = defaultDataId || 'storage-name-alert-error'
60
+
61
+ const patterns = [
62
+ {
63
+ regex: /^[a-zA-Z0-9_\-\.]+$/,
64
+ error_message:
65
+ /invalid name, must only contain letters, numbers, and '_', '-' '.' symbols/,
66
+ suffix: '-invalid-name-symbols',
67
+ },
68
+ {
69
+ regex: /^.{3,64}$/,
70
+ error_message:
71
+ /invalid name length, must be between: \d+ and \d+ characters/,
72
+ suffix: '-invalid-name-length',
73
+ },
74
+ ]
75
+
76
+ // Проверка error_message на соответствие шаблонам
77
+
78
+ for (const pattern of patterns) {
79
+ if (!pattern.regex.test(name)) {
80
+ return `${baseDataId}${pattern.suffix}`
81
+ }
82
+ }
83
+
84
+ return baseDataId
85
+ }
@@ -1,43 +1,43 @@
1
- import type { UI_I_Localization } from '~/lib/models/interfaces'
2
- import type { UI_T_Project } from '~/lib/models/types'
3
- import type { UI_I_RadioOption } from '~/components/common/select/radio/lib/models/interfaces'
4
-
5
- export const datastoreTypesFunc = (
6
- localization: UI_I_Localization,
7
- _project?: UI_T_Project
8
- ): UI_I_RadioOption[] => {
9
- return [
10
- {
11
- id: 'datastore-type-shared-storm',
12
- label: localization.common.stormSharedStorage,
13
- value: 2,
14
- disabled: false,
15
- description: localization.common.sharedStormDesc,
16
- isTooltip: false,
17
- tooltipContent: localization.common.stormSharedStorageHelpDesc,
18
- testId: 'datastore-type-shared-storm',
19
- },
20
- {
21
- id: 'datastore-type-nfs',
22
- label: localization.common.nfs,
23
- value: 4,
24
- disabled: false,
25
- description: localization.common.nfsDesc,
26
- isTooltip: false,
27
- tooltipContent: localization.common.nfsHelpDesc,
28
- testId: 'datastore-type-nfs',
29
- },
30
- ]
31
-
32
- // if (project === 'procurator') {
33
- // types.unshift({
34
- // label: localization.common.localStorage,
35
- // value: 1,
36
- // disabled: false,
37
- // description: localization.common.localDesc,
38
- // isTooltip: false,
39
- // tooltipContent: localization.common.localStorageHelpDesc,
40
- // testId: 'datastore-type-local',
41
- // })
42
- // }
43
- }
1
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
2
+ import type { UI_T_Project } from '~/lib/models/types'
3
+ import type { UI_I_RadioOption } from '~/components/common/select/radio/lib/models/interfaces'
4
+
5
+ export const datastoreTypesFunc = (
6
+ localization: UI_I_Localization,
7
+ _project?: UI_T_Project
8
+ ): UI_I_RadioOption[] => {
9
+ return [
10
+ {
11
+ id: 'datastore-type-shared-storm',
12
+ label: localization.common.stormSharedStorage,
13
+ value: 2,
14
+ disabled: false,
15
+ description: localization.common.sharedStormDesc,
16
+ isTooltip: false,
17
+ tooltipContent: localization.common.stormSharedStorageHelpDesc,
18
+ testId: 'datastore-type-shared-storm',
19
+ },
20
+ {
21
+ id: 'datastore-type-nfs',
22
+ label: localization.common.nfs,
23
+ value: 4,
24
+ disabled: false,
25
+ description: localization.common.nfsDesc,
26
+ isTooltip: false,
27
+ tooltipContent: localization.common.nfsHelpDesc,
28
+ testId: 'datastore-type-nfs',
29
+ },
30
+ ]
31
+
32
+ // if (project === 'procurator') {
33
+ // types.unshift({
34
+ // label: localization.common.localStorage,
35
+ // value: 1,
36
+ // disabled: false,
37
+ // description: localization.common.localDesc,
38
+ // isTooltip: false,
39
+ // tooltipContent: localization.common.localStorageHelpDesc,
40
+ // testId: 'datastore-type-local',
41
+ // })
42
+ // }
43
+ }
@@ -1,21 +1,21 @@
1
- import type { UI_I_UseAppVersionReturnType } from '~/lib/models/composables/useAppVersion/interfaces'
2
-
3
- export function useAppVersion(): UI_I_UseAppVersionReturnType {
4
- const config = useRuntimeConfig()
5
- const version = config.public.APP_VERSION as string
6
-
7
- // const regexHasDot = /\./
8
- // const regexHasDotAndB = /\.\d*b$/
9
- // const regexHasDotAndD = /\..*d/
10
-
11
- // const isBeta = regexHasDotAndB.test(version)
12
- // const isDev =
13
- // regexHasDotAndD.test(version) ||
14
- // (!regexHasDot.test(version) && version.length < 8)
15
-
16
- return {
17
- version,
18
- // isBeta,
19
- // isDev,
20
- }
21
- }
1
+ import type { UI_I_UseAppVersionReturnType } from '~/lib/models/composables/useAppVersion/interfaces'
2
+
3
+ export function useAppVersion(): UI_I_UseAppVersionReturnType {
4
+ const config = useRuntimeConfig()
5
+ const version = config.public.APP_VERSION as string
6
+
7
+ // const regexHasDot = /\./
8
+ // const regexHasDotAndB = /\.\d*b$/
9
+ // const regexHasDotAndD = /\..*d/
10
+
11
+ // const isBeta = regexHasDotAndB.test(version)
12
+ // const isDev =
13
+ // regexHasDotAndD.test(version) ||
14
+ // (!regexHasDot.test(version) && version.length < 8)
15
+
16
+ return {
17
+ version,
18
+ // isBeta,
19
+ // isDev,
20
+ }
21
+ }
@@ -1,6 +1,6 @@
1
- import type { UI_I_Localization } from '~/lib/models/interfaces'
2
- import { useLocalCommon } from '~/composables/useLocalCommon'
3
-
4
- export const useLocal = (): UI_I_Localization => {
5
- return useLocalCommon()
6
- }
1
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
2
+ import { useLocalCommon } from '~/composables/useLocalCommon'
3
+
4
+ export const useLocal = (): UI_I_Localization => {
5
+ return useLocalCommon()
6
+ }
@@ -1,39 +1,39 @@
1
- import type { UI_I_Localization } from '~/lib/models/interfaces'
2
- import localAr from '~/assets/scss/clarity/local_ar.json'
3
- import localRu from '~/assets/localization/local_ru.json'
4
- import localEn from '~/assets/localization/local_en.json'
5
- import localHy from '~/assets/localization/local_hy.json'
6
- import localZh from '~/assets/localization/local_zh.json'
7
- import localKk from '~/assets/localization/local_kk.json'
8
- import localBe from '~/assets/localization/local_be.json'
9
- import { productNameLocal } from '~/lib/utils/localizationMapper'
10
-
11
- const rawLocals: Record<string, any> = {
12
- ar: localAr,
13
- ru: localRu,
14
- en: localEn,
15
- hy: localHy,
16
- zh: localZh,
17
- kk: localKk,
18
- be: localBe,
19
- }
20
-
21
- // Кешируем уже обработанные локали
22
- const processedCache: Record<string, UI_I_Localization | undefined> = {}
23
-
24
- export const useLocalCommon = (): UI_I_Localization => {
25
- const config = useRuntimeConfig()
26
- let code = String(config?.public?.LOCALIZATION_CODE || 'ru').toLowerCase()
27
-
28
- if (code === 'ar' && !useLocalStorage('rtl')) code = 'ru'
29
-
30
- if (typeof document !== 'undefined') document.documentElement.lang = code
31
-
32
- // если в кеше нет — создаём и сохраняем
33
- if (!processedCache[code]) {
34
- const raw = rawLocals[code] || rawLocals['ru']
35
- processedCache[code] = productNameLocal(raw)
36
- }
37
-
38
- return processedCache[code] as UI_I_Localization
39
- }
1
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
2
+ import localAr from '~/assets/scss/clarity/local_ar.json'
3
+ import localRu from '~/assets/localization/local_ru.json'
4
+ import localEn from '~/assets/localization/local_en.json'
5
+ import localHy from '~/assets/localization/local_hy.json'
6
+ import localZh from '~/assets/localization/local_zh.json'
7
+ import localKk from '~/assets/localization/local_kk.json'
8
+ import localBe from '~/assets/localization/local_be.json'
9
+ import { productNameLocal } from '~/lib/utils/localizationMapper'
10
+
11
+ const rawLocals: Record<string, any> = {
12
+ ar: localAr,
13
+ ru: localRu,
14
+ en: localEn,
15
+ hy: localHy,
16
+ zh: localZh,
17
+ kk: localKk,
18
+ be: localBe,
19
+ }
20
+
21
+ // Кешируем уже обработанные локали
22
+ const processedCache: Record<string, UI_I_Localization | undefined> = {}
23
+
24
+ export const useLocalCommon = (): UI_I_Localization => {
25
+ const config = useRuntimeConfig()
26
+ let code = String(config?.public?.LOCALIZATION_CODE || 'ru').toLowerCase()
27
+
28
+ if (code === 'ar' && !useLocalStorage('rtl')) code = 'ru'
29
+
30
+ if (typeof document !== 'undefined') document.documentElement.lang = code
31
+
32
+ // если в кеше нет — создаём и сохраняем
33
+ if (!processedCache[code]) {
34
+ const raw = rawLocals[code] || rawLocals['ru']
35
+ processedCache[code] = productNameLocal(raw)
36
+ }
37
+
38
+ return processedCache[code] as UI_I_Localization
39
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bfg-common",
3
3
  "private": false,
4
- "version": "1.5.657",
4
+ "version": "1.5.659",
5
5
  "scripts": {
6
6
  "build": "nuxt build",
7
7
  "dev": "nuxt dev --port=3002",
@@ -1,21 +1,21 @@
1
- import { defineNuxtPlugin } from '#app'
2
- import type { UI_T_CODEC } from '~/components/common/spiceConsole/lib/models/types'
3
-
4
- export default defineNuxtPlugin(() => {
5
- const console = function (): any {
6
- const self: any = {
7
- codec: ref<UI_T_CODEC>(1),
8
- }
9
-
10
- self.changeCodec = (codec: UI_T_CODEC): void => {
11
- self.codec.value = codec
12
- }
13
- return self
14
- }.call({})
15
-
16
- return {
17
- provide: {
18
- console,
19
- },
20
- }
21
- })
1
+ import { defineNuxtPlugin } from '#app'
2
+ import type { UI_T_CODEC } from '~/components/common/spiceConsole/lib/models/types'
3
+
4
+ export default defineNuxtPlugin(() => {
5
+ const console = function (): any {
6
+ const self: any = {
7
+ codec: ref<UI_T_CODEC>(1),
8
+ }
9
+
10
+ self.changeCodec = (codec: UI_T_CODEC): void => {
11
+ self.codec.value = codec
12
+ }
13
+ return self
14
+ }.call({})
15
+
16
+ return {
17
+ provide: {
18
+ console,
19
+ },
20
+ }
21
+ })
package/plugins/mouse.ts CHANGED
@@ -1,21 +1,21 @@
1
- import { defineNuxtPlugin } from '#app'
2
- import type { UI_T_MouseMode } from '~/components/common/spiceConsole/lib/models/types'
3
-
4
- export default defineNuxtPlugin(() => {
5
- const mouse = function (): any {
6
- const self: any = {
7
- mode: ref<UI_T_MouseMode>(1),
8
- }
9
-
10
- self.changeMode = (mode: UI_T_MouseMode): void => {
11
- self.mode.value = mode
12
- }
13
- return self
14
- }.call({})
15
-
16
- return {
17
- provide: {
18
- mouse,
19
- },
20
- }
21
- })
1
+ import { defineNuxtPlugin } from '#app'
2
+ import type { UI_T_MouseMode } from '~/components/common/spiceConsole/lib/models/types'
3
+
4
+ export default defineNuxtPlugin(() => {
5
+ const mouse = function (): any {
6
+ const self: any = {
7
+ mode: ref<UI_T_MouseMode>(1),
8
+ }
9
+
10
+ self.changeMode = (mode: UI_T_MouseMode): void => {
11
+ self.mode.value = mode
12
+ }
13
+ return self
14
+ }.call({})
15
+
16
+ return {
17
+ provide: {
18
+ mouse,
19
+ },
20
+ }
21
+ })
@@ -1,70 +1,70 @@
1
- import { defineNuxtPlugin } from '#app'
2
- import type { UI_I_PanelOptions } from '~/lib/models/plugins/panelStates/interfaces'
3
-
4
- export default defineNuxtPlugin(() => {
5
- const panelStates = function (): any {
6
- const self: any = {}
7
- let options: UI_I_PanelOptions = {
8
- leftPanelWidth: 20,
9
- topPanelHeight: 80,
10
- isBottomPanelCollapsed: false,
11
- }
12
-
13
- self.setLeftPanelWidth = function (width: number): void {
14
- options.leftPanelWidth = width
15
-
16
- self.setPanelStatesInStorage()
17
- }
18
- self.setTopPanelHeight = function (height: number): void {
19
- options.topPanelHeight = height
20
-
21
- self.setPanelStatesInStorage()
22
- }
23
- self.bottomPanelCollapse = function (collapse: boolean): void {
24
- options.isBottomPanelCollapsed = collapse
25
-
26
- self.setPanelStatesInStorage()
27
- }
28
-
29
- self.setPanelStatesInStorage = function (): void {
30
- useLocalStorage('panelStates', options)
31
- self.emitChanges()
32
- }
33
- self.getPanelStatesOfStorage = function (): UI_I_PanelOptions {
34
- let panelStates = useLocalStorage('panelStates')
35
-
36
- if (!panelStates) {
37
- // const parent = document.getElementById('default-layout-outer')
38
- const parent = document.body
39
- const parentHeight = parent?.clientHeight || 0
40
- const onePercent = parentHeight / 100
41
- const defaultRecentTasksHeight = 250
42
-
43
- options.topPanelHeight =
44
- (parentHeight - defaultRecentTasksHeight - 1.5) / onePercent
45
-
46
- panelStates = options
47
- }
48
-
49
- options = panelStates
50
-
51
- return panelStates
52
- }
53
-
54
- self.cb = (): void => {}
55
- self.on = function (cb: () => any | void): void {
56
- self.cb = cb
57
- }
58
- self.emitChanges = function (): void {
59
- self.cb(options)
60
- }
61
-
62
- return self
63
- }.call({})
64
-
65
- return {
66
- provide: {
67
- panelStates,
68
- },
69
- }
70
- })
1
+ import { defineNuxtPlugin } from '#app'
2
+ import type { UI_I_PanelOptions } from '~/lib/models/plugins/panelStates/interfaces'
3
+
4
+ export default defineNuxtPlugin(() => {
5
+ const panelStates = function (): any {
6
+ const self: any = {}
7
+ let options: UI_I_PanelOptions = {
8
+ leftPanelWidth: 20,
9
+ topPanelHeight: 80,
10
+ isBottomPanelCollapsed: false,
11
+ }
12
+
13
+ self.setLeftPanelWidth = function (width: number): void {
14
+ options.leftPanelWidth = width
15
+
16
+ self.setPanelStatesInStorage()
17
+ }
18
+ self.setTopPanelHeight = function (height: number): void {
19
+ options.topPanelHeight = height
20
+
21
+ self.setPanelStatesInStorage()
22
+ }
23
+ self.bottomPanelCollapse = function (collapse: boolean): void {
24
+ options.isBottomPanelCollapsed = collapse
25
+
26
+ self.setPanelStatesInStorage()
27
+ }
28
+
29
+ self.setPanelStatesInStorage = function (): void {
30
+ useLocalStorage('panelStates', options)
31
+ self.emitChanges()
32
+ }
33
+ self.getPanelStatesOfStorage = function (): UI_I_PanelOptions {
34
+ let panelStates = useLocalStorage('panelStates')
35
+
36
+ if (!panelStates) {
37
+ // const parent = document.getElementById('default-layout-outer')
38
+ const parent = document.body
39
+ const parentHeight = parent?.clientHeight || 0
40
+ const onePercent = parentHeight / 100
41
+ const defaultRecentTasksHeight = 250
42
+
43
+ options.topPanelHeight =
44
+ (parentHeight - defaultRecentTasksHeight - 1.5) / onePercent
45
+
46
+ panelStates = options
47
+ }
48
+
49
+ options = panelStates
50
+
51
+ return panelStates
52
+ }
53
+
54
+ self.cb = (): void => {}
55
+ self.on = function (cb: () => any | void): void {
56
+ self.cb = cb
57
+ }
58
+ self.emitChanges = function (): void {
59
+ self.cb(options)
60
+ }
61
+
62
+ return self
63
+ }.call({})
64
+
65
+ return {
66
+ provide: {
67
+ panelStates,
68
+ },
69
+ }
70
+ })