diff --git a/src/components/PushAudienceDialog/PushAudienceDialog.react.js b/src/components/PushAudienceDialog/PushAudienceDialog.react.js index 58d8e179b..8fb0355db 100644 --- a/src/components/PushAudienceDialog/PushAudienceDialog.react.js +++ b/src/components/PushAudienceDialog/PushAudienceDialog.react.js @@ -55,6 +55,7 @@ export default class PushAudienceDialog extends React.Component { audienceName: '', audienceSize: undefined, approximate: false, + errorMessage: undefined, }; } @@ -91,6 +92,10 @@ export default class PushAudienceDialog extends React.Component { } handleAddCondition() { + if (!this.props.schema || !Object.keys(this.props.schema).length) { + this.setState({ errorMessage: 'You first need to create the Installation class before adding conditions to an audience.' }); + return; + } let available = Filters.availableFilters(this.props.schema, this.state.filters); let field = Object.keys(available)[0]; this.setState(({ filters }) => ({ @@ -258,9 +263,9 @@ export default class PushAudienceDialog extends React.Component { {futureUseSegment} 0)} + show={Boolean((this.props.errorMessage && this.props.errorMessage.length > 0) || (this.state.errorMessage && this.state.errorMessage.length > 0))} color='red' > - {this.props.errorMessage} + {this.props.errorMessage || this.state.errorMessage} );