diff options
author | Grégoire Aubert <gregoire.aubert@sonarsource.com> | 2019-07-11 15:15:35 +0200 |
---|---|---|
committer | SonarTech <sonartech@sonarsource.com> | 2019-07-11 20:21:09 +0200 |
commit | 60226e8e297485bcbe384dc766930da0a5a1c079 (patch) | |
tree | 84140c9f6d8d0828dbe4db676f8a06a5d6b4b077 /server/sonar-web/src/main/js/apps/projectsManagement | |
parent | 7ae6f6f0968febebf763cf073b09cb6dd2b218d7 (diff) | |
download | sonarqube-60226e8e297485bcbe384dc766930da0a5a1c079.tar.gz sonarqube-60226e8e297485bcbe384dc766930da0a5a1c079.zip |
SC-704 Extract components into sonar-ui-common (#1714)
* SC-704 Extract icons components to sonar-ui-common
* Better typings for theme
* Use sonar-ui-common in extensions
* Extract some helpers
* Extract l10n helper to sonar-ui-common
* Extract requests helper to sonar-ui-common
* Extract part of urls helper
* Move buttons, Tooltips and ScreenPositionFixers
* Move modal related components
* Move IdentityProviderLink
* Move GenericAvatar
* Move SizeRating
* Move charts and move deps to peerDeps
* Move nav
* Move formatMeasure
* Move Rating
* Move PageActions
* Move the rest of ui components
* Move more controls components
* Include theme inside extension build
* Add missing theme context provider in extensions
* Update react to same version everywhere
* Update sonar-ui-common
* Update eslint configuration
Diffstat (limited to 'server/sonar-web/src/main/js/apps/projectsManagement')
19 files changed, 49 insertions, 47 deletions
diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/App.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/App.tsx index 762e7863539..29b60956fca 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/App.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/App.tsx @@ -20,15 +20,15 @@ import * as React from 'react'; import Helmet from 'react-helmet'; import { debounce, uniq, without } from 'lodash'; +import { toNotSoISOString } from 'sonar-ui-common/helpers/dates'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import ListFooter from 'sonar-ui-common/components/controls/ListFooter'; import Header from './Header'; import Search from './Search'; import Projects from './Projects'; import CreateProjectForm from './CreateProjectForm'; -import ListFooter from '../../components/controls/ListFooter'; import Suggestions from '../../app/components/embed-docs-modal/Suggestions'; import { getComponents, Project } from '../../api/components'; -import { toNotSoISOString } from '../../helpers/dates'; -import { translate } from '../../helpers/l10n'; export interface Props { currentUser: { login: string }; diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/BulkApplyTemplateModal.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/BulkApplyTemplateModal.tsx index e3c32aa20e4..346cfd598f7 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/BulkApplyTemplateModal.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/BulkApplyTemplateModal.tsx @@ -18,13 +18,13 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { toNotSoISOString } from 'sonar-ui-common/helpers/dates'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { ResetButtonLink, SubmitButton } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import { getPermissionTemplates, bulkApplyTemplate } from '../../api/permissions'; -import { translate, translateWithParameters } from '../../helpers/l10n'; -import Modal from '../../components/controls/Modal'; import Select from '../../components/controls/Select'; -import { ResetButtonLink, SubmitButton } from '../../components/ui/buttons'; -import { toNotSoISOString } from '../../helpers/dates'; -import { Alert } from '../../components/ui/Alert'; export interface Props { analyzedBefore: Date | undefined; diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/ChangeDefaultVisibilityForm.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/ChangeDefaultVisibilityForm.tsx index 0a301474573..be3465b3518 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/ChangeDefaultVisibilityForm.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/ChangeDefaultVisibilityForm.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; -import Modal from '../../components/controls/Modal'; -import { Button, ResetButtonLink } from '../../components/ui/buttons'; -import { translate } from '../../helpers/l10n'; -import { Alert } from '../../components/ui/Alert'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; export interface Props { onClose: () => void; diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/CreateProjectForm.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/CreateProjectForm.tsx index a916e81d16e..a1ae7dd12be 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/CreateProjectForm.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/CreateProjectForm.tsx @@ -20,14 +20,14 @@ import * as React from 'react'; import { Link } from 'react-router'; import { FormattedMessage } from 'react-intl'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import { createProject } from '../../api/components'; import UpgradeOrganizationBox from '../create/components/UpgradeOrganizationBox'; import VisibilitySelector from '../../components/common/VisibilitySelector'; -import Modal from '../../components/controls/Modal'; -import { SubmitButton, ResetButtonLink } from '../../components/ui/buttons'; -import { translate } from '../../helpers/l10n'; import { getProjectUrl } from '../../helpers/urls'; -import { Alert } from '../../components/ui/Alert'; interface Props { onClose: () => void; diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/DeleteModal.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/DeleteModal.tsx index 7af92618315..c4ebb6bbd48 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/DeleteModal.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/DeleteModal.tsx @@ -18,12 +18,12 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { toNotSoISOString } from 'sonar-ui-common/helpers/dates'; +import { translate, translateWithParameters } from 'sonar-ui-common/helpers/l10n'; +import { ResetButtonLink, SubmitButton } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; +import { Alert } from 'sonar-ui-common/components/ui/Alert'; import { bulkDeleteProjects } from '../../api/components'; -import Modal from '../../components/controls/Modal'; -import { ResetButtonLink, SubmitButton } from '../../components/ui/buttons'; -import { translate, translateWithParameters } from '../../helpers/l10n'; -import { toNotSoISOString } from '../../helpers/dates'; -import { Alert } from '../../components/ui/Alert'; export interface Props { analyzedBefore: Date | undefined; diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/Header.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/Header.tsx index 4aa4f650acf..b3c87ccfc74 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/Header.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/Header.tsx @@ -18,9 +18,9 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { EditButton, Button } from 'sonar-ui-common/components/controls/buttons'; import ChangeDefaultVisibilityForm from './ChangeDefaultVisibilityForm'; -import { EditButton, Button } from '../../components/ui/buttons'; -import { translate } from '../../helpers/l10n'; import { isSonarCloud } from '../../helpers/system'; export interface Props { diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/ProjectRow.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/ProjectRow.tsx index cb1fe0f2d15..1273e30ffd3 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/ProjectRow.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/ProjectRow.tsx @@ -18,11 +18,11 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import QualifierIcon from 'sonar-ui-common/components/icons/QualifierIcon'; import { Link } from 'react-router'; +import Checkbox from 'sonar-ui-common/components/controls/Checkbox'; import ProjectRowActions from './ProjectRowActions'; import PrivacyBadgeContainer from '../../components/common/PrivacyBadgeContainer'; -import Checkbox from '../../components/controls/Checkbox'; -import QualifierIcon from '../../components/icons-components/QualifierIcon'; import DateTooltipFormatter from '../../components/intl/DateTooltipFormatter'; import { Project } from '../../api/components'; diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/ProjectRowActions.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/ProjectRowActions.tsx index ee70b8ffbcc..abff099d1ee 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/ProjectRowActions.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/ProjectRowActions.tsx @@ -18,12 +18,14 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import ActionsDropdown, { + ActionsDropdownItem +} from 'sonar-ui-common/components/controls/ActionsDropdown'; import RestoreAccessModal from './RestoreAccessModal'; import ApplyTemplate from '../permissions/project/components/ApplyTemplate'; import { getComponentShow, Project } from '../../api/components'; import { getComponentNavigation } from '../../api/nav'; -import ActionsDropdown, { ActionsDropdownItem } from '../../components/controls/ActionsDropdown'; -import { translate } from '../../helpers/l10n'; import { getComponentPermissionsUrl } from '../../helpers/urls'; export interface Props { diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/Projects.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/Projects.tsx index c593c333c7d..d644c5410d2 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/Projects.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/Projects.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import * as classNames from 'classnames'; +import { translate } from 'sonar-ui-common/helpers/l10n'; import ProjectRow from './ProjectRow'; -import { translate } from '../../helpers/l10n'; import { Project } from '../../api/components'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/RestoreAccessModal.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/RestoreAccessModal.tsx index 5f949cef2e4..89fc396db7d 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/RestoreAccessModal.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/RestoreAccessModal.tsx @@ -19,10 +19,10 @@ */ import * as React from 'react'; import { FormattedMessage } from 'react-intl'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { SubmitButton, ResetButtonLink } from 'sonar-ui-common/components/controls/buttons'; +import Modal from 'sonar-ui-common/components/controls/Modal'; import { grantPermissionToUser } from '../../api/permissions'; -import Modal from '../../components/controls/Modal'; -import { SubmitButton, ResetButtonLink } from '../../components/ui/buttons'; -import { translate } from '../../helpers/l10n'; import { Project } from '../../api/components'; interface Props { diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/Search.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/Search.tsx index 65041f5269b..fe4d6c7c373 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/Search.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/Search.tsx @@ -18,18 +18,18 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import * as React from 'react'; +import QualifierIcon from 'sonar-ui-common/components/icons/QualifierIcon'; import { sortBy } from 'lodash'; +import { translate } from 'sonar-ui-common/helpers/l10n'; +import { Button } from 'sonar-ui-common/components/controls/buttons'; +import Checkbox from 'sonar-ui-common/components/controls/Checkbox'; +import HelpTooltip from 'sonar-ui-common/components/controls/HelpTooltip'; +import SearchBox from 'sonar-ui-common/components/controls/SearchBox'; import BulkApplyTemplateModal from './BulkApplyTemplateModal'; import DeleteModal from './DeleteModal'; -import Checkbox from '../../components/controls/Checkbox'; -import QualifierIcon from '../../components/icons-components/QualifierIcon'; -import HelpTooltip from '../../components/controls/HelpTooltip'; import DateInput from '../../components/controls/DateInput'; import Select from '../../components/controls/Select'; -import SearchBox from '../../components/controls/SearchBox'; -import { Button } from '../../components/ui/buttons'; import { Project } from '../../api/components'; -import { translate } from '../../helpers/l10n'; export interface Props { analyzedBefore: Date | undefined; diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/BulkApplyTemplateModal-test.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/BulkApplyTemplateModal-test.tsx index 0cfec7a9349..8bec56364c4 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/BulkApplyTemplateModal-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/BulkApplyTemplateModal-test.tsx @@ -21,8 +21,8 @@ import * as React from 'react'; import { mount, shallow } from 'enzyme'; import BulkApplyTemplateModal, { Props } from '../BulkApplyTemplateModal'; -import { click, waitAndUpdate } from '../../../helpers/testUtils'; -import { parseDate } from '../../../helpers/dates'; +import { click, waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; jest.mock('../../../api/permissions', () => ({ bulkApplyTemplate: jest.fn(() => Promise.resolve()), diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/ChangeDefaultVisibilityForm-test.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/ChangeDefaultVisibilityForm-test.tsx index 9688ed7d87b..2c5045b55c0 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/ChangeDefaultVisibilityForm-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/ChangeDefaultVisibilityForm-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import ChangeDefaultVisibilityForm from '../ChangeDefaultVisibilityForm'; -import { click } from '../../../helpers/testUtils'; const organization: T.Organization = { canUpdateProjectsVisibilityToPrivate: true, diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/CreateProjectForm-test.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/CreateProjectForm-test.tsx index faacb172011..111d396074f 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/CreateProjectForm-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/CreateProjectForm-test.tsx @@ -27,7 +27,7 @@ jest.mock('../../../api/components', () => ({ import * as React from 'react'; import { shallow } from 'enzyme'; import CreateProjectForm from '../CreateProjectForm'; -import { change, submit, waitAndUpdate } from '../../../helpers/testUtils'; +import { change, submit, waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; const createProject = require('../../../api/components').createProject as jest.Mock<any>; diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/DeleteModal-test.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/DeleteModal-test.tsx index 9347161a6f2..7683448ed02 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/DeleteModal-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/DeleteModal-test.tsx @@ -25,8 +25,8 @@ jest.mock('../../../api/components', () => ({ import * as React from 'react'; import { shallow } from 'enzyme'; import DeleteModal, { Props } from '../DeleteModal'; -import { click } from '../../../helpers/testUtils'; -import { parseDate } from '../../../helpers/dates'; +import { click } from 'sonar-ui-common/helpers/testUtils'; +import { parseDate } from 'sonar-ui-common/helpers/dates'; const bulkDeleteProjects = require('../../../api/components').bulkDeleteProjects as jest.Mock<any>; diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/Header-test.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/Header-test.tsx index e0314ee5e53..28c593e890c 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/Header-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/Header-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import Header, { Props } from '../Header'; -import { click } from '../../../helpers/testUtils'; jest.mock('../../../helpers/system', () => ({ isSonarCloud: jest.fn().mockReturnValue(false) })); diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/ProjectRowActions-test.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/ProjectRowActions-test.tsx index dc1c3a04694..93acc646f66 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/ProjectRowActions-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/ProjectRowActions-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click, waitAndUpdate } from 'sonar-ui-common/helpers/testUtils'; import ProjectRowActions, { Props } from '../ProjectRowActions'; -import { click, waitAndUpdate } from '../../../helpers/testUtils'; import { Project } from '../../../api/components'; jest.mock('../../../api/components', () => ({ diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/Search-test.tsx b/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/Search-test.tsx index bd9d701f2dd..b78e61297db 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/Search-test.tsx +++ b/server/sonar-web/src/main/js/apps/projectsManagement/__tests__/Search-test.tsx @@ -19,8 +19,8 @@ */ import * as React from 'react'; import { shallow } from 'enzyme'; +import { click } from 'sonar-ui-common/helpers/testUtils'; import Search, { Props } from '../Search'; -import { click } from '../../../helpers/testUtils'; const organization: T.Organization = { key: 'org', name: 'org', projectVisibility: 'public' }; diff --git a/server/sonar-web/src/main/js/apps/projectsManagement/routes.ts b/server/sonar-web/src/main/js/apps/projectsManagement/routes.ts index e8fbb4ccc8f..09ea09a60d9 100644 --- a/server/sonar-web/src/main/js/apps/projectsManagement/routes.ts +++ b/server/sonar-web/src/main/js/apps/projectsManagement/routes.ts @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import { lazyLoad } from '../../components/lazyLoad'; +import { lazyLoad } from 'sonar-ui-common/components/lazyLoad'; const routes = [ { |