/* * Copyright 2000-2016 Vaadin Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package com.vaadin.shared.ui; /** * Different modes for when and how often field value changes are transmitted * from the client to the server. * * @since 8.0 */ public enum ValueChangeMode { /** * Fires a server-side event when the field loses focus. */ BLUR, /** * Fires a server-side event every time the client-side value changes. This * gives the least latency but may cause unnecessary traffic. */ EAGER, /** * Fires a server-side event at defined intervals as long as the value * changes from one event to the next. For instance, you can use this mode * to transmit a snapshot of the contents of a text area every second as * long as the user keeps typing. */ TIMEOUT, /** * On every user event, schedule a server-side event after a defined * interval, cancelling the currently-scheduled event if any. This is a good * choice if you want to, for instance, wait for a small break in the user's * typing before sending the event. */ LAZY }