this should avoid unnecessary requests. It only sets the range if you press enter (`$event` is undefined when fired from within the directive), or if on blur the input has the `ng-dirty` class.