bfg-common 1.0.52 → 1.0.53

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 (63) hide show
  1. package/assets/localization/local_be.json +1 -1
  2. package/assets/localization/local_en.json +1 -1
  3. package/assets/localization/local_hy.json +1 -1
  4. package/assets/localization/local_kk.json +1 -1
  5. package/assets/localization/local_ru.json +1 -1
  6. package/assets/localization/local_zh.json +1 -1
  7. package/components/atoms/alert/Notification.vue +167 -167
  8. package/components/atoms/autocomplete/Autocomplete.vue +236 -236
  9. package/components/atoms/datepicker/Datepicker.vue +612 -612
  10. package/components/atoms/list/SelectList.vue +62 -62
  11. package/components/atoms/modal/bySteps/BySteps.vue +234 -234
  12. package/components/atoms/nav/NavBar.vue +116 -116
  13. package/components/atoms/nav/VerticalNavBar.vue +89 -89
  14. package/components/atoms/notificationBar/NotificationBar.vue +174 -174
  15. package/components/atoms/perPage/PerPage.vue +52 -52
  16. package/components/atoms/popup/SimplePopup.vue +90 -90
  17. package/components/atoms/step/VerticalStep.vue +104 -104
  18. package/components/atoms/switch/Switch.vue +107 -107
  19. package/components/atoms/table/dataGrid/DataGrid.vue +40 -17
  20. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +204 -204
  21. package/components/atoms/table/dataGrid/DataGridPage.vue +189 -189
  22. package/components/atoms/table/dataGrid/DataGridPagination.vue +83 -83
  23. package/components/atoms/tabs/Tabs.vue +189 -189
  24. package/components/atoms/tooltip/Signpost.vue +224 -224
  25. package/components/common/accordion/Accordion.vue +3 -13
  26. package/components/common/accordion/Recursion.vue +16 -23
  27. package/components/common/accordion/models/interfaces.ts +0 -1
  28. package/components/common/adapterManager/AddAdapterWarningModal.vue +82 -82
  29. package/components/common/adapterManager/NoActiveAdaptersModal.vue +62 -62
  30. package/components/common/adapterManager/NoConnectedActiveAdaptersModal.vue +62 -62
  31. package/components/common/browse/Browse.vue +182 -182
  32. package/components/common/browse/blocks/Title.vue +66 -66
  33. package/components/common/diagramMain/adapter/AdapterItem.vue +227 -227
  34. package/components/common/diagramMain/adapter/AdapterItems.vue +57 -57
  35. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +339 -339
  36. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +202 -202
  37. package/components/common/diagramMain/modals/remove/RemoveModal.vue +226 -226
  38. package/components/common/diagramMain/modals/viewSettings/Info.vue +94 -94
  39. package/components/common/diagramMain/network/Contents.vue +238 -238
  40. package/components/common/feedback/Buttons.vue +232 -232
  41. package/components/common/feedback/Message.vue +468 -468
  42. package/components/common/feedback/VisitPortal.vue +54 -54
  43. package/components/common/mainNavigationPanel/MainNavigationPanel.vue +359 -359
  44. package/components/common/modals/Rename.vue +165 -165
  45. package/components/common/perPage/PerPage.vue +51 -51
  46. package/components/common/recursionTree/RecursionTree.vue +201 -201
  47. package/components/common/wizards/datastore/add/nfs/configuration/Configuration.vue +373 -373
  48. package/components/common/wizards/datastore/add/nfs/configuration/serversList/ServersList.vue +123 -123
  49. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/KerberosAuthentication.vue +54 -54
  50. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/HostTable.vue +131 -131
  51. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/PartitionConfiguration.vue +230 -230
  52. package/models/store/storage/interfaces.ts +32 -32
  53. package/package.json +1 -1
  54. package/public/spice-console/application/codec.js +257 -257
  55. package/public/spice-console/lib/rasterEngine.js +907 -907
  56. package/public/spice-console/network/spicechannel.js +369 -369
  57. package/public/spice-console-minify/lib/decoder/dixie.min.js +4 -4
  58. package/public/spice-console-minify/lib/jgestures.min.js +24 -24
  59. package/public/spice-console-minify/lib/jquery-2.0.3.min.js +24 -24
  60. package/public/spice-console-minify/lib/jquery-mousewheel.min.js +11 -11
  61. package/public/spice-console-minify/lib/jquery-visibility.min.js +1 -1
  62. package/public/spice-console-minify/lib/lodash.4.0.0.min.js +5 -5
  63. package/components/common/accordion/utils/accordion.ts +0 -31
