bfg-common 1.5.307 → 1.5.309

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.
@@ -140,7 +140,7 @@
140
140
  "availableServices": "Available services",
141
141
  "availableStorage": "Available Storage",
142
142
  "average": "Average",
143
- "averageBandwidth": "Average bandwidth",
143
+ "averageBandwidth": "Average Bandwidth",
144
144
  "averageBandwidthKbit": "Average bandwidth (kbit/s)",
145
145
  "averageBigInvalidError": "The average bandwidth must not be greater than 9007199254740991.",
146
146
  "averageInvalidError": "The average bandwidth must be a positive integer number.",
@@ -157,7 +157,7 @@
157
157
  "bIOSManufacturer": "BIOS manufacturer",
158
158
  "bIOSReleaseDate": "BIOS release date",
159
159
  "bIOSVersion": "BIOS version",
160
- "blockSize": "Block size",
160
+ "blockSize": "Block Size",
161
161
  "bMCFirmwareVersion": "BMC firmware version",
162
162
  "bMCManufacturer": "BMC manufacturer",
163
163
  "bootDelay": "Boot Delay",
@@ -169,7 +169,7 @@
169
169
  "browseDoted": "Browse ...",
170
170
  "browserDefault": "Browser Default",
171
171
  "build": "Build",
172
- "burstSize": "Burst size",
172
+ "burstSize": "Burst Size",
173
173
  "burstSizeBigInvalidError": "The burst size must not be greater than 9007199254740991.",
174
174
  "burstSizeInvalidError": "The burst size must be a positive integer number.",
175
175
  "burstSizeKb": "Burst size (KB)",
@@ -607,7 +607,7 @@
607
607
  "followingFilesAlreadyExist": "The following files already exist in this location and will be replaced:",
608
608
  "for": "for",
609
609
  "forceShared": "Force Shared",
610
- "forgedTransmits": "Forged transmits",
610
+ "forgedTransmits": "Forged Transmits",
611
611
  "free": "Free",
612
612
  "freeSpace": "Free Space",
613
613
  "friday": "Friday",
@@ -833,7 +833,7 @@
833
833
  "linkStatusOnly": "Link status only",
834
834
  "liveResizeOperations": "Live Resize Operations",
835
835
  "lldp": "LLDP",
836
- "loadBalancing": "Load balancing",
836
+ "loadBalancing": "Load Balancing",
837
837
  "loading": "Loading",
838
838
  "local": "Local",
839
839
  "localAccount": "Local Accounts",
@@ -857,7 +857,7 @@
857
857
  "lunId": "Lun Id",
858
858
  "macAddress": "MAC Address",
859
859
  "mACAddress": "MAC address",
860
- "macAddressChanges": "MAC address changes",
860
+ "macAddressChanges": "MAC Address Changes",
861
861
  "machineType": "Machine Type",
862
862
  "maintenanceMode": "Maintenance Mode",
863
863
  "makesHardwareVirtualization": "Makes Hardware virtualization, IOMMU, EFI, and Secure Boot available to the guest OS. You must also enable Virtualization Based Security within the guest OS of this virtual machine.",
@@ -982,7 +982,7 @@
982
982
  "networkAddress": "Network Address",
983
983
  "networkAndS": "Network(s)",
984
984
  "networkEditSettings": " - Edit Settings",
985
- "networkFailureDetection": "Network failure detection",
985
+ "networkFailureDetection": "Network Failure Detection",
986
986
  "networking": "Networking",
987
987
  "networkInvalidMessage": "Select an existing distributed port group or an opaque network.",
988
988
  "networkLabel": "Network name",
@@ -1058,7 +1058,7 @@
1058
1058
  "note": "Note",
1059
1059
  "notes": "Notes",
1060
1060
  "notifyInfoActionText": "View updates",
1061
- "notifySwitches": "Notify switches",
1061
+ "notifySwitches": "Notify Switches",
1062
1062
  "notifyWarningActionText": "Manage your licenses",
1063
1063
  "notInstalled": "not installed",
1064
1064
  "notRunning": "Not running",
