mirror of
https://github.com/apache/superset.git
synced 2024-09-12 08:39:45 -04:00
Using TextAreaControl for WHERE and HAVING clause section (#4090)
This commit is contained in:
parent
281ae45495
commit
d4e8d57fc4
@ -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 = {
|
||||
@ -30,6 +33,9 @@ const defaultProps = {
|
||||
onChange: () => {},
|
||||
value: '',
|
||||
height: 250,
|
||||
minLines: 10,
|
||||
maxLines: 10,
|
||||
offerEditInModal: true,
|
||||
};
|
||||
|
||||
export default class TextAreaControl extends React.Component {
|
||||
@ -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 }}
|
||||
@ -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>
|
||||
);
|
||||
}
|
||||
|
@ -910,9 +910,13 @@ 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 ' +
|
||||
@ -920,9 +924,13 @@ export const controls = {
|
||||
},
|
||||
|
||||
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 ' +
|
||||
|
Loading…
Reference in New Issue
Block a user