]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-13310 Use sonar-ui-common imports where possible
authorJeremy Davis <jeremy.davis@sonarsource.com>
Wed, 15 Apr 2020 16:09:53 +0000 (18:09 +0200)
committersonartech <sonartech@sonarsource.com>
Fri, 17 Apr 2020 20:03:43 +0000 (20:03 +0000)
57 files changed:
server/sonar-docs/package.json
server/sonar-docs/yarn.lock
server/sonar-web/package.json
server/sonar-web/src/main/js/app/components/embed-docs-modal/ProductNewsMenuItem.tsx
server/sonar-web/src/main/js/app/components/extensions/exposeLibraries.ts
server/sonar-web/src/main/js/app/components/nav/component/HeaderMeta.tsx
server/sonar-web/src/main/js/app/components/notifications/NotificationsSidebar.tsx
server/sonar-web/src/main/js/apps/account/projects/ProjectCard.tsx
server/sonar-web/src/main/js/apps/background-tasks/components/TaskDate.tsx
server/sonar-web/src/main/js/apps/background-tasks/components/TaskDay.tsx
server/sonar-web/src/main/js/apps/coding-rules/components/AvailableSinceFacet.tsx
server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetailsMeta.tsx
server/sonar-web/src/main/js/apps/component-measures/components/LeakPeriodLegend.tsx
server/sonar-web/src/main/js/apps/custom-measures/components/MeasureDate.tsx
server/sonar-web/src/main/js/apps/issues/sidebar/CreationDateFacet.tsx
server/sonar-web/src/main/js/apps/maintenance/components/App.tsx
server/sonar-web/src/main/js/apps/marketplace/components/PluginChangeLogItem.tsx
server/sonar-web/src/main/js/apps/overview/branches/Analysis.tsx
server/sonar-web/src/main/js/apps/overview/branches/ApplicationLeakPeriodInfo.tsx
server/sonar-web/src/main/js/apps/overview/branches/ProjectLeakPeriodInfo.tsx
server/sonar-web/src/main/js/apps/overview/branches/__tests__/ApplicationLeakPeriodInfo-test.tsx
server/sonar-web/src/main/js/apps/overview/components/ApplicationLeakPeriodLegend.tsx
server/sonar-web/src/main/js/apps/overview/components/LeakPeriodLegend.tsx
server/sonar-web/src/main/js/apps/portfolio/components/RatingFreshness.tsx
server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityAnalysesList.tsx
server/sonar-web/src/main/js/apps/projectActivity/components/ProjectActivityAnalysis.tsx
server/sonar-web/src/main/js/apps/projectActivity/components/__tests__/ProjectActivityAnalysis-test.tsx
server/sonar-web/src/main/js/apps/projectBaseline/components/BranchAnalysisList.tsx
server/sonar-web/src/main/js/apps/projectBaseline/components/BranchList.tsx
server/sonar-web/src/main/js/apps/projectBranches/components/BranchLikeRow.tsx
server/sonar-web/src/main/js/apps/projects/components/ProjectCard.tsx
server/sonar-web/src/main/js/apps/projectsManagement/ProjectRow.tsx
server/sonar-web/src/main/js/apps/quality-profiles/changelog/Changelog.tsx
server/sonar-web/src/main/js/apps/quality-profiles/components/ProfileDate.tsx
server/sonar-web/src/main/js/apps/quality-profiles/home/EvolutionStagnant.tsx
server/sonar-web/src/main/js/apps/security-hotspots/components/HotspotReviewHistory.tsx
server/sonar-web/src/main/js/apps/system/components/system-upgrade/SystemUpgradeIntermediate.tsx
server/sonar-web/src/main/js/apps/system/components/system-upgrade/SystemUpgradeItem.tsx
server/sonar-web/src/main/js/apps/users/components/TokensFormItem.tsx
server/sonar-web/src/main/js/apps/users/components/UserListItem.tsx
server/sonar-web/src/main/js/apps/users/components/__tests__/TokensFormItem-test.tsx
server/sonar-web/src/main/js/apps/users/components/__tests__/UserListItem-test.tsx
server/sonar-web/src/main/js/apps/webhooks/components/DeliveryAccordion.tsx
server/sonar-web/src/main/js/apps/webhooks/components/WebhookItemLatestDelivery.tsx
server/sonar-web/src/main/js/components/SourceViewer/components/SCMPopup.tsx
server/sonar-web/src/main/js/components/activity-graph/GraphsTooltips.tsx
server/sonar-web/src/main/js/components/intl/DateFormatter.tsx [deleted file]
server/sonar-web/src/main/js/components/intl/DateFromNow.tsx [deleted file]
server/sonar-web/src/main/js/components/intl/DateFromNowHourPrecision.tsx [deleted file]
server/sonar-web/src/main/js/components/intl/DateTimeFormatter.tsx [deleted file]
server/sonar-web/src/main/js/components/intl/DateTooltipFormatter.tsx [deleted file]
server/sonar-web/src/main/js/components/intl/TimeFormatter.tsx [deleted file]
server/sonar-web/src/main/js/components/intl/__mocks__/DateFromNow.tsx [deleted file]
server/sonar-web/src/main/js/components/issue/components/IssueChangelog.tsx
server/sonar-web/src/main/js/components/issue/components/IssueCommentLine.tsx
server/sonar-web/src/main/js/components/issue/popups/ChangelogPopup.tsx
server/sonar-web/yarn.lock

