bfg-common 1.4.355 → 1.4.356

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 (33) hide show
  1. package/assets/localization/local_be.json +2823 -2796
  2. package/assets/localization/local_en.json +2827 -2800
  3. package/assets/localization/local_hy.json +28 -1
  4. package/assets/localization/local_kk.json +28 -1
  5. package/assets/localization/local_ru.json +28 -1
  6. package/assets/localization/local_zh.json +28 -1
  7. package/components/common/layout/theHeader/feedback/Feedback.vue +12 -7
  8. package/components/common/layout/theHeader/feedback/lib/config/sendFeedback.ts +9 -0
  9. package/components/common/layout/theHeader/feedback/new/New.vue +131 -0
  10. package/components/common/layout/theHeader/feedback/new/additionalDetails/AdditionalDetails.vue +14 -0
  11. package/components/common/layout/theHeader/feedback/new/description/Description.vue +58 -0
  12. package/components/common/layout/theHeader/feedback/new/email/Email.vue +43 -0
  13. package/components/common/layout/theHeader/feedback/new/subtitle/Subtitle.vue +83 -0
  14. package/components/common/layout/theHeader/feedback/new/tabs/Tabs.vue +79 -0
  15. package/components/common/layout/theHeader/feedback/new/tabs/lib/config/tabs.ts +25 -0
  16. package/components/common/layout/theHeader/feedback/new/tabs/lib/models/interfaces.ts +17 -0
  17. package/components/common/layout/theHeader/feedback/new/tabs/lib/models/types.ts +1 -0
  18. package/components/common/layout/theHeader/helpMenu/About.vue +45 -72
  19. package/components/common/layout/theHeader/helpMenu/HelpMenu.vue +1 -1
  20. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +92 -0
  21. package/components/common/layout/theHeader/helpMenu/aboutOld/AboutOld.vue +95 -0
  22. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/lib/config/utils.ts +136 -64
  23. package/components/common/portlets/tag/CreateCategory.vue +276 -276
  24. package/components/common/portlets/tag/TagAddNew.vue +578 -578
  25. package/components/common/portlets/tag/TagsNew.vue +450 -450
  26. package/components/common/portlets/tag/lib/config/config.ts +199 -199
  27. package/components/common/portlets/tag/lib/models/interfaces.ts +27 -27
  28. package/components/common/portlets/tag/lib/models/types.ts +15 -15
  29. package/components/common/spiceConsole/Drawer.vue +28 -0
  30. package/lib/models/interfaces.ts +1 -0
  31. package/package.json +1 -1
  32. package/store/tasks/mappers/recentTasks.ts +8 -1
  33. package/components/common/layout/theHeader/feedback/FeedbackNew.vue +0 -63
