| Index: third_party/google_input_tools/src/chrome/os/datasource.js
|
| diff --git a/third_party/google_input_tools/src/chrome/os/datasource.js b/third_party/google_input_tools/src/chrome/os/datasource.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..5c8f14e254d8243fb0e2ef8d64eed87347090324
|
| --- /dev/null
|
| +++ b/third_party/google_input_tools/src/chrome/os/datasource.js
|
| @@ -0,0 +1,189 @@
|
| +// Copyright 2014 The ChromeOS IME Authors. All Rights Reserved.
|
| +// limitations under the License.
|
| +// See the License for the specific language governing permissions and
|
| +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| +// distributed under the License is distributed on an "AS-IS" BASIS,
|
| +// Unless required by applicable law or agreed to in writing, software
|
| +//
|
| +// http://www.apache.org/licenses/LICENSE-2.0
|
| +//
|
| +// You may obtain a copy of the License at
|
| +// you may not use this file except in compliance with the License.
|
| +// Licensed under the Apache License, Version 2.0 (the "License");
|
| +//
|
| +goog.provide('i18n.input.chrome.DataSource');
|
| +
|
| +goog.require('goog.events');
|
| +goog.require('goog.events.Event');
|
| +goog.require('goog.events.EventTarget');
|
| +goog.require('goog.functions');
|
| +
|
| +
|
| +/**
|
| + * The data source.
|
| + *
|
| + * @param {number} numOfCanddiate The number of canddiate to fetch.
|
| + * @param {function(string, !Array.<!Object>)} callback .
|
| + * @constructor
|
| + * @extends {goog.events.EventTarget}
|
| + */
|
| +i18n.input.chrome.DataSource = function(numOfCanddiate, callback) {
|
| + goog.base(this);
|
| +
|
| + /**
|
| + * The number of candidates to fetch.
|
| + *
|
| + * @type {number}
|
| + */
|
| + this.numOfCandidate = numOfCanddiate;
|
| +
|
| + /** @protected {function(string, !Array.<!Object>)} */
|
| + this.callback = callback;
|
| +};
|
| +goog.inherits(i18n.input.chrome.DataSource, goog.events.EventTarget);
|
| +
|
| +
|
| +/** @type {boolean} */
|
| +i18n.input.chrome.DataSource.prototype.ready = false;
|
| +
|
| +
|
| +/**
|
| + * The correction level.
|
| + *
|
| + * @protected {number}
|
| + */
|
| +i18n.input.chrome.DataSource.prototype.correctionLevel = 0;
|
| +
|
| +
|
| +/**
|
| + * The language code.
|
| + *
|
| + * @type {string}
|
| + * @protected
|
| + */
|
| +i18n.input.chrome.DataSource.prototype.language;
|
| +
|
| +
|
| +/**
|
| + * Sets the langauge code.
|
| + *
|
| + * @param {string} language The language code.
|
| + */
|
| +i18n.input.chrome.DataSource.prototype.setLanguage = function(
|
| + language) {
|
| + this.language = language;
|
| +};
|
| +
|
| +
|
| +/**
|
| + * True if the datasource is ready.
|
| + *
|
| + * @return {boolean} .
|
| + */
|
| +i18n.input.chrome.DataSource.prototype.isReady = function() {
|
| + return this.ready;
|
| +};
|
| +
|
| +
|
| +/**
|
| + * Creates the common payload for completion or prediction request.
|
| + *
|
| + * @return {!Object} The payload.
|
| + * @protected
|
| + */
|
| +i18n.input.chrome.DataSource.prototype.createCommonPayload =
|
| + function() {
|
| + return {
|
| + 'itc': this.getInputToolCode(),
|
| + 'num': this.numOfCandidate
|
| + };
|
| +};
|
| +
|
| +
|
| +/**
|
| + * Gets the input tool code.
|
| + *
|
| + * @return {string} .
|
| + */
|
| +i18n.input.chrome.DataSource.prototype.getInputToolCode = function() {
|
| + return this.language + '-t-i0-und';
|
| +};
|
| +
|
| +
|
| +/**
|
| + * Sends completion request.
|
| + *
|
| + * @param {string} query The query .
|
| + * @param {string} context The context .
|
| + * @param {!Object=} opt_spatialData .
|
| + */
|
| +i18n.input.chrome.DataSource.prototype.sendCompletionRequest =
|
| + goog.functions.NULL;
|
| +
|
| +
|
| +/**
|
| + * Sends prediciton request.
|
| + *
|
| + * @param {string} context The context.
|
| + */
|
| +i18n.input.chrome.DataSource.prototype.sendPredictionRequest =
|
| + goog.functions.NULL;
|
| +
|
| +
|
| +/**
|
| + * Sets the correction level.
|
| + *
|
| + * @param {number} level .
|
| + */
|
| +i18n.input.chrome.DataSource.prototype.setCorrectionLevel = function(level) {
|
| + this.correctionLevel = level;
|
| +};
|
| +
|
| +
|
| +/**
|
| + * Clears the data source.
|
| + */
|
| +i18n.input.chrome.DataSource.prototype.clear = goog.functions.NULL;
|
| +
|
| +
|
| +/**
|
| + * The event type.
|
| + *
|
| + * @enum {string}
|
| + */
|
| +i18n.input.chrome.DataSource.EventType = {
|
| + CANDIDATES_BACK: goog.events.getUniqueId('cb'),
|
| + READY: goog.events.getUniqueId('r')
|
| +};
|
| +
|
| +
|
| +
|
| +/**
|
| + * The candidates is fetched back.
|
| + *
|
| + * @param {string} source The source.
|
| + * @param {!Array.<!Object>} candidates The candidates.
|
| + * @constructor
|
| + * @extends {goog.events.Event}
|
| + */
|
| +i18n.input.chrome.DataSource.CandidatesBackEvent =
|
| + function(source, candidates) {
|
| + goog.base(this, i18n.input.chrome.DataSource.EventType.CANDIDATES_BACK);
|
| +
|
| + /**
|
| + * The source.
|
| + *
|
| + * @type {string}
|
| + */
|
| + this.source = source;
|
| +
|
| + /**
|
| + * The candidate list.
|
| + *
|
| + * @type {!Array.<!Object>}
|
| + */
|
| + this.candidates = candidates;
|
| +};
|
| +goog.inherits(i18n.input.chrome.DataSource.CandidatesBackEvent,
|
| + goog.events.Event);
|
| +
|
|
|