aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-web/src/main/js/apps/create
diff options
context:
space:
mode:
authorViktor Vorona <viktor.vorona@sonarsource.com>2023-08-10 12:25:28 +0200
committersonartech <sonartech@sonarsource.com>2023-08-15 20:02:41 +0000
commitd72f2c84df6986c8a097be153269eae7f5ba0ea5 (patch)
treee23528873565d9228f481c9a50491fcdc927e906 /server/sonar-web/src/main/js/apps/create
parent4f7c8b3b77dd11e655b20fdf40654881d98176f3 (diff)
downloadsonarqube-d72f2c84df6986c8a097be153269eae7f5ba0ea5.tar.gz
sonarqube-d72f2c84df6986c8a097be153269eae7f5ba0ea5.zip
SONAR-19465 Remove deferred state from spinner
Diffstat (limited to 'server/sonar-web/src/main/js/apps/create')
-rw-r--r--server/sonar-web/src/main/js/apps/create/project/Azure/AzurePersonalAccessTokenForm.tsx6
-rw-r--r--server/sonar-web/src/main/js/apps/create/project/Azure/AzureProjectAccordion.tsx9
-rw-r--r--server/sonar-web/src/main/js/apps/create/project/Azure/AzureProjectCreateRenderer.tsx8
-rw-r--r--server/sonar-web/src/main/js/apps/create/project/BitbucketCloud/BitbucketCloudPersonalAccessTokenForm.tsx6
-rw-r--r--server/sonar-web/src/main/js/apps/create/project/BitbucketCloud/BitbucketCloudProjectCreateRender.tsx4
-rw-r--r--server/sonar-web/src/main/js/apps/create/project/BitbucketServer/BitbucketProjectCreateRenderer.tsx6
-rw-r--r--server/sonar-web/src/main/js/apps/create/project/BitbucketServer/BitbucketSearchResults.tsx6
-rw-r--r--server/sonar-web/src/main/js/apps/create/project/BitbucketServer/BitbucketServerPersonalAccessTokenForm.tsx6
-rw-r--r--server/sonar-web/src/main/js/apps/create/project/CreateProjectModeSelection.tsx6
-rw-r--r--server/sonar-web/src/main/js/apps/create/project/Github/GitHubProjectCreateRenderer.tsx8
-rw-r--r--server/sonar-web/src/main/js/apps/create/project/Gitlab/GItlabPersonalAccessTokenForm.tsx6
-rw-r--r--server/sonar-web/src/main/js/apps/create/project/Gitlab/GitlabProjectCreateRenderer.tsx4
-rw-r--r--server/sonar-web/src/main/js/apps/create/project/__tests__/GitHub-it.tsx3
-rw-r--r--server/sonar-web/src/main/js/apps/create/project/components/NewCodeDefinitionSelection.tsx4
14 files changed, 39 insertions, 43 deletions
diff --git a/server/sonar-web/src/main/js/apps/create/project/Azure/AzurePersonalAccessTokenForm.tsx b/server/sonar-web/src/main/js/apps/create/project/Azure/AzurePersonalAccessTokenForm.tsx
index 55a12b730d4..c7a681f82f1 100644
--- a/server/sonar-web/src/main/js/apps/create/project/Azure/AzurePersonalAccessTokenForm.tsx
+++ b/server/sonar-web/src/main/js/apps/create/project/Azure/AzurePersonalAccessTokenForm.tsx
@@ -19,7 +19,7 @@
*/
import {
ButtonPrimary,
- DeferredSpinner,
+ Spinner,
FlagErrorIcon,
FlagMessage,
FormField,
@@ -61,7 +61,7 @@ export default function AzurePersonalAccessTokenForm({
} = usePersonalAccessToken(almSetting, resetPat, onPersonalAccessTokenCreate);
if (checkingPat) {
- return <DeferredSpinner className="sw-ml-2" loading />;
+ return <Spinner className="sw-ml-2" loading />;
}
const isInvalid = (validationFailed && !touched) || (touched && !password);
@@ -147,7 +147,7 @@ export default function AzurePersonalAccessTokenForm({
<ButtonPrimary type="submit" disabled={isInvalid || submitting || !touched}>
{translate('save')}
</ButtonPrimary>
- <DeferredSpinner className="sw-ml-2" loading={submitting} />
+ <Spinner className="sw-ml-2" loading={submitting} />
</div>
</form>
);
diff --git a/server/sonar-web/src/main/js/apps/create/project/Azure/AzureProjectAccordion.tsx b/server/sonar-web/src/main/js/apps/create/project/Azure/AzureProjectAccordion.tsx
index 9bc4aaa19c8..5d4001510d6 100644
--- a/server/sonar-web/src/main/js/apps/create/project/Azure/AzureProjectAccordion.tsx
+++ b/server/sonar-web/src/main/js/apps/create/project/Azure/AzureProjectAccordion.tsx
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-import { Accordion, DeferredSpinner, FlagMessage, Link, SearchHighlighter } from 'design-system';
+import { Accordion, Spinner, FlagMessage, Link, SearchHighlighter } from 'design-system';
import * as React from 'react';
import { FormattedMessage } from 'react-intl';
import ListFooter from '../../../../components/controls/ListFooter';
@@ -66,9 +66,8 @@ export default function AzureProjectAccordion(props: AzureProjectAccordionProps)
>
{/* eslint-disable-next-line local-rules/no-conditional-rendering-of-deferredspinner*/}
{open && (
- <DeferredSpinner loading={loading}>
- {/* The extra loading guard is to prevent the flash of the Alert */}
- {!loading && repositories.length === 0 ? (
+ <Spinner loading={loading}>
+ {repositories.length === 0 ? (
<FlagMessage variant="warning">
<span>
<FormattedMessage
@@ -118,7 +117,7 @@ export default function AzureProjectAccordion(props: AzureProjectAccordionProps)
/>
</>
)}
- </DeferredSpinner>
+ </Spinner>
)}
</Accordion>
);
diff --git a/server/sonar-web/src/main/js/apps/create/project/Azure/AzureProjectCreateRenderer.tsx b/server/sonar-web/src/main/js/apps/create/project/Azure/AzureProjectCreateRenderer.tsx
index c775999c4d6..0dfb6b79fd8 100644
--- a/server/sonar-web/src/main/js/apps/create/project/Azure/AzureProjectCreateRenderer.tsx
+++ b/server/sonar-web/src/main/js/apps/create/project/Azure/AzureProjectCreateRenderer.tsx
@@ -18,12 +18,12 @@
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import {
- DeferredSpinner,
FlagMessage,
InputSearch,
LightPrimary,
Link,
PageContentFontWrapper,
+ Spinner,
Title,
} from 'design-system';
import * as React from 'react';
@@ -94,7 +94,7 @@ export default function AzureProjectCreateRenderer(props: AzureProjectCreateRend
onChangeConfig={props.onSelectedAlmInstanceChange}
/>
- <DeferredSpinner loading={loading} />
+ <Spinner loading={loading} />
{showUrlError && (
<FlagMessage variant="error" className="sw-mb-2">
@@ -142,7 +142,7 @@ export default function AzureProjectCreateRenderer(props: AzureProjectCreateRend
size="full"
/>
</div>
- <DeferredSpinner loading={Boolean(searching)}>
+ <Spinner loading={Boolean(searching)}>
<AzureProjectsList
loadingRepositories={loadingRepositories}
onOpenProject={props.onOpenProject}
@@ -152,7 +152,7 @@ export default function AzureProjectCreateRenderer(props: AzureProjectCreateRend
searchResults={searchResults}
searchQuery={searchQuery}
/>
- </DeferredSpinner>
+ </Spinner>
</>
))}
</PageContentFontWrapper>
diff --git a/server/sonar-web/src/main/js/apps/create/project/BitbucketCloud/BitbucketCloudPersonalAccessTokenForm.tsx b/server/sonar-web/src/main/js/apps/create/project/BitbucketCloud/BitbucketCloudPersonalAccessTokenForm.tsx
index e703e78bef6..e33feb31caf 100644
--- a/server/sonar-web/src/main/js/apps/create/project/BitbucketCloud/BitbucketCloudPersonalAccessTokenForm.tsx
+++ b/server/sonar-web/src/main/js/apps/create/project/BitbucketCloud/BitbucketCloudPersonalAccessTokenForm.tsx
@@ -20,13 +20,13 @@
import {
ButtonPrimary,
- DeferredSpinner,
FlagErrorIcon,
FlagMessage,
FormField,
InputField,
LightPrimary,
Link,
+ Spinner,
} from 'design-system';
import React from 'react';
import { FormattedMessage } from 'react-intl';
@@ -60,7 +60,7 @@ export default function BitbucketCloudPersonalAccessTokenForm({
} = usePersonalAccessToken(almSetting, resetPat, onPersonalAccessTokenCreated);
if (checkingPat) {
- return <DeferredSpinner className="sw-ml-2" loading />;
+ return <Spinner className="sw-ml-2" loading />;
}
const isInvalid = validationFailed && !touched;
@@ -179,7 +179,7 @@ export default function BitbucketCloudPersonalAccessTokenForm({
<ButtonPrimary type="submit" disabled={submitButtonDiabled} className="sw-mb-6">
{translate('save')}
</ButtonPrimary>
- <DeferredSpinner className="sw-ml-2" loading={submitting} />
+ <Spinner className="sw-ml-2" loading={submitting} />
</form>
);
}
diff --git a/server/sonar-web/src/main/js/apps/create/project/BitbucketCloud/BitbucketCloudProjectCreateRender.tsx b/server/sonar-web/src/main/js/apps/create/project/BitbucketCloud/BitbucketCloudProjectCreateRender.tsx
index 8cd8154af31..0682393082b 100644
--- a/server/sonar-web/src/main/js/apps/create/project/BitbucketCloud/BitbucketCloudProjectCreateRender.tsx
+++ b/server/sonar-web/src/main/js/apps/create/project/BitbucketCloud/BitbucketCloudProjectCreateRender.tsx
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-import { DeferredSpinner, LightPrimary, Title } from 'design-system';
+import { LightPrimary, Spinner, Title } from 'design-system';
import * as React from 'react';
import { translate } from '../../../../helpers/l10n';
import { BitbucketCloudRepository } from '../../../../types/alm-integration';
@@ -81,7 +81,7 @@ export default function BitbucketCloudProjectCreateRenderer(
onChangeConfig={props.onSelectedAlmInstanceChange}
/>
- <DeferredSpinner loading={loading} />
+ <Spinner loading={loading} />
{!loading && !selectedAlmInstance && (
<WrongBindingCountAlert alm={AlmKeys.BitbucketCloud} canAdmin={!!canAdmin} />
diff --git a/server/sonar-web/src/main/js/apps/create/project/BitbucketServer/BitbucketProjectCreateRenderer.tsx b/server/sonar-web/src/main/js/apps/create/project/BitbucketServer/BitbucketProjectCreateRenderer.tsx
index c42983bb137..9a6654bb0ef 100644
--- a/server/sonar-web/src/main/js/apps/create/project/BitbucketServer/BitbucketProjectCreateRenderer.tsx
+++ b/server/sonar-web/src/main/js/apps/create/project/BitbucketServer/BitbucketProjectCreateRenderer.tsx
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-import { DeferredSpinner, LightPrimary, PageContentFontWrapper, Title } from 'design-system';
+import { LightPrimary, PageContentFontWrapper, Spinner, Title } from 'design-system';
import * as React from 'react';
import { translate } from '../../../../helpers/l10n';
import {
@@ -81,7 +81,7 @@ export default function BitbucketProjectCreateRenderer(props: BitbucketProjectCr
onChangeConfig={props.onSelectedAlmInstanceChange}
/>
- <DeferredSpinner loading={loading}>
+ <Spinner loading={loading}>
{!loading && !selectedAlmInstance && (
<WrongBindingCountAlert alm={AlmKeys.BitbucketServer} canAdmin={!!canAdmin} />
)}
@@ -104,7 +104,7 @@ export default function BitbucketProjectCreateRenderer(props: BitbucketProjectCr
onImportRepository={props.onImportRepository}
/>
))}
- </DeferredSpinner>
+ </Spinner>
</PageContentFontWrapper>
);
}
diff --git a/server/sonar-web/src/main/js/apps/create/project/BitbucketServer/BitbucketSearchResults.tsx b/server/sonar-web/src/main/js/apps/create/project/BitbucketServer/BitbucketSearchResults.tsx
index 4afc74f2460..479d75f929a 100644
--- a/server/sonar-web/src/main/js/apps/create/project/BitbucketServer/BitbucketSearchResults.tsx
+++ b/server/sonar-web/src/main/js/apps/create/project/BitbucketServer/BitbucketSearchResults.tsx
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-import { DeferredSpinner, FlagMessage } from 'design-system';
+import { FlagMessage, Spinner } from 'design-system';
import * as React from 'react';
import { translate } from '../../../../helpers/l10n';
import { BitbucketProject, BitbucketRepository } from '../../../../types/alm-integration';
@@ -50,7 +50,7 @@ export default function BitbucketSearchResults(props: BitbucketSearchResultsProp
);
return (
- <DeferredSpinner loading={searching}>
+ <Spinner loading={searching}>
{filteredSearchResults.length > 0 && (
<BitbucketProjectAccordion
onImportRepository={props.onImportRepository}
@@ -74,6 +74,6 @@ export default function BitbucketSearchResults(props: BitbucketSearchResultsProp
/>
);
})}
- </DeferredSpinner>
+ </Spinner>
);
}
diff --git a/server/sonar-web/src/main/js/apps/create/project/BitbucketServer/BitbucketServerPersonalAccessTokenForm.tsx b/server/sonar-web/src/main/js/apps/create/project/BitbucketServer/BitbucketServerPersonalAccessTokenForm.tsx
index 914cee82adc..885f69aa646 100644
--- a/server/sonar-web/src/main/js/apps/create/project/BitbucketServer/BitbucketServerPersonalAccessTokenForm.tsx
+++ b/server/sonar-web/src/main/js/apps/create/project/BitbucketServer/BitbucketServerPersonalAccessTokenForm.tsx
@@ -20,13 +20,13 @@
import {
ButtonPrimary,
- DeferredSpinner,
FlagErrorIcon,
FlagMessage,
FormField,
InputField,
LightPrimary,
Link,
+ Spinner,
} from 'design-system';
import React from 'react';
import { FormattedMessage } from 'react-intl';
@@ -58,7 +58,7 @@ export default function BitbucketServerPersonalAccessTokenForm({
} = usePersonalAccessToken(almSetting, resetPat, onPersonalAccessTokenCreated);
if (checkingPat) {
- return <DeferredSpinner className="sw-ml-2" loading />;
+ return <Spinner className="sw-ml-2" loading />;
}
const { url } = almSetting;
@@ -143,7 +143,7 @@ export default function BitbucketServerPersonalAccessTokenForm({
<ButtonPrimary type="submit" disabled={submitButtonDiabled} className="sw-mb-6">
{translate('save')}
</ButtonPrimary>
- <DeferredSpinner className="sw-ml-2" loading={submitting} />
+ <Spinner className="sw-ml-2" loading={submitting} />
</form>
);
}
diff --git a/server/sonar-web/src/main/js/apps/create/project/CreateProjectModeSelection.tsx b/server/sonar-web/src/main/js/apps/create/project/CreateProjectModeSelection.tsx
index ad3055c6b7e..1c0dd2de98c 100644
--- a/server/sonar-web/src/main/js/apps/create/project/CreateProjectModeSelection.tsx
+++ b/server/sonar-web/src/main/js/apps/create/project/CreateProjectModeSelection.tsx
@@ -20,10 +20,10 @@
/* eslint-disable react/no-unused-prop-types */
import {
ButtonSecondary,
- DeferredSpinner,
GreyCard,
HelperHintIcon,
LightPrimary,
+ Spinner,
StandoutLink,
TextMuted,
Title,
@@ -106,7 +106,7 @@ function renderAlmOption(
)}
</div>
- <DeferredSpinner loading={loadingBindings}>
+ <Spinner loading={loadingBindings}>
{!hasConfig &&
(canAdmin ? (
<ButtonSecondary onClick={() => props.onConfigMode(configMode)}>
@@ -117,7 +117,7 @@ function renderAlmOption(
<HelperHintIcon aria-label="help-tooltip" />
</HelpTooltip>
))}
- </DeferredSpinner>
+ </Spinner>
</GreyCard>
);
}
diff --git a/server/sonar-web/src/main/js/apps/create/project/Github/GitHubProjectCreateRenderer.tsx b/server/sonar-web/src/main/js/apps/create/project/Github/GitHubProjectCreateRenderer.tsx
index 69de3118fd3..97ffd1f2755 100644
--- a/server/sonar-web/src/main/js/apps/create/project/Github/GitHubProjectCreateRenderer.tsx
+++ b/server/sonar-web/src/main/js/apps/create/project/Github/GitHubProjectCreateRenderer.tsx
@@ -21,12 +21,12 @@
import {
DarkLabel,
- DeferredSpinner,
FlagMessage,
InputSearch,
InputSelect,
LightPrimary,
Link,
+ Spinner,
Title,
} from 'design-system';
import * as React from 'react';
@@ -131,7 +131,7 @@ export default function GitHubProjectCreateRenderer(props: GitHubProjectCreateRe
} = props;
if (loadingBindings) {
- return <DeferredSpinner />;
+ return <Spinner />;
}
return (
@@ -172,7 +172,7 @@ export default function GitHubProjectCreateRenderer(props: GitHubProjectCreateRe
</FlagMessage>
)}
- <DeferredSpinner loading={loadingOrganizations && !error}>
+ <Spinner loading={loadingOrganizations && !error}>
{!error && (
<div className="sw-flex sw-flex-col">
<DarkLabel htmlFor="github-choose-organization" className="sw-mb-2">
@@ -215,7 +215,7 @@ export default function GitHubProjectCreateRenderer(props: GitHubProjectCreateRe
)}
</div>
)}
- </DeferredSpinner>
+ </Spinner>
{renderRepositoryList(props)}
</>
diff --git a/server/sonar-web/src/main/js/apps/create/project/Gitlab/GItlabPersonalAccessTokenForm.tsx b/server/sonar-web/src/main/js/apps/create/project/Gitlab/GItlabPersonalAccessTokenForm.tsx
index 2b12662b9dd..e2d3115b00c 100644
--- a/server/sonar-web/src/main/js/apps/create/project/Gitlab/GItlabPersonalAccessTokenForm.tsx
+++ b/server/sonar-web/src/main/js/apps/create/project/Gitlab/GItlabPersonalAccessTokenForm.tsx
@@ -20,13 +20,13 @@
import {
ButtonPrimary,
- DeferredSpinner,
FlagErrorIcon,
FlagMessage,
FormField,
InputField,
LightPrimary,
Link,
+ Spinner,
} from 'design-system';
import React from 'react';
import { FormattedMessage } from 'react-intl';
@@ -58,7 +58,7 @@ export default function GitlabPersonalAccessTokenForm({
} = usePersonalAccessToken(almSetting, resetPat, onPersonalAccessTokenCreated);
if (checkingPat) {
- return <DeferredSpinner className="sw-ml-2" loading />;
+ return <Spinner className="sw-ml-2" loading />;
}
const isInvalid = validationFailed && !touched;
@@ -136,7 +136,7 @@ export default function GitlabPersonalAccessTokenForm({
<ButtonPrimary type="submit" disabled={submitButtonDiabled} className="sw-mb-6">
{translate('save')}
</ButtonPrimary>
- <DeferredSpinner className="sw-ml-2" loading={submitting} />
+ <Spinner className="sw-ml-2" loading={submitting} />
</form>
);
}
diff --git a/server/sonar-web/src/main/js/apps/create/project/Gitlab/GitlabProjectCreateRenderer.tsx b/server/sonar-web/src/main/js/apps/create/project/Gitlab/GitlabProjectCreateRenderer.tsx
index 0b843afff80..655009755db 100644
--- a/server/sonar-web/src/main/js/apps/create/project/Gitlab/GitlabProjectCreateRenderer.tsx
+++ b/server/sonar-web/src/main/js/apps/create/project/Gitlab/GitlabProjectCreateRenderer.tsx
@@ -18,7 +18,7 @@
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-import { DeferredSpinner, LightPrimary, Title } from 'design-system';
+import { LightPrimary, Spinner, Title } from 'design-system';
import * as React from 'react';
import { translate } from '../../../../helpers/l10n';
import { GitlabProject } from '../../../../types/alm-integration';
@@ -79,7 +79,7 @@ export default function GitlabProjectCreateRenderer(props: GitlabProjectCreateRe
onChangeConfig={props.onSelectedAlmInstanceChange}
/>
- <DeferredSpinner loading={loading} />
+ <Spinner loading={loading} />
{!loading && !selectedAlmInstance && (
<WrongBindingCountAlert alm={AlmKeys.GitLab} canAdmin={!!canAdmin} />
diff --git a/server/sonar-web/src/main/js/apps/create/project/__tests__/GitHub-it.tsx b/server/sonar-web/src/main/js/apps/create/project/__tests__/GitHub-it.tsx
index 7970bde1bf1..c9244c31a63 100644
--- a/server/sonar-web/src/main/js/apps/create/project/__tests__/GitHub-it.tsx
+++ b/server/sonar-web/src/main/js/apps/create/project/__tests__/GitHub-it.tsx
@@ -76,9 +76,6 @@ it('should redirect to github authorization page when not already authorized', a
await selectEvent.select(ui.instanceSelector.get(), [/conf-github-1/]);
expect(window.location.replace).toHaveBeenCalled();
- expect(
- screen.getByText('onboarding.create_project.github.choose_organization')
- ).toBeInTheDocument();
});
it('should not redirect to github when url is malformated', async () => {
diff --git a/server/sonar-web/src/main/js/apps/create/project/components/NewCodeDefinitionSelection.tsx b/server/sonar-web/src/main/js/apps/create/project/components/NewCodeDefinitionSelection.tsx
index f331941bdc5..003be840a13 100644
--- a/server/sonar-web/src/main/js/apps/create/project/components/NewCodeDefinitionSelection.tsx
+++ b/server/sonar-web/src/main/js/apps/create/project/components/NewCodeDefinitionSelection.tsx
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-import { ButtonPrimary, DeferredSpinner, Link, Title } from 'design-system';
+import { ButtonPrimary, Link, Spinner, Title } from 'design-system';
import * as React from 'react';
import { FormattedMessage } from 'react-intl';
import { Router } from '../../../../components/hoc/withRouter';
@@ -84,7 +84,7 @@ export default function NewCodeDefinitionSelection(props: Props) {
type="submit"
>
{translate('onboarding.create_project.new_code_definition.create_project')}
- <DeferredSpinner className="sw-ml-2" loading={submitting} />
+ <Spinner className="sw-ml-2" loading={submitting} />
</ButtonPrimary>
</div>
</div>