bfg-common 1.1.76 → 1.1.78

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 (82) 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/nav/NavBar.vue +116 -116
  6. package/components/atoms/nav/VerticalNavBar.vue +89 -89
  7. package/components/atoms/notificationBar/NotificationBar.vue +175 -175
  8. package/components/atoms/perPage/PerPage.vue +52 -52
  9. package/components/atoms/popup/SimplePopup.vue +90 -90
  10. package/components/atoms/step/VerticalStep.vue +104 -104
  11. package/components/atoms/switch/Switch.vue +107 -107
  12. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +206 -206
  13. package/components/atoms/table/dataGrid/DataGridPage.vue +189 -189
  14. package/components/atoms/tabs/Tabs.vue +189 -189
  15. package/components/atoms/tooltip/Signpost.vue +224 -224
  16. package/components/common/adapterManager/AddAdapterWarningModal.vue +82 -82
  17. package/components/common/adapterManager/NoActiveAdaptersModal.vue +62 -62
  18. package/components/common/adapterManager/NoConnectedActiveAdaptersModal.vue +62 -62
  19. package/components/common/browse/Browse.vue +182 -182
  20. package/components/common/browse/blocks/Title.vue +66 -66
  21. package/components/common/diagramMain/Diagram.vue +186 -186
  22. package/components/common/diagramMain/DiagramMain.vue +986 -986
  23. package/components/common/diagramMain/adapter/AdapterItem.vue +227 -227
  24. package/components/common/diagramMain/adapter/AdapterItems.vue +57 -57
  25. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +339 -339
  26. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +202 -202
  27. package/components/common/diagramMain/modals/remove/RemoveModal.vue +226 -226
  28. package/components/common/diagramMain/network/Contents.vue +238 -238
  29. package/components/common/feedback/Buttons.vue +232 -232
  30. package/components/common/feedback/Message.vue +468 -468
  31. package/components/common/feedback/VisitPortal.vue +54 -54
  32. package/components/common/help/navbar/left/Left.vue +159 -159
  33. package/components/common/help/navbar/left/utils/constructAccordion.ts +27 -27
  34. package/components/common/mainNavigationPanel/MainNavigationPanel.vue +359 -359
  35. package/components/common/modals/Rename.vue +165 -165
  36. package/components/common/monitor/advanced/Advanced.vue +214 -221
  37. package/components/common/monitor/advanced/tools/Tools.vue +422 -441
  38. package/components/common/monitor/advanced/tools/chartOptionsModal/ChartOptionsModal.vue +452 -424
  39. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/Counters.vue +93 -86
  40. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/Table.vue +130 -121
  41. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/config/utils.ts +689 -688
  42. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/Timespan.vue +76 -73
  43. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/Object.vue +176 -129
  44. package/components/common/monitor/advanced/tools/chartOptionsModal/models/models.ts +19 -0
  45. package/components/common/perPage/PerPage.vue +51 -51
  46. package/components/common/recursionTree/RecursionTree.vue +201 -201
  47. package/components/common/vm/actions/add/config/capabilities.ts +777 -777
  48. package/components/common/vm/actions/add/customizeHardware/virtualHardware/VirtualHardware.vue +646 -646
  49. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +246 -246
  50. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/Cpu.vue +375 -375
  51. package/components/common/vm/actions/add/customizeHardware/virtualHardware/limit/Limit.vue +234 -234
  52. package/components/common/vm/actions/add/customizeHardware/virtualHardware/limit/config/options.ts +28 -28
  53. package/components/common/vm/actions/add/customizeHardware/virtualHardware/memory/Memory.vue +316 -316
  54. package/components/common/vm/actions/add/customizeHardware/virtualHardware/memory/config/memoryOptions.ts +35 -35
  55. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +445 -445
  56. package/components/common/vm/actions/add/customizeHardware/virtualHardware/reservation/Reservation.vue +235 -235
  57. package/components/common/vm/actions/add/customizeHardware/virtualHardware/videoCard/VideoCard.vue +177 -177
  58. package/components/common/vm/actions/add/customizeHardware/vmoptions/bootOptions/order/Order.vue +197 -197
  59. package/components/common/vm/actions/add/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +180 -180
  60. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/CopyPaste.vue +51 -51
  61. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +55 -55
  62. package/components/common/vm/actions/add/select/storage/config/config.ts +154 -154
  63. package/components/common/wizards/datastore/add/nfs/configuration/Configuration.vue +373 -373
  64. package/components/common/wizards/datastore/add/nfs/configuration/serversList/ServersList.vue +123 -123
  65. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/KerberosAuthentication.vue +54 -54
  66. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/HostTable.vue +131 -131
  67. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/PartitionConfiguration.vue +230 -230
  68. package/models/store/interfaces.ts +37 -37
  69. package/models/store/storage/interfaces.ts +32 -32
  70. package/models/store/types.ts +32 -32
  71. package/modules/fixContentBuild/utils/methods.ts +114 -114
  72. package/package.json +1 -1
  73. package/public/spice-console/application/codec.js +257 -257
  74. package/public/spice-console/lib/rasterEngine.js +907 -907
  75. package/public/spice-console/network/spicechannel.js +369 -369
  76. package/public/spice-console-minify/lib/decoder/dixie.min.js +4 -4
  77. package/public/spice-console-minify/lib/jgestures.min.js +24 -24
  78. package/public/spice-console-minify/lib/jquery-2.0.3.min.js +24 -24
  79. package/public/spice-console-minify/lib/jquery-mousewheel.min.js +11 -11
  80. package/public/spice-console-minify/lib/jquery-visibility.min.js +1 -1
  81. package/public/spice-console-minify/lib/lodash.4.0.0.min.js +5 -5
  82. package/utils/contentBuild.ts +34 -34