@@ -1,200 +1,200 @@
1
- import type {
2
- UI_I_DataTableOptions,
3
- UI_I_DataTableBody,
4
- UI_I_DataTableHeader,
5
- } from '~/node_modules/bfg-uikit/components/ui/dataTable/models/interfaces'
6
- import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
7
- import type { UI_I_Localization } from '~/lib/models/interfaces'
8
- import type { I_CreateCategoryData } from '~/components/common/portlets/tag/lib/models/interfaces'
9
- import type { T_CreateCategoryTypes } from '~/components/common/portlets/tag/lib/models/types'
10
- export const createCategoryData: I_CreateCategoryData = {
11
- categoryName: '',
12
- description: '',
13
- tagsPerObject: '0',
14
- types: {
15
- folder: false,
16
- datacenter: false,
17
- datastoreCluster: false,
18
- distributedSwitch: false,
19
- contentLibrary: false,
20
- network: false,
21
- vApp: false,
22
- cluster: false,
23
- datastore: false,
24
- distributedPortGroup: false,
25
- host: false,
26
- libraryItem: false,
27
- resourcePool: false,
28
- virtualMachine: false,
29
- },
30
- }
31
-
32
- export const createCategoryTypes: Readonly<T_CreateCategoryTypes> = [
33
- 'folder',
34
- 'datacenter',
35
- 'datastoreCluster',
36
- 'distributedSwitch',
37
- 'contentLibrary',
38
- 'network',
39
- 'vApp',
40
- 'cluster',
41
- 'datastore',
42
- 'distributedPortGroup',
43
- 'host',
44
- 'libraryItem',
45
- 'resourcePool',
46
- 'virtualMachine',
47
- ] as const
48
-
49
- export const tagTableHeaderOptions: UI_I_DataTableOptions = {
50
- perPageOptions: [],
51
- isSelectable: true,
52
- selectType: 'checkbox',
53
- showPagination: false,
54
- showPageInfo: false,
55
- isSortable: true,
56
- server: false,
57
- isResizable: false,
58
- showSearch: false,
59
- showColumnManager: false,
60
- }
61
-
62
- export const temporaryCategories: UI_I_Dropdown[] = [
63
- {
64
- text: 'Category1',
65
- value: 'Category1',
66
- selected: false,
67
- },
68
- {
69
- text: 'Category2',
70
- value: 'Category2',
71
- selected: false,
72
- },
73
- {
74
- text: 'Category3',
75
- value: 'Category3',
76
- selected: false,
77
- },
78
- {
79
- text: 'Category4',
80
- value: 'Category4',
81
- selected: false,
82
- },
83
- ]
84
-
85
- export const makeNewTagCreateActionRowFunc = (
86
- row: number
87
- ): UI_I_DataTableBody => ({
88
- row,
89
- isSelected: false,
90
- actionRow: true,
91
- data: [
92
- {
93
- col: 0,
94
- text: '',
95
- key: 'icon',
96
- data: {
97
- type: 'tagName',
98
- },
99
- },
100
- {
101
- col: 1,
102
- text: '',
103
- key: 'icon',
104
- data: {
105
- type: 'category',
106
- },
107
- },
108
- {
109
- col: 2,
110
- text: '',
111
- key: 'icon',
112
- data: {
113
- type: 'description',
114
- },
115
- },
116
- {
117
- col: 3,
118
- text: '',
119
- key: 'icon',
120
- data: {
121
- type: 'actions',
122
- },
123
- },
124
- ],
125
- })
126
-
127
- export const tagTableHeaderDataFunc = (
128
- localization: UI_I_Localization
129
- ): UI_I_DataTableHeader[] => [
130
- {
131
- col: 0,
132
- colName: 'Tag Name',
133
- text: localization.common.tagName,
134
- isSortable: true,
135
- sort: 'asc',
136
- width: '31%',
137
- show: true,
138
- filter: false,
139
- },
140
- {
141
- col: 1,
142
- colName: 'Category',
143
- text: localization.common.category,
144
- isSortable: true,
145
- sort: 'asc',
146
- width: '31%',
147
- show: true,
148
- filter: false,
149
- },
150
- {
151
- col: 2,
152
- colName: 'Description',
153
- text: localization.common.description,
154
- isSortable: true,
155
- sort: 'asc',
156
- width: '31%',
157
- show: true,
158
- filter: false,
159
- },
160
- {
161
- col: 3,
162
- colName: '',
163
- text: '',
164
- width: '7%',
165
- show: true,
166
- },
167
- ]
168
-
169
- export const tagsAssignBodyItemsTemporary: UI_I_DataTableBody[] = [
170
- {
171
- row: 0,
172
- isSelected: false,
173
- data: [
174
- { col: 0, text: 'test1' },
175
- { col: 1, text: 'test1' },
176
- { col: 2, text: 'test1' },
177
- { col: 3, text: '' },
178
- ],
179
- },
180
- {
181
- row: 1,
182
- isSelected: false,
183
- data: [
184
- { col: 0, text: 'test2' },
185
- { col: 1, text: 'test2' },
186
- { col: 2, text: 'test2' },
187
- { col: 3, text: '' },
188
- ],
189
- },
190
- {
191
- row: 2,
192
- isSelected: false,
193
- data: [
194
- { col: 0, text: 'test3' },
195
- { col: 1, text: 'test3' },
196
- { col: 2, text: 'test3' },
197
- { col: 3, text: '' },
198
- ],
199
- },
1
+ import type {
2
+ UI_I_DataTableOptions,
3
+ UI_I_DataTableBody,
4
+ UI_I_DataTableHeader,
5
+ } from '~/node_modules/bfg-uikit/components/ui/dataTable/models/interfaces'
6
+ import type { UI_I_Dropdown } from '~/node_modules/bfg-uikit/components/ui/dropdown/models/interfaces'
7
+ import type { UI_I_Localization } from '~/lib/models/interfaces'
8
+ import type { I_CreateCategoryData } from '~/components/common/portlets/tag/lib/models/interfaces'
9
+ import type { T_CreateCategoryTypes } from '~/components/common/portlets/tag/lib/models/types'
10
+ export const createCategoryData: I_CreateCategoryData = {
11
+ categoryName: '',
12
+ description: '',
13
+ tagsPerObject: '0',
14
+ types: {
15
+ folder: false,
16
+ datacenter: false,
17
+ datastoreCluster: false,
18
+ distributedSwitch: false,
19
+ contentLibrary: false,
20
+ network: false,
21
+ vApp: false,
22
+ cluster: false,
23
+ datastore: false,
24
+ distributedPortGroup: false,
25
+ host: false,
26
+ libraryItem: false,
27
+ resourcePool: false,
28
+ virtualMachine: false,
29
+ },
30
+ }
31
+
32
+ export const createCategoryTypes: Readonly<T_CreateCategoryTypes> = [
33
+ 'folder',
34
+ 'datacenter',
35
+ 'datastoreCluster',
36
+ 'distributedSwitch',
37
+ 'contentLibrary',
38
+ 'network',
39
+ 'vApp',
40
+ 'cluster',
41
+ 'datastore',
42
+ 'distributedPortGroup',
43
+ 'host',
44
+ 'libraryItem',
45
+ 'resourcePool',
46
+ 'virtualMachine',
47
+ ] as const
48
+
49
+ export const tagTableHeaderOptions: UI_I_DataTableOptions = {
50
+ perPageOptions: [],
51
+ isSelectable: true,
52
+ selectType: 'checkbox',
53
+ showPagination: false,
54
+ showPageInfo: false,
55
+ isSortable: true,
56
+ server: false,
57
+ isResizable: false,
58
+ showSearch: false,
59
+ showColumnManager: false,
60
+ }
61
+
62
+ export const temporaryCategories: UI_I_Dropdown[] = [
63
+ {
64
+ text: 'Category1',
65
+ value: 'Category1',
66
+ selected: false,
67
+ },
68
+ {
69
+ text: 'Category2',
70
+ value: 'Category2',
71
+ selected: false,
72
+ },
73
+ {
74
+ text: 'Category3',
75
+ value: 'Category3',
76
+ selected: false,
77
+ },
78
+ {
79
+ text: 'Category4',
80
+ value: 'Category4',
81
+ selected: false,
82
+ },
83
+ ]
84
+
85
+ export const makeNewTagCreateActionRowFunc = (
86
+ row: number
87
+ ): UI_I_DataTableBody => ({
88
+ row,
89
+ isSelected: false,
90
+ actionRow: true,
91
+ data: [
92
+ {
93
+ col: 0,
94
+ text: '',
95
+ key: 'icon',
96
+ data: {
97
+ type: 'tagName',
98
+ },
99
+ },
100
+ {
101
+ col: 1,
102
+ text: '',
103
+ key: 'icon',
104
+ data: {
105
+ type: 'category',
106
+ },
107
+ },
108
+ {
109
+ col: 2,
110
+ text: '',
111
+ key: 'icon',
112
+ data: {
113
+ type: 'description',
114
+ },
115
+ },
116
+ {
117
+ col: 3,
118
+ text: '',
119
+ key: 'icon',
120
+ data: {
121
+ type: 'actions',
122
+ },
123
+ },
124
+ ],
125
+ })
126
+
127
+ export const tagTableHeaderDataFunc = (
128
+ localization: UI_I_Localization
129
+ ): UI_I_DataTableHeader[] => [
130
+ {
131
+ col: 0,
132
+ colName: 'Tag Name',
133
+ text: localization.common.tagName,
134
+ isSortable: true,
135
+ sort: 'asc',
136
+ width: '31%',
137
+ show: true,
138
+ filter: false,
139
+ },
140
+ {
141
+ col: 1,
142
+ colName: 'Category',
143
+ text: localization.common.category,
144
+ isSortable: true,
145
+ sort: 'asc',
146
+ width: '31%',
147
+ show: true,
148
+ filter: false,
149
+ },
150
+ {
151
+ col: 2,
152
+ colName: 'Description',
153
+ text: localization.common.description,
154
+ isSortable: true,
155
+ sort: 'asc',
156
+ width: '31%',
157
+ show: true,
158
+ filter: false,
159
+ },
160
+ {
161
+ col: 3,
162
+ colName: '',
163
+ text: '',
164
+ width: '7%',
165
+ show: true,
166
+ },
167
+ ]
168
+
169
+ export const tagsAssignBodyItemsTemporary: UI_I_DataTableBody[] = [
170
+ {
171
+ row: 0,
172
+ isSelected: false,
173
+ data: [
174
+ { col: 0, text: 'test1' },
175
+ { col: 1, text: 'test1' },
176
+ { col: 2, text: 'test1' },
177
+ { col: 3, text: '' },
178
+ ],
179
+ },
180
+ {
181
+ row: 1,
182
+ isSelected: false,
183
+ data: [
184
+ { col: 0, text: 'test2' },
185
+ { col: 1, text: 'test2' },
186
+ { col: 2, text: 'test2' },
187
+ { col: 3, text: '' },
188
+ ],
189
+ },
190
+ {
191
+ row: 2,
192
+ isSelected: false,
193
+ data: [
194
+ { col: 0, text: 'test3' },
195
+ { col: 1, text: 'test3' },
196
+ { col: 2, text: 'test3' },
197
+ { col: 3, text: '' },
198
+ ],
199
+ },
200
200
  ]
@@ -1,27 +1,27 @@
1
- export interface I_CreateCategoryData {
2
- categoryName: string
3
- description: string
4
- tagsPerObject: '0' | '1'
5
- types: {
6
- folder: boolean
7
- datacenter: boolean
8
- datastoreCluster: boolean
9
- distributedSwitch: boolean
10
- contentLibrary: boolean
11
- network: boolean
12
- vApp: boolean
13
- cluster: boolean
14
- datastore: boolean
15
- distributedPortGroup: boolean
16
- host: boolean
17
- libraryItem: boolean
18
- resourcePool: boolean
19
- virtualMachine: boolean
20
- }
21
- }
22
-
23
- export interface I_NewTagData {
24
- tagName: string
25
- category: string
26
- description: string
27
- }
1
+ export interface I_CreateCategoryData {
2
+ categoryName: string
3
+ description: string
4
+ tagsPerObject: '0' | '1'
5
+ types: {
6
+ folder: boolean
7
+ datacenter: boolean
8
+ datastoreCluster: boolean
9
+ distributedSwitch: boolean
10
+ contentLibrary: boolean
11
+ network: boolean
12
+ vApp: boolean
13
+ cluster: boolean
14
+ datastore: boolean
15
+ distributedPortGroup: boolean
16
+ host: boolean
17
+ libraryItem: boolean
18
+ resourcePool: boolean
19
+ virtualMachine: boolean
20
+ }
21
+ }
22
+
23
+ export interface I_NewTagData {
24
+ tagName: string
25
+ category: string
26
+ description: string
27
+ }
@@ -1,16 +1,16 @@
1
- export type T_CreateCategoryTypes = [
2
- 'folder',
3
- 'datacenter',
4
- 'datastoreCluster',
5
- 'distributedSwitch',
6
- 'contentLibrary',
7
- 'network',
8
- 'vApp',
9
- 'cluster',
10
- 'datastore',
11
- 'distributedPortGroup',
12
- 'host',
13
- 'libraryItem',
14
- 'resourcePool',
15
- 'virtualMachine'
1
+ export type T_CreateCategoryTypes = [
2
+ 'folder',
3
+ 'datacenter',
4
+ 'datastoreCluster',
5
+ 'distributedSwitch',
6
+ 'contentLibrary',
7
+ 'network',
8
+ 'vApp',
9
+ 'cluster',
10
+ 'datastore',
11
+ 'distributedPortGroup',
12
+ 'host',
13
+ 'libraryItem',
14
+ 'resourcePool',
15
+ 'virtualMachine'
16
16
  ]
@@ -64,6 +64,10 @@
64
64
  </div>
65
65
 
66
66
  <div class="vmw-drawer-footer">
67
+ <div class="size-info">
68
+ <p class="size-info-text">View size: {{viewSize}}</p>
69
+ <p class="size-info-text">Canvas size: {{canvasSize}}</p>
70
+ </div>
67
71
  <div id="debug-stream"></div>
68
72
  </div>
69
73
  <div v-if="isKeyboardShown">
@@ -133,6 +137,20 @@ const onInputManagerFocus = (): void => {
133
137
  if (hover.value) return
134
138
  document.getElementById('inputmanager')?.focus()
135
139
  }
140
+
141
+ const viewSize = ref<string>('0 x 0')
142
+ const canvasSize = ref<string>('0 x 0')
143
+ const displaySizeInfo = (): void => {
144
+ const layout = document.getElementById('eventLayer')
145
+ viewSize.value = `${window.innerWidth}px x ${window.innerHeight}px`
146
+ if (layout) {
147
+ canvasSize.value = `${layout.width || 0}px x ${layout.height || 0}px`
148
+ }
149
+
150
+ requestAnimationFrame(displaySizeInfo)
151
+ }
152
+ displaySizeInfo()
153
+
136
154
  </script>
137
155
  <style lang="scss" scoped>
138
156
  .vmw-drawer {
@@ -241,5 +259,15 @@ const onInputManagerFocus = (): void => {
241
259
  box-shadow: 0 0 20px 0.5px #ffffff2e;
242
260
  }
243
261
  }
262
+
263
+ .vmw-drawer-footer {
264
+ .size-info {
265
+ margin-bottom: 10px;
266
+
267
+ .size-info-text {
268
+ color: #ffffff;
269
+ }
270
+ }
271
+ }
244
272
  }
245
273
  </style>
@@ -38,6 +38,7 @@ export interface UI_I_Localization {
38
38
  zabbix: UI_I_ArbitraryObject<string>
39
39
  remoteConsole: UI_I_ArbitraryObject<string>
40
40
  vmWizard: UI_I_ArbitraryObject<string>
41
+ feedback: UI_I_ArbitraryObject<string>
41
42
  }
42
43
  export interface UI_I_SendTaskParams {
43
44
  method: string
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bfg-common",
3
3
  "private": false,
4
- "version": "1.4.355",
4
+ "version": "1.4.356",
5
5
  "scripts": {
6
6
  "build": "nuxt build",
7
7
  "dev": "nuxt dev --port=3002",
@@ -17,8 +17,15 @@ export const recentTasks = (
17
17
  return b.start_time - a.start_time
18
18
  })
19
19
  .map((task) => {
20
+ let args: any = {}
21
+ try {
22
+ args = base64.decode(task.args)
23
+ } catch (error) {
24
+ args = {}
25
+ }
26
+
20
27
  return {
21
- args: base64.decode(task.args),
28
+ args,
22
29
  completion: task.completion + '' || '-',
23
30
  queuedFor: task.creation_time - task.start_time,
24
31
  execution: Math.abs(task.start_time - task.completion),
@@ -1,63 +0,0 @@
1
- <template>
2
- <Teleport to="body">
3
- <common-feedback
4
- width="576px"
5
- :show="props.isShowFeedback"
6
- :title="props.title"
7
- @hide="emits('hide')"
8
- @submit="emits('submit', $event)"
9
- />
10
- </Teleport>
11
- </template>
12
-
13
- <script setup lang="ts">
14
- import type { UI_I_FeedbackForm } from '~/components/common/feedback/lib/models/interfaces'
15
-
16
- const props = defineProps<{
17
- isShowFeedback: boolean
18
- title: string
19
- }>()
20
-
21
- const emits = defineEmits<{
22
- (event: 'hide'): void
23
- (event: 'submit', value: UI_I_FeedbackForm): void
24
- }>()
25
- </script>
26
-
27
- <style lang="scss">
28
- :root {
29
- --description-color: #414b57;
30
- --link-visited-color: #5659b8;
31
- }
32
-
33
- :root.dark-theme {
34
- --description-color: #adbbc4;
35
- --link-visited-color: #49afd9;
36
- }
37
-
38
- .feedback {
39
- width: 60px;
40
- height: 60px;
41
- display: flex;
42
- flex-direction: column;
43
- justify-content: center;
44
- align-items: center;
45
- fill: #fafafa;
46
-
47
- &-icon {
48
- width: 24px;
49
- height: 24px;
50
- opacity: 0.65;
51
- cursor: pointer;
52
- }
53
- &-icon:hover {
54
- opacity: 1;
55
- }
56
- }
57
- .about-vsphere-dialog-legal-section {
58
- color: var(--description-color);
59
- a {
60
- color: var(--link-visited-color);
61
- }
62
- }
63
- </style>