import * as React from "react"; import * as SDK from "azure-devops-extension-sdk"; import { CommonServiceIds, IProjectPageService } from "azure-devops-extension-api"; export interface IOverviewTabState { userName?: string; projectName?: string; iframeUrl?: string; extensionData?: string; } export class OverviewTab extends React.Component<{}, IOverviewTabState> { constructor(props: {}) { super(props); this.state = { iframeUrl: window.location.href }; } public componentDidMount() { this.initializeState(); } private async initializeState(): Promise { await SDK.ready(); const userName = SDK.getUser().displayName; this.setState({ userName }); const projectService = await SDK.getService(CommonServiceIds.ProjectPageService); const project = await projectService.getProject(); if (project) { this.setState({ projectName: project.name }); } } public render(): JSX.Element { const { userName, projectName, iframeUrl } = this.state; return (
Hello, {userName}!
{ projectName &&
Project: {projectName}
}
iframe URL: {iframeUrl}
); } }