@@ -1,236 +1,236 @@
1
- <template>
2
- <div class="autocomplete" @click.stop>
3
- <div class="content-search">
4
- <div v-show="props.loading" class="loader">
5
- <atoms-loader-pre-loader
6
- id="loader"
7
- class="content-area__loading"
8
- :show="true"
9
- />
10
- </div>
11
- <div class="search-icon">
12
- <atoms-the-icon
13
- fill="#666"
14
- stroke-width="10"
15
- class="alert-icon search-icon"
16
- name="search"
17
- />
18
- </div>
19
- <input
20
- :id="`${props.testId}-search-input`"
21
- v-model.trim="search"
22
- type="text"
23
- class="search-input"
24
- :placeholder="props.placeholder"
25
- @input="onSearch"
26
- />
27
- </div>
28
- <div
29
- v-show="isShow"
30
- :class="['content-filtered', { active: items.length }]"
31
- >
32
- <ul class="dropdown-menu filtered-items">
33
- <li
34
- v-for="(item, key) in items"
35
- :key="`${item}_${key}`"
36
- :class="['item', { active: key === selectedTabIndex }]"
37
- @mouseenter="selectedTabIndex = key"
38
- @click="onSelect(key)"
39
- >
40
- {{ item.firstText }}<b>{{ item.secondText }}</b
41
- >{{ item.thirdText }}
42
- </li>
43
- </ul>
44
- </div>
45
- </div>
46
- </template>
47
-
48
- <script setup lang="ts">
49
- const props = withDefaults(
50
- defineProps<{
51
- testId?: string
52
- placeholder: string
53
- items: string[]
54
- loading: boolean
55
- ms?: number
56
- }>(),
57
- {
58
- testId: 'ui-autocomplete',
59
- ms: 500,
60
- }
61
- )
62
-
63
- const emits = defineEmits<{
64
- (event: 'search', value: string): void
65
- (event: 'select', value: string): void
66
- }>()
67
-
68
- const search = ref<string>('')
69
-
70
- let timer: NodeJS.Timeout
71
- const onSearch = (): void => {
72
- clearTimeout(timer)
73
- timer = setTimeout(
74
- (value) => {
75
- emits('search', value)
76
- },
77
- props.ms,
78
- search.value
79
- )
80
- }
81
-
82
- const items = computed<any[]>(() => {
83
- return [...props.items].map((text) => {
84
- const term = search.value.toLowerCase()
85
- const texts = text.toLowerCase().split(term)
86
- return {
87
- firstText: texts[0],
88
- secondText: term,
89
- thirdText: texts[1],
90
- }
91
- })
92
- })
93
-
94
- const selectedTabIndex = ref<number>(0)
95
- const onSelect = (key: number): void => {
96
- search.value = props.items[key]
97
- emits('select', search.value)
98
- isHide.value = true
99
- }
100
-
101
- const isHide = ref<boolean>(false)
102
- const isShow = computed<boolean>(
103
- () => Boolean(items.value.length) && !isHide.value
104
- )
105
-
106
- const onKeyDown = (event: KeyboardEvent): void => {
107
- switch (event.code) {
108
- case 'ArrowUp':
109
- prevTabItem()
110
- break
111
- case 'ArrowDown':
112
- nextTabItem()
113
- break
114
- case 'Enter':
115
- onSelect(selectedTabIndex.value)
116
- break
117
- case 'Tab':
118
- isHide.value = true
119
- break
120
- }
121
- }
122
-
123
- const nextTabItem = (): void => {
124
- if (selectedTabIndex.value === items.value.length - 1)
125
- selectedTabIndex.value = 0
126
- else selectedTabIndex.value++
127
- }
128
-
129
- const prevTabItem = (): void => {
130
- if (selectedTabIndex.value === 0)
131
- selectedTabIndex.value = items.value.length - 1
132
- else selectedTabIndex.value--
133
- }
134
-
135
- watch(
136
- () => props.items,
137
- (value) => {
138
- if (value.length) {
139
- isHide.value = false
140
- }
141
- }
142
- )
143
- window.addEventListener('keydown', onKeyDown, true)
144
- watch(isHide, (value) => {
145
- if (!value) {
146
- window.addEventListener('keydown', onKeyDown, true)
147
- } else {
148
- window.removeEventListener('keydown', onKeyDown, true)
149
- }
150
- })
151
- </script>
152
-
153
- <style scoped lang="scss">
154
- .autocomplete {
155
- max-width: 180px;
156
- position: relative;
157
-
158
- .content-search {
159
- .loader {
160
- position: absolute;
161
- top: 3px;
162
- left: -6px;
163
- z-index: 1;
164
- height: 16px;
165
- width: 16px;
166
-
167
- #loader {
168
- height: 100%;
169
- width: 100%;
170
-
171
- :deep(.spinner-inverse) {
172
- min-width: auto;
173
- min-height: auto;
174
- width: 100%;
175
- height: 100%;
176
- }
177
- }
178
- }
179
- .search-icon {
180
- position: absolute;
181
- width: 17px;
182
- top: 2px;
183
- bottom: 0;
184
- }
185
- .search-input {
186
- background-color: white;
187
- padding: 0 6px 0 20px;
188
- }
189
- }
190
-
191
- .content-filtered {
192
- position: absolute;
193
- display: block;
194
- overflow-y: visible;
195
- height: auto;
196
- visibility: visible;
197
- will-change: transform;
198
- top: 0;
199
- left: 0;
200
- transform: translate3d(0px, 25px, 0px);
201
- width: 250px;
202
- z-index: 1000;
203
-
204
- &.active .filtered-items {
205
- max-height: 164px;
206
- visibility: visible;
207
- position: absolute;
208
- top: 100%;
209
- left: 0;
210
- min-width: 96px;
211
- max-width: 288px;
212
- border: 0.8px solid #ccc;
213
- padding: 9.6px 0;
214
- z-index: 1060;
215
- overflow: auto;
216
- width: 100%;
217
- margin: 1px 0 0;
218
-
219
- .item {
220
- line-height: 20px;
221
- padding: 5px 0 0 5px;
222
- color: #333;
223
- cursor: pointer;
224
- outline: unset;
225
-
226
- &.active,
227
- &:focus,
228
- &:hover {
229
- background-color: #2b5480;
230
- color: #fff;
231
- }
232
- }
233
- }
234
- }
235
- }
236
- </style>
1
+ <template>
2
+ <div class="autocomplete" @click.stop>
3
+ <div class="content-search">
4
+ <div v-show="props.loading" class="loader">
5
+ <atoms-loader-pre-loader
6
+ id="loader"
7
+ class="content-area__loading"
8
+ :show="true"
9
+ />
10
+ </div>
11
+ <div class="search-icon">
12
+ <atoms-the-icon
13
+ fill="#666"
14
+ stroke-width="10"
15
+ class="alert-icon search-icon"
16
+ name="search"
17
+ />
18
+ </div>
19
+ <input
20
+ :id="`${props.testId}-search-input`"
21
+ v-model.trim="search"
22
+ type="text"
23
+ class="search-input"
24
+ :placeholder="props.placeholder"
25
+ @input="onSearch"
26
+ />
27
+ </div>
28
+ <div
29
+ v-show="isShow"
30
+ :class="['content-filtered', { active: items.length }]"
31
+ >
32
+ <ul class="dropdown-menu filtered-items">
33
+ <li
34
+ v-for="(item, key) in items"
35
+ :key="`${item}_${key}`"
36
+ :class="['item', { active: key === selectedTabIndex }]"
37
+ @mouseenter="selectedTabIndex = key"
38
+ @click="onSelect(key)"
39
+ >
40
+ {{ item.firstText }}<b>{{ item.secondText }}</b
41
+ >{{ item.thirdText }}
42
+ </li>
43
+ </ul>
44
+ </div>
45
+ </div>
46
+ </template>
47
+
48
+ <script setup lang="ts">
49
+ const props = withDefaults(
50
+ defineProps<{
51
+ testId?: string
52
+ placeholder: string
53
+ items: string[]
54
+ loading: boolean
55
+ ms?: number
56
+ }>(),
57
+ {
58
+ testId: 'ui-autocomplete',
59
+ ms: 500,
60
+ }
61
+ )
62
+
63
+ const emits = defineEmits<{
64
+ (event: 'search', value: string): void
65
+ (event: 'select', value: string): void
66
+ }>()
67
+
68
+ const search = ref<string>('')
69
+
70
+ let timer: NodeJS.Timeout
71
+ const onSearch = (): void => {
72
+ clearTimeout(timer)
73
+ timer = setTimeout(
74
+ (value) => {
75
+ emits('search', value)
76
+ },
77
+ props.ms,
78
+ search.value
79
+ )
80
+ }
81
+
82
+ const items = computed<any[]>(() => {
83
+ return [...props.items].map((text) => {
84
+ const term = search.value.toLowerCase()
85
+ const texts = text.toLowerCase().split(term)
86
+ return {
87
+ firstText: texts[0],
88
+ secondText: term,
89
+ thirdText: texts[1],
90
+ }
91
+ })
92
+ })
93
+
94
+ const selectedTabIndex = ref<number>(0)
95
+ const onSelect = (key: number): void => {
96
+ search.value = props.items[key]
97
+ emits('select', search.value)
98
+ isHide.value = true
99
+ }
100
+
101
+ const isHide = ref<boolean>(false)
102
+ const isShow = computed<boolean>(
103
+ () => Boolean(items.value.length) && !isHide.value
104
+ )
105
+
106
+ const onKeyDown = (event: KeyboardEvent): void => {
107
+ switch (event.code) {
108
+ case 'ArrowUp':
109
+ prevTabItem()
110
+ break
111
+ case 'ArrowDown':
112
+ nextTabItem()
113
+ break
114
+ case 'Enter':
115
+ onSelect(selectedTabIndex.value)
116
+ break
117
+ case 'Tab':
118
+ isHide.value = true
119
+ break
120
+ }
121
+ }
122
+
123
+ const nextTabItem = (): void => {
124
+ if (selectedTabIndex.value === items.value.length - 1)
125
+ selectedTabIndex.value = 0
126
+ else selectedTabIndex.value++
127
+ }
128
+
129
+ const prevTabItem = (): void => {
130
+ if (selectedTabIndex.value === 0)
131
+ selectedTabIndex.value = items.value.length - 1
132
+ else selectedTabIndex.value--
133
+ }
134
+
135
+ watch(
136
+ () => props.items,
137
+ (value) => {
138
+ if (value.length) {
139
+ isHide.value = false
140
+ }
141
+ }
142
+ )
143
+ window.addEventListener('keydown', onKeyDown, true)
144
+ watch(isHide, (value) => {
145
+ if (!value) {
146
+ window.addEventListener('keydown', onKeyDown, true)
147
+ } else {
148
+ window.removeEventListener('keydown', onKeyDown, true)
149
+ }
150
+ })
151
+ </script>
152
+
153
+ <style scoped lang="scss">
154
+ .autocomplete {
155
+ max-width: 180px;
156
+ position: relative;
157
+
158
+ .content-search {
159
+ .loader {
160
+ position: absolute;
161
+ top: 3px;
162
+ left: -6px;
163
+ z-index: 1;
164
+ height: 16px;
165
+ width: 16px;
166
+
167
+ #loader {
168
+ height: 100%;
169
+ width: 100%;
170
+
171
+ :deep(.spinner-inverse) {
172
+ min-width: auto;
173
+ min-height: auto;
174
+ width: 100%;
175
+ height: 100%;
176
+ }
177
+ }
178
+ }
179
+ .search-icon {
180
+ position: absolute;
181
+ width: 17px;
182
+ top: 2px;
183
+ bottom: 0;
184
+ }
185
+ .search-input {
186
+ background-color: white;
187
+ padding: 0 6px 0 20px;
188
+ }
189
+ }
190
+
191
+ .content-filtered {
192
+ position: absolute;
193
+ display: block;
194
+ overflow-y: visible;
195
+ height: auto;
196
+ visibility: visible;
197
+ will-change: transform;
198
+ top: 0;
199
+ left: 0;
200
+ transform: translate3d(0px, 25px, 0px);
201
+ width: 250px;
202
+ z-index: 1000;
203
+
204
+ &.active .filtered-items {
205
+ max-height: 164px;
206
+ visibility: visible;
207
+ position: absolute;
208
+ top: 100%;
209
+ left: 0;
210
+ min-width: 96px;
211
+ max-width: 288px;
212
+ border: 0.8px solid #ccc;
213
+ padding: 9.6px 0;
214
+ z-index: 1060;
215
+ overflow: auto;
216
+ width: 100%;
217
+ margin: 1px 0 0;
218
+
219
+ .item {
220
+ line-height: 20px;
221
+ padding: 5px 0 0 5px;
222
+ color: #333;
223
+ cursor: pointer;
224
+ outline: unset;
225
+
226
+ &.active,
227
+ &:focus,
228
+ &:hover {
229
+ background-color: #2b5480;
230
+ color: #fff;
231
+ }
232
+ }
233
+ }
234
+ }
235
+ }
236
+ </style>