*/
// @flow
import React from 'react';
-import Modal from 'react-modal';
import classNames from 'classnames';
import LinksHelp from './LinksHelp';
import LinksHelpSonarCloud from './LinksHelpSonarCloud';
import ShortcutsHelp from './ShortcutsHelp';
import TutorialsHelp from './TutorialsHelp';
+import Modal from '../../../components/controls/Modal';
import { translate } from '../../../helpers/l10n';
/*::
render() {
return (
- <Modal
- isOpen={true}
- contentLabel={translate('help')}
- className="modal modal-medium"
- overlayClassName="modal-overlay"
- onRequestClose={this.props.onClose}>
+ <Modal contentLabel={translate('help')} medium={true} onRequestClose={this.props.onClose}>
<div className="modal-head">
<h2>{translate('help')}</h2>
</div>
exports[`does not show tutorials for anonymous 1`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal modal-medium"
- closeTimeoutMS={0}
contentLabel="help"
- isOpen={true}
+ medium={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<div
className="modal-head"
+++ /dev/null
-/*
- * SonarQube
- * Copyright (C) 2009-2017 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.
- */
-.Select {
- position: relative;
- display: inline-block;
- vertical-align: middle;
- font-size: var(--smallFontSize);
- text-align: left;
-}
-
-.Select,
-.Select div,
-.Select input,
-.Select span {
- box-sizing: border-box;
-}
-
-.Select.is-disabled > .Select-control {
- background-color: #f9f9f9;
-}
-
-.Select.is-disabled > .Select-control:hover {
- box-shadow: none;
-}
-
-.Select.is-disabled .Select-arrow-zone {
- cursor: default;
- pointer-events: none;
-}
-
-.Select-control {
- position: relative;
- display: table;
- width: 100%;
- height: var(--controlHeight);
- border: 1px solid var(--gray80);
- border-collapse: separate;
- border-radius: 2px;
- background-color: #fff;
- color: var(--baseFontColor);
- cursor: default;
- outline: none;
- overflow: hidden;
-}
-
-.is-searchable.is-open > .Select-control {
- cursor: text;
-}
-
-.is-open > .Select-control {
- border-bottom-right-radius: 0;
- border-bottom-left-radius: 0;
- background: #fff;
-}
-
-.is-open > .Select-control > .Select-arrow {
- border-color: transparent transparent #999;
- border-width: 0 5px 5px;
-}
-
-.is-searchable.is-focused:not(.is-open) > .Select-control {
- cursor: text;
-}
-
-.is-focused:not(.is-open) > .Select-control {
- border-color: var(--blue);
-}
-
-.Select-placeholder,
-:not(.Select--multi) > .Select-control .Select-value {
- bottom: 0;
- left: 0;
- line-height: 23px;
- padding-left: 8px;
- padding-right: 24px;
- position: absolute;
- right: 0;
- top: 0;
- max-width: 100%;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
-}
-
-.Select-value svg,
-.Select-value [class^='icon-'] {
- padding-top: 5px;
-}
-
-.Select-value img {
- padding-top: 3px;
-}
-
-.Select-option svg,
-.Select-option img,
-.Select-option [class^='icon-'] {
- padding-top: 2px;
-}
-
-.has-value:not(.Select--multi) > .Select-control > .Select-value .Select-value-label,
-.has-value.is-pseudo-focused:not(.Select--multi)
- > .Select-control
- > .Select-value
- .Select-value-label {
- color: var(--baseFontColor);
-}
-
-.has-value:not(.Select--multi) > .Select-control > .Select-value a.Select-value-label,
-.has-value.is-pseudo-focused:not(.Select--multi)
- > .Select-control
- > .Select-value
- a.Select-value-label {
- cursor: pointer;
- text-decoration: none;
-}
-
-.has-value:not(.Select--multi) > .Select-control > .Select-value a.Select-value-label:hover,
-.has-value.is-pseudo-focused:not(.Select--multi)
- > .Select-control
- > .Select-value
- a.Select-value-label:hover,
-.has-value:not(.Select--multi) > .Select-control > .Select-value a.Select-value-label:focus,
-.has-value.is-pseudo-focused:not(.Select--multi)
- > .Select-control
- > .Select-value
- a.Select-value-label:focus {
- color: #007eff;
- outline: none;
- text-decoration: underline;
-}
-
-.Select-input {
- vertical-align: top;
- height: 22px;
- padding-left: 8px;
- padding-right: 8px;
- outline: none;
-}
-
-.Select-input > input {
- background: none transparent;
- border: 0 none;
- cursor: default;
- display: inline-block;
- font-family: inherit;
- font-size: var(--smallFontSize);
- height: 22px;
- margin: 0;
- outline: none;
- padding: 0;
- -webkit-appearance: none;
-}
-
-.is-focused .Select-input > input {
- cursor: text;
-}
-
-.has-value.is-pseudo-focused .Select-input {
- opacity: 0;
-}
-
-.Select-control:not(.is-searchable) > .Select-input {
- outline: none;
-}
-
-.Select-loading-zone {
- cursor: pointer;
- display: table-cell;
- position: relative;
- text-align: center;
- vertical-align: middle;
- width: 16px;
-}
-
-.Select-loading {
- -webkit-animation: Select-animation-spin 400ms infinite linear;
- -o-animation: Select-animation-spin 400ms infinite linear;
- animation: Select-animation-spin 400ms infinite linear;
- width: 16px;
- height: 16px;
- box-sizing: border-box;
- border-radius: 50%;
- border: 2px solid #ccc;
- border-right-color: var(--baseFontColor);
- display: inline-block;
- position: relative;
- vertical-align: middle;
-}
-
-.Select-clear-zone {
- -webkit-animation: Select-animation-fadeIn 200ms;
- -o-animation: Select-animation-fadeIn 200ms;
- animation: Select-animation-fadeIn 200ms;
- color: #999;
- cursor: pointer;
- display: table-cell;
- position: relative;
- text-align: center;
- vertical-align: middle;
- width: 9px;
- padding-left: 4px;
- padding-right: 4px;
-}
-
-.Select-clear-zone:hover .Select-clear {
- background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj48c3ZnIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAxNCAxNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEuNDE0MjE7Ij4gICAgPGcgdHJhbnNmb3JtPSJtYXRyaXgoMC4wMjM0Mzc1LDAsMCwwLjAyMzQzNzUsLTUuMDE1NjIsLTUuMDE1NjIpIj4gICAgICAgIDxwYXRoIGQ9Ik04MTAsMjc0TDU3Miw1MTJMODEwLDc1MEw3NTAsODEwTDUxMiw1NzJMMjc0LDgxMEwyMTQsNzUwTDQ1Miw1MTJMMjE0LDI3NEwyNzQsMjE0TDUxMiw0NTJMNzUwLDIxNEw4MTAsMjc0WiIgc3R5bGU9ImZpbGw6cmdiKDIzMSwyMCw1Nik7ZmlsbC1ydWxlOm5vbnplcm87Ii8+ICAgIDwvZz48L3N2Zz4=);
-}
-
-.Select-clear {
- display: block;
- width: 9px;
- height: 9px;
- background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj48c3ZnIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAxNCAxNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEuNDE0MjE7Ij4gICAgPGcgdHJhbnNmb3JtPSJtYXRyaXgoMC4wMjM0Mzc1LDAsMCwwLjAyMzQzNzUsLTUuMDE1NjIsLTUuMDE1NjIpIj4gICAgICAgIDxwYXRoIGQ9Ik04MTAsMjc0TDU3Miw1MTJMODEwLDc1MEw3NTAsODEwTDUxMiw1NzJMMjc0LDgxMEwyMTQsNzUwTDQ1Miw1MTJMMjE0LDI3NEwyNzQsMjE0TDUxMiw0NTJMNzUwLDIxNEw4MTAsMjc0WiIgc3R5bGU9ImZpbGw6cmdiKDE1MywxNTMsMTUzKTtmaWxsLXJ1bGU6bm9uemVybzsiLz4gICAgPC9nPjwvc3ZnPg==);
- background-size: 9px 9px;
- text-indent: -9999px;
-}
-
-.Select--multi .Select-clear-zone {
- width: 17px;
-}
-
-.Select-arrow-zone {
- cursor: pointer;
- display: table-cell;
- position: relative;
- text-align: center;
- vertical-align: middle;
- width: 20px;
- padding-right: 5px;
-}
-
-.Select-arrow {
- border-color: #999 transparent transparent;
- border-style: solid;
- border-width: 4px 4px 2px;
- display: inline-block;
- height: 0;
- width: 0;
-}
-
-.is-open .Select-arrow,
-.Select-arrow-zone:hover > .Select-arrow {
- border-top-color: #666;
-}
-
-@-webkit-keyframes Select-animation-fadeIn {
- from {
- opacity: 0;
- }
-
- to {
- opacity: 1;
- }
-}
-
-@keyframes Select-animation-fadeIn {
- from {
- opacity: 0;
- }
-
- to {
- opacity: 1;
- }
-}
-
-.Select-menu-outer {
- border-bottom-right-radius: 4px;
- border-bottom-left-radius: 4px;
- background-color: #fff;
- border: 1px solid #ccc;
- border-top-color: var(--barBorderColor);
- box-sizing: border-box;
- margin-top: -1px;
- max-height: 200px;
- position: absolute;
- top: 100%;
- width: 100%;
- z-index: var(--dropdownMenuZIndex);
- -webkit-overflow-scrolling: touch;
- box-shadow: var(--defaultShadow);
-}
-
-.Select-menu {
- max-height: 198px;
- padding: 5px 0;
- overflow-y: auto;
-}
-
-.Select-option {
- display: block;
- line-height: 20px;
- padding: 0 8px;
- box-sizing: border-box;
- color: var(--baseFontColor);
- font-size: var(--smallFontSize);
- cursor: pointer;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
-}
-
-.Select-option:last-child {
- border-bottom-right-radius: 2px;
- border-bottom-left-radius: 2px;
-}
-
-.Select-option.is-focused {
- background-color: var(--barBackgroundColor);
-}
-
-.Select-option.is-disabled {
- font-weight: 600;
- cursor: default;
-}
-
-.Select-noresults {
- box-sizing: border-box;
- color: #999;
- cursor: default;
- display: block;
- padding: 8px 10px;
-}
-
-.Select--multi .Select-value {
- background-color: rgba(0, 126, 255, 0.08);
- border-radius: 2px;
- border: 1px solid rgba(0, 126, 255, 0.24);
- color: var(--baseFontColor);
- display: inline-block;
- font-size: var(--smallFontSize);
- line-height: 14px;
- margin: 1px 4px 1px 1px;
- vertical-align: top;
-}
-
-.Select-value-label {
- font-size: var(--smallFontSize);
-}
-
-.is-searchable.is-open .Select-value-label {
- opacity: 0.5;
-}
-
-.Select-big .Select-control {
- padding-top: 4px;
- padding-bottom: 4px;
-}
-
-.Select-big .Select-placeholder {
- margin-top: 4px;
- margin-bottom: 4px;
-}
-
-.Select-big .Select-value-label {
- display: inline-block;
- margin-top: 7px;
- line-height: 16px;
-}
-
-.Select-big .Select-option {
- padding: 7px 8px;
- line-height: 16px;
-}
-
-.Select-big img,
-.Select-big svg {
- padding-top: 0;
-}
-
-.Select--multi .Select-value-icon,
-.Select--multi .Select-value-label {
- display: inline-block;
- vertical-align: middle;
-}
-
-.Select--multi .Select-value-label {
- border-bottom-right-radius: 2px;
- border-top-right-radius: 2px;
- cursor: default;
- padding: 2px 5px;
-}
-
-.Select--multi a.Select-value-label {
- color: #007eff;
- cursor: pointer;
- text-decoration: none;
-}
-
-.Select--multi a.Select-value-label:hover {
- text-decoration: underline;
-}
-
-.Select--multi .Select-value-icon {
- cursor: pointer;
- border-bottom-left-radius: 2px;
- border-top-left-radius: 2px;
- border-right: 1px solid rgba(0, 126, 255, 0.24);
- padding: 1px 5px 3px;
-}
-
-.Select--multi .Select-value-icon:hover,
-.Select--multi .Select-value-icon:focus {
- background-color: rgba(0, 113, 230, 0.08);
- color: #0071e6;
-}
-
-.Select--multi .Select-value-icon:active {
- background-color: rgba(0, 126, 255, 0.24);
-}
-
-.Select--multi.is-disabled .Select-value {
- background-color: #fcfcfc;
- border: 1px solid #e3e3e3;
- color: var(--baseFontColor);
-}
-
-.Select--multi.is-disabled .Select-value-icon {
- cursor: not-allowed;
- border-right: 1px solid #e3e3e3;
-}
-
-.Select--multi.is-disabled .Select-value-icon:hover,
-.Select--multi.is-disabled .Select-value-icon:focus,
-.Select--multi.is-disabled .Select-value-icon:active {
- background-color: #fcfcfc;
-}
-
-.Select-aria-only {
- display: none;
-}
-
-@keyframes Select-animation-spin {
- to {
- transform: rotate(1turn);
- }
-}
-
-@-webkit-keyframes Select-animation-spin {
- to {
- -webkit-transform: rotate(1turn);
- }
-}
@import './components/badges.css';
@import './components/columns.css';
@import './components/search.css';
-@import './components/react-select.css';
@import './components/side-tabs.css';
@import './components/boxed-group.css';
*/
import * as ReactRedux from 'react-redux';
import * as ReactRouter from 'react-router';
-import Select from 'react-select';
-import Modal from 'react-modal';
import throwGlobalError from './throwGlobalError';
import * as measures from '../../helpers/measures';
import * as request from '../../helpers/request';
import FavoriteContainer from '../../components/controls/FavoriteContainer';
import LicenseEditionSet from '../../apps/marketplace/components/LicenseEditionSet';
import ListFooter from '../../components/controls/ListFooter';
+import Modal from '../../components/controls/Modal';
+import Select from '../../components/controls/Select';
import Tooltip from '../../components/controls/Tooltip';
import ModalForm from '../../components/common/modal-form';
import SelectList from '../../components/SelectList';
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import React from 'react';
-import Select from 'react-select';
import { connect } from 'react-redux';
import { differenceBy } from 'lodash';
import ProjectNotifications from './ProjectNotifications';
+import Select, { AsyncSelect } from '../../../components/controls/Select';
import Organization from '../../../components/shared/Organization';
import { translate } from '../../../helpers/l10n';
import { getSuggestions } from '../../../api/components';
<span className="text-middle spacer-right">
{translate('my_account.set_notifications_for')}:
</span>
- <Select.Async
+ <AsyncSelect
autoload={false}
cache={false}
name="new_project"
my_account.set_notifications_for
:
</span>
- <Async
+ <AsyncSelect
autoload={false}
cache={false}
- ignoreAccents={true}
- ignoreCase={true}
loadOptions={[Function]}
- loadingPlaceholder="Loading..."
minimumInput={2}
name="new_project"
onChange={[Function]}
optionRenderer={[Function]}
- options={Array []}
placeholder="my_account.search_project"
- searchPromptText="Type to search"
style={
Object {
"width": "300px",
my_account.set_notifications_for
:
</span>
- <Async
+ <AsyncSelect
autoload={false}
cache={false}
- ignoreAccents={true}
- ignoreCase={true}
loadOptions={[Function]}
- loadingPlaceholder="Loading..."
minimumInput={2}
name="new_project"
onChange={[Function]}
optionRenderer={[Function]}
- options={Array []}
placeholder="my_account.search_project"
- searchPromptText="Type to search"
style={
Object {
"width": "300px",
my_account.set_notifications_for
:
</span>
- <Async
+ <AsyncSelect
autoload={false}
cache={false}
- ignoreAccents={true}
- ignoreCase={true}
loadOptions={[Function]}
- loadingPlaceholder="Loading..."
minimumInput={2}
name="new_project"
onChange={[Function]}
optionRenderer={[Function]}
- options={Array []}
placeholder="my_account.search_project"
- searchPromptText="Type to search"
style={
Object {
"width": "300px",
*/
// @flow
import React from 'react';
-import Modal from 'react-modal';
import { debounce } from 'lodash';
import { connect } from 'react-redux';
import { withRouter } from 'react-router';
+import Modal from '../../../components/controls/Modal';
import { translate } from '../../../helpers/l10n';
import { createOrganization } from '../../organizations/actions';
render() {
return (
- <Modal
- isOpen={true}
- contentLabel="modal form"
- className="modal"
- overlayClassName="modal-overlay"
- onRequestClose={this.closeForm}>
+ <Modal contentLabel="modal form" onRequestClose={this.closeForm}>
<header className="modal-head">
<h2>{translate('my_account.create_organization')}</h2>
</header>
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import * as React from 'react';
-import * as Modal from 'react-modal';
import { getTask } from '../../../api/ce';
import { translate } from '../../../helpers/l10n';
import { Task } from '../types';
+import Modal from '../../../components/controls/Modal';
interface Props {
onClose: () => void;
const { scannerContext } = this.state;
return (
- <Modal
- isOpen={true}
- contentLabel="scanner context"
- className="modal modal-large"
- overlayClassName="modal-overlay"
- onRequestClose={this.props.onClose}>
+ <Modal contentLabel="scanner context" large={true} onRequestClose={this.props.onClose}>
<div className="modal-head">
<h2>
{translate('background_tasks.scanner_context')}
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import * as React from 'react';
-import * as Modal from 'react-modal';
import { getTask } from '../../../api/ce';
import { translate } from '../../../helpers/l10n';
+import Modal from '../../../components/controls/Modal';
import { Task } from '../types';
interface Props {
const { loading, stacktrace } = this.state;
return (
- <Modal
- isOpen={true}
- contentLabel="stacktrace"
- className="modal modal-large"
- overlayClassName="modal-overlay"
- onRequestClose={this.props.onClose}>
+ <Modal contentLabel="stacktrace" large={true} onRequestClose={this.props.onClose}>
<div className="modal-head">
<h2>
{translate('background_tasks.error_stacktrace')}
*/
/* @flow */
import React from 'react';
-import Select from 'react-select';
import { STATUSES } from '../constants';
+import Select from '../../../components/controls/Select';
import { translate } from '../../../helpers/l10n';
const StatusFilter = ({ value, onChange } /*: { value: ?string, onChange: Function } */) => {
*/
/* @flow */
import React from 'react';
-import Select from 'react-select';
import { ALL_TYPES } from '../constants';
+import Select from '../../../components/controls/Select';
import { translate } from '../../../helpers/l10n';
const TypesFilter = (
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import * as React from 'react';
-import * as Modal from 'react-modal';
-import Select from 'react-select';
import { times } from 'lodash';
import { setWorkerCount } from '../../../api/ce';
+import Modal from '../../../components/controls/Modal';
+import Select from '../../../components/controls/Select';
import { translate } from '../../../helpers/l10n';
const MAX_WORKERS = 10;
return (
<Modal
- isOpen={true}
contentLabel={translate('background_tasks.change_number_of_workers')}
- className="modal"
- overlayClassName="modal-overlay"
onRequestClose={this.handleClose}>
<header className="modal-head">
<h2>{translate('background_tasks.change_number_of_workers')}</h2>
exports[`renders 1`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal modal-large"
- closeTimeoutMS={0}
contentLabel="scanner context"
- isOpen={true}
+ large={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<div
className="modal-head"
exports[`renders 1`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal modal-large"
- closeTimeoutMS={0}
contentLabel="stacktrace"
- isOpen={true}
+ large={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<div
className="modal-head"
exports[`changes select 1`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="background_tasks.change_number_of_workers"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<header
className="modal-head"
className="modal-body"
>
<Select
- addLabelText="Add \\"{label}\\"?"
- arrowRenderer={[Function]}
- autosize={true}
- backspaceRemoves={true}
- backspaceToRemoveMessage="Press backspace to remove {label}"
className="input-tiny spacer-top"
- clearAllText="Clear all"
- clearRenderer={[Function]}
- clearValueText="Clear value"
clearable={false}
- closeOnSelect={true}
- deleteRemoves={true}
- delimiter=","
- disabled={false}
- escapeClearsValue={true}
- filterOptions={[Function]}
- ignoreAccents={true}
- ignoreCase={true}
- inputProps={Object {}}
- isLoading={false}
- joinValues={false}
- labelKey="label"
- matchPos="any"
- matchProp="any"
- menuBuffer={0}
- menuRenderer={[Function]}
- multi={false}
- noResultsText="No results found"
- onBlurResetsInput={true}
onChange={[Function]}
- onCloseResetsInput={true}
- onSelectResetsInput={true}
- openOnClick={true}
- optionComponent={[Function]}
options={
Array [
Object {
},
]
}
- pageSize={5}
- placeholder="Select..."
- required={false}
- scrollMenuIntoView={true}
searchable={false}
- simpleValue={false}
- tabSelectsValue={true}
value={1}
- valueComponent={[Function]}
- valueKey="value"
/>
<div
className="big-spacer-top alert alert-success markdown"
exports[`changes select 2`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="background_tasks.change_number_of_workers"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<header
className="modal-head"
className="modal-body"
>
<Select
- addLabelText="Add \\"{label}\\"?"
- arrowRenderer={[Function]}
- autosize={true}
- backspaceRemoves={true}
- backspaceToRemoveMessage="Press backspace to remove {label}"
className="input-tiny spacer-top"
- clearAllText="Clear all"
- clearRenderer={[Function]}
- clearValueText="Clear value"
clearable={false}
- closeOnSelect={true}
- deleteRemoves={true}
- delimiter=","
- disabled={false}
- escapeClearsValue={true}
- filterOptions={[Function]}
- ignoreAccents={true}
- ignoreCase={true}
- inputProps={Object {}}
- isLoading={false}
- joinValues={false}
- labelKey="label"
- matchPos="any"
- matchProp="any"
- menuBuffer={0}
- menuRenderer={[Function]}
- multi={false}
- noResultsText="No results found"
- onBlurResetsInput={true}
onChange={[Function]}
- onCloseResetsInput={true}
- onSelectResetsInput={true}
- openOnClick={true}
- optionComponent={[Function]}
options={
Array [
Object {
},
]
}
- pageSize={5}
- placeholder="Select..."
- required={false}
- scrollMenuIntoView={true}
searchable={false}
- simpleValue={false}
- tabSelectsValue={true}
value={7}
- valueComponent={[Function]}
- valueKey="value"
/>
<div
className="big-spacer-top alert alert-success markdown"
*/
// @flow
import React from 'react';
-import Select from 'react-select';
import ListIcon from '../../../components/icons-components/ListIcon';
import TreeIcon from '../../../components/icons-components/TreeIcon';
import TreemapIcon from '../../../components/icons-components/TreemapIcon';
+import Select from '../../../components/controls/Select';
import { hasList, hasTree, hasTreemap } from '../utils';
import { translate } from '../../../helpers/l10n';
/*:: import type { Metric } from '../../../store/metrics/actions'; */
exports[`should display correctly with treemap option 1`] = `
<Select
- addLabelText="Add \\"{label}\\"?"
- arrowRenderer={[Function]}
autoBlur={true}
- autosize={true}
- backspaceRemoves={true}
- backspaceToRemoveMessage="Press backspace to remove {label}"
- clearAllText="Clear all"
- clearRenderer={[Function]}
- clearValueText="Clear value"
clearable={false}
- closeOnSelect={true}
- deleteRemoves={true}
- delimiter=","
- disabled={false}
- escapeClearsValue={true}
- filterOptions={[Function]}
- ignoreAccents={true}
- ignoreCase={true}
- inputProps={Object {}}
- isLoading={false}
- joinValues={false}
- labelKey="label"
- matchPos="any"
- matchProp="any"
- menuBuffer={0}
- menuRenderer={[Function]}
- multi={false}
- noResultsText="No results found"
- onBlurResetsInput={true}
onChange={[Function]}
- onCloseResetsInput={true}
- onSelectResetsInput={true}
- openOnClick={true}
- optionComponent={[Function]}
options={
Array [
Object {
},
]
}
- pageSize={5}
- placeholder="Select..."
- required={false}
- scrollMenuIntoView={true}
searchable={false}
- simpleValue={false}
- tabSelectsValue={true}
value="tree"
- valueComponent={[Function]}
- valueKey="value"
valueRenderer={[Function]}
/>
`;
*/
// @flow
import React from 'react';
-import Modal from 'react-modal';
-import Select, { Creatable } from 'react-select';
import { pickBy, sortBy } from 'lodash';
import SearchSelect from '../../../components/controls/SearchSelect';
import Checkbox from '../../../components/controls/Checkbox';
+import Modal from '../../../components/controls/Modal';
+import Select, { Creatable } from '../../../components/controls/Select';
import Tooltip from '../../../components/controls/Tooltip';
import MarkdownTips from '../../../components/common/MarkdownTips';
import SeverityHelper from '../../../components/shared/SeverityHelper';
render() {
return (
- <Modal
- isOpen={true}
- contentLabel="modal"
- className="modal"
- overlayClassName="modal-overlay"
- onRequestClose={this.props.onClose}>
+ <Modal contentLabel="modal" onRequestClose={this.props.onClose}>
{this.state.loading ? this.renderLoading() : this.renderForm()}
</Modal>
);
*/
// @flow
import React from 'react';
-import Select from 'react-select';
import { connect } from 'react-redux';
+import Select from '../../../components/controls/Select';
import { translate } from '../../../helpers/l10n';
import { getLanguages } from '../../../store/rootReducer';
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import * as React from 'react';
-import * as Modal from 'react-modal';
import LicenseEditionSet from './LicenseEditionSet';
import { Edition, EditionStatus, applyLicense } from '../../../api/marketplace';
+import Modal from '../../../components/controls/Modal';
import { translate, translateWithParameters } from '../../../helpers/l10n';
export interface Props {
? translateWithParameters('marketplace.downgrade_to_x', edition.name)
: translateWithParameters('marketplace.upgrade_to_x', edition.name);
return (
- <Modal
- isOpen={true}
- contentLabel={header}
- className="modal"
- overlayClassName="modal-overlay"
- onRequestClose={this.props.onClose}>
+ <Modal contentLabel={header} onRequestClose={this.props.onClose}>
<header className="modal-head">
<h2>{header}</h2>
</header>
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import * as React from 'react';
-import * as Modal from 'react-modal';
import { Edition, EditionStatus, uninstallEdition } from '../../../api/marketplace';
+import Modal from '../../../components/controls/Modal';
import { translate, translateWithParameters } from '../../../helpers/l10n';
export interface Props {
const currentEdition = edition ? edition.name : translate('marketplace.commercial_edition');
const header = translateWithParameters('marketplace.uninstall_x', currentEdition);
return (
- <Modal
- isOpen={true}
- contentLabel={header}
- className="modal"
- overlayClassName="modal-overlay"
- onRequestClose={this.props.onClose}>
+ <Modal contentLabel={header} onRequestClose={this.props.onClose}>
<header className="modal-head">
<h2>{header}</h2>
</header>
exports[`should display correctly 1`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="marketplace.upgrade_to_x.Foo"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<header
className="modal-head"
exports[`should display correctly 1`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="marketplace.uninstall_x.Foo"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<header
className="modal-head"
// @flow
import React from 'react';
import Helmet from 'react-helmet';
-import Modal from 'react-modal';
import { connect } from 'react-redux';
import { withRouter } from 'react-router';
+import Modal from '../../../components/controls/Modal';
import { translate } from '../../../helpers/l10n';
import { getOrganizationByKey } from '../../../store/rootReducer';
import { deleteOrganization } from '../actions';
renderModal() {
return (
- <Modal
- isOpen={true}
- contentLabel="modal form"
- className="modal"
- overlayClassName="modal-overlay"
- onRequestClose={this.handleCloseModal}>
+ <Modal contentLabel="modal form" onRequestClose={this.handleCloseModal}>
<header className="modal-head">
<h2>{translate('organization.delete')}</h2>
</header>
delete
</button>
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="modal form"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<header
className="modal-head"
delete
</button>
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="modal form"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<header
className="modal-head"
*/
// @flow
import React from 'react';
-import Modal from 'react-modal';
import UsersSelectSearch from '../../../users/components/UsersSelectSearch';
import { searchMembers } from '../../../../api/organizations';
+import Modal from '../../../../components/controls/Modal';
import { translate } from '../../../../helpers/l10n';
/*:: import type { Organization } from '../../../../store/organizations/duck'; */
/*:: import type { Member } from '../../../../store/organizationsMembers/actions'; */
renderModal() {
return (
- <Modal
- isOpen={true}
- contentLabel="modal form"
- className="modal"
- overlayClassName="modal-overlay"
- onRequestClose={this.closeForm}>
+ <Modal contentLabel="modal form" onRequestClose={this.closeForm}>
<header className="modal-head">
<h2>{translate('users.add')}</h2>
</header>
*/
// @flow
import React from 'react';
-import Modal from 'react-modal';
import { keyBy, pickBy } from 'lodash';
import { getUserGroups } from '../../../../api/users';
+import Modal from '../../../../components/controls/Modal';
import { translate, translateWithParameters } from '../../../../helpers/l10n';
import OrganizationGroupCheckbox from '../OrganizationGroupCheckbox';
/*:: import type { Member } from '../../../../store/organizationsMembers/actions'; */
renderModal() {
return (
- <Modal
- isOpen={true}
- contentLabel="modal form"
- className="modal"
- overlayClassName="modal-overlay"
- onRequestClose={this.closeForm}>
+ <Modal contentLabel="modal form" onRequestClose={this.closeForm}>
<header className="modal-head">
<h2>{translate('organization.members.manage_groups')}</h2>
</header>
*/
// @flow
import React from 'react';
-import Modal from 'react-modal';
+import Modal from '../../../../components/controls/Modal';
import { translate, translateWithParameters } from '../../../../helpers/l10n';
/*:: import type { Member } from '../../../../store/organizationsMembers/actions'; */
/*:: import type { Organization } from '../../../../store/organizations/duck'; */
renderModal() {
return (
- <Modal
- isOpen={true}
- contentLabel="modal form"
- className="modal"
- overlayClassName="modal-overlay"
- onRequestClose={this.closeForm}>
+ <Modal contentLabel="modal form" onRequestClose={this.closeForm}>
<header className="modal-head">
<h2>{translate('users.remove')}</h2>
</header>
>
organization.members.add
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="modal form"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<header
className="modal-head"
>
organization.members.manage_groups
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="modal form"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<header
className="modal-head"
>
organization.members.remove
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="modal form"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<header
className="modal-head"
*/
// @flow
import React from 'react';
-import Modal from 'react-modal';
+import Modal from '../../../../components/controls/Modal';
import { translate, translateWithParameters } from '../../../../helpers/l10n';
/*::
const { qualifier } = this.props.component;
return (
- <Modal
- isOpen={true}
- contentLabel="modal form"
- className="modal"
- overlayClassName="modal-overlay"
- onRequestClose={this.props.onClose}>
+ <Modal contentLabel="modal form" onRequestClose={this.props.onClose}>
<header className="modal-head">
<h2>
{translateWithParameters('projects_role.turn_x_to_public', this.props.component.name)}
*/
import React from 'react';
import PropTypes from 'prop-types';
-import Modal from 'react-modal';
import { deleteProject, deletePortfolio } from '../../../api/components';
+import Modal from '../../../components/controls/Modal';
import { translate, translateWithParameters } from '../../../helpers/l10n';
export default class Form extends React.PureComponent {
</button>
{this.state.modalOpen && (
- <Modal
- isOpen={true}
- contentLabel="project deletion"
- className="modal"
- overlayClassName="modal-overlay"
- onRequestClose={this.closeModal}>
+ <Modal contentLabel="project deletion" onRequestClose={this.closeModal}>
<form onSubmit={this.handleSubmit}>
<div className="modal-head">
<h2>{translate('qualifier.delete.TRK')}</h2>
*/
// @flow
import React from 'react';
-import Select from 'react-select';
import AddGraphMetric from './forms/AddGraphMetric';
import { isCustomGraph, GRAPH_TYPES } from '../utils';
+import Select from '../../../components/controls/Select';
import { translate } from '../../../helpers/l10n';
/*:: import type { Metric } from '../types'; */
*/
// @flow
import React from 'react';
-import Select from 'react-select';
import ProjectActivityEventSelectOption from './ProjectActivityEventSelectOption';
import ProjectActivityEventSelectValue from './ProjectActivityEventSelectValue';
import ProjectActivityDateInput from './ProjectActivityDateInput';
import { EVENT_TYPES, APPLICATION_EVENT_TYPES } from '../utils';
+import Select from '../../../components/controls/Select';
import { translate } from '../../../helpers/l10n';
/*:: import type { RawQuery } from '../../../helpers/query'; */
className="page-header"
>
<Select
- addLabelText="Add \\"{label}\\"?"
- arrowRenderer={[Function]}
- autosize={true}
- backspaceRemoves={true}
- backspaceToRemoveMessage="Press backspace to remove {label}"
className="input-medium pull-left big-spacer-right"
- clearAllText="Clear all"
- clearRenderer={[Function]}
- clearValueText="Clear value"
clearable={true}
- closeOnSelect={true}
- deleteRemoves={true}
- delimiter=","
- disabled={false}
- escapeClearsValue={true}
- filterOptions={[Function]}
- ignoreAccents={true}
- ignoreCase={true}
- inputProps={Object {}}
- isLoading={false}
- joinValues={false}
- labelKey="label"
- matchPos="any"
- matchProp="any"
- menuBuffer={0}
- menuRenderer={[Function]}
- multi={false}
- noResultsText="No results found"
- onBlurResetsInput={true}
onChange={[Function]}
- onCloseResetsInput={true}
- onSelectResetsInput={true}
- openOnClick={true}
optionComponent={[Function]}
options={
Array [
},
]
}
- pageSize={5}
placeholder="project_activity.filter_events..."
- required={false}
- scrollMenuIntoView={true}
searchable={false}
- simpleValue={false}
- tabSelectsValue={true}
value=""
valueComponent={[Function]}
- valueKey="value"
/>
<ProjectActivityDateInput
className="pull-left"
*/
// @flow
import React from 'react';
-import Modal from 'react-modal';
+import Modal from '../../../../components/controls/Modal';
import { translate } from '../../../../helpers/l10n';
/*:: import type { Analysis } from '../../types'; */
renderModal() {
return (
- <Modal
- isOpen={true}
- contentLabel="modal form"
- className="modal"
- overlayClassName="modal-overlay"
- onRequestClose={this.closeForm}>
+ <Modal contentLabel="modal form" onRequestClose={this.closeForm}>
<header className="modal-head">
<h2>{translate(this.props.addEventButtonText)}</h2>
</header>
// @flow
import React from 'react';
import classNames from 'classnames';
-import Modal from 'react-modal';
-import Select from 'react-select';
+import Modal from '../../../../components/controls/Modal';
+import Select from '../../../../components/controls/Select';
import Tooltip from '../../../../components/controls/Tooltip';
import { isDiffMetric } from '../../../../helpers/measures';
import {
renderModal() {
const { metricsTypeFilter } = this.props;
return (
- <Modal
- isOpen={true}
- contentLabel="graph metric add"
- className="modal"
- overlayClassName="modal-overlay"
- onRequestClose={this.closeForm}>
+ <Modal contentLabel="graph metric add" onRequestClose={this.closeForm}>
<header className="modal-head">
<h2>{translate('project_activity.graphs.custom.add_metric')}</h2>
</header>
*/
// @flow
import React from 'react';
-import Modal from 'react-modal';
+import Modal from '../../../../components/controls/Modal';
import { translate } from '../../../../helpers/l10n';
/*:: import type { Event } from '../../types'; */
render() {
return (
- <Modal
- isOpen={true}
- contentLabel="modal form"
- className="modal"
- overlayClassName="modal-overlay"
- onRequestClose={this.closeForm}>
+ <Modal contentLabel="modal form" onRequestClose={this.closeForm}>
<header className="modal-head">
<h2>{translate(this.props.changeEventButtonText)}</h2>
</header>
*/
// @flow
import React from 'react';
-import Modal from 'react-modal';
+import Modal from '../../../../components/controls/Modal';
import { translate } from '../../../../helpers/l10n';
/*:: import type { Analysis } from '../../types'; */
renderModal() {
return (
- <Modal
- isOpen={true}
- contentLabel="modal form"
- className="modal"
- overlayClassName="modal-overlay"
- onRequestClose={this.closeForm}>
+ <Modal contentLabel="modal form" onRequestClose={this.closeForm}>
<header className="modal-head">
<h2>{translate('project_activity.delete_analysis')}</h2>
</header>
*/
// @flow
import React from 'react';
-import Modal from 'react-modal';
+import Modal from '../../../../components/controls/Modal';
import { translate } from '../../../../helpers/l10n';
/*:: import type { Event } from '../../types'; */
render() {
return (
- <Modal
- isOpen={true}
- contentLabel="modal form"
- className="modal"
- overlayClassName="modal-overlay"
- onRequestClose={this.closeForm}>
+ <Modal contentLabel="modal form" onRequestClose={this.closeForm}>
<header className="modal-head">
<h2>{translate(this.props.removeEventButtonText)}</h2>
</header>
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import * as React from 'react';
-import * as Modal from 'react-modal';
import { deleteBranch } from '../../../api/branches';
import { Branch } from '../../../app/types';
+import Modal from '../../../components/controls/Modal';
import { translate, translateWithParameters } from '../../../helpers/l10n';
interface Props {
const header = translate('branches.delete');
return (
- <Modal
- isOpen={true}
- contentLabel={header}
- className="modal"
- overlayClassName="modal-overlay"
- onRequestClose={this.props.onClose}>
+ <Modal contentLabel={header} onRequestClose={this.props.onClose}>
<header className="modal-head">
<h2>{header}</h2>
</header>
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import * as React from 'react';
-import * as Modal from 'react-modal';
import SettingForm from './SettingForm';
import { translate } from '../../../helpers/l10n';
import { getValues, SettingValue } from '../../../api/settings';
+import Modal from '../../../components/controls/Modal';
interface Props {
branch: string;
const header = translate('branches.set_leak_period');
return (
- <Modal
- isOpen={true}
- contentLabel={header}
- className="modal"
- overlayClassName="modal-overlay"
- onRequestClose={this.props.onClose}>
+ <Modal contentLabel={header} onRequestClose={this.props.onClose}>
<header className="modal-head">
<h2>{header}</h2>
</header>
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import * as React from 'react';
-import * as Modal from 'react-modal';
import SettingForm from './SettingForm';
import { translate } from '../../../helpers/l10n';
import { SettingValue } from '../../../api/settings';
+import Modal from '../../../components/controls/Modal';
interface Props {
onChange: () => void;
const header = translate('branches.detection_of_long_living_branches');
return (
- <Modal
- isOpen={true}
- contentLabel={header}
- className="modal"
- overlayClassName="modal-overlay"
- onRequestClose={props.onClose}>
+ <Modal contentLabel={header} onRequestClose={props.onClose}>
<header className="modal-head">
<h2>{header}</h2>
</header>
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import * as React from 'react';
-import * as Modal from 'react-modal';
import { renameBranch } from '../../../api/branches';
import { Branch } from '../../../app/types';
import { translate } from '../../../helpers/l10n';
+import Modal from '../../../components/controls/Modal';
interface Props {
branch: Branch;
this.state.loading || !this.state.name || this.state.name === branch.name;
return (
- <Modal
- isOpen={true}
- contentLabel={header}
- className="modal"
- overlayClassName="modal-overlay"
- onRequestClose={this.props.onClose}>
+ <Modal contentLabel={header} onRequestClose={this.props.onClose}>
<header className="modal-head">
<h2>{header}</h2>
</header>
exports[`renders 1`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="branches.delete"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<header
className="modal-head"
exports[`renders 2`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="branches.delete"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<header
className="modal-head"
exports[`renders 1`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="branches.detection_of_long_living_branches"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<header
className="modal-head"
exports[`renders 1`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="branches.rename"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<header
className="modal-head"
exports[`renders 2`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="branches.rename"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<header
className="modal-head"
exports[`renders 3`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="branches.rename"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<header
className="modal-head"
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import * as React from 'react';
-import Select from 'react-select';
import { some } from 'lodash';
import { QualityGate } from '../../api/quality-gates';
+import Select from '../../components/controls/Select';
import { translate } from '../../helpers/l10n';
interface Props {
exports[`renders 1`] = `
<div>
<Select
- addLabelText="Add \\"{label}\\"?"
- arrowRenderer={[Function]}
- autosize={true}
- backspaceRemoves={true}
- backspaceToRemoveMessage="Press backspace to remove {label}"
- clearAllText="Clear all"
- clearRenderer={[Function]}
- clearValueText="Clear value"
clearable={false}
- closeOnSelect={true}
- deleteRemoves={true}
- delimiter=","
disabled={false}
- escapeClearsValue={true}
- filterOptions={[Function]}
- ignoreAccents={true}
- ignoreCase={true}
- inputProps={Object {}}
- isLoading={false}
- joinValues={false}
- labelKey="label"
- matchPos="any"
- matchProp="any"
- menuBuffer={0}
- menuRenderer={[Function]}
- multi={false}
- noResultsText="No results found"
- onBlurResetsInput={true}
onChange={[Function]}
- onCloseResetsInput={true}
- onSelectResetsInput={true}
- openOnClick={true}
- optionComponent={[Function]}
optionRenderer={[Function]}
options={
Array [
},
]
}
- pageSize={5}
placeholder="none"
- required={false}
- scrollMenuIntoView={true}
- searchable={true}
- simpleValue={false}
style={
Object {
"width": 300,
}
}
- tabSelectsValue={true}
value="1"
- valueComponent={[Function]}
- valueKey="value"
valueRenderer={[Function]}
/>
</div>
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import * as React from 'react';
-import Select from 'react-select';
import { Profile } from '../../api/quality-profiles';
+import Select from '../../components/controls/Select';
import { translate } from '../../helpers/l10n';
interface Props {
className="thin nowrap"
>
<Select
- addLabelText="Add \\"{label}\\"?"
- arrowRenderer={[Function]}
- autosize={true}
- backspaceRemoves={true}
- backspaceToRemoveMessage="Press backspace to remove {label}"
- clearAllText="Clear all"
- clearRenderer={[Function]}
- clearValueText="Clear value"
clearable={false}
- closeOnSelect={true}
- deleteRemoves={true}
- delimiter=","
disabled={false}
- escapeClearsValue={true}
- filterOptions={[Function]}
- ignoreAccents={true}
- ignoreCase={true}
- inputProps={Object {}}
- isLoading={false}
- joinValues={false}
- labelKey="label"
- matchPos="any"
- matchProp="any"
- menuBuffer={0}
- menuRenderer={[Function]}
- multi={false}
- noResultsText="No results found"
- onBlurResetsInput={true}
onChange={[Function]}
- onCloseResetsInput={true}
- onSelectResetsInput={true}
- openOnClick={true}
- optionComponent={[Function]}
optionRenderer={[Function]}
options={
Array [
},
]
}
- pageSize={5}
- placeholder="Select..."
- required={false}
- scrollMenuIntoView={true}
- searchable={true}
- simpleValue={false}
style={
Object {
"width": 300,
}
}
- tabSelectsValue={true}
value="foo"
- valueComponent={[Function]}
- valueKey="value"
valueRenderer={[Function]}
/>
</td>
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import * as React from 'react';
-import Select from 'react-select';
import PerspectiveSelectOption, { Option } from './PerspectiveSelectOption';
+import Select from '../../../components/controls/Select';
import { translate } from '../../../helpers/l10n';
import { VIEWS, VISUALIZATIONS } from '../utils';
*/
import * as React from 'react';
import { sortBy } from 'lodash';
-import Select from 'react-select';
import ProjectsSortingSelectOption, { Option } from './ProjectsSortingSelectOption';
import SortAscIcon from '../../../components/icons-components/SortAscIcon';
import SortDescIcon from '../../../components/icons-components/SortDescIcon';
+import Select from '../../../components/controls/Select';
import Tooltip from '../../../components/controls/Tooltip';
import { translate } from '../../../helpers/l10n';
import { SORTING_METRICS, SORTING_LEAK_METRICS, parseSorting } from '../utils';
:
</label>
<Select
- addLabelText="Add \\"{label}\\"?"
- arrowRenderer={[Function]}
- autosize={true}
- backspaceRemoves={true}
- backspaceToRemoveMessage="Press backspace to remove {label}"
className="little-spacer-left input-medium"
- clearAllText="Clear all"
- clearRenderer={[Function]}
- clearValueText="Clear value"
clearable={false}
- closeOnSelect={true}
- deleteRemoves={true}
- delimiter=","
- disabled={false}
- escapeClearsValue={true}
- filterOptions={[Function]}
- ignoreAccents={true}
- ignoreCase={true}
- inputProps={Object {}}
- isLoading={false}
- joinValues={false}
- labelKey="label"
- matchPos="any"
- matchProp="any"
- menuBuffer={0}
- menuRenderer={[Function]}
- multi={false}
- noResultsText="No results found"
- onBlurResetsInput={true}
onChange={[Function]}
- onCloseResetsInput={true}
- onSelectResetsInput={true}
- openOnClick={true}
optionComponent={[Function]}
options={
Array [
},
]
}
- pageSize={5}
- placeholder="Select..."
- required={false}
- scrollMenuIntoView={true}
searchable={false}
- simpleValue={false}
- tabSelectsValue={true}
value="overall"
- valueComponent={[Function]}
- valueKey="value"
/>
</div>
`;
:
</label>
<Select
- addLabelText="Add \\"{label}\\"?"
- arrowRenderer={[Function]}
- autosize={true}
- backspaceRemoves={true}
- backspaceToRemoveMessage="Press backspace to remove {label}"
className="little-spacer-left input-medium"
- clearAllText="Clear all"
- clearRenderer={[Function]}
- clearValueText="Clear value"
clearable={false}
- closeOnSelect={true}
- deleteRemoves={true}
- delimiter=","
- disabled={false}
- escapeClearsValue={true}
- filterOptions={[Function]}
- ignoreAccents={true}
- ignoreCase={true}
- inputProps={Object {}}
- isLoading={false}
- joinValues={false}
- labelKey="label"
- matchPos="any"
- matchProp="any"
- menuBuffer={0}
- menuRenderer={[Function]}
- multi={false}
- noResultsText="No results found"
- onBlurResetsInput={true}
onChange={[Function]}
- onCloseResetsInput={true}
- onSelectResetsInput={true}
- openOnClick={true}
optionComponent={[Function]}
options={
Array [
},
]
}
- pageSize={5}
- placeholder="Select..."
- required={false}
- scrollMenuIntoView={true}
searchable={false}
- simpleValue={false}
- tabSelectsValue={true}
value="coverage"
- valueComponent={[Function]}
- valueKey="value"
/>
</div>
`;
:
</label>
<Select
- addLabelText="Add \\"{label}\\"?"
- arrowRenderer={[Function]}
- autosize={true}
- backspaceRemoves={true}
- backspaceToRemoveMessage="Press backspace to remove {label}"
className="little-spacer-left input-medium"
- clearAllText="Clear all"
- clearRenderer={[Function]}
- clearValueText="Clear value"
clearable={false}
- closeOnSelect={true}
- deleteRemoves={true}
- delimiter=","
- disabled={false}
- escapeClearsValue={true}
- filterOptions={[Function]}
- ignoreAccents={true}
- ignoreCase={true}
- inputProps={Object {}}
- isLoading={false}
- joinValues={false}
- labelKey="label"
- matchPos="any"
- matchProp="any"
- menuBuffer={0}
- menuRenderer={[Function]}
- multi={false}
- noResultsText="No results found"
- onBlurResetsInput={true}
onChange={[Function]}
- onCloseResetsInput={true}
- onSelectResetsInput={true}
- openOnClick={true}
optionComponent={[Function]}
options={
Array [
},
]
}
- pageSize={5}
- placeholder="Select..."
- required={false}
- scrollMenuIntoView={true}
searchable={false}
- simpleValue={false}
- tabSelectsValue={true}
value="vulnerability"
- valueComponent={[Function]}
- valueKey="value"
/>
<Tooltip
overlay="projects.sort_descending"
:
</label>
<Select
- addLabelText="Add \\"{label}\\"?"
- arrowRenderer={[Function]}
- autosize={true}
- backspaceRemoves={true}
- backspaceToRemoveMessage="Press backspace to remove {label}"
className="little-spacer-left input-medium"
- clearAllText="Clear all"
- clearRenderer={[Function]}
- clearValueText="Clear value"
clearable={false}
- closeOnSelect={true}
- deleteRemoves={true}
- delimiter=","
- disabled={false}
- escapeClearsValue={true}
- filterOptions={[Function]}
- ignoreAccents={true}
- ignoreCase={true}
- inputProps={Object {}}
- isLoading={false}
- joinValues={false}
- labelKey="label"
- matchPos="any"
- matchProp="any"
- menuBuffer={0}
- menuRenderer={[Function]}
- multi={false}
- noResultsText="No results found"
- onBlurResetsInput={true}
onChange={[Function]}
- onCloseResetsInput={true}
- onSelectResetsInput={true}
- openOnClick={true}
optionComponent={[Function]}
options={
Array [
},
]
}
- pageSize={5}
- placeholder="Select..."
- required={false}
- scrollMenuIntoView={true}
searchable={false}
- simpleValue={false}
- tabSelectsValue={true}
value="new_coverage"
- valueComponent={[Function]}
- valueKey="value"
/>
<Tooltip
overlay="projects.sort_ascending"
:
</label>
<Select
- addLabelText="Add \\"{label}\\"?"
- arrowRenderer={[Function]}
- autosize={true}
- backspaceRemoves={true}
- backspaceToRemoveMessage="Press backspace to remove {label}"
className="little-spacer-left input-medium"
- clearAllText="Clear all"
- clearRenderer={[Function]}
- clearValueText="Clear value"
clearable={false}
- closeOnSelect={true}
- deleteRemoves={true}
- delimiter=","
- disabled={false}
- escapeClearsValue={true}
- filterOptions={[Function]}
- ignoreAccents={true}
- ignoreCase={true}
- inputProps={Object {}}
- isLoading={false}
- joinValues={false}
- labelKey="label"
- matchPos="any"
- matchProp="any"
- menuBuffer={0}
- menuRenderer={[Function]}
- multi={false}
- noResultsText="No results found"
- onBlurResetsInput={true}
onChange={[Function]}
- onCloseResetsInput={true}
- onSelectResetsInput={true}
- openOnClick={true}
optionComponent={[Function]}
options={
Array [
},
]
}
- pageSize={5}
- placeholder="Select..."
- required={false}
- scrollMenuIntoView={true}
searchable={false}
- simpleValue={false}
- tabSelectsValue={true}
value="name"
- valueComponent={[Function]}
- valueKey="value"
/>
<Tooltip
overlay="projects.sort_ascending"
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import * as React from 'react';
-import Select from 'react-select';
import * as PropTypes from 'prop-types';
import { getFilterUrl } from './utils';
+import Select from '../../../components/controls/Select';
import { translate } from '../../../helpers/l10n';
interface Props {
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import * as React from 'react';
-import * as Modal from 'react-modal';
-import Select from 'react-select';
import {
getPermissionTemplates,
bulkApplyTemplate,
} from '../../api/permissions';
import { translate, translateWithParameters } from '../../helpers/l10n';
import AlertWarnIcon from '../../components/icons-components/AlertWarnIcon';
+import Modal from '../../components/controls/Modal';
+import Select from '../../components/controls/Select';
export interface Props {
analyzedBefore?: string;
const header = translate('permission_templates.bulk_apply_permission_template');
return (
- <Modal
- isOpen={true}
- contentLabel={header}
- className="modal"
- overlayClassName="modal-overlay"
- onRequestClose={this.props.onClose}>
+ <Modal contentLabel={header} onRequestClose={this.props.onClose}>
<header className="modal-head">
<h2>{header}</h2>
</header>
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import * as React from 'react';
-import * as Modal from 'react-modal';
import * as classNames from 'classnames';
import { Organization, Visibility } from '../../app/types';
import UpgradeOrganizationBox from '../../components/common/UpgradeOrganizationBox';
import { translate } from '../../helpers/l10n';
+import Modal from '../../components/controls/Modal';
export interface Props {
onClose: () => void;
const { canUpdateProjectsVisibilityToPrivate } = this.props.organization;
return (
- <Modal
- isOpen={true}
- contentLabel="modal form"
- className="modal"
- overlayClassName="modal-overlay"
- onRequestClose={this.props.onClose}>
+ <Modal contentLabel="modal form" onRequestClose={this.props.onClose}>
<header className="modal-head">
<h2>{translate('organization.change_visibility_form.header')}</h2>
</header>
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import * as React from 'react';
-import * as Modal from 'react-modal';
import { Link } from 'react-router';
import { FormattedMessage } from 'react-intl';
import { Organization } from '../../app/types';
import { createProject } from '../../api/components';
import { translate } from '../../helpers/l10n';
import { getProjectUrl } from '../../helpers/urls';
+import Modal from '../../components/controls/Modal';
interface Props {
onClose: () => void;
const { createdProject } = this.state;
return (
- <Modal
- isOpen={true}
- contentLabel="modal form"
- className="modal"
- overlayClassName="modal-overlay"
- onRequestClose={this.props.onClose}>
+ <Modal contentLabel="modal form" onRequestClose={this.props.onClose}>
{createdProject ? (
<div>
<header className="modal-head">
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import * as React from 'react';
-import * as Modal from 'react-modal';
import { bulkDeleteProjects } from '../../api/components';
import { translate, translateWithParameters } from '../../helpers/l10n';
import AlertWarnIcon from '../../components/icons-components/AlertWarnIcon';
+import Modal from '../../components/controls/Modal';
export interface Props {
analyzedBefore?: string;
const header = translate('qualifiers.delete', this.props.qualifier);
return (
- <Modal
- isOpen={true}
- contentLabel={header}
- className="modal"
- overlayClassName="modal-overlay"
- onRequestClose={this.props.onClose}>
+ <Modal contentLabel={header} onRequestClose={this.props.onClose}>
<header className="modal-head">
<h2>{header}</h2>
</header>
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import * as React from 'react';
-import Select from 'react-select';
import { sortBy } from 'lodash';
import BulkApplyTemplateModal from './BulkApplyTemplateModal';
import DeleteModal from './DeleteModal';
import QualifierIcon from '../../components/shared/QualifierIcon';
import Tooltip from '../../components/controls/Tooltip';
import DateInput from '../../components/controls/DateInput';
+import Select from '../../components/controls/Select';
export interface Props {
analyzedBefore?: string;
exports[`bulk applies template to all results 1`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="permission_templates.bulk_apply_permission_template"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<header
className="modal-head"
exports[`bulk applies template to all results 2`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="permission_templates.bulk_apply_permission_template"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<header
className="modal-head"
</em>
</label>
<Select
- addLabelText="Add \\"{label}\\"?"
- arrowRenderer={[Function]}
- autosize={true}
- backspaceRemoves={true}
- backspaceToRemoveMessage="Press backspace to remove {label}"
- clearAllText="Clear all"
- clearRenderer={[Function]}
- clearValueText="Clear value"
clearable={false}
- closeOnSelect={true}
- deleteRemoves={true}
- delimiter=","
disabled={false}
- escapeClearsValue={true}
- filterOptions={[Function]}
- ignoreAccents={true}
- ignoreCase={true}
- inputProps={Object {}}
- isLoading={false}
- joinValues={false}
- labelKey="label"
- matchPos="any"
- matchProp="any"
- menuBuffer={0}
- menuRenderer={[Function]}
- multi={false}
- noResultsText="No results found"
- onBlurResetsInput={true}
onChange={[Function]}
- onCloseResetsInput={true}
- onSelectResetsInput={true}
- openOnClick={true}
- optionComponent={[Function]}
options={
Array [
Object {
},
]
}
- pageSize={5}
- placeholder="Select..."
- required={false}
- scrollMenuIntoView={true}
searchable={false}
- simpleValue={false}
- tabSelectsValue={true}
value="foo"
- valueComponent={[Function]}
- valueKey="value"
/>
</div>
</div>
exports[`bulk applies template to all results 3`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="permission_templates.bulk_apply_permission_template"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<header
className="modal-head"
</em>
</label>
<Select
- addLabelText="Add \\"{label}\\"?"
- arrowRenderer={[Function]}
- autosize={true}
- backspaceRemoves={true}
- backspaceToRemoveMessage="Press backspace to remove {label}"
- clearAllText="Clear all"
- clearRenderer={[Function]}
- clearValueText="Clear value"
clearable={false}
- closeOnSelect={true}
- deleteRemoves={true}
- delimiter=","
disabled={true}
- escapeClearsValue={true}
- filterOptions={[Function]}
- ignoreAccents={true}
- ignoreCase={true}
- inputProps={Object {}}
- isLoading={false}
- joinValues={false}
- labelKey="label"
- matchPos="any"
- matchProp="any"
- menuBuffer={0}
- menuRenderer={[Function]}
- multi={false}
- noResultsText="No results found"
- onBlurResetsInput={true}
onChange={[Function]}
- onCloseResetsInput={true}
- onSelectResetsInput={true}
- openOnClick={true}
- optionComponent={[Function]}
options={
Array [
Object {
},
]
}
- pageSize={5}
- placeholder="Select..."
- required={false}
- scrollMenuIntoView={true}
searchable={false}
- simpleValue={false}
- tabSelectsValue={true}
value="foo"
- valueComponent={[Function]}
- valueKey="value"
/>
</div>
</div>
exports[`bulk applies template to all results 4`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="permission_templates.bulk_apply_permission_template"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<header
className="modal-head"
exports[`bulk applies template to selected results 1`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="permission_templates.bulk_apply_permission_template"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<header
className="modal-head"
exports[`bulk applies template to selected results 2`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="permission_templates.bulk_apply_permission_template"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<header
className="modal-head"
</em>
</label>
<Select
- addLabelText="Add \\"{label}\\"?"
- arrowRenderer={[Function]}
- autosize={true}
- backspaceRemoves={true}
- backspaceToRemoveMessage="Press backspace to remove {label}"
- clearAllText="Clear all"
- clearRenderer={[Function]}
- clearValueText="Clear value"
clearable={false}
- closeOnSelect={true}
- deleteRemoves={true}
- delimiter=","
disabled={false}
- escapeClearsValue={true}
- filterOptions={[Function]}
- ignoreAccents={true}
- ignoreCase={true}
- inputProps={Object {}}
- isLoading={false}
- joinValues={false}
- labelKey="label"
- matchPos="any"
- matchProp="any"
- menuBuffer={0}
- menuRenderer={[Function]}
- multi={false}
- noResultsText="No results found"
- onBlurResetsInput={true}
onChange={[Function]}
- onCloseResetsInput={true}
- onSelectResetsInput={true}
- openOnClick={true}
- optionComponent={[Function]}
options={
Array [
Object {
},
]
}
- pageSize={5}
- placeholder="Select..."
- required={false}
- scrollMenuIntoView={true}
searchable={false}
- simpleValue={false}
- tabSelectsValue={true}
value="foo"
- valueComponent={[Function]}
- valueKey="value"
/>
</div>
</div>
exports[`bulk applies template to selected results 3`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="permission_templates.bulk_apply_permission_template"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<header
className="modal-head"
</em>
</label>
<Select
- addLabelText="Add \\"{label}\\"?"
- arrowRenderer={[Function]}
- autosize={true}
- backspaceRemoves={true}
- backspaceToRemoveMessage="Press backspace to remove {label}"
- clearAllText="Clear all"
- clearRenderer={[Function]}
- clearValueText="Clear value"
clearable={false}
- closeOnSelect={true}
- deleteRemoves={true}
- delimiter=","
disabled={true}
- escapeClearsValue={true}
- filterOptions={[Function]}
- ignoreAccents={true}
- ignoreCase={true}
- inputProps={Object {}}
- isLoading={false}
- joinValues={false}
- labelKey="label"
- matchPos="any"
- matchProp="any"
- menuBuffer={0}
- menuRenderer={[Function]}
- multi={false}
- noResultsText="No results found"
- onBlurResetsInput={true}
onChange={[Function]}
- onCloseResetsInput={true}
- onSelectResetsInput={true}
- openOnClick={true}
- optionComponent={[Function]}
options={
Array [
Object {
},
]
}
- pageSize={5}
- placeholder="Select..."
- required={false}
- scrollMenuIntoView={true}
searchable={false}
- simpleValue={false}
- tabSelectsValue={true}
value="foo"
- valueComponent={[Function]}
- valueKey="value"
/>
</div>
</div>
exports[`bulk applies template to selected results 4`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="permission_templates.bulk_apply_permission_template"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<header
className="modal-head"
exports[`changes visibility 1`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="modal form"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<header
className="modal-head"
exports[`changes visibility 2`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="modal form"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<header
className="modal-head"
exports[`renders disabled 1`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="modal form"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<header
className="modal-head"
exports[`creates project 1`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="modal form"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<form
id="create-project-form"
exports[`creates project 2`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="modal form"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<form
id="create-project-form"
exports[`creates project 3`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="modal form"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<form
id="create-project-form"
exports[`creates project 4`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="modal form"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<div>
<header
exports[`shows more 1`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="modal form"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<form
id="create-project-form"
exports[`shows more 2`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="modal form"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<form
id="create-project-form"
exports[`deletes all projects 1`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="qualifiers.delete.TRK"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<header
className="modal-head"
exports[`deletes all projects 2`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="qualifiers.delete.TRK"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<header
className="modal-head"
exports[`deletes selected projects 1`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="qualifiers.delete.TRK"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<header
className="modal-head"
exports[`deletes selected projects 2`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="qualifiers.delete.TRK"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<header
className="modal-head"
className="thin nowrap text-middle"
>
<Select
- addLabelText="Add \\"{label}\\"?"
- arrowRenderer={[Function]}
- autosize={true}
- backspaceRemoves={true}
- backspaceToRemoveMessage="Press backspace to remove {label}"
className="input-medium"
- clearAllText="Clear all"
- clearRenderer={[Function]}
- clearValueText="Clear value"
clearable={false}
- closeOnSelect={true}
- deleteRemoves={true}
- delimiter=","
disabled={false}
- escapeClearsValue={true}
- filterOptions={[Function]}
- ignoreAccents={true}
- ignoreCase={true}
- inputProps={Object {}}
- isLoading={false}
- joinValues={false}
- labelKey="label"
- matchPos="any"
- matchProp="any"
- menuBuffer={0}
- menuRenderer={[Function]}
- multi={false}
name="projects-qualifier"
- noResultsText="No results found"
- onBlurResetsInput={true}
onChange={[Function]}
- onCloseResetsInput={true}
- onSelectResetsInput={true}
- openOnClick={true}
- optionComponent={[Function]}
optionRenderer={[Function]}
options={
Array [
},
]
}
- pageSize={5}
- placeholder="Select..."
- required={false}
- scrollMenuIntoView={true}
searchable={false}
- simpleValue={false}
- tabSelectsValue={true}
value="TRK"
- valueComponent={[Function]}
- valueKey="value"
valueRenderer={[Function]}
/>
</td>
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import React from 'react';
-import Select from 'react-select';
import { sortBy } from 'lodash';
+import Select from '../../../components/controls/Select';
import { translate, getLocalizedMetricName, getLocalizedMetricDomain } from '../../../helpers/l10n';
export default function AddConditionForm({ metrics, onSelect }) {
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import React, { Component } from 'react';
-import Select from 'react-select';
import ThresholdInput from './ThresholdInput';
import DeleteConditionView from '../views/gate-conditions-delete-view';
import Checkbox from '../../../components/controls/Checkbox';
import { createCondition, updateCondition } from '../../../api/quality-gates';
+import Select from '../../../components/controls/Select';
import { translate, getLocalizedMetricName } from '../../../helpers/l10n';
import { formatMeasure } from '../../../helpers/measures';
*/
import React from 'react';
import PropTypes from 'prop-types';
-import Select from 'react-select';
+import Select from '../../../components/controls/Select';
export default class ThresholdInput extends React.PureComponent {
static propTypes = {
*/
import React from 'react';
import { shallow } from 'enzyme';
-import Select from 'react-select';
import ThresholdInput from '../ThresholdInput';
+import Select from '../../../../components/controls/Select';
import { change } from '../../../../helpers/testUtils';
describe('on strings', () => {
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import * as React from 'react';
-import Select from 'react-select';
+import Select from '../../../components/controls/Select';
import { translate } from '../../../helpers/l10n';
import { Profile } from '../types';
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import * as React from 'react';
-import * as Modal from 'react-modal';
import { copyProfile } from '../../../api/quality-profiles';
+import Modal from '../../../components/controls/Modal';
import { translate, translateWithParameters } from '../../../helpers/l10n';
import { Profile } from '../types';
this.state.loading || !this.state.name || this.state.name === profile.name;
return (
- <Modal
- isOpen={true}
- contentLabel={header}
- className="modal"
- overlayClassName="modal-overlay"
- onRequestClose={this.props.onClose}>
+ <Modal contentLabel={header} onRequestClose={this.props.onClose}>
<form id="copy-profile-form" onSubmit={this.handleFormSubmit}>
<div className="modal-head">
<h2>{header}</h2>
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import * as React from 'react';
-import * as Modal from 'react-modal';
import { deleteProfile } from '../../../api/quality-profiles';
+import Modal from '../../../components/controls/Modal';
import { translate, translateWithParameters } from '../../../helpers/l10n';
import { Profile } from '../types';
const header = translate('quality_profiles.delete_confirm_title');
return (
- <Modal
- isOpen={true}
- contentLabel={header}
- className="modal"
- overlayClassName="modal-overlay"
- onRequestClose={this.props.onClose}>
+ <Modal contentLabel={header} onRequestClose={this.props.onClose}>
<form id="delete-profile-form" onSubmit={this.handleFormSubmit}>
<div className="modal-head">
<h2>{header}</h2>
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import * as React from 'react';
-import * as Modal from 'react-modal';
import { renameProfile } from '../../../api/quality-profiles';
+import Modal from '../../../components/controls/Modal';
import { translate, translateWithParameters } from '../../../helpers/l10n';
import { Profile } from '../types';
this.state.loading || !this.state.name || this.state.name === profile.name;
return (
- <Modal
- isOpen={true}
- contentLabel={header}
- className="modal"
- overlayClassName="modal-overlay"
- onRequestClose={this.props.onClose}>
+ <Modal contentLabel={header} onRequestClose={this.props.onClose}>
<form id="rename-profile-form" onSubmit={this.handleFormSubmit}>
<div className="modal-head">
<h2>{header}</h2>
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import * as React from 'react';
-import * as Modal from 'react-modal';
-import Select from 'react-select';
import { sortBy } from 'lodash';
import { changeProfileParent } from '../../../api/quality-profiles';
+import Modal from '../../../components/controls/Modal';
+import Select from '../../../components/controls/Select';
import { translate } from '../../../helpers/l10n';
import { Profile } from '../types';
return (
<Modal
- isOpen={true}
contentLabel={translate('quality_profiles.change_parent')}
- className="modal"
- overlayClassName="modal-overlay"
onRequestClose={this.props.onClose}>
<form id="change-profile-parent-form" onSubmit={this.handleFormSubmit}>
<div className="modal-head">
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import * as React from 'react';
-import * as Modal from 'react-modal';
import * as escapeHtml from 'escape-html';
+import Modal from '../../../components/controls/Modal';
import SelectList from '../../../components/SelectList';
import { translate } from '../../../helpers/l10n';
import { Profile } from '../types';
return (
<Modal
- isOpen={true}
contentLabel={header}
- className="modal"
onAfterOpen={this.renderSelectList}
- overlayClassName="modal-overlay"
onRequestClose={this.props.onClose}>
<div className="modal-head">
<h2>{header}</h2>
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import * as React from 'react';
-import * as Modal from 'react-modal';
import ProfilePermissionsFormSelect from './ProfilePermissionsFormSelect';
import {
searchUsers,
addGroup,
SearchUsersGroupsParameters
} from '../../../api/quality-profiles';
+import Modal from '../../../components/controls/Modal';
import { translate } from '../../../helpers/l10n';
import { User, Group } from './ProfilePermissions';
const header = translate('quality_profiles.grant_permissions_to_user_or_group');
const submitDisabled = !this.state.selected || this.state.submitting;
return (
- <Modal
- isOpen={true}
- contentLabel={header}
- className="modal"
- overlayClassName="modal-overlay"
- onRequestClose={this.props.onClose}>
+ <Modal contentLabel={header} onRequestClose={this.props.onClose}>
<header className="modal-head">
<h2>{header}</h2>
</header>
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import * as React from 'react';
-import Select from 'react-select';
import { debounce, identity } from 'lodash';
import { User, Group } from './ProfilePermissions';
+import Select from '../../../components/controls/Select';
import Avatar from '../../../components/ui/Avatar';
import { translate, translateWithParameters } from '../../../helpers/l10n';
import GroupIcon from '../../../components/icons-components/GroupIcon';
exports[`adds group 1`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="quality_profiles.grant_permissions_to_user_or_group"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<header
className="modal-head"
exports[`adds group 2`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="quality_profiles.grant_permissions_to_user_or_group"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<header
className="modal-head"
exports[`adds group 3`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="quality_profiles.grant_permissions_to_user_or_group"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<header
className="modal-head"
exports[`adds user 1`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="quality_profiles.grant_permissions_to_user_or_group"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<header
className="modal-head"
exports[`adds user 2`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="quality_profiles.grant_permissions_to_user_or_group"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<header
className="modal-head"
exports[`adds user 3`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="quality_profiles.grant_permissions_to_user_or_group"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<header
className="modal-head"
exports[`renders 1`] = `
<Select
- addLabelText="Add \\"{label}\\"?"
- arrowRenderer={[Function]}
autofocus={true}
- autosize={true}
- backspaceRemoves={true}
- backspaceToRemoveMessage="Press backspace to remove {label}"
className="Select-big"
- clearAllText="Clear all"
- clearRenderer={[Function]}
- clearValueText="Clear value"
clearable={false}
- closeOnSelect={true}
- deleteRemoves={true}
- delimiter=","
- disabled={false}
- escapeClearsValue={true}
filterOptions={[Function]}
- ignoreAccents={true}
- ignoreCase={true}
- inputProps={Object {}}
isLoading={false}
- joinValues={false}
- labelKey="label"
- matchPos="any"
- matchProp="any"
- menuBuffer={0}
- menuRenderer={[Function]}
- multi={false}
noResultsText="no_results"
- onBlurResetsInput={true}
onChange={[Function]}
- onCloseResetsInput={true}
onInputChange={[Function]}
- onSelectResetsInput={true}
- openOnClick={true}
- optionComponent={[Function]}
optionRenderer={[Function]}
options={Array []}
- pageSize={5}
placeholder=""
- required={false}
- scrollMenuIntoView={true}
searchable={true}
- simpleValue={false}
- tabSelectsValue={true}
value="group:lambda"
- valueComponent={[Function]}
- valueKey="value"
valueRenderer={[Function]}
/>
`;
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import * as React from 'react';
-import * as Modal from 'react-modal';
-import Select from 'react-select';
import { sortBy } from 'lodash';
import { getImporters, createQualityProfile } from '../../../api/quality-profiles';
+import Modal from '../../../components/controls/Modal';
+import Select from '../../../components/controls/Select';
import { translate } from '../../../helpers/l10n';
interface Props {
);
return (
- <Modal
- isOpen={true}
- contentLabel={header}
- className="modal"
- overlayClassName="modal-overlay"
- onRequestClose={this.props.onClose}>
+ <Modal contentLabel={header} onRequestClose={this.props.onClose}>
<form id="create-profile-form" onSubmit={this.handleFormSubmit}>
<div className="modal-head">
<h2>{header}</h2>
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import * as React from 'react';
-import * as Modal from 'react-modal';
import { restoreQualityProfile } from '../../../api/quality-profiles';
+import Modal from '../../../components/controls/Modal';
import { translate, translateWithParameters } from '../../../helpers/l10n';
interface Props {
const { loading, profile, ruleFailures, ruleSuccesses } = this.state;
return (
- <Modal
- isOpen={true}
- contentLabel={header}
- className="modal"
- overlayClassName="modal-overlay"
- onRequestClose={this.props.onClose}>
+ <Modal contentLabel={header} onRequestClose={this.props.onClose}>
<form id="restore-profile-form" onSubmit={this.handleFormSubmit}>
<div className="modal-head">
<h2>{header}</h2>
*/
// @flow
import React from 'react';
-import Modal from 'react-modal';
import { getSettingValue, isEmptyValue, getDefaultValue } from '../utils';
+import Modal from '../../../components/controls/Modal';
import { translate } from '../../../helpers/l10n';
/*::
renderModal() {
const header = translate('settings.reset_confirm.title');
return (
- <Modal
- isOpen={true}
- contentLabel={header}
- className="modal"
- overlayClassName="modal-overlay"
- onRequestClose={this.handleClose}>
+ <Modal contentLabel={header} onRequestClose={this.handleClose}>
<header className="modal-head">
<h2>{header}</h2>
</header>
*/
import React from 'react';
import PropTypes from 'prop-types';
-import Select from 'react-select';
+import Select from '../../../../components/controls/Select';
import { defaultInputPropTypes } from '../../propTypes';
export default class InputForSingleSelectList extends React.PureComponent {
*/
import React from 'react';
import { shallow } from 'enzyme';
-import Select from 'react-select';
import InputForSingleSelectList from '../InputForSingleSelectList';
it('should render Select', () => {
isDefault={false}
onChange={onChange}
/>
- ).find(Select);
+ ).find('Select');
expect(select.length).toBe(1);
expect(select.prop('name')).toBe('foo');
expect(select.prop('value')).toBe('bar');
isDefault={false}
onChange={onChange}
/>
- ).find(Select);
+ ).find('Select');
expect(select.length).toBe(1);
expect(select.prop('onChange')).toBeTruthy();
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import * as React from 'react';
-import * as Modal from 'react-modal';
import { setLogLevel } from '../../../api/system';
+import Modal from '../../../components/controls/Modal';
import { translate } from '../../../helpers/l10n';
import { LOGS_LEVELS } from '../utils';
const { updating, newLevel } = this.state;
const header = translate('system.set_log_level');
return (
- <Modal
- isOpen={true}
- contentLabel={header}
- className="modal"
- overlayClassName="modal-overlay"
- onRequestClose={this.props.onClose}>
+ <Modal contentLabel={header} onRequestClose={this.props.onClose}>
<form id="set-log-level-form" onSubmit={this.handleFormSubmit}>
<div className="modal-head">
<h2>{header}</h2>
exports[`should display some warning messages for non INFO levels 1`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="system.set_log_level"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<form
id="set-log-level-form"
exports[`should render correctly 1`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="system.set_log_level"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<form
id="set-log-level-form"
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import * as React from 'react';
-import * as Modal from 'react-modal';
import SystemUpgradeItem from './SystemUpgradeItem';
import { SystemUpgrade } from '../../../../api/system';
+import Modal from '../../../../components/controls/Modal';
import { translate } from '../../../../helpers/l10n';
interface Props {
const { systemUpgrades } = this.props;
const header = translate('system.system_upgrade');
return (
- <Modal
- isOpen={true}
- contentLabel={header}
- className="modal"
- overlayClassName="modal-overlay"
- onRequestClose={this.props.onClose}>
+ <Modal contentLabel={header} onRequestClose={this.props.onClose}>
<div className="modal-head">
<h2>{header}</h2>
</div>
exports[`should display correctly 1`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel="system.system_upgrade"
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<div
className="modal-head"
*/
// @flow
import React from 'react';
-import Modal from 'react-modal';
+import Modal from '../../../components/controls/Modal';
import { translate } from '../../../helpers/l10n';
/*::
const { OnboardingContainer } = this.state;
return (
- <Modal
- isOpen={true}
- contentLabel={translate('tutorials.onboarding')}
- className="modal modal-large"
- overlayClassName="modal-overlay">
+ <Modal contentLabel={translate('tutorials.onboarding')} large={true}>
{OnboardingContainer != null && <OnboardingContainer onFinish={this.props.onFinish} />}
</Modal>
);
*/
// @flow
import React from 'react';
-import Select from 'react-select';
import classNames from 'classnames';
import { sortBy } from 'lodash';
import Step from './Step';
import NewOrganizationForm from './NewOrganizationForm';
import { getMyOrganizations } from '../../../api/organizations';
+import Select from '../../../components/controls/Select';
import { translate } from '../../../helpers/l10n';
/*::
);
return doAsync(() => {
click(wrapper.find('.js-existing'));
- wrapper.find('Select').prop('onChange')({ value: 'another' });
+ expect(wrapper).toMatchSnapshot();
+ wrapper
+ .find('Select')
+ .first()
+ .prop('onChange')({ value: 'another' });
click(wrapper.find('.js-continue'));
expect(onContinue).toBeCalledWith('another');
});
--- /dev/null
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`works with existing organization 1`] = `
+<OrganizationStep
+ currentUser={
+ Object {
+ "isLoggedIn": true,
+ "login": "user",
+ }
+ }
+ finished={false}
+ onContinue={[Function]}
+ onOpen={[Function]}
+ open={true}
+ stepNumber={1}
+>
+ <Step
+ finished={false}
+ onOpen={[Function]}
+ open={true}
+ renderForm={[Function]}
+ renderResult={[Function]}
+ stepNumber={1}
+ stepTitle="onboarding.organization.header"
+ >
+ <div
+ className="boxed-group onboarding-step is-open"
+ >
+ <div
+ className="onboarding-step-number"
+ >
+ 1
+ </div>
+ <div
+ className="boxed-group-header"
+ >
+ <h2>
+ onboarding.organization.header
+ </h2>
+ </div>
+ <div
+ className="boxed-group-inner"
+ >
+ <div
+ className="big-spacer-bottom width-50"
+ >
+ onboarding.organization.text
+ </div>
+ <div>
+ <div
+ className="big-spacer-top"
+ >
+ <a
+ className="js-existing link-base-color link-no-underline"
+ href="#"
+ onClick={[Function]}
+ >
+ <i
+ className="icon-radio spacer-right is-checked"
+ />
+ onboarding.organization.exising_organization
+ </a>
+ <div
+ className="big-spacer-top"
+ >
+ <Select
+ className="input-super-large"
+ clearable={false}
+ onChange={[Function]}
+ options={
+ Array [
+ Object {
+ "label": "another",
+ "value": "another",
+ },
+ Object {
+ "label": "user",
+ "value": "user",
+ },
+ ]
+ }
+ >
+ <Select
+ addLabelText="Add \\"{label}\\"?"
+ arrowRenderer={[Function]}
+ autosize={true}
+ backspaceRemoves={true}
+ backspaceToRemoveMessage="Press backspace to remove {label}"
+ className="input-super-large"
+ clearAllText="Clear all"
+ clearRenderer={[Function]}
+ clearValueText="Clear value"
+ clearable={false}
+ closeOnSelect={true}
+ deleteRemoves={true}
+ delimiter=","
+ disabled={false}
+ escapeClearsValue={true}
+ filterOptions={[Function]}
+ ignoreAccents={true}
+ ignoreCase={true}
+ inputProps={Object {}}
+ isLoading={false}
+ joinValues={false}
+ labelKey="label"
+ matchPos="any"
+ matchProp="any"
+ menuBuffer={0}
+ menuRenderer={[Function]}
+ multi={false}
+ noResultsText="No results found"
+ onBlurResetsInput={true}
+ onChange={[Function]}
+ onCloseResetsInput={true}
+ onSelectResetsInput={true}
+ openOnClick={true}
+ optionComponent={[Function]}
+ options={
+ Array [
+ Object {
+ "label": "another",
+ "value": "another",
+ },
+ Object {
+ "label": "user",
+ "value": "user",
+ },
+ ]
+ }
+ pageSize={5}
+ placeholder="Select..."
+ required={false}
+ scrollMenuIntoView={true}
+ searchable={true}
+ simpleValue={false}
+ tabSelectsValue={true}
+ valueComponent={[Function]}
+ valueKey="value"
+ >
+ <div
+ className="Select input-super-large Select--single is-searchable"
+ >
+ <div
+ className="Select-control"
+ onKeyDown={[Function]}
+ onMouseDown={[Function]}
+ onTouchEnd={[Function]}
+ onTouchMove={[Function]}
+ onTouchStart={[Function]}
+ >
+ <span
+ className="Select-multi-value-wrapper"
+ id="react-select-2--value"
+ >
+ <div
+ className="Select-placeholder"
+ >
+ Select...
+ </div>
+ <AutosizeInput
+ aria-activedescendant="react-select-2--value"
+ aria-expanded="false"
+ aria-haspopup="false"
+ aria-owns=""
+ className="Select-input"
+ minWidth="5"
+ onBlur={[Function]}
+ onChange={[Function]}
+ onFocus={[Function]}
+ required={false}
+ role="combobox"
+ value=""
+ >
+ <div
+ className="Select-input"
+ style={
+ Object {
+ "display": "inline-block",
+ }
+ }
+ >
+ <style
+ dangerouslySetInnerHTML={
+ Object {
+ "__html": "input#undefined::-ms-clear {display: none;}",
+ }
+ }
+ />
+ <input
+ aria-activedescendant="react-select-2--value"
+ aria-expanded="false"
+ aria-haspopup="false"
+ aria-owns=""
+ onBlur={[Function]}
+ onChange={[Function]}
+ onFocus={[Function]}
+ required={false}
+ role="combobox"
+ style={
+ Object {
+ "boxSizing": "content-box",
+ "width": "5px",
+ }
+ }
+ value=""
+ />
+ <div
+ style={
+ Object {
+ "height": 0,
+ "left": 0,
+ "overflow": "scroll",
+ "position": "absolute",
+ "top": 0,
+ "visibility": "hidden",
+ "whiteSpace": "pre",
+ }
+ }
+ />
+ </div>
+ </AutosizeInput>
+ </span>
+ <span
+ className="Select-arrow-zone"
+ onMouseDown={[Function]}
+ >
+ <span
+ className="Select-arrow"
+ onMouseDown={[Function]}
+ />
+ </span>
+ </div>
+ </div>
+ </Select>
+ </Select>
+ </div>
+ </div>
+ <div
+ className="big-spacer-top"
+ >
+ <a
+ className="js-new link-base-color link-no-underline"
+ href="#"
+ onClick={[Function]}
+ >
+ <i
+ className="icon-radio spacer-right"
+ />
+ onboarding.organization.create_another_organization
+ </a>
+ </div>
+ </div>
+ </div>
+ </div>
+ </Step>
+</OrganizationStep>
+`;
*/
//@flow
import React from 'react';
-import Select from 'react-select';
import { debounce } from 'lodash';
+import Select from '../../../components/controls/Select';
import { translate, translateWithParameters } from '../../../helpers/l10n';
import UsersSelectSearchOption from './UsersSelectSearchOption';
import UsersSelectSearchValue from './UsersSelectSearchValue';
exports[`should render correctly 1`] = `
<Select
- addLabelText="Add \\"{label}\\"?"
- arrowRenderer={[Function]}
- autosize={true}
- backspaceRemoves={true}
- backspaceToRemoveMessage="Press backspace to remove {label}"
className="Select-big"
- clearAllText="Clear all"
- clearRenderer={[Function]}
- clearValueText="Clear value"
clearable={false}
- closeOnSelect={true}
- deleteRemoves={true}
- delimiter=","
- disabled={false}
- escapeClearsValue={true}
- filterOptions={[Function]}
- ignoreAccents={true}
- ignoreCase={true}
- inputProps={Object {}}
isLoading={false}
- joinValues={false}
labelKey="name"
- matchPos="any"
- matchProp="any"
- menuBuffer={0}
- menuRenderer={[Function]}
- multi={false}
noResultsText="no_results"
- onBlurResetsInput={true}
onChange={[Function]}
- onCloseResetsInput={true}
onInputChange={[Function]}
- onSelectResetsInput={true}
- openOnClick={true}
optionComponent={[Function]}
options={Array []}
- pageSize={5}
placeholder=""
- required={false}
- scrollMenuIntoView={true}
searchable={true}
- simpleValue={false}
- tabSelectsValue={true}
value={
Object {
"avatar": "7daf6c79d4802916d83f6266e24850af",
exports[`should render correctly 3`] = `
<Select
- addLabelText="Add \\"{label}\\"?"
- arrowRenderer={[Function]}
- autosize={true}
- backspaceRemoves={true}
- backspaceToRemoveMessage="Press backspace to remove {label}"
className="Select-big"
- clearAllText="Clear all"
- clearRenderer={[Function]}
- clearValueText="Clear value"
clearable={false}
- closeOnSelect={true}
- deleteRemoves={true}
- delimiter=","
- disabled={false}
- escapeClearsValue={true}
- filterOptions={[Function]}
- ignoreAccents={true}
- ignoreCase={true}
- inputProps={Object {}}
isLoading={false}
- joinValues={false}
labelKey="name"
- matchPos="any"
- matchProp="any"
- menuBuffer={0}
- menuRenderer={[Function]}
- multi={false}
noResultsText="no_results"
- onBlurResetsInput={true}
onChange={[Function]}
- onCloseResetsInput={true}
onInputChange={[Function]}
- onSelectResetsInput={true}
- openOnClick={true}
optionComponent={[Function]}
options={
Array [
},
]
}
- pageSize={5}
placeholder=""
- required={false}
- scrollMenuIntoView={true}
searchable={true}
- simpleValue={false}
- tabSelectsValue={true}
value={
Object {
"avatar": "7daf6c79d4802916d83f6266e24850af",
*/
import * as React from 'react';
import * as classNames from 'classnames';
-import * as Modal from 'react-modal';
import { restartAndWait } from '../../api/system';
+import Modal from '../../components/controls/Modal';
import { translate } from '../../helpers/l10n';
interface Props {
const { restarting } = this.state;
const header = translate('system.restart_server');
return (
- <Modal
- isOpen={true}
- contentLabel={header}
- className="modal"
- overlayClassName="modal-overlay"
- onRequestClose={restarting ? undefined : this.props.onClose}>
+ <Modal contentLabel={header} onRequestClose={restarting ? undefined : this.props.onClose}>
<form id="restart-form" onSubmit={this.handleFormSubmit}>
<div className="modal-head">
<h2>{header}</h2>
--- /dev/null
+/*
+ * SonarQube
+ * Copyright (C) 2009-2017 SonarSource SA
+ * mailto:contact 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 * as ReactModal from 'react-modal';
+import * as classNames from 'classnames';
+
+interface OwnProps {
+ medium?: boolean;
+ large?: boolean;
+}
+
+type MandatoryProps = Pick<ReactModal.Props, 'contentLabel'>;
+
+type Props = Partial<ReactModal.Props> & MandatoryProps & OwnProps;
+
+export default function Modal(props: Props) {
+ return (
+ <ReactModal
+ className={classNames('modal', { 'modal-medium': props.medium, 'modal-large': props.large })}
+ isOpen={true}
+ overlayClassName="modal-overlay"
+ {...props}
+ />
+ );
+}
*/
// @flow
import React from 'react';
-import Select from 'react-select';
import { debounce } from 'lodash';
+import Select from '../../components/controls/Select';
import { translate, translateWithParameters } from '../../helpers/l10n';
/*::
--- /dev/null
+/*
+ * SonarQube
+ * Copyright (C) 2009-2017 SonarSource SA
+ * mailto:contact 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 ReactSelect, {
+ Creatable as ReactCreatable,
+ Async,
+ ReactSelectProps,
+ ReactCreatableSelectProps,
+ ReactAsyncSelectProps
+} from 'react-select';
+import './react-select.css';
+
+export default function Select(props: ReactSelectProps) {
+ // TODO try to define good defaults, if any
+ return <ReactSelect {...props} />;
+}
+
+export function Creatable(props: ReactCreatableSelectProps) {
+ return <ReactCreatable {...props} />;
+}
+
+// TODO figure out why `ref` prop is incompatible
+export function AsyncSelect(props: ReactAsyncSelectProps & { ref: any }) {
+ return <Async {...props} />;
+}
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
import * as React from 'react';
-import * as Modal from 'react-modal';
+import Modal from '../../components/controls/Modal';
export interface ChildrenProps {
onCloseClick: (event: React.SyntheticEvent<HTMLElement>) => void;
render() {
return (
- <Modal
- isOpen={true}
- contentLabel={this.props.header}
- className="modal"
- overlayClassName="modal-overlay"
- onRequestClose={this.props.onClose}>
+ <Modal contentLabel={this.props.header} onRequestClose={this.props.onClose}>
{this.props.children({
onCloseClick: this.handleCloseClick,
onSubmitClick: this.handleSubmitClick,
exports[`should render Select 1`] = `
<Select
- addLabelText="Add \\"{label}\\"?"
- arrowRenderer={[Function]}
autofocus={true}
- autosize={true}
- backspaceRemoves={true}
- backspaceToRemoveMessage="Press backspace to remove {label}"
cache={false}
className="input-super-large"
- clearAllText="Clear all"
- clearRenderer={[Function]}
- clearValueText="Clear value"
clearable={false}
- closeOnSelect={true}
- deleteRemoves={true}
- delimiter=","
- disabled={false}
- escapeClearsValue={true}
filterOption={[Function]}
- filterOptions={[Function]}
- ignoreAccents={true}
- ignoreCase={true}
- inputProps={Object {}}
isLoading={false}
- joinValues={false}
- labelKey="label"
- matchPos="any"
- matchProp="any"
- menuBuffer={0}
- menuRenderer={[Function]}
- multi={false}
noResultsText="select2.tooShort.2"
onBlur={[Function]}
- onBlurResetsInput={true}
onChange={[Function]}
- onCloseResetsInput={true}
onInputChange={[Function]}
- onSelectResetsInput={true}
- openOnClick={true}
- optionComponent={[Function]}
options={Array []}
- pageSize={5}
placeholder="search_verb"
- required={false}
- scrollMenuIntoView={true}
searchable={true}
- simpleValue={false}
- tabSelectsValue={true}
- valueComponent={[Function]}
- valueKey="value"
/>
`;
exports[`renders 1`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel=""
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<div />
</Modal>
exports[`submits 1`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel=""
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<button
disabled={false}
exports[`submits 2`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel=""
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<button
disabled={true}
exports[`submits 3`] = `
<Modal
- ariaHideApp={true}
- bodyOpenClassName="ReactModal__Body--open"
- className="modal"
- closeTimeoutMS={0}
contentLabel=""
- isOpen={true}
onRequestClose={[Function]}
- overlayClassName="modal-overlay"
- parentSelector={[Function]}
- portalClassName="ReactModalPortal"
- shouldCloseOnEsc={true}
- shouldCloseOnOverlayClick={true}
- shouldFocusAfterRender={true}
>
<button
disabled={false}
--- /dev/null
+/*
+ * SonarQube
+ * Copyright (C) 2009-2017 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.
+ */
+.Select {
+ position: relative;
+ display: inline-block;
+ vertical-align: middle;
+ font-size: var(--smallFontSize);
+ text-align: left;
+}
+
+.Select,
+.Select div,
+.Select input,
+.Select span {
+ box-sizing: border-box;
+}
+
+.Select.is-disabled > .Select-control {
+ background-color: #f9f9f9;
+}
+
+.Select.is-disabled > .Select-control:hover {
+ box-shadow: none;
+}
+
+.Select.is-disabled .Select-arrow-zone {
+ cursor: default;
+ pointer-events: none;
+}
+
+.Select-control {
+ position: relative;
+ display: table;
+ width: 100%;
+ height: var(--controlHeight);
+ border: 1px solid var(--gray80);
+ border-collapse: separate;
+ border-radius: 2px;
+ background-color: #fff;
+ color: var(--baseFontColor);
+ cursor: default;
+ outline: none;
+ overflow: hidden;
+}
+
+.is-searchable.is-open > .Select-control {
+ cursor: text;
+}
+
+.is-open > .Select-control {
+ border-bottom-right-radius: 0;
+ border-bottom-left-radius: 0;
+ background: #fff;
+}
+
+.is-open > .Select-control > .Select-arrow {
+ border-color: transparent transparent #999;
+ border-width: 0 5px 5px;
+}
+
+.is-searchable.is-focused:not(.is-open) > .Select-control {
+ cursor: text;
+}
+
+.is-focused:not(.is-open) > .Select-control {
+ border-color: var(--blue);
+}
+
+.Select-placeholder,
+:not(.Select--multi) > .Select-control .Select-value {
+ bottom: 0;
+ left: 0;
+ line-height: 23px;
+ padding-left: 8px;
+ padding-right: 24px;
+ position: absolute;
+ right: 0;
+ top: 0;
+ max-width: 100%;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.Select-value svg,
+.Select-value [class^='icon-'] {
+ padding-top: 5px;
+}
+
+.Select-value img {
+ padding-top: 3px;
+}
+
+.Select-option svg,
+.Select-option img,
+.Select-option [class^='icon-'] {
+ padding-top: 2px;
+}
+
+.has-value:not(.Select--multi) > .Select-control > .Select-value .Select-value-label,
+.has-value.is-pseudo-focused:not(.Select--multi)
+ > .Select-control
+ > .Select-value
+ .Select-value-label {
+ color: var(--baseFontColor);
+}
+
+.has-value:not(.Select--multi) > .Select-control > .Select-value a.Select-value-label,
+.has-value.is-pseudo-focused:not(.Select--multi)
+ > .Select-control
+ > .Select-value
+ a.Select-value-label {
+ cursor: pointer;
+ text-decoration: none;
+}
+
+.has-value:not(.Select--multi) > .Select-control > .Select-value a.Select-value-label:hover,
+.has-value.is-pseudo-focused:not(.Select--multi)
+ > .Select-control
+ > .Select-value
+ a.Select-value-label:hover,
+.has-value:not(.Select--multi) > .Select-control > .Select-value a.Select-value-label:focus,
+.has-value.is-pseudo-focused:not(.Select--multi)
+ > .Select-control
+ > .Select-value
+ a.Select-value-label:focus {
+ color: #007eff;
+ outline: none;
+ text-decoration: underline;
+}
+
+.Select-input {
+ vertical-align: top;
+ height: 22px;
+ padding-left: 8px;
+ padding-right: 8px;
+ outline: none;
+}
+
+.Select-input > input {
+ background: none transparent;
+ border: 0 none;
+ cursor: default;
+ display: inline-block;
+ font-family: inherit;
+ font-size: var(--smallFontSize);
+ height: 22px;
+ margin: 0;
+ outline: none;
+ padding: 0;
+ -webkit-appearance: none;
+}
+
+.is-focused .Select-input > input {
+ cursor: text;
+}
+
+.has-value.is-pseudo-focused .Select-input {
+ opacity: 0;
+}
+
+.Select-control:not(.is-searchable) > .Select-input {
+ outline: none;
+}
+
+.Select-loading-zone {
+ cursor: pointer;
+ display: table-cell;
+ position: relative;
+ text-align: center;
+ vertical-align: middle;
+ width: 16px;
+}
+
+.Select-loading {
+ -webkit-animation: Select-animation-spin 400ms infinite linear;
+ -o-animation: Select-animation-spin 400ms infinite linear;
+ animation: Select-animation-spin 400ms infinite linear;
+ width: 16px;
+ height: 16px;
+ box-sizing: border-box;
+ border-radius: 50%;
+ border: 2px solid #ccc;
+ border-right-color: var(--baseFontColor);
+ display: inline-block;
+ position: relative;
+ vertical-align: middle;
+}
+
+.Select-clear-zone {
+ -webkit-animation: Select-animation-fadeIn 200ms;
+ -o-animation: Select-animation-fadeIn 200ms;
+ animation: Select-animation-fadeIn 200ms;
+ color: #999;
+ cursor: pointer;
+ display: table-cell;
+ position: relative;
+ text-align: center;
+ vertical-align: middle;
+ width: 9px;
+ padding-left: 4px;
+ padding-right: 4px;
+}
+
+.Select-clear-zone:hover .Select-clear {
+ background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj48c3ZnIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAxNCAxNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEuNDE0MjE7Ij4gICAgPGcgdHJhbnNmb3JtPSJtYXRyaXgoMC4wMjM0Mzc1LDAsMCwwLjAyMzQzNzUsLTUuMDE1NjIsLTUuMDE1NjIpIj4gICAgICAgIDxwYXRoIGQ9Ik04MTAsMjc0TDU3Miw1MTJMODEwLDc1MEw3NTAsODEwTDUxMiw1NzJMMjc0LDgxMEwyMTQsNzUwTDQ1Miw1MTJMMjE0LDI3NEwyNzQsMjE0TDUxMiw0NTJMNzUwLDIxNEw4MTAsMjc0WiIgc3R5bGU9ImZpbGw6cmdiKDIzMSwyMCw1Nik7ZmlsbC1ydWxlOm5vbnplcm87Ii8+ICAgIDwvZz48L3N2Zz4=);
+}
+
+.Select-clear {
+ display: block;
+ width: 9px;
+ height: 9px;
+ background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj48c3ZnIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAxNCAxNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEuNDE0MjE7Ij4gICAgPGcgdHJhbnNmb3JtPSJtYXRyaXgoMC4wMjM0Mzc1LDAsMCwwLjAyMzQzNzUsLTUuMDE1NjIsLTUuMDE1NjIpIj4gICAgICAgIDxwYXRoIGQ9Ik04MTAsMjc0TDU3Miw1MTJMODEwLDc1MEw3NTAsODEwTDUxMiw1NzJMMjc0LDgxMEwyMTQsNzUwTDQ1Miw1MTJMMjE0LDI3NEwyNzQsMjE0TDUxMiw0NTJMNzUwLDIxNEw4MTAsMjc0WiIgc3R5bGU9ImZpbGw6cmdiKDE1MywxNTMsMTUzKTtmaWxsLXJ1bGU6bm9uemVybzsiLz4gICAgPC9nPjwvc3ZnPg==);
+ background-size: 9px 9px;
+ text-indent: -9999px;
+}
+
+.Select--multi .Select-clear-zone {
+ width: 17px;
+}
+
+.Select-arrow-zone {
+ cursor: pointer;
+ display: table-cell;
+ position: relative;
+ text-align: center;
+ vertical-align: middle;
+ width: 20px;
+ padding-right: 5px;
+}
+
+.Select-arrow {
+ border-color: #999 transparent transparent;
+ border-style: solid;
+ border-width: 4px 4px 2px;
+ display: inline-block;
+ height: 0;
+ width: 0;
+}
+
+.is-open .Select-arrow,
+.Select-arrow-zone:hover > .Select-arrow {
+ border-top-color: #666;
+}
+
+@-webkit-keyframes Select-animation-fadeIn {
+ from {
+ opacity: 0;
+ }
+
+ to {
+ opacity: 1;
+ }
+}
+
+@keyframes Select-animation-fadeIn {
+ from {
+ opacity: 0;
+ }
+
+ to {
+ opacity: 1;
+ }
+}
+
+.Select-menu-outer {
+ border-bottom-right-radius: 4px;
+ border-bottom-left-radius: 4px;
+ background-color: #fff;
+ border: 1px solid #ccc;
+ border-top-color: var(--barBorderColor);
+ box-sizing: border-box;
+ margin-top: -1px;
+ max-height: 200px;
+ position: absolute;
+ top: 100%;
+ width: 100%;
+ z-index: var(--dropdownMenuZIndex);
+ -webkit-overflow-scrolling: touch;
+ box-shadow: var(--defaultShadow);
+}
+
+.Select-menu {
+ max-height: 198px;
+ padding: 5px 0;
+ overflow-y: auto;
+}
+
+.Select-option {
+ display: block;
+ line-height: 20px;
+ padding: 0 8px;
+ box-sizing: border-box;
+ color: var(--baseFontColor);
+ font-size: var(--smallFontSize);
+ cursor: pointer;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.Select-option:last-child {
+ border-bottom-right-radius: 2px;
+ border-bottom-left-radius: 2px;
+}
+
+.Select-option.is-focused {
+ background-color: var(--barBackgroundColor);
+}
+
+.Select-option.is-disabled {
+ font-weight: 600;
+ cursor: default;
+}
+
+.Select-noresults {
+ box-sizing: border-box;
+ color: #999;
+ cursor: default;
+ display: block;
+ padding: 8px 10px;
+}
+
+.Select--multi .Select-value {
+ background-color: rgba(0, 126, 255, 0.08);
+ border-radius: 2px;
+ border: 1px solid rgba(0, 126, 255, 0.24);
+ color: var(--baseFontColor);
+ display: inline-block;
+ font-size: var(--smallFontSize);
+ line-height: 14px;
+ margin: 1px 4px 1px 1px;
+ vertical-align: top;
+}
+
+.Select-value-label {
+ font-size: var(--smallFontSize);
+}
+
+.is-searchable.is-open .Select-value-label {
+ opacity: 0.5;
+}
+
+.Select-big .Select-control {
+ padding-top: 4px;
+ padding-bottom: 4px;
+}
+
+.Select-big .Select-placeholder {
+ margin-top: 4px;
+ margin-bottom: 4px;
+}
+
+.Select-big .Select-value-label {
+ display: inline-block;
+ margin-top: 7px;
+ line-height: 16px;
+}
+
+.Select-big .Select-option {
+ padding: 7px 8px;
+ line-height: 16px;
+}
+
+.Select-big img,
+.Select-big svg {
+ padding-top: 0;
+}
+
+.Select--multi .Select-value-icon,
+.Select--multi .Select-value-label {
+ display: inline-block;
+ vertical-align: middle;
+}
+
+.Select--multi .Select-value-label {
+ border-bottom-right-radius: 2px;
+ border-top-right-radius: 2px;
+ cursor: default;
+ padding: 2px 5px;
+}
+
+.Select--multi a.Select-value-label {
+ color: #007eff;
+ cursor: pointer;
+ text-decoration: none;
+}
+
+.Select--multi a.Select-value-label:hover {
+ text-decoration: underline;
+}
+
+.Select--multi .Select-value-icon {
+ cursor: pointer;
+ border-bottom-left-radius: 2px;
+ border-top-left-radius: 2px;
+ border-right: 1px solid rgba(0, 126, 255, 0.24);
+ padding: 1px 5px 3px;
+}
+
+.Select--multi .Select-value-icon:hover,
+.Select--multi .Select-value-icon:focus {
+ background-color: rgba(0, 113, 230, 0.08);
+ color: #0071e6;
+}
+
+.Select--multi .Select-value-icon:active {
+ background-color: rgba(0, 126, 255, 0.24);
+}
+
+.Select--multi.is-disabled .Select-value {
+ background-color: #fcfcfc;
+ border: 1px solid #e3e3e3;
+ color: var(--baseFontColor);
+}
+
+.Select--multi.is-disabled .Select-value-icon {
+ cursor: not-allowed;
+ border-right: 1px solid #e3e3e3;
+}
+
+.Select--multi.is-disabled .Select-value-icon:hover,
+.Select--multi.is-disabled .Select-value-icon:focus,
+.Select--multi.is-disabled .Select-value-icon:active {
+ background-color: #fcfcfc;
+}
+
+.Select-aria-only {
+ display: none;
+}
+
+@keyframes Select-animation-spin {
+ to {
+ transform: rotate(1turn);
+ }
+}
+
+@-webkit-keyframes Select-animation-spin {
+ to {
+ -webkit-transform: rotate(1turn);
+ }
+}