import * as React from 'react'; import styles from './EnhancedListFormatting.module.scss'; import * as strings from 'EnhancedListFormattingWebPartStrings'; import { IEnhancedListFormattingProps } from './IEnhancedListFormattingProps'; import { MessageBarButton, MessageBar, MessageBarType } from 'office-ui-fabric-react'; import { DisplayMode } from '@microsoft/sp-core-library'; export default class EnhancedListFormatting extends React.Component { public render(): React.ReactElement { const { css, displayMode, acceptedDisclaimer } = this.props; // If we accepted the disclaimer, let's work as expected // Determine if there is a CSS value const hasCSS: boolean = css !== undefined && css !== ""; // Create a style element const styleElem: JSX.Element = ; // If we're not in Edit mode, hide this web part if (displayMode !== DisplayMode.Edit) { return styleElem; } // if we didn't accept the disclaimer, show a disclaimer and nothing else if (acceptedDisclaimer !== true) { return (this._onAcceptDisclaimer()} dismissButtonAriaLabel={strings.DismissDisclaimerAriaLabel} messageBarType={MessageBarType.warning} actions={
this._onAcceptDisclaimer()}>{strings.AcceptDisclaimerButton}
} >
); } return (
{styleElem} this._onConfigure()}>{hasCSS ? strings.PlaceholderButtonTitleHasStyles : strings.PlaceholderButtonTitleNoStyles}
} > {hasCSS ? strings.PlaceholderDescriptionHasStyles : strings.PlaceholderDescriptionNoStyles} ); } private _onAcceptDisclaimer() { this.props.onAcceptDisclaimer(); } private _onConfigure() { this.props.context.propertyPane.open(); } }