[MM-52708] webapp/channels : Remove "FormattedAdminHeader" component (#23344)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
041ecd56fe
Коммит
156d1429de
@@ -178,7 +178,7 @@
|
|||||||
"jest-junit": "12.2.0",
|
"jest-junit": "12.2.0",
|
||||||
"jest-styled-components": "7.1.1",
|
"jest-styled-components": "7.1.1",
|
||||||
"jest-watch-typeahead": "0.6.4",
|
"jest-watch-typeahead": "0.6.4",
|
||||||
"mmjstool": "github:mattermost/mattermost-utilities#1d21e35ca6296ef7b6379b0f214b86ffa6404213",
|
"mmjstool": "github:mattermost/mattermost-utilities#e65ab00f22628cbdee736fd2e4f192f07225e82d",
|
||||||
"nock": "13.2.8",
|
"nock": "13.2.8",
|
||||||
"prettier": "2.3.2",
|
"prettier": "2.3.2",
|
||||||
"react-router-enzyme-context": "1.2.0",
|
"react-router-enzyme-context": "1.2.0",
|
||||||
|
|||||||
@@ -44,11 +44,12 @@ exports[`components/admin_console/SchemaAdminSettings should match snapshot with
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed "
|
className="wrapper--fixed "
|
||||||
>
|
>
|
||||||
<FormattedAdminHeader
|
<AdminHeader>
|
||||||
|
<MemoizedFormattedMessage
|
||||||
defaultMessage="Configuration"
|
defaultMessage="Configuration"
|
||||||
id="config"
|
id="config"
|
||||||
values={Object {}}
|
|
||||||
/>
|
/>
|
||||||
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -8,10 +8,10 @@ import {AdminConfig, EnvironmentConfig} from '@mattermost/types/config';
|
|||||||
import {DeepPartial} from '@mattermost/types/utilities';
|
import {DeepPartial} from '@mattermost/types/utilities';
|
||||||
|
|
||||||
import {localizeMessage} from 'utils/utils';
|
import {localizeMessage} from 'utils/utils';
|
||||||
|
|
||||||
import SaveButton from 'components/save_button';
|
import SaveButton from 'components/save_button';
|
||||||
import Tooltip from 'components/tooltip';
|
import Tooltip from 'components/tooltip';
|
||||||
import FormError from 'components/form_error';
|
import FormError from 'components/form_error';
|
||||||
|
|
||||||
import AdminHeader from 'components/widgets/admin_console/admin_header';
|
import AdminHeader from 'components/widgets/admin_console/admin_header';
|
||||||
|
|
||||||
export type BaseProps = {
|
export type BaseProps = {
|
||||||
|
|||||||
@@ -13,8 +13,8 @@ import {pageVisited, trackEvent} from 'actions/telemetry_actions';
|
|||||||
|
|
||||||
import CloudFetchError from 'components/cloud_fetch_error';
|
import CloudFetchError from 'components/cloud_fetch_error';
|
||||||
import LoadingSpinner from 'components/widgets/loading/loading_spinner';
|
import LoadingSpinner from 'components/widgets/loading/loading_spinner';
|
||||||
import FormattedAdminHeader from 'components/widgets/admin_console/formatted_admin_header';
|
|
||||||
import EmptyBillingHistorySvg from 'components/common/svg_images_components/empty_billing_history_svg';
|
import EmptyBillingHistorySvg from 'components/common/svg_images_components/empty_billing_history_svg';
|
||||||
|
import AdminHeader from 'components/widgets/admin_console/admin_header';
|
||||||
|
|
||||||
import {CloudLinks, HostedCustomerLinks} from 'utils/constants';
|
import {CloudLinks, HostedCustomerLinks} from 'utils/constants';
|
||||||
import ExternalLink from 'components/external_link';
|
import ExternalLink from 'components/external_link';
|
||||||
@@ -67,12 +67,15 @@ const BillingHistory = () => {
|
|||||||
}, [isCloud]);
|
}, [isCloud]);
|
||||||
const billingHistoryTable = invoices && <BillingHistoryTable invoices={invoices}/>;
|
const billingHistoryTable = invoices && <BillingHistoryTable invoices={invoices}/>;
|
||||||
const areInvoicesEmpty = Object.keys(invoices || {}).length === 0;
|
const areInvoicesEmpty = Object.keys(invoices || {}).length === 0;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='wrapper--fixed BillingHistory'>
|
<div className='wrapper--fixed BillingHistory'>
|
||||||
<FormattedAdminHeader
|
<AdminHeader>
|
||||||
|
<FormattedMessage
|
||||||
id='admin.billing.history.title'
|
id='admin.billing.history.title'
|
||||||
defaultMessage='Billing History'
|
defaultMessage='Billing History'
|
||||||
/>
|
/>
|
||||||
|
</AdminHeader>
|
||||||
<div className='admin-console__wrapper'>
|
<div className='admin-console__wrapper'>
|
||||||
<div className='admin-console__content'>
|
<div className='admin-console__content'>
|
||||||
{invoicesError && <CloudFetchError/>}
|
{invoicesError && <CloudFetchError/>}
|
||||||
|
|||||||
@@ -3,22 +3,21 @@
|
|||||||
|
|
||||||
import React, {useEffect, useState} from 'react';
|
import React, {useEffect, useState} from 'react';
|
||||||
import {useDispatch, useSelector} from 'react-redux';
|
import {useDispatch, useSelector} from 'react-redux';
|
||||||
|
import {FormattedMessage} from 'react-intl';
|
||||||
|
|
||||||
|
import {GlobalState} from '@mattermost/types/store';
|
||||||
|
|
||||||
import {getCloudSubscription, getCloudProducts, getCloudCustomer} from 'mattermost-redux/actions/cloud';
|
import {getCloudSubscription, getCloudProducts, getCloudCustomer} from 'mattermost-redux/actions/cloud';
|
||||||
import {DispatchFunc} from 'mattermost-redux/types/actions';
|
import {DispatchFunc} from 'mattermost-redux/types/actions';
|
||||||
|
|
||||||
import {pageVisited} from 'actions/telemetry_actions';
|
|
||||||
|
|
||||||
import FormattedAdminHeader from 'components/widgets/admin_console/formatted_admin_header';
|
|
||||||
import CloudTrialBanner from 'components/admin_console/billing/billing_subscriptions/cloud_trial_banner';
|
|
||||||
import CloudFetchError from 'components/cloud_fetch_error';
|
|
||||||
|
|
||||||
import {
|
import {
|
||||||
getSubscriptionProduct,
|
getSubscriptionProduct,
|
||||||
getCloudSubscription as selectCloudSubscription,
|
getCloudSubscription as selectCloudSubscription,
|
||||||
getCloudCustomer as selectCloudCustomer,
|
getCloudCustomer as selectCloudCustomer,
|
||||||
getCloudErrors,
|
getCloudErrors,
|
||||||
} from 'mattermost-redux/selectors/entities/cloud';
|
} from 'mattermost-redux/selectors/entities/cloud';
|
||||||
|
|
||||||
|
import {pageVisited} from 'actions/telemetry_actions';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
CloudProducts,
|
CloudProducts,
|
||||||
RecurringIntervals,
|
RecurringIntervals,
|
||||||
@@ -29,18 +28,18 @@ import {hasSomeLimits} from 'utils/limits';
|
|||||||
import {getRemainingDaysFromFutureTimestamp} from 'utils/utils';
|
import {getRemainingDaysFromFutureTimestamp} from 'utils/utils';
|
||||||
import {useQuery} from 'utils/http_utils';
|
import {useQuery} from 'utils/http_utils';
|
||||||
|
|
||||||
|
import CloudTrialBanner from 'components/admin_console/billing/billing_subscriptions/cloud_trial_banner';
|
||||||
|
import CloudFetchError from 'components/cloud_fetch_error';
|
||||||
import useOpenPricingModal from 'components/common/hooks/useOpenPricingModal';
|
import useOpenPricingModal from 'components/common/hooks/useOpenPricingModal';
|
||||||
import useOpenCloudPurchaseModal from 'components/common/hooks/useOpenCloudPurchaseModal';
|
import useOpenCloudPurchaseModal from 'components/common/hooks/useOpenCloudPurchaseModal';
|
||||||
import useGetLimits from 'components/common/hooks/useGetLimits';
|
import useGetLimits from 'components/common/hooks/useGetLimits';
|
||||||
import DeleteWorkspaceCTA from 'components/admin_console/billing//delete_workspace/delete_workspace_cta';
|
import DeleteWorkspaceCTA from 'components/admin_console/billing//delete_workspace/delete_workspace_cta';
|
||||||
|
import AdminHeader from 'components/widgets/admin_console/admin_header';
|
||||||
|
|
||||||
import PlanDetails from '../plan_details';
|
import PlanDetails from '../plan_details';
|
||||||
import BillingSummary from '../billing_summary';
|
import BillingSummary from '../billing_summary';
|
||||||
import {GlobalState} from '@mattermost/types/store';
|
|
||||||
|
|
||||||
import ContactSalesCard from './contact_sales_card';
|
import ContactSalesCard from './contact_sales_card';
|
||||||
import Limits from './limits';
|
import Limits from './limits';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
creditCardExpiredBanner,
|
creditCardExpiredBanner,
|
||||||
paymentFailedBanner,
|
paymentFailedBanner,
|
||||||
@@ -124,10 +123,12 @@ const BillingSubscriptions = () => {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='wrapper--fixed BillingSubscriptions'>
|
<div className='wrapper--fixed BillingSubscriptions'>
|
||||||
<FormattedAdminHeader
|
<AdminHeader>
|
||||||
|
<FormattedMessage
|
||||||
id='admin.billing.subscription.title'
|
id='admin.billing.subscription.title'
|
||||||
defaultMessage='Subscription'
|
defaultMessage='Subscription'
|
||||||
/>
|
/>
|
||||||
|
</AdminHeader>
|
||||||
<div className='admin-console__wrapper'>
|
<div className='admin-console__wrapper'>
|
||||||
<div className='admin-console__content'>
|
<div className='admin-console__content'>
|
||||||
{errorLoadingData && <CloudFetchError/>}
|
{errorLoadingData && <CloudFetchError/>}
|
||||||
|
|||||||
@@ -3,14 +3,16 @@
|
|||||||
|
|
||||||
import React, {useEffect} from 'react';
|
import React, {useEffect} from 'react';
|
||||||
import {useDispatch, useSelector} from 'react-redux';
|
import {useDispatch, useSelector} from 'react-redux';
|
||||||
|
import {FormattedMessage} from 'react-intl';
|
||||||
|
|
||||||
import {DispatchFunc} from 'mattermost-redux/types/actions';
|
import {DispatchFunc} from 'mattermost-redux/types/actions';
|
||||||
import {getCloudCustomer} from 'mattermost-redux/actions/cloud';
|
import {getCloudCustomer} from 'mattermost-redux/actions/cloud';
|
||||||
import {getCloudErrors} from 'mattermost-redux/selectors/entities/cloud';
|
import {getCloudErrors} from 'mattermost-redux/selectors/entities/cloud';
|
||||||
|
|
||||||
import {pageVisited} from 'actions/telemetry_actions';
|
import {pageVisited} from 'actions/telemetry_actions';
|
||||||
import FormattedAdminHeader from 'components/widgets/admin_console/formatted_admin_header';
|
|
||||||
import CloudFetchError from 'components/cloud_fetch_error';
|
import CloudFetchError from 'components/cloud_fetch_error';
|
||||||
|
import AdminHeader from 'components/widgets/admin_console/admin_header';
|
||||||
|
|
||||||
import CompanyInfoDisplay from './company_info_display';
|
import CompanyInfoDisplay from './company_info_display';
|
||||||
|
|
||||||
@@ -28,18 +30,15 @@ const CompanyInfo: React.FC<Props> = () => {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='wrapper--fixed CompanyInfo'>
|
<div className='wrapper--fixed CompanyInfo'>
|
||||||
<FormattedAdminHeader
|
<AdminHeader>
|
||||||
|
<FormattedMessage
|
||||||
id='admin.billing.company_info.title'
|
id='admin.billing.company_info.title'
|
||||||
defaultMessage='Company Information'
|
defaultMessage='Company Information'
|
||||||
/>
|
/>
|
||||||
|
</AdminHeader>
|
||||||
<div className='admin-console__wrapper'>
|
<div className='admin-console__wrapper'>
|
||||||
<div className='admin-console__content'>
|
<div className='admin-console__content'>
|
||||||
{customerError ? <CloudFetchError/> : <CompanyInfoDisplay/>}
|
{customerError ? <CloudFetchError/> : <CompanyInfoDisplay/>}
|
||||||
{ /* Billing Admins section
|
|
||||||
<div style={{border: '1px solid #000', width: '100%', height: '194px', marginTop: '20px'}}>
|
|
||||||
{'Billing Admins Card'}
|
|
||||||
</div>
|
|
||||||
*/}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -9,14 +9,17 @@ import {useHistory} from 'react-router-dom';
|
|||||||
|
|
||||||
import {getCloudCustomer, updateCloudCustomer, updateCloudCustomerAddress} from 'mattermost-redux/actions/cloud';
|
import {getCloudCustomer, updateCloudCustomer, updateCloudCustomerAddress} from 'mattermost-redux/actions/cloud';
|
||||||
|
|
||||||
|
import {GlobalState} from 'types/store';
|
||||||
|
|
||||||
|
import {COUNTRIES} from 'utils/countries';
|
||||||
|
import * as Utils from 'utils/utils';
|
||||||
|
|
||||||
import BlockableLink from 'components/admin_console/blockable_link';
|
import BlockableLink from 'components/admin_console/blockable_link';
|
||||||
import DropdownInput from 'components/dropdown_input';
|
import DropdownInput from 'components/dropdown_input';
|
||||||
import StateSelector from 'components/payment_form/state_selector';
|
import StateSelector from 'components/payment_form/state_selector';
|
||||||
import Input from 'components/widgets/inputs/input/input';
|
import Input from 'components/widgets/inputs/input/input';
|
||||||
import SaveButton from 'components/save_button';
|
import SaveButton from 'components/save_button';
|
||||||
import {GlobalState} from 'types/store';
|
import AdminHeader from 'components/widgets/admin_console/admin_header';
|
||||||
import {COUNTRIES} from 'utils/countries';
|
|
||||||
import * as Utils from 'utils/utils';
|
|
||||||
|
|
||||||
import {setNavigationBlocked} from 'actions/admin_actions.jsx';
|
import {setNavigationBlocked} from 'actions/admin_actions.jsx';
|
||||||
|
|
||||||
@@ -202,7 +205,7 @@ const CompanyInfoEdit: React.FC<Props> = () => {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='wrapper--fixed CompanyInfoEdit'>
|
<div className='wrapper--fixed CompanyInfoEdit'>
|
||||||
<div className='admin-console__header with-back'>
|
<AdminHeader withBackButton={true}>
|
||||||
<div>
|
<div>
|
||||||
<BlockableLink
|
<BlockableLink
|
||||||
to='/admin_console/billing/company_info'
|
to='/admin_console/billing/company_info'
|
||||||
@@ -213,7 +216,7 @@ const CompanyInfoEdit: React.FC<Props> = () => {
|
|||||||
defaultMessage='Edit Company Information'
|
defaultMessage='Edit Company Information'
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div className='admin-console__wrapper'>
|
<div className='admin-console__wrapper'>
|
||||||
<div className='admin-console__content'>
|
<div className='admin-console__content'>
|
||||||
<div className='CompanyInfoEdit__card'>
|
<div className='CompanyInfoEdit__card'>
|
||||||
|
|||||||
@@ -5,15 +5,17 @@ import React, {useEffect, useState} from 'react';
|
|||||||
import {useDispatch, useSelector} from 'react-redux';
|
import {useDispatch, useSelector} from 'react-redux';
|
||||||
import {FormattedMessage} from 'react-intl';
|
import {FormattedMessage} from 'react-intl';
|
||||||
|
|
||||||
|
import {GlobalState} from '@mattermost/types/store';
|
||||||
|
|
||||||
import {DispatchFunc} from 'mattermost-redux/types/actions';
|
import {DispatchFunc} from 'mattermost-redux/types/actions';
|
||||||
import {getCloudCustomer} from 'mattermost-redux/actions/cloud';
|
import {getCloudCustomer} from 'mattermost-redux/actions/cloud';
|
||||||
import {getCloudErrors} from 'mattermost-redux/selectors/entities/cloud';
|
import {getCloudErrors} from 'mattermost-redux/selectors/entities/cloud';
|
||||||
import {GlobalState} from '@mattermost/types/store';
|
|
||||||
|
|
||||||
import {pageVisited} from 'actions/telemetry_actions';
|
import {pageVisited} from 'actions/telemetry_actions';
|
||||||
import FormattedAdminHeader from 'components/widgets/admin_console/formatted_admin_header';
|
|
||||||
import AlertBanner from 'components/alert_banner';
|
import AlertBanner from 'components/alert_banner';
|
||||||
import CloudFetchError from 'components/cloud_fetch_error';
|
import CloudFetchError from 'components/cloud_fetch_error';
|
||||||
|
import AdminHeader from 'components/widgets/admin_console/admin_header';
|
||||||
|
|
||||||
import PaymentInfoDisplay from './payment_info_display';
|
import PaymentInfoDisplay from './payment_info_display';
|
||||||
|
|
||||||
@@ -56,10 +58,12 @@ const PaymentInfo: React.FC<Props> = () => {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='wrapper--fixed PaymentInfo'>
|
<div className='wrapper--fixed PaymentInfo'>
|
||||||
<FormattedAdminHeader
|
<AdminHeader>
|
||||||
|
<FormattedMessage
|
||||||
id='admin.billing.payment_info.title'
|
id='admin.billing.payment_info.title'
|
||||||
defaultMessage='Payment Information'
|
defaultMessage='Payment Information'
|
||||||
/>
|
/>
|
||||||
|
</AdminHeader>
|
||||||
<div className='admin-console__wrapper'>
|
<div className='admin-console__wrapper'>
|
||||||
<div className='admin-console__content'>
|
<div className='admin-console__content'>
|
||||||
{showCreditCardBanner && isCardAboutToExpire && (
|
{showCreditCardBanner && isCardAboutToExpire && (
|
||||||
|
|||||||
@@ -21,15 +21,17 @@ import {areBillingDetailsValid, BillingDetails} from 'types/cloud/sku';
|
|||||||
import {GlobalState} from 'types/store';
|
import {GlobalState} from 'types/store';
|
||||||
|
|
||||||
import {CloudLinks} from 'utils/constants';
|
import {CloudLinks} from 'utils/constants';
|
||||||
|
|
||||||
import BlockableLink from 'components/admin_console/blockable_link';
|
import BlockableLink from 'components/admin_console/blockable_link';
|
||||||
import FormattedMarkdownMessage from 'components/formatted_markdown_message';
|
import FormattedMarkdownMessage from 'components/formatted_markdown_message';
|
||||||
import PaymentForm from 'components/payment_form/payment_form';
|
import PaymentForm from 'components/payment_form/payment_form';
|
||||||
import {STRIPE_CSS_SRC, STRIPE_PUBLIC_KEY} from 'components/payment_form/stripe';
|
import {STRIPE_CSS_SRC, STRIPE_PUBLIC_KEY} from 'components/payment_form/stripe';
|
||||||
import SaveButton from 'components/save_button';
|
import SaveButton from 'components/save_button';
|
||||||
import AlertBanner from 'components/alert_banner';
|
import AlertBanner from 'components/alert_banner';
|
||||||
|
import AdminHeader from 'components/widgets/admin_console/admin_header';
|
||||||
|
import ExternalLink from 'components/external_link';
|
||||||
|
|
||||||
import './payment_info_edit.scss';
|
import './payment_info_edit.scss';
|
||||||
import ExternalLink from 'components/external_link';
|
|
||||||
|
|
||||||
let stripePromise: Promise<Stripe | null>;
|
let stripePromise: Promise<Stripe | null>;
|
||||||
|
|
||||||
@@ -86,7 +88,7 @@ const PaymentInfoEdit: React.FC = () => {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='wrapper--fixed PaymentInfoEdit'>
|
<div className='wrapper--fixed PaymentInfoEdit'>
|
||||||
<div className='admin-console__header with-back'>
|
<AdminHeader withBackButton={true}>
|
||||||
<div>
|
<div>
|
||||||
<BlockableLink
|
<BlockableLink
|
||||||
to='/admin_console/billing/payment_info'
|
to='/admin_console/billing/payment_info'
|
||||||
@@ -97,7 +99,7 @@ const PaymentInfoEdit: React.FC = () => {
|
|||||||
defaultMessage='Edit Payment Information'
|
defaultMessage='Edit Payment Information'
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div className='admin-console__wrapper'>
|
<div className='admin-console__wrapper'>
|
||||||
<div className='admin-console__content'>
|
<div className='admin-console__content'>
|
||||||
{showCreditCardWarning &&
|
{showCreditCardWarning &&
|
||||||
|
|||||||
@@ -4,14 +4,12 @@ exports[`components/admin_console/data_retention_settings/data_retention_setting
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed DataRetentionSettings"
|
className="wrapper--fixed DataRetentionSettings"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader>
|
||||||
className="admin-console__header"
|
|
||||||
>
|
|
||||||
<MemoizedFormattedMessage
|
<MemoizedFormattedMessage
|
||||||
defaultMessage="Data Retention Policies"
|
defaultMessage="Data Retention Policies"
|
||||||
id="admin.data_retention.settings.title"
|
id="admin.data_retention.settings.title"
|
||||||
/>
|
/>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -384,14 +382,12 @@ exports[`components/admin_console/data_retention_settings/data_retention_setting
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed DataRetentionSettings"
|
className="wrapper--fixed DataRetentionSettings"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader>
|
||||||
className="admin-console__header"
|
|
||||||
>
|
|
||||||
<MemoizedFormattedMessage
|
<MemoizedFormattedMessage
|
||||||
defaultMessage="Data Retention Policies"
|
defaultMessage="Data Retention Policies"
|
||||||
id="admin.data_retention.settings.title"
|
id="admin.data_retention.settings.title"
|
||||||
/>
|
/>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -784,14 +780,12 @@ exports[`components/admin_console/data_retention_settings/data_retention_setting
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed DataRetentionSettings"
|
className="wrapper--fixed DataRetentionSettings"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader>
|
||||||
className="admin-console__header"
|
|
||||||
>
|
|
||||||
<MemoizedFormattedMessage
|
<MemoizedFormattedMessage
|
||||||
defaultMessage="Data Retention Policies"
|
defaultMessage="Data Retention Policies"
|
||||||
id="admin.data_retention.settings.title"
|
id="admin.data_retention.settings.title"
|
||||||
/>
|
/>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -1179,14 +1173,12 @@ exports[`components/admin_console/data_retention_settings/data_retention_setting
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed DataRetentionSettings"
|
className="wrapper--fixed DataRetentionSettings"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader>
|
||||||
className="admin-console__header"
|
|
||||||
>
|
|
||||||
<MemoizedFormattedMessage
|
<MemoizedFormattedMessage
|
||||||
defaultMessage="Data Retention Policies"
|
defaultMessage="Data Retention Policies"
|
||||||
id="admin.data_retention.settings.title"
|
id="admin.data_retention.settings.title"
|
||||||
/>
|
/>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ exports[`components/admin_console/data_retention_settings/custom_policy_form sho
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed DataRetentionSettings"
|
className="wrapper--fixed DataRetentionSettings"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader
|
||||||
className="admin-console__header with-back"
|
withBackButton={true}
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<Connect(BlockableLink)
|
<Connect(BlockableLink)
|
||||||
@@ -17,7 +17,7 @@ exports[`components/admin_console/data_retention_settings/custom_policy_form sho
|
|||||||
id="admin.data_retention.customTitle"
|
id="admin.data_retention.customTitle"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -264,8 +264,8 @@ exports[`components/admin_console/data_retention_settings/custom_policy_form sho
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed DataRetentionSettings"
|
className="wrapper--fixed DataRetentionSettings"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader
|
||||||
className="admin-console__header with-back"
|
withBackButton={true}
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<Connect(BlockableLink)
|
<Connect(BlockableLink)
|
||||||
@@ -277,7 +277,7 @@ exports[`components/admin_console/data_retention_settings/custom_policy_form sho
|
|||||||
id="admin.data_retention.customTitle"
|
id="admin.data_retention.customTitle"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -14,6 +14,8 @@ import {IDMappedObjects} from '@mattermost/types/utilities';
|
|||||||
import {ChannelWithTeamData} from '@mattermost/types/channels';
|
import {ChannelWithTeamData} from '@mattermost/types/channels';
|
||||||
|
|
||||||
import * as Utils from 'utils/utils';
|
import * as Utils from 'utils/utils';
|
||||||
|
import {getHistory} from 'utils/browser_history';
|
||||||
|
import {ItemStatus} from 'utils/constants';
|
||||||
|
|
||||||
import TitleAndButtonCardHeader from 'components/card/title_and_button_card_header/title_and_button_card_header';
|
import TitleAndButtonCardHeader from 'components/card/title_and_button_card_header/title_and_button_card_header';
|
||||||
import Card from 'components/card/card';
|
import Card from 'components/card/card';
|
||||||
@@ -26,9 +28,7 @@ import SaveButton from 'components/save_button';
|
|||||||
import TeamList from 'components/admin_console/data_retention_settings/team_list';
|
import TeamList from 'components/admin_console/data_retention_settings/team_list';
|
||||||
import ChannelList from 'components/admin_console/data_retention_settings/channel_list';
|
import ChannelList from 'components/admin_console/data_retention_settings/channel_list';
|
||||||
import {keepForeverOption, yearsOption, daysOption, FOREVER, YEARS} from 'components/admin_console/data_retention_settings/dropdown_options/dropdown_options';
|
import {keepForeverOption, yearsOption, daysOption, FOREVER, YEARS} from 'components/admin_console/data_retention_settings/dropdown_options/dropdown_options';
|
||||||
|
import AdminHeader from 'components/widgets/admin_console/admin_header';
|
||||||
import {getHistory} from 'utils/browser_history';
|
|
||||||
import {ItemStatus} from 'utils/constants';
|
|
||||||
|
|
||||||
import './custom_policy_form.scss';
|
import './custom_policy_form.scss';
|
||||||
|
|
||||||
@@ -308,7 +308,7 @@ export default class CustomPolicyForm extends React.PureComponent<Props, State>
|
|||||||
const {serverError, formErrorText} = this.state;
|
const {serverError, formErrorText} = this.state;
|
||||||
return (
|
return (
|
||||||
<div className='wrapper--fixed DataRetentionSettings'>
|
<div className='wrapper--fixed DataRetentionSettings'>
|
||||||
<div className='admin-console__header with-back'>
|
<AdminHeader withBackButton={true}>
|
||||||
<div>
|
<div>
|
||||||
<BlockableLink
|
<BlockableLink
|
||||||
to='/admin_console/compliance/data_retention_settings'
|
to='/admin_console/compliance/data_retention_settings'
|
||||||
@@ -319,7 +319,7 @@ export default class CustomPolicyForm extends React.PureComponent<Props, State>
|
|||||||
defaultMessage='Custom Retention Policy'
|
defaultMessage='Custom Retention Policy'
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div className='admin-console__wrapper'>
|
<div className='admin-console__wrapper'>
|
||||||
<div className='admin-console__content'>
|
<div className='admin-console__content'>
|
||||||
<Card
|
<Card
|
||||||
|
|||||||
@@ -8,20 +8,22 @@ import ReactSelect from 'react-select';
|
|||||||
import {AdminConfig} from '@mattermost/types/config';
|
import {AdminConfig} from '@mattermost/types/config';
|
||||||
import {DataRetentionCustomPolicies, DataRetentionCustomPolicy} from '@mattermost/types/data_retention';
|
import {DataRetentionCustomPolicies, DataRetentionCustomPolicy} from '@mattermost/types/data_retention';
|
||||||
import {DeepPartial} from '@mattermost/types/utilities';
|
import {DeepPartial} from '@mattermost/types/utilities';
|
||||||
|
|
||||||
import {JobTypes} from 'utils/constants';
|
|
||||||
import * as Utils from 'utils/utils';
|
|
||||||
import DataGrid, {Row, Column} from 'components/admin_console/data_grid/data_grid';
|
|
||||||
import Card from 'components/card/card';
|
|
||||||
import TitleAndButtonCardHeader from 'components/card/title_and_button_card_header/title_and_button_card_header';
|
|
||||||
|
|
||||||
import JobsTable from 'components/admin_console/jobs';
|
|
||||||
import MenuWrapper from 'components/widgets/menu/menu_wrapper';
|
|
||||||
import Menu from 'components/widgets/menu/menu';
|
|
||||||
import {getHistory} from 'utils/browser_history';
|
|
||||||
import {JobTypeBase, JobType} from '@mattermost/types/jobs';
|
import {JobTypeBase, JobType} from '@mattermost/types/jobs';
|
||||||
|
|
||||||
import {ActionResult} from 'mattermost-redux/types/actions';
|
import {ActionResult} from 'mattermost-redux/types/actions';
|
||||||
|
|
||||||
|
import {JobTypes} from 'utils/constants';
|
||||||
|
import * as Utils from 'utils/utils';
|
||||||
|
import {getHistory} from 'utils/browser_history';
|
||||||
|
|
||||||
|
import DataGrid, {Row, Column} from 'components/admin_console/data_grid/data_grid';
|
||||||
|
import Card from 'components/card/card';
|
||||||
|
import TitleAndButtonCardHeader from 'components/card/title_and_button_card_header/title_and_button_card_header';
|
||||||
|
import AdminHeader from 'components/widgets/admin_console/admin_header';
|
||||||
|
import JobsTable from 'components/admin_console/jobs';
|
||||||
|
import MenuWrapper from 'components/widgets/menu/menu_wrapper';
|
||||||
|
import Menu from 'components/widgets/menu/menu';
|
||||||
|
|
||||||
import './data_retention_settings.scss';
|
import './data_retention_settings.scss';
|
||||||
|
|
||||||
type OptionType = {
|
type OptionType = {
|
||||||
@@ -454,12 +456,12 @@ export default class DataRetentionSettings extends React.PureComponent<Props, St
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='wrapper--fixed DataRetentionSettings'>
|
<div className='wrapper--fixed DataRetentionSettings'>
|
||||||
<div className='admin-console__header'>
|
<AdminHeader>
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
id='admin.data_retention.settings.title'
|
id='admin.data_retention.settings.title'
|
||||||
defaultMessage='Data Retention Policies'
|
defaultMessage='Data Retention Policies'
|
||||||
/>
|
/>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div className='admin-console__wrapper'>
|
<div className='admin-console__wrapper'>
|
||||||
<div className='admin-console__content'>
|
<div className='admin-console__content'>
|
||||||
<Card
|
<Card
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ exports[`components/PluginManagement should match snapshot 1`] = `
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed DataRetentionSettings"
|
className="wrapper--fixed DataRetentionSettings"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader
|
||||||
className="admin-console__header with-back"
|
withBackButton={true}
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<Connect(BlockableLink)
|
<Connect(BlockableLink)
|
||||||
@@ -17,7 +17,7 @@ exports[`components/PluginManagement should match snapshot 1`] = `
|
|||||||
id="admin.data_retention.globalPolicyTitle"
|
id="admin.data_retention.globalPolicyTitle"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -6,17 +6,19 @@ import {FormattedMessage} from 'react-intl';
|
|||||||
|
|
||||||
import {AdminConfig} from '@mattermost/types/config';
|
import {AdminConfig} from '@mattermost/types/config';
|
||||||
import {DeepPartial} from '@mattermost/types/utilities';
|
import {DeepPartial} from '@mattermost/types/utilities';
|
||||||
|
import {ServerError} from '@mattermost/types/errors';
|
||||||
|
|
||||||
import * as Utils from 'utils/utils';
|
import * as Utils from 'utils/utils';
|
||||||
|
import {getHistory} from 'utils/browser_history';
|
||||||
|
|
||||||
import Card from 'components/card/card';
|
import Card from 'components/card/card';
|
||||||
import BlockableLink from 'components/admin_console/blockable_link';
|
import BlockableLink from 'components/admin_console/blockable_link';
|
||||||
import {getHistory} from 'utils/browser_history';
|
|
||||||
import DropdownInputHybrid from 'components/widgets/inputs/dropdown_input_hybrid';
|
import DropdownInputHybrid from 'components/widgets/inputs/dropdown_input_hybrid';
|
||||||
import {keepForeverOption, yearsOption, daysOption, FOREVER, YEARS, DAYS} from 'components/admin_console/data_retention_settings/dropdown_options/dropdown_options';
|
import {keepForeverOption, yearsOption, daysOption, FOREVER, YEARS, DAYS} from 'components/admin_console/data_retention_settings/dropdown_options/dropdown_options';
|
||||||
|
import SaveButton from 'components/save_button';
|
||||||
|
import AdminHeader from 'components/widgets/admin_console/admin_header';
|
||||||
|
|
||||||
import './global_policy_form.scss';
|
import './global_policy_form.scss';
|
||||||
import SaveButton from 'components/save_button';
|
|
||||||
import {ServerError} from '@mattermost/types/errors';
|
|
||||||
|
|
||||||
type ValueType = {
|
type ValueType = {
|
||||||
label: string | JSX.Element;
|
label: string | JSX.Element;
|
||||||
@@ -145,7 +147,7 @@ export default class GlobalPolicyForm extends React.PureComponent<Props, State>
|
|||||||
render = () => {
|
render = () => {
|
||||||
return (
|
return (
|
||||||
<div className='wrapper--fixed DataRetentionSettings'>
|
<div className='wrapper--fixed DataRetentionSettings'>
|
||||||
<div className='admin-console__header with-back'>
|
<AdminHeader withBackButton={true}>
|
||||||
<div>
|
<div>
|
||||||
<BlockableLink
|
<BlockableLink
|
||||||
to='/admin_console/compliance/data_retention_settings'
|
to='/admin_console/compliance/data_retention_settings'
|
||||||
@@ -156,7 +158,7 @@ export default class GlobalPolicyForm extends React.PureComponent<Props, State>
|
|||||||
defaultMessage='Global Retention Policy'
|
defaultMessage='Global Retention Policy'
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div className='admin-console__wrapper'>
|
<div className='admin-console__wrapper'>
|
||||||
<div className='admin-console__content'>
|
<div className='admin-console__content'>
|
||||||
<Card
|
<Card
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import {FormattedMessage} from 'react-intl';
|
|||||||
|
|
||||||
import {AdminConfig} from '@mattermost/types/config';
|
import {AdminConfig} from '@mattermost/types/config';
|
||||||
|
|
||||||
import FormattedAdminHeader from 'components/widgets/admin_console/formatted_admin_header';
|
import AdminHeader from 'components/widgets/admin_console/admin_header';
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
config: AdminConfig;
|
config: AdminConfig;
|
||||||
@@ -27,10 +27,12 @@ const FeatureFlags: React.FC<Props> = (props: Props) => {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='wrapper--admin'>
|
<div className='wrapper--admin'>
|
||||||
<FormattedAdminHeader
|
<AdminHeader>
|
||||||
|
<FormattedMessage
|
||||||
id='admin.feature_flags.title'
|
id='admin.feature_flags.title'
|
||||||
defaultMessage='Feature Flags'
|
defaultMessage='Features Flags'
|
||||||
/>
|
/>
|
||||||
|
</AdminHeader>
|
||||||
<div className='admin-console__wrapper'>
|
<div className='admin-console__wrapper'>
|
||||||
<div className='admin-logs-content admin-console__content'>
|
<div className='admin-logs-content admin-console__content'>
|
||||||
<div className={'banner info'}>
|
<div className={'banner info'}>
|
||||||
|
|||||||
@@ -4,14 +4,12 @@ exports[`components/admin_console/group_settings/GroupSettings should match snap
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader>
|
||||||
className="admin-console__header"
|
|
||||||
>
|
|
||||||
<MemoizedFormattedMessage
|
<MemoizedFormattedMessage
|
||||||
defaultMessage="Groups"
|
defaultMessage="Groups"
|
||||||
id="admin.group_settings.groupsPageTitle"
|
id="admin.group_settings.groupsPageTitle"
|
||||||
/>
|
/>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ exports[`components/admin_console/group_settings/group_details/GroupDetails shou
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader
|
||||||
className="admin-console__header with-back"
|
withBackButton={true}
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<Connect(BlockableLink)
|
<Connect(BlockableLink)
|
||||||
@@ -17,7 +17,7 @@ exports[`components/admin_console/group_settings/group_details/GroupDetails shou
|
|||||||
id="admin.group_settings.group_detail.group_configuration"
|
id="admin.group_settings.group_detail.group_configuration"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -154,8 +154,8 @@ exports[`components/admin_console/group_settings/group_details/GroupDetails shou
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader
|
||||||
className="admin-console__header with-back"
|
withBackButton={true}
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<Connect(BlockableLink)
|
<Connect(BlockableLink)
|
||||||
@@ -167,7 +167,7 @@ exports[`components/admin_console/group_settings/group_details/GroupDetails shou
|
|||||||
id="admin.group_settings.group_detail.group_configuration"
|
id="admin.group_settings.group_detail.group_configuration"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -303,8 +303,8 @@ exports[`components/admin_console/group_settings/group_details/GroupDetails shou
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader
|
||||||
className="admin-console__header with-back"
|
withBackButton={true}
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<Connect(BlockableLink)
|
<Connect(BlockableLink)
|
||||||
@@ -316,7 +316,7 @@ exports[`components/admin_console/group_settings/group_details/GroupDetails shou
|
|||||||
id="admin.group_settings.group_detail.group_configuration"
|
id="admin.group_settings.group_detail.group_configuration"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -441,8 +441,8 @@ exports[`components/admin_console/group_settings/group_details/GroupDetails shou
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader
|
||||||
className="admin-console__header with-back"
|
withBackButton={true}
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<Connect(BlockableLink)
|
<Connect(BlockableLink)
|
||||||
@@ -454,7 +454,7 @@ exports[`components/admin_console/group_settings/group_details/GroupDetails shou
|
|||||||
id="admin.group_settings.group_detail.group_configuration"
|
id="admin.group_settings.group_detail.group_configuration"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -2,21 +2,8 @@
|
|||||||
// See LICENSE.txt for license information.
|
// See LICENSE.txt for license information.
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
|
||||||
import {FormattedMessage} from 'react-intl';
|
import {FormattedMessage} from 'react-intl';
|
||||||
|
|
||||||
import BlockableLink from 'components/admin_console/blockable_link';
|
|
||||||
import {GroupProfileAndSettings} from 'components/admin_console/group_settings/group_details/group_profile_and_settings';
|
|
||||||
import GroupTeamsAndChannels from 'components/admin_console/group_settings/group_details/group_teams_and_channels';
|
|
||||||
import GroupUsers from 'components/admin_console/group_settings/group_details/group_users';
|
|
||||||
import SaveChangesPanel from 'components/admin_console/team_channel_settings/save_changes_panel';
|
|
||||||
import ChannelSelectorModal from 'components/channel_selector_modal';
|
|
||||||
import FormError from 'components/form_error';
|
|
||||||
import TeamSelectorModal from 'components/team_selector_modal';
|
|
||||||
import AdminPanel from 'components/widgets/admin_console/admin_panel';
|
|
||||||
import Menu from 'components/widgets/menu/menu';
|
|
||||||
import MenuWrapper from 'components/widgets/menu/menu_wrapper';
|
|
||||||
import {ActionResult} from 'mattermost-redux/types/actions';
|
|
||||||
import {ChannelWithTeamData} from '@mattermost/types/channels';
|
import {ChannelWithTeamData} from '@mattermost/types/channels';
|
||||||
import {
|
import {
|
||||||
Group,
|
Group,
|
||||||
@@ -28,10 +15,24 @@ import {
|
|||||||
} from '@mattermost/types/groups';
|
} from '@mattermost/types/groups';
|
||||||
import {Team} from '@mattermost/types/teams';
|
import {Team} from '@mattermost/types/teams';
|
||||||
import {UserProfile} from '@mattermost/types/users';
|
import {UserProfile} from '@mattermost/types/users';
|
||||||
|
import BlockableLink from 'components/admin_console/blockable_link';
|
||||||
|
|
||||||
import {t} from 'utils/i18n';
|
import {t} from 'utils/i18n';
|
||||||
import {localizeMessage} from 'utils/utils';
|
import {localizeMessage} from 'utils/utils';
|
||||||
|
|
||||||
|
import {GroupProfileAndSettings} from 'components/admin_console/group_settings/group_details/group_profile_and_settings';
|
||||||
|
import GroupTeamsAndChannels from 'components/admin_console/group_settings/group_details/group_teams_and_channels';
|
||||||
|
import GroupUsers from 'components/admin_console/group_settings/group_details/group_users';
|
||||||
|
import SaveChangesPanel from 'components/admin_console/team_channel_settings/save_changes_panel';
|
||||||
|
import ChannelSelectorModal from 'components/channel_selector_modal';
|
||||||
|
import FormError from 'components/form_error';
|
||||||
|
import TeamSelectorModal from 'components/team_selector_modal';
|
||||||
|
import AdminPanel from 'components/widgets/admin_console/admin_panel';
|
||||||
|
import Menu from 'components/widgets/menu/menu';
|
||||||
|
import MenuWrapper from 'components/widgets/menu/menu_wrapper';
|
||||||
|
import {ActionResult} from 'mattermost-redux/types/actions';
|
||||||
|
import AdminHeader from 'components/widgets/admin_console/admin_header';
|
||||||
|
|
||||||
export type Props = {
|
export type Props = {
|
||||||
groupID: string;
|
groupID: string;
|
||||||
group: Group;
|
group: Group;
|
||||||
@@ -646,7 +647,7 @@ export default class GroupDetails extends React.PureComponent<Props, State> {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='wrapper--fixed'>
|
<div className='wrapper--fixed'>
|
||||||
<div className='admin-console__header with-back'>
|
<AdminHeader withBackButton={true}>
|
||||||
<div>
|
<div>
|
||||||
<BlockableLink
|
<BlockableLink
|
||||||
to='/admin_console/user_management/groups'
|
to='/admin_console/user_management/groups'
|
||||||
@@ -657,7 +658,7 @@ export default class GroupDetails extends React.PureComponent<Props, State> {
|
|||||||
defaultMessage='Group Configuration'
|
defaultMessage='Group Configuration'
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
|
|
||||||
<div className='admin-console__wrapper'>
|
<div className='admin-console__wrapper'>
|
||||||
<div className='admin-console__content'>
|
<div className='admin-console__content'>
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import {getSiteURL} from 'utils/url';
|
|||||||
import GroupsList from 'components/admin_console/group_settings/groups_list';
|
import GroupsList from 'components/admin_console/group_settings/groups_list';
|
||||||
import AdminPanel from 'components/widgets/admin_console/admin_panel';
|
import AdminPanel from 'components/widgets/admin_console/admin_panel';
|
||||||
import ExternalLink from 'components/external_link';
|
import ExternalLink from 'components/external_link';
|
||||||
|
import AdminHeader from 'components/widgets/admin_console/admin_header';
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
isDisabled?: boolean;
|
isDisabled?: boolean;
|
||||||
@@ -19,13 +20,12 @@ const GroupSettings = ({isDisabled}: Props) => {
|
|||||||
const siteURL = getSiteURL();
|
const siteURL = getSiteURL();
|
||||||
return (
|
return (
|
||||||
<div className='wrapper--fixed'>
|
<div className='wrapper--fixed'>
|
||||||
<div className='admin-console__header'>
|
<AdminHeader>
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
id='admin.group_settings.groupsPageTitle'
|
id='admin.group_settings.groupsPageTitle'
|
||||||
defaultMessage='Groups'
|
defaultMessage='Groups'
|
||||||
/>
|
/>
|
||||||
</div>
|
</AdminHeader>
|
||||||
|
|
||||||
<div className='admin-console__wrapper'>
|
<div className='admin-console__wrapper'>
|
||||||
<div className='admin-console__content'>
|
<div className='admin-console__content'>
|
||||||
<div className={'banner info'}>
|
<div className={'banner info'}>
|
||||||
|
|||||||
@@ -4,11 +4,12 @@ exports[`components/admin_console/license_settings/LicenseSettings load screen a
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<FormattedAdminHeader
|
<AdminHeader>
|
||||||
|
<MemoizedFormattedMessage
|
||||||
defaultMessage="Edition and License"
|
defaultMessage="Edition and License"
|
||||||
id="admin.license.title"
|
id="admin.license.title"
|
||||||
values={Object {}}
|
|
||||||
/>
|
/>
|
||||||
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -108,11 +109,12 @@ exports[`components/admin_console/license_settings/LicenseSettings load screen w
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<FormattedAdminHeader
|
<AdminHeader>
|
||||||
|
<MemoizedFormattedMessage
|
||||||
defaultMessage="Edition and License"
|
defaultMessage="Edition and License"
|
||||||
id="admin.license.title"
|
id="admin.license.title"
|
||||||
values={Object {}}
|
|
||||||
/>
|
/>
|
||||||
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -212,11 +214,12 @@ exports[`components/admin_console/license_settings/LicenseSettings should match
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<FormattedAdminHeader
|
<AdminHeader>
|
||||||
|
<MemoizedFormattedMessage
|
||||||
defaultMessage="Edition and License"
|
defaultMessage="Edition and License"
|
||||||
id="admin.license.title"
|
id="admin.license.title"
|
||||||
values={Object {}}
|
|
||||||
/>
|
/>
|
||||||
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -347,11 +350,12 @@ exports[`components/admin_console/license_settings/LicenseSettings should match
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<FormattedAdminHeader
|
<AdminHeader>
|
||||||
|
<MemoizedFormattedMessage
|
||||||
defaultMessage="Edition and License"
|
defaultMessage="Edition and License"
|
||||||
id="admin.license.title"
|
id="admin.license.title"
|
||||||
values={Object {}}
|
|
||||||
/>
|
/>
|
||||||
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -470,11 +474,12 @@ exports[`components/admin_console/license_settings/LicenseSettings should match
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<FormattedAdminHeader
|
<AdminHeader>
|
||||||
|
<MemoizedFormattedMessage
|
||||||
defaultMessage="Edition and License"
|
defaultMessage="Edition and License"
|
||||||
id="admin.license.title"
|
id="admin.license.title"
|
||||||
values={Object {}}
|
|
||||||
/>
|
/>
|
||||||
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -593,11 +598,12 @@ exports[`components/admin_console/license_settings/LicenseSettings should match
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<FormattedAdminHeader
|
<AdminHeader>
|
||||||
|
<MemoizedFormattedMessage
|
||||||
defaultMessage="Edition and License"
|
defaultMessage="Edition and License"
|
||||||
id="admin.license.title"
|
id="admin.license.title"
|
||||||
values={Object {}}
|
|
||||||
/>
|
/>
|
||||||
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -716,11 +722,12 @@ exports[`components/admin_console/license_settings/LicenseSettings should match
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<FormattedAdminHeader
|
<AdminHeader>
|
||||||
|
<MemoizedFormattedMessage
|
||||||
defaultMessage="Edition and License"
|
defaultMessage="Edition and License"
|
||||||
id="admin.license.title"
|
id="admin.license.title"
|
||||||
values={Object {}}
|
|
||||||
/>
|
/>
|
||||||
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -839,11 +846,12 @@ exports[`components/admin_console/license_settings/LicenseSettings should match
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<FormattedAdminHeader
|
<AdminHeader>
|
||||||
|
<MemoizedFormattedMessage
|
||||||
defaultMessage="Edition and License"
|
defaultMessage="Edition and License"
|
||||||
id="admin.license.title"
|
id="admin.license.title"
|
||||||
values={Object {}}
|
|
||||||
/>
|
/>
|
||||||
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -962,11 +970,12 @@ exports[`components/admin_console/license_settings/LicenseSettings should match
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<FormattedAdminHeader
|
<AdminHeader>
|
||||||
|
<MemoizedFormattedMessage
|
||||||
defaultMessage="Edition and License"
|
defaultMessage="Edition and License"
|
||||||
id="admin.license.title"
|
id="admin.license.title"
|
||||||
values={Object {}}
|
|
||||||
/>
|
/>
|
||||||
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -1062,11 +1071,12 @@ exports[`components/admin_console/license_settings/LicenseSettings should match
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<FormattedAdminHeader
|
<AdminHeader>
|
||||||
|
<MemoizedFormattedMessage
|
||||||
defaultMessage="Edition and License"
|
defaultMessage="Edition and License"
|
||||||
id="admin.license.title"
|
id="admin.license.title"
|
||||||
values={Object {}}
|
|
||||||
/>
|
/>
|
||||||
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -1173,11 +1183,12 @@ exports[`components/admin_console/license_settings/LicenseSettings should match
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<FormattedAdminHeader
|
<AdminHeader>
|
||||||
|
<MemoizedFormattedMessage
|
||||||
defaultMessage="Edition and License"
|
defaultMessage="Edition and License"
|
||||||
id="admin.license.title"
|
id="admin.license.title"
|
||||||
values={Object {}}
|
|
||||||
/>
|
/>
|
||||||
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -1284,11 +1295,12 @@ exports[`components/admin_console/license_settings/LicenseSettings should match
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<FormattedAdminHeader
|
<AdminHeader>
|
||||||
|
<MemoizedFormattedMessage
|
||||||
defaultMessage="Edition and License"
|
defaultMessage="Edition and License"
|
||||||
id="admin.license.title"
|
id="admin.license.title"
|
||||||
values={Object {}}
|
|
||||||
/>
|
/>
|
||||||
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -1388,11 +1400,12 @@ exports[`components/admin_console/license_settings/LicenseSettings should match
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<FormattedAdminHeader
|
<AdminHeader>
|
||||||
|
<MemoizedFormattedMessage
|
||||||
defaultMessage="Edition and License"
|
defaultMessage="Edition and License"
|
||||||
id="admin.license.title"
|
id="admin.license.title"
|
||||||
values={Object {}}
|
|
||||||
/>
|
/>
|
||||||
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -1501,11 +1514,12 @@ exports[`components/admin_console/license_settings/LicenseSettings should match
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<FormattedAdminHeader
|
<AdminHeader>
|
||||||
|
<MemoizedFormattedMessage
|
||||||
defaultMessage="Edition and License"
|
defaultMessage="Edition and License"
|
||||||
id="admin.license.title"
|
id="admin.license.title"
|
||||||
values={Object {}}
|
|
||||||
/>
|
/>
|
||||||
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -1597,11 +1611,12 @@ exports[`components/admin_console/license_settings/LicenseSettings should match
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<FormattedAdminHeader
|
<AdminHeader>
|
||||||
|
<MemoizedFormattedMessage
|
||||||
defaultMessage="Edition and License"
|
defaultMessage="Edition and License"
|
||||||
id="admin.license.title"
|
id="admin.license.title"
|
||||||
values={Object {}}
|
|
||||||
/>
|
/>
|
||||||
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -1704,11 +1719,12 @@ exports[`components/admin_console/license_settings/LicenseSettings should match
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<FormattedAdminHeader
|
<AdminHeader>
|
||||||
|
<MemoizedFormattedMessage
|
||||||
defaultMessage="Edition and License"
|
defaultMessage="Edition and License"
|
||||||
id="admin.license.title"
|
id="admin.license.title"
|
||||||
values={Object {}}
|
|
||||||
/>
|
/>
|
||||||
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -2,28 +2,27 @@
|
|||||||
// See LICENSE.txt for license information.
|
// See LICENSE.txt for license information.
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import {FormattedMessage} from 'react-intl';
|
||||||
|
|
||||||
|
import {ActionResult} from 'mattermost-redux/types/actions';
|
||||||
|
|
||||||
import {ClientLicense} from '@mattermost/types/config';
|
import {ClientLicense} from '@mattermost/types/config';
|
||||||
import {ActionResult} from 'mattermost-redux/types/actions';
|
|
||||||
import {StatusOK} from '@mattermost/types/client4';
|
import {StatusOK} from '@mattermost/types/client4';
|
||||||
|
|
||||||
import {isLicenseExpired, isLicenseExpiring, isTrialLicense, isEnterpriseOrE20License, licenseSKUWithFirstLetterCapitalized} from 'utils/license_utils';
|
|
||||||
|
|
||||||
import {trackEvent} from 'actions/telemetry_actions';
|
|
||||||
|
|
||||||
import {GetFilteredUsersStatsOpts, UsersStats} from '@mattermost/types/users';
|
import {GetFilteredUsersStatsOpts, UsersStats} from '@mattermost/types/users';
|
||||||
import {ServerError} from '@mattermost/types/errors';
|
import {ServerError} from '@mattermost/types/errors';
|
||||||
|
|
||||||
import FormattedAdminHeader from 'components/widgets/admin_console/formatted_admin_header';
|
import {isLicenseExpired, isLicenseExpiring, isTrialLicense, isEnterpriseOrE20License, licenseSKUWithFirstLetterCapitalized} from 'utils/license_utils';
|
||||||
import ExternalLink from 'components/external_link';
|
|
||||||
|
|
||||||
import {AboutLinks, CloudLinks, ModalIdentifiers} from 'utils/constants';
|
import {AboutLinks, CloudLinks, ModalIdentifiers} from 'utils/constants';
|
||||||
|
|
||||||
import {ModalData} from 'types/actions';
|
import {ModalData} from 'types/actions';
|
||||||
|
|
||||||
|
import {trackEvent} from 'actions/telemetry_actions';
|
||||||
|
|
||||||
|
import ExternalLink from 'components/external_link';
|
||||||
|
import AdminHeader from 'components/widgets/admin_console/admin_header';
|
||||||
|
|
||||||
import RenewLinkCard from './renew_license_card/renew_license_card';
|
import RenewLinkCard from './renew_license_card/renew_license_card';
|
||||||
import TrialLicenseCard from './trial_license_card/trial_license_card';
|
import TrialLicenseCard from './trial_license_card/trial_license_card';
|
||||||
|
|
||||||
import TeamEditionLeftPanel from './team_edition/team_edition_left_panel';
|
import TeamEditionLeftPanel from './team_edition/team_edition_left_panel';
|
||||||
import TeamEditionRightPanel from './team_edition/team_edition_right_panel';
|
import TeamEditionRightPanel from './team_edition/team_edition_right_panel';
|
||||||
import StarterLeftPanel from './starter_edition/starter_left_panel';
|
import StarterLeftPanel from './starter_edition/starter_left_panel';
|
||||||
@@ -332,11 +331,12 @@ export default class LicenseSettings extends React.PureComponent<Props, State> {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='wrapper--fixed'>
|
<div className='wrapper--fixed'>
|
||||||
<FormattedAdminHeader
|
<AdminHeader>
|
||||||
|
<FormattedMessage
|
||||||
id='admin.license.title'
|
id='admin.license.title'
|
||||||
defaultMessage='Edition and License'
|
defaultMessage='Edition and License'
|
||||||
/>
|
/>
|
||||||
|
</AdminHeader>
|
||||||
<div className='admin-console__wrapper'>
|
<div className='admin-console__wrapper'>
|
||||||
<div className='admin-console__content'>
|
<div className='admin-console__content'>
|
||||||
<div className='admin-console__banner_section'>
|
<div className='admin-console__banner_section'>
|
||||||
|
|||||||
@@ -6,11 +6,12 @@ exports[`components/admin_console/permission_schemes_settings/permission_schemes
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<FormattedAdminHeader
|
<AdminHeader>
|
||||||
|
<MemoizedFormattedMessage
|
||||||
defaultMessage="Permission Schemes"
|
defaultMessage="Permission Schemes"
|
||||||
id="admin.permissions.permissionSchemes"
|
id="admin.permissions.permissionSchemes"
|
||||||
values={Object {}}
|
|
||||||
/>
|
/>
|
||||||
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -109,11 +110,12 @@ exports[`components/admin_console/permission_schemes_settings/permission_schemes
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<FormattedAdminHeader
|
<AdminHeader>
|
||||||
|
<MemoizedFormattedMessage
|
||||||
defaultMessage="Permission Schemes"
|
defaultMessage="Permission Schemes"
|
||||||
id="admin.permissions.permissionSchemes"
|
id="admin.permissions.permissionSchemes"
|
||||||
values={Object {}}
|
|
||||||
/>
|
/>
|
||||||
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -190,11 +192,12 @@ exports[`components/admin_console/permission_schemes_settings/permission_schemes
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<FormattedAdminHeader
|
<AdminHeader>
|
||||||
|
<MemoizedFormattedMessage
|
||||||
defaultMessage="Permission Schemes"
|
defaultMessage="Permission Schemes"
|
||||||
id="admin.permissions.permissionSchemes"
|
id="admin.permissions.permissionSchemes"
|
||||||
values={Object {}}
|
|
||||||
/>
|
/>
|
||||||
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -319,11 +322,12 @@ exports[`components/admin_console/permission_schemes_settings/permission_schemes
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<FormattedAdminHeader
|
<AdminHeader>
|
||||||
|
<MemoizedFormattedMessage
|
||||||
defaultMessage="Permission Schemes"
|
defaultMessage="Permission Schemes"
|
||||||
id="admin.permissions.permissionSchemes"
|
id="admin.permissions.permissionSchemes"
|
||||||
values={Object {}}
|
|
||||||
/>
|
/>
|
||||||
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -448,11 +452,12 @@ exports[`components/admin_console/permission_schemes_settings/permission_schemes
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<FormattedAdminHeader
|
<AdminHeader>
|
||||||
|
<MemoizedFormattedMessage
|
||||||
defaultMessage="Permission Schemes"
|
defaultMessage="Permission Schemes"
|
||||||
id="admin.permissions.permissionSchemes"
|
id="admin.permissions.permissionSchemes"
|
||||||
values={Object {}}
|
|
||||||
/>
|
/>
|
||||||
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -3,25 +3,21 @@
|
|||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import {FormattedMessage} from 'react-intl';
|
import {FormattedMessage} from 'react-intl';
|
||||||
|
|
||||||
import {RouteComponentProps} from 'react-router-dom';
|
import {RouteComponentProps} from 'react-router-dom';
|
||||||
|
|
||||||
import {t} from 'utils/i18n';
|
|
||||||
import * as Utils from 'utils/utils';
|
|
||||||
|
|
||||||
import LoadingScreen from 'components/loading_screen';
|
|
||||||
import LoadingWrapper from 'components/widgets/loading/loading_wrapper';
|
|
||||||
|
|
||||||
import FormattedAdminHeader from 'components/widgets/admin_console/formatted_admin_header';
|
|
||||||
import AdminPanelWithLink from 'components/widgets/admin_console/admin_panel_with_link';
|
|
||||||
|
|
||||||
import {ActionResult} from 'mattermost-redux/types/actions';
|
|
||||||
|
|
||||||
import {Scheme, SchemeScope, SchemesState} from '@mattermost/types/schemes';
|
import {Scheme, SchemeScope, SchemesState} from '@mattermost/types/schemes';
|
||||||
|
|
||||||
import {LicenseSkus} from 'utils/constants';
|
import {ActionResult} from 'mattermost-redux/types/actions';
|
||||||
|
|
||||||
|
import LoadingScreen from 'components/loading_screen';
|
||||||
|
import LoadingWrapper from 'components/widgets/loading/loading_wrapper';
|
||||||
|
import AdminPanelWithLink from 'components/widgets/admin_console/admin_panel_with_link';
|
||||||
import ExternalLink from 'components/external_link';
|
import ExternalLink from 'components/external_link';
|
||||||
|
import AdminHeader from 'components/widgets/admin_console/admin_header';
|
||||||
|
|
||||||
|
import {t} from 'utils/i18n';
|
||||||
|
import {LicenseSkus} from 'utils/constants';
|
||||||
|
import * as Utils from 'utils/utils';
|
||||||
|
|
||||||
import PermissionsSchemeSummary from './permissions_scheme_summary';
|
import PermissionsSchemeSummary from './permissions_scheme_summary';
|
||||||
|
|
||||||
@@ -222,11 +218,12 @@ export default class PermissionSchemesSettings extends React.PureComponent<Props
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='wrapper--fixed'>
|
<div className='wrapper--fixed'>
|
||||||
<FormattedAdminHeader
|
<AdminHeader>
|
||||||
|
<FormattedMessage
|
||||||
id='admin.permissions.permissionSchemes'
|
id='admin.permissions.permissionSchemes'
|
||||||
defaultMessage='Permission Schemes'
|
defaultMessage='Permission Schemes'
|
||||||
/>
|
/>
|
||||||
|
</AdminHeader>
|
||||||
<div className='admin-console__wrapper'>
|
<div className='admin-console__wrapper'>
|
||||||
<div className='admin-console__content'>
|
<div className='admin-console__content'>
|
||||||
<div className='banner info'>
|
<div className='banner info'>
|
||||||
|
|||||||
@@ -147,8 +147,8 @@ exports[`components/admin_console/permission_schemes_settings/permission_system_
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader
|
||||||
className="admin-console__header with-back"
|
withBackButton={true}
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<Connect(BlockableLink)
|
<Connect(BlockableLink)
|
||||||
@@ -160,7 +160,7 @@ exports[`components/admin_console/permission_schemes_settings/permission_system_
|
|||||||
id="admin.permissions.systemScheme"
|
id="admin.permissions.systemScheme"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -457,8 +457,8 @@ exports[`components/admin_console/permission_schemes_settings/permission_system_
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader
|
||||||
className="admin-console__header with-back"
|
withBackButton={true}
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<Connect(BlockableLink)
|
<Connect(BlockableLink)
|
||||||
@@ -470,7 +470,7 @@ exports[`components/admin_console/permission_schemes_settings/permission_system_
|
|||||||
id="admin.permissions.systemScheme"
|
id="admin.permissions.systemScheme"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -768,8 +768,8 @@ exports[`components/admin_console/permission_schemes_settings/permission_system_
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader
|
||||||
className="admin-console__header with-back"
|
withBackButton={true}
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<Connect(BlockableLink)
|
<Connect(BlockableLink)
|
||||||
@@ -781,7 +781,7 @@ exports[`components/admin_console/permission_schemes_settings/permission_system_
|
|||||||
id="admin.permissions.systemScheme"
|
id="admin.permissions.systemScheme"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -1079,8 +1079,8 @@ exports[`components/admin_console/permission_schemes_settings/permission_system_
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader
|
||||||
className="admin-console__header with-back"
|
withBackButton={true}
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<Connect(BlockableLink)
|
<Connect(BlockableLink)
|
||||||
@@ -1092,7 +1092,7 @@ exports[`components/admin_console/permission_schemes_settings/permission_system_
|
|||||||
id="admin.permissions.systemScheme"
|
id="admin.permissions.systemScheme"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -4,9 +4,10 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import {FormattedMessage} from 'react-intl';
|
import {FormattedMessage} from 'react-intl';
|
||||||
|
|
||||||
import GeneralConstants from 'mattermost-redux/constants/general';
|
|
||||||
import {ClientConfig, ClientLicense} from '@mattermost/types/config';
|
import {ClientConfig, ClientLicense} from '@mattermost/types/config';
|
||||||
import {Role} from '@mattermost/types/roles';
|
import {Role} from '@mattermost/types/roles';
|
||||||
|
|
||||||
|
import GeneralConstants from 'mattermost-redux/constants/general';
|
||||||
import {ActionResult} from 'mattermost-redux/types/actions';
|
import {ActionResult} from 'mattermost-redux/types/actions';
|
||||||
|
|
||||||
import {PermissionsScope, DefaultRolePermissions} from 'utils/constants';
|
import {PermissionsScope, DefaultRolePermissions} from 'utils/constants';
|
||||||
@@ -19,11 +20,12 @@ import LoadingScreen from 'components/loading_screen';
|
|||||||
import FormError from 'components/form_error';
|
import FormError from 'components/form_error';
|
||||||
import BlockableLink from 'components/admin_console/blockable_link';
|
import BlockableLink from 'components/admin_console/blockable_link';
|
||||||
import AdminPanelTogglable from 'components/widgets/admin_console/admin_panel_togglable';
|
import AdminPanelTogglable from 'components/widgets/admin_console/admin_panel_togglable';
|
||||||
|
import ExternalLink from 'components/external_link';
|
||||||
|
import AdminHeader from 'components/widgets/admin_console/admin_header';
|
||||||
|
|
||||||
import PermissionsTree, {EXCLUDED_PERMISSIONS} from '../permissions_tree';
|
import PermissionsTree, {EXCLUDED_PERMISSIONS} from '../permissions_tree';
|
||||||
import GuestPermissionsTree, {GUEST_INCLUDED_PERMISSIONS} from '../guest_permissions_tree';
|
import GuestPermissionsTree, {GUEST_INCLUDED_PERMISSIONS} from '../guest_permissions_tree';
|
||||||
import PermissionsTreePlaybooks from '../permissions_tree_playbooks';
|
import PermissionsTreePlaybooks from '../permissions_tree_playbooks';
|
||||||
import ExternalLink from 'components/external_link';
|
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
config: Partial<ClientConfig>;
|
config: Partial<ClientConfig>;
|
||||||
@@ -351,7 +353,7 @@ export default class PermissionSystemSchemeSettings extends React.PureComponent<
|
|||||||
const isLicensed = this.props.license?.IsLicensed === 'true';
|
const isLicensed = this.props.license?.IsLicensed === 'true';
|
||||||
return (
|
return (
|
||||||
<div className='wrapper--fixed'>
|
<div className='wrapper--fixed'>
|
||||||
<div className='admin-console__header with-back'>
|
<AdminHeader withBackButton={true}>
|
||||||
<div>
|
<div>
|
||||||
<BlockableLink
|
<BlockableLink
|
||||||
to='/admin_console/user_management/permissions'
|
to='/admin_console/user_management/permissions'
|
||||||
@@ -362,7 +364,7 @@ export default class PermissionSystemSchemeSettings extends React.PureComponent<
|
|||||||
defaultMessage='System Scheme'
|
defaultMessage='System Scheme'
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
|
|
||||||
<div className='admin-console__wrapper'>
|
<div className='admin-console__wrapper'>
|
||||||
<div className='admin-console__content'>
|
<div className='admin-console__content'>
|
||||||
|
|||||||
@@ -30,8 +30,8 @@ exports[`components/admin_console/permission_schemes_settings/permission_team_sc
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader
|
||||||
className="admin-console__header with-back"
|
withBackButton={true}
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<Connect(BlockableLink)
|
<Connect(BlockableLink)
|
||||||
@@ -43,7 +43,7 @@ exports[`components/admin_console/permission_schemes_settings/permission_team_sc
|
|||||||
id="admin.permissions.teamScheme"
|
id="admin.permissions.teamScheme"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -360,8 +360,8 @@ exports[`components/admin_console/permission_schemes_settings/permission_team_sc
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader
|
||||||
className="admin-console__header with-back"
|
withBackButton={true}
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<Connect(BlockableLink)
|
<Connect(BlockableLink)
|
||||||
@@ -373,7 +373,7 @@ exports[`components/admin_console/permission_schemes_settings/permission_team_sc
|
|||||||
id="admin.permissions.teamScheme"
|
id="admin.permissions.teamScheme"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -713,8 +713,8 @@ exports[`components/admin_console/permission_schemes_settings/permission_team_sc
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader
|
||||||
className="admin-console__header with-back"
|
withBackButton={true}
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<Connect(BlockableLink)
|
<Connect(BlockableLink)
|
||||||
@@ -726,7 +726,7 @@ exports[`components/admin_console/permission_schemes_settings/permission_team_sc
|
|||||||
id="admin.permissions.teamScheme"
|
id="admin.permissions.teamScheme"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -1134,8 +1134,8 @@ exports[`components/admin_console/permission_schemes_settings/permission_team_sc
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader
|
||||||
className="admin-console__header with-back"
|
withBackButton={true}
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<Connect(BlockableLink)
|
<Connect(BlockableLink)
|
||||||
@@ -1147,7 +1147,7 @@ exports[`components/admin_console/permission_schemes_settings/permission_team_sc
|
|||||||
id="admin.permissions.teamScheme"
|
id="admin.permissions.teamScheme"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -5,6 +5,15 @@ import React from 'react';
|
|||||||
import {FormattedMessage} from 'react-intl';
|
import {FormattedMessage} from 'react-intl';
|
||||||
import {RouteComponentProps} from 'react-router-dom';
|
import {RouteComponentProps} from 'react-router-dom';
|
||||||
|
|
||||||
|
import {Scheme, SchemePatch} from '@mattermost/types/schemes';
|
||||||
|
import {Role} from '@mattermost/types/roles';
|
||||||
|
import {ClientConfig, ClientLicense} from '@mattermost/types/config';
|
||||||
|
import {Team} from '@mattermost/types/teams';
|
||||||
|
import {ServerError} from '@mattermost/types/errors';
|
||||||
|
|
||||||
|
import {ActionFunc, ActionResult} from 'mattermost-redux/types/actions';
|
||||||
|
import GeneralConstants from 'mattermost-redux/constants/general';
|
||||||
|
|
||||||
import {PermissionsScope, ModalIdentifiers} from 'utils/constants';
|
import {PermissionsScope, ModalIdentifiers} from 'utils/constants';
|
||||||
import {localizeMessage} from 'utils/utils';
|
import {localizeMessage} from 'utils/utils';
|
||||||
import {t} from 'utils/i18n';
|
import {t} from 'utils/i18n';
|
||||||
@@ -17,25 +26,13 @@ import BlockableLink from 'components/admin_console/blockable_link';
|
|||||||
import AdminPanel from 'components/widgets/admin_console/admin_panel';
|
import AdminPanel from 'components/widgets/admin_console/admin_panel';
|
||||||
import AdminPanelTogglable from 'components/widgets/admin_console/admin_panel_togglable';
|
import AdminPanelTogglable from 'components/widgets/admin_console/admin_panel_togglable';
|
||||||
import AdminPanelWithButton from 'components/widgets/admin_console/admin_panel_with_button';
|
import AdminPanelWithButton from 'components/widgets/admin_console/admin_panel_with_button';
|
||||||
|
import LocalizedInput from 'components/localized_input/localized_input';
|
||||||
|
import ExternalLink from 'components/external_link';
|
||||||
|
import AdminHeader from 'components/widgets/admin_console/admin_header';
|
||||||
|
|
||||||
import PermissionsTree, {EXCLUDED_PERMISSIONS} from '../permissions_tree';
|
import PermissionsTree, {EXCLUDED_PERMISSIONS} from '../permissions_tree';
|
||||||
import GuestPermissionsTree, {GUEST_INCLUDED_PERMISSIONS} from '../guest_permissions_tree';
|
import GuestPermissionsTree, {GUEST_INCLUDED_PERMISSIONS} from '../guest_permissions_tree';
|
||||||
|
|
||||||
import LocalizedInput from 'components/localized_input/localized_input';
|
|
||||||
|
|
||||||
import {Scheme, SchemePatch} from '@mattermost/types/schemes';
|
|
||||||
import {Role} from '@mattermost/types/roles';
|
|
||||||
import {ClientConfig, ClientLicense} from '@mattermost/types/config';
|
|
||||||
import {Team} from '@mattermost/types/teams';
|
|
||||||
import {ActionFunc, ActionResult} from 'mattermost-redux/types/actions';
|
|
||||||
import {ServerError} from '@mattermost/types/errors';
|
|
||||||
|
|
||||||
import PermissionsTreePlaybooks from '../permissions_tree_playbooks';
|
import PermissionsTreePlaybooks from '../permissions_tree_playbooks';
|
||||||
|
|
||||||
import GeneralConstants from 'mattermost-redux/constants/general';
|
|
||||||
|
|
||||||
import ExternalLink from 'components/external_link';
|
|
||||||
|
|
||||||
import TeamInList from './team_in_list';
|
import TeamInList from './team_in_list';
|
||||||
|
|
||||||
type RolesMap = {
|
type RolesMap = {
|
||||||
@@ -591,7 +588,7 @@ export default class PermissionTeamSchemeSettings extends React.PureComponent<Pr
|
|||||||
alreadySelected={teams.map((team) => team.id)}
|
alreadySelected={teams.map((team) => team.id)}
|
||||||
/>
|
/>
|
||||||
}
|
}
|
||||||
<div className='admin-console__header with-back'>
|
<AdminHeader withBackButton={true}>
|
||||||
<div>
|
<div>
|
||||||
<BlockableLink
|
<BlockableLink
|
||||||
to='/admin_console/user_management/permissions'
|
to='/admin_console/user_management/permissions'
|
||||||
@@ -602,7 +599,7 @@ export default class PermissionTeamSchemeSettings extends React.PureComponent<Pr
|
|||||||
defaultMessage='Team Scheme'
|
defaultMessage='Team Scheme'
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
|
|
||||||
<div className='admin-console__wrapper'>
|
<div className='admin-console__wrapper'>
|
||||||
<div className='admin-console__content'>
|
<div className='admin-console__content'>
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import * as I18n from 'i18n/i18n.jsx';
|
|||||||
import Constants from 'utils/constants';
|
import Constants from 'utils/constants';
|
||||||
import {rolesFromMapping, mappingValueFromRoles} from 'utils/policy_roles_adapter';
|
import {rolesFromMapping, mappingValueFromRoles} from 'utils/policy_roles_adapter';
|
||||||
import * as Utils from 'utils/utils';
|
import * as Utils from 'utils/utils';
|
||||||
|
|
||||||
import RequestButton from 'components/admin_console/request_button/request_button';
|
import RequestButton from 'components/admin_console/request_button/request_button';
|
||||||
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';
|
||||||
@@ -30,11 +31,8 @@ import SaveButton from 'components/save_button';
|
|||||||
import FormError from 'components/form_error';
|
import FormError from 'components/form_error';
|
||||||
import Tooltip from 'components/tooltip';
|
import Tooltip from 'components/tooltip';
|
||||||
import WarningIcon from 'components/widgets/icons/fa_warning_icon';
|
import WarningIcon from 'components/widgets/icons/fa_warning_icon';
|
||||||
|
|
||||||
import FormattedMarkdownMessage from 'components/formatted_markdown_message';
|
import FormattedMarkdownMessage from 'components/formatted_markdown_message';
|
||||||
|
|
||||||
import AdminHeader from 'components/widgets/admin_console/admin_header';
|
import AdminHeader from 'components/widgets/admin_console/admin_header';
|
||||||
import FormattedAdminHeader from 'components/widgets/admin_console/formatted_admin_header';
|
|
||||||
|
|
||||||
import Setting from './setting';
|
import Setting from './setting';
|
||||||
|
|
||||||
@@ -282,10 +280,12 @@ export default class SchemaAdminSettings extends React.PureComponent {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
<FormattedAdminHeader
|
<AdminHeader>
|
||||||
|
<FormattedMessage
|
||||||
id={this.props.schema.name || this.props.schema.id}
|
id={this.props.schema.name || this.props.schema.id}
|
||||||
defaultMessage={this.props.schema.name_default || this.props.schema.id}
|
defaultMessage={this.props.schema.name_default || this.props.schema.id}
|
||||||
/>
|
/>
|
||||||
|
</AdminHeader>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -7,8 +7,6 @@ import {debounce} from 'lodash';
|
|||||||
|
|
||||||
import {ActionFunc} from 'mattermost-redux/types/actions';
|
import {ActionFunc} from 'mattermost-redux/types/actions';
|
||||||
|
|
||||||
import FormattedAdminHeader from 'components/widgets/admin_console/formatted_admin_header';
|
|
||||||
|
|
||||||
import {
|
import {
|
||||||
LogFilter,
|
LogFilter,
|
||||||
LogLevels,
|
LogLevels,
|
||||||
@@ -16,6 +14,8 @@ import {
|
|||||||
LogServerNames,
|
LogServerNames,
|
||||||
} from '@mattermost/types/admin';
|
} from '@mattermost/types/admin';
|
||||||
|
|
||||||
|
import AdminHeader from 'components/widgets/admin_console/admin_header';
|
||||||
|
|
||||||
import LogList from './log_list';
|
import LogList from './log_list';
|
||||||
import PlainLogList from './plain_log_list';
|
import PlainLogList from './plain_log_list';
|
||||||
|
|
||||||
@@ -196,11 +196,12 @@ export default class Logs extends React.PureComponent<Props, State> {
|
|||||||
);
|
);
|
||||||
return (
|
return (
|
||||||
<div className='wrapper--admin'>
|
<div className='wrapper--admin'>
|
||||||
<FormattedAdminHeader
|
<AdminHeader>
|
||||||
|
<FormattedMessage
|
||||||
id='admin.logs.title'
|
id='admin.logs.title'
|
||||||
defaultMessage='Server Logs'
|
defaultMessage='Server Logs'
|
||||||
/>
|
/>
|
||||||
|
</AdminHeader>
|
||||||
<div className='admin-console__wrapper'>
|
<div className='admin-console__wrapper'>
|
||||||
<div className='admin-logs-content admin-console__content'>
|
<div className='admin-logs-content admin-console__content'>
|
||||||
{content}
|
{content}
|
||||||
|
|||||||
@@ -4,11 +4,12 @@ exports[`admin_console/system_roles should match snapshot 1`] = `
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<FormattedAdminHeader
|
<AdminHeader>
|
||||||
|
<MemoizedFormattedMessage
|
||||||
defaultMessage="System Roles"
|
defaultMessage="System Roles"
|
||||||
id="admin.permissions.systemRoles"
|
id="admin.permissions.systemRoles"
|
||||||
values={Object {}}
|
|
||||||
/>
|
/>
|
||||||
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ exports[`admin_console/system_role should match snapshot 1`] = `
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader
|
||||||
className="admin-console__header with-back"
|
withBackButton={true}
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<Connect(BlockableLink)
|
<Connect(BlockableLink)
|
||||||
@@ -17,7 +17,7 @@ exports[`admin_console/system_role should match snapshot 1`] = `
|
|||||||
id="admin.permissions.roles.role_name.name"
|
id="admin.permissions.roles.role_name.name"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -69,8 +69,8 @@ exports[`admin_console/system_role should match snapshot with isLicensedForCloud
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader
|
||||||
className="admin-console__header with-back"
|
withBackButton={true}
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<Connect(BlockableLink)
|
<Connect(BlockableLink)
|
||||||
@@ -82,7 +82,7 @@ exports[`admin_console/system_role should match snapshot with isLicensedForCloud
|
|||||||
id="admin.permissions.roles.role_name.name"
|
id="admin.permissions.roles.role_name.name"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -6,21 +6,21 @@ import {FormattedMessage} from 'react-intl';
|
|||||||
import {uniq, difference} from 'lodash';
|
import {uniq, difference} from 'lodash';
|
||||||
|
|
||||||
import {Role} from '@mattermost/types/roles';
|
import {Role} from '@mattermost/types/roles';
|
||||||
import {Client4} from 'mattermost-redux/client';
|
|
||||||
|
|
||||||
import {UserProfile} from '@mattermost/types/users';
|
import {UserProfile} from '@mattermost/types/users';
|
||||||
import {ActionResult} from 'mattermost-redux/types/actions';
|
|
||||||
|
|
||||||
|
import {Client4} from 'mattermost-redux/client';
|
||||||
|
import {ActionResult} from 'mattermost-redux/types/actions';
|
||||||
import Permissions from 'mattermost-redux/constants/permissions';
|
import Permissions from 'mattermost-redux/constants/permissions';
|
||||||
|
|
||||||
|
import {isError} from 'types/actions';
|
||||||
|
|
||||||
import Constants from 'utils/constants';
|
import Constants from 'utils/constants';
|
||||||
import {getHistory} from 'utils/browser_history';
|
import {getHistory} from 'utils/browser_history';
|
||||||
|
|
||||||
import FormError from 'components/form_error';
|
import FormError from 'components/form_error';
|
||||||
import BlockableLink from 'components/admin_console/blockable_link';
|
import BlockableLink from 'components/admin_console/blockable_link';
|
||||||
import SaveChangesPanel from 'components/admin_console/team_channel_settings/save_changes_panel';
|
import SaveChangesPanel from 'components/admin_console/team_channel_settings/save_changes_panel';
|
||||||
|
import AdminHeader from 'components/widgets/admin_console/admin_header';
|
||||||
import {isError} from 'types/actions';
|
|
||||||
|
|
||||||
import SystemRoleUsers from './system_role_users';
|
import SystemRoleUsers from './system_role_users';
|
||||||
import SystemRolePermissions from './system_role_permissions';
|
import SystemRolePermissions from './system_role_permissions';
|
||||||
@@ -243,7 +243,7 @@ export default class SystemRole extends React.PureComponent<Props, State> {
|
|||||||
const defaultName = role.name.split('').map((r) => r.charAt(0).toUpperCase() + r.slice(1)).join(' ');
|
const defaultName = role.name.split('').map((r) => r.charAt(0).toUpperCase() + r.slice(1)).join(' ');
|
||||||
return (
|
return (
|
||||||
<div className='wrapper--fixed'>
|
<div className='wrapper--fixed'>
|
||||||
<div className='admin-console__header with-back'>
|
<AdminHeader withBackButton={true}>
|
||||||
<div>
|
<div>
|
||||||
<BlockableLink
|
<BlockableLink
|
||||||
to='/admin_console/user_management/system_roles'
|
to='/admin_console/user_management/system_roles'
|
||||||
@@ -254,7 +254,7 @@ export default class SystemRole extends React.PureComponent<Props, State> {
|
|||||||
defaultMessage={defaultName}
|
defaultMessage={defaultName}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div className='admin-console__wrapper'>
|
<div className='admin-console__wrapper'>
|
||||||
<div className='admin-console__content'>
|
<div className='admin-console__content'>
|
||||||
<SystemRolePermissions
|
<SystemRolePermissions
|
||||||
|
|||||||
@@ -10,9 +10,11 @@ import {Role} from '@mattermost/types/roles';
|
|||||||
import {t} from 'utils/i18n';
|
import {t} from 'utils/i18n';
|
||||||
import {getHistory} from 'utils/browser_history';
|
import {getHistory} from 'utils/browser_history';
|
||||||
|
|
||||||
import FormattedAdminHeader from 'components/widgets/admin_console/formatted_admin_header';
|
|
||||||
import AdminPanel from 'components/widgets/admin_console/admin_panel';
|
import AdminPanel from 'components/widgets/admin_console/admin_panel';
|
||||||
import DataGrid, {Row, Column} from 'components/admin_console/data_grid/data_grid';
|
import DataGrid, {Row, Column} from 'components/admin_console/data_grid/data_grid';
|
||||||
|
import AdminHeader from 'components/widgets/admin_console/admin_header';
|
||||||
|
|
||||||
|
import './system_roles.scss';
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
roles: Record<string, Role>;
|
roles: Record<string, Role>;
|
||||||
@@ -42,8 +44,6 @@ const columns: Column[] = [
|
|||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
import './system_roles.scss';
|
|
||||||
|
|
||||||
export default class SystemRoles extends React.PureComponent<Props> {
|
export default class SystemRoles extends React.PureComponent<Props> {
|
||||||
render() {
|
render() {
|
||||||
const {roles} = this.props;
|
const {roles} = this.props;
|
||||||
@@ -78,11 +78,12 @@ export default class SystemRoles extends React.PureComponent<Props> {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='wrapper--fixed'>
|
<div className='wrapper--fixed'>
|
||||||
<FormattedAdminHeader
|
<AdminHeader>
|
||||||
|
<FormattedMessage
|
||||||
id='admin.permissions.systemRoles'
|
id='admin.permissions.systemRoles'
|
||||||
defaultMessage='System Roles'
|
defaultMessage='System Roles'
|
||||||
/>
|
/>
|
||||||
|
</AdminHeader>
|
||||||
<div className='admin-console__wrapper'>
|
<div className='admin-console__wrapper'>
|
||||||
<div className='admin-console__content'>
|
<div className='admin-console__content'>
|
||||||
<AdminPanel
|
<AdminPanel
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ exports[`components/admin_console/system_user_detail should match default snapsh
|
|||||||
<div
|
<div
|
||||||
className="SystemUserDetail wrapper--fixed"
|
className="SystemUserDetail wrapper--fixed"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader
|
||||||
className="admin-console__header with-back"
|
withBackButton={true}
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<Connect(BlockableLink)
|
<Connect(BlockableLink)
|
||||||
@@ -17,7 +17,7 @@ exports[`components/admin_console/system_user_detail should match default snapsh
|
|||||||
id="admin.systemUserDetail.title"
|
id="admin.systemUserDetail.title"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -240,8 +240,8 @@ exports[`components/admin_console/system_user_detail should match snapshot if LD
|
|||||||
<div
|
<div
|
||||||
className="SystemUserDetail wrapper--fixed"
|
className="SystemUserDetail wrapper--fixed"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader
|
||||||
className="admin-console__header with-back"
|
withBackButton={true}
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<Connect(BlockableLink)
|
<Connect(BlockableLink)
|
||||||
@@ -253,7 +253,7 @@ exports[`components/admin_console/system_user_detail should match snapshot if LD
|
|||||||
id="admin.systemUserDetail.title"
|
id="admin.systemUserDetail.title"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -478,8 +478,8 @@ exports[`components/admin_console/system_user_detail should match snapshot if MF
|
|||||||
<div
|
<div
|
||||||
className="SystemUserDetail wrapper--fixed"
|
className="SystemUserDetail wrapper--fixed"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader
|
||||||
className="admin-console__header with-back"
|
withBackButton={true}
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<Connect(BlockableLink)
|
<Connect(BlockableLink)
|
||||||
@@ -491,7 +491,7 @@ exports[`components/admin_console/system_user_detail should match snapshot if MF
|
|||||||
id="admin.systemUserDetail.title"
|
id="admin.systemUserDetail.title"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -722,8 +722,8 @@ exports[`components/admin_console/system_user_detail should match snapshot if SA
|
|||||||
<div
|
<div
|
||||||
className="SystemUserDetail wrapper--fixed"
|
className="SystemUserDetail wrapper--fixed"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader
|
||||||
className="admin-console__header with-back"
|
withBackButton={true}
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<Connect(BlockableLink)
|
<Connect(BlockableLink)
|
||||||
@@ -735,7 +735,7 @@ exports[`components/admin_console/system_user_detail should match snapshot if SA
|
|||||||
id="admin.systemUserDetail.title"
|
id="admin.systemUserDetail.title"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -960,8 +960,8 @@ exports[`components/admin_console/system_user_detail should match snapshot if no
|
|||||||
<div
|
<div
|
||||||
className="SystemUserDetail wrapper--fixed"
|
className="SystemUserDetail wrapper--fixed"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader
|
||||||
className="admin-console__header with-back"
|
withBackButton={true}
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<Connect(BlockableLink)
|
<Connect(BlockableLink)
|
||||||
@@ -973,7 +973,7 @@ exports[`components/admin_console/system_user_detail should match snapshot if no
|
|||||||
id="admin.systemUserDetail.title"
|
id="admin.systemUserDetail.title"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -1196,8 +1196,8 @@ exports[`components/admin_console/system_user_detail should match snapshot if us
|
|||||||
<div
|
<div
|
||||||
className="SystemUserDetail wrapper--fixed"
|
className="SystemUserDetail wrapper--fixed"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader
|
||||||
className="admin-console__header with-back"
|
withBackButton={true}
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<Connect(BlockableLink)
|
<Connect(BlockableLink)
|
||||||
@@ -1209,7 +1209,7 @@ exports[`components/admin_console/system_user_detail should match snapshot if us
|
|||||||
id="admin.systemUserDetail.title"
|
id="admin.systemUserDetail.title"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -9,9 +9,7 @@ import {Overlay} from 'react-bootstrap';
|
|||||||
import {isEmail} from 'mattermost-redux/utils/helpers';
|
import {isEmail} from 'mattermost-redux/utils/helpers';
|
||||||
|
|
||||||
import {Team, TeamMembership} from '@mattermost/types/teams';
|
import {Team, TeamMembership} from '@mattermost/types/teams';
|
||||||
|
|
||||||
import {UserProfile} from '@mattermost/types/users';
|
import {UserProfile} from '@mattermost/types/users';
|
||||||
|
|
||||||
import {ServerError} from '@mattermost/types/errors';
|
import {ServerError} from '@mattermost/types/errors';
|
||||||
|
|
||||||
import {adminResetMfa, adminResetEmail} from 'actions/admin_actions.jsx';
|
import {adminResetMfa, adminResetEmail} from 'actions/admin_actions.jsx';
|
||||||
@@ -30,11 +28,11 @@ import SaveButton from 'components/save_button';
|
|||||||
import FormError from 'components/form_error';
|
import FormError from 'components/form_error';
|
||||||
import TeamSelectorModal from 'components/team_selector_modal';
|
import TeamSelectorModal from 'components/team_selector_modal';
|
||||||
import Tooltip from 'components/tooltip';
|
import Tooltip from 'components/tooltip';
|
||||||
|
|
||||||
import TeamList from 'components/admin_console/system_user_detail/team_list';
|
import TeamList from 'components/admin_console/system_user_detail/team_list';
|
||||||
import EmailIcon from 'components/widgets/icons/email_icon';
|
import EmailIcon from 'components/widgets/icons/email_icon';
|
||||||
import AtIcon from 'components/widgets/icons/at_icon';
|
import AtIcon from 'components/widgets/icons/at_icon';
|
||||||
import SheidOutlineIcon from 'components/widgets/icons/shield_outline_icon';
|
import SheidOutlineIcon from 'components/widgets/icons/shield_outline_icon';
|
||||||
|
import AdminHeader from 'components/widgets/admin_console/admin_header';
|
||||||
|
|
||||||
import './system_user_detail.scss';
|
import './system_user_detail.scss';
|
||||||
|
|
||||||
@@ -365,7 +363,7 @@ export default class SystemUserDetail extends React.PureComponent<Props & RouteC
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='SystemUserDetail wrapper--fixed'>
|
<div className='SystemUserDetail wrapper--fixed'>
|
||||||
<div className='admin-console__header with-back'>
|
<AdminHeader withBackButton={true}>
|
||||||
<div>
|
<div>
|
||||||
<BlockableLink
|
<BlockableLink
|
||||||
to='/admin_console/user_management/users'
|
to='/admin_console/user_management/users'
|
||||||
@@ -376,7 +374,7 @@ export default class SystemUserDetail extends React.PureComponent<Props & RouteC
|
|||||||
defaultMessage='User Configuration'
|
defaultMessage='User Configuration'
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div className='admin-console__wrapper'>
|
<div className='admin-console__wrapper'>
|
||||||
<div className='admin-console__content'>
|
<div className='admin-console__content'>
|
||||||
<AdminUserCard
|
<AdminUserCard
|
||||||
|
|||||||
@@ -4,7 +4,8 @@ exports[`components/admin_console/system_users should match default snapshot 1`]
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<FormattedAdminHeader
|
<AdminHeader>
|
||||||
|
<MemoizedFormattedMessage
|
||||||
defaultMessage="{siteName} Users"
|
defaultMessage="{siteName} Users"
|
||||||
id="admin.system_users.title"
|
id="admin.system_users.title"
|
||||||
values={
|
values={
|
||||||
@@ -13,6 +14,7 @@ exports[`components/admin_console/system_users should match default snapshot 1`]
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -6,24 +6,24 @@ import {FormattedMessage} from 'react-intl';
|
|||||||
|
|
||||||
import {debounce} from 'mattermost-redux/actions/helpers';
|
import {debounce} from 'mattermost-redux/actions/helpers';
|
||||||
import {Permissions} from 'mattermost-redux/constants';
|
import {Permissions} from 'mattermost-redux/constants';
|
||||||
|
|
||||||
import {ActionFunc} from 'mattermost-redux/types/actions';
|
import {ActionFunc} from 'mattermost-redux/types/actions';
|
||||||
|
|
||||||
import {ServerError} from '@mattermost/types/errors';
|
import {ServerError} from '@mattermost/types/errors';
|
||||||
import {Team} from '@mattermost/types/teams';
|
import {Team} from '@mattermost/types/teams';
|
||||||
|
|
||||||
import {GetFilteredUsersStatsOpts, UserProfile, UsersStats} from '@mattermost/types/users';
|
import {GetFilteredUsersStatsOpts, UserProfile, UsersStats} from '@mattermost/types/users';
|
||||||
|
|
||||||
|
import {emitUserLoggedOutEvent} from 'actions/global_actions';
|
||||||
|
|
||||||
import {Constants, UserSearchOptions, SearchUserTeamFilter, UserFilters} from 'utils/constants';
|
import {Constants, UserSearchOptions, SearchUserTeamFilter, UserFilters} from 'utils/constants';
|
||||||
import * as Utils from 'utils/utils';
|
import * as Utils from 'utils/utils';
|
||||||
import {t} from 'utils/i18n';
|
import {t} from 'utils/i18n';
|
||||||
import {getUserOptionsFromFilter, searchUserOptionsFromFilter} from 'utils/filter_users';
|
import {getUserOptionsFromFilter, searchUserOptionsFromFilter} from 'utils/filter_users';
|
||||||
|
|
||||||
import LocalizedInput from 'components/localized_input/localized_input';
|
import LocalizedInput from 'components/localized_input/localized_input';
|
||||||
import FormattedAdminHeader from 'components/widgets/admin_console/formatted_admin_header';
|
|
||||||
import FormattedMarkdownMessage from 'components/formatted_markdown_message';
|
import FormattedMarkdownMessage from 'components/formatted_markdown_message';
|
||||||
import SystemPermissionGate from 'components/permissions_gates/system_permission_gate';
|
import SystemPermissionGate from 'components/permissions_gates/system_permission_gate';
|
||||||
import ConfirmModal from 'components/confirm_modal';
|
import ConfirmModal from 'components/confirm_modal';
|
||||||
import {emitUserLoggedOutEvent} from 'actions/global_actions';
|
import AdminHeader from 'components/widgets/admin_console/admin_header';
|
||||||
|
|
||||||
import SystemUsersList from './list';
|
import SystemUsersList from './list';
|
||||||
|
|
||||||
@@ -370,14 +370,15 @@ export default class SystemUsers extends React.PureComponent<Props, State> {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='wrapper--fixed'>
|
<div className='wrapper--fixed'>
|
||||||
<FormattedAdminHeader
|
<AdminHeader>
|
||||||
|
<FormattedMessage
|
||||||
id='admin.system_users.title'
|
id='admin.system_users.title'
|
||||||
defaultMessage='{siteName} Users'
|
defaultMessage='{siteName} Users'
|
||||||
values={{
|
values={{
|
||||||
siteName: this.props.siteName,
|
siteName: this.props.siteName,
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
</AdminHeader>
|
||||||
<div className='admin-console__wrapper'>
|
<div className='admin-console__wrapper'>
|
||||||
<div className='admin-console__content'>
|
<div className='admin-console__content'>
|
||||||
<div className='more-modal__list member-list-holder'>
|
<div className='more-modal__list member-list-holder'>
|
||||||
|
|||||||
@@ -4,9 +4,7 @@ exports[`admin_console/team_channel_settings/channel/ChannelSettings should matc
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader>
|
||||||
className="admin-console__header"
|
|
||||||
>
|
|
||||||
<MemoizedFormattedMessage
|
<MemoizedFormattedMessage
|
||||||
defaultMessage="{siteName} Channels"
|
defaultMessage="{siteName} Channels"
|
||||||
id="admin.channel_settings.groupsPageTitle"
|
id="admin.channel_settings.groupsPageTitle"
|
||||||
@@ -16,7 +14,7 @@ exports[`admin_console/team_channel_settings/channel/ChannelSettings should matc
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import {FormattedMessage} from 'react-intl';
|
|||||||
import {t} from 'utils/i18n';
|
import {t} from 'utils/i18n';
|
||||||
import ChannelsList from 'components/admin_console/team_channel_settings/channel/list';
|
import ChannelsList from 'components/admin_console/team_channel_settings/channel/list';
|
||||||
import AdminPanel from 'components/widgets/admin_console/admin_panel';
|
import AdminPanel from 'components/widgets/admin_console/admin_panel';
|
||||||
|
import AdminHeader from 'components/widgets/admin_console/admin_header';
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
siteName?: string;
|
siteName?: string;
|
||||||
@@ -31,13 +32,13 @@ export class ChannelsSettings extends React.PureComponent<Props> {
|
|||||||
render = () => {
|
render = () => {
|
||||||
return (
|
return (
|
||||||
<div className='wrapper--fixed'>
|
<div className='wrapper--fixed'>
|
||||||
<div className='admin-console__header'>
|
<AdminHeader>
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
id='admin.channel_settings.groupsPageTitle'
|
id='admin.channel_settings.groupsPageTitle'
|
||||||
defaultMessage='{siteName} Channels'
|
defaultMessage='{siteName} Channels'
|
||||||
values={{siteName: this.props.siteName}}
|
values={{siteName: this.props.siteName}}
|
||||||
/>
|
/>
|
||||||
</div>
|
</AdminHeader>
|
||||||
|
|
||||||
<div className='admin-console__wrapper'>
|
<div className='admin-console__wrapper'>
|
||||||
<div className='admin-console__content'>
|
<div className='admin-console__content'>
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ exports[`admin_console/team_channel_settings/channel/ChannelDetails should match
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader
|
||||||
className="admin-console__header with-back"
|
withBackButton={true}
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<Connect(BlockableLink)
|
<Connect(BlockableLink)
|
||||||
@@ -17,7 +17,7 @@ exports[`admin_console/team_channel_settings/channel/ChannelDetails should match
|
|||||||
id="admin.channel_settings.channel_detail.channel_configuration"
|
id="admin.channel_settings.channel_detail.channel_configuration"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -191,8 +191,8 @@ exports[`admin_console/team_channel_settings/channel/ChannelDetails should match
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader
|
||||||
className="admin-console__header with-back"
|
withBackButton={true}
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<Connect(BlockableLink)
|
<Connect(BlockableLink)
|
||||||
@@ -204,7 +204,7 @@ exports[`admin_console/team_channel_settings/channel/ChannelDetails should match
|
|||||||
id="admin.channel_settings.channel_detail.channel_configuration"
|
id="admin.channel_settings.channel_detail.channel_configuration"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -374,8 +374,8 @@ exports[`admin_console/team_channel_settings/channel/ChannelDetails should match
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader
|
||||||
className="admin-console__header with-back"
|
withBackButton={true}
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<Connect(BlockableLink)
|
<Connect(BlockableLink)
|
||||||
@@ -387,7 +387,7 @@ exports[`admin_console/team_channel_settings/channel/ChannelDetails should match
|
|||||||
id="admin.channel_settings.channel_detail.channel_configuration"
|
id="admin.channel_settings.channel_detail.channel_configuration"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -513,8 +513,8 @@ exports[`admin_console/team_channel_settings/channel/ChannelDetails should match
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader
|
||||||
className="admin-console__header with-back"
|
withBackButton={true}
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<Connect(BlockableLink)
|
<Connect(BlockableLink)
|
||||||
@@ -526,7 +526,7 @@ exports[`admin_console/team_channel_settings/channel/ChannelDetails should match
|
|||||||
id="admin.channel_settings.channel_detail.channel_configuration"
|
id="admin.channel_settings.channel_detail.channel_configuration"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -648,8 +648,8 @@ exports[`admin_console/team_channel_settings/channel/ChannelDetails should match
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader
|
||||||
className="admin-console__header with-back"
|
withBackButton={true}
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<Connect(BlockableLink)
|
<Connect(BlockableLink)
|
||||||
@@ -661,7 +661,7 @@ exports[`admin_console/team_channel_settings/channel/ChannelDetails should match
|
|||||||
id="admin.channel_settings.channel_detail.channel_configuration"
|
id="admin.channel_settings.channel_detail.channel_configuration"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -787,8 +787,8 @@ exports[`admin_console/team_channel_settings/channel/ChannelDetails should match
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader
|
||||||
className="admin-console__header with-back"
|
withBackButton={true}
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<Connect(BlockableLink)
|
<Connect(BlockableLink)
|
||||||
@@ -800,7 +800,7 @@ exports[`admin_console/team_channel_settings/channel/ChannelDetails should match
|
|||||||
id="admin.channel_settings.channel_detail.channel_configuration"
|
id="admin.channel_settings.channel_detail.channel_configuration"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -7,20 +7,23 @@ import {cloneDeep} from 'lodash';
|
|||||||
|
|
||||||
import {Permissions} from 'mattermost-redux/constants';
|
import {Permissions} from 'mattermost-redux/constants';
|
||||||
import {ActionFunc, ActionResult} from 'mattermost-redux/types/actions';
|
import {ActionFunc, ActionResult} from 'mattermost-redux/types/actions';
|
||||||
|
|
||||||
import {UserProfile} from '@mattermost/types/users';
|
import {UserProfile} from '@mattermost/types/users';
|
||||||
import {Scheme} from '@mattermost/types/schemes';
|
import {Scheme} from '@mattermost/types/schemes';
|
||||||
import {SyncablePatch, Group, SyncableType} from '@mattermost/types/groups';
|
import {SyncablePatch, Group, SyncableType} from '@mattermost/types/groups';
|
||||||
import {Channel, ChannelModeration as ChannelPermissions, ChannelModerationPatch} from '@mattermost/types/channels';
|
import {Channel, ChannelModeration as ChannelPermissions, ChannelModerationPatch} from '@mattermost/types/channels';
|
||||||
import {Team} from '@mattermost/types/teams';
|
import {Team} from '@mattermost/types/teams';
|
||||||
|
|
||||||
import {ServerError} from '@mattermost/types/errors';
|
import {ServerError} from '@mattermost/types/errors';
|
||||||
|
|
||||||
|
import {trackEvent} from 'actions/telemetry_actions.jsx';
|
||||||
|
|
||||||
import ConfirmModal from 'components/confirm_modal';
|
import ConfirmModal from 'components/confirm_modal';
|
||||||
import BlockableLink from 'components/admin_console/blockable_link';
|
import BlockableLink from 'components/admin_console/blockable_link';
|
||||||
import FormError from 'components/form_error';
|
import FormError from 'components/form_error';
|
||||||
|
import AdminHeader from 'components/widgets/admin_console/admin_header';
|
||||||
|
|
||||||
import Constants from 'utils/constants';
|
import Constants from 'utils/constants';
|
||||||
import {getHistory} from 'utils/browser_history';
|
import {getHistory} from 'utils/browser_history';
|
||||||
import {trackEvent} from 'actions/telemetry_actions.jsx';
|
|
||||||
|
|
||||||
import {NeedGroupsError, UsersWillBeRemovedError} from '../../errors';
|
import {NeedGroupsError, UsersWillBeRemovedError} from '../../errors';
|
||||||
import ConvertConfirmModal from '../../convert_confirm_modal';
|
import ConvertConfirmModal from '../../convert_confirm_modal';
|
||||||
@@ -779,7 +782,7 @@ export default class ChannelDetails extends React.PureComponent<ChannelDetailsPr
|
|||||||
);
|
);
|
||||||
return (
|
return (
|
||||||
<div className='wrapper--fixed'>
|
<div className='wrapper--fixed'>
|
||||||
<div className='admin-console__header with-back'>
|
<AdminHeader withBackButton={true}>
|
||||||
<div>
|
<div>
|
||||||
<BlockableLink
|
<BlockableLink
|
||||||
to='/admin_console/user_management/channels'
|
to='/admin_console/user_management/channels'
|
||||||
@@ -790,7 +793,7 @@ export default class ChannelDetails extends React.PureComponent<ChannelDetailsPr
|
|||||||
defaultMessage='Channel Configuration'
|
defaultMessage='Channel Configuration'
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div className='admin-console__wrapper'>
|
<div className='admin-console__wrapper'>
|
||||||
<div className='admin-console__content'>
|
<div className='admin-console__content'>
|
||||||
<ChannelProfile
|
<ChannelProfile
|
||||||
|
|||||||
@@ -4,9 +4,7 @@ exports[`admin_console/team_channel_settings/team/TeamSettings should match snap
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader>
|
||||||
className="admin-console__header"
|
|
||||||
>
|
|
||||||
<MemoizedFormattedMessage
|
<MemoizedFormattedMessage
|
||||||
defaultMessage="{siteName} Teams"
|
defaultMessage="{siteName} Teams"
|
||||||
id="admin.team_settings.groupsPageTitle"
|
id="admin.team_settings.groupsPageTitle"
|
||||||
@@ -16,7 +14,7 @@ exports[`admin_console/team_channel_settings/team/TeamSettings should match snap
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ exports[`admin_console/team_channel_settings/team/TeamDetails should match snaps
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader
|
||||||
className="admin-console__header with-back"
|
withBackButton={true}
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<Connect(BlockableLink)
|
<Connect(BlockableLink)
|
||||||
@@ -17,7 +17,7 @@ exports[`admin_console/team_channel_settings/team/TeamDetails should match snaps
|
|||||||
id="admin.team_settings.team_detail.group_configuration"
|
id="admin.team_settings.team_detail.group_configuration"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
@@ -110,8 +110,8 @@ exports[`admin_console/team_channel_settings/team/TeamDetails should match snaps
|
|||||||
<div
|
<div
|
||||||
className="wrapper--fixed"
|
className="wrapper--fixed"
|
||||||
>
|
>
|
||||||
<div
|
<AdminHeader
|
||||||
className="admin-console__header with-back"
|
withBackButton={true}
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<Connect(BlockableLink)
|
<Connect(BlockableLink)
|
||||||
@@ -123,7 +123,7 @@ exports[`admin_console/team_channel_settings/team/TeamDetails should match snaps
|
|||||||
id="admin.team_settings.team_detail.group_configuration"
|
id="admin.team_settings.team_detail.group_configuration"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
<div
|
<div
|
||||||
className="admin-console__wrapper"
|
className="admin-console__wrapper"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -14,9 +14,11 @@ import {ActionResult} from 'mattermost-redux/types/actions';
|
|||||||
import {getHistory} from 'utils/browser_history';
|
import {getHistory} from 'utils/browser_history';
|
||||||
|
|
||||||
import {trackEvent} from 'actions/telemetry_actions.jsx';
|
import {trackEvent} from 'actions/telemetry_actions.jsx';
|
||||||
|
|
||||||
import BlockableLink from 'components/admin_console/blockable_link';
|
import BlockableLink from 'components/admin_console/blockable_link';
|
||||||
import ConfirmModal from 'components/confirm_modal';
|
import ConfirmModal from 'components/confirm_modal';
|
||||||
import FormError from 'components/form_error';
|
import FormError from 'components/form_error';
|
||||||
|
import AdminHeader from 'components/widgets/admin_console/admin_header';
|
||||||
|
|
||||||
import RemoveConfirmModal from '../../remove_confirm_modal';
|
import RemoveConfirmModal from '../../remove_confirm_modal';
|
||||||
import {NeedDomainsError, NeedGroupsError, UsersWillBeRemovedError} from '../../errors';
|
import {NeedDomainsError, NeedGroupsError, UsersWillBeRemovedError} from '../../errors';
|
||||||
@@ -494,7 +496,7 @@ export default class TeamDetails extends React.PureComponent<Props, State> {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='wrapper--fixed'>
|
<div className='wrapper--fixed'>
|
||||||
<div className='admin-console__header with-back'>
|
<AdminHeader withBackButton={true}>
|
||||||
<div>
|
<div>
|
||||||
<BlockableLink
|
<BlockableLink
|
||||||
to='/admin_console/user_management/teams'
|
to='/admin_console/user_management/teams'
|
||||||
@@ -505,7 +507,7 @@ export default class TeamDetails extends React.PureComponent<Props, State> {
|
|||||||
defaultMessage='Team Configuration'
|
defaultMessage='Team Configuration'
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
|
|
||||||
<div className='admin-console__wrapper'>
|
<div className='admin-console__wrapper'>
|
||||||
<div className='admin-console__content'>
|
<div className='admin-console__content'>
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import {FormattedMessage} from 'react-intl';
|
|||||||
import {t} from 'utils/i18n';
|
import {t} from 'utils/i18n';
|
||||||
import TeamList from 'components/admin_console/team_channel_settings/team/list';
|
import TeamList from 'components/admin_console/team_channel_settings/team/list';
|
||||||
import AdminPanel from 'components/widgets/admin_console/admin_panel';
|
import AdminPanel from 'components/widgets/admin_console/admin_panel';
|
||||||
|
import AdminHeader from 'components/widgets/admin_console/admin_header';
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
siteName: string;
|
siteName: string;
|
||||||
@@ -15,13 +16,13 @@ type Props = {
|
|||||||
export function TeamsSettings(props: Props) {
|
export function TeamsSettings(props: Props) {
|
||||||
return (
|
return (
|
||||||
<div className='wrapper--fixed'>
|
<div className='wrapper--fixed'>
|
||||||
<div className='admin-console__header'>
|
<AdminHeader>
|
||||||
<FormattedMessage
|
<FormattedMessage
|
||||||
id='admin.team_settings.groupsPageTitle'
|
id='admin.team_settings.groupsPageTitle'
|
||||||
defaultMessage='{siteName} Teams'
|
defaultMessage='{siteName} Teams'
|
||||||
values={{siteName: props.siteName}}
|
values={{siteName: props.siteName}}
|
||||||
/>
|
/>
|
||||||
</div>
|
</AdminHeader>
|
||||||
|
|
||||||
<div className='admin-console__wrapper'>
|
<div className='admin-console__wrapper'>
|
||||||
<div className='admin-console__content'>
|
<div className='admin-console__content'>
|
||||||
|
|||||||
@@ -1,17 +1,18 @@
|
|||||||
// 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 {CheckIcon} from '@mattermost/compass-icons/components';
|
|
||||||
import classNames from 'classnames';
|
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
|
import classNames from 'classnames';
|
||||||
|
import {FormattedMessage} from 'react-intl';
|
||||||
|
|
||||||
|
import {CheckIcon} from '@mattermost/compass-icons/components';
|
||||||
|
|
||||||
import Accordion, {AccordionItemType} from 'components/common/accordion/accordion';
|
import Accordion, {AccordionItemType} from 'components/common/accordion/accordion';
|
||||||
|
import AdminHeader from 'components/widgets/admin_console/admin_header';
|
||||||
|
|
||||||
import LoadingScreen from '../../loading_screen';
|
import LoadingScreen from '../../loading_screen';
|
||||||
import FormattedAdminHeader from '../../widgets/admin_console/formatted_admin_header';
|
import type {Props} from '../admin_console';
|
||||||
import {Props} from '../admin_console';
|
|
||||||
|
|
||||||
import ChipsList, {ChipsInfoType} from './chips_list';
|
import ChipsList, {ChipsInfoType} from './chips_list';
|
||||||
import CtaButtons from './cta_buttons';
|
import CtaButtons from './cta_buttons';
|
||||||
@@ -121,10 +122,12 @@ const WorkspaceOptimizationDashboard = (props: Props) => {
|
|||||||
|
|
||||||
return loading || !accordionItemsData ? <LoadingScreen/> : (
|
return loading || !accordionItemsData ? <LoadingScreen/> : (
|
||||||
<div className='WorkspaceOptimizationDashboard wrapper--fixed'>
|
<div className='WorkspaceOptimizationDashboard wrapper--fixed'>
|
||||||
<FormattedAdminHeader
|
<AdminHeader>
|
||||||
|
<FormattedMessage
|
||||||
id={'admin.reporting.workspace_optimization.title'}
|
id={'admin.reporting.workspace_optimization.title'}
|
||||||
defaultMessage='Workspace Optimization'
|
defaultMessage='Workspace Optimization'
|
||||||
/>
|
/>
|
||||||
|
</AdminHeader>
|
||||||
<div className='admin-console__wrapper'>
|
<div className='admin-console__wrapper'>
|
||||||
<OverallScore
|
<OverallScore
|
||||||
chips={
|
chips={
|
||||||
|
|||||||
@@ -8,11 +8,13 @@ import {AnalyticsRow, PluginAnalyticsRow, IndexedPluginAnalyticsRow} from '@matt
|
|||||||
import {ClientLicense} from '@mattermost/types/config';
|
import {ClientLicense} from '@mattermost/types/config';
|
||||||
|
|
||||||
import * as AdminActions from 'actions/admin_actions.jsx';
|
import * as AdminActions from 'actions/admin_actions.jsx';
|
||||||
|
|
||||||
import Constants from 'utils/constants';
|
import Constants from 'utils/constants';
|
||||||
|
|
||||||
import FormattedAdminHeader from 'components/widgets/admin_console/formatted_admin_header';
|
|
||||||
import {ActivatedUserCard} from 'components/analytics/activated_users_card';
|
import {ActivatedUserCard} from 'components/analytics/activated_users_card';
|
||||||
import TrueUpReview from 'components/analytics/true_up_review';
|
import TrueUpReview from 'components/analytics/true_up_review';
|
||||||
|
import ExternalLink from 'components/external_link';
|
||||||
|
import AdminHeader from 'components/widgets/admin_console/admin_header';
|
||||||
|
|
||||||
import {GlobalState} from 'types/store';
|
import {GlobalState} from 'types/store';
|
||||||
|
|
||||||
@@ -27,7 +29,6 @@ import {
|
|||||||
formatPostDoughtnutData,
|
formatPostDoughtnutData,
|
||||||
synchronizeChartLabels,
|
synchronizeChartLabels,
|
||||||
} from '../format';
|
} from '../format';
|
||||||
import ExternalLink from 'components/external_link';
|
|
||||||
|
|
||||||
const StatTypes = Constants.StatTypes;
|
const StatTypes = Constants.StatTypes;
|
||||||
|
|
||||||
@@ -469,10 +470,12 @@ export default class SystemAnalytics extends React.PureComponent<Props, State> {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='wrapper--fixed team_statistics'>
|
<div className='wrapper--fixed team_statistics'>
|
||||||
<FormattedAdminHeader
|
<AdminHeader>
|
||||||
|
<FormattedMessage
|
||||||
id='analytics.system.title'
|
id='analytics.system.title'
|
||||||
defaultMessage='System Statistics'
|
defaultMessage='System Statistics'
|
||||||
/>
|
/>
|
||||||
|
</AdminHeader>
|
||||||
<div className='admin-console__wrapper'>
|
<div className='admin-console__wrapper'>
|
||||||
<div className='admin-console__content'>
|
<div className='admin-console__content'>
|
||||||
{banner}
|
{banner}
|
||||||
|
|||||||
@@ -12,9 +12,7 @@ import {UserProfile} from '@mattermost/types/users';
|
|||||||
import {ClientLicense} from '@mattermost/types/config';
|
import {ClientLicense} from '@mattermost/types/config';
|
||||||
|
|
||||||
import LoadingScreen from 'components/loading_screen';
|
import LoadingScreen from 'components/loading_screen';
|
||||||
|
|
||||||
import FormattedMarkdownMessage from 'components/formatted_markdown_message';
|
import FormattedMarkdownMessage from 'components/formatted_markdown_message';
|
||||||
|
|
||||||
import * as AdminActions from 'actions/admin_actions';
|
import * as AdminActions from 'actions/admin_actions';
|
||||||
import {StatTypes} from 'utils/constants';
|
import {StatTypes} from 'utils/constants';
|
||||||
import Banner from 'components/admin_console/banner';
|
import Banner from 'components/admin_console/banner';
|
||||||
@@ -23,11 +21,12 @@ import StatisticCount from 'components/analytics/statistic_count';
|
|||||||
import TableChart from 'components/analytics/table_chart';
|
import TableChart from 'components/analytics/table_chart';
|
||||||
import {ActivatedUserCard} from 'components/analytics/activated_users_card';
|
import {ActivatedUserCard} from 'components/analytics/activated_users_card';
|
||||||
import TrueUpReview from 'components/analytics/true_up_review';
|
import TrueUpReview from 'components/analytics/true_up_review';
|
||||||
|
import ExternalLink from 'components/external_link';
|
||||||
|
import AdminHeader from 'components/widgets/admin_console/admin_header';
|
||||||
|
|
||||||
import {getMonthLong} from 'utils/i18n';
|
import {getMonthLong} from 'utils/i18n';
|
||||||
|
|
||||||
import {formatPostsPerDayData, formatUsersWithPostsPerDayData, synchronizeChartLabels} from '../format';
|
import {formatPostsPerDayData, formatUsersWithPostsPerDayData, synchronizeChartLabels} from '../format';
|
||||||
import ExternalLink from 'components/external_link';
|
|
||||||
|
|
||||||
const LAST_ANALYTICS_TEAM = 'last_analytics_team';
|
const LAST_ANALYTICS_TEAM = 'last_analytics_team';
|
||||||
|
|
||||||
@@ -286,7 +285,7 @@ export default class TeamAnalytics extends React.PureComponent<Props, State> {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='wrapper--fixed team_statistics'>
|
<div className='wrapper--fixed team_statistics'>
|
||||||
<div className='admin-console__header team-statistics__header-row'>
|
<AdminHeader>
|
||||||
<div className='team-statistics__header'>
|
<div className='team-statistics__header'>
|
||||||
<FormattedMarkdownMessage
|
<FormattedMarkdownMessage
|
||||||
id='analytics.team.title'
|
id='analytics.team.title'
|
||||||
@@ -306,7 +305,7 @@ export default class TeamAnalytics extends React.PureComponent<Props, State> {
|
|||||||
{teams}
|
{teams}
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</AdminHeader>
|
||||||
|
|
||||||
<div className='admin-console__wrapper'>
|
<div className='admin-console__wrapper'>
|
||||||
<div className='admin-console__content'>
|
<div className='admin-console__content'>
|
||||||
|
|||||||
@@ -1,23 +0,0 @@
|
|||||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
||||||
// See LICENSE.txt for license information.
|
|
||||||
|
|
||||||
/* eslint no-console: 0 */
|
|
||||||
|
|
||||||
import React from 'react';
|
|
||||||
import {shallow} from 'enzyme';
|
|
||||||
|
|
||||||
import AdminHeader from './admin_header';
|
|
||||||
|
|
||||||
describe('components/widgets/admin_console/AdminHeader', () => {
|
|
||||||
test('render component with child', () => {
|
|
||||||
const wrapper = shallow(<AdminHeader>{'Test'}</AdminHeader>);
|
|
||||||
expect(wrapper).toMatchInlineSnapshot(`
|
|
||||||
<div
|
|
||||||
className="admin-console__header"
|
|
||||||
>
|
|
||||||
Test
|
|
||||||
</div>
|
|
||||||
`,
|
|
||||||
);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
@@ -1,18 +1,27 @@
|
|||||||
// 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 React from 'react';
|
import React, {ReactNode} from 'react';
|
||||||
|
import classNames from 'classnames';
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
children: JSX.Element[] | JSX.Element | string;
|
withBackButton?: boolean;
|
||||||
|
children: ReactNode;
|
||||||
};
|
};
|
||||||
|
|
||||||
export default class AdminHeader extends React.PureComponent<Props> {
|
const AdminHeader = (props: Props) => {
|
||||||
public render() {
|
|
||||||
return (
|
return (
|
||||||
<div className={'admin-console__header'}>
|
<div
|
||||||
{this.props.children}
|
className={
|
||||||
|
classNames(
|
||||||
|
'admin-console__header',
|
||||||
|
{'with-back': props.withBackButton},
|
||||||
|
)
|
||||||
|
}
|
||||||
|
>
|
||||||
|
{props.children}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
};
|
||||||
}
|
|
||||||
|
export default AdminHeader;
|
||||||
|
|||||||
@@ -1,52 +0,0 @@
|
|||||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
||||||
// See LICENSE.txt for license information.
|
|
||||||
|
|
||||||
import React from 'react';
|
|
||||||
import {shallow} from 'enzyme';
|
|
||||||
|
|
||||||
import FormattedAdminHeader from './formatted_admin_header';
|
|
||||||
|
|
||||||
describe('components/widgets/admin_console/FormattedAdminHeader', () => {
|
|
||||||
test('render component with required props', () => {
|
|
||||||
const wrapper = shallow(
|
|
||||||
<FormattedAdminHeader
|
|
||||||
id='string.id'
|
|
||||||
defaultMessage='default message'
|
|
||||||
/>,
|
|
||||||
);
|
|
||||||
expect(wrapper).toMatchInlineSnapshot(`
|
|
||||||
<AdminHeader>
|
|
||||||
<FormattedMarkdownMessage
|
|
||||||
defaultMessage="default message"
|
|
||||||
id="string.id"
|
|
||||||
values={Object {}}
|
|
||||||
/>
|
|
||||||
</AdminHeader>
|
|
||||||
`);
|
|
||||||
});
|
|
||||||
|
|
||||||
test('render component with all props', () => {
|
|
||||||
const wrapper = shallow(
|
|
||||||
<FormattedAdminHeader
|
|
||||||
id='string.id'
|
|
||||||
defaultMessage='default message'
|
|
||||||
values={{
|
|
||||||
a_key: 'a_value',
|
|
||||||
}}
|
|
||||||
/>,
|
|
||||||
);
|
|
||||||
expect(wrapper).toMatchInlineSnapshot(`
|
|
||||||
<AdminHeader>
|
|
||||||
<FormattedMarkdownMessage
|
|
||||||
defaultMessage="default message"
|
|
||||||
id="string.id"
|
|
||||||
values={
|
|
||||||
Object {
|
|
||||||
"a_key": "a_value",
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/>
|
|
||||||
</AdminHeader>
|
|
||||||
`);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
||||||
// See LICENSE.txt for license information.
|
|
||||||
|
|
||||||
import React from 'react';
|
|
||||||
|
|
||||||
import FormattedMarkdownMessage from 'components/formatted_markdown_message';
|
|
||||||
|
|
||||||
import AdminHeader from './admin_header';
|
|
||||||
|
|
||||||
type Props = {
|
|
||||||
id: string;
|
|
||||||
defaultMessage: string;
|
|
||||||
values?: any;
|
|
||||||
};
|
|
||||||
|
|
||||||
const FormattedAdminHeader: React.FC<Props> = (props: Props) => (
|
|
||||||
<AdminHeader>
|
|
||||||
<FormattedMarkdownMessage
|
|
||||||
id={props.id}
|
|
||||||
defaultMessage={props.defaultMessage}
|
|
||||||
values={props.values}
|
|
||||||
/>
|
|
||||||
</AdminHeader>
|
|
||||||
);
|
|
||||||
|
|
||||||
FormattedAdminHeader.defaultProps = {
|
|
||||||
values: {},
|
|
||||||
};
|
|
||||||
|
|
||||||
export default FormattedAdminHeader;
|
|
||||||
@@ -4991,7 +4991,6 @@
|
|||||||
"status_dropdown.set_online": "Online",
|
"status_dropdown.set_online": "Online",
|
||||||
"status_dropdown.set_ooo": "Out of Office",
|
"status_dropdown.set_ooo": "Out of Office",
|
||||||
"status_dropdown.set_ooo.extra": "Automatic Replies are enabled",
|
"status_dropdown.set_ooo.extra": "Automatic Replies are enabled",
|
||||||
"string.id": "default message",
|
|
||||||
"success_modal.return_to_workspace": "Return to workspace",
|
"success_modal.return_to_workspace": "Return to workspace",
|
||||||
"success_modal.subtitle": "Your final bill will be prorated. Your workspace now has {plan} limits.",
|
"success_modal.subtitle": "Your final bill will be prorated. Your workspace now has {plan} limits.",
|
||||||
"suggestion_list.no_matches": "No items match __{value}__",
|
"suggestion_list.no_matches": "No items match __{value}__",
|
||||||
|
|||||||
@@ -142,6 +142,11 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.admin-console__header {
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
.team-statistics__header-row {
|
.team-statistics__header-row {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|||||||
14
webapp/package-lock.json
сгенерированный
14
webapp/package-lock.json
сгенерированный
@@ -3552,7 +3552,7 @@
|
|||||||
"jest-junit": "12.2.0",
|
"jest-junit": "12.2.0",
|
||||||
"jest-styled-components": "7.1.1",
|
"jest-styled-components": "7.1.1",
|
||||||
"jest-watch-typeahead": "0.6.4",
|
"jest-watch-typeahead": "0.6.4",
|
||||||
"mmjstool": "github:mattermost/mattermost-utilities#1d21e35ca6296ef7b6379b0f214b86ffa6404213",
|
"mmjstool": "github:mattermost/mattermost-utilities#e65ab00f22628cbdee736fd2e4f192f07225e82d",
|
||||||
"nock": "13.2.8",
|
"nock": "13.2.8",
|
||||||
"prettier": "2.3.2",
|
"prettier": "2.3.2",
|
||||||
"react-router-enzyme-context": "1.2.0",
|
"react-router-enzyme-context": "1.2.0",
|
||||||
@@ -24467,14 +24467,12 @@
|
|||||||
},
|
},
|
||||||
"node_modules/mmjstool": {
|
"node_modules/mmjstool": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "git+ssh://git@github.com/mattermost/mattermost-utilities.git#1d21e35ca6296ef7b6379b0f214b86ffa6404213",
|
"resolved": "git+ssh://git@github.com/mattermost/mattermost-utilities.git#e65ab00f22628cbdee736fd2e4f192f07225e82d",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/typescript-estree": "^5.44.0",
|
|
||||||
"estree-walk": "^2.2.0",
|
"estree-walk": "^2.2.0",
|
||||||
"filehound": "^1.17.5",
|
"filehound": "^1.17.5",
|
||||||
"sort-json": "^2.0.0",
|
"sort-json": "^2.0.0",
|
||||||
"typescript": "^4.7.4",
|
|
||||||
"webpack-cli": "^4.9.1",
|
"webpack-cli": "^4.9.1",
|
||||||
"yargs": "^17.3.1"
|
"yargs": "^17.3.1"
|
||||||
},
|
},
|
||||||
@@ -53427,7 +53425,7 @@
|
|||||||
"mark.js": "8.11.1",
|
"mark.js": "8.11.1",
|
||||||
"marked": "github:mattermost/marked#2ef7f28cc7718e3f551c4ce9ea75fdd7580c2008",
|
"marked": "github:mattermost/marked#2ef7f28cc7718e3f551c4ce9ea75fdd7580c2008",
|
||||||
"memoize-one": "6.0.0",
|
"memoize-one": "6.0.0",
|
||||||
"mmjstool": "github:mattermost/mattermost-utilities#1d21e35ca6296ef7b6379b0f214b86ffa6404213",
|
"mmjstool": "github:mattermost/mattermost-utilities#e65ab00f22628cbdee736fd2e4f192f07225e82d",
|
||||||
"moment-timezone": "0.5.38",
|
"moment-timezone": "0.5.38",
|
||||||
"nock": "13.2.8",
|
"nock": "13.2.8",
|
||||||
"p-queue": "7.3.0",
|
"p-queue": "7.3.0",
|
||||||
@@ -54337,15 +54335,13 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"mmjstool": {
|
"mmjstool": {
|
||||||
"version": "git+ssh://git@github.com/mattermost/mattermost-utilities.git#1d21e35ca6296ef7b6379b0f214b86ffa6404213",
|
"version": "git+ssh://git@github.com/mattermost/mattermost-utilities.git#e65ab00f22628cbdee736fd2e4f192f07225e82d",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"from": "mmjstool@github:mattermost/mattermost-utilities#1d21e35ca6296ef7b6379b0f214b86ffa6404213",
|
"from": "mmjstool@github:mattermost/mattermost-utilities#e65ab00f22628cbdee736fd2e4f192f07225e82d",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@typescript-eslint/typescript-estree": "^5.44.0",
|
|
||||||
"estree-walk": "^2.2.0",
|
"estree-walk": "^2.2.0",
|
||||||
"filehound": "^1.17.5",
|
"filehound": "^1.17.5",
|
||||||
"sort-json": "^2.0.0",
|
"sort-json": "^2.0.0",
|
||||||
"typescript": "^4.7.4",
|
|
||||||
"webpack-cli": "^4.9.1",
|
"webpack-cli": "^4.9.1",
|
||||||
"yargs": "^17.3.1"
|
"yargs": "^17.3.1"
|
||||||
},
|
},
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user