summaryrefslogtreecommitdiff
path: root/js/dojo-1.7.2/dojox/form/MultiComboBox.js
diff options
context:
space:
mode:
authorTristan Zur <tzur@web.web.ccwn.org>2014-03-27 22:27:47 +0100
committerTristan Zur <tzur@web.web.ccwn.org>2014-03-27 22:27:47 +0100
commitb62676ca5d3d6f6ba3f019ea3f99722e165a98d8 (patch)
tree86722cb80f07d4569f90088eeaea2fc2f6e2ef94 /js/dojo-1.7.2/dojox/form/MultiComboBox.js
Initial commit of intern.ccwn.org contentsHEADmaster
Diffstat (limited to 'js/dojo-1.7.2/dojox/form/MultiComboBox.js')
-rw-r--r--js/dojo-1.7.2/dojox/form/MultiComboBox.js66
1 files changed, 66 insertions, 0 deletions
diff --git a/js/dojo-1.7.2/dojox/form/MultiComboBox.js b/js/dojo-1.7.2/dojox/form/MultiComboBox.js
new file mode 100644
index 0000000..2661cb9
--- /dev/null
+++ b/js/dojo-1.7.2/dojox/form/MultiComboBox.js
@@ -0,0 +1,66 @@
+//>>built
+define("dojox/form/MultiComboBox", [
+ "dojo/_base/kernel",
+ "dijit/form/ValidationTextBox",
+ "dijit/form/ComboBoxMixin",
+ "dojo/_base/declare"
+], function(kernel, ValidationTextBox, ComboBoxMixin, declare){
+kernel.experimental("dojox.form.MultiComboBox");
+
+ /*=====
+ ValidationTextBox = dijit.form.ValidationTextBox;
+ ComboBoxMixin = dijit.form.ComboBoxMixin;
+ =====*/
+return declare("dojox.form.MultiComboBox", [ValidationTextBox, ComboBoxMixin],{
+ // summary:
+ // A ComboBox that accepts multiple inputs on a single line
+
+ // delimiter: String
+ // The character to use to separate items in the ComboBox input
+ delimiter: ",",
+
+ _previousMatches: false,
+
+ _setValueAttr: function(value){
+ if(this.delimiter && value.length != 0){
+ value = value+this.delimiter+" ";
+ arguments[0] = this._addPreviousMatches(value);
+ }
+ this.inherited(arguments);
+ },
+
+ _addPreviousMatches: function(/* String */text){
+ if(this._previousMatches){
+ if(!text.match(new RegExp("^"+this._previousMatches))){
+ text = this._previousMatches+text;
+ }
+ text = this._cleanupDelimiters(text);
+ }
+ return text; // String
+ },
+
+ _cleanupDelimiters: function(/* String */text){
+ if(this.delimiter){
+ text = text.replace(new RegExp(" +"), " ");
+ text = text.replace(new RegExp("^ *"+this.delimiter+"* *"), "");
+ text = text.replace(new RegExp(this.delimiter+" *"+this.delimiter), this.delimiter);
+ }
+ return text;
+ },
+
+ _autoCompleteText: function(/* String */text){
+ arguments[0] = this._addPreviousMatches(text);
+ this.inherited(arguments);
+ },
+
+ _startSearch: function(/* String */text){
+ text = this._cleanupDelimiters(text);
+ var re = new RegExp("^.*"+this.delimiter+" *");
+
+ if((this._previousMatches = text.match(re))){
+ arguments[0] = text.replace(re, "");
+ }
+ this.inherited(arguments);
+ }
+});
+}); \ No newline at end of file