All Downloads are FREE. Search and download functionalities are using the official Maven repository.

tsd.client.ValidatedTextBox Maven / Gradle / Ivy

Go to download

OpenTSDB is a distributed, scalable Time Series Database (TSDB) written on top of HBase. OpenTSDB was written to address a common need: store, index and serve metrics collected from computer systems (network gear, operating systems, applications) at a large scale, and make this data easily accessible and graphable.

There is a newer version: 2.4.1
Show newest version
// This file is part of OpenTSDB.
// Copyright (C) 2010-2012  The OpenTSDB Authors.
//
// This program is free software: you can redistribute it and/or modify it
// under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 2.1 of the License, or (at your
// option) any later version.  This program is distributed in the hope that it
// will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
// of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser
// General Public License for more details.  You should have received a copy
// of the GNU Lesser General Public License along with this program.  If not,
// see .
package tsd.client;

import com.google.gwt.event.dom.client.BlurEvent;
import com.google.gwt.event.dom.client.BlurHandler;
import com.google.gwt.user.client.Command;
import com.google.gwt.user.client.DeferredCommand;
import com.google.gwt.user.client.ui.TextBox;

class ValidatedTextBox extends TextBox implements BlurHandler {

  private String regexp;

  public ValidatedTextBox() {
  }

  public void setValidationRegexp(final String regexp) {
    if (this.regexp == null) {  // First call to this method.
      super.addBlurHandler(this);
    }
    this.regexp = regexp;
  }

  public String getValidationRegexp() {
    return regexp;
  }

  public void onBlur(final BlurEvent event) {
    final String interval = getText();
    if (!interval.matches(regexp)) {
      // Steal the dateBoxFormatError :)
      addStyleName("dateBoxFormatError");
      event.stopPropagation();
      DeferredCommand.addCommand(new Command() {
        public void execute() {
          // TODO(tsuna): Understand why this doesn't work as expected, even
          // though we cancel the onBlur event and we put the focus afterwards
          // using a deferred command.
          //setFocus(true);
          selectAll();
        }
      });
    } else {
      removeStyleName("dateBoxFormatError");
    }
  }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy