message-bar

VRTKSSUP-229
Осьмаков Денис 5 years ago
parent 705403106b
commit 8a3b080608
  1. 5
      src/webparts/summaryWebPart/components/SummaryContainer/SummaryContainer.tsx
  2. 24
      src/webparts/summaryWebPart/components/SummaryWebPart.tsx

@ -70,6 +70,11 @@ export default class SummaryContainer extends React.Component<IComponentProps,IC
res.forEach(e=>{
let fieldValue = !e.fieldName.match(/\/Title/gi)?currentProject[0][e.fieldName] : currentProject[0][e.fieldName.split('/')[0]]? currentProject[0][e.fieldName.split('/')[0]]['Title'] : '';
if (fieldValue && fieldValue.toString().match(/\;\#/gi)){
fieldValue = fieldValue.toString().replace(/[\;\#][^\s]/gi, '');
if (fieldValue.toString().match(/undefined/gi)) fieldValue = fieldValue.toString().replace(/undefined/gi, '');
}
if (fieldValue || typeof fieldValue === 'boolean'){
toState.push({
key: e.key,

@ -2,7 +2,7 @@ import * as React from 'react';
import { ISummaryWebPartProps } from './ISummaryWebPartProps';
import { Spinner, SpinnerSize } from 'office-ui-fabric-react/lib/Spinner';
import SummaryGlobalComponent from './SummaryGlobalComponent/SummaryGlobalComponent'
import { PrimaryButton } from 'office-ui-fabric-react';
import { PrimaryButton, MessageBar, MessageBarType } from 'office-ui-fabric-react';
import { IPageData } from '../interfaces/IPageData';
import {sp, Web} from '@pnp/sp'
@ -11,6 +11,7 @@ export interface IComponentState{
isLoaded: boolean;
isBlank: boolean;
prjID: string | number;
isPerm: boolean;
}
export default class SummaryWebPart extends React.Component<ISummaryWebPartProps, IComponentState > {
@ -18,15 +19,24 @@ export default class SummaryWebPart extends React.Component<ISummaryWebPartProps
pageData: null,
isLoaded: false,
isBlank: false,
prjID: ''
prjID: '',
isPerm: false
}
componentDidMount(){
const {requestUrl,context} = this.props;
let relUrl = context.pageContext.web.serverRelativeUrl
let relUrl = context.pageContext.web.serverRelativeUrl;
let projectCode = relUrl ? relUrl.split('/')[relUrl.split('/').length - 1] : '';
let web = new Web('http://portal.vertex.spb.ru/PMIS');
let thisWeb = new Web('http://portal.vertex.spb.ru/PMIS/' + projectCode);
thisWeb.lists.getByTitle('CustomPerm').items.get().then(e => {
if(e.length){
this.setState({ isPerm: true })
}
})
web.lists.getById('eeba7db6-4c28-41a2-a54e-82a2aaf0ca15').items.filter("Code_project eq '" + projectCode +"'").select('ID').get().then(e=>{
this.setState({prjID: e[0].ID})
})
@ -45,8 +55,8 @@ export default class SummaryWebPart extends React.Component<ISummaryWebPartProps
}
public render(): React.ReactElement<ISummaryWebPartProps> {
const { pageData, isLoaded, isBlank } = this.state;
return isLoaded ? (
const { pageData, isLoaded, isBlank, isPerm } = this.state;
return isPerm ? isLoaded ? (
<div style={{ display: "flex", flexDirection: "column" }}>
<div style={{ display: "flex", justifyContent: "flex-end" }}>
<PrimaryButton
@ -68,6 +78,8 @@ export default class SummaryWebPart extends React.Component<ISummaryWebPartProps
ariaLive="assertive"
size={SpinnerSize.large}
/>
);
) : <MessageBar messageBarType={MessageBarType.error} isMultiline={false} dismissButtonAriaLabel="Close">
{'Отсутствует доступ к странице'}
</MessageBar>
}
}

Loading…
Cancel
Save