bfg-common 1.0.53 → 1.0.55

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 (57) hide show
  1. package/components/atoms/alert/Notification.vue +167 -167
  2. package/components/atoms/autocomplete/Autocomplete.vue +236 -236
  3. package/components/atoms/datepicker/Datepicker.vue +612 -612
  4. package/components/atoms/list/SelectList.vue +62 -62
  5. package/components/atoms/modal/bySteps/BySteps.vue +234 -234
  6. package/components/atoms/nav/NavBar.vue +116 -116
  7. package/components/atoms/nav/VerticalNavBar.vue +89 -89
  8. package/components/atoms/notificationBar/NotificationBar.vue +174 -174
  9. package/components/atoms/perPage/PerPage.vue +52 -52
  10. package/components/atoms/popup/SimplePopup.vue +90 -90
  11. package/components/atoms/step/VerticalStep.vue +104 -104
  12. package/components/atoms/switch/Switch.vue +107 -107
  13. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +204 -204
  14. package/components/atoms/table/dataGrid/DataGridPage.vue +189 -189
  15. package/components/atoms/table/dataGrid/DataGridPagination.vue +83 -83
  16. package/components/atoms/tabs/Tabs.vue +189 -189
  17. package/components/atoms/tooltip/Signpost.vue +224 -224
  18. package/components/common/accordion/Accordion.vue +186 -176
  19. package/components/common/accordion/Recursion.vue +202 -195
  20. package/components/common/accordion/models/interfaces.ts +1 -0
  21. package/components/common/accordion/utils/accordion.ts +31 -0
  22. package/components/common/adapterManager/AddAdapterWarningModal.vue +82 -82
  23. package/components/common/adapterManager/NoActiveAdaptersModal.vue +62 -62
  24. package/components/common/adapterManager/NoConnectedActiveAdaptersModal.vue +62 -62
  25. package/components/common/browse/Browse.vue +182 -182
  26. package/components/common/browse/blocks/Title.vue +66 -66
  27. package/components/common/diagramMain/adapter/AdapterItem.vue +227 -227
  28. package/components/common/diagramMain/adapter/AdapterItems.vue +57 -57
  29. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +339 -339
  30. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +202 -202
  31. package/components/common/diagramMain/modals/remove/RemoveModal.vue +226 -226
  32. package/components/common/diagramMain/modals/viewSettings/Info.vue +94 -94
  33. package/components/common/diagramMain/network/Contents.vue +238 -238
  34. package/components/common/feedback/Buttons.vue +232 -232
  35. package/components/common/feedback/Message.vue +468 -468
  36. package/components/common/feedback/VisitPortal.vue +54 -54
  37. package/components/common/mainNavigationPanel/MainNavigationPanel.vue +359 -359
  38. package/components/common/modals/Rename.vue +165 -165
  39. package/components/common/perPage/PerPage.vue +51 -51
  40. package/components/common/recursionTree/RecursionTree.vue +201 -201
  41. package/components/common/tools/Actions.vue +163 -141
  42. package/components/common/wizards/datastore/add/nfs/configuration/Configuration.vue +373 -373
  43. package/components/common/wizards/datastore/add/nfs/configuration/serversList/ServersList.vue +123 -123
  44. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/KerberosAuthentication.vue +54 -54
  45. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/HostTable.vue +131 -131
  46. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/PartitionConfiguration.vue +230 -230
  47. package/models/store/storage/interfaces.ts +32 -32
  48. package/package.json +1 -1
  49. package/public/spice-console/application/codec.js +257 -257
  50. package/public/spice-console/lib/rasterEngine.js +907 -907
  51. package/public/spice-console/network/spicechannel.js +369 -369
  52. package/public/spice-console-minify/lib/decoder/dixie.min.js +4 -4
  53. package/public/spice-console-minify/lib/jgestures.min.js +24 -24
  54. package/public/spice-console-minify/lib/jquery-2.0.3.min.js +24 -24
  55. package/public/spice-console-minify/lib/jquery-mousewheel.min.js +11 -11
  56. package/public/spice-console-minify/lib/jquery-visibility.min.js +1 -1
  57. package/public/spice-console-minify/lib/lodash.4.0.0.min.js +5 -5