index 397aa3085244cb7609b6d334c4cd43a71853fa02..112755dae67353b0eee8bd6051e88c951540d607 100644 (file)
@@ -21,7 +21,7 @@
     "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": {
index fb139a9557e8792a1ea2d87e0c9f6703337f4386..9eb9c218575336c43f9d9704e44553db8a3fe6a4 100644 (file)
@@ -12736,10 +12736,10 @@ sockjs@0.3.19:
     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"
index c9965f9dd347fdf0395f6e2b8712981d51867e7c..b9189e323ac654661709120eca2ef9ade54457ae 100644 (file)
@@ -38,7 +38,7 @@
     "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"
index 1fbb9f7521a09399aa1448e4bc47cb85c908f1f3..5c9711ce9937669d76d271db54aae5de2dca89be 100644 (file)
@@ -20,9 +20,9 @@
 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';
 
index dd34f0fc164962cc0f8a4564dec7d43aa928d692..4ade1fb45e00c03d798c35dac4f1fff18159d7bf 100644 (file)
@@ -58,6 +58,9 @@ import PullRequestIcon from 'sonar-ui-common/components/icons/PullRequestIcon';
 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';
@@ -68,9 +71,6 @@ import NotFound from '../../../app/components/NotFound';
 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,
index 46b5cd398f2b1b858f8edd5f4456df9d7871323a..37c2ffcae4697a57585f42b07953cc8772279243 100644 (file)
 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';
index 41a3833d80e6524d1ba47c5fe959008ca383ab70..1e153804a27d6900624e5a12af35bc6c6a8a8949 100644 (file)
@@ -22,10 +22,10 @@ import * as differenceInSeconds from 'date-fns/difference_in_seconds';
 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;
index 65542a67fd8b77f03e84a63b448c40c023b73f36..00bcb60c1aa4e382613762787524be63a2538473 100644 (file)
@@ -21,10 +21,10 @@ import * as React from 'react';
 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';
 
index fdd4feedbbe7edeeb83f37c9a7ee3fc52d8f5a40..d95b25468db27e2c08c3bac0806c8851dfcfaef0 100644 (file)
@@ -19,8 +19,8 @@
  */
 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;
index dcaeee2acf23623a15aede188026b7bceaf0ba0e..7fc20ffeb747404bd0e4f1eb1ac42cb07db805d1 100644 (file)
@@ -19,8 +19,8 @@
  */
 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;
index d9725dbd9d0858c19a53cd22f9be6877011b5b1d..f6d4b99b7ce8297ff7a5086a9433ef3904d602a6 100644 (file)
  */
 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 {
index 4324f0d5afcbc3a3b2acb104def165018b01ae76..1dca1f3849a6f2ca0a6c8f16d6258058595f6555 100644 (file)
@@ -25,10 +25,10 @@ import Tooltip from 'sonar-ui-common/components/controls/Tooltip';
 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';
index 7dbe30fe648db3d974799ae99bc939a59a56b483..2abd611756ed219d1bef9ab2419052edaef34a8f 100644 (file)
@@ -22,10 +22,12 @@ import * as differenceInDays from 'date-fns/difference_in_days';
 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 {
index afe73a410add925dafdf7176404c5e5da4c767cd..9fe3a0aadbe5df68c1e06fabacd9258cb0742aba 100644 (file)
@@ -18,8 +18,8 @@
  * 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;
index 3c7bb54b9dcc50af7be8b145d47ed9fc1205adc4..ea29fa62561734ab9ec530372660898a9646d75c 100644 (file)
@@ -22,6 +22,9 @@ import { max } from 'lodash';
 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';
@@ -29,9 +32,6 @@ import DateRangeInput from '../../../components/controls/DateRangeInput';
 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 {
index 1f776921f25b18ad2a8b35b8b2fe50fd61dfbd19..46218505658cad2defb7229c7a9d91e3825e3bab 100644 (file)
@@ -22,12 +22,12 @@ import * as React from 'react';
 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';
 
index 057e04a691c42387fa47b357420b1185f796780c..7e0da5e02ee259df6a72c822511b38fd90b74890 100644 (file)
@@ -19,9 +19,9 @@
  */
 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;
index af6a7889954cf91f86e989ee57fa0919e4e9f61f..540f2eb602389e0dcf56d5ccf9dff992e7595468 100644 (file)
@@ -19,8 +19,8 @@
  */
 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';
 
index 3505f3d96a8ed87ccddf710faec04c24404a39b2..1e49fc123e5d6529749e2683a439b277248b6cf9 100644 (file)
@@ -19,8 +19,8 @@
  */
 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 {
index 60728b5ed169617b90181baef3b9ec3369cada6a..f9dd76d3c2aa9407bfa0a02483ad073cd6c37369 100644 (file)
  */
 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 {
index 49a5368570d316ec55154ecc1eeef5744a3cdbbc..239dacfd4dc1bc390cc7236a49d848cf07559844 100644 (file)
@@ -25,7 +25,7 @@ import {
   ApplicationLeakPeriodInfoProps
 } from '../ApplicationLeakPeriodInfo';
 
-jest.mock('../../../../components/intl/DateFromNow');
+jest.mock('sonar-ui-common/components/intl/DateFromNow');
 
 it('renders correctly', () => {
   const wrapper = shallowRender();
index 2c2ec2dae87b76ddd6bbe8b29c4c5bc046c54648..0475bc60ecba81787f58e66539e8776db1ad8547 100644 (file)
@@ -21,10 +21,10 @@ import * as classNames from 'classnames';
 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 {
index 3b32763485850a2ce568db95fdbe4dbe7c015df9..c446d17c2025c92ee75b95626edb56ca4dc3b29a 100644 (file)
@@ -21,10 +21,12 @@ import * as differenceInDays from 'date-fns/difference_in_days';
 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 {
index 134dc544fd9f96600ed4292923e0db04eba3b6e8..f2abceae200a115f58bb6a348a1b7f642a55314a 100644 (file)
@@ -19,9 +19,9 @@
  */
 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;
index 1e8bca67f9729fa58fa8a651797b3980e658a38d..a7874f0f686d18062603ab9254548b393207c585 100644 (file)
@@ -22,9 +22,9 @@ import { isEqual } from 'date-fns';
 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';
index 92793cf0e12f5c73ea8c774cb862771ebc8a6af4..c72d274231513916df3a5707733a54619ae14735 100644 (file)
@@ -25,11 +25,11 @@ import ActionsDropdown, {
 } 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';
index fb297573273e72c1d53f4a52469137f0210f8a6b..71aa7b723af48ca7746d1d935777839e08b6fc72 100644 (file)
@@ -21,9 +21,9 @@
 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';
index f6118da854a2a39d1b9658251f96b7947cec68c7..f90565f4dbde8416e45271556bda4bd78f72ea6c 100644 (file)
@@ -23,13 +23,13 @@ import { throttle } from 'lodash';
 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';
 
index 464c44ce221fb6584fa6c6c1853e788c14c88a53..068fcce5f0a0dc20f3c0c97c1af91690d35954c6 100644 (file)
@@ -21,11 +21,11 @@ import * as React from 'react';
 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';
index 60014366cbd7958dea7bef7bc641e2be730710e2..526a911abc01acb19b5048dba54ecb5b7d78dc65 100644 (file)
@@ -21,10 +21,10 @@ import * as React from 'react';
 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,
index bf49fab53fe15291c3b7ddfda003c23e2b3186d7..12e28acdc9f640783b96b6c3c32b40b99e33d76c 100644 (file)
@@ -22,10 +22,10 @@ import * as difference from 'date-fns/difference_in_milliseconds';
 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';
index 50a59d94a7c475d82ffc647c11a813811592c5cd..dc32383e3e1018d97c5b325f28296b630c054218 100644 (file)
@@ -22,9 +22,9 @@ import { Link } from 'react-router';
 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';
 
index 20998eeb0ea6a5d8856c82760dc6b13067a892c2..c91891da0cf8ffdcfa38ca3dc29e540ea820db67 100644 (file)
@@ -21,9 +21,9 @@ import * as isSameMinute from 'date-fns/is_same_minute';
 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';
index 6affd34675fc1b3218498897118b31fd0d9cb385..0f620164b3437deb3f06e93558dacd43456b81c8 100644 (file)
@@ -19,9 +19,9 @@
  */
 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;
index 1e651abc94f196d7dbe686061abbba8850a1c613..fa76b87d0034357f20b342b9e85a24dac51d9b92 100644 (file)
@@ -18,8 +18,8 @@
  * 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';
index af209cfc68e62f2e8b26f884b3647e5c96b7df48..4a9e51a5ad8d2593021c4a2bff861b54054b899c 100644 (file)
@@ -23,9 +23,9 @@ import * as React from 'react';
 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';
index 06411b8801ebbc3582a946339c7668b9598baec2..a505e8521f8d4aba0a53f80a1484de8a4d4b84a6 100644 (file)
@@ -20,8 +20,8 @@
 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 {
index 9ff36dd4d69d183cd4328702db44c019162e60a5..5c41492d62eb2ca39dd7384f09b67c73947cf9e0 100644 (file)
@@ -19,8 +19,8 @@
  */
 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,
index deac20c6e4544904c82a6e4ab5073a9e20299397..a1ec4dc3d3a4945f545eeb75c6089734dbc3fbd2 100644 (file)
@@ -22,12 +22,12 @@ import { FormattedMessage } from 'react-intl';
 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';
 
index c54d7b1e9c2ed500f1936841e8009e1f581aff60..2720b08425c54c194a49895e445c9c0493b3e06f 100644 (file)
@@ -20,8 +20,8 @@
 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';
index 9264c43400ae70b30046a7e77710c12d3668dd03..cf65c6be4ca3e017af1dbe84b8966ab7544b60d6 100644 (file)
@@ -23,9 +23,9 @@ import { click, waitAndUpdate } from 'sonar-ui-common/helpers/testUtils';
 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)
index 80a3a11a5cf0a8b5a8e0bba7115cdc2669242297..273a495be8802ca42711a913c9b529c4af3246b6 100644 (file)
@@ -22,8 +22,8 @@ import * as React from 'react';
 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,
index dffd12ecb9c955ceeeb2ae9d7e8d1933ccea2b0a..6d63dc8c08baf532ec2e9863b9ac3aa6095c5a26 100644 (file)
@@ -21,8 +21,8 @@ import * as React from 'react';
 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 {
index 66370ebc77a987f50823a5192f4e93b7fe4ea1eb..58397e513893c38cb3d7ee3a40c2de7808cc40f0 100644 (file)
@@ -22,8 +22,8 @@ import { ButtonIcon } from 'sonar-ui-common/components/controls/buttons';
 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 {
index 0f945e8eb3486bbdad30d4ef6f049f538f305dca..7f66c5963bdefb011ebd4e5da7dbbee1bb6ee016 100644 (file)
@@ -20,8 +20,8 @@
 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;
index 5cf39c6296ef46adb5bf49b4db80383130cec850..c88ca7475dd57b809b1c7ddd302c5cb4f97bdb2a 100644 (file)
  * 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';
diff --git a/server/sonar-web/src/main/js/components/intl/DateFormatter.tsx b/server/sonar-web/src/main/js/components/intl/DateFormatter.tsx
deleted file mode 100644 (file)
index 2695d5c..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * 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>
-  );
-}
diff --git a/server/sonar-web/src/main/js/components/intl/DateFromNow.tsx b/server/sonar-web/src/main/js/components/intl/DateFromNow.tsx
deleted file mode 100644 (file)
index 975e0c0..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * 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>;
-}
diff --git a/server/sonar-web/src/main/js/components/intl/DateFromNowHourPrecision.tsx b/server/sonar-web/src/main/js/components/intl/DateFromNowHourPrecision.tsx
deleted file mode 100644 (file)
index 900239f..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * 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>
-    );
-  }
-}
diff --git a/server/sonar-web/src/main/js/components/intl/DateTimeFormatter.tsx b/server/sonar-web/src/main/js/components/intl/DateTimeFormatter.tsx
deleted file mode 100644 (file)
index 12481c6..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * 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>
-  );
-}
diff --git a/server/sonar-web/src/main/js/components/intl/DateTooltipFormatter.tsx b/server/sonar-web/src/main/js/components/intl/DateTooltipFormatter.tsx
deleted file mode 100644 (file)
index 3d858ac..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * 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>
-  );
-}
diff --git a/server/sonar-web/src/main/js/components/intl/TimeFormatter.tsx b/server/sonar-web/src/main/js/components/intl/TimeFormatter.tsx
deleted file mode 100644 (file)
index 3215886..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * 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>
-  );
-}
diff --git a/server/sonar-web/src/main/js/components/intl/__mocks__/DateFromNow.tsx b/server/sonar-web/src/main/js/components/intl/__mocks__/DateFromNow.tsx
deleted file mode 100644 (file)
index 762fcb2..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * 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());
-}
index 00f13f474d952f99d0eaf46778a2d8b445f0169b..3fbae07587b10c814f478c98bd45d88aa686f124 100644 (file)
@@ -22,8 +22,8 @@ import { ButtonLink } from 'sonar-ui-common/components/controls/buttons';
 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 {
index e252bd249bb68f3fd705686a5db3a3500f228e44..05c6d4d65742b9c2e9d4b959fa66bce8fe8e0df6 100644 (file)
@@ -21,9 +21,9 @@ import { sanitize } from 'dompurify';
 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';
index 6f1062125a39b8168f770c5048329db1ba4584f2..6fb71ad11e55ecaebd2ac1a83626f9d6419cc08d 100644 (file)
  */
 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';
 
index 47f95cc42c0187052365c61f26955d34241f88f8..df6e99dae7079d2570ed9ea799d1da69ae152081 100644 (file)
@@ -10517,10 +10517,10 @@ sockjs@0.3.19:
     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"