import DateTimeFormatter from '../../../components/intl/DateTimeFormatter';
import { Alert } from '../../../components/ui/Alert';
import { translate, translateWithParameters } from '../../../helpers/l10n';
-import { getBaseUrl } from '../../../helpers/system';
import { DumpStatus, DumpTask } from '../../../types/project-dump';
interface Props {
renderWhenExportFailed() {
const { componentKey } = this.props;
- const detailsUrl = `${getBaseUrl()}/project/background_tasks?id=${encodeURIComponent(
+ const detailsUrl = `/project/background_tasks?id=${encodeURIComponent(
componentKey
)}&status=FAILED&taskType=PROJECT_EXPORT`;
import Link from '../../../components/common/Link';
import { Alert } from '../../../components/ui/Alert';
import { translate } from '../../../helpers/l10n';
-import { getBaseUrl } from '../../../helpers/system';
import { Exporter, Profile } from '../types';
interface Props {
profile: Profile;
}
-export default class ProfileExporters extends React.PureComponent<Props> {
- getExportUrl(exporter: Exporter) {
- const { profile } = this.props;
- return `${getBaseUrl()}${getQualityProfileExporterUrl(exporter, profile)}`;
- }
-
- render() {
- const { exporters, profile } = this.props;
- const exportersForLanguage = exporters.filter((e) => e.languages.includes(profile.language));
+export default function ProfileExporters({ exporters, profile }: Props) {
+ const exportersForLanguage = exporters.filter((e) => e.languages.includes(profile.language));
- if (exportersForLanguage.length === 0) {
- return null;
- }
+ if (exportersForLanguage.length === 0) {
+ return null;
+ }
- return (
- <div className="boxed-group quality-profile-exporters">
- <h2>{translate('quality_profiles.exporters')}</h2>
- <div className="boxed-group-inner">
- <Alert className="big-spacer-bottom" variant="warning">
- {translate('quality_profiles.exporters.deprecated')}
- </Alert>
- <ul>
- {exportersForLanguage.map((exporter, index) => (
- <li
- className={index > 0 ? 'spacer-top' : undefined}
- data-key={exporter.key}
- key={exporter.key}
- >
- <Link to={this.getExportUrl(exporter)} target="_blank">
- {exporter.name}
- </Link>
- </li>
- ))}
- </ul>
- </div>
+ return (
+ <div className="boxed-group quality-profile-exporters">
+ <h2>{translate('quality_profiles.exporters')}</h2>
+ <div className="boxed-group-inner">
+ <Alert className="big-spacer-bottom" variant="warning">
+ {translate('quality_profiles.exporters.deprecated')}
+ </Alert>
+ <ul>
+ {exportersForLanguage.map((exporter, index) => (
+ <li
+ className={index > 0 ? 'spacer-top' : undefined}
+ data-key={exporter.key}
+ key={exporter.key}
+ >
+ <Link to={getQualityProfileExporterUrl(exporter, profile)} target="_blank">
+ {exporter.name}
+ </Link>
+ </li>
+ ))}
+ </ul>
</div>
- );
- }
+ </div>
+ );
}
import { shallow } from 'enzyme';
import * as React from 'react';
import { mockQualityProfile, mockQualityProfileExporter } from '../../../../helpers/testMocks';
+import { FCProps } from '../../../../types/misc';
import ProfileExporters from '../ProfileExporters';
it('should render correctly', () => {
expect(wrapper).toMatchSnapshot();
});
-function shallowRender(props: Partial<ProfileExporters['props']> = {}) {
+function shallowRender(props: Partial<FCProps<typeof ProfileExporters>> = {}) {
const profile = mockQualityProfile();
- return shallow<ProfileExporters>(
+ return shallow(
<ProfileExporters
exporters={[mockQualityProfileExporter({ languages: [profile.language] })]}
profile={profile}
import EditIcon from '../../../../components/icons/EditIcon';
import { Alert } from '../../../../components/ui/Alert';
import { translate } from '../../../../helpers/l10n';
-import { getBaseUrl } from '../../../../helpers/system';
import { ExtendedSettingDefinition } from '../../../../types/settings';
import { useSaveValueMutation } from '../../queries/settings';
import { getPropertyName } from '../../utils';
</Button>
</div>
<div>
- <Link
- className="button spacer-right"
- target="_blank"
- to={`${getBaseUrl()}${CONFIG_TEST_PATH}`}
- >
+ <Link className="button spacer-right" target="_blank" to={CONFIG_TEST_PATH}>
{translate('settings.authentication.saml.form.test')}
</Link>
<Button className="spacer-right" onClick={handleCreateConfiguration}>
import { Link, Note } from 'design-system';
import React from 'react';
import { translate } from '../../helpers/l10n';
+import { getBaseUrl } from '../../helpers/system';
import { getFormattingHelpUrl } from '../../helpers/urls';
export interface FormattingTipsProps {
const handleClick = React.useCallback((evt: React.MouseEvent<HTMLAnchorElement>) => {
evt.preventDefault();
window.open(
- getFormattingHelpUrl(),
+ `${getBaseUrl()}${getFormattingHelpUrl()}`,
'Formatting',
'height=300,width=600,scrollbars=1,resizable=1'
);
}
export function getFormattingHelpUrl(): string {
- return getBaseUrl() + '/formatting/help';
+ return '/formatting/help';
}
export function getCodeUrl(