@@ -1136,7 +1136,7 @@
1136
1136
  "pciDeviceNote": "Some virtual machine operations are unavailable when PCI/PCIe passthrough devices are present. Consult user guide for virtual machine operation limitations with PCI/PCIe passthrough devices.",
1137
1137
  "pCIDevices": "PCI Devices",
1138
1138
  "pCIPassthrough": "PCI passthrough",
1139
- "peakBandwidth": "Peak bandwidth",
1139
+ "peakBandwidth": "Peak Bandwidth",
1140
1140
  "peakBandwidthKbit": "Peak bandwidth (kbit/s)",
1141
1141
  "peakBigInvalidError": "The peak bandwidth must not be greater than 9007199254740991.",
1142
1142
  "peakInvalidError": "The peak bandwidth must be a positive integer number.",
@@ -1145,7 +1145,7 @@
1145
1145
  "performanceCounters": "Performance Counters",
1146
1146
  "performanceOptimization": "Performance optimization",
1147
1147
  "performanceOverview": "Performance Overview",
1148
- "performanceSummaryLastHour": "Performance summary last hour",
1148
+ "performanceSummaryLastHour": "Performance Summary Last Hour",
1149
1149
  "permissionsProvider": "Permissions provider",
1150
1150
  "persistent": "Persistent",
1151
1151
  "persistentMemory": "Persistent Memory",
@@ -1207,7 +1207,7 @@
1207
1207
  "product": "Product",
1208
1208
  "productFeatures": "Product features",
1209
1209
  "profile": "Profile",
1210
- "promiscuousMode": "Promiscuous mode",
1210
+ "promiscuousMode": "Promiscuous Mode",
1211
1211
  "propagate": "Propagate",
1212
1212
  "propagateToChildren": "Propagate to children",
1213
1213
  "properties": "Properties",
@@ -1453,9 +1453,9 @@
1453
1453
  "sphere": "Sphere",
1454
1454
  "spreadVMsAcrossGPUsBestPerformance": "Spread VMs across GPUs (best performance)",
1455
1455
  "srIov": "SR-IOV",
1456
- "standardSwitch": "Standard switch",
1456
+ "standardSwitch": "Standard Switch",
1457
1457
  "standardSwitchInvalidMessage": "Select an existing standard switch.",
1458
- "standbyAdapters": "Standby adapters",
1458
+ "standbyAdapters": "Standby Adapters",
1459
1459
  "start": "Start",
1460
1460
  "startAndStopManually": "Start and stop manually",
1461
1461
  "startAndStopWithHost": "Start and stop with host",
@@ -1599,7 +1599,7 @@
1599
1599
  "unsafe": "Unsafe",
1600
1600
  "unselected": "Unselected",
1601
1601
  "unspecified": "Unspecified",
1602
- "unusedAdapters": "Unused adapters",
1602
+ "unusedAdapters": "Unused Adapters",
1603
1603
  "update": "Update",
1604
1604
  "updates": "Updates",
1605
1605
  "updatesAvailable": "Updates Available",
@@ -1705,7 +1705,7 @@
1705
1705
  "vmFolders": "VM Folders",
1706
1706
  "vmfs": "VMFS",
1707
1707
  "vmfsDesc": "Create a VMFS datastore on a disk/LUN.",
1708
- "vmfsDetails": "VMFS details",
1708
+ "vmfsDetails": "VMFS Details",
1709
1709
  "vmfsVersion": "VMFS version",
1710
1710
  "vmfsVersionDesc": "Specify the VMFS version for the datastore.",
1711
1711
  "vmfsVersionDesc1": "VMFS 6 enables advanced format (512e) and automatic space reclamation support.",
@@ -2263,8 +2263,8 @@
2263
2263
  "guest_tools": "{trademark} Tools",
2264
2264
  "dns_name": "DNS Name",
2265
2265
  "ip_address": "IP Addresses",
2266
- "vms_amount": "Virtual machines",
2267
- "vswitch_name": "Virtual switch",
2266
+ "vms_amount": "Virtual Machines",
2267
+ "vswitch_name": "Virtual Switch",
2268
2268
  "vlan": "VLAN ID",