@@ -1,73 +1,76 @@
1
- <template>
2
- <div class="timespan-objects-section-direction flex horizontal">
3
- <common-monitor-advanced-tools-chart-options-modal-counters-timespan-form
4
- :language="props.language"
5
- :selected-chart-type="props.selectedChartType"
6
- :selected-timespan-type="props.selectedTimespanType"
7
- :units-count="props.unitsCount"
8
- :period-type="props.periodType"
9
- :selected-custom-time="props.selectedCustomTime"
10
- :custom-date-from="props.customDateFrom"
11
- :custom-date-to="props.customDateTo"
12
- :custom-time-from="props.customTimeFrom"
13
- :custom-time-to="props.customTimeTo"
14
- @update-chart-type="emits('update-chart-type', $event)"
15
- @update-custom-time="emits('update-custom-time', $event)"
16
- @update-timespan-type="emits('update-timespan-type', $event)"
17
- @update-unit-count="emits('update-unit-count', $event)"
18
- @update-period-type="emits('update-period-type', $event)"
19
- @update-custom-date-from="emits('update-custom-date-from', $event)"
20
- @update-custom-date-to="emits('update-custom-date-to', $event)"
21
- @update-custom-time-from="emits('update-custom-time-from', $event)"
22
- @update-custom-time-to="emits('update-custom-time-to', $event)"
23
- />
24
- <common-monitor-advanced-tools-chart-options-modal-counters-timespan-object
25
- :type="props.type"
26
- :chart="props.chart"
27
- :total-cores="props.totalCores"
28
- :host-id="props.hostId"
29
- @select-objects="emits('select-objects', $event)"
30
- />
31
- </div>
32
- </template>
33
-
34
- <script setup lang="ts">
35
- import { UI_T_AdvancedType } from '~/components/common/monitor/advanced/models/types'
36
- import {
37
- T_ChartHost,
38
- T_ChartVm,
39
- } from '~/components/common/monitor/advanced/tools/chartOptionsModal/models/types'
40
-
41
- const props = defineProps<{
42
- type: UI_T_AdvancedType
43
- chart: T_ChartHost | T_ChartVm
44
- language: string
45
- selectedChartType: string
46
- selectedTimespanType: string
47
- unitsCount: number
48
- periodType: string
49
- selectedCustomTime: string
50
- customDateFrom: string
51
- customDateTo: string
52
- customTimeFrom: string
53
- customTimeTo: string
54
- totalCores: number
55
- hostId: string
56
- }>()
57
-
58
- const emits = defineEmits<{
59
- (event: 'update-chart-type', value: string): void
60
- (event: 'update-custom-time', value: string): void
61
- (event: 'update-timespan-type', value: string): void
62
- (event: 'update-unit-count', value: number): void
63
- (event: 'update-period-type', value: string): void
64
- (event: 'update-period-type', value: string): void
65
- (event: 'update-custom-date-from', value: string): void
66
- (event: 'update-custom-date-to', value: string): void
67
- (event: 'update-custom-time-from', value: string): void
68
- (event: 'update-custom-time-to', value: string): void
69
- (event: 'select-objects', value: string): void
70
- }>()
71
- </script>
72
-
73
- <style scoped lang="scss"></style>
1
+ <template>
2
+ <div class="timespan-objects-section-direction flex horizontal">
3
+ <common-monitor-advanced-tools-chart-options-modal-counters-timespan-form
4
+ :language="props.language"
5
+ :selected-chart-type="props.selectedChartType"
6
+ :selected-timespan-type="props.selectedTimespanType"
7
+ :units-count="props.unitsCount"
8
+ :period-type="props.periodType"
9
+ :selected-custom-time="props.selectedCustomTime"
10
+ :custom-date-from="props.customDateFrom"
11
+ :custom-date-to="props.customDateTo"
12
+ :custom-time-from="props.customTimeFrom"
13
+ :custom-time-to="props.customTimeTo"
14
+ @update-chart-type="emits('update-chart-type', $event)"
15
+ @update-custom-time="emits('update-custom-time', $event)"
16
+ @update-timespan-type="emits('update-timespan-type', $event)"
17
+ @update-unit-count="emits('update-unit-count', $event)"
18
+ @update-period-type="emits('update-period-type', $event)"
19
+ @update-custom-date-from="emits('update-custom-date-from', $event)"
20
+ @update-custom-date-to="emits('update-custom-date-to', $event)"
21
+ @update-custom-time-from="emits('update-custom-time-from', $event)"
22
+ @update-custom-time-to="emits('update-custom-time-to', $event)"
23
+ />
24
+ <common-monitor-advanced-tools-chart-options-modal-counters-timespan-object
25
+ :type="props.type"
26
+ :chart="props.chart"
27
+ :total-cores="props.totalCores"
28
+ :host-id="props.hostId"
29
+ @select-objects="emits('select-objects', $event)"
30
+ />
31
+ </div>
32
+ </template>
33
+
34
+ <script setup lang="ts">
35
+ import { UI_T_AdvancedType } from '~/components/common/monitor/advanced/models/types'
36
+ import {
37
+ T_ChartHost,
38
+ T_ChartVm,
39
+ } from '~/components/common/monitor/advanced/tools/chartOptionsModal/models/types'
40
+
41
+ const props = defineProps<{
42
+ type: UI_T_AdvancedType
43
+ chart: T_ChartHost | T_ChartVm
44
+ language: string
45
+ selectedChartType: string
46
+ selectedTimespanType: string
47
+ unitsCount: number
48
+ periodType: string
49
+ selectedCustomTime: string
50
+ customDateFrom: string
51
+ customDateTo: string
52
+ customTimeFrom: string
53
+ customTimeTo: string
54
+ totalCores: number
55
+ hostId: string
56
+ selectedMetricsKeys: number[]
57
+ totalMetricItems: number
58
+ selectedObjects: string
59
+ }>()
60
+
61
+ const emits = defineEmits<{
62
+ (event: 'update-chart-type', value: string): void
63
+ (event: 'update-custom-time', value: string): void
64
+ (event: 'update-timespan-type', value: string): void
65
+ (event: 'update-unit-count', value: number): void
66
+ (event: 'update-period-type', value: string): void
67
+ (event: 'update-period-type', value: string): void
68
+ (event: 'update-custom-date-from', value: string): void
69
+ (event: 'update-custom-date-to', value: string): void
70
+ (event: 'update-custom-time-from', value: string): void
71
+ (event: 'update-custom-time-to', value: string): void
72
+ (event: 'select-objects', value: string): void
73
+ }>()
74
+ </script>
75
+
76
+ <style scoped lang="scss"></style>
@@ -1,129 +1,176 @@
1
- <template>
2
- <div class="vertical-flex-container chart-option-objects-split">
3
- <span class="chart-options-grid-title">
4
- {{ localization.selectObjectForChart }}:
5
- </span>
6
- <div class="flex-to-absolute-positioning-container">
7
- <div class="flex-to-absolute-positioning-container-inner">
8
- <atoms-table-data-grid
9
- v-model:selected-row="selectedRow"
10
- v-model:column-keys="columnItems"
11
- v-model:page-size="pagination.pageSize"
12
- v-model:page="pagination.page"
13
- type="checkbox"
14
- class="data-table"
15
- :head-items="headItems"
16
- :body-items="bodyItems"
17
- :total-items="bodyItems.length"
18
- :total-pages="1"
19
- hide-footer
20
- server-off
21
- >
22
- </atoms-table-data-grid>
23
- </div>
24
- </div>
25
- </div>
26
- </template>
27
-
28
- <script setup lang="ts">
29
- import {
30
- UI_I_HeadItem,
31
- UI_I_BodyItem,
32
- UI_I_ColumnKey,
33
- } from '~/components/atoms/table/dataGrid/models/interfaces'
34
- import { UI_I_Localization } from '~/models/interfaces'
35
- import { UI_I_AdvancedTargetObject } from '~/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/models/interfaces'
36
- import * as table from '~/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/config/objectTable'
37
- import { UI_T_AdvancedType } from '~/components/common/monitor/advanced/models/types'
38
- import {
39
- T_ChartHost,
40
- T_ChartVm,
41
- } from '~/components/common/monitor/advanced/tools/chartOptionsModal/models/types'
42
-
43
- const props = defineProps<{
44
- type: UI_T_AdvancedType
45
- chart: T_ChartHost | T_ChartVm
46
- totalCores: number
47
- hostId: string
48
- }>()
49
-
50
- const emits = defineEmits<{
51
- (event: 'select-objects', value: string): void
52
- }>()
53
-
54
- const localization = computed<UI_I_Localization>(() => useLocal())
55
-
56
- const selectedRow = ref<number[]>([])
57
- const pagination = ref<any>({
58
- page: 1,
59
- pageSize: 35,
60
- })
61
-
62
- const headItems = computed<UI_I_HeadItem[]>(() =>
63
- table.headItems(localization.value)
64
- )
65
- const columnItems = computed<UI_I_ColumnKey[]>(() =>
66
- table.columnKeys(localization.value)
67
- )
68
-
69
- const bodyItems = ref<UI_I_BodyItem[][]>([])
70
-
71
- const items: UI_I_AdvancedTargetObject[] = []
72
- watch(
73
- () => [props.type, props.chart, props.totalCores, props.hostId],
74
- (newValue) => {
75
- if (newValue[0] === 'host' && newValue[1] === 'cpu') {
76
- items.push({
77
- id: 'total',
78
- target_object: newValue[3],
79
- })
80
- for (let i = 0; i < newValue[2]; i++) {
81
- items.push({
82
- id: 'core' + i,
83
- target_object: '' + i,
84
- })
85
- }
86
- bodyItems.value = table.bodyItems(items)
87
- }
88
- },
89
- { immediate: true }
90
- )
91
-
92
- watch(selectedRow, (newValue) => {
93
- const selectedItems: number[] = []
94
-
95
- newValue.forEach((key) => {
96
- selectedItems.push(+items[key].id)
97
- })
98
-
99
- const selectedNames =
100
- items.length === newValue.length ? '*' : selectedItems.join(', ')
101
- emits('select-objects', selectedNames)
102
- })
103
- </script>
104
-
105
- <style scoped lang="scss">
106
- .chart-option-objects-split {
107
- flex: 1;
108
-
109
- .chart-options-grid-title {
110
- display: block;
111
- margin-bottom: -20px;
112
- }
113
- .flex-to-absolute-positioning-container {
114
- height: 100%;
115
- max-height: 204px;
116
- .flex-to-absolute-positioning-container-inner {
117
- height: inherit;
118
-
119
- .data-table {
120
- height: inherit;
121
-
122
- :deep(.datagrid-outer-wrapper) {
123
- height: inherit;
124
- }
125
- }
126
- }
127
- }
128
- }
129
- </style>
1
+ <template>
2
+ <div class="vertical-flex-container chart-option-objects-split">
3
+ <span class="chart-options-grid-title">
4
+ {{ localization.selectObjectForChart }}:
5
+ </span>
6
+ <div class="flex-to-absolute-positioning-container">
7
+ <div class="flex-to-absolute-positioning-container-inner">
8
+ <atoms-table-data-grid
9
+ v-model:selected-row="selectedRow"
10
+ v-model:column-keys="columnItems"
11
+ v-model:page-size="pagination.pageSize"
12
+ v-model:page="pagination.page"
13
+ type="checkbox"
14
+ class="data-table"
15
+ :head-items="headItems"
16
+ :body-items="bodyItems"
17
+ :total-items="bodyItems.length"
18
+ :total-pages="1"
19
+ hide-footer
20
+ server-off
21
+ >
22
+ </atoms-table-data-grid>
23
+ </div>
24
+ </div>
25
+ </div>
26
+ </template>
27
+
28
+ <script setup lang="ts">
29
+ import {
30
+ UI_I_HeadItem,
31
+ UI_I_BodyItem,
32
+ UI_I_ColumnKey,
33
+ } from '~/components/atoms/table/dataGrid/models/interfaces'
34
+ import { UI_I_Localization } from '~/models/interfaces'
35
+ import { UI_I_AdvancedTargetObject } from '~/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/models/interfaces'
36
+ import * as table from '~/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/config/objectTable'
37
+ import { UI_T_AdvancedType } from '~/components/common/monitor/advanced/models/types'
38
+ import {
39
+ T_ChartHost,
40
+ T_ChartVm,
41
+ } from '~/components/common/monitor/advanced/tools/chartOptionsModal/models/types'
42
+
43
+ const props = defineProps<{
44
+ type: UI_T_AdvancedType
45
+ chart: T_ChartHost | T_ChartVm
46
+ totalCores: number
47
+ hostId: string
48
+ selectedMetricsKeys: number[]
49
+ totalMetricItems: number
50
+ selectedObjects: string
51
+ }>()
52
+
53
+ const emits = defineEmits<{
54
+ (event: 'select-objects', value: string): void
55
+ }>()
56
+
57
+ const localization = computed<UI_I_Localization>(() => useLocal())
58
+
59
+ const selectedRow = ref<number[]>([])
60
+ const pagination = ref<any>({
61
+ page: 1,
62
+ pageSize: 35,
63
+ })
64
+
65
+ const headItems = computed<UI_I_HeadItem[]>(() =>
66
+ table.headItems(localization.value)
67
+ )
68
+ const columnItems = computed<UI_I_ColumnKey[]>(() =>
69
+ table.columnKeys(localization.value)
70
+ )
71
+
72
+ const bodyItems = ref<UI_I_BodyItem[][]>([])
73
+
74
+ let items: UI_I_AdvancedTargetObject[] = []
75
+ watch(
76
+ () => [
77
+ props.type,
78
+ props.chart,
79
+ props.totalCores,
80
+ props.hostId,
81
+ props.selectedMetricsKeys,
82
+ ],
83
+ (newValue) => {
84
+ items = []
85
+ selectedRow.value = []
86
+
87
+ if (newValue[0] === 'host' && newValue[1] === 'cpu') {
88
+ if (newValue[4].includes(0)) {
89
+ items.push({
90
+ id: 'total',
91
+ target_object: newValue[3],
92
+ })
93
+ }
94
+ if (newValue[4].includes(1)) {
95
+ for (let i = 0; i < newValue[2]; i++) {
96
+ items.push({
97
+ id: 'core' + i,
98
+ target_object: '' + i,
99
+ })
100
+ }
101
+ }
102
+ bodyItems.value = table.bodyItems(items)
103
+ } else bodyItems.value = []
104
+ },
105
+ { immediate: true }
106
+ )
107
+
108
+ watch(
109
+ selectedRow,
110
+ (newValue) => {
111
+ const selectedItems: string[] = []
112
+
113
+ newValue.forEach((key) => {
114
+ selectedItems.push(items[key].id)
115
+ })
116
+
117
+ const selectedNames =
118
+ items.length === newValue.length &&
119
+ props.selectedMetricsKeys.length === props.totalMetricItems
120
+ ? '*'
121
+ : selectedItems.join(', ')
122
+
123
+ emits('select-objects', selectedNames)
124
+ },
125
+ { deep: true }
126
+ )
127
+
128
+ watch(
129
+ () => [props.selectedObjects, bodyItems.value],
130
+ ([selected, all]) => {
131
+ if (!all.length) return
132
+
133
+ if (props.type === 'host' && props.chart === 'cpu') {
134
+ if (selected === '*') {
135
+ selectedRow.value = all.map((item) => item[0].id)
136
+ } else {
137
+ const selectedNames = selected.split(', ')
138
+ const selectedKeys: number[] = []
139
+ all.forEach((item) => {
140
+ if (selectedNames.includes('total')) selectedKeys.push(0)
141
+ if (selectedNames.includes(`core${item[0].text}`))
142
+ selectedKeys.push(item[0].id)
143
+ })
144
+ selectedRow.value = selectedKeys
145
+ }
146
+ }
147
+ },
148
+ { immediate: true }
149
+ )
150
+ </script>
151
+
152
+ <style scoped lang="scss">
153
+ .chart-option-objects-split {
154
+ flex: 1;
155
+
156
+ .chart-options-grid-title {
157
+ display: block;
158
+ margin-bottom: -20px;
159
+ }
160
+ .flex-to-absolute-positioning-container {
161
+ height: 100%;
162
+ max-height: 204px;
163
+ .flex-to-absolute-positioning-container-inner {
164
+ height: inherit;
165
+
166
+ .data-table {
167
+ height: inherit;
168
+
169
+ :deep(.datagrid-outer-wrapper) {
170
+ height: inherit;
171
+ }
172
+ }
173
+ }
174
+ }
175
+ }
176
+ </style>
@@ -0,0 +1,19 @@
1
+ import { UI_I_AdvancedCounterItem } from '~/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/models/interfaces'
2
+
3
+ export interface UI_I_OptionsForm {
4
+ fields: string
5
+ optionName: string
6
+ metric: string
7
+ counters: UI_I_AdvancedCounterItem[]
8
+ timespanType: string
9
+ periodType: string
10
+ unitCount: number
11
+ localTimespanType: string
12
+ dateFrom: string
13
+ timeFrom: string
14
+ dateTo: string
15
+ timeTo: string
16
+ chartType: string
17
+ objects: string
18
+ periodValue: number[]
19
+ }
@@ -1,51 +1,51 @@
1
- <template>
2
- <div class="page-size">
3
- {{ selectLabel }}
4
-
5
- <div class="clr-select-wrapper">
6
- <select
7
- :id="`${props.testId}-page-size-select`"
8
- :value="props.pageSize"
9
- class="clr-page-size-select"
10
- @change="change"
11
- >
12
- <option
13
- v-for="(item, key) in props.options"
14
- :key="key"
15
- :value="item.value"
16
- >
17
- {{ item.text }}
18
- </option>
19
- </select>
20
- </div>
21
- </div>
22
- </template>
23
-
24
- <script setup lang="ts">
25
- import { UI_I_Localization } from '~/models/interfaces'
26
- import { UI_I_OptionItem } from '~/components/atoms/models/interfaces'
27
-
28
- const props = withDefaults(
29
- defineProps<{
30
- testId: string
31
- pageSize: number
32
- options: UI_I_OptionItem[]
33
- label?: string
34
- }>(),
35
- {
36
- label: 'itemsPerPage',
37
- }
38
- )
39
- const emits = defineEmits<{
40
- (event: 'change', num: number): void
41
- }>()
42
-
43
- const localization = computed<UI_I_Localization>(() => useLocal())
44
- const selectLabel = computed<string>(() => localization.value[props.label])
45
-
46
- const change = (e: InputEvent): void => {
47
- emits('change', +(e.target as HTMLInputElement).value)
48
- }
49
- </script>
50
-
51
- <style scoped></style>
1
+ <template>
2
+ <div class="page-size">
3
+ {{ selectLabel }}
4
+
5
+ <div class="clr-select-wrapper">
6
+ <select
7
+ :id="`${props.testId}-page-size-select`"
8
+ :value="props.pageSize"
9
+ class="clr-page-size-select"
10
+ @change="change"
11
+ >
12
+ <option
13
+ v-for="(item, key) in props.options"
14
+ :key="key"
15
+ :value="item.value"
16
+ >
17
+ {{ item.text }}
18
+ </option>
19
+ </select>
20
+ </div>
21
+ </div>
22
+ </template>
23
+
24
+ <script setup lang="ts">
25
+ import { UI_I_Localization } from '~/models/interfaces'
26
+ import { UI_I_OptionItem } from '~/components/atoms/models/interfaces'
27
+
28
+ const props = withDefaults(
29
+ defineProps<{
30
+ testId: string
31
+ pageSize: number
32
+ options: UI_I_OptionItem[]
33
+ label?: string
34
+ }>(),
35
+ {
36
+ label: 'itemsPerPage',
37
+ }
38
+ )
39
+ const emits = defineEmits<{
40
+ (event: 'change', num: number): void
41
+ }>()
42
+
43
+ const localization = computed<UI_I_Localization>(() => useLocal())
44
+ const selectLabel = computed<string>(() => localization.value[props.label])
45
+
46
+ const change = (e: InputEvent): void => {
47
+ emits('change', +(e.target as HTMLInputElement).value)
48
+ }
49
+ </script>
50
+
51
+ <style scoped></style>