bfg-common 1.5.92 → 1.5.94

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 (112) hide show
  1. package/assets/scss/common/normalize.scss +347 -347
  2. package/components/atoms/alert/Notification.vue +169 -169
  3. package/components/atoms/autocomplete/Autocomplete.vue +361 -362
  4. package/components/atoms/collapse/CollapseNav.vue +169 -169
  5. package/components/atoms/comboDropdownMenu/ComboDropdownMenu.vue +357 -357
  6. package/components/atoms/combobox/Combobox.vue +154 -154
  7. package/components/atoms/datepicker/Datepicker.vue +639 -639
  8. package/components/atoms/dropdown/Portlet.vue +113 -113
  9. package/components/atoms/dropdown/dropdown/Dropdown.vue +168 -168
  10. package/components/atoms/dropdown/tree/Tree.vue +137 -137
  11. package/components/atoms/list/SelectList.vue +63 -63
  12. package/components/atoms/list/dragDropList/DragDropList.vue +148 -148
  13. package/components/atoms/modal/Modal.vue +250 -250
  14. package/components/atoms/modal/bySteps/BySteps.vue +253 -253
  15. package/components/atoms/notificationBar/NotificationBar.vue +178 -178
  16. package/components/atoms/popover/Popover.vue +58 -58
  17. package/components/atoms/popover/lib/models/interfaces.ts +4 -4
  18. package/components/atoms/select/TheSelect.vue +187 -187
  19. package/components/atoms/stack/StackBlock.vue +185 -185
  20. package/components/atoms/stack/StackContent.vue +63 -63
  21. package/components/atoms/step/lib/models/verticalStepItem.ts +5 -5
  22. package/components/atoms/switch/Switch.vue +111 -111
  23. package/components/atoms/table/compact/Compact.vue +529 -529
  24. package/components/atoms/table/dataGrid/DataGrid.vue +1716 -1713
  25. package/components/atoms/table/dataGrid/DataGridPage.vue +195 -195
  26. package/components/atoms/table/info/Info.vue +2 -2
  27. package/components/atoms/table/simpleEvent/SimpleEvent.vue +98 -98
  28. package/components/atoms/table/simpleInfo/SimpleInfo.vue +73 -73
  29. package/components/atoms/tabs/Tabs.vue +217 -217
  30. package/components/atoms/wizard/Wizard.vue +341 -341
  31. package/components/common/accordion/Recursion.vue +222 -222
  32. package/components/common/adapterManager/AddAdapterModal.vue +561 -561
  33. package/components/common/adapterManager/ui/actions/AddAdapterButton.vue +30 -30
  34. package/components/common/adapterManager/ui/table/Table.vue +162 -162
  35. package/components/common/browse/BrowseNew.vue +237 -237
  36. package/components/common/browse/BrowseOld.vue +217 -217
  37. package/components/common/browse/blocks/TitleNew.vue +145 -145
  38. package/components/common/browse/blocks/TitleOld.vue +91 -91
  39. package/components/common/browse/blocks/contents/FilesOld.vue +72 -72
  40. package/components/common/chartOptionsModal/counters/timespan/form/FormNew.vue +262 -262
  41. package/components/common/context/Context.vue +111 -111
  42. package/components/common/context/recursion/RecursionOld.vue +228 -228
  43. package/components/common/details/DetailsItem.vue +109 -109
  44. package/components/common/feedback/Buttons.vue +229 -229
  45. package/components/common/feedback/Feedback.vue +270 -270
  46. package/components/common/feedback/Message.vue +519 -519
  47. package/components/common/graph/graphNew/GraphNew.vue +194 -194
  48. package/components/common/graph/lib/utils/renderGraph.ts +389 -389
  49. package/components/common/layout/theHeader/feedback/new/New.vue +227 -227
  50. package/components/common/layout/theHeader/feedback/new/additionalDetails/AdditionalDetails.vue +606 -606
  51. package/components/common/layout/theHeader/feedback/new/additionalDetails/Headline.vue +98 -98
  52. package/components/common/layout/theHeader/feedback/new/description/Description.vue +59 -59
  53. package/components/common/layout/theHeader/feedback/new/email/Email.vue +43 -43
  54. package/components/common/layout/theHeader/feedback/new/subtitle/Subtitle.vue +103 -103
  55. package/components/common/layout/theHeader/helpMenu/aboutNew/AboutNew.vue +112 -112
  56. package/components/common/layout/theHeader/helpMenu/aboutOld/AboutOld.vue +80 -80
  57. package/components/common/layout/theHeader/helpMenu/helpMenuOld/HelpMenuOld.vue +1 -1
  58. package/components/common/layout/theHeader/modals/Reconnect.vue +2 -2
  59. package/components/common/layout/theHeader/modals/RedirectLogin.vue +3 -3
  60. package/components/common/layout/theHeader/userMenu/modals/changePassword/ChangePassword.vue +1 -1
  61. package/components/common/layout/theHeader/userMenu/modals/changePassword/ChangePasswordNew.vue +8 -8
  62. package/components/common/layout/theHeader/userMenu/modals/changePassword/ChangePasswordOld.vue +3 -3
  63. package/components/common/layout/theHeader/userMenu/modals/preferences/PreferencesNew.vue +1 -1
  64. package/components/common/layout/theHeader/userMenu/modals/preferences/PreferencesOld.vue +1 -1
  65. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/ChangeLanguage.vue +1 -1
  66. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/ChangeLanguageNew.vue +1 -1
  67. package/components/common/layout/theHeader/userMenu/modals/preferences/changeLanguage/ChangeLanguageOld.vue +2 -5
  68. package/components/common/layout/theHeader/userMenu/modals/preferences/defaultConsole/DefaultConsoleOld.vue +1 -1
  69. package/components/common/layout/theHeader/userMenu/modals/preferences/inventory/InventoryNew.vue +1 -1
  70. package/components/common/layout/theHeader/userMenu/userMenuNew/UserMenuNew.vue +2 -2
  71. package/components/common/layout/theHeader/userMenu/userMenuNew/lib/config/dropMenu.ts +1 -1
  72. package/components/common/layout/theHeader/userMenu/userMenuOld/UserMenuOld.vue +1 -1
  73. package/components/common/mainNavigationPanel/MainNavigationPanelOld.vue +2 -2
  74. package/components/common/modals/Rename.vue +2 -2
  75. package/components/common/modals/confirmByInput/ConfirmByInput.vue +2 -3
  76. package/components/common/modals/confirmByInput/ConfirmByInputOld.vue +3 -3
  77. package/components/common/modals/confirmation/ConfirmationOld.vue +1 -1
  78. package/components/common/modals/unsavedChanges/UnsavedChanges.vue +1 -1
  79. package/components/common/monitor/advanced/Advanced.vue +1 -1
  80. package/components/common/monitor/advanced/AdvancedNew.vue +1 -1
  81. package/components/common/monitor/advanced/AdvancedOld.vue +1 -1
  82. package/components/common/monitor/advanced/graphView/GraphViewNew.vue +1 -1
  83. package/components/common/monitor/advanced/graphView/GraphViewOld.vue +1 -1
  84. package/components/common/monitor/advanced/table/Table.vue +1 -1
  85. package/components/common/monitor/advanced/table/tableNew/TableNew.vue +2 -2
  86. package/components/common/monitor/advanced/table/tableOld/lib/config/performanceDatatable.ts +2 -2
  87. package/components/common/monitor/advanced/tools/ToolsOld.vue +2 -2
  88. package/components/common/monitor/advanced/tools/chartOptionsModal/ChartOptionsModalOld.vue +1 -1
  89. package/components/common/monitor/advanced/tools/chartOptionsModal/NotificationOld.vue +1 -1
  90. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/ActionsOld.vue +1 -1
  91. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/saveOptionsModal/SaveOptionsModal.vue +1 -1
  92. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/CountersNew.vue +1 -1
  93. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/tableOld/lib/config/tableConfig.ts +2 -2
  94. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/lib/config/objectTable.ts +10 -3
  95. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/objectNew/ObjectNew.vue +1 -1
  96. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/objectOld/ObjectOld.vue +2 -2
  97. package/components/common/monitor/advanced/tools/lib/utils/countCores.ts +1 -1
  98. package/components/common/monitor/lib/models/interfaces.ts +1 -1
  99. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModalOld.vue +3 -3
  100. package/components/common/monitor/overview/filters/customIntervalModal/customIntervalModalNew/CustomIntervalModalNew.vue +4 -3
  101. package/components/common/monitor/resourceAllocation/lib/models/interfaces.ts +8 -8
  102. package/components/common/monitor/resourceAllocation/resourceAllocation.vue +2 -2
  103. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/ChartOptionsModal.vue +1 -1
  104. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/Notification.vue +1 -1
  105. package/components/common/pages/hardwareHealth/historyTestimony/tools/chartOptionsModal/actions/SaveOptionsModal.vue +1 -1
  106. package/components/common/pages/hardwareHealth/tableView/lib/config/alertWarningTable.ts +1 -1
  107. package/components/common/pages/hardwareHealth/tableView/lib/config/historyTestimonyTable.ts +5 -5
  108. package/components/common/wizards/vm/migrate/Migrate.vue +39 -2
  109. package/components/common/wizards/vm/migrate/vmOrigin/VmOrigin.vue +92 -0
  110. package/components/common/wizards/vm/migrate/vmOrigin/lib/models/interfaces.ts +19 -0
  111. package/components/common/wizards/vm/migrate/vmOrigin/lib/utils/constructItems.ts +62 -0
  112. package/package.json +1 -1
