[MM-52835]: Migrate "components/admin_console/settings_group.jsx" and tests to Typescript (#23563)

Этот коммит содержится в:
Tejas Karelia
2023-06-06 00:24:31 -07:00
коммит произвёл GitHub
родитель 8690da4b0d
Коммит ce7578615c
20 изменённых файлов: 41 добавлений и 119 удалений

Просмотреть файл

@@ -15,10 +15,7 @@ exports[`components/BleveSettings should match snapshot, disabled 1`] = `
id="admin.bleve.title" id="admin.bleve.title"
/> />
</AdminHeader> </AdminHeader>
<SettingsGroup <SettingsGroup>
container={true}
show={true}
>
<BooleanSetting <BooleanSetting
disabled={false} disabled={false}
falseText={ falseText={
@@ -277,10 +274,7 @@ exports[`components/BleveSettings should match snapshot, enabled 1`] = `
id="admin.bleve.title" id="admin.bleve.title"
/> />
</AdminHeader> </AdminHeader>
<SettingsGroup <SettingsGroup>
container={true}
show={true}
>
<BooleanSetting <BooleanSetting
disabled={false} disabled={false}
falseText={ falseText={

Просмотреть файл

@@ -15,10 +15,7 @@ exports[`components/ClusterSettings should match snapshot, compression disabled
id="admin.advance.cluster" id="admin.advance.cluster"
/> />
</AdminHeader> </AdminHeader>
<SettingsGroup <SettingsGroup>
container={true}
show={true}
>
<ClusterTableContainer /> <ClusterTableContainer />
<div <div
className="banner" className="banner"
@@ -291,10 +288,7 @@ exports[`components/ClusterSettings should match snapshot, compression enabled 1
id="admin.advance.cluster" id="admin.advance.cluster"
/> />
</AdminHeader> </AdminHeader>
<SettingsGroup <SettingsGroup>
container={true}
show={true}
>
<ClusterTableContainer /> <ClusterTableContainer />
<div <div
className="banner" className="banner"
@@ -567,10 +561,7 @@ exports[`components/ClusterSettings should match snapshot, encryption disabled 1
id="admin.advance.cluster" id="admin.advance.cluster"
/> />
</AdminHeader> </AdminHeader>
<SettingsGroup <SettingsGroup>
container={true}
show={true}
>
<ClusterTableContainer /> <ClusterTableContainer />
<div <div
className="banner" className="banner"
@@ -843,10 +834,7 @@ exports[`components/ClusterSettings should match snapshot, encryption enabled 1`
id="admin.advance.cluster" id="admin.advance.cluster"
/> />
</AdminHeader> </AdminHeader>
<SettingsGroup <SettingsGroup>
container={true}
show={true}
>
<ClusterTableContainer /> <ClusterTableContainer />
<div <div
className="banner" className="banner"

Просмотреть файл

@@ -15,10 +15,7 @@ exports[`components/DatabaseSettings should match snapshot 1`] = `
id="admin.database.title" id="admin.database.title"
/> />
</AdminHeader> </AdminHeader>
<SettingsGroup <SettingsGroup>
container={true}
show={true}
>
<div <div
className="banner" className="banner"
> >

Просмотреть файл

@@ -15,10 +15,7 @@ exports[`components/ElasticSearchSettings should match snapshot, disabled 1`] =
id="admin.elasticsearch.title" id="admin.elasticsearch.title"
/> />
</AdminHeader> </AdminHeader>
<SettingsGroup <SettingsGroup>
container={true}
show={true}
>
<BooleanSetting <BooleanSetting
disabled={false} disabled={false}
falseText={ falseText={
@@ -486,10 +483,7 @@ exports[`components/ElasticSearchSettings should match snapshot, enabled 1`] = `
id="admin.elasticsearch.title" id="admin.elasticsearch.title"
/> />
</AdminHeader> </AdminHeader>
<SettingsGroup <SettingsGroup>
container={true}
show={true}
>
<BooleanSetting <BooleanSetting
disabled={false} disabled={false}
falseText={ falseText={

Просмотреть файл

@@ -15,10 +15,7 @@ exports[`components/MessageExportSettings should match snapshot, disabled, actia
id="admin.complianceExport.title" id="admin.complianceExport.title"
/> />
</AdminHeader> </AdminHeader>
<SettingsGroup <SettingsGroup>
container={true}
show={true}
>
<BooleanSetting <BooleanSetting
disabled={false} disabled={false}
falseText={ falseText={
@@ -192,10 +189,7 @@ exports[`components/MessageExportSettings should match snapshot, disabled, globa
id="admin.complianceExport.title" id="admin.complianceExport.title"
/> />
</AdminHeader> </AdminHeader>
<SettingsGroup <SettingsGroup>
container={true}
show={true}
>
<BooleanSetting <BooleanSetting
disabled={false} disabled={false}
falseText={ falseText={
@@ -294,9 +288,7 @@ exports[`components/MessageExportSettings should match snapshot, disabled, globa
} }
/> />
<SettingsGroup <SettingsGroup
container={true}
id="globalRelaySettings" id="globalRelaySettings"
show={true}
> >
<RadioSetting <RadioSetting
disabled={true} disabled={true}
@@ -466,10 +458,7 @@ exports[`components/MessageExportSettings should match snapshot, enabled, actian
id="admin.complianceExport.title" id="admin.complianceExport.title"
/> />
</AdminHeader> </AdminHeader>
<SettingsGroup <SettingsGroup>
container={true}
show={true}
>
<BooleanSetting <BooleanSetting
disabled={false} disabled={false}
falseText={ falseText={
@@ -643,10 +632,7 @@ exports[`components/MessageExportSettings should match snapshot, enabled, global
id="admin.complianceExport.title" id="admin.complianceExport.title"
/> />
</AdminHeader> </AdminHeader>
<SettingsGroup <SettingsGroup>
container={true}
show={true}
>
<BooleanSetting <BooleanSetting
disabled={false} disabled={false}
falseText={ falseText={
@@ -745,9 +731,7 @@ exports[`components/MessageExportSettings should match snapshot, enabled, global
} }
/> />
<SettingsGroup <SettingsGroup
container={true}
id="globalRelaySettings" id="globalRelaySettings"
show={true}
> >
<RadioSetting <RadioSetting
disabled={false} disabled={false}

Просмотреть файл

@@ -63,7 +63,6 @@ exports[`components/admin_console/SchemaAdminSettings should match snapshot with
> >
<SettingsGroup <SettingsGroup
container={false} container={false}
show={true}
> >
<AdminTextSetting <AdminTextSetting
disabled={false} disabled={false}

Просмотреть файл

@@ -15,7 +15,7 @@ import BooleanSetting from './boolean_setting';
import TextSetting from './text_setting'; import TextSetting from './text_setting';
import JobsTable from './jobs'; import JobsTable from './jobs';
import RequestButton from './request_button/request_button'; import RequestButton from './request_button/request_button';
import SettingsGroup from './settings_group.jsx'; import SettingsGroup from './settings_group';
export default class BleveSettings extends AdminSettings { export default class BleveSettings extends AdminSettings {
getConfigFromState = (config) => { getConfigFromState = (config) => {

Просмотреть файл

@@ -15,7 +15,7 @@ import ExternalLink from 'components/external_link';
import AdminSettings from './admin_settings'; import AdminSettings from './admin_settings';
import BooleanSetting from './boolean_setting'; import BooleanSetting from './boolean_setting';
import ClusterTableContainer from './cluster_table_container.jsx'; import ClusterTableContainer from './cluster_table_container.jsx';
import SettingsGroup from './settings_group.jsx'; import SettingsGroup from './settings_group';
import TextSetting from './text_setting'; import TextSetting from './text_setting';
export default class ClusterSettings extends AdminSettings { export default class ClusterSettings extends AdminSettings {

Просмотреть файл

@@ -20,7 +20,6 @@ exports[`components/admin_console/CustomPluginSettings should match snapshot wit
> >
<SettingsGroup <SettingsGroup
container={false} container={false}
show={true}
> >
<div <div
className="banner" className="banner"
@@ -332,7 +331,6 @@ exports[`components/admin_console/CustomPluginSettings should match snapshot wit
> >
<SettingsGroup <SettingsGroup
container={false} container={false}
show={true}
> >
<div <div
className="banner" className="banner"

Просмотреть файл

@@ -8,7 +8,7 @@ import {AdminConfig, ClientLicense} from '@mattermost/types/config';
import {TermsOfService} from '@mattermost/types/terms_of_service'; import {TermsOfService} from '@mattermost/types/terms_of_service';
import AdminSettings, {BaseProps, BaseState} from 'components/admin_console/admin_settings'; import AdminSettings, {BaseProps, BaseState} from 'components/admin_console/admin_settings';
import SettingsGroup from 'components/admin_console/settings_group.jsx'; import SettingsGroup from 'components/admin_console/settings_group';
import BooleanSetting from 'components/admin_console/boolean_setting'; import BooleanSetting from 'components/admin_console/boolean_setting';
import TextSetting from 'components/admin_console/text_setting'; import TextSetting from 'components/admin_console/text_setting';
import FormattedMarkdownMessage from 'components/formatted_markdown_message'; import FormattedMarkdownMessage from 'components/formatted_markdown_message';

Просмотреть файл

@@ -13,7 +13,7 @@ import ExternalLink from 'components/external_link';
import AdminSettings from './admin_settings'; import AdminSettings from './admin_settings';
import BooleanSetting from './boolean_setting'; import BooleanSetting from './boolean_setting';
import RequestButton from './request_button/request_button'; import RequestButton from './request_button/request_button';
import SettingsGroup from './settings_group.jsx'; import SettingsGroup from './settings_group';
import TextSetting from './text_setting'; import TextSetting from './text_setting';
import MigrationsTable from './database'; import MigrationsTable from './database';

Просмотреть файл

@@ -15,7 +15,7 @@ import AdminSettings from './admin_settings';
import BooleanSetting from './boolean_setting'; import BooleanSetting from './boolean_setting';
import JobsTable from './jobs'; import JobsTable from './jobs';
import RequestButton from './request_button/request_button'; import RequestButton from './request_button/request_button';
import SettingsGroup from './settings_group.jsx'; import SettingsGroup from './settings_group';
import TextSetting from './text_setting'; import TextSetting from './text_setting';
export default class ElasticsearchSettings extends AdminSettings { export default class ElasticsearchSettings extends AdminSettings {

Просмотреть файл

@@ -16,7 +16,7 @@ import AdminSettings from './admin_settings';
import BooleanSetting from './boolean_setting'; import BooleanSetting from './boolean_setting';
import DropdownSetting from './dropdown_setting.jsx'; import DropdownSetting from './dropdown_setting.jsx';
import JobsTable from './jobs'; import JobsTable from './jobs';
import SettingsGroup from './settings_group.jsx'; import SettingsGroup from './settings_group';
import TextSetting from './text_setting'; import TextSetting from './text_setting';
import RadioSetting from './radio_setting'; import RadioSetting from './radio_setting';

Просмотреть файл

@@ -10,7 +10,7 @@ import {t} from 'utils/i18n';
import AdminSettings from './admin_settings'; import AdminSettings from './admin_settings';
import Setting from './setting'; import Setting from './setting';
import SettingsGroup from './settings_group.jsx'; import SettingsGroup from './settings_group';
import TextSetting from './text_setting'; import TextSetting from './text_setting';
export default class PasswordSettings extends AdminSettings { export default class PasswordSettings extends AdminSettings {

Просмотреть файл

@@ -24,7 +24,6 @@ exports[`components/PluginManagement should match snapshot 1`] = `
<SettingsGroup <SettingsGroup
container={false} container={false}
id="PluginSettings" id="PluginSettings"
show={true}
> >
<BooleanSetting <BooleanSetting
disabled={false} disabled={false}
@@ -374,7 +373,6 @@ exports[`components/PluginManagement should match snapshot when \`Enable Marketp
<SettingsGroup <SettingsGroup
container={false} container={false}
id="PluginSettings" id="PluginSettings"
show={true}
> >
<BooleanSetting <BooleanSetting
disabled={false} disabled={false}
@@ -724,7 +722,6 @@ exports[`components/PluginManagement should match snapshot when \`Enable Plugins
<SettingsGroup <SettingsGroup
container={false} container={false}
id="PluginSettings" id="PluginSettings"
show={true}
> >
<div <div
className="form-group" className="form-group"
@@ -821,7 +818,6 @@ exports[`components/PluginManagement should match snapshot when \`Enable Remote
<SettingsGroup <SettingsGroup
container={false} container={false}
id="PluginSettings" id="PluginSettings"
show={true}
> >
<BooleanSetting <BooleanSetting
disabled={false} disabled={false}
@@ -1171,7 +1167,6 @@ exports[`components/PluginManagement should match snapshot when \`Require Signat
<SettingsGroup <SettingsGroup
container={false} container={false}
id="PluginSettings" id="PluginSettings"
show={true}
> >
<BooleanSetting <BooleanSetting
disabled={false} disabled={false}
@@ -1523,7 +1518,6 @@ exports[`components/PluginManagement should match snapshot, No installed plugins
<SettingsGroup <SettingsGroup
container={false} container={false}
id="PluginSettings" id="PluginSettings"
show={true}
> >
<BooleanSetting <BooleanSetting
disabled={false} disabled={false}
@@ -1877,7 +1871,6 @@ exports[`components/PluginManagement should match snapshot, allow insecure URL e
<SettingsGroup <SettingsGroup
container={false} container={false}
id="PluginSettings" id="PluginSettings"
show={true}
> >
<BooleanSetting <BooleanSetting
disabled={false} disabled={false}
@@ -2227,7 +2220,6 @@ exports[`components/PluginManagement should match snapshot, disabled 1`] = `
<SettingsGroup <SettingsGroup
container={false} container={false}
id="PluginSettings" id="PluginSettings"
show={true}
> >
<BooleanSetting <BooleanSetting
disabled={false} disabled={false}
@@ -2554,7 +2546,6 @@ exports[`components/PluginManagement should match snapshot, text entered into th
<SettingsGroup <SettingsGroup
container={false} container={false}
id="PluginSettings" id="PluginSettings"
show={true}
> >
<BooleanSetting <BooleanSetting
disabled={false} disabled={false}
@@ -2904,7 +2895,6 @@ exports[`components/PluginManagement should match snapshot, upload disabled 1`]
<SettingsGroup <SettingsGroup
container={false} container={false}
id="PluginSettings" id="PluginSettings"
show={true}
> >
<BooleanSetting <BooleanSetting
disabled={false} disabled={false}
@@ -3261,7 +3251,6 @@ exports[`components/PluginManagement should match snapshot, with installed plugi
<SettingsGroup <SettingsGroup
container={false} container={false}
id="PluginSettings" id="PluginSettings"
show={true}
> >
<BooleanSetting <BooleanSetting
disabled={false} disabled={false}
@@ -3674,7 +3663,6 @@ exports[`components/PluginManagement should match snapshot, with installed plugi
<SettingsGroup <SettingsGroup
container={false} container={false}
id="PluginSettings" id="PluginSettings"
show={true}
> >
<BooleanSetting <BooleanSetting
disabled={false} disabled={false}
@@ -4055,7 +4043,6 @@ exports[`components/PluginManagement should match snapshot, with installed plugi
<SettingsGroup <SettingsGroup
container={false} container={false}
id="PluginSettings" id="PluginSettings"
show={true}
> >
<BooleanSetting <BooleanSetting
disabled={false} disabled={false}
@@ -4436,7 +4423,6 @@ exports[`components/PluginManagement should match snapshot, with installed plugi
<SettingsGroup <SettingsGroup
container={false} container={false}
id="PluginSettings" id="PluginSettings"
show={true}
> >
<BooleanSetting <BooleanSetting
disabled={false} disabled={false}
@@ -4817,7 +4803,6 @@ exports[`components/PluginManagement should match snapshot, with installed plugi
<SettingsGroup <SettingsGroup
container={false} container={false}
id="PluginSettings" id="PluginSettings"
show={true}
> >
<BooleanSetting <BooleanSetting
disabled={false} disabled={false}

Просмотреть файл

@@ -17,7 +17,7 @@ import ConfirmModal from 'components/confirm_modal';
import AdminSettings, {BaseProps, BaseState} from '../admin_settings'; import AdminSettings, {BaseProps, BaseState} from '../admin_settings';
import BooleanSetting from '../boolean_setting'; import BooleanSetting from '../boolean_setting';
import SettingsGroup from '../settings_group.jsx'; import SettingsGroup from '../settings_group';
import TextSetting from '../text_setting'; import TextSetting from '../text_setting';
import {appsPluginID} from 'utils/apps'; import {appsPluginID} from 'utils/apps';
import ExternalLink from 'components/external_link'; import ExternalLink from 'components/external_link';

Просмотреть файл

@@ -11,7 +11,7 @@ import * as Utils from 'utils/utils';
import AdminSettings from './admin_settings'; import AdminSettings from './admin_settings';
import DropdownSetting from './dropdown_setting.jsx'; import DropdownSetting from './dropdown_setting.jsx';
import SettingsGroup from './settings_group.jsx'; import SettingsGroup from './settings_group';
import TextSetting from './text_setting'; import TextSetting from './text_setting';
const PUSH_NOTIFICATIONS_OFF = 'off'; const PUSH_NOTIFICATIONS_OFF = 'off';

Просмотреть файл

@@ -22,7 +22,7 @@ import RadioSetting from 'components/admin_console/radio_setting';
import ColorSetting from 'components/admin_console/color_setting'; import ColorSetting from 'components/admin_console/color_setting';
import GeneratedSetting from 'components/admin_console/generated_setting'; import GeneratedSetting from 'components/admin_console/generated_setting';
import UserAutocompleteSetting from 'components/admin_console/user_autocomplete_setting'; import UserAutocompleteSetting from 'components/admin_console/user_autocomplete_setting';
import SettingsGroup from 'components/admin_console/settings_group.jsx'; import SettingsGroup from 'components/admin_console/settings_group';
import JobsTable from 'components/admin_console/jobs'; import JobsTable from 'components/admin_console/jobs';
import FileUploadSetting from 'components/admin_console/file_upload_setting.jsx'; import FileUploadSetting from 'components/admin_console/file_upload_setting.jsx';
import RemoveFileSetting from 'components/admin_console/remove_file_setting'; import RemoveFileSetting from 'components/admin_console/remove_file_setting';

Просмотреть файл

@@ -9,7 +9,7 @@ import * as Utils from 'utils/utils';
import AdminSettings from './admin_settings'; import AdminSettings from './admin_settings';
import BooleanSetting from './boolean_setting'; import BooleanSetting from './boolean_setting';
import SettingsGroup from './settings_group.jsx'; import SettingsGroup from './settings_group';
import TextSetting from './text_setting'; import TextSetting from './text_setting';
export default class SessionLengthSettings extends AdminSettings { export default class SessionLengthSettings extends AdminSettings {

Просмотреть файл

@@ -1,65 +1,48 @@
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information. // See LICENSE.txt for license information.
import PropTypes from 'prop-types';
import React from 'react'; import React from 'react';
export default class SettingsGroup extends React.PureComponent { type Props = {
static get propTypes() { id?: string;
return { show?: boolean;
show: PropTypes.bool.isRequired, header?: React.ReactNode;
header: PropTypes.node, title?: React.ReactNode;
title: PropTypes.node, subtitle?: React.ReactNode;
subtitle: PropTypes.node, children?: React.ReactNode;
children: PropTypes.node, container?: boolean;
container: PropTypes.bool, };
};
}
static get defaultProps() { export default class SettingsGroup extends React.PureComponent<Props> {
return { render(): React.ReactNode {
show: true, const {show = true, container = true} = this.props;
container: true,
};
}
render() {
let wrapperClass = ''; let wrapperClass = '';
let contentClass = ''; let contentClass = '';
if (!this.props.show) { if (!show) {
return null; return null;
} }
if (this.props.container) { if (container) {
wrapperClass = 'admin-console__wrapper'; wrapperClass = 'admin-console__wrapper';
contentClass = 'admin-console__content'; contentClass = 'admin-console__content';
} }
let header = null; let header = null;
if (this.props.header) { if (this.props.header) {
header = ( header = <h4>{this.props.header}</h4>;
<h4>
{this.props.header}
</h4>
);
} }
let title = null; let title = null;
if (!this.props.header && this.props.title) { if (!this.props.header && this.props.title) {
title = ( title = <div className={'section-title'}>{this.props.title}</div>;
<div className={'section-title'}>
{this.props.title}
</div>
);
} }
let subtitle = null; let subtitle = null;
if (!this.props.header && this.props.subtitle) { if (!this.props.header && this.props.subtitle) {
subtitle = ( subtitle = (
<div className={'section-subtitle'}> <div className={'section-subtitle'}>{this.props.subtitle}</div>
{this.props.subtitle}
</div>
); );
} }