Skip to content

Commit

Permalink
Bug 1871103: Remove 'Template' dropdown field from VM wizard
Browse files Browse the repository at this point in the history
When creating a VM from template the title will be:
`Create Virtual Machine from <template name> template`

Signed-off-by: Ido Rosenzwig <irosenzw@redhat.com>
  • Loading branch information
irosenzw committed Sep 3, 2020
1 parent 685eef2 commit 6857641
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 134 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ type CreateVMWizardComponentProps = {
dataIDReferences: IDReferences;
reduxID: string;
tabsMetadata: VMWizardTabsMetadata;
userTemplateName: string;
onInitialize: () => void;
onClose: (disposeOnly: boolean) => void;
createVM: () => void;
Expand Down Expand Up @@ -130,14 +131,14 @@ class CreateVMWizardComponent extends React.Component<CreateVMWizardComponentPro
};

getWizardTitle() {
const { isCreateTemplate, isProviderImport } = this.props;
const { isCreateTemplate, isProviderImport, userTemplateName } = this.props;
if (isCreateTemplate) {
return CREATE_VM_TEMPLATE;
}
if (isProviderImport) {
return IMPORT_VM;
}
return CREATE_VM;
return userTemplateName ? `${CREATE_VM} from ${userTemplateName} template` : CREATE_VM;
}

