From 507319a7fea03daaf962fbed1eacdb344a0186ad Mon Sep 17 00:00:00 2001 From: Antonio Davi Macedo Coelho de Castro Date: Fri, 17 Jan 2020 00:25:42 -0800 Subject: [PATCH 1/2] Fix audience conditions when Installation class does not exist --- .../PushAudienceDialog/PushAudienceDialog.react.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/components/PushAudienceDialog/PushAudienceDialog.react.js b/src/components/PushAudienceDialog/PushAudienceDialog.react.js index 58d8e179b2..98d9f4a336 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} ); From 3f76230bb0ed41bb871b2dc4b46b9a56bc70b798 Mon Sep 17 00:00:00 2001 From: Antonio Davi Macedo Coelho de Castro Date: Tue, 3 Mar 2020 20:19:24 -0800 Subject: [PATCH 2/2] Improve code readability --- src/components/PushAudienceDialog/PushAudienceDialog.react.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/PushAudienceDialog/PushAudienceDialog.react.js b/src/components/PushAudienceDialog/PushAudienceDialog.react.js index 98d9f4a336..8fb0355dbd 100644 --- a/src/components/PushAudienceDialog/PushAudienceDialog.react.js +++ b/src/components/PushAudienceDialog/PushAudienceDialog.react.js @@ -263,7 +263,7 @@ export default class PushAudienceDialog extends React.Component { {futureUseSegment} 0 || this.state.errorMessage && this.state.errorMessage.length > 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.state.errorMessage}