├── .gitignore
├── .editorconfig
├── .jshintignore
├── docs
├── README.md
├── index.html
├── options.html
├── community.html
├── options-old.html
├── examples.html
└── announcements-4.0.html
├── src
├── js
│ ├── jquery.mousewheel.shim.js
│ ├── banner.end.js
│ ├── banner.start.js
│ ├── jquery.shim.js
│ ├── select2
│ │ ├── keys.js
│ │ ├── dropdown
│ │ │ ├── attachContainer.js
│ │ │ ├── stopPropagation.js
│ │ │ ├── closeOnSelect.js
│ │ │ ├── minimumResultsForSearch.js
│ │ │ ├── hidePlaceholder.js
│ │ │ ├── selectOnClose.js
│ │ │ ├── infiniteScroll.js
│ │ │ └── search.js
│ │ ├── compat
│ │ │ ├── query.js
│ │ │ ├── matcher.js
│ │ │ ├── utils.js
│ │ │ ├── initSelection.js
│ │ │ ├── dropdownCss.js
│ │ │ └── containerCss.js
│ │ ├── selection
│ │ │ ├── clickMask.js
│ │ │ ├── stopPropagation.js
│ │ │ ├── eventRelay.js
│ │ │ ├── placeholder.js
│ │ │ └── single.js
│ │ ├── i18n
│ │ │ ├── az.js
│ │ │ ├── zh-TW.js
│ │ │ ├── ar.js
│ │ │ ├── id.js
│ │ │ ├── nb.js
│ │ │ ├── fi.js
│ │ │ ├── ms.js
│ │ │ ├── hu.js
│ │ │ ├── zh-CN.js
│ │ │ ├── ja.js
│ │ │ ├── ko.js
│ │ │ ├── tk.js
│ │ │ ├── tr.js
│ │ │ ├── th.js
│ │ │ ├── km.js
│ │ │ ├── vi.js
│ │ │ ├── da.js
│ │ │ ├── sv.js
│ │ │ ├── ka.js
│ │ │ ├── hy.js
│ │ │ ├── fr.js
│ │ │ ├── is.js
│ │ │ ├── fa.js
│ │ │ ├── hi.js
│ │ │ ├── de.js
│ │ │ ├── pt.js
│ │ │ ├── en.js
│ │ │ ├── gl.js
│ │ │ ├── af.js
│ │ │ ├── hr.js
│ │ │ ├── bg.js
│ │ │ ├── mk.js
│ │ │ ├── nl.js
│ │ │ ├── pt-BR.js
│ │ │ ├── ps.js
│ │ │ ├── ro.js
│ │ │ ├── et.js
│ │ │ ├── sq.js
│ │ │ ├── it.js
│ │ │ ├── eu.js
│ │ │ ├── uk.js
│ │ │ ├── lv.js
│ │ │ ├── ca.js
│ │ │ ├── he.js
│ │ │ ├── el.js
│ │ │ ├── es.js
│ │ │ ├── pl.js
│ │ │ ├── sl.js
│ │ │ ├── sr.js
│ │ │ ├── bs.js
│ │ │ ├── sr-Cyrl.js
│ │ │ ├── lt.js
│ │ │ ├── hsb.js
│ │ │ ├── ru.js
│ │ │ ├── dsb.js
│ │ │ ├── cs.js
│ │ │ └── sk.js
│ │ ├── data
│ │ │ ├── minimumInputLength.js
│ │ │ ├── maximumInputLength.js
│ │ │ ├── maximumSelectionLength.js
│ │ │ ├── base.js
│ │ │ └── array.js
│ │ ├── translation.js
│ │ └── dropdown.js
│ ├── wrapper.end.js
│ ├── wrapper.start.js
│ └── jquery.select2.js
└── scss
│ ├── _single.scss
│ ├── _multiple.scss
│ ├── theme
│ ├── classic
│ │ ├── _defaults.scss
│ │ ├── layout.scss
│ │ ├── _multiple.scss
│ │ └── _single.scss
│ └── default
│ │ ├── _single.scss
│ │ ├── _multiple.scss
│ │ └── layout.scss
│ ├── mixins
│ └── _gradients.scss
│ ├── core.scss
│ └── _dropdown.scss
├── .github
├── PULL_REQUEST_TEMPLATE.md
└── ISSUE_TEMPLATE.md
├── bower.json
├── .jshintrc
├── component.json
├── composer.json
├── dist
└── js
│ └── i18n
│ ├── zh-TW.js
│ ├── az.js
│ ├── zh-CN.js
│ ├── ja.js
│ ├── ko.js
│ ├── vi.js
│ ├── ar.js
│ ├── id.js
│ ├── is.js
│ ├── nb.js
│ ├── tk.js
│ ├── tr.js
│ ├── et.js
│ ├── fi.js
│ ├── th.js
│ ├── sv.js
│ ├── hu.js
│ ├── km.js
│ ├── bg.js
│ ├── ms.js
│ ├── da.js
│ ├── en.js
│ ├── he.js
│ ├── hy.js
│ ├── hi.js
│ ├── fa.js
│ ├── hr.js
│ ├── mk.js
│ ├── af.js
│ ├── eu.js
│ ├── de.js
│ ├── pt-BR.js
│ ├── lv.js
│ ├── pt.js
│ ├── ca.js
│ ├── fr.js
│ ├── it.js
│ ├── ps.js
│ ├── gl.js
│ ├── sl.js
│ ├── es.js
│ ├── nl.js
│ ├── ro.js
│ ├── lt.js
│ ├── pl.js
│ ├── el.js
│ ├── bs.js
│ ├── sr.js
│ ├── sr-Cyrl.js
│ ├── uk.js
│ ├── ru.js
│ ├── hsb.js
│ ├── dsb.js
│ ├── cs.js
│ └── sk.js
├── .travis.yml
├── tests
├── options
│ ├── translation-tests.js
│ ├── data-tests.js
│ ├── ajax-tests.js
│ └── width-tests.js
├── data
│ └── base-tests.js
├── integration.html
├── dropdown
│ └── stopPropagation-tests.js
├── utils
│ └── escapeMarkup-tests.js
├── selection
│ ├── stopPropagation-tests.js
│ └── placeholder-tests.js
├── helpers.js
├── a11y
│ └── search-tests.js
└── integration
│ └── jquery-calls.js
├── select2.jquery.json
├── LICENSE.md
└── package.json
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist/js/i18n/build.txt
3 | .sass-cache
4 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | [*]
2 | indent_style = space
3 | end_of_line = lf
4 |
5 | [*.js]
6 | indent_size = 2
7 |
--------------------------------------------------------------------------------
/.jshintignore:
--------------------------------------------------------------------------------
1 | src/js/banner.*.js
2 | src/js/wrapper.*.js
3 | tests/vendor/*.js
4 | tests/helpers.js
5 |
--------------------------------------------------------------------------------
/docs/README.md:
--------------------------------------------------------------------------------
1 | Effective beginning September 10, 2017, the Select2 documentation repository is now available at [`select2/docs`](https://github.com/select2/docs).
2 |
--------------------------------------------------------------------------------
/src/js/jquery.mousewheel.shim.js:
--------------------------------------------------------------------------------
1 | define([
2 | 'jquery'
3 | ], function ($) {
4 | // Used to shim jQuery.mousewheel for non-full builds.
5 | return $;
6 | });
7 |
--------------------------------------------------------------------------------
/src/js/banner.end.js:
--------------------------------------------------------------------------------
1 | // Return the AMD loader configuration so it can be used outside of this file
2 | return {
3 | define: S2.define,
4 | require: S2.require
5 | };
6 | }());
7 |
--------------------------------------------------------------------------------
/docs/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | select2
6 |
7 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/docs/options.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | select2
6 |
7 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/docs/community.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | select2
6 |
7 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/docs/options-old.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | select2
6 |
7 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/.github/PULL_REQUEST_TEMPLATE.md:
--------------------------------------------------------------------------------
1 | This pull request includes a
2 |
3 | - [ ] Bug fix
4 | - [ ] New feature
5 | - [ ] Translation
6 |
7 | The following changes were made
8 |
9 | -
10 | -
11 | -
12 |
13 | If this is related to an existing ticket, include a link to it as well.
14 |
--------------------------------------------------------------------------------
/docs/examples.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | select2
6 |
7 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/docs/announcements-4.0.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | select2
6 |
7 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/src/js/banner.start.js:
--------------------------------------------------------------------------------
1 | (function () {
2 | // Restore the Select2 AMD loader so it can be used
3 | // Needed mostly in the language files, where the loader is not inserted
4 | if (jQuery && jQuery.fn && jQuery.fn.select2 && jQuery.fn.select2.amd) {
5 | var S2 = jQuery.fn.select2.amd;
6 | }
7 |
--------------------------------------------------------------------------------
/src/js/jquery.shim.js:
--------------------------------------------------------------------------------
1 | /* global jQuery:false, $:false */
2 | define(function () {
3 | var _$ = jQuery || $;
4 |
5 | if (_$ == null && console && console.error) {
6 | console.error(
7 | 'Select2: An instance of jQuery or a jQuery-compatible library was not ' +
8 | 'found. Make sure that you are including jQuery before Select2 on your ' +
9 | 'web page.'
10 | );
11 | }
12 |
13 | return _$;
14 | });
15 |
--------------------------------------------------------------------------------
/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "select2",
3 | "description": "Select2 is a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results.",
4 | "main": [
5 | "dist/js/select2.js",
6 | "src/scss/core.scss"
7 | ],
8 | "license": "MIT",
9 | "repository": {
10 | "type": "git",
11 | "url": "git@github.com:select2/select2.git"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/js/select2/keys.js:
--------------------------------------------------------------------------------
1 | define([
2 |
3 | ], function () {
4 | var KEYS = {
5 | BACKSPACE: 8,
6 | TAB: 9,
7 | ENTER: 13,
8 | SHIFT: 16,
9 | CTRL: 17,
10 | ALT: 18,
11 | ESC: 27,
12 | SPACE: 32,
13 | PAGE_UP: 33,
14 | PAGE_DOWN: 34,
15 | END: 35,
16 | HOME: 36,
17 | LEFT: 37,
18 | UP: 38,
19 | RIGHT: 39,
20 | DOWN: 40,
21 | DELETE: 46
22 | };
23 |
24 | return KEYS;
25 | });
26 |
--------------------------------------------------------------------------------
/src/js/wrapper.end.js:
--------------------------------------------------------------------------------
1 | // Autoload the jQuery bindings
2 | // We know that all of the modules exist above this, so we're safe
3 | var select2 = S2.require('jquery.select2');
4 |
5 | // Hold the AMD module references on the jQuery function that was just loaded
6 | // This allows Select2 to use the internal loader outside of this file, such
7 | // as in the language files.
8 | jQuery.fn.select2.amd = S2;
9 |
10 | // Return the Select2 instance for anyone who is importing it.
11 | return select2;
12 | }));
13 |
--------------------------------------------------------------------------------
/.jshintrc:
--------------------------------------------------------------------------------
1 | {
2 | "bitwise": true,
3 | "camelcase": true,
4 | "curly": true,
5 | "es3": true,
6 | "eqnull": true,
7 | "freeze": true,
8 | "globals": {
9 | "console": false,
10 | "define": false,
11 | "document": false,
12 | "MockContainer": false,
13 | "module": false,
14 | "QUnit": false,
15 | "require": false,
16 | "test": false,
17 | "window": false
18 | },
19 | "indent": 2,
20 | "maxlen": 80,
21 | "noarg": true,
22 | "nonew": true,
23 | "quotmark": "single",
24 | "undef": true
25 | }
26 |
--------------------------------------------------------------------------------
/component.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "select2",
3 | "repo": "select/select2",
4 | "description": "Select2 is a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results.",
5 | "version": "4.0.6-rc.1",
6 | "demo": "https://select2.org/",
7 | "keywords": [
8 | "jquery"
9 | ],
10 | "main": "dist/js/select2.js",
11 | "styles": [
12 | "dist/css/select2.css"
13 | ],
14 | "scripts": [
15 | "dist/js/select2.js",
16 | "dist/js/i18n/*.js"
17 | ],
18 | "license": "MIT"
19 | }
20 |
--------------------------------------------------------------------------------
/src/js/select2/dropdown/attachContainer.js:
--------------------------------------------------------------------------------
1 | define([
2 |
3 | ], function () {
4 | function AttachContainer (decorated, $element, options) {
5 | decorated.call(this, $element, options);
6 | }
7 |
8 | AttachContainer.prototype.position =
9 | function (decorated, $dropdown, $container) {
10 | var $dropdownContainer = $container.find('.dropdown-wrapper');
11 | $dropdownContainer.append($dropdown);
12 |
13 | $dropdown.addClass('select2-dropdown--below');
14 | $container.addClass('select2-container--below');
15 | };
16 |
17 | return AttachContainer;
18 | });
19 |
--------------------------------------------------------------------------------
/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "select2/select2",
3 | "description": "Select2 is a jQuery based replacement for select boxes.",
4 | "type": "component",
5 | "homepage": "https://select2.org/",
6 | "license": "MIT",
7 | "require": {
8 | "robloach/component-installer": "*"
9 | },
10 | "extra": {
11 | "component": {
12 | "scripts": [
13 | "dist/js/select2.js"
14 | ],
15 | "styles": [
16 | "dist/css/select2.css"
17 | ],
18 | "files": [
19 | "dist/js/select2.js",
20 | "dist/js/i18n/*.js",
21 | "dist/css/select2.css"
22 | ]
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/dist/js/i18n/zh-TW.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/zh-TW",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="請刪掉"+t+"個字元";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="請再輸入"+t+"個字元";return n},loadingMore:function(){return"載入中…"},maximumSelected:function(e){var t="你只能選擇最多"+e.maximum+"項";return t},noResults:function(){return"沒有找到相符的項目"},searching:function(){return"搜尋中…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/dist/js/i18n/az.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/az",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return t+" simvol silin"},inputTooShort:function(e){var t=e.minimum-e.input.length;return t+" simvol daxil edin"},loadingMore:function(){return"Daha çox nəticə yüklənir…"},maximumSelected:function(e){return"Sadəcə "+e.maximum+" element seçə bilərsiniz"},noResults:function(){return"Nəticə tapılmadı"},searching:function(){return"Axtarılır…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/dist/js/i18n/zh-CN.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/zh-CN",[],function(){return{errorLoading:function(){return"无法载入结果。"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="请删除"+t+"个字符";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="请再输入至少"+t+"个字符";return n},loadingMore:function(){return"载入更多结果…"},maximumSelected:function(e){var t="最多只能选择"+e.maximum+"个项目";return t},noResults:function(){return"未找到结果"},searching:function(){return"搜索中…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 |
3 | sudo: false
4 |
5 | node_js:
6 | - 0.10
7 |
8 | env:
9 | global:
10 | - secure: XMNK8GVxkwKa6oLl7nJwgg/wmY1YDk5rrMd+UXz26EDCsMDbiy1P7GhN2fEiBSLaQ7YfEuvaDcmzQxTrT0YTHp1PDzb2o9J4tIDdEkqPcv1y8xMaYDfmsN0rBPdBwZEg9H5zUgi7OdUbrGswSYxsKCE3x8EOqK89104HyOo1LN4=
11 | - secure: BU5BPRx6H4O3WJ509YPixjUxg+hDF3z2BVJX6NiGmKWweqvCEYFfiiHLwDEgp/ynRcF9vGVi1V4Ly1jq7f8NIajbDZ5q443XchZFYFg78K/EwD5mK6LYt16zb7+Jn0KbzwHeGRGzc9AvcEYlW6i634cSCm4n3BnqtF5PpogSzdw=
12 |
13 | script:
14 | - grunt ci
15 |
16 | notifications:
17 | email: false
18 | irc:
19 | channels:
20 | - "chat.freenode.net#select2"
21 | on_success: change
22 | on_failure: always
23 |
--------------------------------------------------------------------------------
/dist/js/i18n/ja.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ja",[],function(){return{errorLoading:function(){return"結果が読み込まれませんでした"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" 文字を削除してください";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="少なくとも "+t+" 文字を入力してください";return n},loadingMore:function(){return"読み込み中…"},maximumSelected:function(e){var t=e.maximum+" 件しか選択できません";return t},noResults:function(){return"対象が見つかりません"},searching:function(){return"検索しています…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/src/scss/_single.scss:
--------------------------------------------------------------------------------
1 | .select2-selection--single {
2 | box-sizing: border-box;
3 |
4 | cursor: pointer;
5 | display: block;
6 |
7 | height: 28px;
8 |
9 | user-select: none;
10 | -webkit-user-select: none;
11 |
12 | .select2-selection__rendered {
13 | display: block;
14 | padding-left: 8px;
15 | padding-right: 20px;
16 |
17 | overflow: hidden;
18 | text-overflow: ellipsis;
19 | white-space: nowrap;
20 | }
21 |
22 | .select2-selection__clear {
23 | position: relative;
24 | }
25 | }
26 |
27 | &[dir="rtl"] {
28 | .select2-selection--single {
29 | .select2-selection__rendered {
30 | padding-right: 8px;
31 | padding-left: 20px;
32 | }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/dist/js/i18n/ko.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ko",[],function(){return{errorLoading:function(){return"결과를 불러올 수 없습니다."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="너무 깁니다. "+t+" 글자 지워주세요.";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="너무 짧습니다. "+t+" 글자 더 입력해주세요.";return n},loadingMore:function(){return"불러오는 중…"},maximumSelected:function(e){var t="최대 "+e.maximum+"개까지만 선택 가능합니다.";return t},noResults:function(){return"결과가 없습니다."},searching:function(){return"검색 중…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/dist/js/i18n/vi.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/vi",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vui lòng nhập ít hơn "+t+" ký tự";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vui lòng nhập nhiều hơn "+t+" ký tự";return n},loadingMore:function(){return"Đang lấy thêm kết quả…"},maximumSelected:function(e){var t="Chỉ có thể chọn được "+e.maximum+" lựa chọn";return t},noResults:function(){return"Không tìm thấy kết quả"},searching:function(){return"Đang tìm…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/dist/js/i18n/ar.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ar",[],function(){return{errorLoading:function(){return"لا يمكن تحميل النتائج"},inputTooLong:function(e){var t=e.input.length-e.maximum;return"الرجاء حذف "+t+" عناصر"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"الرجاء إضافة "+t+" عناصر"},loadingMore:function(){return"جاري تحميل نتائج إضافية..."},maximumSelected:function(e){return"تستطيع إختيار "+e.maximum+" بنود فقط"},noResults:function(){return"لم يتم العثور على أي نتائج"},searching:function(){return"جاري البحث…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/dist/js/i18n/id.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/id",[],function(){return{errorLoading:function(){return"Data tidak boleh diambil."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Hapuskan "+t+" huruf"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Masukkan "+t+" huruf lagi"},loadingMore:function(){return"Mengambil data…"},maximumSelected:function(e){return"Anda hanya dapat memilih "+e.maximum+" pilihan"},noResults:function(){return"Tidak ada data yang sesuai"},searching:function(){return"Mencari…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/dist/js/i18n/is.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/is",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vinsamlegast styttið texta um "+t+" staf";return t<=1?n:n+"i"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vinsamlegast skrifið "+t+" staf";return t>1&&(n+="i"),n+=" í viðbót",n},loadingMore:function(){return"Sæki fleiri niðurstöður…"},maximumSelected:function(e){return"Þú getur aðeins valið "+e.maximum+" atriði"},noResults:function(){return"Ekkert fannst"},searching:function(){return"Leita…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/dist/js/i18n/nb.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/nb",[],function(){return{errorLoading:function(){return"Kunne ikke hente resultater."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Vennligst fjern "+t+" tegn"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Vennligst skriv inn "+t+" tegn til"},loadingMore:function(){return"Laster flere resultater…"},maximumSelected:function(e){return"Du kan velge maks "+e.maximum+" elementer"},noResults:function(){return"Ingen treff"},searching:function(){return"Søker…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/dist/js/i18n/tk.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/tk",[],function(){return{errorLoading:function(){return"Netije ýüklenmedi."},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" harp bozuň.";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Ýene-de iň az "+t+" harp ýazyň.";return n},loadingMore:function(){return"Köpräk netije görkezilýär…"},maximumSelected:function(e){var t="Diňe "+e.maximum+" sanysyny saýlaň.";return t},noResults:function(){return"Netije tapylmady."},searching:function(){return"Gözlenýär…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/src/scss/_multiple.scss:
--------------------------------------------------------------------------------
1 | .select2-selection--multiple {
2 | box-sizing: border-box;
3 |
4 | cursor: pointer;
5 | display: block;
6 |
7 | min-height: 32px;
8 |
9 | user-select: none;
10 | -webkit-user-select: none;
11 |
12 | .select2-selection__rendered {
13 | display: inline-block;
14 | overflow: hidden;
15 | padding-left: 8px;
16 | text-overflow: ellipsis;
17 | white-space: nowrap;
18 | }
19 | }
20 |
21 | .select2-search--inline {
22 | float: left;
23 |
24 | .select2-search__field {
25 | box-sizing: border-box;
26 | border: none;
27 | font-size: 100%;
28 | margin-top: 5px;
29 | padding: 0;
30 |
31 | &::-webkit-search-cancel-button {
32 | -webkit-appearance: none;
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/dist/js/i18n/tr.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/tr",[],function(){return{errorLoading:function(){return"Sonuç yüklenemedi"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" karakter daha girmelisiniz";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="En az "+t+" karakter daha girmelisiniz";return n},loadingMore:function(){return"Daha fazla…"},maximumSelected:function(e){var t="Sadece "+e.maximum+" seçim yapabilirsiniz";return t},noResults:function(){return"Sonuç bulunamadı"},searching:function(){return"Aranıyor…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/dist/js/i18n/et.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/et",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Sisesta "+t+" täht";return t!=1&&(n+="e"),n+=" vähem",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Sisesta "+t+" täht";return t!=1&&(n+="e"),n+=" rohkem",n},loadingMore:function(){return"Laen tulemusi…"},maximumSelected:function(e){var t="Saad vaid "+e.maximum+" tulemus";return e.maximum==1?t+="e":t+="t",t+=" valida",t},noResults:function(){return"Tulemused puuduvad"},searching:function(){return"Otsin…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/dist/js/i18n/fi.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fi",[],function(){return{errorLoading:function(){return"Tuloksia ei saatu ladattua."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Ole hyvä ja anna "+t+" merkkiä vähemmän"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Ole hyvä ja anna "+t+" merkkiä lisää"},loadingMore:function(){return"Ladataan lisää tuloksia…"},maximumSelected:function(e){return"Voit valita ainoastaan "+e.maximum+" kpl"},noResults:function(){return"Ei tuloksia"},searching:function(){return"Haetaan…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/dist/js/i18n/th.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/th",[],function(){return{errorLoading:function(){return"ไม่สามารถค้นข้อมูลได้"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="โปรดลบออก "+t+" ตัวอักษร";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="โปรดพิมพ์เพิ่มอีก "+t+" ตัวอักษร";return n},loadingMore:function(){return"กำลังค้นข้อมูลเพิ่ม…"},maximumSelected:function(e){var t="คุณสามารถเลือกได้ไม่เกิน "+e.maximum+" รายการ";return t},noResults:function(){return"ไม่พบข้อมูล"},searching:function(){return"กำลังค้นข้อมูล…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/dist/js/i18n/sv.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sv",[],function(){return{errorLoading:function(){return"Resultat kunde inte laddas."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vänligen sudda ut "+t+" tecken";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vänligen skriv in "+t+" eller fler tecken";return n},loadingMore:function(){return"Laddar fler resultat…"},maximumSelected:function(e){var t="Du kan max välja "+e.maximum+" element";return t},noResults:function(){return"Inga träffar"},searching:function(){return"Söker…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/tests/options/translation-tests.js:
--------------------------------------------------------------------------------
1 | module('Options - Translations');
2 |
3 | var $ = require('jquery');
4 | var Options = require('select2/options');
5 |
6 | test('partial dictionaries can be passed', function (assert) {
7 | var options = new Options({
8 | language: {
9 | searching: function () {
10 | return 'Something';
11 | }
12 | }
13 | });
14 |
15 | var translations = options.get('translations');
16 |
17 | assert.equal(
18 | translations.get('searching')(),
19 | 'Something',
20 | 'The partial dictionary still overrides translations'
21 | );
22 |
23 | assert.equal(
24 | translations.get('noResults')(),
25 | 'No results found',
26 | 'You can still get English translations for keys not passed in'
27 | );
28 | });
29 |
--------------------------------------------------------------------------------
/dist/js/i18n/hu.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hu",[],function(){return{errorLoading:function(){return"Az eredmények betöltése nem sikerült."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Túl hosszú. "+t+" karakterrel több, mint kellene."},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Túl rövid. Még "+t+" karakter hiányzik."},loadingMore:function(){return"Töltés…"},maximumSelected:function(e){return"Csak "+e.maximum+" elemet lehet kiválasztani."},noResults:function(){return"Nincs találat."},searching:function(){return"Keresés…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/dist/js/i18n/km.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/km",[],function(){return{errorLoading:function(){return"មិនអាចទាញយកទិន្នន័យ"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="សូមលុបចេញ "+t+" អក្សរ";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="សូមបញ្ចូល"+t+" អក្សរ រឺ ច្រើនជាងនេះ";return n},loadingMore:function(){return"កំពុងទាញយកទិន្នន័យបន្ថែម..."},maximumSelected:function(e){var t="អ្នកអាចជ្រើសរើសបានតែ "+e.maximum+" ជម្រើសប៉ុណ្ណោះ";return t},noResults:function(){return"មិនមានលទ្ធផល"},searching:function(){return"កំពុងស្វែងរក..."}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/dist/js/i18n/bg.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/bg",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Моля въведете с "+t+" по-малко символ";return t>1&&(n+="a"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Моля въведете още "+t+" символ";return t>1&&(n+="a"),n},loadingMore:function(){return"Зареждат се още…"},maximumSelected:function(e){var t="Можете да направите до "+e.maximum+" ";return e.maximum>1?t+="избора":t+="избор",t},noResults:function(){return"Няма намерени съвпадения"},searching:function(){return"Търсене…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/dist/js/i18n/ms.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ms",[],function(){return{errorLoading:function(){return"Keputusan tidak berjaya dimuatkan."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Sila hapuskan "+t+" aksara"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Sila masukkan "+t+" atau lebih aksara"},loadingMore:function(){return"Sedang memuatkan keputusan…"},maximumSelected:function(e){return"Anda hanya boleh memilih "+e.maximum+" pilihan"},noResults:function(){return"Tiada padanan yang ditemui"},searching:function(){return"Mencari…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/src/js/select2/compat/query.js:
--------------------------------------------------------------------------------
1 | define([
2 |
3 | ], function () {
4 | function Query (decorated, $element, options) {
5 | if (options.get('debug') && window.console && console.warn) {
6 | console.warn(
7 | 'Select2: The `query` option has been deprecated in favor of a ' +
8 | 'custom data adapter that overrides the `query` method. Support ' +
9 | 'will be removed for the `query` option in future versions of ' +
10 | 'Select2.'
11 | );
12 | }
13 |
14 | decorated.call(this, $element, options);
15 | }
16 |
17 | Query.prototype.query = function (_, params, callback) {
18 | params.callback = callback;
19 |
20 | var query = this.options.get('query');
21 |
22 | query.call(null, params);
23 | };
24 |
25 | return Query;
26 | });
27 |
--------------------------------------------------------------------------------
/dist/js/i18n/da.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/da",[],function(){return{errorLoading:function(){return"Resultaterne kunne ikke indlæses."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Angiv venligst "+t+" tegn mindre"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Angiv venligst "+t+" tegn mere"},loadingMore:function(){return"Indlæser flere resultater…"},maximumSelected:function(e){var t="Du kan kun vælge "+e.maximum+" emne";return e.maximum!=1&&(t+="r"),t},noResults:function(){return"Ingen resultater fundet"},searching:function(){return"Søger…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/src/js/select2/selection/clickMask.js:
--------------------------------------------------------------------------------
1 | define([
2 | 'jquery'
3 | ], function ($) {
4 | function ClickMask () { }
5 |
6 | ClickMask.prototype.bind = function (decorate, $container, container) {
7 | var self = this;
8 |
9 | decorate.call(this, $container, container);
10 |
11 | this.$mask = $(
12 | ''
13 | );
14 |
15 | this.$mask.on('mousedown touchstart click', function () {
16 | self.trigger('close', {});
17 | });
18 | };
19 |
20 | ClickMask.prototype._attachCloseHandler = function (decorate, container) {
21 | $(document.body).append(this.$mask);
22 | };
23 |
24 | ClickMask.prototype._detachCloseHandler = function (deocrate, container) {
25 | this.$mask.detach();
26 | };
27 |
28 | return ClickMask;
29 | });
30 |
--------------------------------------------------------------------------------
/tests/data/base-tests.js:
--------------------------------------------------------------------------------
1 | module('Data adapters - Base');
2 |
3 | var BaseData = require('select2/data/base');
4 | var $ = require('jquery');
5 | var Options = require('select2/options');
6 |
7 | var options = new Options({});
8 |
9 | test('current is required', function (assert) {
10 | var data = new BaseData($('#qunit-fixture select'), options);
11 |
12 | assert.throws(
13 | function () {
14 | data.current(function () {});
15 | },
16 | 'current has no default implementation'
17 | );
18 | });
19 |
20 | test('query is required', function (assert) {
21 | var data = new BaseData($('#qunit-fixture select'), options);
22 |
23 | assert.throws(
24 | function () {
25 | data.query({}, function () {});
26 | },
27 | 'query has no default implementation'
28 | );
29 | });
30 |
--------------------------------------------------------------------------------
/src/js/select2/i18n/az.js:
--------------------------------------------------------------------------------
1 | define(function () {
2 | // Azerbaijani
3 | return {
4 | inputTooLong: function (args) {
5 | var overChars = args.input.length - args.maximum;
6 |
7 | return overChars + ' simvol silin';
8 | },
9 | inputTooShort: function (args) {
10 | var remainingChars = args.minimum - args.input.length;
11 |
12 | return remainingChars + ' simvol daxil edin';
13 | },
14 | loadingMore: function () {
15 | return 'Daha çox nəticə yüklənir…';
16 | },
17 | maximumSelected: function (args) {
18 | return 'Sadəcə ' + args.maximum + ' element seçə bilərsiniz';
19 | },
20 | noResults: function () {
21 | return 'Nəticə tapılmadı';
22 | },
23 | searching: function () {
24 | return 'Axtarılır…';
25 | }
26 | };
27 | });
28 |
--------------------------------------------------------------------------------
/dist/js/i18n/en.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.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 characters";return n},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"},searching:function(){return"Searching…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/dist/js/i18n/he.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/he",[],function(){return{errorLoading:function(){return"שגיאה בטעינת התוצאות"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="נא למחוק ";return t===1?n+="תו אחד":n+=t+" תווים",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="נא להכניס ";return t===1?n+="תו אחד":n+=t+" תווים",n+=" או יותר",n},loadingMore:function(){return"טוען תוצאות נוספות…"},maximumSelected:function(e){var t="באפשרותך לבחור עד ";return e.maximum===1?t+="פריט אחד":t+=e.maximum+" פריטים",t},noResults:function(){return"לא נמצאו תוצאות"},searching:function(){return"מחפש…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/dist/js/i18n/hy.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hy",[],function(){return{errorLoading:function(){return"Արդյունքները հնարավոր չէ բեռնել։"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Խնդրում ենք հեռացնել "+t+" նշան";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Խնդրում ենք մուտքագրել "+t+" կամ ավել նշաններ";return n},loadingMore:function(){return"Բեռնվում են նոր արդյունքներ․․․"},maximumSelected:function(e){var t="Դուք կարող եք ընտրել առավելագույնը "+e.maximum+" կետ";return t},noResults:function(){return"Արդյունքներ չեն գտնվել"},searching:function(){return"Որոնում․․․"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/dist/js/i18n/hi.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hi",[],function(){return{errorLoading:function(){return"परिणामों को लोड नहीं किया जा सका।"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" अक्षर को हटा दें";return t>1&&(n=t+" अक्षरों को हटा दें "),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="कृपया "+t+" या अधिक अक्षर दर्ज करें";return n},loadingMore:function(){return"अधिक परिणाम लोड हो रहे है..."},maximumSelected:function(e){var t="आप केवल "+e.maximum+" आइटम का चयन कर सकते हैं";return t},noResults:function(){return"कोई परिणाम नहीं मिला"},searching:function(){return"खोज रहा है..."}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/dist/js/i18n/fa.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fa",[],function(){return{errorLoading:function(){return"امکان بارگذاری نتایج وجود ندارد."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="لطفاً "+t+" کاراکتر را حذف نمایید";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="لطفاً تعداد "+t+" کاراکتر یا بیشتر وارد نمایید";return n},loadingMore:function(){return"در حال بارگذاری نتایج بیشتر..."},maximumSelected:function(e){var t="شما تنها میتوانید "+e.maximum+" آیتم را انتخاب نمایید";return t},noResults:function(){return"هیچ نتیجهای یافت نشد"},searching:function(){return"در حال جستجو..."}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/dist/js/i18n/hr.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hr",[],function(){function e(e){var t=" "+e+" znak";return e%10<5&&e%10>0&&(e%100<5||e%100>19)?e%10>1&&(t+="a"):t+="ova",t}return{errorLoading:function(){return"Preuzimanje nije uspjelo."},inputTooLong:function(t){var n=t.input.length-t.maximum;return"Unesite "+e(n)},inputTooShort:function(t){var n=t.minimum-t.input.length;return"Unesite još "+e(n)},loadingMore:function(){return"Učitavanje rezultata…"},maximumSelected:function(e){return"Maksimalan broj odabranih stavki je "+e.maximum},noResults:function(){return"Nema rezultata"},searching:function(){return"Pretraga…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/dist/js/i18n/mk.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/mk",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Ве молиме внесете "+e.maximum+" помалку карактер";return e.maximum!==1&&(n+="и"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Ве молиме внесете уште "+e.maximum+" карактер";return e.maximum!==1&&(n+="и"),n},loadingMore:function(){return"Вчитување резултати…"},maximumSelected:function(e){var t="Можете да изберете само "+e.maximum+" ставк";return e.maximum===1?t+="а":t+="и",t},noResults:function(){return"Нема пронајдено совпаѓања"},searching:function(){return"Пребарување…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/dist/js/i18n/af.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/af",[],function(){return{errorLoading:function(){return"Die resultate kon nie gelaai word nie."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Verwyders asseblief "+t+" character";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Voer asseblief "+t+" of meer karakters";return n},loadingMore:function(){return"Meer resultate word gelaai…"},maximumSelected:function(e){var t="Kies asseblief net "+e.maximum+" item";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"Geen resultate gevind"},searching:function(){return"Besig…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/dist/js/i18n/eu.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/eu",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Idatzi ";return t==1?n+="karaktere bat":n+=t+" karaktere",n+=" gutxiago",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Idatzi ";return t==1?n+="karaktere bat":n+=t+" karaktere",n+=" gehiago",n},loadingMore:function(){return"Emaitza gehiago kargatzen…"},maximumSelected:function(e){return e.maximum===1?"Elementu bakarra hauta dezakezu":e.maximum+" elementu hauta ditzakezu soilik"},noResults:function(){return"Ez da bat datorrenik aurkitu"},searching:function(){return"Bilatzen…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/dist/js/i18n/de.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/de",[],function(){return{errorLoading:function(){return"Die Ergebnisse konnten nicht geladen werden."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Bitte "+t+" Zeichen weniger eingeben"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Bitte "+t+" Zeichen mehr eingeben"},loadingMore:function(){return"Lade mehr Ergebnisse…"},maximumSelected:function(e){var t="Sie können nur "+e.maximum+" Eintr";return e.maximum===1?t+="ag":t+="äge",t+=" auswählen",t},noResults:function(){return"Keine Übereinstimmungen gefunden"},searching:function(){return"Suche…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/src/js/select2/data/minimumInputLength.js:
--------------------------------------------------------------------------------
1 | define([
2 |
3 | ], function () {
4 | function MinimumInputLength (decorated, $e, options) {
5 | this.minimumInputLength = options.get('minimumInputLength');
6 |
7 | decorated.call(this, $e, options);
8 | }
9 |
10 | MinimumInputLength.prototype.query = function (decorated, params, callback) {
11 | params.term = params.term || '';
12 |
13 | if (params.term.length < this.minimumInputLength) {
14 | this.trigger('results:message', {
15 | message: 'inputTooShort',
16 | args: {
17 | minimum: this.minimumInputLength,
18 | input: params.term,
19 | params: params
20 | }
21 | });
22 |
23 | return;
24 | }
25 |
26 | decorated.call(this, params, callback);
27 | };
28 |
29 | return MinimumInputLength;
30 | });
31 |
--------------------------------------------------------------------------------
/dist/js/i18n/pt-BR.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pt-BR",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Apague "+t+" caracter";return t!=1&&(n+="es"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Digite "+t+" ou mais caracteres";return n},loadingMore:function(){return"Carregando mais resultados…"},maximumSelected:function(e){var t="Você só pode selecionar "+e.maximum+" ite";return e.maximum==1?t+="m":t+="ns",t},noResults:function(){return"Nenhum resultado encontrado"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/dist/js/i18n/lv.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/lv",[],function(){function e(e,t,n,r){return e===11?t:e%10===1?n:r}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="Lūdzu ievadiet par "+n;return r+=" simbol"+e(n,"iem","u","iem"),r+" mazāk"},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Lūdzu ievadiet vēl "+n;return r+=" simbol"+e(n,"us","u","us"),r},loadingMore:function(){return"Datu ielāde…"},maximumSelected:function(t){var n="Jūs varat izvēlēties ne vairāk kā "+t.maximum;return n+=" element"+e(t.maximum,"us","u","us"),n},noResults:function(){return"Sakritību nav"},searching:function(){return"Meklēšana…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/dist/js/i18n/pt.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pt",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Por favor apague "+t+" ";return n+=t!=1?"caracteres":"caractere",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Introduza "+t+" ou mais caracteres";return n},loadingMore:function(){return"A carregar mais resultados…"},maximumSelected:function(e){var t="Apenas pode seleccionar "+e.maximum+" ";return t+=e.maximum!=1?"itens":"item",t},noResults:function(){return"Sem resultados"},searching:function(){return"A procurar…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/dist/js/i18n/ca.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ca",[],function(){return{errorLoading:function(){return"La càrrega ha fallat"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Si us plau, elimina "+t+" car";return t==1?n+="àcter":n+="àcters",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Si us plau, introdueix "+t+" car";return t==1?n+="àcter":n+="àcters",n},loadingMore:function(){return"Carregant més resultats…"},maximumSelected:function(e){var t="Només es pot seleccionar "+e.maximum+" element";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No s'han trobat resultats"},searching:function(){return"Cercant…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/dist/js/i18n/fr.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fr",[],function(){return{errorLoading:function(){return"Les résultats ne peuvent pas être chargés."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Supprimez "+t+" caractère"+(t>1?"s":"")},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Saisissez au moins "+t+" caractère"+(t>1?"s":"")},loadingMore:function(){return"Chargement de résultats supplémentaires…"},maximumSelected:function(e){return"Vous pouvez seulement sélectionner "+e.maximum+" élément"+(e.maximum>1?"s":"")},noResults:function(){return"Aucun résultat trouvé"},searching:function(){return"Recherche en cours…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/dist/js/i18n/it.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/it",[],function(){return{errorLoading:function(){return"I risultati non possono essere caricati."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Per favore cancella "+t+" caratter";return t!==1?n+="i":n+="e",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Per favore inserisci "+t+" o più caratteri";return n},loadingMore:function(){return"Caricando più risultati…"},maximumSelected:function(e){var t="Puoi selezionare solo "+e.maximum+" element";return e.maximum!==1?t+="i":t+="o",t},noResults:function(){return"Nessun risultato trovato"},searching:function(){return"Sto cercando…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/dist/js/i18n/ps.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ps",[],function(){return{errorLoading:function(){return"پايلي نه سي ترلاسه کېدای"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="د مهربانۍ لمخي "+t+" توری ړنګ کړئ";return t!=1&&(n=n.replace("توری","توري")),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="لږ تر لږه "+t+" يا ډېر توري وليکئ";return n},loadingMore:function(){return"نوري پايلي ترلاسه کيږي..."},maximumSelected:function(e){var t="تاسو يوازي "+e.maximum+" قلم په نښه کولای سی";return e.maximum!=1&&(t=t.replace("قلم","قلمونه")),t},noResults:function(){return"پايلي و نه موندل سوې"},searching:function(){return"لټول کيږي..."}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/src/js/select2/dropdown/stopPropagation.js:
--------------------------------------------------------------------------------
1 | define([
2 |
3 | ], function () {
4 | function StopPropagation () { }
5 |
6 | StopPropagation.prototype.bind = function (decorated, container, $container) {
7 | decorated.call(this, container, $container);
8 |
9 | var stoppedEvents = [
10 | 'blur',
11 | 'change',
12 | 'click',
13 | 'dblclick',
14 | 'focus',
15 | 'focusin',
16 | 'focusout',
17 | 'input',
18 | 'keydown',
19 | 'keyup',
20 | 'keypress',
21 | 'mousedown',
22 | 'mouseenter',
23 | 'mouseleave',
24 | 'mousemove',
25 | 'mouseover',
26 | 'mouseup',
27 | 'search',
28 | 'touchend',
29 | 'touchstart'
30 | ];
31 |
32 | this.$dropdown.on(stoppedEvents.join(' '), function (evt) {
33 | evt.stopPropagation();
34 | });
35 | };
36 |
37 | return StopPropagation;
38 | });
39 |
--------------------------------------------------------------------------------
/dist/js/i18n/gl.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/gl",[],function(){return{errorLoading:function(){return"Non foi posíbel cargar os resultados."},inputTooLong:function(e){var t=e.input.length-e.maximum;return t===1?"Elimine un carácter":"Elimine "+t+" caracteres"},inputTooShort:function(e){var t=e.minimum-e.input.length;return t===1?"Engada un carácter":"Engada "+t+" caracteres"},loadingMore:function(){return"Cargando máis resultados…"},maximumSelected:function(e){return e.maximum===1?"Só pode seleccionar un elemento":"Só pode seleccionar "+e.maximum+" elementos"},noResults:function(){return"Non se atoparon resultados"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/dist/js/i18n/sl.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sl",[],function(){return{errorLoading:function(){return"Zadetkov iskanja ni bilo mogoče naložiti."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Prosim zbrišite "+t+" znak";return t==2?n+="a":t!=1&&(n+="e"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Prosim vpišite še "+t+" znak";return t==2?n+="a":t!=1&&(n+="e"),n},loadingMore:function(){return"Nalagam več zadetkov…"},maximumSelected:function(e){var t="Označite lahko največ "+e.maximum+" predmet";return e.maximum==2?t+="a":e.maximum!=1&&(t+="e"),t},noResults:function(){return"Ni zadetkov."},searching:function(){return"Iščem…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/src/js/select2/i18n/zh-TW.js:
--------------------------------------------------------------------------------
1 | define(function () {
2 | // Chinese (Traditional)
3 | return {
4 | inputTooLong: function (args) {
5 | var overChars = args.input.length - args.maximum;
6 |
7 | var message = '請刪掉' + overChars + '個字元';
8 |
9 | return message;
10 | },
11 | inputTooShort: function (args) {
12 | var remainingChars = args.minimum - args.input.length;
13 |
14 | var message = '請再輸入' + remainingChars + '個字元';
15 |
16 | return message;
17 | },
18 | loadingMore: function () {
19 | return '載入中…';
20 | },
21 | maximumSelected: function (args) {
22 | var message = '你只能選擇最多' + args.maximum + '項';
23 |
24 | return message;
25 | },
26 | noResults: function () {
27 | return '沒有找到相符的項目';
28 | },
29 | searching: function () {
30 | return '搜尋中…';
31 | }
32 | };
33 | });
34 |
--------------------------------------------------------------------------------
/dist/js/i18n/es.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/es",[],function(){return{errorLoading:function(){return"No se pudieron cargar los resultados"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Por favor, elimine "+t+" car";return t==1?n+="ácter":n+="acteres",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Por favor, introduzca "+t+" car";return t==1?n+="ácter":n+="acteres",n},loadingMore:function(){return"Cargando más resultados…"},maximumSelected:function(e){var t="Sólo puede seleccionar "+e.maximum+" elemento";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No se encontraron resultados"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/src/js/select2/data/maximumInputLength.js:
--------------------------------------------------------------------------------
1 | define([
2 |
3 | ], function () {
4 | function MaximumInputLength (decorated, $e, options) {
5 | this.maximumInputLength = options.get('maximumInputLength');
6 |
7 | decorated.call(this, $e, options);
8 | }
9 |
10 | MaximumInputLength.prototype.query = function (decorated, params, callback) {
11 | params.term = params.term || '';
12 |
13 | if (this.maximumInputLength > 0 &&
14 | params.term.length > this.maximumInputLength) {
15 | this.trigger('results:message', {
16 | message: 'inputTooLong',
17 | args: {
18 | maximum: this.maximumInputLength,
19 | input: params.term,
20 | params: params
21 | }
22 | });
23 |
24 | return;
25 | }
26 |
27 | decorated.call(this, params, callback);
28 | };
29 |
30 | return MaximumInputLength;
31 | });
32 |
--------------------------------------------------------------------------------
/dist/js/i18n/nl.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/nl",[],function(){return{errorLoading:function(){return"De resultaten konden niet worden geladen."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Gelieve "+t+" karakters te verwijderen";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Gelieve "+t+" of meer karakters in te voeren";return n},loadingMore:function(){return"Meer resultaten laden…"},maximumSelected:function(e){var t=e.maximum==1?"kan":"kunnen",n="Er "+t+" maar "+e.maximum+" item";return e.maximum!=1&&(n+="s"),n+=" worden geselecteerd",n},noResults:function(){return"Geen resultaten gevonden…"},searching:function(){return"Zoeken…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/dist/js/i18n/ro.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ro",[],function(){return{errorLoading:function(){return"Rezultatele nu au putut fi incărcate."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vă rugăm să ștergeți"+t+" caracter";return t!==1&&(n+="e"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vă rugăm să introduceți "+t+" sau mai multe caractere";return n},loadingMore:function(){return"Se încarcă mai multe rezultate…"},maximumSelected:function(e){var t="Aveți voie să selectați cel mult "+e.maximum;return t+=" element",e.maximum!==1&&(t+="e"),t},noResults:function(){return"Nu au fost găsite rezultate"},searching:function(){return"Căutare…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/dist/js/i18n/lt.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/lt",[],function(){function e(e,t,n,r){return e%10===1&&(e%100<11||e%100>19)?t:e%10>=2&&e%10<=9&&(e%100<11||e%100>19)?n:r}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="Pašalinkite "+n+" simbol";return r+=e(n,"į","ius","ių"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Įrašykite dar "+n+" simbol";return r+=e(n,"į","ius","ių"),r},loadingMore:function(){return"Kraunama daugiau rezultatų…"},maximumSelected:function(t){var n="Jūs galite pasirinkti tik "+t.maximum+" element";return n+=e(t.maximum,"ą","us","ų"),n},noResults:function(){return"Atitikmenų nerasta"},searching:function(){return"Ieškoma…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/src/js/select2/translation.js:
--------------------------------------------------------------------------------
1 | define([
2 | 'jquery',
3 | 'require'
4 | ], function ($, require) {
5 | function Translation (dict) {
6 | this.dict = dict || {};
7 | }
8 |
9 | Translation.prototype.all = function () {
10 | return this.dict;
11 | };
12 |
13 | Translation.prototype.get = function (key) {
14 | return this.dict[key];
15 | };
16 |
17 | Translation.prototype.extend = function (translation) {
18 | this.dict = $.extend({}, translation.all(), this.dict);
19 | };
20 |
21 | // Static functions
22 |
23 | Translation._cache = {};
24 |
25 | Translation.loadPath = function (path) {
26 | if (!(path in Translation._cache)) {
27 | var translations = require(path);
28 |
29 | Translation._cache[path] = translations;
30 | }
31 |
32 | return new Translation(Translation._cache[path]);
33 | };
34 |
35 | return Translation;
36 | });
37 |
--------------------------------------------------------------------------------
/dist/js/i18n/pl.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pl",[],function(){var e=["znak","znaki","znaków"],t=["element","elementy","elementów"],n=function(t,n){if(t===1)return n[0];if(t>1&&t<=4)return n[1];if(t>=5)return n[2]};return{errorLoading:function(){return"Nie można załadować wyników."},inputTooLong:function(t){var r=t.input.length-t.maximum;return"Usuń "+r+" "+n(r,e)},inputTooShort:function(t){var r=t.minimum-t.input.length;return"Podaj przynajmniej "+r+" "+n(r,e)},loadingMore:function(){return"Trwa ładowanie…"},maximumSelected:function(e){return"Możesz zaznaczyć tylko "+e.maximum+" "+n(e.maximum,t)},noResults:function(){return"Brak wyników"},searching:function(){return"Trwa wyszukiwanie…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/src/js/select2/i18n/ar.js:
--------------------------------------------------------------------------------
1 | define(function () {
2 | // Arabic
3 | return {
4 | errorLoading: function () {
5 | return 'لا يمكن تحميل النتائج';
6 | },
7 | inputTooLong: function (args) {
8 | var overChars = args.input.length - args.maximum;
9 |
10 | return 'الرجاء حذف ' + overChars + ' عناصر';
11 | },
12 | inputTooShort: function (args) {
13 | var remainingChars = args.minimum - args.input.length;
14 |
15 | return 'الرجاء إضافة ' + remainingChars + ' عناصر';
16 | },
17 | loadingMore: function () {
18 | return 'جاري تحميل نتائج إضافية...';
19 | },
20 | maximumSelected: function (args) {
21 | return 'تستطيع إختيار ' + args.maximum + ' بنود فقط';
22 | },
23 | noResults: function () {
24 | return 'لم يتم العثور على أي نتائج';
25 | },
26 | searching: function () {
27 | return 'جاري البحث…';
28 | }
29 | };
30 | });
--------------------------------------------------------------------------------
/src/js/select2/selection/stopPropagation.js:
--------------------------------------------------------------------------------
1 | define([
2 |
3 | ], function () {
4 | function StopPropagation () { }
5 |
6 | StopPropagation.prototype.bind = function (decorated, container, $container) {
7 | decorated.call(this, container, $container);
8 |
9 | var stoppedEvents = [
10 | 'blur',
11 | 'change',
12 | 'click',
13 | 'dblclick',
14 | 'focus',
15 | 'focusin',
16 | 'focusout',
17 | 'input',
18 | 'keydown',
19 | 'keyup',
20 | 'keypress',
21 | 'mousedown',
22 | 'mouseenter',
23 | 'mouseleave',
24 | 'mousemove',
25 | 'mouseover',
26 | 'mouseup',
27 | 'search',
28 | 'touchend',
29 | 'touchstart'
30 | ];
31 |
32 | this.$selection.on(stoppedEvents.join(' '), function (evt) {
33 | evt.stopPropagation();
34 | });
35 | };
36 |
37 | return StopPropagation;
38 | });
39 |
--------------------------------------------------------------------------------
/tests/integration.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/src/js/select2/i18n/id.js:
--------------------------------------------------------------------------------
1 | define(function () {
2 | // Indonesian
3 | return {
4 | errorLoading: function () {
5 | return 'Data tidak boleh diambil.';
6 | },
7 | inputTooLong: function (args) {
8 | var overChars = args.input.length - args.maximum;
9 |
10 | return 'Hapuskan ' + overChars + ' huruf';
11 | },
12 | inputTooShort: function (args) {
13 | var remainingChars = args.minimum - args.input.length;
14 |
15 | return 'Masukkan ' + remainingChars + ' huruf lagi';
16 | },
17 | loadingMore: function () {
18 | return 'Mengambil data…';
19 | },
20 | maximumSelected: function (args) {
21 | return 'Anda hanya dapat memilih ' + args.maximum + ' pilihan';
22 | },
23 | noResults: function () {
24 | return 'Tidak ada data yang sesuai';
25 | },
26 | searching: function () {
27 | return 'Mencari…';
28 | }
29 | };
30 | });
31 |
--------------------------------------------------------------------------------
/dist/js/i18n/el.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/el",[],function(){return{errorLoading:function(){return"Τα αποτελέσματα δεν μπόρεσαν να φορτώσουν."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Παρακαλώ διαγράψτε "+t+" χαρακτήρ";return t==1&&(n+="α"),t!=1&&(n+="ες"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Παρακαλώ συμπληρώστε "+t+" ή περισσότερους χαρακτήρες";return n},loadingMore:function(){return"Φόρτωση περισσότερων αποτελεσμάτων…"},maximumSelected:function(e){var t="Μπορείτε να επιλέξετε μόνο "+e.maximum+" επιλογ";return e.maximum==1&&(t+="ή"),e.maximum!=1&&(t+="ές"),t},noResults:function(){return"Δεν βρέθηκαν αποτελέσματα"},searching:function(){return"Αναζήτηση…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/dist/js/i18n/bs.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/bs",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"Preuzimanje nije uspijelo."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Obrišite "+n+" simbol";return r+=e(n,"","a","a"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Ukucajte bar još "+n+" simbol";return r+=e(n,"","a","a"),r},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(t){var n="Možete izabrati samo "+t.maximum+" stavk";return n+=e(t.maximum,"u","e","i"),n},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/dist/js/i18n/sr.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sr",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"Preuzimanje nije uspelo."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Obrišite "+n+" simbol";return r+=e(n,"","a","a"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Ukucajte bar još "+n+" simbol";return r+=e(n,"","a","a"),r},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(t){var n="Možete izabrati samo "+t.maximum+" stavk";return n+=e(t.maximum,"u","e","i"),n},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/dist/js/i18n/sr-Cyrl.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sr-Cyrl",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"Преузимање није успело."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Обришите "+n+" симбол";return r+=e(n,"","а","а"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Укуцајте бар још "+n+" симбол";return r+=e(n,"","а","а"),r},loadingMore:function(){return"Преузимање још резултата…"},maximumSelected:function(t){var n="Можете изабрати само "+t.maximum+" ставк";return n+=e(t.maximum,"у","е","и"),n},noResults:function(){return"Ништа није пронађено"},searching:function(){return"Претрага…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/dist/js/i18n/uk.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/uk",[],function(){function e(e,t,n,r){return e%100>10&&e%100<15?r:e%10===1?t:e%10>1&&e%10<5?n:r}return{errorLoading:function(){return"Неможливо завантажити результати"},inputTooLong:function(t){var n=t.input.length-t.maximum;return"Будь ласка, видаліть "+n+" "+e(t.maximum,"літеру","літери","літер")},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Будь ласка, введіть "+t+" або більше літер"},loadingMore:function(){return"Завантаження інших результатів…"},maximumSelected:function(t){return"Ви можете вибрати лише "+t.maximum+" "+e(t.maximum,"пункт","пункти","пунктів")},noResults:function(){return"Нічого не знайдено"},searching:function(){return"Пошук…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/src/js/select2/i18n/nb.js:
--------------------------------------------------------------------------------
1 | define(function () {
2 | // Norwegian (Bokmål)
3 | return {
4 | errorLoading: function () {
5 | return 'Kunne ikke hente resultater.';
6 | },
7 | inputTooLong: function (args) {
8 | var overChars = args.input.length - args.maximum;
9 |
10 | return 'Vennligst fjern ' + overChars + ' tegn';
11 | },
12 | inputTooShort: function (args) {
13 | var remainingChars = args.minimum - args.input.length;
14 |
15 | return 'Vennligst skriv inn ' + remainingChars + ' tegn til';
16 | },
17 | loadingMore: function () {
18 | return 'Laster flere resultater…';
19 | },
20 | maximumSelected: function (args) {
21 | return 'Du kan velge maks ' + args.maximum + ' elementer';
22 | },
23 | noResults: function () {
24 | return 'Ingen treff';
25 | },
26 | searching: function () {
27 | return 'Søker…';
28 | }
29 | };
30 | });
31 |
--------------------------------------------------------------------------------
/src/js/select2/i18n/fi.js:
--------------------------------------------------------------------------------
1 | define(function () {
2 | // Finnish
3 | return {
4 | errorLoading: function () {
5 | return 'Tuloksia ei saatu ladattua.';
6 | },
7 | inputTooLong: function (args) {
8 | var overChars = args.input.length - args.maximum;
9 |
10 | return 'Ole hyvä ja anna ' + overChars + ' merkkiä vähemmän';
11 | },
12 | inputTooShort: function (args) {
13 | var remainingChars = args.minimum - args.input.length;
14 |
15 | return 'Ole hyvä ja anna ' + remainingChars + ' merkkiä lisää';
16 | },
17 | loadingMore: function () {
18 | return 'Ladataan lisää tuloksia…';
19 | },
20 | maximumSelected: function (args) {
21 | return 'Voit valita ainoastaan ' + args.maximum + ' kpl';
22 | },
23 | noResults: function () {
24 | return 'Ei tuloksia';
25 | },
26 | searching: function () {
27 | return 'Haetaan…';
28 | }
29 | };
30 | });
31 |
--------------------------------------------------------------------------------
/src/js/select2/dropdown/closeOnSelect.js:
--------------------------------------------------------------------------------
1 | define([
2 |
3 | ], function () {
4 | function CloseOnSelect () { }
5 |
6 | CloseOnSelect.prototype.bind = function (decorated, container, $container) {
7 | var self = this;
8 |
9 | decorated.call(this, container, $container);
10 |
11 | container.on('select', function (evt) {
12 | self._selectTriggered(evt);
13 | });
14 |
15 | container.on('unselect', function (evt) {
16 | self._selectTriggered(evt);
17 | });
18 | };
19 |
20 | CloseOnSelect.prototype._selectTriggered = function (_, evt) {
21 | var originalEvent = evt.originalEvent;
22 |
23 | // Don't close if the control key is being held
24 | if (originalEvent && originalEvent.ctrlKey) {
25 | return;
26 | }
27 |
28 | this.trigger('close', {
29 | originalEvent: originalEvent,
30 | originalSelect2Event: evt
31 | });
32 | };
33 |
34 | return CloseOnSelect;
35 | });
36 |
--------------------------------------------------------------------------------
/src/js/select2/i18n/ms.js:
--------------------------------------------------------------------------------
1 | define(function () {
2 | // Malay
3 | return {
4 | errorLoading: function () {
5 | return 'Keputusan tidak berjaya dimuatkan.';
6 | },
7 | inputTooLong: function (args) {
8 | var overChars = args.input.length - args.maximum;
9 |
10 | return 'Sila hapuskan ' + overChars + ' aksara';
11 | },
12 | inputTooShort: function (args) {
13 | var remainingChars = args.minimum - args.input.length;
14 |
15 | return 'Sila masukkan ' + remainingChars + ' atau lebih aksara';
16 | },
17 | loadingMore: function () {
18 | return 'Sedang memuatkan keputusan…';
19 | },
20 | maximumSelected: function (args) {
21 | return 'Anda hanya boleh memilih ' + args.maximum + ' pilihan';
22 | },
23 | noResults: function () {
24 | return 'Tiada padanan yang ditemui';
25 | },
26 | searching: function () {
27 | return 'Mencari…';
28 | }
29 | };
30 | });
--------------------------------------------------------------------------------
/src/js/select2/i18n/hu.js:
--------------------------------------------------------------------------------
1 | define(function () {
2 | // Hungarian
3 | return {
4 | errorLoading: function () {
5 | return 'Az eredmények betöltése nem sikerült.';
6 | },
7 | inputTooLong: function (args) {
8 | var overChars = args.input.length - args.maximum;
9 |
10 | return 'Túl hosszú. ' + overChars + ' karakterrel több, mint kellene.';
11 | },
12 | inputTooShort: function (args) {
13 | var remainingChars = args.minimum - args.input.length;
14 |
15 | return 'Túl rövid. Még ' + remainingChars + ' karakter hiányzik.';
16 | },
17 | loadingMore: function () {
18 | return 'Töltés…';
19 | },
20 | maximumSelected: function (args) {
21 | return 'Csak ' + args.maximum + ' elemet lehet kiválasztani.';
22 | },
23 | noResults: function () {
24 | return 'Nincs találat.';
25 | },
26 | searching: function () {
27 | return 'Keresés…';
28 | }
29 | };
30 | });
31 |
--------------------------------------------------------------------------------
/dist/js/i18n/ru.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ru",[],function(){function e(e,t,n,r){return e%10<5&&e%10>0&&e%100<5||e%100>20?e%10>1?n:t:r}return{errorLoading:function(){return"Невозможно загрузить результаты"},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Пожалуйста, введите на "+n+" символ";return r+=e(n,"","a","ов"),r+=" меньше",r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Пожалуйста, введите еще хотя бы "+n+" символ";return r+=e(n,"","a","ов"),r},loadingMore:function(){return"Загрузка данных…"},maximumSelected:function(t){var n="Вы можете выбрать не более "+t.maximum+" элемент";return n+=e(t.maximum,"","a","ов"),n},noResults:function(){return"Совпадений не найдено"},searching:function(){return"Поиск…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/src/js/select2/i18n/zh-CN.js:
--------------------------------------------------------------------------------
1 | define(function () {
2 | // Chinese (Simplified)
3 | return {
4 | errorLoading: function () {
5 | return '无法载入结果。';
6 | },
7 | inputTooLong: function (args) {
8 | var overChars = args.input.length - args.maximum;
9 |
10 | var message = '请删除' + overChars + '个字符';
11 |
12 | return message;
13 | },
14 | inputTooShort: function (args) {
15 | var remainingChars = args.minimum - args.input.length;
16 |
17 | var message = '请再输入至少' + remainingChars + '个字符';
18 |
19 | return message;
20 | },
21 | loadingMore: function () {
22 | return '载入更多结果…';
23 | },
24 | maximumSelected: function (args) {
25 | var message = '最多只能选择' + args.maximum + '个项目';
26 |
27 | return message;
28 | },
29 | noResults: function () {
30 | return '未找到结果';
31 | },
32 | searching: function () {
33 | return '搜索中…';
34 | }
35 | };
36 | });
37 |
--------------------------------------------------------------------------------
/src/js/select2/i18n/ja.js:
--------------------------------------------------------------------------------
1 | define(function () {
2 | // Japanese
3 | return {
4 | errorLoading: function () {
5 | return '結果が読み込まれませんでした';
6 | },
7 | inputTooLong: function (args) {
8 | var overChars = args.input.length - args.maximum;
9 |
10 | var message = overChars + ' 文字を削除してください';
11 |
12 | return message;
13 | },
14 | inputTooShort: function (args) {
15 | var remainingChars = args.minimum - args.input.length;
16 |
17 | var message = '少なくとも ' + remainingChars + ' 文字を入力してください';
18 |
19 | return message;
20 | },
21 | loadingMore: function () {
22 | return '読み込み中…';
23 | },
24 | maximumSelected: function (args) {
25 | var message = args.maximum + ' 件しか選択できません';
26 |
27 | return message;
28 | },
29 | noResults: function () {
30 | return '対象が見つかりません';
31 | },
32 | searching: function () {
33 | return '検索しています…';
34 | }
35 | };
36 | });
37 |
--------------------------------------------------------------------------------
/dist/js/i18n/hsb.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hsb",[],function(){var e=["znamješko","znamješce","znamješka","znamješkow"],t=["zapisk","zapiskaj","zapiski","zapiskow"],n=function(t,n){if(t===1)return n[0];if(t===2)return n[1];if(t>2&&t<=4)return n[2];if(t>=5)return n[3]};return{errorLoading:function(){return"Wuslědki njedachu so začitać."},inputTooLong:function(t){var r=t.input.length-t.maximum;return"Prošu zhašej "+r+" "+n(r,e)},inputTooShort:function(t){var r=t.minimum-t.input.length;return"Prošu zapodaj znajmjeńša "+r+" "+n(r,e)},loadingMore:function(){return"Dalše wuslědki so začitaja…"},maximumSelected:function(e){return"Móžeš jenož "+e.maximum+" "+n(e.maximum,t)+"wubrać"},noResults:function(){return"Žane wuslědki namakane"},searching:function(){return"Pyta so…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/src/js/select2/i18n/ko.js:
--------------------------------------------------------------------------------
1 | define(function () {
2 | // Korean
3 | return {
4 | errorLoading: function () {
5 | return '결과를 불러올 수 없습니다.';
6 | },
7 | inputTooLong: function (args) {
8 | var overChars = args.input.length - args.maximum;
9 |
10 | var message = '너무 깁니다. ' + overChars + ' 글자 지워주세요.';
11 |
12 | return message;
13 | },
14 | inputTooShort: function (args) {
15 | var remainingChars = args.minimum - args.input.length;
16 |
17 | var message = '너무 짧습니다. ' + remainingChars + ' 글자 더 입력해주세요.';
18 |
19 | return message;
20 | },
21 | loadingMore: function () {
22 | return '불러오는 중…';
23 | },
24 | maximumSelected: function (args) {
25 | var message = '최대 ' + args.maximum + '개까지만 선택 가능합니다.';
26 |
27 | return message;
28 | },
29 | noResults: function () {
30 | return '결과가 없습니다.';
31 | },
32 | searching: function () {
33 | return '검색 중…';
34 | }
35 | };
36 | });
37 |
--------------------------------------------------------------------------------
/dist/js/i18n/dsb.js:
--------------------------------------------------------------------------------
1 | /*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */
2 |
3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/dsb",[],function(){var e=["znamuško","znamušce","znamuška","znamuškow"],t=["zapisk","zapiska","zapiski","zapiskow"],n=function(t,n){if(t===1)return n[0];if(t===2)return n[1];if(t>2&&t<=4)return n[2];if(t>=5)return n[3]};return{errorLoading:function(){return"Wuslědki njejsu se dali zacytaś."},inputTooLong:function(t){var r=t.input.length-t.maximum;return"Pšosym lašuj "+r+" "+n(r,e)},inputTooShort:function(t){var r=t.minimum-t.input.length;return"Pšosym zapódaj nanejmjenjej "+r+" "+n(r,e)},loadingMore:function(){return"Dalšne wuslědki se zacytaju…"},maximumSelected:function(e){return"Móžoš jano "+e.maximum+" "+n(e.maximum,t)+"wubraś."},noResults:function(){return"Žedne wuslědki namakane"},searching:function(){return"Pyta se…"}}}),{define:e.define,require:e.require}})();
--------------------------------------------------------------------------------
/src/js/select2/data/maximumSelectionLength.js:
--------------------------------------------------------------------------------
1 | define([
2 |
3 | ], function (){
4 | function MaximumSelectionLength (decorated, $e, options) {
5 | this.maximumSelectionLength = options.get('maximumSelectionLength');
6 |
7 | decorated.call(this, $e, options);
8 | }
9 |
10 | MaximumSelectionLength.prototype.query =
11 | function (decorated, params, callback) {
12 | var self = this;
13 |
14 | this.current(function (currentData) {
15 | var count = currentData != null ? currentData.length : 0;
16 | if (self.maximumSelectionLength > 0 &&
17 | count >= self.maximumSelectionLength) {
18 | self.trigger('results:message', {
19 | message: 'maximumSelected',
20 | args: {
21 | maximum: self.maximumSelectionLength
22 | }
23 | });
24 | return;
25 | }
26 | decorated.call(self, params, callback);
27 | });
28 | };
29 |
30 | return MaximumSelectionLength;
31 | });
32 |
--------------------------------------------------------------------------------
/src/js/select2/i18n/tk.js:
--------------------------------------------------------------------------------
1 | define(function () {
2 | // Turkmen
3 | return {
4 | errorLoading: function (){
5 | return 'Netije ýüklenmedi.';
6 | },
7 | inputTooLong: function (args) {
8 | var overChars = args.input.length - args.maximum;
9 |
10 | var message = overChars + ' harp bozuň.';
11 |
12 | return message;
13 | },
14 | inputTooShort: function (args) {
15 | var remainingChars = args.minimum - args.input.length;
16 |
17 | var message = 'Ýene-de iň az ' + remainingChars + ' harp ýazyň.';
18 |
19 | return message;
20 | },
21 | loadingMore: function () {
22 | return 'Köpräk netije görkezilýär…';
23 | },
24 | maximumSelected: function (args) {
25 | var message = 'Diňe ' + args.maximum + ' sanysyny saýlaň.';
26 |
27 | return message;
28 | },
29 | noResults: function () {
30 | return 'Netije tapylmady.';
31 | },
32 | searching: function () {
33 | return 'Gözlenýär…';
34 | }
35 | };
36 | });
37 |
--------------------------------------------------------------------------------
/select2.jquery.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "select2",
3 | "title": "Select2",
4 | "description": "Select2 is a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results.",
5 | "keywords": [
6 | "select",
7 | "autocomplete",
8 | "typeahead",
9 | "dropdown",
10 | "multiselect",
11 | "tag",
12 | "tagging"
13 | ],
14 | "version": "4.0.6-rc.1",
15 | "author": {
16 | "name": "Kevin Brown",
17 | "url": "https://github.com/kevin-brown"
18 | },
19 | "licenses": [
20 | {
21 | "type": "MIT",
22 | "url": "http://opensource.org/licenses/MIT"
23 | }
24 | ],
25 | "bugs": "https://github.com/select2/select2/issues",
26 | "homepage": "https://select2.org",
27 | "docs": "https://select2.org",
28 | "download": "https://github.com/select2/select2/releases",
29 | "dependencies": {
30 | "jquery": ">=1.7.2"
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/js/select2/i18n/tr.js:
--------------------------------------------------------------------------------
1 | define(function () {
2 | // Turkish
3 | return {
4 | errorLoading: function (){
5 | return 'Sonuç yüklenemedi';
6 | },
7 | inputTooLong: function (args) {
8 | var overChars = args.input.length - args.maximum;
9 |
10 | var message = overChars + ' karakter daha girmelisiniz';
11 |
12 | return message;
13 | },
14 | inputTooShort: function (args) {
15 | var remainingChars = args.minimum - args.input.length;
16 |
17 | var message = 'En az ' + remainingChars + ' karakter daha girmelisiniz';
18 |
19 | return message;
20 | },
21 | loadingMore: function () {
22 | return 'Daha fazla…';
23 | },
24 | maximumSelected: function (args) {
25 | var message = 'Sadece ' + args.maximum + ' seçim yapabilirsiniz';
26 |
27 | return message;
28 | },
29 | noResults: function () {
30 | return 'Sonuç bulunamadı';
31 | },
32 | searching: function () {
33 | return 'Aranıyor…';
34 | }
35 | };
36 | });
37 |
--------------------------------------------------------------------------------
/src/js/select2/i18n/th.js:
--------------------------------------------------------------------------------
1 | define(function () {
2 | // Thai
3 | return {
4 | errorLoading: function () {
5 | return 'ไม่สามารถค้นข้อมูลได้';
6 | },
7 | inputTooLong: function (args) {
8 | var overChars = args.input.length - args.maximum;
9 |
10 | var message = 'โปรดลบออก ' + overChars + ' ตัวอักษร';
11 |
12 | return message;
13 | },
14 | inputTooShort: function (args) {
15 | var remainingChars = args.minimum - args.input.length;
16 |
17 | var message = 'โปรดพิมพ์เพิ่มอีก ' + remainingChars + ' ตัวอักษร';
18 |
19 | return message;
20 | },
21 | loadingMore: function () {
22 | return 'กำลังค้นข้อมูลเพิ่ม…';
23 | },
24 | maximumSelected: function (args) {
25 | var message = 'คุณสามารถเลือกได้ไม่เกิน ' + args.maximum + ' รายการ';
26 |
27 | return message;
28 | },
29 | noResults: function () {
30 | return 'ไม่พบข้อมูล';
31 | },
32 | searching: function () {
33 | return 'กำลังค้นข้อมูล…';
34 | }
35 | };
36 | });
37 |
--------------------------------------------------------------------------------
/src/js/select2/i18n/km.js:
--------------------------------------------------------------------------------
1 | define(function () {
2 | // Khmer
3 | return {
4 | errorLoading: function () {
5 | return 'មិនអាចទាញយកទិន្នន័យ';
6 | },
7 | inputTooLong: function (args) {
8 | var overChars = args.input.length - args.maximum;
9 |
10 | var message = 'សូមលុបចេញ ' + overChars + ' អក្សរ';
11 |
12 | return message;
13 | },
14 | inputTooShort: function (args) {
15 | var remainingChars = args.minimum - args.input.length;
16 |
17 | var message = 'សូមបញ្ចូល' + remainingChars + ' អក្សរ រឺ ច្រើនជាងនេះ';
18 |
19 | return message;
20 | },
21 | loadingMore: function () {
22 | return 'កំពុងទាញយកទិន្នន័យបន្ថែម...';
23 | },
24 | maximumSelected: function (args) {
25 | var message = 'អ្នកអាចជ្រើសរើសបានតែ ' + args.maximum + ' ជម្រើសប៉ុណ្ណោះ';
26 |
27 | return message;
28 | },
29 | noResults: function () {
30 | return 'មិនមានលទ្ធផល';
31 | },
32 | searching: function () {
33 | return 'កំពុងស្វែងរក...';
34 | }
35 | };
36 | });
37 |
--------------------------------------------------------------------------------
/src/js/select2/i18n/vi.js:
--------------------------------------------------------------------------------
1 | define(function () {
2 | // Vietnamese
3 | return {
4 | inputTooLong: function (args) {
5 | var overChars = args.input.length - args.maximum;
6 |
7 | var message = 'Vui lòng nhập ít hơn ' + overChars + ' ký tự';
8 |
9 | if (overChars != 1) {
10 | message += 's';
11 | }
12 |
13 | return message;
14 | },
15 | inputTooShort: function (args) {
16 | var remainingChars = args.minimum - args.input.length;
17 |
18 | var message = 'Vui lòng nhập nhiều hơn ' + remainingChars + ' ký tự';
19 |
20 | return message;
21 | },
22 | loadingMore: function () {
23 | return 'Đang lấy thêm kết quả…';
24 | },
25 | maximumSelected: function (args) {
26 | var message = 'Chỉ có thể chọn được ' + args.maximum + ' lựa chọn';
27 |
28 | return message;
29 | },
30 | noResults: function () {
31 | return 'Không tìm thấy kết quả';
32 | },
33 | searching: function () {
34 | return 'Đang tìm…';
35 | }
36 | };
37 | });
38 |
--------------------------------------------------------------------------------
/src/js/select2/i18n/da.js:
--------------------------------------------------------------------------------
1 | define(function () {
2 | // Danish
3 | return {
4 | errorLoading: function () {
5 | return 'Resultaterne kunne ikke indlæses.';
6 | },
7 | inputTooLong: function (args) {
8 | var overChars = args.input.length - args.maximum;
9 |
10 | return 'Angiv venligst ' + overChars + ' tegn mindre';
11 | },
12 | inputTooShort: function (args) {
13 | var remainingChars = args.minimum - args.input.length;
14 |
15 | return 'Angiv venligst ' + remainingChars + ' tegn mere';
16 | },
17 | loadingMore: function () {
18 | return 'Indlæser flere resultater…';
19 | },
20 | maximumSelected: function (args) {
21 | var message = 'Du kan kun vælge ' + args.maximum + ' emne';
22 |
23 | if (args.maximum != 1) {
24 | message += 'r';
25 | }
26 |
27 | return message;
28 | },
29 | noResults: function () {
30 | return 'Ingen resultater fundet';
31 | },
32 | searching: function () {
33 | return 'Søger…';
34 | }
35 | };
36 | });
--------------------------------------------------------------------------------
/src/js/select2/i18n/sv.js:
--------------------------------------------------------------------------------
1 | define(function () {
2 | // Swedish
3 | return {
4 | errorLoading: function () {
5 | return 'Resultat kunde inte laddas.';
6 | },
7 | inputTooLong: function (args) {
8 | var overChars = args.input.length - args.maximum;
9 |
10 | var message = 'Vänligen sudda ut ' + overChars + ' tecken';
11 |
12 | return message;
13 | },
14 | inputTooShort: function (args) {
15 | var remainingChars = args.minimum - args.input.length;
16 |
17 | var message = 'Vänligen skriv in ' + remainingChars +
18 | ' eller fler tecken';
19 |
20 | return message;
21 | },
22 | loadingMore: function () {
23 | return 'Laddar fler resultat…';
24 | },
25 | maximumSelected: function (args) {
26 | var message = 'Du kan max välja ' + args.maximum + ' element';
27 |
28 | return message;
29 | },
30 | noResults: function () {
31 | return 'Inga träffar';
32 | },
33 | searching: function () {
34 | return 'Söker…';
35 | }
36 | };
37 | });
38 |
--------------------------------------------------------------------------------
/src/scss/theme/classic/_defaults.scss:
--------------------------------------------------------------------------------
1 | $remove-color: #888 !default;
2 | $remove-hover-color: #555 !default;
3 | $remove-width: 20px !default;
4 |
5 | $selection-color: #444 !default;
6 |
7 | $border-color: #aaa !default;
8 | $border-radius: 4px !default;
9 |
10 | $focus-border-color: #5897fb !default;
11 |
12 | $container-height: 28px !default;
13 |
14 | $selection-bg-top-color: white !default;
15 | $selection-bg-bottom-color: #eeeeee !default;
16 |
17 | $container-placeholder-color: #999 !default;
18 |
19 | $container-focus-border-color: blue !default;
20 |
21 | $selection-opened-bg-top-color: $selection-bg-bottom-color !default;
22 | $selection-opened-bg-bottom-color: $selection-bg-top-color !default;
23 |
24 | $dropdown-z-index: 1 !default;
25 |
26 | $dropdown-bg-color: $selection-bg-top-color !default;
27 |
28 | $results-max-height: 200px !default;
29 | $results-nested-padding: 20px !default;
30 |
31 | $results-choice-bg-hover-color: #3875d7 !default;
32 | $results-choice-fg-hover-color: white !default;
33 |
34 | $results-choice-fg-unselectable-color: grey !default;
35 |
--------------------------------------------------------------------------------
/src/js/select2/dropdown/minimumResultsForSearch.js:
--------------------------------------------------------------------------------
1 | define([
2 |
3 | ], function () {
4 | function countResults (data) {
5 | var count = 0;
6 |
7 | for (var d = 0; d < data.length; d++) {
8 | var item = data[d];
9 |
10 | if (item.children) {
11 | count += countResults(item.children);
12 | } else {
13 | count++;
14 | }
15 | }
16 |
17 | return count;
18 | }
19 |
20 | function MinimumResultsForSearch (decorated, $element, options, dataAdapter) {
21 | this.minimumResultsForSearch = options.get('minimumResultsForSearch');
22 |
23 | if (this.minimumResultsForSearch < 0) {
24 | this.minimumResultsForSearch = Infinity;
25 | }
26 |
27 | decorated.call(this, $element, options, dataAdapter);
28 | }
29 |
30 | MinimumResultsForSearch.prototype.showSearch = function (decorated, params) {
31 | if (countResults(params.data.results) < this.minimumResultsForSearch) {
32 | return false;
33 | }
34 |
35 | return decorated.call(this, params);
36 | };
37 |
38 | return MinimumResultsForSearch;
39 | });
40 |
--------------------------------------------------------------------------------
/src/js/select2/i18n/ka.js:
--------------------------------------------------------------------------------
1 | define(function () {
2 | // Georgian
3 | return {
4 | errorLoading: function () {
5 | return 'მონაცემების ჩატვირთვა შეუძლებელია.';
6 | },
7 | inputTooLong: function (args) {
8 | var overChars = args.input.length - args.maximum;
9 |
10 | var message = 'გთხოვთ აკრიფეთ ' + overChars + ' სიმბოლოთი ნაკლები';
11 |
12 | return message;
13 | },
14 | inputTooShort: function (args) {
15 | var remainingChars = args.minimum - args.input.length;
16 |
17 | var message = 'გთხოვთ აკრიფეთ ' + remainingChars + ' სიმბოლო ან მეტი';
18 |
19 | return message;
20 | },
21 | loadingMore: function () {
22 | return 'მონაცემების ჩატვირთვა…';
23 | },
24 | maximumSelected: function (args) {
25 | var message = 'თქვენ შეგიძლიათ აირჩიოთ არაუმეტეს ' + args.maximum +
26 | ' ელემენტი';
27 |
28 | return message;
29 | },
30 | noResults: function () {
31 | return 'რეზულტატი არ მოიძებნა';
32 | },
33 | searching: function () {
34 | return 'ძიება…';
35 | }
36 | };
37 | });
38 |
--------------------------------------------------------------------------------
/src/scss/mixins/_gradients.scss:
--------------------------------------------------------------------------------
1 | // https://github.com/twbs/bootstrap-sass/blob/3.3-stable/assets/stylesheets/bootstrap/mixins/_gradients.scss#L17-L27
2 |
3 | // Vertical gradient, from top to bottom
4 | //
5 | // Creates two color stops, start and end, by specifying a color and position for each color stop.
6 | // Color stops are not available in IE9 and below.
7 | @mixin gradient-vertical($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {
8 | background-image: -webkit-linear-gradient(top, $start-color $start-percent, $end-color $end-percent); // Safari 5.1-6, Chrome 10+
9 | background-image: -o-linear-gradient(top, $start-color $start-percent, $end-color $end-percent); // Opera 12
10 | background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
11 | background-repeat: repeat-x;
12 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=0); // IE9 and down
13 | }
14 |
--------------------------------------------------------------------------------
/tests/dropdown/stopPropagation-tests.js:
--------------------------------------------------------------------------------
1 | module('Dropdown - Stoping event propagation');
2 |
3 | var Dropdown = require('select2/dropdown');
4 | var StopPropagation = require('select2/dropdown/stopPropagation');
5 |
6 | var $ = require('jquery');
7 | var Options = require('select2/options');
8 | var Utils = require('select2/utils');
9 |
10 | var CustomDropdown = Utils.Decorate(Dropdown, StopPropagation);
11 |
12 | var options = new Options();
13 |
14 | test('click event does not propagate', function (assert) {
15 | assert.expect(1);
16 |
17 | var $container = $('#qunit-fixture .event-container');
18 | var container = new MockContainer();
19 |
20 | var dropdown = new CustomDropdown($('#qunit-fixture select'), options);
21 |
22 | var $dropdown = dropdown.render();
23 | dropdown.bind(container, $container);
24 |
25 | $container.append($dropdown);
26 | $container.on('click', function () {
27 | assert.ok(false, 'The click event should have been stopped');
28 | });
29 |
30 | $dropdown.trigger('click');
31 |
32 | assert.ok(true, 'Something went wrong if this failed');
33 | });
34 |
--------------------------------------------------------------------------------
/src/js/select2/dropdown.js:
--------------------------------------------------------------------------------
1 | define([
2 | 'jquery',
3 | './utils'
4 | ], function ($, Utils) {
5 | function Dropdown ($element, options) {
6 | this.$element = $element;
7 | this.options = options;
8 |
9 | Dropdown.__super__.constructor.call(this);
10 | }
11 |
12 | Utils.Extend(Dropdown, Utils.Observable);
13 |
14 | Dropdown.prototype.render = function () {
15 | var $dropdown = $(
16 | '' +
17 | '' +
18 | ''
19 | );
20 |
21 | $dropdown.attr('dir', this.options.get('dir'));
22 |
23 | this.$dropdown = $dropdown;
24 |
25 | return $dropdown;
26 | };
27 |
28 | Dropdown.prototype.bind = function () {
29 | // Should be implemented in subclasses
30 | };
31 |
32 | Dropdown.prototype.position = function ($dropdown, $container) {
33 | // Should be implmented in subclasses
34 | };
35 |
36 | Dropdown.prototype.destroy = function () {
37 | // Remove the dropdown from the DOM
38 | this.$dropdown.remove();
39 | };
40 |
41 | return Dropdown;
42 | });
43 |
--------------------------------------------------------------------------------
/src/js/select2/i18n/hy.js:
--------------------------------------------------------------------------------
1 | define(function () {
2 | // Armenian
3 | return {
4 | errorLoading: function () {
5 | return 'Արդյունքները հնարավոր չէ բեռնել։';
6 | },
7 | inputTooLong: function (args) {
8 | var overChars = args.input.length - args.maximum;
9 |
10 | var message = 'Խնդրում ենք հեռացնել ' + overChars + ' նշան';
11 |
12 | return message;
13 | },
14 | inputTooShort: function (args) {
15 | var remainingChars = args.minimum - args.input.length;
16 |
17 | var message = 'Խնդրում ենք մուտքագրել ' + remainingChars +
18 | ' կամ ավել նշաններ';
19 |
20 | return message;
21 | },
22 | loadingMore: function () {
23 | return 'Բեռնվում են նոր արդյունքներ․․․';
24 | },
25 | maximumSelected: function (args) {
26 | var message = 'Դուք կարող եք ընտրել առավելագույնը ' + args.maximum +
27 | ' կետ';
28 |
29 | return message;
30 | },
31 | noResults: function () {
32 | return 'Արդյունքներ չեն գտնվել';
33 | },
34 | searching: function () {
35 | return 'Որոնում․․․';
36 | }
37 | };
38 | });
39 |
--------------------------------------------------------------------------------
/src/js/select2/i18n/fr.js:
--------------------------------------------------------------------------------
1 | define(function () {
2 | // French
3 | return {
4 | errorLoading: function () {
5 | return 'Les résultats ne peuvent pas être chargés.';
6 | },
7 | inputTooLong: function (args) {
8 | var overChars = args.input.length - args.maximum;
9 |
10 | return 'Supprimez ' + overChars + ' caractère' +
11 | ((overChars > 1) ? 's' : '');
12 | },
13 | inputTooShort: function (args) {
14 | var remainingChars = args.minimum - args.input.length;
15 |
16 | return 'Saisissez au moins ' + remainingChars + ' caractère' +
17 | ((remainingChars > 1) ? 's' : '');
18 | },
19 | loadingMore: function () {
20 | return 'Chargement de résultats supplémentaires…';
21 | },
22 | maximumSelected: function (args) {
23 | return 'Vous pouvez seulement sélectionner ' + args.maximum +
24 | ' élément' + ((args.maximum > 1) ? 's' : '');
25 | },
26 | noResults: function () {
27 | return 'Aucun résultat trouvé';
28 | },
29 | searching: function () {
30 | return 'Recherche en cours…';
31 | }
32 | };
33 | });
34 |
--------------------------------------------------------------------------------
/src/js/select2/i18n/is.js:
--------------------------------------------------------------------------------
1 | define(function () {
2 | // Icelandic
3 | return {
4 | inputTooLong: function (args) {
5 | var overChars = args.input.length - args.maximum;
6 |
7 | var message = 'Vinsamlegast styttið texta um ' + overChars + ' staf';
8 |
9 | if (overChars <= 1) {
10 | return message;
11 | }
12 |
13 | return message + 'i';
14 | },
15 | inputTooShort: function (args) {
16 | var remainingChars = args.minimum - args.input.length;
17 |
18 | var message = 'Vinsamlegast skrifið ' + remainingChars + ' staf';
19 |
20 | if (remainingChars > 1) {
21 | message += 'i';
22 | }
23 |
24 | message += ' í viðbót';
25 |
26 | return message;
27 | },
28 | loadingMore: function () {
29 | return 'Sæki fleiri niðurstöður…';
30 | },
31 | maximumSelected: function (args) {
32 | return 'Þú getur aðeins valið ' + args.maximum + ' atriði';
33 | },
34 | noResults: function () {
35 | return 'Ekkert fannst';
36 | },
37 | searching: function () {
38 | return 'Leita…';
39 | }
40 | };
41 | });
42 |
--------------------------------------------------------------------------------
/tests/utils/escapeMarkup-tests.js:
--------------------------------------------------------------------------------
1 | module('Utils - escapeMarkup');
2 |
3 | var Utils = require('select2/utils');
4 |
5 | test('text passes through', function (assert) {
6 | var text = 'testing this';
7 | var escaped = Utils.escapeMarkup(text);
8 |
9 | assert.equal(text, escaped);
10 | });
11 |
12 | test('html tags are escaped', function (assert) {
13 | var text = '';
14 | var escaped = Utils.escapeMarkup(text);
15 |
16 | assert.notEqual(text, escaped);
17 | assert.equal(escaped.indexOf('