|
|
|
@ -8,12 +8,14 @@ import { IPageData } from '../interfaces/IPageData'; |
|
|
|
|
export interface IComponentState{ |
|
|
|
|
pageData: IPageData | null |
|
|
|
|
isLoaded: boolean; |
|
|
|
|
isBlank: boolean; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
export default class SummaryWebPart extends React.Component<ISummaryWebPartProps, IComponentState > { |
|
|
|
|
public state = { |
|
|
|
|
pageData: null, |
|
|
|
|
isLoaded: false |
|
|
|
|
isLoaded: false, |
|
|
|
|
isBlank: false |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
componentDidMount(){ |
|
|
|
@ -21,11 +23,11 @@ export default class SummaryWebPart extends React.Component<ISummaryWebPartProps |
|
|
|
|
let relUrl = context.pageContext.web.serverRelativeUrl |
|
|
|
|
let projectCode = relUrl ? relUrl.split('/')[relUrl.split('/').length - 1] : ''; |
|
|
|
|
|
|
|
|
|
fetch(requestUrl + 'test01_test02_001') |
|
|
|
|
fetch(requestUrl + projectCode) |
|
|
|
|
.then((response)=>{ |
|
|
|
|
return response.json() |
|
|
|
|
}).then(result=>{ |
|
|
|
|
this.setState({ pageData: result.data, isLoaded: true}) |
|
|
|
|
result.data ? this.setState({ pageData: result.data, isLoaded: true }) : this.setState({ isBlank: true }) |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -35,13 +37,13 @@ export default class SummaryWebPart extends React.Component<ISummaryWebPartProps |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public render(): React.ReactElement<ISummaryWebPartProps> { |
|
|
|
|
const { pageData, isLoaded } = this.state; |
|
|
|
|
const { pageData, isLoaded, isBlank } = this.state; |
|
|
|
|
return (isLoaded ?
|
|
|
|
|
<div style={{display: 'flex', flexDirection: 'column'}}> |
|
|
|
|
<div style={{ display: 'flex', justifyContent: 'flex-end' }}><PrimaryButton text="Изменение карточки проекта" onClick={this.relocate} /></div> |
|
|
|
|
<SummaryGlobalComponent data={pageData} /> |
|
|
|
|
</div> |
|
|
|
|
:
|
|
|
|
|
<Spinner label="Подождите, идёт загрузка" ariaLive="assertive" size={SpinnerSize.large} />) |
|
|
|
|
isBlank ? <div></div> : <Spinner label="Подождите, идёт загрузка" ariaLive="assertive" size={SpinnerSize.large} />) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|