Wizard: Add bytes to min_size partitioning <HMS-4981>
This commit is contained in:
parent
7b365dcb4d
commit
7c99415822
4 changed files with 25 additions and 1 deletions
|
|
@ -34,6 +34,7 @@ export const HookValidatedInput = ({
|
|||
ouiaId,
|
||||
ariaLabel,
|
||||
value,
|
||||
isDisabled,
|
||||
placeholder,
|
||||
onChange,
|
||||
stepValidation,
|
||||
|
|
@ -67,6 +68,7 @@ export const HookValidatedInput = ({
|
|||
aria-label={ariaLabel}
|
||||
onBlur={handleBlur}
|
||||
placeholder={placeholder}
|
||||
isDisabled={isDisabled}
|
||||
/>
|
||||
{validated === 'error' && (
|
||||
<HelperText>
|
||||
|
|
|
|||
|
|
@ -69,6 +69,7 @@ const DetailsStep = () => {
|
|||
ariaLabel="blueprint name"
|
||||
dataTestId="blueprint"
|
||||
value={blueprintName}
|
||||
isDisabled={false}
|
||||
onChange={handleNameChange}
|
||||
placeholder="Add blueprint name"
|
||||
stepValidation={stepValidation}
|
||||
|
|
@ -92,6 +93,7 @@ const DetailsStep = () => {
|
|||
ariaLabel="blueprint description"
|
||||
dataTestId="blueprint description"
|
||||
value={blueprintDescription || ''}
|
||||
isDisabled={false}
|
||||
onChange={handleDescriptionChange}
|
||||
placeholder="Add description"
|
||||
stepValidation={stepValidation}
|
||||
|
|
|
|||
|
|
@ -233,10 +233,12 @@ type MinimumSizePropTypes = {
|
|||
partition: Partition;
|
||||
};
|
||||
|
||||
export type Units = 'KiB' | 'MiB' | 'GiB';
|
||||
export type Units = 'B' | 'KiB' | 'MiB' | 'GiB';
|
||||
|
||||
export const getConversionFactor = (units: Units) => {
|
||||
switch (units) {
|
||||
case 'B':
|
||||
return 1;
|
||||
case 'KiB':
|
||||
return UNIT_KIB;
|
||||
case 'MiB':
|
||||
|
|
@ -254,6 +256,7 @@ const MinimumSize = ({ partition }: MinimumSizePropTypes) => {
|
|||
<HookValidatedInput
|
||||
ariaLabel="minimum partition size"
|
||||
value={partition.min_size}
|
||||
isDisabled={partition.unit === 'B'}
|
||||
type="text"
|
||||
ouiaId="size"
|
||||
stepValidation={stepValidation}
|
||||
|
|
@ -287,7 +290,17 @@ const SizeUnit = ({ partition }: SizeUnitPropTypes) => {
|
|||
setIsOpen(isOpen);
|
||||
};
|
||||
|
||||
const initialValue = useRef(partition).current;
|
||||
|
||||
const onSelect = (event: React.MouseEvent, selection: Units) => {
|
||||
if (initialValue.unit === 'B' && selection === 'B') {
|
||||
dispatch(
|
||||
changePartitionMinSize({
|
||||
id: partition.id,
|
||||
min_size: initialValue.min_size,
|
||||
})
|
||||
);
|
||||
}
|
||||
dispatch(changePartitionUnit({ id: partition.id, unit: selection }));
|
||||
setIsOpen(false);
|
||||
};
|
||||
|
|
@ -303,6 +316,7 @@ const SizeUnit = ({ partition }: SizeUnitPropTypes) => {
|
|||
<SelectOption value={'KiB'} />
|
||||
<SelectOption value={'MiB'} />
|
||||
<SelectOption value={'GiB'} />
|
||||
<>{initialValue.unit === 'B' && <SelectOption value={'B'} />}</>
|
||||
</Select>
|
||||
);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -14,6 +14,12 @@ export const parseSizeUnit = (bytesize: string) => {
|
|||
} else if (parseInt(bytesize) % UNIT_KIB === 0) {
|
||||
size = parseInt(bytesize) / UNIT_KIB;
|
||||
unit = 'KiB';
|
||||
} else if (parseInt(bytesize)) {
|
||||
size = parseInt(bytesize);
|
||||
unit = 'B';
|
||||
} else {
|
||||
size = 10;
|
||||
unit = 'GiB';
|
||||
}
|
||||
|
||||
return [String(size), unit];
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue