From 9bca3abc153293d2abb5584a029ee555346d8928 Mon Sep 17 00:00:00 2001 From: Jessica Kulwik Date: Fri, 31 May 2019 22:00:50 +0000 Subject: [PATCH 1/2] Require comments to publish libraries --- .../components/PublishLibraryDialog.jsx | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/apps/src/code-studio/components/PublishLibraryDialog.jsx b/apps/src/code-studio/components/PublishLibraryDialog.jsx index cbcb8ee74bb46..d1d29f5c43522 100644 --- a/apps/src/code-studio/components/PublishLibraryDialog.jsx +++ b/apps/src/code-studio/components/PublishLibraryDialog.jsx @@ -32,6 +32,12 @@ const styles = { comment: { margin: 4, flex: 1 + }, + warningMessage: { + color: color.red, + marginTop: 20, + marginLeft: 4, + fontSize: 'large' } }; @@ -49,7 +55,8 @@ class PublishLibraryDialog extends React.Component { showShareLink: false, selectedFunctions: {}, functionComments: {}, - shareLink: '' + shareLink: '', + showWarningMessage: false }; componentDidUpdate(prevProps) { @@ -137,6 +144,14 @@ class PublishLibraryDialog extends React.Component { var functionNames = selectedFunctions.map( selectedFunction => selectedFunction.name ); + var withoutComments = selectedFunctions.filter(selectedFunction => { + return !this.state.functionComments[selectedFunction.name]; + }); + if (withoutComments.length > 0) { + this.setState({showWarningMessage: true}); + return; + } + this.setState({showWarningMessage: false}); var dropletConfig = selectedFunctions.map(selectedFunction => { var config = { func: this.props.libraryName + '.' + selectedFunction.name, @@ -190,7 +205,7 @@ class PublishLibraryDialog extends React.Component { } close = () => { - this.setState(state => ({showShareLink: false})); + this.setState(state => ({showShareLink: false, showWarningMessage: false})); this.props.onClose(); }; @@ -213,6 +228,11 @@ class PublishLibraryDialog extends React.Component { > Publish + {this.state.showWarningMessage && ( +
+ You must add comments for all shared functions +
+ )} {this.shareLink()} From 2c05b9f9d7283db43e1d7ee9ce5289b3f242b981 Mon Sep 17 00:00:00 2001 From: Jessica Kulwik Date: Fri, 31 May 2019 22:15:22 +0000 Subject: [PATCH 2/2] Share link should not show if the warning message is showing. --- apps/src/code-studio/components/PublishLibraryDialog.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/src/code-studio/components/PublishLibraryDialog.jsx b/apps/src/code-studio/components/PublishLibraryDialog.jsx index d1d29f5c43522..350b408d2d44d 100644 --- a/apps/src/code-studio/components/PublishLibraryDialog.jsx +++ b/apps/src/code-studio/components/PublishLibraryDialog.jsx @@ -148,7 +148,7 @@ class PublishLibraryDialog extends React.Component { return !this.state.functionComments[selectedFunction.name]; }); if (withoutComments.length > 0) { - this.setState({showWarningMessage: true}); + this.setState({showWarningMessage: true, showShareLink: false}); return; } this.setState({showWarningMessage: false});