Skip to content
This repository has been archived by the owner on Mar 13, 2024. It is now read-only.

Commit

Permalink
[GH-12953] Migrate 'components/admin_console/boolean_setting.jsx' and…
Browse files Browse the repository at this point in the history
… associated tests to TypeScript (#4081)

* Migrate 'components/admin_console/boolean_setting.jsx' to Typescript. Also update references.

* Fix lint issues.
  • Loading branch information
larkox authored and jespino committed Nov 8, 2019
1 parent 0b33ca7 commit 8b97e87
Show file tree
Hide file tree
Showing 8 changed files with 24 additions and 25 deletions.
Original file line number Diff line number Diff line change
@@ -1,29 +1,28 @@
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.

import PropTypes from 'prop-types';
import React from 'react';
import {FormattedMessage} from 'react-intl';

import * as Utils from 'utils/utils.jsx';

import Setting from './setting';

export default class BooleanSetting extends React.Component {
static propTypes = {
id: PropTypes.string.isRequired,
label: PropTypes.node.isRequired,
value: PropTypes.bool.isRequired,
onChange: PropTypes.func.isRequired,
trueText: PropTypes.node,
falseText: PropTypes.node,
disabled: PropTypes.bool.isRequired,
setByEnv: PropTypes.bool.isRequired,
disabledText: PropTypes.node,
helpText: PropTypes.node.isRequired,
};
type Props = {
id: string;
label: React.ReactNode;
value: boolean;
onChange: (id: string, foo: boolean) => void;
trueText?: React.ReactNode;
falseText?: React.ReactNode;
disabled: boolean;
setByEnv: boolean;
disabledText?: React.ReactNode;
helpText: React.ReactNode;
}

static defaultProps = {
export default class BooleanSetting extends React.Component<Props> {
public static defaultProps = {
trueText: (
<FormattedMessage
id='admin.true'
Expand All @@ -39,11 +38,11 @@ export default class BooleanSetting extends React.Component {
disabled: false,
};

handleChange = (e) => {
private handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
this.props.onChange(this.props.id, e.target.value === 'true');
}

render() {
public render() {
let helpText;
if (this.props.disabled && this.props.disabledText) {
helpText = (
Expand All @@ -64,7 +63,7 @@ export default class BooleanSetting extends React.Component {
helpText={helpText}
setByEnv={this.props.setByEnv}
>
<a name={this.props.id}/>
<a id={this.props.id}/>
<label className='radio-inline'>
<input
type='radio'
Expand Down
2 changes: 1 addition & 1 deletion components/admin_console/cluster_settings.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import FormattedMarkdownMessage from 'components/formatted_markdown_message.jsx'
import WarningIcon from 'components/widgets/icons/fa_warning_icon';

import AdminSettings from './admin_settings';
import BooleanSetting from './boolean_setting.jsx';
import BooleanSetting from './boolean_setting';
import ClusterTableContainer from './cluster_table_container.jsx';
import SettingsGroup from './settings_group.jsx';
import TextSetting from './text_setting.jsx';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import PropTypes from 'prop-types';
import AdminSettings from 'components/admin_console/admin_settings';

import SettingsGroup from 'components/admin_console/settings_group.jsx';
import BooleanSetting from 'components/admin_console/boolean_setting.jsx';
import BooleanSetting from 'components/admin_console/boolean_setting';
import TextSetting from 'components/admin_console/text_setting.jsx';
import FormattedMarkdownMessage from 'components/formatted_markdown_message.jsx';
import LoadingScreen from 'components/loading_screen';
Expand Down
2 changes: 1 addition & 1 deletion components/admin_console/database_settings.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import * as Utils from 'utils/utils.jsx';
import {t} from 'utils/i18n';

import AdminSettings from './admin_settings';
import BooleanSetting from './boolean_setting.jsx';
import BooleanSetting from './boolean_setting';
import RequestButton from './request_button/request_button.jsx';
import SettingsGroup from './settings_group.jsx';
import TextSetting from './text_setting.jsx';
Expand Down
2 changes: 1 addition & 1 deletion components/admin_console/elasticsearch_settings.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import * as Utils from 'utils/utils.jsx';
import {t} from 'utils/i18n';

import AdminSettings from './admin_settings';
import BooleanSetting from './boolean_setting.jsx';
import BooleanSetting from './boolean_setting';
import JobsTable from './jobs';
import RequestButton from './request_button/request_button.jsx';
import SettingsGroup from './settings_group.jsx';
Expand Down
2 changes: 1 addition & 1 deletion components/admin_console/message_export_settings.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import * as Utils from 'utils/utils.jsx';
import {getSiteURL} from 'utils/url';

import AdminSettings from './admin_settings';
import BooleanSetting from './boolean_setting.jsx';
import BooleanSetting from './boolean_setting';
import DropdownSetting from './dropdown_setting.jsx';
import JobsTable from './jobs';
import SettingsGroup from './settings_group.jsx';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import FormattedMarkdownMessage from 'components/formatted_markdown_message.jsx'
import ConfirmModal from 'components/confirm_modal.jsx';

import AdminSettings from '../admin_settings';
import BooleanSetting from '../boolean_setting.jsx';
import BooleanSetting from '../boolean_setting';
import SettingsGroup from '../settings_group.jsx';
import TextSetting from '../text_setting.jsx';

Expand Down
2 changes: 1 addition & 1 deletion components/admin_console/schema_admin_settings.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import {rolesFromMapping, mappingValueFromRoles} from 'utils/policy_roles_adapte
import * as Utils from 'utils/utils.jsx';
import RequestButton from 'components/admin_console/request_button/request_button';
import LoadingScreen from 'components/loading_screen';
import BooleanSetting from 'components/admin_console/boolean_setting.jsx';
import BooleanSetting from 'components/admin_console/boolean_setting';
import TextSetting from 'components/admin_console/text_setting.jsx';
import DropdownSetting from 'components/admin_console/dropdown_setting.jsx';
import MultiSelectSetting from 'components/admin_console/multiselect_settings.jsx';
Expand Down

0 comments on commit 8b97e87

Please sign in to comment.