@@ -1,195 +1,202 @@
1
- <template>
2
- <div
3
- class="accordion"
4
- :class="{ isOpen, disabled: props.accordion.disabled }"
5
- >
6
- <NuxtLink
7
- class="accordion-item"
8
- :to="accordion.path"
9
- active-class="active"
10
- @click.prevent="onSelect(accordion)"
11
- >
12
- <div
13
- :class="['heading-wrap', { group: props.accordion.hasChild }]"
14
- :style="{ paddingLeft: `${props.level * 24 || 10}px` }"
15
- @click="toggle"
16
- >
17
- <div class="flex-align-center heading">
18
- <div
19
- v-if="props.accordion.iconClassName"
20
- :class="['icon', props.accordion.iconClassName]"
21
- ></div>
22
- <div :class="['text text-ellipsis', headingClass]">
23
- {{ props.accordion.name }}
24
- </div>
25
- </div>
26
- <button
27
- v-if="props.accordion.hasChild"
28
- :id="`${props.testId}-trigger-button`"
29
- class="btn-trigger"
30
- >
31
- <atoms-the-icon class="trigger-icon" name="angle" />
32
- </button>
33
- </div>
34
- </NuxtLink>
35
-
36
- <transition
37
- v-if="props.accordion.hasChild"
38
- name="accordion"
39
- @before-enter="end"
40
- @enter="start"
41
- @before-leave="start"
42
- @leave="end"
43
- >
44
- <div v-show="isOpen" class="accordion__content">
45
- <common-accordion-recursion
46
- v-for="(item, key) in props.accordion.children"
47
- :test-id="`${props.testId}-${key}`"
48
- :key="item.id"
49
- :accordion="item"
50
- :level="props.level + 1"
51
- @change="onSelect"
52
- />
53
- </div>
54
- </transition>
55
- </div>
56
- </template>
57
-
58
- <script setup lang="ts">
59
- import {
60
- UI_I_AccordionRecursion,
61
- UI_I_HeadingClass,
62
- } from '~/components/common/accordion/models/interfaces'
63
-
64
- const props = withDefaults(
65
- defineProps<{
66
- accordion: UI_I_AccordionRecursion
67
- testId: string
68
- level?: number
69
- }>(),
70
- { level: 0 }
71
- )
72
- const emits = defineEmits<{
73
- (event: 'change', value: UI_I_AccordionRecursion): void
74
- }>()
75
-
76
- const isOpen = ref<boolean>(true)
77
- const toggle = (): void => {
78
- if (!props.accordion.hasChild) return
79
- isOpen.value = !isOpen.value
80
- }
81
-
82
- const start = (element: any): void => {
83
- element.style.height = element.scrollHeight + 'px'
84
- }
85
- const end = (el: any): void => {
86
- el.style.height = 0
87
- }
88
-
89
- const headingClass = computed<UI_I_HeadingClass>(() => {
90
- return {
91
- 'text-normal': !props.accordion.hasChild,
92
- disabled: props.accordion.disabled && !props.accordion.hasChild,
93
- }
94
- })
95
-
96
- const onSelect = (item: UI_I_AccordionRecursion) => {
97
- emits('change', item)
98
- }
99
- </script>
100
-
101
- <style lang="scss">
102
- @import '~/assets/scss/common/mixins';
103
-
104
- %hover-effect {
105
- margin-bottom: -1px;
106
- border-bottom: 1px solid var(--row-hover-border-color);
107
- background-color: var(--row-hover-bg-color);
108
- cursor: pointer;
109
- }
110
- %active-mode {
111
- background-color: var(--row-selected-bg-color);
112
- color: var(--row-selected-text-color);
113
- }
114
- .accordion {
115
- .accordion-item {
116
- display: block;
117
- text-decoration: none;
118
- color: var(--global-font-color);
119
-
120
- &.active {
121
- background-color: #29414e;
122
- color: #fff;
123
- border-bottom: 1px solid transparent;
124
- cursor: default;
125
- %hover-effect {
126
- margin-bottom: unset;
127
- border-bottom: unset;
128
- background-color: unset;
129
- cursor: unset;
130
- }
131
- }
132
-
133
- .heading-wrap {
134
- width: 100%;
135
- @include flex($align: center, $just: space-between);
136
-
137
- &:not(.group) {
138
- display: block;
139
- padding-right: 14px;
140
- }
141
-
142
- &.group .heading {
143
- width: calc(100% - 30px);
144
- }
145
- .heading {
146
- margin-right: 10px;
147
- //overflow: hidden;
148
- .icon {
149
- margin: 1px 4px 0 0;
150
- }
151
-
152
- .text {
153
- font-weight: 600;
154
-
155
- &.text-normal {
156
- font-weight: 400;
157
-
158
- &.disabled {
159
- opacity: 0.3;
160
- cursor: not-allowed;
161
- }
162
- }
163
- }
164
- }
165
- &:hover:not(:has(> .disabled)) {
166
- @extend %hover-effect;
167
- }
168
- &:has(> .disabled) {
169
- cursor: not-allowed;
170
- }
171
- }
172
- }
173
- &__content {
174
- transition: 0.1s ease-in-out;
175
- overflow: hidden;
176
- }
177
- }
178
-
179
- .btn-trigger {
180
- flex: auto;
181
- margin-right: 10px;
182
-
183
- //padding-right: 10px;
184
- .trigger-icon {
185
- width: 16px;
186
- height: 16px;
187
- transform: rotate(90deg);
188
- margin-left: auto;
189
- fill: var(--triger-icon-color);
190
- .isOpen & {
191
- transform: rotate(180deg);
192
- }
193
- }
194
- }
195
- </style>
1
+ <template>
2
+ <div class="accordion" :class="{ disabled: props.accordion.disabled }">
3
+ <nuxt-link
4
+ class="accordion-item"
5
+ :to="accordionLocal.path"
6
+ active-class="active"
7
+ @click.prevent="onSelect(accordionLocal)"
8
+ >
9
+ <div
10
+ :class="['heading-wrap', { group: props.accordion.hasChild }]"
11
+ :style="{ paddingLeft: `${props.level * 24 || 10}px` }"
12
+ @click="toggle"
13
+ >
14
+ <div class="flex-align-center heading">
15
+ <div
16
+ v-if="props.accordion.iconClassName"
17
+ :class="['icon', props.accordion.iconClassName]"
18
+ ></div>
19
+ <div :class="['text text-ellipsis', headingClass]">
20
+ {{ props.accordion.name }}
21
+ </div>
22
+ </div>
23
+ <button
24
+ v-if="props.accordion.hasChild"
25
+ :id="`${props.testId}-trigger-button`"
26
+ class="btn-trigger"
27
+ >
28
+ <atoms-the-icon
29
+ :class="[
30
+ 'trigger-icon',
31
+ {
32
+ isOpen: accordionLocal.isOpen,
33
+ },
34
+ ]"
35
+ name="angle"
36
+ />
37
+ </button>
38
+ </div>
39
+ </nuxt-link>
40
+
41
+ <transition
42
+ v-if="props.accordion.hasChild"
43
+ name="accordion"
44
+ @before-enter="end"
45
+ @enter="start"
46
+ @before-leave="start"
47
+ @leave="end"
48
+ >
49
+ <div v-show="accordionLocal.isOpen" class="accordion__content">
50
+ <common-accordion-recursion
51
+ v-for="(item, key) in props.accordion.children"
52
+ :key="item.id"
53
+ :test-id="`${props.testId}-${key}`"
54
+ :accordion="item"
55
+ :level="props.level + 1"
56
+ @change="onSelect"
57
+ />
58
+ </div>
59
+ </transition>
60
+ </div>
61
+ </template>
62
+
63
+ <script setup lang="ts">
64
+ import {
65
+ UI_I_AccordionRecursion,
66
+ UI_I_HeadingClass,
67
+ } from '~/components/common/accordion/models/interfaces'
68
+
69
+ const props = withDefaults(
70
+ defineProps<{
71
+ accordion: UI_I_AccordionRecursion
72
+ testId: string
73
+ level?: number
74
+ }>(),
75
+ { level: 0 }
76
+ )
77
+ const emits = defineEmits<{
78
+ (event: 'change', value: UI_I_AccordionRecursion): void
79
+ }>()
80
+
81
+ const accordionLocal = ref<UI_I_AccordionRecursion>(props.accordion)
82
+
83
+ const toggle = (): void => {
84
+ if (!props.accordion.hasChild) return
85
+
86
+ accordionLocal.value.isOpen = !accordionLocal.value.isOpen
87
+ }
88
+
89
+ const start = (element: any): void => {
90
+ element.style.height = 'auto'
91
+ }
92
+ const end = (el: any): void => {
93
+ el.style.height = 0
94
+ }
95
+
96
+ const headingClass = computed<UI_I_HeadingClass>(() => {
97
+ return {
98
+ 'text-normal': !props.accordion.hasChild,
99
+ disabled: props.accordion.disabled && !props.accordion.hasChild,
100
+ }
101
+ })
102
+
103
+ const onSelect = (item: UI_I_AccordionRecursion): void => {
104
+ emits('change', item)
105
+ }
106
+ </script>
107
+
108
+ <style lang="scss">
109
+ @import '~/assets/scss/common/mixins';
110
+
111
+ %hover-effect {
112
+ margin-bottom: -1px;
113
+ border-bottom: 1px solid var(--row-hover-border-color);
114
+ background-color: var(--row-hover-bg-color);
115
+ cursor: pointer;
116
+ }
117
+ %active-mode {
118
+ background-color: var(--row-selected-bg-color);
119
+ color: var(--row-selected-text-color);
120
+ }
121
+ .accordion {
122
+ .accordion-item {
123
+ display: block;
124
+ text-decoration: none;
125
+ color: var(--global-font-color);
126
+
127
+ &.active {
128
+ background-color: #29414e;
129
+ color: #fff;
130
+ border-bottom: 1px solid transparent;
131
+ cursor: default;
132
+ %hover-effect {
133
+ margin-bottom: unset;
134
+ border-bottom: unset;
135
+ background-color: unset;
136
+ cursor: unset;
137
+ }
138
+ }
139
+
140
+ .heading-wrap {
141
+ width: 100%;
142
+ @include flex($align: center, $just: space-between);
143
+
144
+ &:not(.group) {
145
+ display: block;
146
+ padding-right: 14px;
147
+ }
148
+
149
+ &.group .heading {
150
+ width: calc(100% - 30px);
151
+ }
152
+ .heading {
153
+ margin-right: 10px;
154
+ //overflow: hidden;
155
+ .icon {
156
+ margin: 1px 4px 0 0;
157
+ }
158
+
159
+ .text {
160
+ font-weight: 600;
161
+
162
+ &.text-normal {
163
+ font-weight: 400;
164
+
165
+ &.disabled {
166
+ opacity: 0.3;
167
+ cursor: not-allowed;
168
+ }
169
+ }
170
+ }
171
+ }
172
+ &:hover:not(:has(> .disabled)) {
173
+ @extend %hover-effect;
174
+ }
175
+ &:has(> .disabled) {
176
+ cursor: not-allowed;
177
+ }
178
+ }
179
+ }
180
+ &__content {
181
+ transition: 0.1s ease-in-out;
182
+ overflow: hidden;
183
+ }
184
+ }
185
+
186
+ .btn-trigger {
187
+ flex: auto;
188
+ margin-right: 10px;
189
+
190
+ //padding-right: 10px;
191
+ .trigger-icon {
192
+ width: 16px;
193
+ height: 16px;
194
+ transform: rotate(90deg);
195
+ margin-left: auto;
196
+ fill: var(--triger-icon-color);
197
+ &.isOpen {
198
+ transform: rotate(180deg);
199
+ }
200
+ }
201
+ }
202
+ </style>
@@ -6,6 +6,7 @@ export interface UI_I_AccordionRecursion {
6
6
  path?: string
7
7
  iconClassName?: string
8
8
  children?: UI_I_AccordionRecursion[]
9
+ isOpen?: boolean
9
10
  }
