Skip to content

Commit

Permalink
Using TextAreaControl for WHERE and HAVING clause section (#4090)
Browse files Browse the repository at this point in the history
  • Loading branch information
mistercrunch authored Dec 19, 2017
1 parent 281ae45 commit d4e8d57
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@ const propTypes = {
value: PropTypes.string,
height: PropTypes.number,
language: PropTypes.oneOf([null, 'json', 'html', 'sql', 'markdown']),
minLines: PropTypes.number,
maxLines: PropTypes.number,
offerEditInModal: PropTypes.bool,
};

const defaultProps = {
Expand All @@ -30,6 +33,9 @@ const defaultProps = {
onChange: () => {},
value: '',
height: 250,
minLines: 10,
maxLines: 10,
offerEditInModal: true,
};

export default class TextAreaControl extends React.Component {
Expand All @@ -46,8 +52,8 @@ export default class TextAreaControl extends React.Component {
mode={this.props.language}
theme="textmate"
style={{ border: '1px solid #CCC' }}
minLines={inModal ? 40 : 10}
maxLines={inModal ? 1000 : 10}
minLines={inModal ? 40 : this.props.minLines}
maxLines={inModal ? 1000 : this.props.maxLines}
onChange={this.onAceChange.bind(this)}
width="100%"
editorProps={{ $blockScrolling: true }}
Expand All @@ -73,16 +79,17 @@ export default class TextAreaControl extends React.Component {
<div>
{controlHeader}
{this.renderEditor()}
<ModalTrigger
bsSize="large"
modalTitle={controlHeader}
triggerNode={
<Button bsSize="small" className="m-t-5">
{t('Edit')} <strong>{this.props.language}</strong> {t('in modal')}
</Button>
}
modalBody={this.renderEditor(true)}
/>
{this.props.offerEditInModal &&
<ModalTrigger
bsSize="large"
modalTitle={controlHeader}
triggerNode={
<Button bsSize="small" className="m-t-5">
{t('Edit')} <strong>{this.props.language}</strong> {t('in modal')}
</Button>
}
modalBody={this.renderEditor(true)}
/>}
</div>
);
}
Expand Down
12 changes: 10 additions & 2 deletions superset/assets/javascripts/explore/stores/controls.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -910,19 +910,27 @@ export const controls = {
},

where: {
type: 'TextControl',
type: 'TextAreaControl',
label: t('Custom WHERE clause'),
default: '',
language: 'sql',
minLines: 2,
maxLines: 10,
offerEditInModal: false,
description: t('The text in this box gets included in your query\'s WHERE ' +
'clause, as an AND to other criteria. You can include ' +
'complex expression, parenthesis and anything else ' +
'supported by the backend it is directed towards.'),
},

having: {
type: 'TextControl',
type: 'TextAreaControl',
label: t('Custom HAVING clause'),
default: '',
language: 'sql',
minLines: 2,
maxLines: 10,
offerEditInModal: false,
description: t('The text in this box gets included in your query\'s HAVING ' +
'clause, as an AND to other criteria. You can include ' +
'complex expression, parenthesis and anything else ' +
Expand Down

0 comments on commit d4e8d57

Please sign in to comment.