Web:People: changed check for rendering PageLayout.ArticleMainButton
This commit is contained in:
parent
2bcf9ca3bb
commit
b4d0776ca4
@ -5,7 +5,7 @@ import { withRouter } from "react-router";
|
||||
import { MainButton, DropDownItem, toastr } from "asc-web-components";
|
||||
import { InviteDialog } from "./../../dialogs";
|
||||
import { withTranslation, I18nextProvider } from "react-i18next";
|
||||
import { store, utils } from "asc-web-common";
|
||||
import { utils } from "asc-web-common";
|
||||
import { createI18N } from "../../../helpers/i18n";
|
||||
|
||||
const i18n = createI18N({
|
||||
@ -14,7 +14,6 @@ const i18n = createI18N({
|
||||
});
|
||||
|
||||
const { changeLanguage } = utils;
|
||||
const { isAdmin } = store.auth.selectors;
|
||||
|
||||
class PureArticleMainButtonContent extends React.Component {
|
||||
constructor(props) {
|
||||
@ -52,10 +51,10 @@ class PureArticleMainButtonContent extends React.Component {
|
||||
|
||||
render() {
|
||||
console.log("People ArticleMainButtonContent render");
|
||||
const { isAdmin, settings, t } = this.props;
|
||||
const { settings, t } = this.props;
|
||||
const { userCaption, guestCaption, groupCaption } = settings.customNames;
|
||||
const { dialogVisible } = this.state;
|
||||
return isAdmin ? (
|
||||
return (
|
||||
<>
|
||||
<MainButton isDisabled={false} isDropdown={true} text={t("Actions")}>
|
||||
<DropDownItem
|
||||
@ -103,8 +102,6 @@ class PureArticleMainButtonContent extends React.Component {
|
||||
/>
|
||||
)}
|
||||
</>
|
||||
) : (
|
||||
<></>
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -125,13 +122,11 @@ const ArticleMainButtonContent = props => {
|
||||
};
|
||||
|
||||
ArticleMainButtonContent.propTypes = {
|
||||
isAdmin: PropTypes.bool.isRequired,
|
||||
history: PropTypes.object.isRequired
|
||||
};
|
||||
|
||||
const mapStateToProps = state => {
|
||||
return {
|
||||
isAdmin: isAdmin(state.auth.user),
|
||||
settings: state.auth.settings
|
||||
};
|
||||
};
|
||||
|
@ -1,7 +1,7 @@
|
||||
import React, { useEffect } from "react";
|
||||
import { connect } from "react-redux";
|
||||
import { Loader } from "asc-web-components";
|
||||
import { PageLayout, utils } from "asc-web-common";
|
||||
import { PageLayout, utils, store } from "asc-web-common";
|
||||
import {
|
||||
ArticleHeaderContent,
|
||||
ArticleMainButtonContent,
|
||||
@ -16,6 +16,7 @@ const i18n = createI18N({
|
||||
localesPath: "pages/GroupAction"
|
||||
});
|
||||
const { changeLanguage } = utils;
|
||||
const { isAdmin } = store.auth.selectors;
|
||||
|
||||
class GroupAction extends React.Component {
|
||||
componentDidMount() {
|
||||
@ -44,7 +45,7 @@ class GroupAction extends React.Component {
|
||||
render() {
|
||||
console.log("GroupAction render");
|
||||
|
||||
const { group, match } = this.props;
|
||||
const { group, match, isAdmin } = this.props;
|
||||
|
||||
return (
|
||||
<I18nextProvider i18n={i18n}>
|
||||
@ -54,9 +55,11 @@ class GroupAction extends React.Component {
|
||||
<ArticleHeaderContent />
|
||||
</PageLayout.ArticleHeader>
|
||||
|
||||
<PageLayout.ArticleMainButton>
|
||||
<ArticleMainButtonContent />
|
||||
</PageLayout.ArticleMainButton>
|
||||
{isAdmin && (
|
||||
<PageLayout.ArticleMainButton>
|
||||
<ArticleMainButtonContent />
|
||||
</PageLayout.ArticleMainButton>
|
||||
)}
|
||||
|
||||
<PageLayout.ArticleBody>
|
||||
<ArticleBodyContent />
|
||||
@ -71,24 +74,26 @@ class GroupAction extends React.Component {
|
||||
</PageLayout.SectionBody>
|
||||
</PageLayout>
|
||||
) : (
|
||||
<PageLayout>
|
||||
<PageLayout.ArticleHeader>
|
||||
<ArticleHeaderContent />
|
||||
</PageLayout.ArticleHeader>
|
||||
<PageLayout>
|
||||
<PageLayout.ArticleHeader>
|
||||
<ArticleHeaderContent />
|
||||
</PageLayout.ArticleHeader>
|
||||
|
||||
<PageLayout.ArticleMainButton>
|
||||
<ArticleMainButtonContent />
|
||||
</PageLayout.ArticleMainButton>
|
||||
{isAdmin && (
|
||||
<PageLayout.ArticleMainButton>
|
||||
<ArticleMainButtonContent />
|
||||
</PageLayout.ArticleMainButton>
|
||||
)}
|
||||
|
||||
<PageLayout.ArticleBody>
|
||||
<ArticleBodyContent />
|
||||
</PageLayout.ArticleBody>
|
||||
<PageLayout.ArticleBody>
|
||||
<ArticleBodyContent />
|
||||
</PageLayout.ArticleBody>
|
||||
|
||||
<PageLayout.SectionBody>
|
||||
<Loader className="pageLoader" type="rombs" size="40px" />
|
||||
</PageLayout.SectionBody>
|
||||
</PageLayout>
|
||||
)}
|
||||
<PageLayout.SectionBody>
|
||||
<Loader className="pageLoader" type="rombs" size="40px" />
|
||||
</PageLayout.SectionBody>
|
||||
</PageLayout>
|
||||
)}
|
||||
</I18nextProvider>
|
||||
);
|
||||
}
|
||||
@ -110,7 +115,8 @@ const GroupActionContainer = props => {
|
||||
function mapStateToProps(state) {
|
||||
return {
|
||||
settings: state.auth.settings,
|
||||
group: state.group.targetGroup
|
||||
group: state.group.targetGroup,
|
||||
isAdmin: isAdmin(state.auth.user)
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -3,7 +3,7 @@ import { connect } from "react-redux";
|
||||
import PropTypes from "prop-types";
|
||||
import { withRouter } from "react-router";
|
||||
import { RequestLoader } from "asc-web-components";
|
||||
import { PageLayout, utils } from "asc-web-common";
|
||||
import { PageLayout, utils, store } from "asc-web-common";
|
||||
import { withTranslation, I18nextProvider } from "react-i18next";
|
||||
import {
|
||||
ArticleHeaderContent,
|
||||
@ -24,6 +24,7 @@ const i18n = createI18N({
|
||||
localesPath: "pages/Home"
|
||||
});
|
||||
const { changeLanguage } = utils;
|
||||
const { isAdmin } = store.auth.selectors;
|
||||
|
||||
class PureHome extends React.Component {
|
||||
constructor(props) {
|
||||
@ -91,7 +92,7 @@ class PureHome extends React.Component {
|
||||
isHeaderChecked,
|
||||
selected
|
||||
} = this.state;
|
||||
const { t } = this.props;
|
||||
const { t, isAdmin } = this.props;
|
||||
return (
|
||||
<>
|
||||
<RequestLoader
|
||||
@ -108,9 +109,11 @@ class PureHome extends React.Component {
|
||||
<ArticleHeaderContent />
|
||||
</PageLayout.ArticleHeader>
|
||||
|
||||
<PageLayout.ArticleMainButton>
|
||||
<ArticleMainButtonContent />
|
||||
</PageLayout.ArticleMainButton>
|
||||
{isAdmin && (
|
||||
<PageLayout.ArticleMainButton>
|
||||
<ArticleMainButtonContent />
|
||||
</PageLayout.ArticleMainButton>
|
||||
)}
|
||||
|
||||
<PageLayout.ArticleBody>
|
||||
<ArticleBodyContent />
|
||||
@ -167,7 +170,8 @@ const Home = props => {
|
||||
Home.propTypes = {
|
||||
users: PropTypes.array,
|
||||
history: PropTypes.object.isRequired,
|
||||
isLoaded: PropTypes.bool
|
||||
isLoaded: PropTypes.bool,
|
||||
isAdmin: PropTypes.bool
|
||||
};
|
||||
|
||||
function mapStateToProps(state) {
|
||||
@ -179,7 +183,8 @@ function mapStateToProps(state) {
|
||||
selectedGroup,
|
||||
groups,
|
||||
isLoaded: state.auth.isLoaded,
|
||||
organizationName: state.auth.settings.organizationName
|
||||
organizationName: state.auth.settings.organizationName,
|
||||
isAdmin: isAdmin(state.auth.user)
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -2,7 +2,7 @@ import React, { useEffect } from "react";
|
||||
import { connect } from "react-redux";
|
||||
import PropTypes from "prop-types";
|
||||
import { Loader, toastr } from "asc-web-components";
|
||||
import { PageLayout, utils } from "asc-web-common";
|
||||
import { PageLayout, utils, store } from "asc-web-common";
|
||||
import {
|
||||
ArticleHeaderContent,
|
||||
ArticleMainButtonContent,
|
||||
@ -17,6 +17,7 @@ const i18n = createI18N({
|
||||
localesPath: "pages/Profile"
|
||||
});
|
||||
const { changeLanguage } = utils;
|
||||
const { isAdmin } = store.auth.selectors;
|
||||
|
||||
class PureProfile extends React.Component {
|
||||
constructor(props) {
|
||||
@ -62,7 +63,7 @@ class PureProfile extends React.Component {
|
||||
|
||||
render() {
|
||||
//console.log("Profile render")
|
||||
const { profile, isVisitor } = this.props;
|
||||
const { profile, isVisitor, isAdmin } = this.props;
|
||||
|
||||
return (
|
||||
<PageLayout withBodyAutoFocus={true}>
|
||||
@ -71,7 +72,7 @@ class PureProfile extends React.Component {
|
||||
<ArticleHeaderContent />
|
||||
</PageLayout.ArticleHeader>
|
||||
)}
|
||||
{!isVisitor && (
|
||||
{(!isVisitor && isAdmin) && (
|
||||
<PageLayout.ArticleMainButton>
|
||||
<ArticleMainButtonContent />
|
||||
</PageLayout.ArticleMainButton>
|
||||
@ -92,8 +93,8 @@ class PureProfile extends React.Component {
|
||||
{profile ? (
|
||||
<SectionBodyContent />
|
||||
) : (
|
||||
<Loader className="pageLoader" type="rombs" size="40px" />
|
||||
)}
|
||||
<Loader className="pageLoader" type="rombs" size="40px" />
|
||||
)}
|
||||
</PageLayout.SectionBody>
|
||||
</PageLayout>
|
||||
);
|
||||
@ -119,13 +120,15 @@ Profile.propTypes = {
|
||||
history: PropTypes.object.isRequired,
|
||||
isLoaded: PropTypes.bool,
|
||||
match: PropTypes.object.isRequired,
|
||||
profile: PropTypes.object
|
||||
profile: PropTypes.object,
|
||||
isAdmin: PropTypes.bool
|
||||
};
|
||||
|
||||
function mapStateToProps(state) {
|
||||
return {
|
||||
isVisitor: state.auth.user.isVisitor,
|
||||
profile: state.profile.targetUser
|
||||
profile: state.profile.targetUser,
|
||||
isAdmin: isAdmin(state.auth.user)
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -2,7 +2,7 @@ import React, { useEffect } from "react";
|
||||
import { connect } from "react-redux";
|
||||
import PropTypes from "prop-types";
|
||||
import { Loader } from "asc-web-components";
|
||||
import { PageLayout, utils } from "asc-web-common";
|
||||
import { PageLayout, utils, store } from "asc-web-common";
|
||||
import {
|
||||
ArticleHeaderContent,
|
||||
ArticleMainButtonContent,
|
||||
@ -21,6 +21,7 @@ const i18n = createI18N({
|
||||
localesPath: "pages/ProfileAction"
|
||||
});
|
||||
const { changeLanguage } = utils;
|
||||
const { isAdmin } = store.auth.selectors;
|
||||
|
||||
class ProfileAction extends React.Component {
|
||||
componentDidMount() {
|
||||
@ -50,7 +51,7 @@ class ProfileAction extends React.Component {
|
||||
console.log("ProfileAction render");
|
||||
|
||||
let loaded = false;
|
||||
const { profile, isVisitor, match } = this.props;
|
||||
const { profile, isVisitor, match, isAdmin } = this.props;
|
||||
const { userId, type } = match.params;
|
||||
|
||||
if (type) {
|
||||
@ -67,7 +68,7 @@ class ProfileAction extends React.Component {
|
||||
<ArticleHeaderContent />
|
||||
</PageLayout.ArticleHeader>
|
||||
)}
|
||||
{!isVisitor && (
|
||||
{(!isVisitor && isAdmin) && (
|
||||
<PageLayout.ArticleMainButton>
|
||||
<ArticleMainButtonContent />
|
||||
</PageLayout.ArticleMainButton>
|
||||
@ -89,11 +90,11 @@ class ProfileAction extends React.Component {
|
||||
type ? (
|
||||
<CreateUserForm />
|
||||
) : (
|
||||
<UpdateUserForm />
|
||||
)
|
||||
<UpdateUserForm />
|
||||
)
|
||||
) : (
|
||||
<Loader className="pageLoader" type="rombs" size="40px" />
|
||||
)}
|
||||
<Loader className="pageLoader" type="rombs" size="40px" />
|
||||
)}
|
||||
</PageLayout.SectionBody>
|
||||
</PageLayout>
|
||||
</I18nextProvider>
|
||||
@ -104,7 +105,8 @@ class ProfileAction extends React.Component {
|
||||
ProfileAction.propTypes = {
|
||||
fetchProfile: PropTypes.func.isRequired,
|
||||
match: PropTypes.object.isRequired,
|
||||
profile: PropTypes.object
|
||||
profile: PropTypes.object,
|
||||
isAdmin: PropTypes.bool
|
||||
};
|
||||
|
||||
const ProfileActionTranslate = withTranslation()(ProfileAction);
|
||||
@ -124,7 +126,8 @@ const ProfileActionContainer = props => {
|
||||
function mapStateToProps(state) {
|
||||
return {
|
||||
isVisitor: state.auth.user.isVisitor,
|
||||
profile: state.profile.targetUser
|
||||
profile: state.profile.targetUser,
|
||||
isAdmin: isAdmin(state.auth.user)
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
import React from "react";
|
||||
import { connect } from "react-redux";
|
||||
// import PropTypes from "prop-types";
|
||||
import { PageLayout } from "asc-web-common";
|
||||
import { PageLayout, store } from "asc-web-common";
|
||||
import {
|
||||
ArticleHeaderContent,
|
||||
ArticleMainButtonContent,
|
||||
@ -16,6 +16,7 @@ const i18n = createI18N({
|
||||
page: "Reassign",
|
||||
localesPath: "pages/Reassign"
|
||||
});
|
||||
const { isAdmin } = store.auth.selectors;
|
||||
|
||||
class Reassign extends React.Component {
|
||||
componentDidMount() {
|
||||
@ -36,6 +37,7 @@ class Reassign extends React.Component {
|
||||
}
|
||||
|
||||
render() {
|
||||
const { isAdmin } = this.props;
|
||||
console.log("Reassign render");
|
||||
|
||||
// let loaded = false;
|
||||
@ -55,9 +57,11 @@ class Reassign extends React.Component {
|
||||
<ArticleHeaderContent />
|
||||
</PageLayout.ArticleHeader>
|
||||
|
||||
<PageLayout.ArticleMainButton>
|
||||
<ArticleMainButtonContent />
|
||||
</PageLayout.ArticleMainButton>
|
||||
{isAdmin && (
|
||||
<PageLayout.ArticleMainButton>
|
||||
<ArticleMainButtonContent />
|
||||
</PageLayout.ArticleMainButton>
|
||||
)}
|
||||
|
||||
<PageLayout.ArticleBody>
|
||||
<ArticleBodyContent />
|
||||
@ -84,6 +88,7 @@ Reassign.propTypes = {
|
||||
|
||||
function mapStateToProps(state) {
|
||||
return {
|
||||
isAdmin: isAdmin(state.auth.user)
|
||||
// profile: state.profile.targetUser
|
||||
};
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user