From 58a7679daa4f463b060e18728216e6b6889caeea Mon Sep 17 00:00:00 2001 From: Ujwal Kumar Date: Sun, 18 Jun 2023 21:10:07 +0530 Subject: [PATCH] [MM-52823] Migration of "components/admin_console/custom_url_schemes_setting.jsx" and tests to typescript (#23468) --- ... custom_url_schemes_setting.test.tsx.snap} | 0 .../admin_console/admin_definition.jsx | 2 +- ...sx => custom_url_schemes_setting.test.tsx} | 0 ...ing.jsx => custom_url_schemes_setting.tsx} | 25 ++++++++++++++----- 4 files changed, 20 insertions(+), 7 deletions(-) rename webapp/channels/src/components/admin_console/__snapshots__/{custom_url_schemes_setting.test.jsx.snap => custom_url_schemes_setting.test.tsx.snap} (100%) rename webapp/channels/src/components/admin_console/{custom_url_schemes_setting.test.jsx => custom_url_schemes_setting.test.tsx} (100%) rename webapp/channels/src/components/admin_console/{custom_url_schemes_setting.jsx => custom_url_schemes_setting.tsx} (80%) diff --git a/webapp/channels/src/components/admin_console/__snapshots__/custom_url_schemes_setting.test.jsx.snap b/webapp/channels/src/components/admin_console/__snapshots__/custom_url_schemes_setting.test.tsx.snap similarity index 100% rename from webapp/channels/src/components/admin_console/__snapshots__/custom_url_schemes_setting.test.jsx.snap rename to webapp/channels/src/components/admin_console/__snapshots__/custom_url_schemes_setting.test.tsx.snap diff --git a/webapp/channels/src/components/admin_console/admin_definition.jsx b/webapp/channels/src/components/admin_console/admin_definition.jsx index eb717682de..6b6a8926d8 100644 --- a/webapp/channels/src/components/admin_console/admin_definition.jsx +++ b/webapp/channels/src/components/admin_console/admin_definition.jsx @@ -36,7 +36,7 @@ import ExternalLink from 'components/external_link'; import OpenIdConvert from './openid_convert'; import Audits from './audits'; -import CustomURLSchemesSetting from './custom_url_schemes_setting.jsx'; +import CustomURLSchemesSetting from './custom_url_schemes_setting'; import CustomEnableDisableGuestAccountsSetting from './custom_enable_disable_guest_accounts_setting'; import LicenseSettings from './license_settings'; import PermissionSchemesSettings from './permission_schemes_settings'; diff --git a/webapp/channels/src/components/admin_console/custom_url_schemes_setting.test.jsx b/webapp/channels/src/components/admin_console/custom_url_schemes_setting.test.tsx similarity index 100% rename from webapp/channels/src/components/admin_console/custom_url_schemes_setting.test.jsx rename to webapp/channels/src/components/admin_console/custom_url_schemes_setting.test.tsx diff --git a/webapp/channels/src/components/admin_console/custom_url_schemes_setting.jsx b/webapp/channels/src/components/admin_console/custom_url_schemes_setting.tsx similarity index 80% rename from webapp/channels/src/components/admin_console/custom_url_schemes_setting.jsx rename to webapp/channels/src/components/admin_console/custom_url_schemes_setting.tsx index 1c743cb5de..5bc5eee0ef 100644 --- a/webapp/channels/src/components/admin_console/custom_url_schemes_setting.jsx +++ b/webapp/channels/src/components/admin_console/custom_url_schemes_setting.tsx @@ -2,7 +2,7 @@ // See LICENSE.txt for license information. import PropTypes from 'prop-types'; -import React from 'react'; +import React, {ChangeEvent, PureComponent} from 'react'; import * as Utils from 'utils/utils'; import {t} from 'utils/i18n'; @@ -11,7 +11,20 @@ import LocalizedInput from 'components/localized_input/localized_input'; import Setting from './setting'; -export default class CustomURLSchemesSetting extends React.PureComponent { +type Props = { + id: string; + value: string[]; + onChange: (id: string, valueAsArray: string[]) => void; + disabled: boolean; + setByEnv: boolean; +} + +type State = { + value: string; +} + +export default class CustomURLSchemesSetting extends + PureComponent { static get propTypes() { return { id: PropTypes.string.isRequired, @@ -22,7 +35,7 @@ export default class CustomURLSchemesSetting extends React.PureComponent { }; } - constructor(props) { + constructor(props: Props) { super(props); this.state = { @@ -30,15 +43,15 @@ export default class CustomURLSchemesSetting extends React.PureComponent { }; } - stringToArray = (str) => { + stringToArray = (str: string): string[] => { return str.split(',').map((s) => s.trim()).filter(Boolean); }; - arrayToString = (arr) => { + arrayToString = (arr: string[]): string => { return arr.join(','); }; - handleChange = (e) => { + handleChange = (e: ChangeEvent): void => { const valueAsArray = this.stringToArray(e.target.value); this.props.onChange(this.props.id, valueAsArray);