Переглянути джерело

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 роки тому
батько
коміт
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;

Деякі файли не було показано, через те що забагато файлів було змінено