"react-dom": "16.13.0",
"react-helmet": "5.2.1",
"react-typography": "0.16.19",
- "sonar-ui-common": "0.0.57",
+ "sonar-ui-common": "0.0.58",
"typography": "0.16.19"
},
"devDependencies": {
faye-websocket "^0.10.0"
uuid "^3.0.1"
-sonar-ui-common@0.0.57:
- version "0.0.57"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/sonar-ui-common/-/sonar-ui-common-0.0.57.tgz#5fb3f602323b00b64dfe774811ab7fc3c8cfa30e"
- integrity sha1-X7P2AjI7ALZN/ndIEat/w8jPow4=
+sonar-ui-common@0.0.58:
+ version "0.0.58"
+ resolved "https://repox.jfrog.io/repox/api/npm/npm/sonar-ui-common/-/sonar-ui-common-0.0.58.tgz#860440bd476d176c71828e9b82e193384cd57f66"
+ integrity sha1-hgRAvUdtF2xxgo6bguGTOEzVf2Y=
dependencies:
"@types/react-select" "1.2.6"
classnames "2.2.6"
"remark-custom-blocks": "2.5.0",
"remark-rehype": "6.0.0",
"remark-slug": "5.1.2",
- "sonar-ui-common": "0.0.57",
+ "sonar-ui-common": "0.0.58",
"unist-util-visit": "2.0.2",
"valid-url": "1.0.9",
"whatwg-fetch": "3.0.0"
import * as React from 'react';
import { connect } from 'react-redux';
import ChevronRightIcon from 'sonar-ui-common/components/icons/ChevronRightIcon';
+import DateFormatter from 'sonar-ui-common/components/intl/DateFormatter';
import { translate } from 'sonar-ui-common/helpers/l10n';
import { fetchPrismicNews, fetchPrismicRefs, PrismicNews } from '../../../api/news';
-import DateFormatter from '../../../components/intl/DateFormatter';
import PlaceholderBar from '../../../components/ui/PlaceholderBar';
import { getGlobalSettingValue, Store } from '../../../store/rootReducer';
import QualifierIcon from 'sonar-ui-common/components/icons/QualifierIcon';
import SecurityHotspotIcon from 'sonar-ui-common/components/icons/SecurityHotspotIcon';
import VulnerabilityIcon from 'sonar-ui-common/components/icons/VulnerabilityIcon';
+import DateFormatter from 'sonar-ui-common/components/intl/DateFormatter';
+import DateFromNow from 'sonar-ui-common/components/intl/DateFromNow';
+import DateTimeFormatter from 'sonar-ui-common/components/intl/DateTimeFormatter';
import { Alert } from 'sonar-ui-common/components/ui/Alert';
import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner';
import DuplicationsRating from 'sonar-ui-common/components/ui/DuplicationsRating';
import Favorite from '../../../components/controls/Favorite';
import HomePageSelect from '../../../components/controls/HomePageSelect';
import BranchLikeIcon from '../../../components/icons/BranchLikeIcon';
-import DateFormatter from '../../../components/intl/DateFormatter';
-import DateFromNow from '../../../components/intl/DateFromNow';
-import DateTimeFormatter from '../../../components/intl/DateTimeFormatter';
import CoverageRating from '../../../components/ui/CoverageRating';
import {
getBranchLikeQuery,
import * as React from 'react';
import { connect } from 'react-redux';
import DetachIcon from 'sonar-ui-common/components/icons/DetachIcon';
+import DateTimeFormatter from 'sonar-ui-common/components/intl/DateTimeFormatter';
import { translate } from 'sonar-ui-common/helpers/l10n';
import BranchStatus from '../../../../components/common/BranchStatus';
import HomePageSelect from '../../../../components/controls/HomePageSelect';
-import DateTimeFormatter from '../../../../components/intl/DateTimeFormatter';
import { isBranch, isPullRequest } from '../../../../helpers/branch-like';
import { isLoggedIn } from '../../../../helpers/users';
import { getCurrentUser, Store } from '../../../../store/rootReducer';
import * as React from 'react';
import { ClearButton } from 'sonar-ui-common/components/controls/buttons';
import Modal from 'sonar-ui-common/components/controls/Modal';
+import DateFormatter from 'sonar-ui-common/components/intl/DateFormatter';
import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner';
import { translate } from 'sonar-ui-common/helpers/l10n';
import { PrismicFeatureNews } from '../../../api/news';
-import DateFormatter from '../../../components/intl/DateFormatter';
export interface Props {
fetchMoreFeatureNews: () => void;
import { Link } from 'react-router';
import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip';
import Tooltip from 'sonar-ui-common/components/controls/Tooltip';
+import DateFromNow from 'sonar-ui-common/components/intl/DateFromNow';
+import DateTimeFormatter from 'sonar-ui-common/components/intl/DateTimeFormatter';
import Level from 'sonar-ui-common/components/ui/Level';
import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n';
-import DateFromNow from '../../../components/intl/DateFromNow';
-import DateTimeFormatter from '../../../components/intl/DateTimeFormatter';
import MetaLink from '../../../app/components/nav/component/projectInformation/meta/MetaLink';
import { orderLinks } from '../../../helpers/projectLinks';
*/
import * as differenceInDays from 'date-fns/difference_in_days';
import * as React from 'react';
+import TimeFormatter from 'sonar-ui-common/components/intl/TimeFormatter';
import { isValidDate, parseDate } from 'sonar-ui-common/helpers/dates';
-import TimeFormatter from '../../../components/intl/TimeFormatter';
interface Props {
date?: string;
*/
import * as isSameDay from 'date-fns/is_same_day';
import * as React from 'react';
+import DateFormatter from 'sonar-ui-common/components/intl/DateFormatter';
import { parseDate } from 'sonar-ui-common/helpers/dates';
-import DateFormatter from '../../../components/intl/DateFormatter';
interface Props {
submittedAt: string;
*/
import * as React from 'react';
import { InjectedIntlProps, injectIntl } from 'react-intl';
+import { longFormatterOption } from 'sonar-ui-common/components/intl/DateFormatter';
import { translate } from 'sonar-ui-common/helpers/l10n';
import DateInput from '../../../components/controls/DateInput';
import FacetBox from '../../../components/facet/FacetBox';
import FacetHeader from '../../../components/facet/FacetHeader';
-import { longFormatterOption } from '../../../components/intl/DateFormatter';
import { Query } from '../query';
interface Props {
import IssueTypeIcon from 'sonar-ui-common/components/icons/IssueTypeIcon';
import LinkIcon from 'sonar-ui-common/components/icons/LinkIcon';
import RuleScopeIcon from 'sonar-ui-common/components/icons/RuleScopeIcon';
+import DateFormatter from 'sonar-ui-common/components/intl/DateFormatter';
import { PopupPlacement } from 'sonar-ui-common/components/ui/popups';
import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n';
import DocTooltip from '../../../components/docs/DocTooltip';
-import DateFormatter from '../../../components/intl/DateFormatter';
import SeverityHelper from '../../../components/shared/SeverityHelper';
import TagsList from '../../../components/tags/TagsList';
import { getRuleUrl } from '../../../helpers/urls';
import * as React from 'react';
import { InjectedIntlProps, injectIntl } from 'react-intl';
import Tooltip from 'sonar-ui-common/components/controls/Tooltip';
+import DateFormatter, { longFormatterOption } from 'sonar-ui-common/components/intl/DateFormatter';
+import DateFromNow from 'sonar-ui-common/components/intl/DateFromNow';
+import DateTimeFormatter, {
+ formatterOption
+} from 'sonar-ui-common/components/intl/DateTimeFormatter';
import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n';
-import DateFormatter, { longFormatterOption } from '../../../components/intl/DateFormatter';
-import DateFromNow from '../../../components/intl/DateFromNow';
-import DateTimeFormatter, { formatterOption } from '../../../components/intl/DateTimeFormatter';
import { getPeriodDate, getPeriodLabel } from '../../../helpers/periods';
interface Props {
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import * as React from 'react';
+import DateFormatter from 'sonar-ui-common/components/intl/DateFormatter';
import { translate } from 'sonar-ui-common/helpers/l10n';
-import DateFormatter from '../../../components/intl/DateFormatter';
interface Props {
measure: T.CustomMeasure;
import * as React from 'react';
import { InjectedIntlProps, injectIntl } from 'react-intl';
import BarChart from 'sonar-ui-common/components/charts/BarChart';
+import { longFormatterOption } from 'sonar-ui-common/components/intl/DateFormatter';
+import DateFromNow from 'sonar-ui-common/components/intl/DateFromNow';
+import DateTimeFormatter from 'sonar-ui-common/components/intl/DateTimeFormatter';
import { parseDate } from 'sonar-ui-common/helpers/dates';
import { translate } from 'sonar-ui-common/helpers/l10n';
import { formatMeasure } from 'sonar-ui-common/helpers/measures';
import FacetBox from '../../../components/facet/FacetBox';
import FacetHeader from '../../../components/facet/FacetHeader';
import FacetItem from '../../../components/facet/FacetItem';
-import { longFormatterOption } from '../../../components/intl/DateFormatter';
-import DateFromNow from '../../../components/intl/DateFromNow';
-import DateTimeFormatter from '../../../components/intl/DateTimeFormatter';
import { Query } from '../utils';
interface Props {
import { Helmet } from 'react-helmet-async';
import { FormattedMessage } from 'react-intl';
import { Button } from 'sonar-ui-common/components/controls/buttons';
+import DateFromNow from 'sonar-ui-common/components/intl/DateFromNow';
+import TimeFormatter from 'sonar-ui-common/components/intl/TimeFormatter';
import { translate } from 'sonar-ui-common/helpers/l10n';
import { getBaseUrl, getReturnUrl } from 'sonar-ui-common/helpers/urls';
import { getMigrationStatus, getSystemStatus, migrateDatabase } from '../../../api/system';
import InstanceMessage from '../../../components/common/InstanceMessage';
-import DateFromNow from '../../../components/intl/DateFromNow';
-import TimeFormatter from '../../../components/intl/TimeFormatter';
import { isSonarCloud } from '../../../helpers/system';
import '../styles.css';
*/
import * as React from 'react';
import Tooltip from 'sonar-ui-common/components/controls/Tooltip';
+import DateFormatter from 'sonar-ui-common/components/intl/DateFormatter';
import { translate } from 'sonar-ui-common/helpers/l10n';
import { Release, Update } from '../../../api/plugins';
-import DateFormatter from '../../../components/intl/DateFormatter';
interface Props {
release: Release;
*/
import { sortBy } from 'lodash';
import * as React from 'react';
+import DateTooltipFormatter from 'sonar-ui-common/components/intl/DateTooltipFormatter';
import { translate } from 'sonar-ui-common/helpers/l10n';
-import DateTooltipFormatter from '../../../components/intl/DateTooltipFormatter';
import { ComponentQualifier } from '../../../types/component';
import Event from './Event';
*/
import * as React from 'react';
import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip';
+import DateFromNow from 'sonar-ui-common/components/intl/DateFromNow';
import { translateWithParameters } from 'sonar-ui-common/helpers/l10n';
-import DateFromNow from '../../../components/intl/DateFromNow';
import { ApplicationPeriod } from '../../../types/application';
export interface ApplicationLeakPeriodInfoProps {
*/
import * as React from 'react';
import { InjectedIntl, injectIntl } from 'react-intl';
+import { longFormatterOption } from 'sonar-ui-common/components/intl/DateFormatter';
+import DateFromNow from 'sonar-ui-common/components/intl/DateFromNow';
+import { formatterOption } from 'sonar-ui-common/components/intl/DateTimeFormatter';
import { translateWithParameters } from 'sonar-ui-common/helpers/l10n';
-import { longFormatterOption } from '../../../components/intl/DateFormatter';
-import DateFromNow from '../../../components/intl/DateFromNow';
-import { formatterOption } from '../../../components/intl/DateTimeFormatter';
import { getPeriodDate, getPeriodLabel } from '../../../helpers/periods';
export interface ProjectLeakPeriodInfoProps {
ApplicationLeakPeriodInfoProps
} from '../ApplicationLeakPeriodInfo';
-jest.mock('../../../../components/intl/DateFromNow');
+jest.mock('sonar-ui-common/components/intl/DateFromNow');
it('renders correctly', () => {
const wrapper = shallowRender();
import { sortBy } from 'lodash';
import * as React from 'react';
import Tooltip from 'sonar-ui-common/components/controls/Tooltip';
+import DateFromNow from 'sonar-ui-common/components/intl/DateFromNow';
+import DateTooltipFormatter from 'sonar-ui-common/components/intl/DateTooltipFormatter';
import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n';
import { getApplicationLeak } from '../../../api/application';
-import DateFromNow from '../../../components/intl/DateFromNow';
-import DateTooltipFormatter from '../../../components/intl/DateTooltipFormatter';
import { Branch } from '../../../types/branch-like';
interface Props {
import * as React from 'react';
import { InjectedIntlProps, injectIntl } from 'react-intl';
import Tooltip from 'sonar-ui-common/components/controls/Tooltip';
+import DateFormatter, { longFormatterOption } from 'sonar-ui-common/components/intl/DateFormatter';
+import DateFromNow from 'sonar-ui-common/components/intl/DateFromNow';
+import DateTimeFormatter, {
+ formatterOption
+} from 'sonar-ui-common/components/intl/DateTimeFormatter';
import { translateWithParameters } from 'sonar-ui-common/helpers/l10n';
-import DateFormatter, { longFormatterOption } from '../../../components/intl/DateFormatter';
-import DateFromNow from '../../../components/intl/DateFromNow';
-import DateTimeFormatter, { formatterOption } from '../../../components/intl/DateTimeFormatter';
import { getPeriodDate, getPeriodLabel } from '../../../helpers/periods';
interface Props {
*/
import * as React from 'react';
import { FormattedMessage } from 'react-intl';
+import DateFromNow from 'sonar-ui-common/components/intl/DateFromNow';
import Rating from 'sonar-ui-common/components/ui/Rating';
import { translate } from 'sonar-ui-common/helpers/l10n';
-import DateFromNow from '../../../components/intl/DateFromNow';
interface Props {
lastChange?: string;
import { throttle } from 'lodash';
import * as React from 'react';
import Tooltip from 'sonar-ui-common/components/controls/Tooltip';
+import DateFormatter from 'sonar-ui-common/components/intl/DateFormatter';
import { toShortNotSoISOString } from 'sonar-ui-common/helpers/dates';
import { translate } from 'sonar-ui-common/helpers/l10n';
-import DateFormatter from '../../../components/intl/DateFormatter';
import { ComponentQualifier } from '../../../types/component';
import { activityQueryChanged, getAnalysesByVersionByDay, Query } from '../utils';
import ProjectActivityAnalysis from './ProjectActivityAnalysis';
} from 'sonar-ui-common/components/controls/ActionsDropdown';
import ClickEventBoundary from 'sonar-ui-common/components/controls/ClickEventBoundary';
import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip';
+import TimeFormatter from 'sonar-ui-common/components/intl/TimeFormatter';
import { PopupPlacement } from 'sonar-ui-common/components/ui/popups';
import { parseDate } from 'sonar-ui-common/helpers/dates';
import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n';
import { scrollToElement } from 'sonar-ui-common/helpers/scrolling';
-import TimeFormatter from '../../../components/intl/TimeFormatter';
import Events from './Events';
import AddEventForm from './forms/AddEventForm';
import RemoveAnalysisForm from './forms/RemoveAnalysisForm';
import { mount, shallow } from 'enzyme';
import * as React from 'react';
import { IntlProvider } from 'react-intl';
+import TimeFormatter from 'sonar-ui-common/components/intl/TimeFormatter';
import { scrollToElement } from 'sonar-ui-common/helpers/scrolling';
import { click } from 'sonar-ui-common/helpers/testUtils';
-import TimeFormatter from '../../../../components/intl/TimeFormatter';
import { mockAnalysisEvent, mockParsedAnalysis } from '../../../../helpers/testMocks';
import AddEventForm from '../forms/AddEventForm';
import RemoveAnalysisForm from '../forms/RemoveAnalysisForm';
import * as React from 'react';
import Select from 'sonar-ui-common/components/controls/Select';
import Tooltip from 'sonar-ui-common/components/controls/Tooltip';
+import DateFormatter from 'sonar-ui-common/components/intl/DateFormatter';
+import TimeFormatter from 'sonar-ui-common/components/intl/TimeFormatter';
import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner';
import { parseDate, toShortNotSoISOString } from 'sonar-ui-common/helpers/dates';
import { translate } from 'sonar-ui-common/helpers/l10n';
import { scrollToElement } from 'sonar-ui-common/helpers/scrolling';
import { getProjectActivity } from '../../../api/projectActivity';
-import DateFormatter from '../../../components/intl/DateFormatter';
-import TimeFormatter from '../../../components/intl/TimeFormatter';
import Events from '../../projectActivity/components/Events';
import { getAnalysesByVersionByDay } from '../../projectActivity/utils';
import ActionsDropdown, {
ActionsDropdownItem
} from 'sonar-ui-common/components/controls/ActionsDropdown';
+import DateTimeFormatter from 'sonar-ui-common/components/intl/DateTimeFormatter';
import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner';
import { translate } from 'sonar-ui-common/helpers/l10n';
import { listBranchesNewCodePeriod, resetNewCodePeriod } from '../../../api/newCodePeriod';
import BranchLikeIcon from '../../../components/icons/BranchLikeIcon';
-import DateTimeFormatter from '../../../components/intl/DateTimeFormatter';
import { isBranch, sortBranches } from '../../../helpers/branch-like';
import { BranchLike, BranchWithNewCodePeriod } from '../../../types/branch-like';
import BranchBaselineSettingModal from './BranchBaselineSettingModal';
import ActionsDropdown, {
ActionsDropdownItem
} from 'sonar-ui-common/components/controls/ActionsDropdown';
+import DateFromNow from 'sonar-ui-common/components/intl/DateFromNow';
import { translate } from 'sonar-ui-common/helpers/l10n';
import BranchStatus from '../../../components/common/BranchStatus';
import BranchLikeIcon from '../../../components/icons/BranchLikeIcon';
-import DateFromNow from '../../../components/intl/DateFromNow';
import {
getBranchLikeDisplayName,
isBranch,
import * as React from 'react';
import { Link } from 'react-router';
import QualifierIcon from 'sonar-ui-common/components/icons/QualifierIcon';
+import DateTimeFormatter from 'sonar-ui-common/components/intl/DateTimeFormatter';
import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n';
import PrivacyBadgeContainer from '../../../components/common/PrivacyBadgeContainer';
import Favorite from '../../../components/controls/Favorite';
-import DateTimeFormatter from '../../../components/intl/DateTimeFormatter';
import TagsList from '../../../components/tags/TagsList';
import { getProjectUrl } from '../../../helpers/urls';
import { isLoggedIn } from '../../../helpers/users';
import Checkbox from 'sonar-ui-common/components/controls/Checkbox';
import Tooltip from 'sonar-ui-common/components/controls/Tooltip';
import QualifierIcon from 'sonar-ui-common/components/icons/QualifierIcon';
+import DateTooltipFormatter from 'sonar-ui-common/components/intl/DateTooltipFormatter';
import { Project } from '../../api/components';
import PrivacyBadgeContainer from '../../components/common/PrivacyBadgeContainer';
-import DateTooltipFormatter from '../../components/intl/DateTooltipFormatter';
import './ProjectRow.css';
import ProjectRowActions from './ProjectRowActions';
import { sortBy } from 'lodash';
import * as React from 'react';
import { Link } from 'react-router';
+import DateTimeFormatter from 'sonar-ui-common/components/intl/DateTimeFormatter';
import { parseDate } from 'sonar-ui-common/helpers/dates';
import { translate } from 'sonar-ui-common/helpers/l10n';
-import DateTimeFormatter from '../../../components/intl/DateTimeFormatter';
import { getRulesUrl } from '../../../helpers/urls';
import { ProfileChangelogEvent } from '../types';
import ChangesList from './ChangesList';
*/
import * as React from 'react';
import Tooltip from 'sonar-ui-common/components/controls/Tooltip';
+import DateFromNow from 'sonar-ui-common/components/intl/DateFromNow';
+import DateTimeFormatter from 'sonar-ui-common/components/intl/DateTimeFormatter';
import { translate } from 'sonar-ui-common/helpers/l10n';
-import DateFromNow from '../../../components/intl/DateFromNow';
-import DateTimeFormatter from '../../../components/intl/DateTimeFormatter';
interface Props {
date?: string;
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import * as React from 'react';
+import DateFormatter from 'sonar-ui-common/components/intl/DateFormatter';
import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n';
-import DateFormatter from '../../../components/intl/DateFormatter';
import ProfileLink from '../components/ProfileLink';
import { Profile } from '../types';
import { isStagnant } from '../utils';
import { Button, DeleteButton, EditButton } from 'sonar-ui-common/components/controls/buttons';
import Dropdown, { DropdownOverlay } from 'sonar-ui-common/components/controls/Dropdown';
import Toggler from 'sonar-ui-common/components/controls/Toggler';
+import DateTimeFormatter from 'sonar-ui-common/components/intl/DateTimeFormatter';
import { PopupPlacement } from 'sonar-ui-common/components/ui/popups';
import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n';
-import DateTimeFormatter from '../../../components/intl/DateTimeFormatter';
import IssueChangelogDiff from '../../../components/issue/components/IssueChangelogDiff';
import Avatar from '../../../components/ui/Avatar';
import { Hotspot, ReviewHistoryType } from '../../../types/security-hotspots';
import * as React from 'react';
import { ButtonLink } from 'sonar-ui-common/components/controls/buttons';
import DropdownIcon from 'sonar-ui-common/components/icons/DropdownIcon';
+import DateFormatter from 'sonar-ui-common/components/intl/DateFormatter';
import { translate } from 'sonar-ui-common/helpers/l10n';
-import DateFormatter from '../../../../components/intl/DateFormatter';
import { SystemUpgrade } from '../../../../types/system';
interface Props {
*/
import * as React from 'react';
import { FormattedMessage } from 'react-intl';
+import DateFormatter from 'sonar-ui-common/components/intl/DateFormatter';
import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n';
-import DateFormatter from '../../../../components/intl/DateFormatter';
import {
getEdition,
getEditionDownloadFilename,
import { Button } from 'sonar-ui-common/components/controls/buttons';
import ConfirmButton from 'sonar-ui-common/components/controls/ConfirmButton';
import Tooltip from 'sonar-ui-common/components/controls/Tooltip';
+import DateFormatter from 'sonar-ui-common/components/intl/DateFormatter';
+import DateFromNowHourPrecision from 'sonar-ui-common/components/intl/DateFromNowHourPrecision';
import DeferredSpinner from 'sonar-ui-common/components/ui/DeferredSpinner';
import { translate } from 'sonar-ui-common/helpers/l10n';
import { limitComponentName } from 'sonar-ui-common/helpers/path';
import { revokeToken } from '../../../api/user-tokens';
-import DateFormatter from '../../../components/intl/DateFormatter';
-import DateFromNowHourPrecision from '../../../components/intl/DateFromNowHourPrecision';
export type TokenDeleteConfirmation = 'inline' | 'modal';
import * as React from 'react';
import { ButtonIcon } from 'sonar-ui-common/components/controls/buttons';
import BulletListIcon from 'sonar-ui-common/components/icons/BulletListIcon';
+import DateFromNowHourPrecision from 'sonar-ui-common/components/intl/DateFromNowHourPrecision';
import { translate } from 'sonar-ui-common/helpers/l10n';
-import DateFromNowHourPrecision from '../../../components/intl/DateFromNowHourPrecision';
import Avatar from '../../../components/ui/Avatar';
import TokensFormModal from './TokensFormModal';
import UserActions from './UserActions';
import { revokeToken } from '../../../../api/user-tokens';
import TokensFormItem from '../TokensFormItem';
-jest.mock('../../../../components/intl/DateFormatter');
-jest.mock('../../../../components/intl/DateFromNow');
-jest.mock('../../../../components/intl/DateTimeFormatter');
+jest.mock('sonar-ui-common/components/intl/DateFormatter');
+jest.mock('sonar-ui-common/components/intl/DateFromNow');
+jest.mock('sonar-ui-common/components/intl/DateTimeFormatter');
jest.mock('../../../../api/user-tokens', () => ({
revokeToken: jest.fn().mockResolvedValue(undefined)
import { click } from 'sonar-ui-common/helpers/testUtils';
import UserListItem from '../UserListItem';
-jest.mock('../../../../components/intl/DateFromNow');
-jest.mock('../../../../components/intl/DateTimeFormatter');
+jest.mock('sonar-ui-common/components/intl/DateFromNow');
+jest.mock('sonar-ui-common/components/intl/DateTimeFormatter');
const user: T.User = {
active: true,
import BoxedGroupAccordion from 'sonar-ui-common/components/controls/BoxedGroupAccordion';
import AlertErrorIcon from 'sonar-ui-common/components/icons/AlertErrorIcon';
import AlertSuccessIcon from 'sonar-ui-common/components/icons/AlertSuccessIcon';
+import DateTimeFormatter from 'sonar-ui-common/components/intl/DateTimeFormatter';
import { getDelivery } from '../../../api/webhooks';
-import DateTimeFormatter from '../../../components/intl/DateTimeFormatter';
import DeliveryItem from './DeliveryItem';
interface Props {
import AlertErrorIcon from 'sonar-ui-common/components/icons/AlertErrorIcon';
import AlertSuccessIcon from 'sonar-ui-common/components/icons/AlertSuccessIcon';
import BulletListIcon from 'sonar-ui-common/components/icons/BulletListIcon';
+import DateTimeFormatter from 'sonar-ui-common/components/intl/DateTimeFormatter';
import { translate } from 'sonar-ui-common/helpers/l10n';
-import DateTimeFormatter from '../../../components/intl/DateTimeFormatter';
import LatestDeliveryForm from './LatestDeliveryForm';
interface Props {
import * as classNames from 'classnames';
import * as React from 'react';
import { DropdownOverlay } from 'sonar-ui-common/components/controls/Dropdown';
+import DateFormatter from 'sonar-ui-common/components/intl/DateFormatter';
import { PopupPlacement } from 'sonar-ui-common/components/ui/popups';
-import DateFormatter from '../../intl/DateFormatter';
interface Props {
line: T.SourceLine;
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import * as React from 'react';
+import DateTimeFormatter from 'sonar-ui-common/components/intl/DateTimeFormatter';
import { Popup, PopupPlacement } from 'sonar-ui-common/components/ui/popups';
import { isDefined } from 'sonar-ui-common/helpers/types';
import { MeasureHistory, Serie } from '../../types/project-activity';
-import DateTimeFormatter from '../intl/DateTimeFormatter';
import GraphsTooltipsContent from './GraphsTooltipsContent';
import GraphsTooltipsContentCoverage from './GraphsTooltipsContentCoverage';
import GraphsTooltipsContentDuplication from './GraphsTooltipsContentDuplication';
+++ /dev/null
-/*
- * SonarQube
- * Copyright (C) 2009-2020 SonarSource SA
- * mailto:info AT sonarsource DOT com
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-import * as React from 'react';
-import { DateSource, FormattedDate } from 'react-intl';
-import { parseDate } from 'sonar-ui-common/helpers/dates';
-
-interface Props {
- children?: (formattedDate: string) => React.ReactNode;
- date: DateSource;
- long?: boolean;
-}
-
-export const formatterOption = { year: 'numeric', month: 'short', day: '2-digit' };
-
-export const longFormatterOption = { year: 'numeric', month: 'long', day: 'numeric' };
-
-export default function DateFormatter({ children, date, long }: Props) {
- return (
- <FormattedDate value={parseDate(date)} {...(long ? longFormatterOption : formatterOption)}>
- {children}
- </FormattedDate>
- );
-}
+++ /dev/null
-/*
- * SonarQube
- * Copyright (C) 2009-2020 SonarSource SA
- * mailto:info AT sonarsource DOT com
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-import * as React from 'react';
-import { DateSource, FormattedRelative } from 'react-intl';
-import { parseDate } from 'sonar-ui-common/helpers/dates';
-
-interface Props {
- children?: (formattedDate: string) => React.ReactNode;
- date: DateSource;
-}
-
-export default function DateFromNow({ children, date }: Props) {
- return <FormattedRelative value={parseDate(date)}>{children}</FormattedRelative>;
-}
+++ /dev/null
-/*
- * SonarQube
- * Copyright (C) 2009-2020 SonarSource SA
- * mailto:info AT sonarsource DOT com
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-import * as differenceInHours from 'date-fns/difference_in_hours';
-import * as React from 'react';
-import { DateSource } from 'react-intl';
-import Tooltip from 'sonar-ui-common/components/controls/Tooltip';
-import { translate } from 'sonar-ui-common/helpers/l10n';
-import DateFromNow from './DateFromNow';
-import DateTimeFormatter from './DateTimeFormatter';
-
-interface Props {
- children?: (formattedDate: string) => React.ReactNode;
- date?: DateSource;
-}
-
-export default class DateFromNowHourPrecision extends React.PureComponent<Props> {
- render() {
- const { children, date } = this.props;
-
- let overrideDate: string | undefined;
- if (!date) {
- overrideDate = translate('never');
- } else if (differenceInHours(Date.now(), date) < 1) {
- overrideDate = translate('less_than_1_hour_ago');
- }
-
- if (overrideDate) {
- return children ? children(overrideDate) : overrideDate;
- }
-
- return (
- <Tooltip overlay={<DateTimeFormatter date={date!} />}>
- <span>
- <DateFromNow date={date!}>{children}</DateFromNow>
- </span>
- </Tooltip>
- );
- }
-}
+++ /dev/null
-/*
- * SonarQube
- * Copyright (C) 2009-2020 SonarSource SA
- * mailto:info AT sonarsource DOT com
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-import * as React from 'react';
-import { DateSource, FormattedDate } from 'react-intl';
-import { parseDate } from 'sonar-ui-common/helpers/dates';
-
-interface Props {
- children?: (formattedDate: string) => React.ReactNode;
- date: DateSource;
-}
-
-export const formatterOption = {
- year: 'numeric',
- month: 'long',
- day: 'numeric',
- hour: 'numeric',
- minute: 'numeric'
-};
-
-export default function DateTimeFormatter({ children, date }: Props) {
- return (
- <FormattedDate value={parseDate(date)} {...formatterOption}>
- {children}
- </FormattedDate>
- );
-}
+++ /dev/null
-/*
- * SonarQube
- * Copyright (C) 2009-2020 SonarSource SA
- * mailto:info AT sonarsource DOT com
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-import * as React from 'react';
-import Tooltip from 'sonar-ui-common/components/controls/Tooltip';
-import { parseDate } from 'sonar-ui-common/helpers/dates';
-import DateFormatter from './DateFormatter';
-import DateTimeFormatter from './DateTimeFormatter';
-
-interface Props {
- className?: string;
- date: Date | string | number;
-}
-
-export default function DateTooltipFormatter({ className, date }: Props) {
- const parsedDate = parseDate(date);
- return (
- <DateFormatter date={parsedDate} long={true}>
- {formattedDate => (
- <Tooltip mouseEnterDelay={0.5} overlay={<DateTimeFormatter date={parsedDate} />}>
- <time className={className} dateTime={parsedDate.toISOString()}>
- {formattedDate}
- </time>
- </Tooltip>
- )}
- </DateFormatter>
- );
-}
+++ /dev/null
-/*
- * SonarQube
- * Copyright (C) 2009-2020 SonarSource SA
- * mailto:info AT sonarsource DOT com
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-import * as React from 'react';
-import { DateSource, FormattedTime } from 'react-intl';
-import { parseDate } from 'sonar-ui-common/helpers/dates';
-
-interface Props {
- children?: (formattedDate: string) => React.ReactNode;
- date: DateSource;
- long?: boolean;
-}
-
-export const formatterOption = { hour: 'numeric', minute: 'numeric' };
-
-export const longFormatterOption = { hour: 'numeric', minute: 'numeric', second: 'numeric' };
-
-export default function TimeFormatter({ children, date, long }: Props) {
- return (
- <FormattedTime value={parseDate(date)} {...(long ? longFormatterOption : formatterOption)}>
- {children}
- </FormattedTime>
- );
-}
+++ /dev/null
-/*
- * SonarQube
- * Copyright (C) 2009-2020 SonarSource SA
- * mailto:info AT sonarsource DOT com
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-import * as React from 'react';
-import { DateSource } from 'react-intl';
-
-interface Props {
- children?: (formattedDate: string) => React.ReactNode;
- date: DateSource;
-}
-
-export default function DateFromNow({ children, date }: Props) {
- return children && children(date.toString());
-}
import Toggler from 'sonar-ui-common/components/controls/Toggler';
import Tooltip from 'sonar-ui-common/components/controls/Tooltip';
import DropdownIcon from 'sonar-ui-common/components/icons/DropdownIcon';
-import DateFromNow from '../../intl/DateFromNow';
-import DateTimeFormatter from '../../intl/DateTimeFormatter';
+import DateFromNow from 'sonar-ui-common/components/intl/DateFromNow';
+import DateTimeFormatter from 'sonar-ui-common/components/intl/DateTimeFormatter';
import ChangelogPopup from '../popups/ChangelogPopup';
interface Props {
import * as React from 'react';
import { DeleteButton, EditButton } from 'sonar-ui-common/components/controls/buttons';
import Toggler from 'sonar-ui-common/components/controls/Toggler';
+import DateFromNow from 'sonar-ui-common/components/intl/DateFromNow';
import { PopupPlacement } from 'sonar-ui-common/components/ui/popups';
import { translateWithParameters } from 'sonar-ui-common/helpers/l10n';
-import DateFromNow from '../../intl/DateFromNow';
import Avatar from '../../ui/Avatar';
import CommentDeletePopup from '../popups/CommentDeletePopup';
import CommentPopup from '../popups/CommentPopup';
*/
import * as React from 'react';
import { DropdownOverlay } from 'sonar-ui-common/components/controls/Dropdown';
+import DateTimeFormatter from 'sonar-ui-common/components/intl/DateTimeFormatter';
import { PopupPlacement } from 'sonar-ui-common/components/ui/popups';
import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n';
import { getIssueChangelog } from '../../../api/issues';
-import DateTimeFormatter from '../../intl/DateTimeFormatter';
import Avatar from '../../ui/Avatar';
import IssueChangelogDiff from '../components/IssueChangelogDiff';
faye-websocket "^0.10.0"
uuid "^3.0.1"
-sonar-ui-common@0.0.57:
- version "0.0.57"
- resolved "https://repox.jfrog.io/repox/api/npm/npm/sonar-ui-common/-/sonar-ui-common-0.0.57.tgz#5fb3f602323b00b64dfe774811ab7fc3c8cfa30e"
- integrity sha1-X7P2AjI7ALZN/ndIEat/w8jPow4=
+sonar-ui-common@0.0.58:
+ version "0.0.58"
+ resolved "https://repox.jfrog.io/repox/api/npm/npm/sonar-ui-common/-/sonar-ui-common-0.0.58.tgz#860440bd476d176c71828e9b82e193384cd57f66"
+ integrity sha1-hgRAvUdtF2xxgo6bguGTOEzVf2Y=
dependencies:
"@types/react-select" "1.2.6"
classnames "2.2.6"