Skip to content

Commit 751f9ea

Browse files
Merge pull request #131 from nirupama-dev/fe-composer-env
Added alignment for dropdown options in environment for create and listing page of composer
2 parents b1b2bc1 + 2877740 commit 751f9ea

File tree

3 files changed

+27
-15
lines changed

3 files changed

+27
-15
lines changed

src/scheduler/composer/CreateNotebookScheduler.tsx

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -166,13 +166,13 @@ const CreateNotebookScheduler = ({
166166
const [packageInstalledList, setPackageInstalledList] = useState<string[]>(
167167
[]
168168
);
169-
const [apiErrorMessage, setapiErrorMessage] = useState<string>('');
170169
const [clusterFlag, setClusterFlag] = useState<boolean>(false);
171170
const [envApiFlag, setEnvApiFlag] = useState<boolean>(false);
172171
const [loaderRegion, setLoaderRegion] = useState<boolean>(false);
173172
const [loaderProjectId, setLoaderProjectId] = useState<boolean>(false);
174173
const [packageInstalledMessage, setPackageInstalledMessage] =
175174
useState<string>('');
175+
const [envUpdateState, setEnvUpdateState] = useState<boolean>(false);
176176

177177
const listClustersAPI = async () => {
178178
await SchedulerService.listClustersAPIService(
@@ -224,7 +224,6 @@ const CreateNotebookScheduler = ({
224224
const handleComposerEnvSelected = (data: IComposerAPIResponse | null) => {
225225
setPackageInstalledMessage('');
226226
setPackageInstalledList([]);
227-
setapiErrorMessage('');
228227
setPackageInstallationMessage('');
229228

230229
if (data) {
@@ -426,7 +425,7 @@ const CreateNotebookScheduler = ({
426425
emailError ||
427426
dagListCall ||
428427
creatingScheduler ||
429-
(isLocalKernel && !!apiErrorMessage) || // There is an error message
428+
(editMode && isLocalKernel && envUpdateState) || // Environment is updating
430429
jobNameSelected === '' ||
431430
(!jobNameValidation && !editMode) ||
432431
(jobNameSpecialValidation && !editMode) ||
@@ -537,9 +536,9 @@ const CreateNotebookScheduler = ({
537536
if (!region) {
538537
setComposerEnvData([]);
539538
setComposerEnvSelected(null);
540-
setapiErrorMessage('');
541539
setPackageInstallationMessage('');
542540
setPackageInstalledMessage('');
541+
setEnvUpdateState(false);
543542
}
544543
}, [projectId, region]);
545544

@@ -572,12 +571,12 @@ const CreateNotebookScheduler = ({
572571
*/
573572
const handleRegionChange = (value: React.SetStateAction<string>) => {
574573
setPackageInstalledList([]);
575-
setapiErrorMessage('');
576574
setPackageInstallationMessage('');
577575
setComposerEnvSelected(null);
578576
setComposerEnvData([]);
579577
setPackageInstalledMessage('');
580578
setRegion(value);
579+
setEnvUpdateState(false);
581580
};
582581

583582
useEffect(() => {
@@ -598,19 +597,24 @@ const CreateNotebookScheduler = ({
598597
setRegion('');
599598
setComposerEnvSelected(null);
600599
setComposerEnvData([]);
601-
setapiErrorMessage('');
602600
setPackageInstallationMessage('');
603601
setPackageInstalledMessage('');
602+
setEnvUpdateState(false);
604603
}
605604
}, [projectId]);
606605

607606
useEffect(() => {
608607
setPackageInstalledMessage('');
609608
setPackageInstallationMessage('');
609+
setEnvUpdateState(false);
610610

611611
if (isLocalKernel && editMode) {
612612
setPackageInstalledList([]);
613-
checkRequiredPackages(composerEnvSelected);
613+
if (composerEnvSelected?.state === 'RUNNING') {
614+
checkRequiredPackages(composerEnvSelected);
615+
} else {
616+
setEnvUpdateState(true);
617+
}
614618
}
615619
}, [packageEditFlag]);
616620

@@ -714,12 +718,12 @@ const CreateNotebookScheduler = ({
714718
option.state ? (
715719
<div>{option.name}</div>
716720
) : (
717-
<>
718-
<div className="autocomplete-space">
721+
<div className='env-option-row'>
722+
<div>
719723
{option.name}
720724
</div>
721725
<div>{option.state}</div>
722-
</>
726+
</div>
723727
)}
724728
</Box>
725729
);
@@ -755,8 +759,10 @@ const CreateNotebookScheduler = ({
755759
{!composerEnvSelected && region && (
756760
<ErrorMessage message="Environment is required field" />
757761
)}
758-
{apiErrorMessage && isLocalKernel && (
759-
<ErrorMessage message={apiErrorMessage} />
762+
{isLocalKernel && editMode && envUpdateState && (
763+
<ErrorMessage
764+
message={`The selected composer environment state is set to ${composerEnvSelected?.state}. Please try again.`}
765+
/>
760766
)}
761767
{packageInstallationMessage && isLocalKernel && (
762768
<div className="success-message-package success-message-top">

src/scheduler/composer/ListNotebookScheduler.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -880,10 +880,10 @@ function ListNotebookScheduler({
880880
{composerEnvironmentStateList.includes(option.state) ? (
881881
<div>{option.name}</div>
882882
) : (
883-
<>
884-
<div className="autocomplete-space">{option.name}</div>
883+
<div className='env-option-row'>
884+
<div>{option.name}</div>
885885
<div>{option.state}</div>
886-
</>
886+
</div>
887887
)}
888888
</Box>
889889
);

style/notebookScheduler.css

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -784,3 +784,9 @@ body[data-jp-theme-light='true'].scroll-fix-header {
784784
.autocomplete-space {
785785
padding-right: 10px;
786786
}
787+
788+
.env-option-row {
789+
display: flex !important;
790+
justify-content: space-between !important;
791+
width: 100% !important;
792+
}

0 commit comments

Comments
 (0)