     handleTermChanged: React.PropTypes.func.isRequired
 
 
-  handleTextChanged: (e) ->
+  changeTerm: (attribute, event) ->
     changedTerm = {}
     changedTerm[k] = @props.term[k] for k of @props.term  # clone the old term
-    changedTerm.word = e.target.value                     # set its text value
+    changedTerm[attribute] = event.target.value
     @props.handleTermChanged(changedTerm, @props.termIndex)
 
+  handleTextChanged: (e) -> @changeTerm('word', e)
+
+  handleMinChanged: (e) -> @changeTerm('min', e)
+
+  handleMaxChanged: (e) -> @changeTerm('max', e)
+
+  handleIsLemmaChanged: (e) -> @changeTerm('isLemma', e)
 
   render: ->
     {term, queryHasSingleTerm, isFirst, isLast} = @props

                {isFirst ? null :
                <div className="interval">
                  <h6>Interval</h6>
                  <input type="text" className="interval" value={term.min} /> min<br />
                  <input type="text" className="interval" value={term.max} /> max
                </div>
                }



                <div className="word-checkboxes">
                  <label className="checkbox">
                    <input type="checkbox" checked={term.isLemma} onChange={this.handleIsLemmaChanged} /> Lemma
                  </label>
                  &nbsp;&nbsp;
                  <label className="checkbox">