2269
2269
  "active_ports": "Active ports",
2270
2270
  "iops": "IOPS",
@@ -2620,7 +2620,7 @@
2620
2620
  },
2621
2621
  "networks": {
2622
2622
  "active_ports": "Active ports",
2623
- "activeAdapters": "Active adapters",
2623
+ "activeAdapters": "Active Adapters",
2624
2624
  "standardNetwork": "Standard Network"
2625
2625
  },
2626
2626
  "inventory": {
@@ -27,8 +27,8 @@
27
27
  >
28
28
  <li
29
29
  v-for="(item, key) in props.items"
30
- v-permission="item.permission"
31
30
  :key="key"
31
+ v-permission="item.permission"
32
32
  :title="item.title"
33
33
  class="navbar-dropdown-menu-item"
34
34
  @mousedown.stop
@@ -8,6 +8,7 @@
8
8
  <button
9
9
  :id="`${item.testId}-button`"
10
10
  v-development="props.item.development"
11
+ v-permission="props.item.permission"
11
12
  :data-id="`${item.testId}-button`"
12
13
  :disabled="props.item.disabled"
13
14
  :class="[
@@ -28,7 +29,11 @@
28
29
  <span v-else>{{ props.item.text }}</span>
29
30
  </button>
30
31
  </nuxt-link>
31
- <label v-else-if="props.item.uploaded" v-development="props.item.development">
32
+ <label
33
+ v-else-if="props.item.uploaded"
34
+ v-development="props.item.development"
35
+ v-permission="props.item.permission"
36
+ >
32
37
  <span class="btn btn-link">
33
38
  {{ props.item.text }}
34
39
  </span>
@@ -47,6 +52,7 @@
47
52
  :id="`${item.testId}-button`"
48
53
  :data-id="`${item.testId}-button`"
49
54
  v-development="props.item.development"
55
+ v-permission="props.item.permission"
50
56
  :disabled="props.item.disabled"
51
57
  :class="[
52
58
  props.btnClass,
@@ -1,7 +1,12 @@
1
1
  <template>
2
2
  <nav :id="id" :class="['nav', { 'not-collapse': notCollapse }]">
3
3
  <ul>
4
- <li v-for="(item, key) in props.items" :key="key" class="nav-item">
4
+ <li
5
+ v-for="(item, key) in props.items"
6
+ :key="key"
7
+ v-permission="item.permission"
8
+ class="nav-item"
9
+ >
5
10
  <atoms-collapse-nav-item
6
11
  :is-link="props.isLink"
7
12
  :item="item"
@@ -1,5 +1,8 @@
1
1
  <template>
2
- <div :class="['accordion', { disabled: props.accordion.disabled }]">
2
+ <div
3
+ v-permission="props.accordion.permission"
4
+ :class="['accordion', { disabled: props.accordion.disabled }]"
5
+ >
3
6
  <nuxt-link
4
7
  v-development="props.accordion.development"
5
8
  :to="accordionLocal.path"
@@ -9,6 +9,7 @@ export interface UI_I_AccordionRecursion {
9
9
  isOpen?: boolean
10
10
  testId?: string
11
11
  development?: boolean
12
+ permission?: string
12
13
  }
13
14
 
14
15
  export interface UI_I_HeadingClass {
@@ -123,11 +123,11 @@ export const switchViewSettingsFunc = (
123
123
  type: 1,
124
124
  rows: [
125
125
  {
126
- name: localization.common.standardSwitch,
126
+ name: localization.common.standardSwitch + ':',
127
127
  value: initialData.switch_name,
128
128
  },
129
129
  {
130
- name: localization.common.mtu,
130
+ name: localization.common.mtu + ':',
131
131
  value: initialData.mtu,
132
132
  },
133
133
  ],
@@ -138,7 +138,7 @@ export const switchViewSettingsFunc = (
138
138
  type: 2,
139
139
  rows: [
140
140
  {
141
- name: localization.common.promiscuousMode,
141
+ name: localization.common.promiscuousMode + ':',
142
142
  value: promiscuousMode
143
143
  ? localization.common.accept
144
144
  : localization.common.reject,
@@ -146,7 +146,7 @@ export const switchViewSettingsFunc = (
146
146
  status: true,
147
147
  },
148
148
  {
149
- name: localization.common.macAddressChanges,
149
+ name: localization.common.macAddressChanges + ':',
150
150
  value: macAddressChanges
151
151
  ? localization.common.accept
152
152
  : localization.common.reject,
@@ -154,7 +154,7 @@ export const switchViewSettingsFunc = (
154
154
  status: true,
155
155
  },
156
156
  {
157
- name: localization.common.forgedTransmits,
157
+ name: localization.common.forgedTransmits + ':',
158
158
  value: forgedTransmits
159
159
  ? localization.common.accept
160
160
  : localization.common.reject,
@@ -169,19 +169,19 @@ export const switchViewSettingsFunc = (
169
169
  type: 2,
170
170
  rows: [
171
171
  {
172
- name: localization.common.averageBandwidth,
172
+ name: localization.common.averageBandwidth + ':',
173
173
  value: initialData.shapingPolicy?.[0].initialValue.value
174
174
  ? `${initialData.average_bw} ${localization.common.kbitS}`
175
175
  : '--',
176
176
  },
177
177
  {
178
- name: localization.common.peakBandwidth,
178
+ name: localization.common.peakBandwidth + ':',
179
179
  value: initialData.shapingPolicy?.[0].initialValue.value
180
180
  ? `${initialData.peak_bw} ${localization.common.kbitS}`
181
181
  : '--',
182
182
  },
183
183
  {
184
- name: localization.common.burstSize,
184
+ name: localization.common.burstSize + ':',
185
185
  value: initialData.shapingPolicy?.[0].initialValue.value
186
186
  ? `${initialData.burst_size} ${localization.common.kb}`
187
187
  : '--',
@@ -194,11 +194,11 @@ export const switchViewSettingsFunc = (
194
194
  type: 2,
195
195
  rows: [
196
196
  {
197
- name: localization.common.loadBalancing,
197
+ name: localization.common.loadBalancing + ':',
198
198
  value: loadBalancingValue,
199
199
  },
200
200
  {
201
- name: localization.common.networkFailureDetection,
201
+ name: localization.common.networkFailureDetection + ':',
202
202
  value:
203
203
  (
204
204
  initialData.nicTeamingPolicy as UI_I_NetworkSummaryPortletListItem<UI_E_ICBLinkDetectionMode>[]
@@ -211,7 +211,7 @@ export const switchViewSettingsFunc = (
211
211
  : localization.common.beaconProbing,
212
212
  },
213
213
  {
214
- name: localization.common.notifySwitches,
214
+ name: localization.common.notifySwitches + ':',
215
215
  value: notifySwitches
216
216
  ? localization.common.yes
217
217
  : localization.common.no,
@@ -219,21 +219,21 @@ export const switchViewSettingsFunc = (
219
219
  status: true,
220
220
  },
221
221
  {
222
- name: localization.common.failback,
222
+ name: localization.common.failback + ':',
223
223
  value: failback ? localization.common.yes : localization.common.no,
224
224
  color: failback,
225
225
  status: true,
226
226
  },
227
227
  {
228
- name: localization.networks.activeAdapters,
228
+ name: localization.networks.activeAdapters + ':',
229
229
  value: initialData.activeAdapters,
230
230
  },
231
231
  {
232
- name: localization.common.standbyAdapters,
232
+ name: localization.common.standbyAdapters + ':',
233
233
  value: initialData.standbyAdapters,
234
234
  },
235
235
  {
236
- name: localization.common.unusedAdapters,
236
+ name: localization.common.unusedAdapters + ':',
237
237
  value: initialData.unusedAdapters,
238
238
  },
239
239
  ],
@@ -59,6 +59,7 @@
59
59
  v-for="(item2, key2) in item"
60
60
  :id="`tooltip-nav-${key}-${key2}`"
61
61
  :key="item2.id"
62
+ v-permission="item2.permission"
62
63
  :test-id="`tooltip-nav-${key}-${key2}`"
63
64
  :is-selected="isActiveNode(item2.to)"
64
65
  size="md"
@@ -27,6 +27,7 @@
27
27
  v-for="(item2, key2) in item"
28
28
  :id="`nav-item-${key}-${key2}`"
29
29
  :key="item2.id"
30
+ v-permission="item2.permission"
30
31
  :data-id="item2.testId"
31
32
  :to="!item2.disabled && item2.to"
32
33
  :class="['nav-link', { disabled: item2.disabled }]"
@@ -5,4 +5,5 @@ export interface UI_I_NavigationItem {
5
5
  iconName: string
6
6
  testId?: string
7
7
  disabled?: boolean
8
+ permission?: string
8
9
  }
@@ -76,7 +76,7 @@ export const options: UI_I_DataTableOptions = {
76
76
  showPageInfo: false,
77
77
  isSortable: true,
78
78
  server: false,
79
- isResizable: false,
79
+ isResizable: true,
80
80
  showSearch: false,
81
81
  showColumnManager: false,
82
82
  inBlock: true,
@@ -16,7 +16,9 @@
16
16
  <div class="card-content-item">
17
17
  <span :class="['icon', icon]"></span>
18
18
  <div class="label">{{ localization.common[text] }}</div>
19
- <div class="count">{{ value }}</div>
19
+ <div :class="['count', { 'empty-value': value === 0 }]">
20
+ {{ value }}
21
+ </div>
20
22
  </div>
21
23
  </template>
22
24
  </div>
@@ -95,6 +97,10 @@ const itemsLocal = computed<UI_I_Card[]>(() => itemsFunc(props.vms))
95
97
  font-size: 16px;
96
98
  font-weight: 500;
97
99
  line-height: 19.36px;
100
+
101
+ &.empty-value {
102
+ color: var(--widget-text-empty-count);
103
+ }
98
104
  }
99
105
  }
100
106
  }
@@ -55,7 +55,7 @@ export const options: UI_I_DataTableOptions = {
55
55
  showPageInfo: false,
56
56
  isSortable: true,
57
57
  server: false,
58
- isResizable: false,
58
+ isResizable: true,
59
59
  showSearch: false,
60
60
  showColumnManager: false,
61
61
  inBlock: true,
@@ -3,6 +3,7 @@
3
3
  <div
4
4
  v-for="radio in options"
5
5
  :key="radio.value"
6
+ v-permission="radio.permission"
6
7
  :class="['select-option__inner radio', radio.disabled && 'disabled']"
7
8
  >
8
9
  <div :class="['select-option__container', radio.value]">
@@ -6,4 +6,5 @@ export interface UI_I_RadioOption {
6
6
  description?: string
7
7
  tooltipContent?: string
8
8
  testId?: string
9
+ permission?: string
9
10
  }
@@ -22,7 +22,13 @@
22
22
  :width="props.dropdownWidth || 'max-content'"
23
23
  :max-height="props.dropdownMaxHeight || 'unset'"
24
24
  >
25
- <div class="help-content" :style="{ width: props.dropdownWidth }">
25
+ <div
26
+ class="help-content"
27
+ :style="{
28
+ width: props.dropdownWidth,
29
+ maxWidth: props.dropdownMaxWidth,
30
+ }"
31
+ >
26
32
  <div class="headline">
27
33
  <ui-icon :name="tooltipStatus" width="16" height="16" />
28
34
  <h3 class="help-title">
@@ -58,6 +64,7 @@ const props = withDefaults(
58
64
  helpText?: string
59
65
  iconWidth?: string
60
66
  iconHeight?: string
67
+ dropdownMaxWidth?: string
61
68
  dropdownMaxHeight?: string
62
69
  dropdownLeft?: boolean
63
70
  dropdownRight?: boolean
@@ -72,6 +79,7 @@ const props = withDefaults(
72
79
  helpText: undefined,
73
80
  iconWidth: undefined,
74
81
  iconHeight: undefined,
82
+ dropdownMaxWidth: undefined,
75
83
  dropdownMaxHeight: undefined,
76
84
  dropdownLeft: undefined,
77
85
  dropdownRight: undefined,
@@ -5,6 +5,7 @@
5
5
  :test-id="errorAlertDataId"
6
6
  status="alert-danger"
7
7
  :items="props.alertMessages"
8
+ class="device-selection-step__alert-error"
8
9
  @remove="onHideAlert"
9
10
  />
10
11
 
@@ -176,6 +177,11 @@ const onHideAlert = (): void => {
176
177
  letter-spacing: normal;
177
178
  }
178
179
  }
180
+ &__alert-error {
181
+ :deep(.alert-text) {
182
+ word-break: break-word;
183
+ }
184
+ }
179
185
  .dropdown-toggle {
180
186
  min-width: 160px;
181
187
  }
@@ -23,7 +23,8 @@
23
23
  />
24
24
  </div>
25
25
  </template>
26
- <template #modalBody="{ selectedStep }">
26
+ <template #modalBody="{ selectedStep }"
27
+ >
27
28
  <common-pages-scheduled-tasks-modals-common-new-task-form
28
29
  v-if="selectedStep.id === dynamicSteps.schedulingOptions"
29
30
  v-model="modelSchedulerTask"
@@ -135,6 +136,7 @@ const props = withDefaults(
135
136
  vmInfo?: any | null
136
137
  networks?: any
137
138
  vmOrigin?: UI_I_VmOrigin | null
139
+ defaultMigrateType?: UI_T_VmMigrateType
138
140
  }>(),
139
141
  {
140
142
  computeResourceTree: null,
@@ -180,7 +182,11 @@ const title = computed<string>(() => {
180
182
 
181
183
  const isConnectSourceServer = ref<boolean>(false)
182
184
  const form = ref<UI_I_MigrateFormLocal>({
183
- migrate_type: props.project === 'procurator' ? 'storage' : 'resource',
185
+ migrate_type: props.defaultMigrateType
186
+ ? props.defaultMigrateType
187
+ : props.project === 'procurator'
188
+ ? 'storage'
189
+ : 'resource',
184
190
  disk_format: 0,
185
191
  storage: null,
186
192
  configure: {
@@ -13,6 +13,7 @@ export const vmMigrateTypesFunc = (
13
13
  disabled: false,
14
14
  description: localization.common.changeComputeResourceOnlyDesc,
15
15
  permissions: ['sphere'],
16
+ permission: 'VirtualMachines.MigrateHost',
16
17
  },
17
18
  {
18
19
  label: localization.common.changeStorageOnly,
@@ -20,6 +21,7 @@ export const vmMigrateTypesFunc = (
20
21
  disabled: false,
21
22
  description: localization.common.changeStorageOnlyDesc,
22
23
  permissions: ['sphere', 'procurator'],
24
+ permission: 'VirtualMachines.MigrateDatastore',
23
25
  },
24
26
  {
25
27
  label: localization.common.changeBothComputeResourceStorage,
@@ -2,4 +2,5 @@ import type { UI_I_RadioOption } from '~/components/common/select/radio/lib/mode
2
2
 
3
3
  export interface UI_I_VmMigrateTypeOption extends UI_I_RadioOption {
4
4
  permissions: string[]
5
+ permission?: string // Global permission
5
6
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bfg-common",
3
3
  "private": false,
4
- "version": "1.5.307",
4
+ "version": "1.5.309",
5
5
  "scripts": {
6
6
  "build": "nuxt build",
7
7
  "dev": "nuxt dev --port=3002",
@@ -35,7 +35,7 @@
35
35
  "@vueuse/components": "^10.1.2",
36
36
  "date-fns": "^2.29.3",
37
37
  "bfg-nuxt-3-graph": "1.0.26",
38
- "bfg-uikit": "1.0.463",
38
+ "bfg-uikit": "1.0.472",
39
39
  "html2canvas": "^1.4.1",
40
40
  "prettier-eslint": "^15.0.1"
41
41
  }