10
11
 
11
12
  export interface UI_I_HeadingClass {
@@ -0,0 +1,31 @@
1
+ import { UI_I_AccordionRecursion } from '~/components/common/accordion/models/interfaces'
2
+
3
+ const collapseRecursion = (
4
+ accordion: UI_I_AccordionRecursion[],
5
+ isOpen: boolean
6
+ ): UI_I_AccordionRecursion[] =>
7
+ accordion.map((item) => {
8
+ item.isOpen = isOpen
9
+ if (item.hasChild && item.children?.length) {
10
+ item.children = collapseRecursion(item.children, isOpen)
11
+ }
12
+
13
+ return item
14
+ })
15
+
16
+ const defaultShow = (
17
+ accordion: UI_I_AccordionRecursion[]
18
+ ): UI_I_AccordionRecursion[] =>
19
+ accordion.map((item) => {
20
+ if (item.isOpen !== false) item.isOpen = true
21
+
22
+ return item
23
+ })
24
+
25
+ export const constructItems = (
26
+ accordion: UI_I_AccordionRecursion[],
27
+ isOpen: boolean | null
28
+ ): UI_I_AccordionRecursion[] =>
29
+ isOpen === null
30
+ ? defaultShow(accordion)
31
+ : collapseRecursion(accordion, isOpen)
@@ -1,82 +1,82 @@
1
- <template>
2
- <div>
3
- <atoms-modal
4
- test-id="add-adapter-warning"
5
- width="576"
6
- height="420"
7
- :show="props.show"
8
- :title="props.title"
9
- class="diagram-action__remove"
10
- @hide="onHideModal"
11
- >
12
- <template #modalBody>
13
- <div class="modal-body-content modal-body-content__confirmation">
14
- <div class="confirm-icon-container">
15
- <atoms-diagram-icon name="is-warning" />
16
- </div>
17
- <p class="preserve-newlines">
18
- {{ localization.noFreeNetworkAdaptersAddSwitch }}
19
- </p>
20
- </div>
21
- </template>
22
- <template #modalFooter>
23
- <span>
24
- <button
25
- :id="`${props.testId}-modal-close-button`"
26
- type="button"
27
- class="btn btn-primary"
28
- @click="onHideModal"
29
- >
30
- {{ localization.ok }}
31
- </button>
32
- </span>
33
- </template>
34
- </atoms-modal>
35
- </div>
36
- </template>
37
-
38
- <script setup lang="ts">
39
- import { UI_I_Localization } from '~/models/interfaces'
40
-
41
- // Props from up
42
- const props = defineProps<{
43
- show: boolean
44
- modalName: string
45
- viewName: string
46
- title: string
47
- testId: string
48
- }>()
49
-
50
- // UI_I_Localization
51
- const localization = computed<UI_I_Localization>(() => useLocal())
52
-
53
- // Modal
54
- const emits = defineEmits<{
55
- (event: 'hide'): void
56
- }>()
57
- const onHideModal = (): void => {
58
- emits('hide')
59
- }
60
- </script>
61
-
62
- <style scoped lang="scss">
63
- :deep(.diagram-action__remove) {
64
- .modal-body-content {
65
- display: flex;
66
-
67
- .confirm-icon-container {
68
- margin-right: 20px;
69
- }
70
-
71
- .preserve-newlines {
72
- white-space: pre-line;
73
- font-size: 15px;
74
- }
75
- }
76
- }
77
- .table-fixed-height {
78
- min-height: 287px;
79
- max-height: 287px;
80
- overflow-y: auto;
81
- }
82
- </style>
1
+ <template>
2
+ <div>
3
+ <atoms-modal
4
+ test-id="add-adapter-warning"
5
+ width="576"
6
+ height="420"
7
+ :show="props.show"
8
+ :title="props.title"
9
+ class="diagram-action__remove"
10
+ @hide="onHideModal"
11
+ >
12
+ <template #modalBody>
13
+ <div class="modal-body-content modal-body-content__confirmation">
14
+ <div class="confirm-icon-container">
15
+ <atoms-diagram-icon name="is-warning" />
16
+ </div>
17
+ <p class="preserve-newlines">
18
+ {{ localization.noFreeNetworkAdaptersAddSwitch }}
19
+ </p>
20
+ </div>
21
+ </template>
22
+ <template #modalFooter>
23
+ <span>
24
+ <button
25
+ :id="`${props.testId}-modal-close-button`"
26
+ type="button"
27
+ class="btn btn-primary"
28
+ @click="onHideModal"
29
+ >
30
+ {{ localization.ok }}
31
+ </button>
32
+ </span>
33
+ </template>
34
+ </atoms-modal>
35
+ </div>
36
+ </template>
37
+
38
+ <script setup lang="ts">
39
+ import { UI_I_Localization } from '~/models/interfaces'
40
+
41
+ // Props from up
42
+ const props = defineProps<{
43
+ show: boolean
44
+ modalName: string
45
+ viewName: string
46
+ title: string
47
+ testId: string
48
+ }>()
49
+
50
+ // UI_I_Localization
51
+ const localization = computed<UI_I_Localization>(() => useLocal())
52
+
53
+ // Modal
54
+ const emits = defineEmits<{
55
+ (event: 'hide'): void
56
+ }>()
57
+ const onHideModal = (): void => {
58
+ emits('hide')
59
+ }
60
+ </script>
61
+
62
+ <style scoped lang="scss">
63
+ :deep(.diagram-action__remove) {
64
+ .modal-body-content {
65
+ display: flex;
66
+
67
+ .confirm-icon-container {
68
+ margin-right: 20px;
69
+ }
70
+
71
+ .preserve-newlines {
72
+ white-space: pre-line;
73
+ font-size: 15px;
74
+ }
75
+ }
76
+ }
77
+ .table-fixed-height {
78
+ min-height: 287px;
79
+ max-height: 287px;
80
+ overflow-y: auto;
81
+ }
82
+ </style>