@@ -1,145 +1,145 @@
1
- <template>
2
- <div :style="blockWidth" class="title-block">
3
- <div
4
- :class="[
5
- 'title-block__container',
6
- `title-block__container-${props.position}`,
7
- ]"
8
- :style="blockWidth"
9
- >
10
- <div
11
- :style="blockTitleWidth"
12
- class="title-block__title pointer"
13
- @click="emits('sort')"
14
- >
15
- <b>{{ props.title }}</b>
16
- <span class="sort-arrow-container">
17
- <atoms-the-icon
18
- v-show="props.sorting[0]"
19
- :class="['sort-arrow', { down: !props.sorting[1] }]"
20
- width="14px"
21
- height="14px"
22
- name="sort-arrow"
23
- />
24
- </span>
25
- </div>
26
- <div class="title-block__body">
27
- <slot name="content"></slot>
28
- </div>
29
- </div>
30
- </div>
31
- </template>
32
-
33
- <script setup lang="ts">
34
- const props = withDefaults(
35
- defineProps<{
36
- title: string
37
- width: number
38
- sorting?: [boolean, boolean]
39
- position: 'first-block' | 'second-block' | 'third-block'
40
- }>(),
41
- {
42
- sorting: () => [false, false],
43
- position: 'first-block',
44
- }
45
- )
46
- const emits = defineEmits<{
47
- (event: 'sort'): void
48
- }>()
49
-
50
- const blockWidth = computed<any>(() => ({ width: `${props.width}px` }))
51
- const blockTitleWidth = computed<any>(() => ({
52
- width: `${
53
- props.width -
54
- (props.position === 'first-block' || props.position === 'third-block'
55
- ? 12
56
- : 24)
57
- }px`,
58
- }))
59
- </script>
60
-
61
- <style scoped lang="scss">
62
- .title-block {
63
- width: 100%;
64
- min-height: 400px;
65
- position: relative;
66
-
67
- &__container {
68
- position: absolute;
69
- top: 0;
70
- left: 0;
71
- display: flex;
72
- flex-direction: column;
73
- height: 400px;
74
-
75
- &.title-block__container-first-block {
76
- padding-right: 12px;
77
-
78
- .title-block__body {
79
- padding: 0 4px;
80
- }
81
- }
82
-
83
- &.title-block__container-second-block {
84
- padding-right: 12px;
85
- padding-left: 12px;
86
-
87
- .title-block__body {
88
- padding: 0 4px;
89
- }
90
- }
91
-
92
- &.title-block__container-third-block {
93
- padding-left: 12px;
94
-
95
- .title-block__body {
96
- padding: 4px 12px;
97
- }
98
- }
99
- }
100
- &__title {
101
- display: flex;
102
- align-items: center;
103
- flex: 0 0 auto;
104
- background-color: var(--select-file-header-bg);
105
- padding: 8px;
106
- white-space: nowrap;
107
- overflow: hidden !important;
108
- text-overflow: ellipsis;
109
- height: 32px;
110
- padding: 8px 12px 8px 12px;
111
- border-radius: 6px;
112
- margin-bottom: 8px;
113
-
114
- b {
115
- font-family: Inter;
116
- font-size: 12px;
117
- font-weight: 500;
118
- line-height: 14.52px;
119
- text-align: left;
120
- color: #9da6ad;
121
-
122
- &:hover {
123
- color: var(--select-file-header-arrow-color);
124
- }
125
- }
126
-
127
- .sort-arrow-container {
128
- width: 14px;
129
- height: 14px;
130
-
131
- .sort-arrow {
132
- fill: var(--select-file-header-arrow-color);
133
-
134
- &.down {
135
- transform: rotate(180deg);
136
- }
137
- }
138
- }
139
- }
140
- &__body {
141
- flex: 1 1 auto;
142
- overflow-y: auto;
143
- }
144
- }
145
- </style>
1
+ <template>
2
+ <div :style="blockWidth" class="title-block">
3
+ <div
4
+ :class="[
5
+ 'title-block__container',
6
+ `title-block__container-${props.position}`,
7
+ ]"
8
+ :style="blockWidth"
9
+ >
10
+ <div
11
+ :style="blockTitleWidth"
12
+ class="title-block__title pointer"
13
+ @click="emits('sort')"
14
+ >
15
+ <b>{{ props.title }}</b>
16
+ <span class="sort-arrow-container">
17
+ <atoms-the-icon
18
+ v-show="props.sorting[0]"
19
+ :class="['sort-arrow', { down: !props.sorting[1] }]"
20
+ width="14px"
21
+ height="14px"
22
+ name="sort-arrow"
23
+ />
24
+ </span>
25
+ </div>
26
+ <div class="title-block__body">
27
+ <slot name="content"></slot>
28
+ </div>
29
+ </div>
30
+ </div>
31
+ </template>
32
+
33
+ <script setup lang="ts">
34
+ const props = withDefaults(
35
+ defineProps<{
36
+ title: string
37
+ width: number
38
+ sorting?: [boolean, boolean]
39
+ position: 'first-block' | 'second-block' | 'third-block'
40
+ }>(),
41
+ {
42
+ sorting: () => [false, false],
43
+ position: 'first-block',
44
+ }
45
+ )
46
+ const emits = defineEmits<{
47
+ (event: 'sort'): void
48
+ }>()
49
+
50
+ const blockWidth = computed<any>(() => ({ width: `${props.width}px` }))
51
+ const blockTitleWidth = computed<any>(() => ({
52
+ width: `${
53
+ props.width -
54
+ (props.position === 'first-block' || props.position === 'third-block'
55
+ ? 12
56
+ : 24)
57
+ }px`,
58
+ }))
59
+ </script>
60
+
61
+ <style scoped lang="scss">
62
+ .title-block {
63
+ width: 100%;
64
+ min-height: 400px;
65
+ position: relative;
66
+
67
+ &__container {
68
+ position: absolute;
69
+ top: 0;
70
+ left: 0;
71
+ display: flex;
72
+ flex-direction: column;
73
+ height: 400px;
74
+
75
+ &.title-block__container-first-block {
76
+ padding-right: 12px;
77
+
78
+ .title-block__body {
79
+ padding: 0 4px;
80
+ }
81
+ }
82
+
83
+ &.title-block__container-second-block {
84
+ padding-right: 12px;
85
+ padding-left: 12px;
86
+
87
+ .title-block__body {
88
+ padding: 0 4px;
89
+ }
90
+ }
91
+
92
+ &.title-block__container-third-block {
93
+ padding-left: 12px;
94
+
95
+ .title-block__body {
96
+ padding: 4px 12px;
97
+ }
98
+ }
99
+ }
100
+ &__title {
101
+ display: flex;
102
+ align-items: center;
103
+ flex: 0 0 auto;
104
+ background-color: var(--select-file-header-bg);
105
+ padding: 8px;
106
+ white-space: nowrap;
107
+ overflow: hidden !important;
108
+ text-overflow: ellipsis;
109
+ height: 32px;
110
+ padding: 8px 12px 8px 12px;
111
+ border-radius: 6px;
112
+ margin-bottom: 8px;
113
+
114
+ b {
115
+ font-family: Inter;
116
+ font-size: 12px;
117
+ font-weight: 500;
118
+ line-height: 14.52px;
119
+ text-align: left;
120
+ color: #9da6ad;
121
+
122
+ &:hover {
123
+ color: var(--select-file-header-arrow-color);
124
+ }
125
+ }
126
+
127
+ .sort-arrow-container {
128
+ width: 14px;
129
+ height: 14px;
130
+
131
+ .sort-arrow {
132
+ fill: var(--select-file-header-arrow-color);
133
+
134
+ &.down {
135
+ transform: rotate(180deg);
136
+ }
137
+ }
138
+ }
139
+ }
140
+ &__body {
141
+ flex: 1 1 auto;
142
+ overflow-y: auto;
143
+ }
144
+ }
145
+ </style>
@@ -1,91 +1,91 @@
1
- <template>
2
- <div :style="blockWidth" class="title-block">
3
- <div :style="blockWidth" class="title-block__container">
4
- <div
5
- :style="blockTitleWidth"
6
- class="title-block__title pointer"
7
- @click="emits('sort')"
8
- >
9
- <b>{{ props.title }}</b>
10
- <atoms-the-icon
11
- v-show="props.sorting[0]"
12
- :class="['sort-arrow', { down: !props.sorting[1] }]"
13
- width="14px"
14
- height="14px"
15
- name="sort-arrow"
16
- />
17
- </div>
18
- <div class="title-block__body">
19
- <slot name="content"></slot>
20
- </div>
21
- </div>
22
- </div>
23
- </template>
24
-
25
- <script setup lang="ts">
26
- const props = withDefaults(
27
- defineProps<{
28
- title: string
29
- width: number
30
- sorting?: [boolean, boolean]
31
- }>(),
32
- {
33
- sorting: () => [false, false],
34
- }
35
- )
36
- const emits = defineEmits<{
37
- (event: 'sort'): void
38
- }>()
39
-
40
- const blockWidth = computed<any>(() => ({ width: `${props.width}px` }))
41
- const blockTitleWidth = computed<any>(() => ({ width: `${props.width - 2}px` }))
42
- </script>
43
-
44
- <style scoped lang="scss">
45
- .title-block {
46
- width: 100%;
47
- min-height: 400px;
48
- position: relative;
49
-
50
- &__container {
51
- position: absolute;
52
- top: 0;
53
- left: 0;
54
- display: flex;
55
- flex-direction: column;
56
- height: 400px;
57
- border-width: 1px;
58
- border-style: solid;
59
- border-image: initial;
60
- background: var(--block-view-bg-color5);
61
- border-color: var(--block-border-color2);
62
- }
63
- &__title {
64
- display: inline-block;
65
- flex: 0 0 auto;
66
- background-color: var(--block-view-bg-color6);
67
- border-bottom: 1px solid var(--block-border-color2);
68
- padding: 8px;
69
- white-space: nowrap;
70
- overflow: hidden !important;
71
- text-overflow: ellipsis;
72
-
73
- b {
74
- font-family: Metropolis, Avenir Next, Helvetica Neue, Arial, sans-serif;
75
- font-size: 13px;
76
- color: var(--global-font-color9);
77
- font-weight: bolder;
78
- letter-spacing: normal;
79
- }
80
- .sort-arrow {
81
- &.down {
82
- transform: rotate(180deg);
83
- }
84
- }
85
- }
86
- &__body {
87
- flex: 1 1 auto;
88
- overflow-y: auto;
89
- }
90
- }
91
- </style>
1
+ <template>
2
+ <div :style="blockWidth" class="title-block">
3
+ <div :style="blockWidth" class="title-block__container">
4
+ <div
5
+ :style="blockTitleWidth"
6
+ class="title-block__title pointer"
7
+ @click="emits('sort')"
8
+ >
9
+ <b>{{ props.title }}</b>
10
+ <atoms-the-icon
11
+ v-show="props.sorting[0]"
12
+ :class="['sort-arrow', { down: !props.sorting[1] }]"
13
+ width="14px"
14
+ height="14px"
15
+ name="sort-arrow"
16
+ />
17
+ </div>
18
+ <div class="title-block__body">
19
+ <slot name="content"></slot>
20
+ </div>
21
+ </div>
22
+ </div>
23
+ </template>
24
+
25
+ <script setup lang="ts">
26
+ const props = withDefaults(
27
+ defineProps<{
28
+ title: string
29
+ width: number
30
+ sorting?: [boolean, boolean]
31
+ }>(),
32
+ {
33
+ sorting: () => [false, false],
34
+ }
35
+ )
36
+ const emits = defineEmits<{
37
+ (event: 'sort'): void
38
+ }>()
39
+
40
+ const blockWidth = computed<any>(() => ({ width: `${props.width}px` }))
41
+ const blockTitleWidth = computed<any>(() => ({ width: `${props.width - 2}px` }))
42
+ </script>
43
+
44
+ <style scoped lang="scss">
45
+ .title-block {
46
+ width: 100%;
47
+ min-height: 400px;
48
+ position: relative;
49
+
50
+ &__container {
51
+ position: absolute;
52
+ top: 0;
53
+ left: 0;
54
+ display: flex;
55
+ flex-direction: column;
56
+ height: 400px;
57
+ border-width: 1px;
58
+ border-style: solid;
59
+ border-image: initial;
60
+ background: var(--block-view-bg-color5);
61
+ border-color: var(--block-border-color2);
62
+ }
63
+ &__title {
64
+ display: inline-block;
65
+ flex: 0 0 auto;
66
+ background-color: var(--block-view-bg-color6);
67
+ border-bottom: 1px solid var(--block-border-color2);
68
+ padding: 8px;
69
+ white-space: nowrap;
70
+ overflow: hidden !important;
71
+ text-overflow: ellipsis;
72
+
73
+ b {
74
+ font-family: Metropolis, Avenir Next, Helvetica Neue, Arial, sans-serif;
75
+ font-size: 13px;
76
+ color: var(--global-font-color9);
77
+ font-weight: bolder;
78
+ letter-spacing: normal;
79
+ }
80
+ .sort-arrow {
81
+ &.down {
82
+ transform: rotate(180deg);
83
+ }
84
+ }
85
+ }
86
+ &__body {
87
+ flex: 1 1 auto;
88
+ overflow-y: auto;
89
+ }
90
+ }
91
+ </style>
@@ -1,72 +1,72 @@
1
- <template>
2
- <ul class="file-view__container">
3
- <template v-for="file in props.selectedFolderFiles" :key="file.name">
4
- <li
5
- :data-id="file.testId"
6
- :class="[
7
- 'file-view',
8
- { selected: file.name === props.selectedFile?.name },
9
- ]"
10
- @click="onSelectFile(file)"
11
- >
12
- <span :class="['file-view__icon', file.iconClassName]"></span>
13
- <span class="file-view__text">{{ file.name }}</span>
14
- </li>
15
- </template>
16
- </ul>
17
- </template>
18
-
19
- <script setup lang="ts">
20
- const props = defineProps<{
21
- selectedFolderFiles: any[]
22
- selectedFile: any
23
- }>()
24
-
25
- const emits = defineEmits<{
26
- (event: 'select-file', value: any): void
27
- }>()
28
-
29
- const onSelectFile = (file: any): void => {
30
- emits('select-file', file)
31
- }
32
- </script>
33
-
34
- <style scoped lang="scss">
35
- .file-view {
36
- &__container {
37
- list-style-position: inside;
38
- list-style-type: none;
39
- padding: 0;
40
- margin: 0;
41
-
42
- li {
43
- line-height: 20px;
44
- padding: 2px;
45
- border-bottom: 1px solid #eee;
46
- cursor: pointer;
47
-
48
- &:hover {
49
- background-color: #c6e7ff;
50
- line-height: 20px;
51
- padding: 2px;
52
- border-bottom: 1px solid #eee;
53
- cursor: pointer;
54
- }
55
- &.selected {
56
- background-color: #a3d7ff;
57
- }
58
- span {
59
- line-height: 20px;
60
- }
61
- span:first-of-type {
62
- width: 16px;
63
- height: 16px;
64
- line-height: 20px;
65
- }
66
- &__text {
67
- color: var(--global-font-color9);
68
- }
69
- }
70
- }
71
- }
72
- </style>
1
+ <template>
2
+ <ul class="file-view__container">
3
+ <template v-for="file in props.selectedFolderFiles" :key="file.name">
4
+ <li
5
+ :data-id="file.testId"
6
+ :class="[
7
+ 'file-view',
8
+ { selected: file.name === props.selectedFile?.name },
9
+ ]"
10
+ @click="onSelectFile(file)"
11
+ >
12
+ <span :class="['file-view__icon', file.iconClassName]"></span>
13
+ <span class="file-view__text">{{ file.name }}</span>
14
+ </li>
15
+ </template>
16
+ </ul>
17
+ </template>
18
+
19
+ <script setup lang="ts">
20
+ const props = defineProps<{
21
+ selectedFolderFiles: any[]
22
+ selectedFile: any
23
+ }>()
24
+
25
+ const emits = defineEmits<{
26
+ (event: 'select-file', value: any): void
27
+ }>()
28
+
29
+ const onSelectFile = (file: any): void => {
30
+ emits('select-file', file)
31
+ }
32
+ </script>
33
+
34
+ <style scoped lang="scss">
35
+ .file-view {
36
+ &__container {
37
+ list-style-position: inside;
38
+ list-style-type: none;
39
+ padding: 0;
40
+ margin: 0;
41
+
42
+ li {
43
+ line-height: 20px;
44
+ padding: 2px;
45
+ border-bottom: 1px solid #eee;
46
+ cursor: pointer;
47
+
48
+ &:hover {
49
+ background-color: #c6e7ff;
50
+ line-height: 20px;
51
+ padding: 2px;
52
+ border-bottom: 1px solid #eee;
53
+ cursor: pointer;
54
+ }
55
+ &.selected {
56
+ background-color: #a3d7ff;
57
+ }
58
+ span {
59
+ line-height: 20px;
60
+ }
61
+ span:first-of-type {
62
+ width: 16px;
63
+ height: 16px;
64
+ line-height: 20px;
65
+ }
66
+ &__text {
67
+ color: var(--global-font-color9);
68
+ }
69
+ }
70
+ }
71
+ }
72
+ </style>