goBackToEditingSteps = () =>
Expand Down Expand Up @@ -290,6 +291,7 @@ class CreateVMWizardComponent extends React.Component<CreateVMWizardComponentPro
const wizardStateToProps = (state, { reduxID }) => ({
isLastTabErrorFatal: isLastStepErrorFatal(state, reduxID),
tabsMetadata: getStepsMetadata(state, reduxID),
userTemplateName: iGetCommonData(state, reduxID, VMWizardProps.userTemplateName),
// fetch data from store to detect and fire changes
...[...DetectCommonDataChanges]
.filter((v) => v !== VMWizardProps.storageClassConfigMap) // passed directly
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import { ProvisionSource } from '../../../../constants/vm/provision-source';
import { prefillVmTemplateUpdater } from './prefill-vm-template-state-update';
import { iGetAnnotation } from '../../../../selectors/immutable/common';

const selectUserTemplateOnLoadedUpdater = (options: UpdateOptions) => {
/*const selectUserTemplateOnLoadedUpdater = (options: UpdateOptions) => {
const { id, dispatch, getState } = options;
const state = getState();
Expand Down Expand Up @@ -55,25 +55,24 @@ const selectUserTemplateOnLoadedUpdater = (options: UpdateOptions) => {
},
}),
);
};
};*/

const selectedUserTemplateUpdater = (options: UpdateOptions) => {
const { id, prevState, dispatch, getState } = options;
const { id, dispatch, getState } = options;
const state = getState();
if (!hasVmSettingsChanged(prevState, state, id, VMSettingsField.USER_TEMPLATE)) {
return;
}

console.log('selectedUserTemplateUpdater', iGetVmSettingValue(state, id, VMSettingsField.FLAVOR));

const userTemplates = iGetLoadedCommonData(state, id, VMWizardProps.userTemplates);

const userTemplateName = iGetVmSettingValue(state, id, VMSettingsField.USER_TEMPLATE);
const userTemplateName = iGetCommonData(state, id, VMWizardProps.userTemplateName);

const iUserTemplate =
userTemplateName && userTemplates
? userTemplates.find((template) => iGetName(template) === userTemplateName)
: null;

const isDisabled = asDisabled(iUserTemplate != null, VMSettingsField.USER_TEMPLATE);
const isDisabled = asDisabled(iUserTemplate != null, VMWizardProps.userTemplateName);

dispatch(
vmWizardInternalActions[InternalActionType.UpdateVmSettings](id, {
Expand All @@ -82,7 +81,7 @@ const selectedUserTemplateUpdater = (options: UpdateOptions) => {
[VMSettingsField.IMAGE_URL]: { isDisabled },
[VMSettingsField.OPERATING_SYSTEM]: { isDisabled },
[VMSettingsField.CLONE_COMMON_BASE_DISK_IMAGE]: {
isHidden: asHidden(iUserTemplate != null, VMSettingsField.USER_TEMPLATE),
isHidden: asHidden(iUserTemplate != null, VMWizardProps.userTemplateName),
},
}),
);
Expand All @@ -92,6 +91,7 @@ const selectedUserTemplateUpdater = (options: UpdateOptions) => {

const osUpdater = ({ id, prevState, dispatch, getState }: UpdateOptions) => {
const state = getState();
console.log('osUpdater', iGetVmSettingValue(state, id, VMSettingsField.FLAVOR));
if (iGetCommonData(state, id, VMWizardProps.isProviderImport)) {
return;
}
Expand All @@ -113,6 +113,7 @@ const osUpdater = ({ id, prevState, dispatch, getState }: UpdateOptions) => {

const baseImageUpdater = ({ id, prevState, dispatch, getState }: UpdateOptions) => {
const state = getState();
console.log('baseImageUpdater', iGetVmSettingValue(state, id, VMSettingsField.FLAVOR));
if (iGetCommonData(state, id, VMWizardProps.isProviderImport)) {
return;
}
Expand Down Expand Up @@ -153,6 +154,10 @@ const baseImageUpdater = ({ id, prevState, dispatch, getState }: UpdateOptions)

const cloneCommonBaseDiskImageUpdater = ({ id, prevState, dispatch, getState }: UpdateOptions) => {
const state = getState();
console.log(
'cloneCommonBaseDiskImageUpdater',
iGetVmSettingValue(state, id, VMSettingsField.FLAVOR),
);
if (iGetCommonData(state, id, VMWizardProps.isProviderImport)) {
return;
}
Expand Down Expand Up @@ -201,6 +206,7 @@ const cloneCommonBaseDiskImageUpdater = ({ id, prevState, dispatch, getState }:

const templateConsistencyUpdater = ({ id, prevState, dispatch, getState }: UpdateOptions) => {
const state = getState();
console.log('templateConsistencyUpdater', iGetVmSettingValue(state, id, VMSettingsField.FLAVOR));
if (
!hasVMSettingsValueChanged(
prevState,
Expand Down Expand Up @@ -230,6 +236,7 @@ const templateConsistencyUpdater = ({ id, prevState, dispatch, getState }: Updat

const provisioningSourceUpdater = ({ id, prevState, dispatch, getState }: UpdateOptions) => {
const state = getState();
console.log('provisioningSourceUpdater', iGetVmSettingValue(state, id, VMSettingsField.FLAVOR));
if (
!hasVmSettingsChanged(
prevState,
Expand Down Expand Up @@ -259,6 +266,7 @@ const provisioningSourceUpdater = ({ id, prevState, dispatch, getState }: Update

const nativeK8sUpdater = ({ id, dispatch, getState, changedCommonData }: UpdateOptions) => {
const state = getState();
console.log('nativeK8sUpdater', iGetVmSettingValue(state, id, VMSettingsField.FLAVOR));
if (!changedCommonData.has(VMWizardProps.openshiftFlag)) {
return;
}
Expand All @@ -276,6 +284,7 @@ const nativeK8sUpdater = ({ id, dispatch, getState, changedCommonData }: UpdateO

const flavorUpdater = ({ id, prevState, dispatch, getState }: UpdateOptions) => {
const state = getState();
console.log('nativeK8sUpdater', iGetVmSettingValue(state, id, VMSettingsField.FLAVOR));
if (!hasVmSettingsChanged(prevState, state, id, VMSettingsField.FLAVOR)) {
return;
}
Expand All @@ -300,7 +309,7 @@ const flavorUpdater = ({ id, prevState, dispatch, getState }: UpdateOptions) =>

export const updateVmSettingsState = (options: UpdateOptions) =>
[
selectUserTemplateOnLoadedUpdater,
// selectUserTemplateOnLoadedUpdater,
selectedUserTemplateUpdater,
osUpdater,
baseImageUpdater,
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ import { getStepsMetadata } from '../../selectors/immutable/wizard-selectors';
import { iGetProvisionSourceStorage } from '../../selectors/immutable/storage';
import { WorkloadProfile } from './workload-profile';
import { OSFlavor } from './os-flavor';
import { UserTemplates } from './user-templates';
import { MemoryCPU } from './memory-cpu';
import { ContainerSource } from './container-source';
import { ProvisionSourceComponent } from './provision-source';
Expand All @@ -30,8 +29,8 @@ import '../../create-vm-wizard-footer.scss';
import './vm-settings-tab.scss';

export const VMSettingsTabComponent: React.FC<VMSettingsTabComponentProps> = ({
userTemplateName,
userTemplates,
userTemplateName,
commonTemplates,
cnvBaseImages,
provisionSourceStorage,
Expand Down Expand Up @@ -73,22 +72,14 @@ export const VMSettingsTabComponent: React.FC<VMSettingsTabComponentProps> = ({
/>
</FormField>
</FormFieldMemoRow>
<UserTemplates
userTemplateField={getField(VMSettingsField.USER_TEMPLATE)}
forceSingleUserTemplateName={userTemplateName}
userTemplates={userTemplates}
commonTemplates={commonTemplates}
openshiftFlag={openshiftFlag}
onChange={onFieldChange}
/>
<OSFlavor
userTemplates={userTemplates}
commonTemplates={commonTemplates}
operatinSystemField={getField(VMSettingsField.OPERATING_SYSTEM)}
flavorField={getField(VMSettingsField.FLAVOR)}
cloneBaseDiskImageField={getField(VMSettingsField.CLONE_COMMON_BASE_DISK_IMAGE)}
mountWindowsGuestToolsField={getField(VMSettingsField.MOUNT_WINDOWS_GUEST_TOOLS)}
userTemplate={getFieldValue(VMSettingsField.USER_TEMPLATE)}
userTemplate={userTemplateName}
workloadProfile={getFieldValue(VMSettingsField.WORKLOAD_PROFILE)}
cnvBaseImages={cnvBaseImages}
onChange={onFieldChange}
Expand All @@ -106,7 +97,7 @@ export const VMSettingsTabComponent: React.FC<VMSettingsTabComponentProps> = ({
userTemplates={userTemplates}
commonTemplates={commonTemplates}
workloadProfileField={getField(VMSettingsField.WORKLOAD_PROFILE)}
userTemplate={getFieldValue(VMSettingsField.USER_TEMPLATE)}
userTemplate={userTemplateName}
operatingSystem={getFieldValue(VMSettingsField.OPERATING_SYSTEM)}
flavor={getFieldValue(VMSettingsField.FLAVOR)}
cnvBaseImages={cnvBaseImages}
Expand Down Expand Up @@ -135,8 +126,8 @@ export const VMSettingsTabComponent: React.FC<VMSettingsTabComponentProps> = ({
const stateToProps = (state, { wizardReduxID }) => ({
vmSettings: iGetVmSettings(state, wizardReduxID),
commonTemplates: iGetCommonData(state, wizardReduxID, VMWizardProps.commonTemplates),
userTemplateName: iGetCommonData(state, wizardReduxID, VMWizardProps.userTemplateName),
userTemplates: iGetCommonData(state, wizardReduxID, VMWizardProps.userTemplates),
userTemplateName: iGetCommonData(state, wizardReduxID, VMWizardProps.userTemplateName),
cnvBaseImages: iGetCommonData(state, wizardReduxID, VMWizardProps.openshiftCNVBaseImages),
openshiftFlag: iGetCommonData(state, wizardReduxID, VMWizardProps.openshiftFlag),
provisionSourceStorage: iGetProvisionSourceStorage(state, wizardReduxID),
Expand All @@ -149,13 +140,13 @@ type VMSettingsTabComponentProps = {
vmSettings: any;
provisionSourceStorage: VMWizardStorage;
commonTemplates: any;
userTemplateName: string;
userTemplates: any;
cnvBaseImages: any;
openshiftFlag: boolean;
goToStep: (stepID: VMWizardTab) => void;
steps: VMWizardTabsMetadata;
wizardReduxID: string;
userTemplateName: string;
};

const dispatchToProps = (dispatch, props) => ({
Expand Down

0 comments on commit 6857641

Please sign in to comment.