Просмотр исходного кода

Built out the translations

This migrates over the required English translations under their
new names.

The "Searching" message has also been adjusted to use "Searching..."
instead of "Loading more results...", which is what it used to
say sometimes.

This also changes the AJAX handler to call `abort` when needed.
Kevin Brown 10 лет назад
Родитель
Сommit
5ec201ca30

+ 1 - 1
dist/js/i18n/en.js

@@ -1 +1 @@
-window.$=window.$||{},function(){$&&$.fn&&$.fn.select2&&$.fn.select2.amd&&(define=$.fn.select2.amd.define,require=$.fn.select2.amd.require),define("select2/i18n/en",[],function(){return{inputTooShort:function(e){var t=e.minimum-e.input.length,n="Please enter "+t+" or more character";return t!=1&&(n+="s"),n},loadingMore:function(){return"Loading more results…"},noResults:function(){return"No results found"}}}),require("jquery.select2"),$.fn.select2.amd={define:define,require:require}}();
+window.$=window.$||{},function(){$&&$.fn&&$.fn.select2&&$.fn.select2.amd&&(define=$.fn.select2.amd.define,require=$.fn.select2.amd.require),define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Please delete "+t+" character";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Please enter "+t+" or more character";return t!=1&&(n+="s"),n},searching:function(){return"Searching…"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var t="You can only select"+e.maximum+" item";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No results found"}}}),require("jquery.select2"),$.fn.select2.amd={define:define,require:require}}();

+ 77 - 43
dist/js/select2.amd.full.js

@@ -267,7 +267,7 @@ define('select2/results',[
   Results.prototype.showLoading = function (params) {
     this.hideLoading();
 
-    var loadingMore = this.options.get('translations').get('loadingMore');
+    var loadingMore = this.options.get('translations').get('searching');
 
     var loading = {
       disabled: true,
@@ -578,9 +578,50 @@ define('select2/results',[
   return Results;
 });
 
+define('select2/keys',[
+
+], function () {
+  var KEYS = {
+    BACKSPACE: 8,
+    TAB: 9,
+    ENTER: 13,
+    SHIFT: 16,
+    CTRL: 17,
+    ALT: 18,
+    ESC: 27,
+    SPACE: 32,
+    PAGE_UP: 33,
+    PAGE_DOWN: 34,
+    END: 35,
+    HOME: 36,
+    LEFT: 37,
+    UP: 38,
+    RIGHT: 39,
+    DOWN: 40,
+    DELETE: 46,
+
+    isArrow: function (k) {
+        k = k.which ? k.which : k;
+
+        switch (k) {
+        case KEY.LEFT:
+        case KEY.RIGHT:
+        case KEY.UP:
+        case KEY.DOWN:
+            return true;
+        }
+
+        return false;
+    }
+  };
+
+  return KEYS;
+});
+
 define('select2/selection/base',[
-  '../utils'
-], function (Utils) {
+  '../utils',
+  '../keys'
+], function (Utils, KEYS) {
   function BaseSelection ($element, options) {
     this.$element = $element;
     this.options = options;
@@ -666,46 +707,6 @@ define('select2/selection/base',[
   return BaseSelection;
 });
 
-define('select2/keys',[
-
-], function () {
-  var KEYS = {
-    BACKSPACE: 8,
-    TAB: 9,
-    ENTER: 13,
-    SHIFT: 16,
-    CTRL: 17,
-    ALT: 18,
-    ESC: 27,
-    SPACE: 32,
-    PAGE_UP: 33,
-    PAGE_DOWN: 34,
-    END: 35,
-    HOME: 36,
-    LEFT: 37,
-    UP: 38,
-    RIGHT: 39,
-    DOWN: 40,
-    DELETE: 46,
-
-    isArrow: function (k) {
-        k = k.which ? k.which : k;
-
-        switch (k) {
-        case KEY.LEFT:
-        case KEY.RIGHT:
-        case KEY.UP:
-        case KEY.DOWN:
-            return true;
-        }
-
-        return false;
-    }
-  };
-
-  return KEYS;
-});
-
 define('select2/selection/single',[
   './base',
   '../utils',
@@ -1341,6 +1342,11 @@ define('select2/data/ajax',[
     var matches = [];
     var self = this;
 
+    if (this._request) {
+      this._request.abort();
+      this._request = null;
+    }
+
     var options = $.extend({
       type: 'GET'
     }, this.ajaxOptions);
@@ -1361,6 +1367,8 @@ define('select2/data/ajax',[
 
         callback(results);
       });
+
+      self._request = $request;
     }
 
     if (this.ajaxOptions.delay && params.term !== '') {
@@ -1750,6 +1758,20 @@ define('select2/dropdown/infiniteScroll',[
 
 define('select2/i18n/en',[],function () {
   return {
+    errorLoading: function () {
+      return 'The results could not be loaded.';
+    },
+    inputTooLong: function (args) {
+      var overChars = args.input.length - args.maximum;
+
+      var message = 'Please delete ' + overChars + ' character';
+
+      if (overChars != 1) {
+        message += 's';
+      }
+
+      return message;
+    },
     inputTooShort: function (args) {
       var remainingChars = args.minimum - args.input.length;
 
@@ -1761,9 +1783,21 @@ define('select2/i18n/en',[],function () {
 
       return message;
     },
+    searching: function () {
+      return 'Searching…';
+    },
     loadingMore: function () {
       return 'Loading more results…';
     },
+    maximumSelected: function (args) {
+      var message = 'You can only select' + args.maximum + ' item';
+
+      if (args.maximum != 1) {
+        message += 's';
+      }
+
+      return message;
+    },
     noResults: function () {
       return 'No results found';
     }

+ 77 - 43
dist/js/select2.amd.js

@@ -267,7 +267,7 @@ define('select2/results',[
   Results.prototype.showLoading = function (params) {
     this.hideLoading();
 
-    var loadingMore = this.options.get('translations').get('loadingMore');
+    var loadingMore = this.options.get('translations').get('searching');
 
     var loading = {
       disabled: true,
@@ -578,9 +578,50 @@ define('select2/results',[
   return Results;
 });
 
+define('select2/keys',[
+
+], function () {
+  var KEYS = {
+    BACKSPACE: 8,
+    TAB: 9,
+    ENTER: 13,
+    SHIFT: 16,
+    CTRL: 17,
+    ALT: 18,
+    ESC: 27,
+    SPACE: 32,
+    PAGE_UP: 33,
+    PAGE_DOWN: 34,
+    END: 35,
+    HOME: 36,
+    LEFT: 37,
+    UP: 38,
+    RIGHT: 39,
+    DOWN: 40,
+    DELETE: 46,
+
+    isArrow: function (k) {
+        k = k.which ? k.which : k;
+
+        switch (k) {
+        case KEY.LEFT:
+        case KEY.RIGHT:
+        case KEY.UP:
+        case KEY.DOWN:
+            return true;
+        }
+
+        return false;
+    }
+  };
+
+  return KEYS;
+});
+
 define('select2/selection/base',[
-  '../utils'
-], function (Utils) {
+  '../utils',
+  '../keys'
+], function (Utils, KEYS) {
   function BaseSelection ($element, options) {
     this.$element = $element;
     this.options = options;
@@ -666,46 +707,6 @@ define('select2/selection/base',[
   return BaseSelection;
 });
 
-define('select2/keys',[
-
-], function () {
-  var KEYS = {
-    BACKSPACE: 8,
-    TAB: 9,
-    ENTER: 13,
-    SHIFT: 16,
-    CTRL: 17,
-    ALT: 18,
-    ESC: 27,
-    SPACE: 32,
-    PAGE_UP: 33,
-    PAGE_DOWN: 34,
-    END: 35,
-    HOME: 36,
-    LEFT: 37,
-    UP: 38,
-    RIGHT: 39,
-    DOWN: 40,
-    DELETE: 46,
-
-    isArrow: function (k) {
-        k = k.which ? k.which : k;
-
-        switch (k) {
-        case KEY.LEFT:
-        case KEY.RIGHT:
-        case KEY.UP:
-        case KEY.DOWN:
-            return true;
-        }
-
-        return false;
-    }
-  };
-
-  return KEYS;
-});
-
 define('select2/selection/single',[
   './base',
   '../utils',
@@ -1341,6 +1342,11 @@ define('select2/data/ajax',[
     var matches = [];
     var self = this;
 
+    if (this._request) {
+      this._request.abort();
+      this._request = null;
+    }
+
     var options = $.extend({
       type: 'GET'
     }, this.ajaxOptions);
@@ -1361,6 +1367,8 @@ define('select2/data/ajax',[
 
         callback(results);
       });
+
+      self._request = $request;
     }
 
     if (this.ajaxOptions.delay && params.term !== '') {
@@ -1750,6 +1758,20 @@ define('select2/dropdown/infiniteScroll',[
 
 define('select2/i18n/en',[],function () {
   return {
+    errorLoading: function () {
+      return 'The results could not be loaded.';
+    },
+    inputTooLong: function (args) {
+      var overChars = args.input.length - args.maximum;
+
+      var message = 'Please delete ' + overChars + ' character';
+
+      if (overChars != 1) {
+        message += 's';
+      }
+
+      return message;
+    },
     inputTooShort: function (args) {
       var remainingChars = args.minimum - args.input.length;
 
@@ -1761,9 +1783,21 @@ define('select2/i18n/en',[],function () {
 
       return message;
     },
+    searching: function () {
+      return 'Searching…';
+    },
     loadingMore: function () {
       return 'Loading more results…';
     },
+    maximumSelected: function (args) {
+      var message = 'You can only select' + args.maximum + ' item';
+
+      if (args.maximum != 1) {
+        message += 's';
+      }
+
+      return message;
+    },
     noResults: function () {
       return 'No results found';
     }

+ 77 - 43
dist/js/select2.full.js

@@ -9802,7 +9802,7 @@ define('select2/results',[
   Results.prototype.showLoading = function (params) {
     this.hideLoading();
 
-    var loadingMore = this.options.get('translations').get('loadingMore');
+    var loadingMore = this.options.get('translations').get('searching');
 
     var loading = {
       disabled: true,
@@ -10113,9 +10113,50 @@ define('select2/results',[
   return Results;
 });
 
+define('select2/keys',[
+
+], function () {
+  var KEYS = {
+    BACKSPACE: 8,
+    TAB: 9,
+    ENTER: 13,
+    SHIFT: 16,
+    CTRL: 17,
+    ALT: 18,
+    ESC: 27,
+    SPACE: 32,
+    PAGE_UP: 33,
+    PAGE_DOWN: 34,
+    END: 35,
+    HOME: 36,
+    LEFT: 37,
+    UP: 38,
+    RIGHT: 39,
+    DOWN: 40,
+    DELETE: 46,
+
+    isArrow: function (k) {
+        k = k.which ? k.which : k;
+
+        switch (k) {
+        case KEY.LEFT:
+        case KEY.RIGHT:
+        case KEY.UP:
+        case KEY.DOWN:
+            return true;
+        }
+
+        return false;
+    }
+  };
+
+  return KEYS;
+});
+
 define('select2/selection/base',[
-  '../utils'
-], function (Utils) {
+  '../utils',
+  '../keys'
+], function (Utils, KEYS) {
   function BaseSelection ($element, options) {
     this.$element = $element;
     this.options = options;
@@ -10201,46 +10242,6 @@ define('select2/selection/base',[
   return BaseSelection;
 });
 
-define('select2/keys',[
-
-], function () {
-  var KEYS = {
-    BACKSPACE: 8,
-    TAB: 9,
-    ENTER: 13,
-    SHIFT: 16,
-    CTRL: 17,
-    ALT: 18,
-    ESC: 27,
-    SPACE: 32,
-    PAGE_UP: 33,
-    PAGE_DOWN: 34,
-    END: 35,
-    HOME: 36,
-    LEFT: 37,
-    UP: 38,
-    RIGHT: 39,
-    DOWN: 40,
-    DELETE: 46,
-
-    isArrow: function (k) {
-        k = k.which ? k.which : k;
-
-        switch (k) {
-        case KEY.LEFT:
-        case KEY.RIGHT:
-        case KEY.UP:
-        case KEY.DOWN:
-            return true;
-        }
-
-        return false;
-    }
-  };
-
-  return KEYS;
-});
-
 define('select2/selection/single',[
   './base',
   '../utils',
@@ -10876,6 +10877,11 @@ define('select2/data/ajax',[
     var matches = [];
     var self = this;
 
+    if (this._request) {
+      this._request.abort();
+      this._request = null;
+    }
+
     var options = $.extend({
       type: 'GET'
     }, this.ajaxOptions);
@@ -10896,6 +10902,8 @@ define('select2/data/ajax',[
 
         callback(results);
       });
+
+      self._request = $request;
     }
 
     if (this.ajaxOptions.delay && params.term !== '') {
@@ -11285,6 +11293,20 @@ define('select2/dropdown/infiniteScroll',[
 
 define('select2/i18n/en',[],function () {
   return {
+    errorLoading: function () {
+      return 'The results could not be loaded.';
+    },
+    inputTooLong: function (args) {
+      var overChars = args.input.length - args.maximum;
+
+      var message = 'Please delete ' + overChars + ' character';
+
+      if (overChars != 1) {
+        message += 's';
+      }
+
+      return message;
+    },
     inputTooShort: function (args) {
       var remainingChars = args.minimum - args.input.length;
 
@@ -11296,9 +11318,21 @@ define('select2/i18n/en',[],function () {
 
       return message;
     },
+    searching: function () {
+      return 'Searching…';
+    },
     loadingMore: function () {
       return 'Loading more results…';
     },
+    maximumSelected: function (args) {
+      var message = 'You can only select' + args.maximum + ' item';
+
+      if (args.maximum != 1) {
+        message += 's';
+      }
+
+      return message;
+    },
     noResults: function () {
       return 'No results found';
     }

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
dist/js/select2.full.min.js


+ 77 - 43
dist/js/select2.js

@@ -695,7 +695,7 @@ define('select2/results',[
   Results.prototype.showLoading = function (params) {
     this.hideLoading();
 
-    var loadingMore = this.options.get('translations').get('loadingMore');
+    var loadingMore = this.options.get('translations').get('searching');
 
     var loading = {
       disabled: true,
@@ -1006,9 +1006,50 @@ define('select2/results',[
   return Results;
 });
 
+define('select2/keys',[
+
+], function () {
+  var KEYS = {
+    BACKSPACE: 8,
+    TAB: 9,
+    ENTER: 13,
+    SHIFT: 16,
+    CTRL: 17,
+    ALT: 18,
+    ESC: 27,
+    SPACE: 32,
+    PAGE_UP: 33,
+    PAGE_DOWN: 34,
+    END: 35,
+    HOME: 36,
+    LEFT: 37,
+    UP: 38,
+    RIGHT: 39,
+    DOWN: 40,
+    DELETE: 46,
+
+    isArrow: function (k) {
+        k = k.which ? k.which : k;
+
+        switch (k) {
+        case KEY.LEFT:
+        case KEY.RIGHT:
+        case KEY.UP:
+        case KEY.DOWN:
+            return true;
+        }
+
+        return false;
+    }
+  };
+
+  return KEYS;
+});
+
 define('select2/selection/base',[
-  '../utils'
-], function (Utils) {
+  '../utils',
+  '../keys'
+], function (Utils, KEYS) {
   function BaseSelection ($element, options) {
     this.$element = $element;
     this.options = options;
@@ -1094,46 +1135,6 @@ define('select2/selection/base',[
   return BaseSelection;
 });
 
-define('select2/keys',[
-
-], function () {
-  var KEYS = {
-    BACKSPACE: 8,
-    TAB: 9,
-    ENTER: 13,
-    SHIFT: 16,
-    CTRL: 17,
-    ALT: 18,
-    ESC: 27,
-    SPACE: 32,
-    PAGE_UP: 33,
-    PAGE_DOWN: 34,
-    END: 35,
-    HOME: 36,
-    LEFT: 37,
-    UP: 38,
-    RIGHT: 39,
-    DOWN: 40,
-    DELETE: 46,
-
-    isArrow: function (k) {
-        k = k.which ? k.which : k;
-
-        switch (k) {
-        case KEY.LEFT:
-        case KEY.RIGHT:
-        case KEY.UP:
-        case KEY.DOWN:
-            return true;
-        }
-
-        return false;
-    }
-  };
-
-  return KEYS;
-});
-
 define('select2/selection/single',[
   './base',
   '../utils',
@@ -1769,6 +1770,11 @@ define('select2/data/ajax',[
     var matches = [];
     var self = this;
 
+    if (this._request) {
+      this._request.abort();
+      this._request = null;
+    }
+
     var options = $.extend({
       type: 'GET'
     }, this.ajaxOptions);
@@ -1789,6 +1795,8 @@ define('select2/data/ajax',[
 
         callback(results);
       });
+
+      self._request = $request;
     }
 
     if (this.ajaxOptions.delay && params.term !== '') {
@@ -2178,6 +2186,20 @@ define('select2/dropdown/infiniteScroll',[
 
 define('select2/i18n/en',[],function () {
   return {
+    errorLoading: function () {
+      return 'The results could not be loaded.';
+    },
+    inputTooLong: function (args) {
+      var overChars = args.input.length - args.maximum;
+
+      var message = 'Please delete ' + overChars + ' character';
+
+      if (overChars != 1) {
+        message += 's';
+      }
+
+      return message;
+    },
     inputTooShort: function (args) {
       var remainingChars = args.minimum - args.input.length;
 
@@ -2189,9 +2211,21 @@ define('select2/i18n/en',[],function () {
 
       return message;
     },
+    searching: function () {
+      return 'Searching…';
+    },
     loadingMore: function () {
       return 'Loading more results…';
     },
+    maximumSelected: function (args) {
+      var message = 'You can only select' + args.maximum + ' item';
+
+      if (args.maximum != 1) {
+        message += 's';
+      }
+
+      return message;
+    },
     noResults: function () {
       return 'No results found';
     }

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
dist/js/select2.min.js


+ 7 - 0
src/js/select2/data/ajax.js

@@ -23,6 +23,11 @@ define([
     var matches = [];
     var self = this;
 
+    if (this._request) {
+      this._request.abort();
+      this._request = null;
+    }
+
     var options = $.extend({
       type: 'GET'
     }, this.ajaxOptions);
@@ -43,6 +48,8 @@ define([
 
         callback(results);
       });
+
+      self._request = $request;
     }
 
     if (this.ajaxOptions.delay && params.term !== '') {

+ 26 - 0
src/js/select2/i18n/en.js

@@ -1,5 +1,19 @@
 define(function () {
   return {
+    errorLoading: function () {
+      return 'The results could not be loaded.';
+    },
+    inputTooLong: function (args) {
+      var overChars = args.input.length - args.maximum;
+
+      var message = 'Please delete ' + overChars + ' character';
+
+      if (overChars != 1) {
+        message += 's';
+      }
+
+      return message;
+    },
     inputTooShort: function (args) {
       var remainingChars = args.minimum - args.input.length;
 
@@ -11,9 +25,21 @@ define(function () {
 
       return message;
     },
+    searching: function () {
+      return 'Searching…';
+    },
     loadingMore: function () {
       return 'Loading more results…';
     },
+    maximumSelected: function (args) {
+      var message = 'You can only select' + args.maximum + ' item';
+
+      if (args.maximum != 1) {
+        message += 's';
+      }
+
+      return message;
+    },
     noResults: function () {
       return 'No results found';
     }

+ 1 - 1
src/js/select2/results.js

@@ -113,7 +113,7 @@ define([
   Results.prototype.showLoading = function (params) {
     this.hideLoading();
 
-    var loadingMore = this.options.get('translations').get('loadingMore');
+    var loadingMore = this.options.get('translations').get('searching');
 
     var loading = {
       disabled: true,

+ 3 - 2
src/js/select2/selection/base.js

@@ -1,6 +1,7 @@
 define([
-  '../utils'
-], function (Utils) {
+  '../utils',
+  '../keys'
+], function (Utils, KEYS) {
   function BaseSelection ($element, options) {
     this.$element = $element;
     this.options = options;

Некоторые файлы не были показаны из-за большого количества измененных файлов